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

  1. /* @(#)Z 1.5 com/src/storage/idl/Draft.idl, odstorage, od96os2, odos29712d 97/03/21 17:20:07 (96/10/28 13:40:39) */
  2.  
  3. //#====START_GENERATED_PROLOG======================================
  4. //#
  5. //#
  6. //#   COMPONENT_NAME: odstorage
  7. //#
  8. //#   CLASSES: none
  9. //#
  10. //#   ORIGINS: 82,27
  11. //#
  12. //#
  13. //#   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  14. //#   All Rights Reserved
  15. //#   Licensed Materials - Property of IBM
  16. //#   US Government Users Restricted Rights - Use, duplication or
  17. //#   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  18. //#       
  19. //#   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  20. //#   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  21. //#   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  22. //#   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  23. //#   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  24. //#   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  25. //#   OR PERFORMANCE OF THIS SOFTWARE.
  26. //#
  27. //#====END_GENERATED_PROLOG========================================
  28. //#
  29.  
  30. #ifdef __PRIVATE__
  31. //#
  32. //#    File:        Draft.idl
  33. //#
  34. //#    Contains:    Class definition for ODDraft
  35. //#
  36. //#    Owned by:    Vincent Lo
  37. //#
  38. //#    Copyright:    (r) 1994 by Apple Computer, Inc., all rights reserved.
  39. //#
  40. //#    Change History (most recent first):
  41. //#
  42. //#        <23>     9/11/95    VL        1283326: CreateFrame now takes ODObjectType
  43. //#                                    instead of ODType.
  44. //#        <22>     8/25/95    JBS        1263078 FB: fix part editor swapping
  45. //#        <21>     8/16/95    VL        1275241: Cleaned up IDL file.
  46. //#        <20>      8/3/95    RR        #1257260: Collapse B classes. Remove
  47. //#                                    somInit methods. Don't call IsInitialized
  48. //#                                    or SubclassResponsibility
  49. //#        <19>     6/23/95    JBS        1261323 CreateFrame: add isSubframe param,
  50. //#                                    remove isRoot
  51. //#        <18>     6/19/95    VL        1170098: Added DeleteRealPart.
  52. //#        <17>      6/1/95    JBS        make ReleasePart public
  53. //#       <16+>      6/1/95    JBS        make ReleasePart public
  54. //#        <16>     5/25/95    VL        1251403: Multithreading naming support.
  55. //#        <15>     5/22/95    CC        1242879: Added IsValidID.
  56. //#        <14>     5/18/95    CC        1238898: Added destFrame parameter to
  57. //#                                    BeginClone.
  58. //#        <13>     5/17/95    VL        1249181: Made Init method private.
  59. //#        <12>     1/18/95    VL        1193559: Two new methods
  60. //#                                    (GetPersistentObject and
  61. //#                                    GetPersistentObjectID).
  62. //#        <11>    12/15/94    CC        1193569 CreateLinkSpec() takes ODByteArray
  63. //#                                    parameter.
  64. //#        <10>     10/4/94    CC        1190858 - Added ReleaseLinkSource().
  65. //#         <9>      9/6/94    VL        1184177: Removed GetName and SetName.
  66. //#         <8>     8/26/94    VL        1183174: Added destDraft to BeginClone and
  67. //#                                    added toID to Clone.
  68. //#         <7>     8/16/94    VL        1143605: Fixed parameters to CloneInto.
  69. //#         <6>     8/15/94    VL        #???: Added frameType parameter
  70. //#                                    to CreateFrame.
  71. //#         <5>     8/12/94    JBS        1179919: add biasCanvas param to
  72. //#                                    Draft::CreateFrame()
  73. //#         <4>     8/11/94    CC        Added CreateLinkIterator() and
  74. //#                                    CreateLinkSourceIterator() methods.
  75. //#         <3>      7/5/94    VL        Fixed parameters to CreateFrame.
  76. //#         <2>     6/21/94    VL        Added functionprefix.
  77. //#         <1>      6/8/94    VL        first checked in
  78. //#
  79. //#    To Do:
  80. //#
  81. #else
  82. //#    Copyright:    (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  83. #endif
  84.  
  85. #ifndef _DRAFT_
  86. #define _DRAFT_
  87.  
  88. #ifndef _REFCTOBJ_
  89. #include "RefCtObj.idl"
  90. #endif
  91.  
  92. //==============================================================================
  93. // Classes defined in this interface
  94. //==============================================================================
  95. interface  ODDraft;
  96.  
  97. //==============================================================================
  98. // Classes used by this interface
  99. //==============================================================================
  100. interface   ODCanvas;
  101. interface   ODDocument;
  102. interface   ODFrame;
  103. interface   ODLink;
  104. interface   ODLinkSource;
  105. interface   ODLinkIterator;
  106. interface   ODLinkSourceIterator;
  107. interface   ODLinkSpec;
  108. interface   ODPart;
  109. interface   ODShape;
  110. interface   ODStorageUnit;
  111. interface    ODPersistentObject;
  112. interface    ODPartWrapper;
  113.  
  114. //==============================================================================
  115. // ODDraft
  116. //==============================================================================
  117.  
  118. interface ODDraft :  ODRefCntObject
  119. {
  120.  
  121.     ODDocument   GetDocument();
  122.     
  123.     ODDraftID    GetID();
  124.     
  125.     ODStorageUnit   AcquireDraftProperties();
  126.     
  127.     ODDraftPermissions  GetPermissions();
  128.     
  129.     ODStorageUnit   CreateStorageUnit();
  130.     
  131.     ODStorageUnit   AcquireStorageUnit(in ODStorageUnitID id);
  132.     
  133.     void      RemoveStorageUnit(in ODStorageUnit storageUnit);
  134.     
  135.     ODBoolean    IsValidID(in ODID id);
  136.     
  137.     ODDraftKey    BeginClone(in ODDraft destDraft, in ODFrame destFrame, in ODCloneKind kind);
  138.     
  139.     void      EndClone(in ODDraftKey key);
  140.     
  141.     void      AbortClone(in ODDraftKey key);
  142.  
  143.     ODID Clone(in ODDraftKey key, in ODID fromObjectID, in ODID toObjectID, in ODID scope);
  144.     
  145.     ODID WeakClone(in ODDraftKey key, in ODID objectID, in ODID toObjectID, in ODID scope);
  146.  
  147.     ODBoolean    ChangedFromPrev();
  148.     
  149.     void      SetChangedFromPrev();
  150.     
  151.     void      RemoveFromDocument();
  152.     
  153.     ODDraft     RemoveChanges();
  154.     
  155.     ODDraft     Externalize();
  156.     
  157.     ODDraft     SaveToAPrevious(in ODDraft to);
  158.     
  159.     ODFrame CreateFrame(
  160.             in ODObjectType    frameType,
  161.             in ODFrame        containingFrame,
  162.             in ODShape        frameShape,
  163.             in ODCanvas        biasCanvas,
  164.             in ODPart        part,
  165.             in ODTypeToken    viewType,
  166.             in ODTypeToken    presentation,
  167.             in ODBoolean    isSubframe,
  168.             in ODBoolean    isOverlaid);
  169.        
  170.     ODFrame AcquireFrame(in ODStorageUnitID id);
  171.     
  172.     void RemoveFrame(in ODFrame frame);
  173.     
  174.     ODPart CreatePart(in ODType partType,
  175.                         in ODEditor optionalEditor);
  176.     
  177.     ODPart AcquirePart(in ODStorageUnitID id);
  178.     
  179.     void ReleasePart(in ODPart part);
  180.     
  181.     void RemovePart(in ODPart part);
  182.     
  183.     ODLinkSpec CreateLinkSpec (in ODPart part, in ODByteArray data);
  184.  
  185.     ODLinkSource CreateLinkSource(in ODPart part);
  186.     
  187.     ODLinkSource AcquireLinkSource(in ODStorageUnitID id);
  188.     
  189.     ODLink AcquireLink(in ODStorageUnitID id,
  190.                     in ODLinkSpec linkSpec);
  191.     
  192.     void        RemoveLink(in ODLink link);
  193.     
  194.     void        RemoveLinkSource(in ODLinkSource link);
  195.     
  196.     ODPersistentObjectID    GetPersistentObjectID(in ODPersistentObject object,
  197.                                     in ODObjectType objectType);
  198.     
  199.     ODPersistentObject AcquirePersistentObject(in ODPersistentObjectID objectID,
  200.                                             out ODObjectType objectType);
  201.  
  202. #ifdef __PRIVATE__
  203.     
  204.     void InitDraft(in ODDocument document,
  205.                     in ODDraftID id,
  206.                     in ODDraftPermissions perms);
  207.  
  208.     void  ReleaseFrame(in ODFrame frame);
  209.     
  210.     void  ReleaseLink(in ODLink link);
  211.     
  212.     void  ReleaseLinkSource(in ODLinkSource link);
  213.  
  214.     ODDraft ReleaseStorageUnit(in ODStorageUnitID id);
  215.  
  216.     ODLinkIterator CreateLinkIterator();
  217.     
  218.     ODLinkSourceIterator CreateLinkSourceIterator();
  219.     
  220. #ifdef _PLATFORM_OS2_
  221.         ODLinkSourceIterator CreatePartLinkSourceIterator(in ODPart part);
  222.         ODLinkIterator CreatePartLinkIterator(in ODPart part);
  223. #endif
  224.  
  225.     ODPart ConstructRealPart(in ODStorageUnit su,
  226.                             in ODBoolean isInitPartFromStorage,
  227.                             in ODPartWrapper partWrapper,
  228.                             in ODType partType,
  229.                             in ODEditor optionalEditor);
  230.                             
  231.     void ReleaseRealPart(in ODPart part);
  232.  
  233.     void DeleteRealPart(in ODPart part);
  234.     
  235.     void SwapPart(in ODPart part);
  236.  
  237. #endif
  238.  
  239. #ifdef __SOMIDL__
  240.   implementation
  241.   {
  242.     majorversion = 1; minorversion = 0;
  243.       functionprefix = ODDraft;
  244.  
  245.     override:
  246.         somUninit,
  247.         Acquire,
  248.         Release;
  249.     releaseorder:
  250.         GetDocument,
  251.         GetID,
  252.         GetName,
  253.         SetName,
  254.         AcquireDraftProperties,
  255.         GetPermissions,
  256.         CreateStorageUnit,
  257.         AcquireStorageUnit,
  258.         RemoveStorageUnit,
  259.         BeginClone,
  260.         EndClone,
  261.         AbortClone,
  262.         Clone,
  263.         WeakClone,
  264.         ChangedFromPrev,
  265.         SetChangedFromPrev,
  266.         RemoveFromDocument,
  267.         RemoveChanges,
  268.         Externalize,
  269.         SaveToAPrevious,
  270.         CreateFrame,
  271.         AcquireFrame,
  272.         RemoveFrame,
  273.         CreatePart,
  274.         AcquirePart,
  275.         RemovePart,
  276.         CreateLinkSpec,
  277.         CreateLinkSource,
  278.         AcquireLinkSource,
  279.         AcquireLink,
  280.         RemoveLink,
  281.         RemoveLinkSource,
  282.         GetPersistentObjectID,
  283.         AcquirePersistentObject,
  284.         ReleasePart,
  285.         IsValidID,
  286. #ifdef __PRIVATE__
  287.         InitDraft,
  288.         ReleaseFrame,
  289.         ReleaseLink,
  290.         ReleaseLinkSource,
  291.         ReleaseStorageUnit,
  292.         CreateLinkIterator,
  293.         CreateLinkSourceIterator,
  294.         ConstructRealPart,
  295.         ReleaseRealPart,
  296.         DeleteRealPart,
  297. #ifdef _PLATFORM_OS2_
  298.                 SwapPart,
  299.                 CreatePartLinkSourceIterator,
  300.                 CreatePartLinkIterator;
  301. #else
  302.                 SwapPart;
  303. #endif
  304.  
  305. #else
  306.         reserved1,
  307.         reserved2,
  308.         reserved3,
  309.         reserved4,
  310.         reserved5,
  311.         reserved6,
  312.         reserved7,
  313.         reserved8,
  314.         reserved9,
  315.         reserved10,
  316. #ifdef _PLATFORM_OS2_
  317.     reserved11,
  318.     reserved12,
  319.     reserved13;
  320. #else
  321.     reserved11;
  322. #endif
  323.  
  324. #endif
  325. };
  326. #endif
  327. };
  328.  
  329. #endif  // _DRAFT_
  330.