home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / operatdf.idl < prev    next >
Encoding:
Text File  |  1996-02-21  |  3.7 KB  |  133 lines

  1. //
  2. //   COMPONENT_NAME: somi
  3. //
  4. //   ORIGINS: 27
  5. //
  6. //
  7. //   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  8. //   All Rights Reserved
  9. //   Licensed Materials - Property of IBM
  10. //   US Government Users Restricted Rights - Use, duplication or
  11. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  12. //
  13.  
  14. //  OperationDef: CORBA Interface for operation definitions
  15. //  See CORBA 7.5.6, pp.135-136
  16.  
  17. #ifndef operatdf_idl
  18. #define operatdf_idl
  19.  
  20. #include <containd.idl>
  21. #include <containr.idl>
  22. #include <somcls.idl>
  23. #include <paramdef.idl>
  24. #include <excptdef.idl>
  25.  
  26. typedef string ContextIdentifier;
  27.  
  28. // CORBA 7.5.6, pp.135-136
  29. interface OperationDef : Contained , Container
  30. {
  31.     enum OperationMode {NORMAL, ONEWAY};
  32.  
  33.     struct OperationDescription {
  34.     Identifier    name;
  35.     RepositoryId  id;
  36.     RepositoryId  defined_in;
  37.     TypeCode      result;
  38.     OperationMode mode;
  39.     sequence<ContextIdentifier> contexts;
  40.     sequence<ParameterDef::ParameterDescription> parameter;
  41.     sequence<ExceptionDef::ExceptionDescription> exceptions;
  42.     };
  43.     // The inherited describe method returns an instance of this
  44.     // (OperationDescription) structure in the "value" member of the
  45.     // Description structure defined in the Contained interface.
  46.     // The inherited describe_contents method in the Container
  47.     // interface returns a sequence of these Description structures
  48.     // each carrying a reference to an OperationDescription structure
  49.     // in its "value" member.
  50.  
  51.     attribute TypeCode result;
  52.     // The TypeCode of the receiving object.  The memory used to hold
  53.     // the TypeCode is contained in the receiving object, which retains
  54.     // ownership.  Hence, do not free the returned TypeCode.  If you want
  55.     // to obtain a separate copy, use the TypeCode_copy operation.
  56.  
  57.     attribute OperationMode mode;
  58.     // The OperationMode of the receiving object;
  59.  
  60.     attribute sequence<ContextIdentifier> contexts;
  61.     // The list of ContextIdentifiers associated with the
  62.     // receiving object.
  63.  
  64.  
  65. #ifdef __SOMIDL__
  66.   implementation {
  67.       releaseorder: _get_result, _set_result,
  68.             _get_mode, _set_mode,
  69.             _get_contexts, _set_contexts
  70.             ;
  71.  
  72.       callstyle = idl;
  73.       majorversion = 2;
  74.       minorversion = 1;
  75.       filestem = operatdf;
  76.       dllname = "somir.dll";
  77.  
  78.       passthru C_h =
  79.     ""
  80.     "    #include <somtcnst.h>"
  81.     "    #include <somir.h>"
  82.     "    #include <paramdef.h>"
  83.     "    #include <excptdef.h>"
  84.     ""
  85.     "    #define ContextIdentifier string"
  86.     "    #define _IDL_SEQUENCE_ContextIdentifier _IDL_SEQUENCE_string"
  87.     "";
  88.       passthru C_xh =
  89.     ""
  90.     "    #include <somtcnst.xh>"
  91.     "    #include <somir.xh>"
  92.     "    #include <paramdef.xh>"
  93.     "    #include <excptdef.xh>"
  94.     ""
  95.     "    #define ContextIdentifier string"
  96.     "    #define _IDL_SEQUENCE_ContextIdentifier _IDL_SEQUENCE_string"
  97.     "";
  98.       passthru C_hh =
  99.     ""
  100.     "    #include <somtcnst.hh>"
  101.     "    #include <somir.hh>"
  102.     "    #include <paramdef.hh>"
  103.     "    #include <excptdef.hh>"
  104.     ""
  105.     "    #define ContextIdentifier string"
  106.     "    #define _IDL_SEQUENCE_ContextIdentifier _IDL_SEQUENCE_string"
  107.     "";
  108.  
  109.       result: noset;
  110.       mode: noset;
  111.       contexts: noset;
  112.  
  113. #if defined __SOM_KERNEL_LEVEL && __SOM_KERNEL_LEVEL >= 250
  114.       _get_result : dual_owned_result;
  115.       _get_contexts : dual_owned_result;
  116. #else
  117.       _set_result : client_owns_parameters = "result";
  118.       _set_contexts : client_owns_parameters = "contexts";
  119. #endif
  120.  
  121.       somInit: override;
  122.       somUninit: override;
  123.       somDumpSelf: override;
  124.       somDumpSelfInt: override;
  125.       describe: override;
  126.  
  127.   };
  128. #endif /* __SOMIDL__ */
  129. };
  130.  
  131.  
  132. #endif  /* operatdf_idl */
  133.