home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / EXTENSN.IDL < prev    next >
Text File  |  1995-12-13  |  3KB  |  85 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 _EXTENSN_
  17. #define _EXTENSN_
  18.  
  19. #ifndef _REFCTOBJ_
  20. #include "RefCtObj.idl"
  21. #endif
  22.  
  23. //==============================================================================
  24. // Theory of Operation
  25. //==============================================================================
  26.  
  27. /*
  28.   ODExtension is the abstract base class from which object extension interfaces
  29.   are derived.  The base class itself has minimal behavior.  It knows which
  30.   object it is an extension of, and how to release resources in itself and in
  31.   its object.  Further behavior should be implemented in derived classes.
  32. */
  33.  
  34. //==============================================================================
  35. // Classes defined in this interface
  36. //==============================================================================
  37.  
  38. interface  ODExtension;
  39.  
  40. //==============================================================================
  41. // Classes used by this interface
  42. //==============================================================================
  43.  
  44. //==============================================================================
  45. // ODExtension
  46. //==============================================================================
  47.  
  48. interface ODExtension : ODRefCntObject
  49. {
  50.  
  51.    void InitExtension(in ODObject base);
  52.  
  53.    ODObject GetBase();
  54.  
  55.    void BaseRemoved();
  56.  
  57.    ODBoolean IsValid();
  58.  
  59.    void CheckValid();
  60.  
  61. #ifdef __SOMIDL__
  62.     implementation
  63.     {
  64.       functionprefix = ODExtension;
  65.  
  66.     override:
  67.         somInit,
  68.         somUninit,
  69.         Release;
  70.  
  71.     releaseorder:
  72.         InitExtension,
  73.         GetBase,
  74.           BaseRemoved,
  75.            IsValid,
  76.            CheckValid;
  77.  
  78.  
  79.     };
  80. #endif
  81. };
  82.  
  83. #endif // _EXTENSN_
  84.  
  85.