home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / attribdf.idl < prev    next >
Text File  |  1999-02-22  |  3KB  |  98 lines

  1. //#
  2. //#  COMPONENT_NAME: somi
  3. //#
  4. //#  ORIGINS: 27
  5. //#
  6. //#
  7. //#    25H7912  (C)   COPYRIGHT International Business Machines Corp. 1992,1994,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.4 src/somi/ir/somir/attribdf.idl, somi.corba, som2.1 1/3/96 14:28:13 [7/30/96 14:46:18]
  14.  
  15.  
  16. //# AttributeDef: CORBA Interface for attributed definitions
  17. //# See CORBA 1.1, 7.5.5, p.135
  18.  
  19. #ifndef attribdf_idl
  20. #define attribdf_idl
  21.  
  22. #include <containd.idl>
  23. #include <somcls.idl>
  24.  
  25. interface AttributeDef : Contained
  26. // This interface is used to access information associated with
  27. // attributes defined in an IDL interface.
  28. //
  29. // See CORBA 1.1, 7.5.5, p.135
  30. {
  31.     enum AttributeMode {NORMAL, READONLY};
  32.  
  33.     struct AttributeDescription {
  34.     Identifier    name;
  35.     RepositoryId  id;
  36.     RepositoryId  defined_in;
  37.     TypeCode      type;
  38.     AttributeMode mode;
  39.     };
  40.     // The inherited describe method returns an instance of this
  41.     // (AttributeDescription) 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 AttributeMode mode;
  51.     // The AttributeMode 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 = attribdf;
  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. #if defined __SOM_KERNEL_LEVEL && __SOM_KERNEL_LEVEL >= 250
  82.       _get_type : dual_owned_result;
  83. #else
  84.       _set_type : caller_owns_parameters = "type";
  85. #endif
  86.  
  87.       //# Method Modifiers
  88.       somDefaultInit: override, init;
  89.       somDestruct: override;
  90.       somDumpSelf: override;
  91.       somDumpSelfInt: override;
  92.       describe: override;
  93.   };
  94. #endif /* __SOMIDL__ */
  95. };
  96.  
  97. #endif    /* attribdf_idl */
  98.