-- Copyright (C) 1986 by Xerox Corporation. All rights reserved.
-- Stub file was translated on May 19, 1986 10:01:02 am PDT by Lupine of February 22, 1986 5:15:54 pm PST
-- Source interface ThSmarts came from file ThSmarts.bcd, which was created on May 19, 1986 10:00:40 am PDT with version stamp 13#227#21772711510 from source of May 19, 1986 9:59:17 am PDT.
-- The RPC stub modules for ThSmarts are:
-- ThSmartsRpcControl.mesa;
-- ThSmartsRpcClientImpl.mesa;
-- ThSmartsRpcBinderImpl.mesa;
-- ThSmartsRpcServerImpl.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
ThSmarts,
ThSmartsRpcControl USING [ImportInterface, InterfaceRecord, InterfaceRecordObject],
RPC USING [InterfaceName, Zones],
RPCLupineExtras --USING SOME OF [ImportInterfaceWithHost, noHost,
-- RPCHost]--;
ThSmartsRpcBinderImpl: MONITOR
IMPORTS RpcControl: ThSmartsRpcControl, RpcPrivateExtras: RPCLupineExtras
EXPORTS ThSmartsRpcControl
SHARES ThSmarts, ThSmartsRpcControl
= BEGIN OPEN RpcPublic: RPC;
-- Dynamic instantiation and binding routines.
ImportNewInterface: PUBLIC SAFE PROCEDURE [
interfaceName: RpcPublic.InterfaceName,
parameterStorage: RpcPublic.Zones,
hostHint: RpcPrivateExtras.RPCHost←RpcPrivateExtras.noHost
]
RETURNS [interfaceRecord: RpcControl.InterfaceRecord] =
TRUSTED BEGIN
interfaceRecord ← NewInterfaceRecord[];
RpcControl.ImportInterface[
interface: interfaceRecord,
interfaceName: interfaceName,
hostHint: hostHint,
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. -- ThSmartsRpcBinderImpl.