home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / ODOBJECT.IDL < prev    next >
Text File  |  1995-12-13  |  3KB  |  132 lines

  1. /********************************************************************/
  2. /*  Licensed Materials - Property of IBM                            */
  3. /*                                                                  */
  4. /*                                                                  */
  5. /* Copyright (C) International Business Machines Corp., 1994.       */
  6. /* Copyright (C) Apple Computer, Inc., 1994                         */
  7. /*                                                                  */
  8. /*  US Government Users Restricted Rights -                         */
  9. /*  Use, duplication, or disclosure restricted                      */
  10. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  11. /*                                                                  */
  12. /*                                                                  */
  13. /********************************************************************/
  14.  
  15.  
  16. #ifndef _ODOBJECT_
  17. #define _ODOBJECT_
  18.  
  19. #include <somobj.idl>
  20. #include <somcls.idl>
  21.  
  22. #ifndef _ODTYPESM_
  23. #include "ODTypesM.idl"
  24. #endif
  25.  
  26. #ifndef _GEOTYPES_
  27. #include "GeoTypes.idl"
  28. #endif
  29.  
  30. #ifndef _POLYGON_
  31. #include "Polygon.idl"
  32. #endif
  33.  
  34. //==============================================================================
  35. // Theory of Operation
  36. //==============================================================================
  37.  
  38. /*
  39.   This file defines class ODObject.  This class is the common base class
  40.   for all OpenDoc classes.  It provides for extensibility through the
  41.   Extensions protocol.
  42. */
  43.  
  44. //==============================================================================
  45. // Classes defined in this interface
  46. //==============================================================================
  47.  
  48. interface  ODObject;
  49.  
  50. //==============================================================================
  51. // Classes used by this interface
  52. //==============================================================================
  53.  
  54. interface  ODExtension;
  55.  
  56. //==============================================================================
  57. // ODObject
  58. //==============================================================================
  59.  
  60. interface M_ODObject : SOMClass
  61. {
  62. #ifdef __SOMIDL__
  63.         implementation
  64.         {
  65.                 somNew : override;
  66.         };
  67. #endif
  68. };
  69.  
  70. interface ODObject  : SOMObject
  71. {
  72.         void InitObject();
  73.  
  74.  
  75.         ODBoolean HasExtension(in ODType extensionName);
  76.  
  77.         ODExtension AcquireExtension(in ODType extensionName);
  78.  
  79.         void ReleaseExtension(in ODExtension extension);
  80.  
  81.     ODSize  Purge(in ODSize size);
  82.  
  83.         ODBoolean IsEqualTo(in ODObject object);
  84.  
  85.         void SubClassResponsibility();
  86.  
  87. #ifdef __SOMIDL__
  88.  
  89.   implementation
  90.   {
  91.         metaclass = M_ODObject;
  92.         functionprefix = ODObject;
  93.  
  94.         passthru C_h =
  95.         ""
  96.         "#include <ODTypes.h>"
  97.         ""
  98.         "";
  99.  
  100.         passthru C_xh =
  101.         ""
  102.         "#include <ODTypes.h>"
  103.         ""
  104.         "";
  105.  
  106.         passthru C_hh =
  107.         ""
  108.         "#include <ODTypes.h>"
  109.         "";
  110.  
  111.     somInit : override;
  112.     somUninit : override;
  113.  
  114.     releaseorder:
  115.         InitObject,
  116.         HasExtension,
  117.         AcquireExtension,
  118.         ReleaseExtension,
  119.         Purge,
  120.                 IsEqualTo,
  121.                 SubClassResponsibility,
  122.                 reserved;
  123.  
  124.   };
  125.  
  126. #endif
  127.  
  128. };
  129.  
  130. #endif // _ODOBJECT_
  131.  
  132.