JoinAppGetPutImpl.mesa
Please do not edit this file.
It was generated using CedarRPCGen.
DIRECTORY
Rope,
SunRPC,
UT,
UTGetPut,
JoinApp,
JoinAppGetPut;
JoinAppGetPutImpl:
CEDAR
PROGRAM
IMPORTS SunRPC, UTGetPut EXPORTS JoinApp, JoinAppGetPut =
BEGIN
Handle: TYPE = SunRPC.Handle;
ROPE: TYPE = Rope.ROPE;
ReturnCodesNames:
PUBLIC
ARRAY JoinApp.ReturnCodes
OF
ROPE ← [
"iluSuccess",
"iluECantExportService",
"ENotAuthorized"
];
GetReturnCodes:
PUBLIC
PROC[h: Handle]
RETURNS [res: JoinApp.ReturnCodes] = {
res ← VAL[SunRPC.GetInt32[h]];
};
PutReturnCodes:
PUBLIC
PROC[h: Handle, in: JoinApp.ReturnCodes] = {
SunRPC.PutInt32[h, ORD[in]];
};
GetJoinApplicationargs:
PUBLIC
PROC[h: Handle]
RETURNS [res: JoinApp.JoinApplicationargs] = {
res.in ← UTGetPut.GetObjectDescription[h];
};
PutJoinApplicationargs:
PUBLIC
PROC[h: Handle, in: JoinApp.JoinApplicationargs] = {
UTGetPut.PutObjectDescription[h, in.in];
};
GetJoinApplicationreturn:
PUBLIC
PROC[h: Handle]
RETURNS [res: JoinApp.JoinApplicationreturn] = {
tag: JoinApp.ReturnCodes;
tag ← GetReturnCodes[h];
SELECT tag
FROM
iluSuccess => {
v: REF iluSuccess JoinApp.JoinApplicationreturnObject ← NEW[iluSuccess JoinApp.JoinApplicationreturnObject];
v.returnValue ← UTGetPut.GetObjectDescription[h];
res ← v;
};
ENotAuthorized => {
v: REF ENotAuthorized JoinApp.JoinApplicationreturnObject ← NEW[ENotAuthorized JoinApp.JoinApplicationreturnObject];
res ← v;
};
iluECantExportService => {
v: REF iluECantExportService JoinApp.JoinApplicationreturnObject ← NEW[iluECantExportService JoinApp.JoinApplicationreturnObject];
res ← v;
};
ENDCASE => NULL;
};
PutJoinApplicationreturn:
PUBLIC
PROC[h: Handle, in: JoinApp.JoinApplicationreturn] = {
PutReturnCodes[h, in.returnCode];
SELECT in.returnCode
FROM
iluSuccess => {
v: REF iluSuccess JoinApp.JoinApplicationreturnObject ← NARROW[in];
UTGetPut.PutObjectDescription[h, v.returnValue];
};
ENotAuthorized => {
v: REF ENotAuthorized JoinApp.JoinApplicationreturnObject ← NARROW[in];
};
iluECantExportService => {
v: REF iluECantExportService JoinApp.JoinApplicationreturnObject ← NARROW[in];
};
ENDCASE => NULL;
};
END.