DIRECTORY Commander, Rope, SymTab; ComputeServerServer: CEDAR DEFINITIONS = BEGIN RegisteredProcHandle: TYPE = REF RegisteredProcObject; RegisteredProcObject: TYPE = RECORD [ version: Rope.ROPE, service: Rope.ROPE, commanderProcHandle: Commander.CommandProcHandle _ NIL ]; Register: PROC [key: Rope.ROPE, version: Rope.ROPE _ NIL, proc: Commander.CommandProc, doc: Rope.ROPE _ NIL, clientData: REF ANY _ NIL]; EnumerateAction: TYPE = PROC [key: Rope.ROPE, procData: LIST OF RegisteredProcHandle] RETURNS [stop: BOOL _ FALSE]; Enumerate: PROC [EnumerateAction] RETURNS [key: Rope.ROPE, procData: LIST OF RegisteredProcHandle]; Lookup: PROC [key: Rope.ROPE, version: Rope.ROPE] RETURNS [procData: RegisteredProcHandle]; RegisterRealRegistration: PRIVATE PROC [Register: PROC [key: Rope.ROPE, version: Rope.ROPE _ NIL, proc: Commander.CommandProc, doc: Rope.ROPE _ NIL, clientData: REF ANY _ NIL]]; Registry: PRIVATE SymTab.Ref; -- registered commands, for software that has been run and did a ComputeServer.Register, are saved here END. ζComputeServerServer.mesa Compute Server interface for the stub of the Server. This is an interface from the rest of the Cedar world to the Server. This is not an RPC interface, and is used on the Server machine. Last Edited by: Bob Hagmann, May 15, 1985 4:40:08 pm PDT Copyright c 1984 by Xerox Corporation. All rights reserved. A bcd file when it is run must call Register to register the existence of a command. The commands registered must include all commands in the .remoteCommands file for the package. ... calls the EnumerateAction with the key and registered procedure data for all registered commands. It will stop early if the EnumerateAction returns TRUE. Commands are not enumerated in any particular order. ... will look up the command and return the associated CommandProcHandle (NIL if no such command is registered). Case of keys does not matter. Registration - for internal Compute Server Use Bob Hagmann May 3, 1985 12:49:19 pm PDT changes to: ComputeServerControl Κό˜headšœ™IbodyšœΌ™ΌL™8Jšœ Οmœ1™<code2šΟk ˜ Mšœ ˜ Mšœ˜Mšœ˜——šœžœž œ˜(Mšž˜J˜Jšœžœžœ˜6J˜šœžœžœ˜%Jšœžœ˜Jšœžœ˜Jšœ3ž˜6Jšœ˜—M˜šΠbnœžΟbœ žœžœžœ)žœžœžœžœžœ˜ˆIcodešœ΄™΄—N˜NšΟnœžœžœ žœ žœžœžœžœžœ˜sN˜š ‘ œžœžœ žœ žœžœ˜cNšœ™žœ7™Τ—N˜š ‘œžœ žœ žœžœ"˜[Nšœ™——™.šŸ‘œž  œ‘œž œ žœžœžœ)žœžœžœžœžœ˜±M˜—Nšœ žœΟcg˜†Mšžœ˜—™'Nšœ Οr™ —N™—…— φ