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

  1. /* @(#)Z 1.13 com/src/storage/idl/LinkB.idl, oddataxfer, od96os2, odos29712d 97/03/21 17:20:08 (96/10/28 13:40:44) */
  2.  
  3. //#====START_GENERATED_PROLOG======================================
  4. //#
  5. //#
  6. //#   COMPONENT_NAME: oddataxfer
  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:           LinkB.idl
  33. //#
  34. //#     Contains:       Base Link Interface
  35. //#
  36. //#     Owned by:       Craig Carper
  37. //#
  38. //#     Copyright:      (R) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  39. //#
  40. //#     Change History (most recent first):
  41. //#
  42. //#             <16>     8/15/95        CC              1275241: IDL review.
  43. //#             <15>      8/3/95        RR              #1257260: Collapse B classes. Remove
  44. //#                                                                     somInit methods. Don't call IsInitialized
  45. //#                                                                     or SubclassResponsibility
  46. //#             <14>     7/28/95        CC              1183569: Added SetBaseLinkDirty.
  47. //#             <13>     7/24/95        CC              1154714: Added fIterationInProgress and
  48. //#                                                                     fRestartIteration fields.
  49. //#                                                                     ODUpdateID parameter removed from private
  50. //#                                                                     method UpdateDependents.
  51. //#             <12>     5/25/95        VL              1251403: Multithreading naming support.
  52. //#             <11>      3/9/95        CC              1221471: Added changesAllowed parameter to
  53. //#                                                                     ShowLinkDestinationInfo().
  54. //#             <10>     1/19/95        CC              1193551 Removed GetLinkStatus().
  55. //#                                                                     1183569 Added fDirty flag.
  56. //#              <9>    12/16/94        CC              1203516 Removed ODLinkSource parameter from
  57. //#                                                                     InitBaseLink(); added SetLinkSource().
  58. //#              <8>     10/7/94        CC              1187047 - GetLinkSource() made public for
  59. //#                                                                     container suites.
  60. //#              <7>     9/20/94        CC              1185166 - KeyValid() is private.
  61. //#              <6>     9/15/94        CC              1186669 - Remove CloneTo(); Override
  62. //#                                                                     CloneInto().
  63. //#              <5>      9/7/94        CC              #1185114 - KeyValid() returns void not
  64. //#                                                                     ODBoolean.
  65. //#              <4>     8/12/94        CC              1180598 - Added ODFacet parameter to
  66. //#                                                                     ShowLinkDestinationInfo().
  67. //#              <3>     8/10/94        CC              1179943 - Moved in platform-independent
  68. //#                                                                     implementation from Link.
  69. //#              <2>     6/24/94        CC              Added functionprefix.
  70. //#              <1>      6/8/94        CG              first checked in
  71. //#              <3>      6/7/94        RR              Privatise change log
  72. //#              <2>      5/4/94        CC              Adjustments to in/out/inout;
  73. //#                                                                     UpdateDependents() made private.
  74. //#
  75. //#     To Do:
  76. //#
  77. #else
  78. //#     Copyright:      (R) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  79. #endif
  80.  
  81. #ifndef _LINKB_
  82. #define _LINKB_
  83.  
  84. #ifndef _PSTOBJ_
  85. #include "PstObj.idl"
  86. #endif
  87.  
  88. //==============================================================================
  89. // Classes defined in this interface
  90. //==============================================================================
  91.  
  92. interface  ODBaseLink;
  93.  
  94. //==============================================================================
  95. // Classes used by this interface
  96. //==============================================================================
  97.  
  98. interface       ODLinkSource;
  99. interface       ODStorageUnit;
  100. interface       ODPart;
  101. interface       ODDraft;
  102. interface       ODFacet;
  103.  
  104. #ifdef __PRIVATE__
  105.  
  106. //==============================================================================
  107. // Implementation types
  108. //==============================================================================
  109.  
  110. interface       ODPartList;
  111.  
  112. #endif //# __PRIVATE__
  113.  
  114. //==============================================================================
  115. // ODLink
  116. //==============================================================================
  117.  
  118. interface ODBaseLink :  ODPersistentObject
  119. {
  120.         ODBoolean Lock(in ODULong wait, out ODLinkKey key);
  121.  
  122.         void Unlock(in ODLinkKey key);
  123.  
  124.         ODStorageUnit GetContentStorageUnit(in ODLinkKey key);
  125.  
  126.         void RegisterDependent(in ODPart clientPart, in ODUpdateID id);
  127.  
  128.         void UnregisterDependent(in ODPart clientPart);
  129.  
  130.         ODUpdateID GetUpdateID();
  131.  
  132.         ODTime GetChangeTime();
  133.  
  134.         void ShowSourceContent();
  135.  
  136. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_AIX_) || defined (_PLATFORM_OS2_)
  137.  
  138.         ODBoolean ShowLinkDestinationInfo(
  139.                                         in ODFacet facet,
  140.                                         in ODLinkInfo info,
  141.                                         in ODBoolean changesAllowed,
  142.                                         out ODLinkInfoResult infoResult);
  143.  
  144. #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_
  145.  
  146. #ifdef _PLATFORM_OS2_
  147.     ODLinkSource GetLinkSource();
  148. #endif
  149.  
  150. #ifdef __PRIVATE__
  151.  
  152.         void InitBaseLink(in ODStorageUnit storageUnit);
  153.  
  154.         void InitBaseLinkFromStorage(in ODStorageUnit storageUnit);
  155.  
  156.         void SetLinkSource(in ODLinkSource linkSource);
  157.  
  158. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_AIX_)
  159.         ODLinkSource GetLinkSource();
  160. #endif
  161.  
  162. #ifdef _PLATFORM_OS2_
  163.         oneway void UpdateDependents(in ODUpdateID id);
  164. #else
  165.         void UpdateDependents();
  166. #endif
  167.  
  168.  
  169.  
  170.         void KeyValid(in ODLinkKey key);
  171.  
  172.         //# Private to implementation
  173.  
  174.         void SetBaseLinkDirty();
  175.  
  176. #endif //# __PRIVATE__
  177.  
  178. #ifdef __SOMIDL__
  179. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
  180.         implementation
  181.         {
  182.                 majorversion = 1; minorversion = 0;
  183.  
  184.                 functionprefix = ODBaseLink;
  185.  
  186.                 override:
  187.                         somUninit,
  188.                         Externalize,
  189.                         ReleaseAll,
  190.                         CloneInto;
  191.  
  192.                 releaseorder:
  193.                         Lock,
  194.                         Unlock,
  195.                         GetContentStorageUnit,
  196.                         RegisterDependent,
  197.                         UnregisterDependent,
  198.                         GetUpdateID,
  199.                         GetChangeTime,
  200.                         ShowSourceContent,
  201.                 #ifdef _PLATFORM_OS2_
  202.                         GetLinkSource,
  203.                 #endif
  204.                 #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_AIX_) || defined (_PLATFORM_OS2_)
  205.                         ShowLinkDestinationInfo,
  206.                 #endif
  207.                 #ifdef __PRIVATE__
  208.                         InitBaseLink,
  209.                         InitBaseLinkFromStorage,
  210.                         SetLinkSource,
  211.                 #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_AIX_)
  212.                         GetLinkSource,
  213.                 #endif
  214.                         UpdateDependents,
  215.                         KeyValid,
  216.                         SetBaseLinkDirty;
  217.                 #else
  218.                         reserved1,
  219.                         reserved2,
  220.                         reserved3,
  221.                         reserved4,
  222.                         reserved5,
  223.                         reserved6,
  224.                         reserved7;
  225.                 #endif
  226.  
  227.                 #ifdef __PRIVATE__
  228.                         ODPartList              fPartList;
  229.                         ODLinkSource    fLinkSource;
  230.                         ODBoolean               fDirty;
  231.                         ODBoolean               fIterationInProgress;
  232.                         ODBoolean               fRestartIteration;
  233.                 #ifdef _PLATFORM_OS2_
  234.                         HWND                    fhwndClient;
  235.                 #endif
  236.                 #endif
  237.         };
  238. #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_
  239. #endif //# __SOMIDL__
  240. };
  241.  
  242. #endif //# _LINKB_
  243.