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,
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,
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,
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,
StepSeq: TYPE = SeqType4;
SeqType4: TYPE = REF SeqType4Object;
SeqType4Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Step];
Path: 
TYPE = 
RECORD [
frm: ROPE,
d: Distance,
PathSet: TYPE = SeqType5;
SeqType5: TYPE = REF SeqType5Object;
SeqType5Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Path];
PathSolution: 
TYPE = 
RECORD [
dmin: Distance,
dmax: Distance,
Nearest: 
TYPE = 
RECORD [
to: T,
Nearests: TYPE = SeqType6;
SeqType6: TYPE = REF SeqType6Object;
SeqType6Object: TYPE = RECORD [SEQUENCE size: [0..LAST[INT32]) OF Nearest];
AtLocargs: 
TYPE = 
RECORD [
o: UT.Objct,
AtLocreturn: TYPE = REF AtLocreturnObject;
AtLocreturnObject: 
TYPE = 
RECORD [
union: 
SELECT returnCode: ReturnCodes 
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectargs: 
TYPE = 
RECORD [
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,
NotifyOfObjectsreturn: TYPE = REF NotifyOfObjectsreturnObject;
NotifyOfObjectsreturnObject: 
TYPE = 
RECORD [
union: 
SELECT returnCode: ReturnCodes 
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
RemoveObjectCallbackargs: 
TYPE = 
RECORD [
who: ROPE,
RemoveObjectCallbackreturn: TYPE = REF RemoveObjectCallbackreturnObject;
RemoveObjectCallbackreturnObject: 
TYPE = 
RECORD [
union: 
SELECT returnCode: ReturnCodes 
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [],
iluECantExportService => [],
ENDCASE];
Parentargs: 
TYPE = 
RECORD [
Parentreturn: TYPE = REF ParentreturnObject;
ParentreturnObject: 
TYPE = 
RECORD [
union: 
SELECT returnCode: ReturnCodes 
FROM
EError => [EErrorValue: ErrorType],
iluSuccess => [returnValue: ROPE],
iluECantExportService => [],
ENDCASE];
Childrenargs: 
TYPE = 
RECORD [
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,
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,
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,
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 ANY ← NIL
];
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 ANY ← NIL
];
Makecallbacks1Client: 
PROC[h: SunRPC.Handle,
c: SunRPCAuth.Conversation] RETURNS [callbacks1];
 
Makecallbacks1Server: 
PROC[
data: REF,
clientnoop: clientnoopProc,
notifyobjectscallback: notifyobjectscallbackProc
] RETURNS [SunRPC.Server];
 
END.