DIRECTORY Rope, SunRPC, UT, UTGetPut; UTGetPutImpl: CEDAR PROGRAM IMPORTS SunRPC EXPORTS UT, UTGetPut = BEGIN Handle: TYPE = SunRPC.Handle; ROPE: TYPE = Rope.ROPE; ReturnCodesNames: PUBLIC ARRAY UT.ReturnCodes OF ROPE _ [ "iluSuccess", "iluECantExportService", "ENotAuthorized", "ENotApplicable" ]; GetReturnCodes: PUBLIC PROC[h: Handle] RETURNS [res: UT.ReturnCodes] = { res _ VAL[SunRPC.GetInt32[h]]; }; PutReturnCodes: PUBLIC PROC[h: Handle, in: UT.ReturnCodes] = { SunRPC.PutInt32[h, ORD[in]]; }; GetBindingInfo: PUBLIC PROC[h: Handle] RETURNS [res: UT.BindingInfo] = { res _ SunRPC.GetRope[h]; }; PutBindingInfo: PUBLIC PROC[h: Handle, in: UT.BindingInfo] = { SunRPC.PutRope[h, in]; }; GetOPAQUE: PUBLIC PROC[h: Handle] RETURNS [res: UT.OPAQUE] = { res _ SunRPC.GetRefText[h]; }; PutOPAQUE: PUBLIC PROC[h: Handle, in: UT.OPAQUE] = { SunRPC.PutRefText[h, in]; }; GetObjectType: PUBLIC PROC[h: Handle] RETURNS [res: UT.ObjectType] = { res _ SunRPC.GetRope[h]; }; PutObjectType: PUBLIC PROC[h: Handle, in: UT.ObjectType] = { SunRPC.PutRope[h, in]; }; GetString: PUBLIC PROC[h: Handle] RETURNS [res: UT.String] = { res _ SunRPC.GetRope[h]; }; PutString: PUBLIC PROC[h: Handle, in: UT.String] = { SunRPC.PutRope[h, in]; }; GetObjectTypeSet: PUBLIC PROC[h: Handle] RETURNS [res: UT.ObjectTypeSet] = { { len: INT _ SunRPC.GetInt32[h]; res _ NEW[UT.SeqType0Object[len]]; FOR i: INT IN [0..len) DO res[i] _ GetString[h]; ENDLOOP; }; }; PutObjectTypeSet: PUBLIC PROC[h: Handle, in: UT.ObjectTypeSet] = { SunRPC.PutInt32[h, in.size]; FOR i: INT IN [0..in.size) DO PutString[h, in[i]]; ENDLOOP; }; GetDotCons: PUBLIC PROC[h: Handle] RETURNS [res: UT.DotCons] = { res.key _ SunRPC.GetRope[h]; res.value _ SunRPC.GetRope[h]; }; PutDotCons: PUBLIC PROC[h: Handle, in: UT.DotCons] = { SunRPC.PutRope[h, in.key]; SunRPC.PutRope[h, in.value]; }; GetObjectDescription: PUBLIC PROC[h: Handle] RETURNS [res: UT.ObjectDescription] = { { len: INT _ SunRPC.GetInt32[h]; res _ NEW[UT.SeqType1Object[len]]; FOR i: INT IN [0..len) DO res[i] _ GetDotCons[h]; ENDLOOP; }; }; PutObjectDescription: PUBLIC PROC[h: Handle, in: UT.ObjectDescription] = { SunRPC.PutInt32[h, in.size]; FOR i: INT IN [0..in.size) DO PutDotCons[h, in[i]]; ENDLOOP; }; GetObjectId: PUBLIC PROC[h: Handle] RETURNS [res: UT.ObjectId] = { res.objectType _ SunRPC.GetRope[h]; res.objectUid _ GetOPAQUE[h]; }; PutObjectId: PUBLIC PROC[h: Handle, in: UT.ObjectId] = { SunRPC.PutRope[h, in.objectType]; PutOPAQUE[h, in.objectUid]; }; GetObjct: PUBLIC PROC[h: Handle] RETURNS [res: UT.Objct] = { res.binding _ SunRPC.GetRope[h]; res.rock _ GetOPAQUE[h]; res.description _ GetObjectDescription[h]; }; PutObjct: PUBLIC PROC[h: Handle, in: UT.Objct] = { SunRPC.PutRope[h, in.binding]; PutOPAQUE[h, in.rock]; PutObjectDescription[h, in.description]; }; GetObjectSet: PUBLIC PROC[h: Handle] RETURNS [res: UT.ObjectSet] = { { len: INT _ SunRPC.GetInt32[h]; res _ NEW[UT.SeqType2Object[len]]; FOR i: INT IN [0..len) DO res[i] _ GetObjct[h]; ENDLOOP; }; }; PutObjectSet: PUBLIC PROC[h: Handle, in: UT.ObjectSet] = { SunRPC.PutInt32[h, in.size]; FOR i: INT IN [0..in.size) DO PutObjct[h, in[i]]; ENDLOOP; }; END. \ UTGetPutImpl.mesa Please do not edit this file. It was generated using CedarRPCGen. Êø•NewlineDelimiter ™J™J™J™#J˜šÏk ˜ J˜J˜Jšœ˜J˜ J˜—šÏn œœ˜Jšœ œœ ˜&—Jš˜Jšœœ˜J˜Jšœœœ˜J˜š žœœœœ œœ˜9J˜ J˜J˜J˜J˜J˜—š žœœœ œœ˜HJšœœ˜J˜J˜—šžœœœœ˜>Jšœœ˜J˜J˜—š žœœœ œœ˜HJ˜J˜J˜—šžœœœœ˜>J˜J˜J˜—š ž œœœ œœœ˜>J˜J˜J˜—š ž œœœœœ˜4J˜J˜J˜—š ž œœœ œœ˜FJ˜J˜J˜—šž œœœœ˜J˜J˜J˜—šž œœœœ ˜4J˜J˜J˜—š žœœœ œœ˜LJ˜Jšœœ˜Jšœœœ˜"šœœœ ˜J˜Jšœ˜—J˜J˜J˜—šžœœœœ˜BJ˜šœœœ˜J˜Jšœ˜—J˜J˜—š ž œœœ œœ ˜@J˜J˜J˜J˜—šž œœœœ ˜6J˜J˜J˜J˜—š žœœœ œœ˜TJ˜Jšœœ˜Jšœœœ˜"šœœœ ˜J˜Jšœ˜—J˜J˜J˜—šžœœœœ˜JJ˜šœœœ˜J˜Jšœ˜—J˜J˜—š ž œœœ œœ˜BJ˜#J˜J˜J˜—šž œœœœ˜8J˜!J˜J˜J˜—š žœœœ œœ ˜