<> <> <> <> DIRECTORY Atom USING [ GetPName, GetProp, PutProp ], Basics USING [ Comparison ], BasicTime USING [ GMT, Now, nullGMT, Period, ToNSTime, FromNSTime, Update ], Commander USING [ CommandProc, Register ], Convert USING [ CardFromRope, RopeFromInt, IntFromRope ], FS USING [ StreamOpen ], GVNames USING [ AddForward, AuthenticateKey, CreateIndividual, Expand, ExpandInfo, GetConnect, Outcome, RemoveForward, RListHandle, SetConnect ], IO, MBQueue USING [ Action, Create, DequeueAction, Flush, Queue, QueueClientAction ], NamesGV, NamesGVExtras, NamesGVImpExp USING [ gvWorkingDirectory ], Process USING [ Detach --, Pause, SecondsToTicks-- ], RefTab USING [ Create, EachPairAction, Fetch, GetSize, Pairs, Ref, Store ], SymTab USING [ Create, EachPairAction, Fetch, Pairs, Ref, Store ], Rope USING [ Cat, Concat, Equal, Find, Index, Length, ROPE, Substr ], RPC USING [ EncryptionKey ], VoiceUtils USING [ CurrentRName, CurrentPasskey, MakeAtom, NetAddress, NetAddressFromRope, nullNetAddress, Report ] ; NamesGVImpl: CEDAR MONITOR IMPORTS Atom, BasicTime, Commander, Convert, FS, GVNames, IO, MBQueue, NamesGVImpExp, Process, RefTab, SymTab, Rope, VoiceUtils EXPORTS NamesGV, NamesGVExtras = { OPEN IO; <> <<>> ROPE: TYPE= Rope.ROPE; larkRegistry: ROPE=".Lark"; Results: TYPE = {ok, notFound, error}; ModeNotFound: TYPE = { ok, create, error }; -- create not available CacheBehavior: TYPE = { lookupAfter, lookupFirst, lookInCacheOnly }; Authenticity: TYPE = NamesGV.Authenticity; -- { unknown, authentic, bogus }; AttributeSeq: TYPE = NamesGV.AttributeSeq; AttributeSeqRec: TYPE = NamesGV.AttributeSeqRec; GVDetails: TYPE=REF GVDetailsR; GVDetailsR: TYPE=RECORD [ rName: ROPE, attributes: DetailsAttributes_NIL, authenticity: Authenticity_unknown, key: RPC.EncryptionKey_NULL, valid: BOOL_FALSE, canCreate: BOOL_FALSE, -- GetDetails can make one if it isn't there. mustAuthenticate: BOOL_FALSE, lastTimeValid: BasicTime.GMT, recording: BOOL_FALSE, -- Attribute update is illegal while this is TRUE dirty: BOOL_FALSE, -- Some attribute has been changed by the client refreshMode: BOOL_FALSE, -- See Note, below done: CONDITION ]; <> <> <<>> <> <: