-- TrickleChargeP9813V411ClientImpl.Mesa
-- Copyright Ó 1989, 1992 by Xerox Corporation. All rights reserved.
-- Willie-s, January 31, 1992 6:24 pm PST
 -- Generated by Diebert.pa at September 15, 1989 9:59:32 am PDT
 -- using Sirocco [2.0] of February 10, 1989 6:26:26 pm PST

DIRECTORY
 CrRPC,
 BulkDataP0V1,
 TrickleChargeP9813V411;

TrickleChargeP9813V411ClientImpl: CEDAR PROGRAM
 IMPORTS CrRPC
 EXPORTS TrickleChargeP9813V411 ~ {
 OPEN TrickleChargeP9813V411;

-- Errors


 FileNotFound: PUBLIC FileNotFoundType ~ CODE;

 Error: PUBLIC ErrorType ~ CODE;

-- GetErrorProc

 GetError: CrRPC.GetErrorProc ~ {
  SELECT errNum FROM
   6 => {
    file: ROPE;
    file ¬ CrRPC.GetRope[s];
    ERROR FileNotFound[file]
    };
   5 => {
    description: ROPE;
    description ¬ CrRPC.GetRope[s];
    ERROR Error[description]
    };
   ENDCASE => {
    ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"];
    };
  };

-- Remote Procedures --

 Retrieve: PUBLIC RetrieveType ~ {
  PutArgs: CrRPC.PutArgsProc ~ {
   CrRPC.PutRope[s, name];
   CrRPC.PutInt32[s, wantedCreatedTime];
   CrRPC.PutBulkDataSink[h, s, data];
   };
  GetResults: CrRPC.GetResultsProc ~ {
   NULL
   };
   
  CrRPC.Call[h~h, remotePgm~9813, remotePgmVersion~411, remoteProc~3 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
  };

 EnumerateForInfo: PUBLIC EnumerateForInfoType ~ {
  PutArgs: CrRPC.PutArgsProc ~ {
   CrRPC.PutRope[s, pattern];
   CrRPC.PutBulkDataSink[h, s, info];
   };
  GetResults: CrRPC.GetResultsProc ~ {
   NULL
   };
   
  CrRPC.Call[h~h, remotePgm~9813, remotePgmVersion~411, remoteProc~1 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
  };

 FileInfo: PUBLIC FileInfoType ~ {
  PutArgs: CrRPC.PutArgsProc ~ {
   CrRPC.PutRope[s, name];
   CrRPC.PutInt32[s, wantedCreatedTime];
   };
  GetResults: CrRPC.GetResultsProc ~ {
   fullFName ¬ CrRPC.GetRope[s];
   bytes ¬ CrRPC.GetInt32[s];
   created ¬ CrRPC.GetInt32[s];
   };
   
  CrRPC.Call[h~h, remotePgm~9813, remotePgmVersion~411, remoteProc~2 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
  };

 AnyBodyHome: PUBLIC AnyBodyHomeType ~ {
  PutArgs: CrRPC.PutArgsProc ~ {
   };
  GetResults: CrRPC.GetResultsProc ~ {
   mayBe ¬ CrRPC.GetInt16[s];
   };
   
  CrRPC.Call[h~h, remotePgm~9813, remotePgmVersion~411, remoteProc~4 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
  };

}...