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

  1. /* @(#)Z 1.12 com/src/storage/idl/LinkMgr.idl, oddataxfer, od96os2, odos29712d 97/03/21 17:20:09 (96/10/29 09:32:28) */
  2. //#====START_GENERATED_PROLOG======================================
  3. //#
  4. //#
  5. //#   COMPONENT_NAME: oddataxfer
  6. //#
  7. //#   CLASSES: none
  8. //#
  9. //#   ORIGINS: 82,27,94
  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:           LinkMgr.idl
  32. //#
  33. //#     Contains:       Link Manager Interface
  34. //#
  35. //#     Owned by:       Craig Carper
  36. //#
  37. //#     Copyright:      (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  38. //#
  39. //#     Change History (most recent first):
  40. //#
  41. //#             <19>      9/1/95        CC              1280818: CreateLink method made private.
  42. //#             <18>     8/29/95        DM              1221778, 1276165: add ShowLinkUpdate-
  43. //#                                                                     Alert(), SuspendResume(), and _fSuspended-
  44. //#                                                                     UpdateLinks to let LinkMgr show update
  45. //#                                                                     alerts. 1274606: private DeleteDraftInfos()
  46. //#                                                                     no longer needed after inlined in Uninit().
  47. //#             <17>     8/15/95        CC              1275241: IDL review.
  48. //#             <16>      8/3/95        RR              #1257260: Collapse B classes. Remove
  49. //#                                                                     somInit methods. Don't call IsInitialized
  50. //#                                                                     or SubclassResponsibility
  51. //#             <15>     7/25/95        CC              1212338: Declare private class
  52. //#                                                                     ODObjectCollection.
  53. //#             <14>     5/18/95        CC              1249197: Made InitLinkManager private.
  54. //#             <13>      3/7/95        CC              1224121: CreateLink() returns an
  55. //#                                                                     ODLinkSource object.
  56. //#             <12>      3/3/95        CC              1223667 ExportOnSave() returns previous
  57. //#                                                                     status as boolean result.
  58. //#                                                                     1224402 ExportOnSave() and DeleteOnSave()
  59. //#                                                                     made private to implementation.
  60. //#             <11>      2/1/95        CC              1153347: Added fNMResponseUPP and fNMRecPtr
  61. //#                                                                     fields.
  62. //#             <10>     1/19/95        CC              1210935, 1207937 Added DeleteOnSave()
  63. //#                                                                     method.
  64. //#              <9>    12/22/94        CC              1153780 Removed private method
  65. //#                                                                     NextGlobalID() (made static).
  66. //#              <8>    11/30/94        RR              #1188078 Use FSSpec, not ODFileSpec in
  67. //#                                                                     private methods
  68. //#              <7>     7/31/94        CC              Changed ODDocument parameters to ODDraft
  69. //#                                                                     since document properties have been
  70. //#                                                                     eliminated.
  71. //#              <6>     7/27/94        CC              Removed unused typedef somToken AppleEvent.
  72. //#              <5>     6/21/94        CC              Added functionprefix.
  73. //#              <4>     6/17/94        Te              Added C_xh passthru to #include
  74. //#                                                                     <Editions.h> for EditionContainerSpec.
  75. //#              <3>     6/10/94        CC              Eliminated heap parameter to
  76. //#                                                                     InitLinkManager().
  77. //#              <2>      6/9/94        CC              Added C_xh passthru to define class
  78. //#                                                                     OrderedCollection.
  79. //#              <1>      6/8/94        CG              first checked in
  80. //#              <7>      6/8/94        CC              Removed some private methods.
  81. //#              <6>      6/7/94        RR              Privatise change log
  82. //#              <5>      5/4/94        CC              Adjusted in/out/inout.
  83. //#
  84. //#     To Do:
  85. #else
  86. //#     Copyright:      (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  87. #endif
  88.  
  89. #ifndef _LINKMGR_
  90. #define _LINKMGR_
  91.  
  92. #ifndef _ODOBJECT_
  93. #include "ODObject.idl"
  94. #endif
  95.  
  96. #ifndef _STORAGEU_
  97. #include "StorageU.idl"
  98. #endif
  99.  
  100. //=====================================================================================
  101. // Classes defined in this interface
  102. //=====================================================================================
  103.  
  104. interface  ODLinkManager;
  105.  
  106. //=====================================================================================
  107. // Classes used by this interface
  108. //=====================================================================================
  109.  
  110. interface  ODSession;
  111. interface  ODDocument;
  112. interface  ODDraft;
  113. interface  ODLink;
  114. interface  ODLinkSource;
  115. interface  ODBaseLinkSource;
  116. interface  ODLinkSpec;
  117.  
  118. #ifdef __PRIVATE__
  119.  
  120. interface  ODBaseLinkSource;
  121.  
  122. //==============================================================================
  123. // Implementation types
  124. //==============================================================================
  125.  
  126. typedef somToken DraftInfo;
  127. typedef somToken ODRefCntCollection;
  128. typedef somToken OrderedCollection;
  129. typedef somToken ODObjectCollection;
  130. #ifdef _PLATFORM_MACINTOSH_
  131. typedef somToken NMUPP;
  132. typedef ODPtr NMRecPtr;
  133. #endif  //# _PLATFORM_MACINTOSH_
  134.  
  135. #endif //# __PRIVATE__
  136.  
  137. //=====================================================================================
  138. // ODLinkManager
  139. //=====================================================================================
  140.  
  141. interface ODLinkManager : ODObject
  142. {
  143. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
  144.  
  145.         ODULong NewSectionID(in ODDraft draft);
  146.  
  147.         ODBoolean ReserveSectionID(in ODULong sectionID,
  148.                                                                 in ODDraft draft);
  149.  
  150. #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_OS2_
  151.  
  152.         ODBoolean UnsavedExportedLinks(in ODDraft draft);
  153.  
  154.         ODBoolean AnyLinkImported(in ODDraft draft);
  155.  
  156.         void DraftOpened(in ODDraft draft);
  157.  
  158.         void DraftSaved(in ODDraft draft);
  159.  
  160.         void DraftClosing(in ODDraft draft);
  161.  
  162. #ifdef __PRIVATE__
  163.  
  164.         void InitLinkManager(in ODSession session);
  165.  
  166.         ODLinkSource CreateLink(in ODDraft draft,
  167.                                                         in ODLinkSpec linkSpec);
  168.  
  169.         ODBoolean ExportOnSave(in ODLink link, in ODBoolean doExport);
  170.  
  171.         ODBoolean DeleteOnSave(in ODLink link, in ODBoolean doDelete);
  172.  
  173.         //# Private to implementation
  174.  
  175.         void NewDraftInfo(in ODDraft draft);
  176.  
  177.         DraftInfo* GetDraftInfo(in ODDraft draft);
  178.  
  179.     ODLinkUpdateResult ShowLinkUpdateAlert(in ODBaseLinkSource link);
  180.  
  181. #ifdef _PLATFORM_MACINTOSH_
  182.     void SuspendResume(in ODEventData event);
  183. #endif // _PLATFORM_MACINTOSH_
  184.  
  185. #ifdef _PLATFORM_WIN32_
  186.  
  187.         ODLink FetchLink( in ODDraft draft, in char *pszItemName );
  188.  
  189. #endif //# _PLATFORM_WIN32_
  190. #endif //# __PRIVATE__
  191.  
  192. #ifdef __SOMIDL__
  193. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
  194. implementation
  195. {
  196.         majorversion = 1; minorversion = 0;
  197.  
  198.         functionprefix = ODLinkManager;
  199.  
  200.         override:
  201.                 somUninit;
  202.  
  203.         releaseorder:
  204.         #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
  205.                 NewSectionID,
  206.                 ReserveSectionID,
  207.         #else
  208.                 ReservedA,
  209.                 ReservedB,
  210.         #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_OS2_
  211.                 UnsavedExportedLinks,
  212.                 AnyLinkImported,
  213.                 DraftOpened,
  214.                 DraftSaved,
  215.                 DraftClosing,
  216.         #ifdef __PRIVATE__
  217.         #ifdef _PLATFORM_WIN32_
  218.                 FetchLink,
  219.         #else
  220.                 ReservedC,
  221.         #endif //# _PLATFORM_WIN32_
  222.                 InitLinkManager,
  223.                 CreateLink,
  224.                 ExportOnSave,
  225.                 DeleteOnSave,
  226.                 NewDraftInfo,
  227.                 GetDraftInfo,
  228. #ifdef _PLATFORM_MACINTOSH_
  229.                 ShowLinkUpdateAlert,
  230.                 SuspendResume;
  231. #else
  232.                 ShowLinkUpdateAlert,
  233.                 ReservedD;
  234. #endif // _PLATFORM_MACINTOSH_
  235.         #else
  236.                 reserved1,
  237.                 reserved2,
  238.                 reserved3,
  239.                 reserved4,
  240.                 reserved5,
  241.                 reserved6,
  242.                 reserved7,
  243.                 reserved8;
  244.         #endif
  245.  
  246.         #ifdef __PRIVATE__
  247.                 passthru C_xih = ""
  248.                                                 "#ifdef _PLATFORM_MACINTOSH_"
  249.                                                 "#ifndef __NOTIFICATION__"
  250.                                                 "#include <Notification.h>"
  251.                                                 "#endif"
  252.                                                 "#endif"
  253.                                                 "";
  254.                 passthru C_xh = ""
  255.                                                 "class OrderedCollection;"
  256.                                                 "class ODRefCntCollection;"
  257.                                                 "class ODObjectCollection;"
  258.                                                 "class DraftInfo;"
  259.                                                 "";
  260.                 ODRefCntCollection*     fSuspendedUpdateLinks;
  261.                 OrderedCollection*      fDraftInfos;
  262.         #ifdef _PLATFORM_MACINTOSH_
  263.                 NMUPP                           fNMResponseUPP;
  264.                 NMRecPtr                        fNMRecPtr;
  265.         #endif //# _PLATFORM_MACINTOSH_
  266.         #ifdef _PLATFORM_WIN32_
  267.                 ODSession                       fSession;
  268.         #endif //# _PLATFORM_WIN32_
  269.                 ODBoolean                       fInBackground;
  270.     #endif //# __PRIVATE__
  271. };
  272. #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_ or _PLATFORM_OS2_
  273. #endif //# __SOMIDL__
  274. };
  275.  
  276. #endif  // _LINKMGR_
  277.  
  278.