home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osr1.exe / src / CMCtr.idl < prev    next >
Text File  |  1997-03-21  |  6KB  |  200 lines

  1. /* @(#)Z 1.5 com/src/bento/localidl/CMCtr.idl, odstorage, od96os2, odos29712d 97/03/21 17:20:03 (96/10/29 09:14:12) */
  2. //#====START_GENERATED_PROLOG======================================
  3. //#
  4. //#
  5. //#   COMPONENT_NAME: odstorage
  6. //#
  7. //#   CLASSES: none
  8. //#
  9. //#   ORIGINS: 82,27
  10. //#
  11. //#
  12. //#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  13. //#   All Rights Reserved
  14. //#   Licensed Materials - Property of IBM
  15. //#   US Government Users Restricted Rights - Use, duplication or
  16. //#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  17. //#       
  18. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  19. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  21. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  22. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  23. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  24. //#   OR PERFORMANCE OF THIS SOFTWARE.
  25. //#
  26. //#====END_GENERATED_PROLOG========================================
  27. //#
  28.  
  29. #ifdef __PRIVATE__
  30. //#
  31. //#    File:        CMCtr.idl
  32. //#
  33. //#    Contains:    Class definition for Bento Container
  34. //#
  35. //#    Owned by:    Vincent Lo
  36. //#
  37. //#    Copyright:    (r) 1994-1995 by Apple Computer, Inc., all rights reserved.
  38. //#
  39. //#    Change History (most recent first):
  40. //#
  41. //#        <14>     8/16/95    VL        1275241: Cleaned up IDL file.
  42. //#        <13>      8/3/95    RR        #1257260: Collapse B classes. Remove
  43. //#                                    somInit methods. Don't call IsInitialized
  44. //#                                    or SubclassResponsibility
  45. //#        <12>     5/25/95    VL        1251403: Multithreading naming support.
  46. //#        <11>      4/7/95    EL        1225905: Add GetModDate and SetModDate.
  47. //#        <10>      3/9/95    VL        1225504: Introduced TargetDocument to avoid
  48. //#                                    Target Document ref-counting problem.
  49. //#         <9>     2/10/95    VL        1205627: Added GetTargetContainer.
  50. //#         <8>     1/31/95    EL        1195846: allow setDirtyFlag to clear flag.
  51. //#                                    Note this is a private interface change
  52. //#        <7+>     1/31/95    EL        1195846: allow setDirtyFlag to clear flag.
  53. //#                                    Note this is a private interface change.
  54. //#         <7>     9/23/94    VL        1184166: Added GetName and SetName to
  55. //#                                    override.
  56. //#         <6>      8/5/94    VL        1171603: Added GetCMSession.
  57. //#         <5>     6/30/94    CC        GetCMContainer() is a subclass
  58. //#                                    responsibility; added GetHandlers, also a
  59. //#                                    subclass responsibility.
  60. //#         <4>     6/29/94    CC        Added private methods to access
  61. //#                                    fCMContainer and fHandlers.
  62. //#         <3>     6/15/94    CC        Added functionprefix to eliminate Undefined
  63. //#                                    entry, name: "_%CREATE".
  64. //#         <2>     6/15/94    RR        ODHeap -> ODMemoryHeap
  65. //#         <1>      6/8/94    VL        first checked in
  66. //#
  67. //#    To Do:
  68. //#
  69. #else
  70. //#    Copyright:    (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  71. #endif
  72.  
  73. #ifndef _CMCTR_
  74. #define _CMCTR_
  75.  
  76. #ifndef _ODCTR_
  77. #include "ODCtr.idl"
  78. #endif
  79.  
  80. //==============================================================================
  81. // Classes defined in this interface
  82. //==============================================================================
  83. interface ODBentoContainer;
  84.  
  85. //==============================================================================
  86. // Classes used by this interface
  87. //==============================================================================
  88. #ifdef __PRIVATE__
  89. typedef somToken CMContainer;
  90. typedef somToken ODBentoHandlers;
  91. typedef somToken ODMemoryHeapID;
  92. typedef somToken CMSession;
  93. interface CMDocument;
  94. interface ODStorageSystem; 
  95. interface ODDocument;
  96. interface ODFileContainer;
  97. #endif
  98.  
  99. //==============================================================================
  100. // ODContainer
  101. //==============================================================================
  102.  
  103. interface ODBentoContainer : ODContainer 
  104. {
  105. #ifdef __PRIVATE__
  106.  
  107.     // private within Bento Container Suite
  108.  
  109.     CMContainer            GetCMContainer();
  110.     ODBentoHandlers*    GetHandlers();
  111.     ODBoolean            GetDirtyFlag();
  112.     void                SetDirtyFlag(in ODBoolean flag);
  113.     ODMemoryHeapID        GetHeap();
  114.     CMSession            GetCMSession();
  115.     ODBentoContainer    GetTargetContainer();
  116.     CMDocument            GetTargetDocument();
  117.     ODTime                GetModDate();
  118.     void                SetModDate(in ODTime timer);
  119.     
  120. #endif
  121.   
  122. #ifdef __SOMIDL__
  123.   implementation
  124.   {
  125.     majorversion = 1; minorversion = 0;
  126.       functionprefix = ODBentoContainer;
  127.     override:
  128.         somUninit,
  129.         Acquire,
  130.         Release,
  131.         Purge,
  132.         GetStorageSystem,
  133.         GetID,
  134.         GetName,
  135.         SetName,
  136.         AcquireDocument,
  137.         #ifdef __PRIVATE__
  138.             InitContainer,
  139.             Create,
  140.             Open,
  141.             Close,
  142.             ReleaseDocument;
  143.         #else
  144.             reserved1,
  145.             reserved2,
  146.             reserved3,
  147.             reserved4,
  148.             reserved5;
  149.         #endif
  150.     releaseorder:
  151.         #ifdef __PRIVATE__
  152.             GetCMContainer,
  153.             GetHandlers,
  154.             GetDirtyFlag,
  155.             SetDirtyFlag,
  156.             GetHeap,
  157.             GetCMSession,
  158.             GetTargetContainer,
  159.             GetTargetDocument,
  160.             GetModDate,
  161.             SetModDate;
  162.         #else
  163.             reserved1,
  164.             reserved2,
  165.             reserved3,
  166.             reserved4,
  167.             reserved5,
  168.             reserved6,
  169.             reserved7,
  170.             reserved8,
  171.             reserved9,
  172.             reserved10;
  173.         #endif
  174.  
  175.     #ifdef __PRIVATE__
  176.         passthru C_xih = 
  177.                 "#include <BentoHdr.h>"
  178.                 "";
  179.         passthru C_xh = ""
  180.                 "class ODBentoHandlers;"
  181.                 "#include <CMAPI.h>"
  182.                 "#include <ODMemory.h>"
  183.                 "";
  184.         
  185.         ODStorageSystem        fStorageSystem;
  186.         ODContainerID*        fID;        
  187.         ODDocument            fDocument;        
  188.         ODBoolean            fDirty;        
  189.         ODMemoryHeapID         fHeap;
  190.         CMSession            fCMSession;
  191.         ODTime                fModDate;
  192.     #endif
  193.   };
  194. #endif
  195. };
  196.  
  197.  
  198. #endif  // _CMCTR_
  199.  
  200.