DIRECTORY
CHOpsP2V3 USING [Authenticator],
CrRPC USING [Handle],
IO USING [STREAM],
Rope USING [ROPE],
XNS USING [Host],
XNSCH USING [Conversation, Element]
;
XNSCHPrivate:
CEDAR
DEFINITIONS ~ {
OPEN CHOps: CHOpsP2V3;
Copied Types
Authenticator: TYPE ~ CHOps.Authenticator;
Conversation: TYPE ~ XNSCH.Conversation;
Element: TYPE ~ XNSCH.Element;
Handle: TYPE ~ CrRPC.Handle;
Host: TYPE ~ XNS.Host;
ROPE: TYPE ~ Rope.ROPE;
STREAM: TYPE ~ IO.STREAM;
Conversations
GetAuthenticator: PROC [c: Conversation, host: Host]
RETURNS [Authenticator];
IsGeneric: PROC [c: Conversation]
RETURNS [BOOL];
Bulk Data Stream / Marshalling Procs
(See CrRPC)
GetElement:
PROC [stream:
STREAM]
RETURNS [element: Element];
GetOrganization:
PROC [stream:
STREAM]
RETURNS [element: Element];
The object and domain fields of the returned Element are NIL.
GetDomain:
PROC [stream:
STREAM]
RETURNS [element: Element];
The object field of the returned Element is NIL.
PutElement: PROC [stream: STREAM, element: Element];
Invoking a remote procedure
RemoteProc: TYPE ~ PROC[handle: Handle, host: Host];
CallRemote: PROC [c: Conversation, proc: RemoteProc, domain: ROPE ← NIL,
idempotent: BOOL ← TRUE];
}...