-- Copyright (C) 1985 by Xerox Corporation. All rights reserved.
-- Stub file was translated on May 15, 1985 9:14:55 am PDT by Lupine of March 15, 1985 2:49:13 pm PST
-- Source interface Lark came from file Lark.bcd, which was created on May 14, 1985 3:47:35 pm PDT with version stamp 255#223#21106310654 from source of May 14, 1985 3:42:49 pm PDT.
-- The RPC stub modules for Lark are:
-- LarkRpcControl.mesa;
-- LarkRpcClientImpl.mesa;
-- LarkRpcBinderImpl.mesa;
-- LarkRpcServerImpl.mesa.
-- The parameters for this translation are:
-- Target language = Cedar
-- Default parameter passing = VALUE
-- Deallocate server heap arguments = TRUE
-- Inline RpcServerImpl dispatcher stubs = TRUE
-- Declare signals = TRUE
-- Warn about short POINTER ("MDS") allocations = TRUE
-- Maximum number of dynamic heap NEWs = 50, MDS NEWs = 50
-- Acceptable parameter protocols = VersionRange[1..1].
-- NOTE: Discard this module unless you use dynamic client binding.
DIRECTORY
Lark,
LarkRpcControl USING [ImportInterface, InterfaceRecord, InterfaceRecordObject],
RPC USING [InterfaceName, Zones];
LarkRpcBinderImpl: MONITOR
IMPORTS RpcControl: LarkRpcControl
EXPORTS LarkRpcControl
SHARES Lark, LarkRpcControl
= BEGIN OPEN RpcPublic: RPC;
-- Dynamic instantiation and binding routines.
ImportNewInterface: PUBLIC SAFE PROCEDURE [
interfaceName: RpcPublic.InterfaceName,
parameterStorage: RpcPublic.Zones ]
RETURNS [interfaceRecord: RpcControl.InterfaceRecord] =
TRUSTED BEGIN
interfaceRecord ← NewInterfaceRecord[];
RpcControl.ImportInterface[
interface: interfaceRecord,
interfaceName: interfaceName,
parameterStorage: parameterStorage];
END;
-- Utility routines for interface instantiation and caching.
NewInterfaceRecord: PUBLIC SAFE PROCEDURE
RETURNS [interfaceRecord: RpcControl.InterfaceRecord] =
TRUSTED BEGIN
interfaceRecord ← NEW[RpcControl.InterfaceRecordObject];
END;
-- No module initialization.
END. -- LarkRpcBinderImpl.