home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / operatdf.idl < prev    next >
Text File  |  1996-12-24  |  4KB  |  124 lines

  1. //#
  2. //#  COMPONENT_NAME: somi
  3. //#
  4. //#  ORIGINS: 27
  5. //#
  6. //#
  7. //#    25H7912  (C)   COPYRIGHT International Business Machines Corp. 1992,1996,1996,1996  
  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. //#  @(#) 2.10.1.5 src/somi/ir/somir/operatdf.idl, somi.corba, som3.0 1/3/96 14:29:50 [12/24/96 07:40:10]
  14.  
  15.  
  16. //#  OperationDef: CORBA Interface for operation definitions
  17. //#  See CORBA 1.1, 7.5.6, pp.135-136
  18.  
  19. #ifndef operatdf_idl
  20. #define operatdf_idl
  21.  
  22. #include <containd.idl>
  23. #include <containr.idl>
  24. #include <somcls.idl>
  25. #include <paramdef.idl>
  26. #include <excptdef.idl>
  27.  
  28. typedef string ContextIdentifier;
  29.  
  30. interface OperationDef : Contained , Container
  31. // This interface is used to access information associated with
  32. // operations defined in an IDL interface.
  33. //
  34. // See CORBA 1.1, 7.5.6, pp.135-136
  35. {
  36.     enum OperationMode {NORMAL, ONEWAY};
  37.  
  38.     struct OperationDescription {
  39.     Identifier    name;
  40.     RepositoryId  id;
  41.     RepositoryId  defined_in;
  42.     TypeCode      result;
  43.     OperationMode mode;
  44.     sequence<ContextIdentifier> contexts;
  45.     sequence<ParameterDef::ParameterDescription> parameter;
  46.     sequence<ExceptionDef::ExceptionDescription> exceptions;
  47.     };
  48.     // The inherited describe method returns an instance of this
  49.     // (OperationDescription) structure in the "value" member of the
  50.     // Description structure defined in the Contained interface.
  51.     // The inherited describe_contents method in the Container
  52.     // interface returns a sequence of these Description structures
  53.     // each carrying a reference to an OperationDescription structure
  54.     // in its "value" member.
  55.  
  56.     attribute TypeCode result;
  57.     // The TypeCode of the receiving object.  The memory used to hold
  58.     // the TypeCode is contained in the receiving object, which retains
  59.     // ownership.  Hence, do not free the returned TypeCode.  If you want
  60.     // to obtain a separate copy, use the TypeCode_copy operation.
  61.  
  62.     attribute OperationMode mode;
  63.     // The OperationMode of the receiving object;
  64.  
  65.     attribute sequence<ContextIdentifier> contexts;
  66.     // The list of ContextIdentifiers associated with the
  67.     // receiving object.
  68.  
  69.  
  70. #ifdef __SOMIDL__
  71.   implementation {
  72.       releaseorder: _get_result, _set_result,
  73.             _get_mode, _set_mode,
  74.             _get_contexts, _set_contexts
  75.             ;
  76.  
  77.       //# Class Modifiers
  78.       callstyle = idl;
  79.       majorversion = 2;
  80.       minorversion = 3;
  81.       filestem = operatdf;
  82.       dllname = "somir.dll";
  83.  
  84.       passthru C_h =
  85.     ""
  86.     "    #include <somtcnst.h>"
  87.     "    #include <somir.h>"
  88.     "    #include <paramdef.h>"
  89.     "    #include <excptdef.h>"
  90.     ""
  91.     "    #define ContextIdentifier string"
  92.     "    #define _IDL_SEQUENCE_ContextIdentifier _IDL_SEQUENCE_string"
  93.     "";
  94.       passthru C_xh =
  95.     ""
  96.     "    #include <somtcnst.xh>"
  97.     "    #include <somir.xh>"
  98.     "    #include <paramdef.xh>"
  99.     "    #include <excptdef.xh>"
  100.     ""
  101.     "    #define ContextIdentifier string"
  102.     "    #define _IDL_SEQUENCE_ContextIdentifier _IDL_SEQUENCE_string"
  103.     "";
  104.  
  105.       //# Attribute Modifiers
  106.       result: noset;
  107.       mode: noset;
  108.       contexts: noset;
  109.       _get_result : dual_owned_result;
  110.       _get_contexts : dual_owned_result;
  111.  
  112.       //# Method Modifiers
  113.       somDefaultInit: override, init;
  114.       somDestruct: override;
  115.       somDumpSelf: override;
  116.       somDumpSelfInt: override;
  117.       describe: override;
  118.  
  119.   };
  120. #endif /* __SOMIDL__ */
  121. };
  122.  
  123. #endif    /* operatdf_idl */
  124.