/* ***************************************** * * FILE: Chaims_DCE_2_0.idl * AUTHOR: Woody Pollack * First Rev: 8/11/98 * * DCE IDL Description of the CHAIMS interface * * *****************************************/ #define CHAIMSERROR 2 #define CHAIMSDONE 1 #define CHAIMSNOTDONE 0 // Values for CHAIMSINVSTATUS [ uuid(33702e0e-4571-11d1-99fb-24be001caa77), version(1.0) ] interface CHAIMSRAP { typedef string ATTR; typedef sequence BLOB; struct ATTRVAL { ATTR name; BLOB value; }; typedef sequence CHAIMSATTRVALSEQ; typedef long CHAIMSCLIENTID; // or should it be a string? typedef string CHAIMSMETHODNAME; typedef string CHAIMSPARAMNAME; typedef long CHAIMSMETHODID; typedef long CHAIMSCALLID; typedef integer CHAIMSINVKSTATUS; typedef sequence CHAIMSATTRSEQ; void SETUP ( [in] CHAIMSCLIENTID clientid // identifier for the megaprogram that makes this connection, // certain primitives only apply to settings etc. for // one specific megaprogram ); void GETPARAM ( [in] CHAIMSCLIENTID clientid, // id of megaprogram for which the settings are required [in] CHAIMSATTRSEQ attrseq, // Sequence of parameters to extract [out] CHAIMSATTRVALSEQ attrvalseq // Sequence of parametername-value extracted (if not yet set // specificly for this client, then default-settings of // megamodule are taken) ); void SETPARAM ( [in] CHAIMSCLIENTID clientid, // id of megaprogram for which to make settings, these // will override default-values of megamodule [in] CHAIMSATTRVALSEQ attrvalseq // Sequence of parametername-values to set, overrides // for this client default-values of megamodule ); void ESTIMATE ( [in] CHAIMSCLIENTID clientid, // identifier of the megaprogram making that invocation so // the estimate is done with the right setting of parameters [in] CHAIMSMETHODNAME methodname, // Name of the method for which estimate is required [in] CHAIMSATTRSEQ attrseq, // list of kind of estimates required, options are: // - time // - fee [out] CHAIMSATTRVALSEQ attrvalseq // with the following predefined elements: // - time of CHAIMS-type datetime // - fee of CHAIMS-type integer, [in] US$ ); void INVOKE ( [in] CHAIMSCLIENTID clientid, // identifier of the megaprogram making that invocation [in] CHAIMSMETHODNAME methodname, // method to invoke [in] CHAIMSATTRVALSEQ attrvalseq, // parametername-value sequence for the method, overrides any // parameters set with SETPARAM [out] CHAIMSCALLID callid // ID supplied by the Client ); CHAIMSINVKSTATUS EXAMINE ( [in] CHAIMSCALLID callid // callid of the invocation to examine ); void EXTRACT ( [in] CHAIMSCALLID callid, // CallId for which results need to be extracted [in] CHAIMSATTRSEQ attrseq, // sequence of parameter names [out] CHAIMSATTRVALSEQ attrvalseq // Sequence of parametername-value pairs of the result ); void TERMINATE ( [in] CHAIMSCALLID callid // callid of the invocation to terminate ); void TERMINATEALL ( [in] CHAIMSCLIENTID clientid // clientid in order to determine all the invocations // to terminate, all other stuff setup for the connection // with this client can also be terminated ); };