home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / INTFACDF.IDL < prev    next >
Text File  |  1995-08-24  |  3KB  |  93 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. //  InterfaceDef: CORBA Interface for interface definitions
  14. //  See CORBA 7.5.4, p.134
  15. #ifndef intfacdf_idl
  16. #define intfacdf_idl
  17. #include <containd.idl>
  18. #include <containr.idl>
  19. #include <somcls.idl>
  20. #include <attribdf.idl>
  21. #include <operatdf.idl>
  22. // CORBA 7.5.4, p.134
  23. interface InterfaceDef : Contained , Container
  24. {
  25.     struct FullInterfaceDescription {
  26.     Identifier   name;
  27.     RepositoryId id;
  28.     RepositoryId defined_in;
  29.     sequence<OperationDef::OperationDescription> operation;
  30.     sequence<AttributeDef::AttributeDescription> attributes;
  31.     };
  32.     struct InterfaceDescription {
  33.     Identifier   name;
  34.     RepositoryId id;
  35.     RepositoryId defined_in;
  36.     };
  37.     // The inherited describe method returns an instance of this
  38.     // (InterfaceDescription) structure in the "value" member of the
  39.     // Description structure defined in the Contained interface.
  40.     // The inherited describe_contents method in the Container
  41.     // interface returns a sequence of these Description structures
  42.     // each carrying a reference to an InterfaceDescription structure
  43.     // in its "value" member.
  44.     attribute sequence<RepositoryId> base_interfaces;
  45.     // The sequence of RepositoryIds for all of the interfaces that the
  46.     // receiving interface inherits.  Do not free the buffer,
  47.     // its storage is still owned by the InterfaceDef object.
  48.     FullInterfaceDescription describe_interface();
  49.     // Returns a description of all the operations and attributes in
  50.     // an interface.
  51.     attribute TypeCode instanceData;
  52.     // [SOM-unique extension]
  53.     //
  54.     // The instance data members (if any) described in the SOM
  55.     // implementation section of the IDL source file.
  56. #ifdef __SOMIDL__
  57.   implementation {
  58.       releaseorder: describe_interface,
  59.           _get_base_interfaces, _set_base_interfaces,
  60.           _get_instanceData, _set_instanceData
  61.           ;
  62.       callstyle = idl;
  63.       majorversion = 2;
  64.       minorversion = 1;
  65.       filestem = intfacdf;
  66.       dllname = "somir.dll";
  67.       passthru C_h =
  68.     ""
  69.     "    #include <somtcnst.h>"
  70.     "    #include <somir.h>"
  71.     "    #include <operatdf.h>"
  72.     "    #include <attribdf.h>"
  73.     "";
  74.       passthru C_xh =
  75.     ""
  76.     "    #include <somtcnst.xh>"
  77.     "    #include <somir.xh>"
  78.     "    #include <operatdf.xh>"
  79.     "    #include <attribdf.xh>"
  80.     "";
  81.       base_interfaces: noset;
  82.       instanceData: noset;
  83.       somInit: override;
  84.       somUninit: override;
  85.       somDumpSelf: override;
  86.       somDumpSelfInt: override;
  87.       within: override;
  88.       describe: override;
  89.   };
  90. #endif /* __SOMIDL__ */
  91. };
  92. #endif    /* intfacdf_idl */
  93.