LB.mesa
Please do not edit this file.
It was generated using CedarRPCGen.
DIRECTORY
Rope,
Arpa,
UT,
SunRPCAuth,
SunRPC;
LB: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
ReturnCodes: TYPE = MACHINE DEPENDENT {
iluSuccess(0),
iluECantExportService(1),
EError(2)
};
ReturnCodesNames: READONLY ARRAY ReturnCodes OF ROPE;
LocRoom: TYPE = ROPE;
LocXYZ: TYPE = RECORD [
x: DREAL,
y: DREAL,
z: DREAL
];
LocationDescriminationValues: TYPE = MACHINE DEPENDENT {
LocationVLocRoom(0),
LocationVLocXYZ(1)
};
LocationDescriminationValuesNames: READONLY ARRAY LocationDescriminationValues OF ROPE;
Location: TYPE = REF LocationObject;
LocationObject: TYPE = RECORD [
union: SELECT descriminator: LocationDescriminationValues FROM
LocationVLocRoom => [vLocRoom: ROPE],
LocationVLocXYZ => [vLocXYZ: LocXYZ],
ENDCASE];
Sphere: TYPE = RECORD [
center: LocXYZ,
radius: DREAL
];
BasicVolumeDescriminationValues: TYPE = MACHINE DEPENDENT {
BasicVolumeVLocRoom(0),
BasicVolumeVSphere(1)
};
BasicVolumeDescriminationValuesNames: READONLY ARRAY BasicVolumeDescriminationValues OF ROPE;
BasicVolume: TYPE = REF BasicVolumeObject;
BasicVolumeObject: TYPE = RECORD [
union: SELECT descriminator: BasicVolumeDescriminationValues FROM
BasicVolumeVLocRoom => [vLocRoom: ROPE],
BasicVolumeVSphere => [vSphere: Sphere],
ENDCASE];
Volume: TYPE = SeqType0;
SeqType0: TYPE = REF SeqType0Object;
SeqType0Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF BasicVolume];
LocatedObject: TYPE = RECORD [
o: UT.Objct,
l: Location
];
LocatedObjectSet: TYPE = SeqType1;
SeqType1: TYPE = REF SeqType1Object;
SeqType1Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF LocatedObject];
ChangeOperation: TYPE = MACHINE DEPENDENT {
Add(0),
Delete(1)
};
ChangeOperationNames: READONLY ARRAY ChangeOperation OF ROPE;
ErrorType: TYPE = MACHINE DEPENDENT {
BadLoc(0),
BadObject(1),
BadCallback(2),
BadRoom(3),
BadRock(4),
NotDescendantLoc(5),
NotCompositeLoc(6)
};
ErrorTypeNames: READONLY ARRAY ErrorType OF ROPE;
Simple: TYPE = ROPE;
String: TYPE = ROPE;
T: TYPE = SeqType2;
SeqType2: TYPE = REF SeqType2Object;
SeqType2Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF String];
Set: TYPE = SeqType3;
SeqType3: TYPE = REF SeqType3Object;
SeqType3Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF T];
Atomic: TYPE = ROPE;
Distance: TYPE = DREAL;
Step: TYPE = RECORD [
d: Distance,
to: ROPE
];
StepSeq: TYPE = SeqType4;
SeqType4: TYPE = REF SeqType4Object;
SeqType4Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Step];
Path: TYPE = RECORD [
frm: ROPE,
d: Distance,
steps: StepSeq
];
PathSet: TYPE = SeqType5;
SeqType5: TYPE = REF SeqType5Object;
SeqType5Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Path];
PathSolution: TYPE = RECORD [
dmin: Distance,
dmax: Distance,
ps: PathSet
];
Nearest: TYPE = RECORD [
to: T,
paths: PathSolution
];
Nearests: TYPE = SeqType6;
SeqType6: TYPE = REF SeqType6Object;
SeqType6Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Nearest];
AtLocargs: TYPE = RECORD [
o: UT.Objct,
loc: Location
];
AtLocreturn: TYPE = REF AtLocreturnObject;
AtLocreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectargs: TYPE = RECORD [
o: UT.Objct
];
RemoveObjectreturn: TYPE = REF RemoveObjectreturnObject;
RemoveObjectreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: CARD32],
iluECantExportService => [],
ENDCASE];
FindObjectsargs: TYPE = RECORD [
locs: Volume,
types: UT.ObjectTypeSet
];
FindObjectsreturn: TYPE = REF FindObjectsreturnObject;
FindObjectsreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: LocatedObjectSet],
iluECantExportService => [],
ENDCASE];
NotifyOfObjectsargs: TYPE = RECORD [
locs: Volume,
types: UT.ObjectTypeSet,
who: ROPE,
rock: UT.OPAQUE
];
NotifyOfObjectsreturn: TYPE = REF NotifyOfObjectsreturnObject;
NotifyOfObjectsreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectCallbackargs: TYPE = RECORD [
who: ROPE,
rock: UT.OPAQUE
];
RemoveObjectCallbackreturn: TYPE = REF RemoveObjectCallbackreturnObject;
RemoveObjectCallbackreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
Parentargs: TYPE = RECORD [
l: ROPE
];
Parentreturn: TYPE = REF ParentreturnObject;
ParentreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: ROPE],
iluECantExportService => [],
ENDCASE];
Childrenargs: TYPE = RECORD [
l: ROPE
];
Childrenreturn: TYPE = REF ChildrenreturnObject;
ChildrenreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: Set],
iluECantExportService => [],
ENDCASE];
ShortestPathsargs: TYPE = RECORD [
frm: T,
to: T,
wantPaths: CARD32
];
ShortestPathsreturn: TYPE = REF ShortestPathsreturnObject;
ShortestPathsreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: PathSolution],
iluECantExportService => [],
ENDCASE];
FindNearestsargs: TYPE = RECORD [
frm: T,
to: Set,
wantPaths: CARD32
];
FindNearestsreturn: TYPE = REF FindNearestsreturnObject;
FindNearestsreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: Nearests],
iluECantExportService => [],
ENDCASE];
FindNearestsOfKindargs: TYPE = RECORD [
frm: T,
kind: ROPE,
description: UT.ObjectDescription,
wantPaths: CARD32
];
FindNearestsOfKindreturn: TYPE = REF FindNearestsOfKindreturnObject;
FindNearestsOfKindreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: Nearests],
iluECantExportService => [],
ENDCASE];
LBPrognum: CARDINAL = 822083614;
version1: CARDINAL = 1;
servernoopProc: TYPE = PROC[o: LB1];
atlocProc: TYPE = PROC[o0: LB1,
o: UT.Objct,
loc: Location]
RETURNS [res: AtLocreturn];
removeobjectProc: TYPE = PROC[o0: LB1,
o: UT.Objct]
RETURNS [res: RemoveObjectreturn];
findobjectsProc: TYPE = PROC[o: LB1,
locs: Volume,
types: UT.ObjectTypeSet]
RETURNS [res: FindObjectsreturn];
notifyofobjectsProc: TYPE = PROC[o: LB1,
locs: Volume,
types: UT.ObjectTypeSet,
who: ROPE,
rock: UT.OPAQUE]
RETURNS [res: NotifyOfObjectsreturn];
removeobjectcallbackProc: TYPE = PROC[o: LB1,
who: ROPE,
rock: UT.OPAQUE]
RETURNS [res: RemoveObjectCallbackreturn];
parentProc: TYPE = PROC[o: LB1,
l: ROPE]
RETURNS [res: Parentreturn];
childrenProc: TYPE = PROC[o: LB1,
l: ROPE]
RETURNS [res: Childrenreturn];
shortestpathsProc: TYPE = PROC[o: LB1,
frm: T,
to: T,
wantPaths: CARD32]
RETURNS [res: ShortestPathsreturn];
findnearestsProc: TYPE = PROC[o: LB1,
frm: T,
to: Set,
wantPaths: CARD32]
RETURNS [res: FindNearestsreturn];
findnearestsofkindProc: TYPE = PROC[o: LB1,
frm: T,
kind: ROPE,
description: UT.ObjectDescription,
wantPaths: CARD32]
RETURNS [res: FindNearestsOfKindreturn];
LB1: TYPE = REF LB1Object;
LB1Object: TYPE = RECORD [
servernoop: servernoopProc,
atloc: atlocProc,
removeobject: removeobjectProc,
findobjects: findobjectsProc,
notifyofobjects: notifyofobjectsProc,
removeobjectcallback: removeobjectcallbackProc,
parent: parentProc,
children: childrenProc,
shortestpaths: shortestpathsProc,
findnearests: findnearestsProc,
findnearestsofkind: findnearestsofkindProc,
rpcHandle: SunRPC.Handle ← NIL,
rpcConversation: SunRPCAuth.Conversation ← NIL,
data: REF ANYNIL
];
MakeLB1Client: PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [LB1];
MakeLB1Server: PROC[
data: REF,
servernoop: servernoopProc,
atloc: atlocProc,
removeobject: removeobjectProc,
findobjects: findobjectsProc,
notifyofobjects: notifyofobjectsProc,
removeobjectcallback: removeobjectcallbackProc,
parent: parentProc,
children: childrenProc,
shortestpaths: shortestpathsProc,
findnearests: findnearestsProc,
findnearestsofkind: findnearestsofkindProc
] RETURNS [SunRPC.Server];
NotifyObjectsCallbackargs: TYPE = RECORD [
rock: UT.OPAQUE,
os: LocatedObjectSet,
change: ChangeOperation
];
NotifyObjectsCallbackreturn: TYPE = REF NotifyObjectsCallbackreturnObject;
NotifyObjectsCallbackreturnObject: TYPE = RECORD [
union: SELECT returnCode: ReturnCodes FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
callbacks: CARDINAL = 822083615;
callbacksversion1: CARDINAL = 1;
clientnoopProc: TYPE = PROC[o: callbacks1];
notifyobjectscallbackProc: TYPE = PROC[o: callbacks1,
rock: UT.OPAQUE,
os: LocatedObjectSet,
change: ChangeOperation]
RETURNS [res: NotifyObjectsCallbackreturn];
callbacks1: TYPE = REF callbacks1Object;
callbacks1Object: TYPE = RECORD [
clientnoop: clientnoopProc,
notifyobjectscallback: notifyobjectscallbackProc,
rpcHandle: SunRPC.Handle ← NIL,
rpcConversation: SunRPCAuth.Conversation ← NIL,
data: REF ANYNIL
];
Makecallbacks1Client: PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [callbacks1];
Makecallbacks1Server: PROC[
data: REF,
clientnoop: clientnoopProc,
notifyobjectscallback: notifyobjectscallbackProc
] RETURNS [SunRPC.Server];
END.