-- 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.