<> <> <> <> <> <> DIRECTORY GVBasics USING [ Password ], Rope USING [ ROPE ], RPC USING [ EncryptionKey ], VoiceUtils USING [ NetAddress ] ; NamesGV: CEDAR DEFINITIONS = { ROPE: TYPE = Rope.ROPE; anonymousRname: ROPE = NIL; <<>> <<>> <> <<>> <> <<>> <> <<>> AttributeSeq: TYPE = REF AttributeSeqRec; AttributeSeqRec: TYPE = RECORD [ length: CARDINAL_0, s: SEQUENCE maxLength: CARDINAL OF AttributeSeqValue ]; AttributeSeqValue: TYPE = RECORD [ attributeName: ATOM_$unspec, attributeValue: ROPE_NIL ]; Authenticity: TYPE = { unknown, authentic, bogus, nonexistent, perhaps }; <> <> <> <> <> <<>> GVGetAttribute: PROC [rName: ROPE, attribute: ATOM, default: ROPE] RETURNS [value: ROPE]; <> GVSetAttribute: PROC [rName: ROPE, attribute: ATOM, value: ROPE]; <> GVGetAttributeSeq: PROC [rName: ROPE, attribute: ATOM] RETURNS [value: AttributeSeq]; <> GVSetAttributeSeq: PROC [rName: ROPE, attribute: ATOM, value: AttributeSeq]; <> <> <<>> GVGetAttributes: PROC[rName: ROPE] RETURNS [value: AttributeSeq]; <> GVAuthenticate: PROC[rName: ROPE, key: RPC.EncryptionKey] RETURNS [authenticity: Authenticity]; <> GVIsAuthenticated: PROC[rName: ROPE] RETURNS [authenticity: Authenticity]; GVUpdate: PROC[rName: ROPE]; <> <<>> GVUpdateAll: PROC; <> GVWait: PROC; <> GVFlushCache: PROC; <> GVSaveCache: PROC; <> GVRestoreCache: PROC; <> GVHostFromInstance: PROC[instance: Rope.ROPE] RETURNS [VoiceUtils.NetAddress]; }.