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.