home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / paramdef.idl < prev    next >
Text File  |  1996-12-24  |  3KB  |  95 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.9.1.5 src/somi/ir/somir/paramdef.idl, somi.corba, som3.0 1/3/96 14:30:02 [12/24/96 07:40:10]
  14.  
  15.  
  16. //#  ParameterDef: CORBA Interface for parameter definitions
  17. //#  See CORBA 1.1, 7.5.7, p.136
  18.  
  19. #ifndef paramdef_idl
  20. #define paramdef_idl
  21.  
  22. #include <containd.idl>
  23. #include <somcls.idl>
  24.  
  25. interface ParameterDef : Contained
  26. // This interface is used to access information associated with
  27. // parameters used with an IDL operation.
  28. //
  29. // See CORBA 1.1, 7.5.7, p.136
  30. {
  31.     enum ParameterMode {IN, OUT, INOUT};
  32.  
  33.     struct ParameterDescription {
  34.     Identifier    name;
  35.     RepositoryId  id;
  36.     RepositoryId  defined_in;
  37.     TypeCode      type;
  38.     ParameterMode mode;
  39.     };
  40.     // The inherited describe method returns an instance of this
  41.     // (ParameterDescription) structure in the "value" member of the
  42.     // Description structure defined in the Contained interface.
  43.  
  44.     attribute TypeCode type;
  45.     // The TypeCode of the receiving object.  The memory used to hold
  46.     // the TypeCode is contained in the receiving object, which retains
  47.     // ownership.  Hence, do not free the returned TypeCode.  If you want
  48.     // to obtain a separate copy, use the TypeCode_copy operation.
  49.  
  50.     attribute ParameterMode mode;
  51.     // The ParameterMode of the receiving object;
  52.  
  53. #ifdef __SOMIDL__
  54.   implementation {
  55.       releaseorder: _get_type,_set_type,_get_mode,_set_mode
  56.       ;
  57.  
  58.       //# Class Modifiers
  59.       callstyle = idl;
  60.       majorversion = 2;
  61.       minorversion = 3;
  62.       filestem = paramdef;
  63.       dllname = "somir.dll";
  64.  
  65.       passthru C_h =
  66.     ""
  67.     "    #include <somtcnst.h>"
  68.     "    #include <somir.h>"
  69.     "    #include <containd.h>"
  70.     "";
  71.       passthru C_xh =
  72.     ""
  73.     "    #include <somtcnst.xh>"
  74.     "    #include <somir.xh>"
  75.     "    #include <containd.xh>"
  76.     "";
  77.  
  78.       //# Attribute Modifiers
  79.       type: nodata;
  80.       mode: noget, noset;
  81.       _get_type : dual_owned_result;
  82.  
  83.       //# Method Modifiers
  84.       somDefaultInit: override, init;
  85.       somDestruct: override;
  86.       somDumpSelf: override;
  87.       somDumpSelfInt: override;
  88.       describe: override;
  89.  
  90.   };
  91. #endif /* __SOMIDL__ */
  92. };
  93.  
  94. #endif    /* paramdef_idl */
  95.