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

  1. /* @(#)Z 1.5 com/src/bento/localidl/CMDoc.idl, odstorage, od96os2, odos29712d 97/03/21 17:20:04 (96/10/29 09:14:17) */
  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:        CMDoc.idl
  32. //#
  33. //#    Contains:    IDL for CMDocument
  34. //#
  35. //#    Owned by:    Vincent Lo
  36. //#
  37. //#    Copyright:    (r) 1994 by Apple Computer, Inc., all rights reserved.
  38. //#
  39. //#    Change History (most recent first):
  40. //#
  41. //#        <13>     8/16/95    VL        1275241: Cleaned up IDL file.
  42. //#        <12>      8/3/95    RR        #1257260: Collapse B classes. Remove
  43. //#                                    somInit methods. Don't call IsInitialized
  44. //#                                    or SubclassResponsibility
  45. //#        <11>     5/25/95    VL        1251403: Multithreading naming support.
  46. //#        <10>     3/31/95    EL        1234685: ExternalizeVersionList has extra
  47. //#                                    parameter so we can skip top draft.
  48. //#         <9>     3/23/95    VL        1230357: Added Purge.
  49. //#         <8>     9/23/94    VL        1184166: Added GetName and SetName to
  50. //#                                    override.
  51. //#         <7>     9/12/94    VL        1184154: Removed internal field for
  52. //#                                    DocumentProperties.
  53. //#         <6>      9/6/94    VL        1184154: Removed GetDocumentProperties.
  54. //#         <5>     7/11/94    VL        Added Exists.
  55. //#         <4>      7/5/94    VL        Fixed in/out.
  56. //#         <3>     6/22/94    VL        Added functionprefix.
  57. //#         <2>     6/15/94    RR        ODHeap -> ODMemoryHeap
  58. //#         <1>      6/8/94    VL        first checked in
  59. //#
  60. //#    To Do:
  61. //#
  62. #else
  63. //#    Copyright:    (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  64. #endif
  65.  
  66. #ifndef _CMDOC_
  67. #define _CMDOC_
  68.  
  69. #ifndef _DOCUMENT_
  70. #include "Document.idl"
  71. #endif
  72.  
  73. //==============================================================================
  74. // Classes defined in this interface
  75. //==============================================================================
  76. interface   CMDocument;
  77.  
  78. //==============================================================================
  79. // Classes used by this interface
  80. //==============================================================================
  81. interface    CMDraft;
  82. interface    ODBentoContainer;
  83.  
  84. #ifdef __PRIVATE__
  85. //==============================================================================
  86. // Implementation Types
  87. //==============================================================================
  88. typedef somToken CMValue;
  89. typedef somToken VersionList;
  90. typedef somToken DraftList;
  91. typedef somToken ODMemoryHeapID;
  92. #endif
  93.  
  94. //==============================================================================
  95. // CMDocument
  96. //==============================================================================
  97.  
  98. interface CMDocument :  ODDocument 
  99. {
  100.  
  101. #ifdef __PRIVATE__
  102.  
  103.     CMValue GetCMVersionList();
  104.     
  105.     CMDraft    AcquireDraftGut(in VersionList* versionList,
  106.                         in ODDraftPermissions perms,
  107.                         in ODDraftID id,
  108.                         in CMDraft draft,
  109.                         in ODPositionCode posCode,
  110.                         in ODBoolean release);
  111.  
  112.     void    InternalizeVersionList();
  113.     
  114.     void     ExternalizeVersionList(in ODBoolean ignoreTopDraft);
  115.  
  116.     void    Reopen();
  117.     
  118.     VersionList*    GetVersionList();
  119.     
  120.     VersionList*    TestAndGetVersionList();
  121.     
  122.     void            ReleaseVersionList();
  123.     
  124.     ODMemoryHeapID    GetHeap();
  125.         
  126. #endif
  127.  
  128. #ifdef __SOMIDL__
  129.     implementation
  130.     {
  131.         majorversion = 1; minorversion = 0;
  132.           functionprefix = CMDocument;
  133.         
  134.         override:
  135.             somUninit,
  136.             Purge,
  137.             Acquire,
  138.             Release,
  139.             GetContainer,
  140.             GetID,
  141.             GetName,
  142.             SetName,
  143.             CollapseDrafts,
  144.             AcquireDraft,
  145.             Exists,
  146.             AcquireBaseDraft,
  147.             CreateDraft,
  148.             SaveToAPrevDraft,
  149.             SetBaseDraftFromForeignDraft,
  150.             InitDocument,
  151.             ReleaseDraft;
  152.         releaseorder:
  153.         #ifdef __PRIVATE__
  154.             GetCMVersionList,
  155.             AcquireDraftGut,
  156.             InternalizeVersionList,
  157.             ExternalizeVersionList,
  158.             Reopen,
  159.             GetVersionList,
  160.             TestAndGetVersionList,
  161.             ReleaseVersionList,
  162.             GetHeap;
  163.         #else
  164.             reserved1,
  165.             reserved2,
  166.             reserved3,
  167.             reserved4,
  168.             reserved5,
  169.             reserved6,
  170.             reserved7,
  171.             reserved8,
  172.             reserved9;
  173.         #endif
  174.             
  175.         #ifdef __PRIVATE__
  176.             passthru C_xih =
  177.                 ""
  178.                 "class DraftList;"
  179.                 "";
  180.             passthru C_xh =
  181.                 ""
  182.                 "class VersionList;"
  183.                 "#ifndef _CM_API_
  184.                 "#include <CMAPI.h>"
  185.                 "#endif"
  186.                 "#ifndef _ODMEMORY_"
  187.                 "#include <ODMemory.h>"
  188.                 "#endif"
  189.                 "";
  190.  
  191.             ODBentoContainer        fContainer;
  192.             ODDocumentID             fID;
  193.             DraftList*                fDrafts;
  194.             DraftList*                fReleasedDrafts;
  195.             VersionList*            fVersions;
  196.             ODULong                fVersionListSemaphore;
  197.             ODMemoryHeapID            fHeap;
  198.             ODDocumentName            fName;
  199.         #endif
  200.   };
  201. #endif
  202. };
  203.  
  204. #endif  // _CMDOC_
  205.