ThPartySunRPControl.mesa
Copyright Ó 1990 by Xerox Corporation. All rights reserved.
Polle Zellweger (PTZ) August 1, 1990 5:08:20 pm PDT
Swinehart, September 16, 1990 6:30:01 pm PDT
DIRECTORY
Rope USING [ROPE],
RPC USING [ InterfaceName],
ThParty USING [SmartsProperties ],
Thrush USING [none, PartyID, PartyType, SmartsID, SHHH ]
;
ThPartySunRPControl: CEDAR DEFINITIONS
~ BEGIN
ReportState: TYPE ~ PROC[
reportData: REF, registered, connected, enabled: BOOL,
myPartyID: Thrush.PartyID, mySmartsID: Thrush.SmartsID ];
ReportProblem: TYPE ~ PROC[reportData: REF, ec: ATOM, expl: Rope.ROPE ];
Specify server name, Thrush-level connection parameters. Import remote service and Register with Thrush. Starts from scratch, eliminating any previous connections.
ThrushConnect: PROC [
server: Rope.ROPENIL, rName: Rope.ROPE, type: Thrush.PartyType, interface: RPC.InterfaceName, properties: ThParty.SmartsProperties, reportState: ReportState←NIL, reportProblem: ReportProblem←NIL, reportData: REFNIL]
RETURNS [shhh: Thrush.SHHH ← Thrush.none];
ThrushDisconnect: PROC [shhh: Thrush.SHHH, disable: BOOLTRUE];
Disconnects from Thrush. disables automatic reconnect if disable is TRUE. Does not release RPC connection to server (they don't cost anything.)
ThrushReportState: PROC [shhh: Thrush.SHHH, enabled: BOOL, connected: BOOL];
Reports enabled and connected (registered, really) information arriving from Thrush. Believe only bad news (e.g., ~enabled, ~connected). Work in progress DCS September 13, 1990 10:14:40 am PDT
ReleaseConversation: PROC [shhh: Thrush.SHHH];
Closes any connections and releases all structures associated with shhh. Should do ThrushDisconnect first. More accurately, this procedure is not used yet, so it's not clear exactly what it should do.
END.
Swinehart, September 8, 1990 3:41:20 pm PDT
Rename, add various types, add ReportState, add parameters to ImportInterface, rename ImportInterface => ThrushConnect.
changes to: