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.