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

  1. /* @(#)Z 1.13 com/src/storage/idl/LinkSrcB.idl, oddataxfer, od96os2, odos29712d 97/03/21 17:20:10 (96/10/28 13:40:48) */
  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:           LinkSrcB.idl
  33. //#
  34. //#     Contains:       Interface for Link Source base class
  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. //#             <20>      9/1/95        CC              1280823: ShowSourceContent made private.
  43. //#                                                                     1281035: GetLink made private.
  44. //#             <19>     8/29/95        DM              1221778, 1276165: add
  45. //#                                                                     LinkUpdateAlertCompleted, _fSuspendedID,
  46. //#                                                                     to let LinkMgr show update alerts.
  47. //#             <18>     8/15/95        CC              1275241: IDL review.
  48. //#             <17>      8/3/95        RR              #1257260: Collapse B classes. Remove
  49. //#                                                                     somInit methods. Don't call IsInitialized
  50. //#                                                                     or SubclassResponsibility
  51. //#             <16>     7/28/95        CC              1183569: Added SetBaseLinkSourceDirty
  52. //#                                                                     method.
  53. //#             <15>     6/12/95        CC              1255414: Added fCleared field.
  54. //#             <14>     5/25/95        VL              1251403: Multithreading naming support.
  55. //#             <13>     5/16/95        CC              1246729: Added private fKindsUsed field.
  56. //#             <12>     4/27/95        CC              1242550: Removed fContentChanged field.
  57. //#                                                                     Added fNewChangeID field.
  58. //#                                                                     Removed private method IsChanged.
  59. //#             <11>      3/9/95        CC              1221471: Added changesAllowed parameter to
  60. //#                                                                     ShowLinkSourceInfo().
  61. //#             <10>     1/19/95        CC               1183569 - Added fDirty flag.
  62. //#              <9>    12/16/94        CC              1203516 Removed ODLink parameter from
  63. //#                                                                     InitBaseLinkSource(); added SetLink().
  64. //#              <8>     10/7/94        CC              1160232 - Added fChangeLimit.
  65. //#              <7>     9/15/94        CC              1186669 - Remove CloneTo(); Override
  66. //#                                                                     CloneInto().
  67. //#              <6>      9/7/94        CC              #1185114 - KeyValid() returns void not
  68. //#                                                                     ODBoolean.
  69. //#              <5>     8/12/94        CC              1180598 - Added ODFacet parameter to
  70. //#                                                                     ShowLinkSourceInfo().
  71. //#              <4>     8/10/94        CC              1179943 - Moved in platform-independent
  72. //#                                                                     implementation from LinkSrc.
  73. //#              <3>      8/5/94        CC              #1179160 - ContentChanged() takes ODLinkKey
  74. //#                                                                     parameter.
  75. //#              <2>     6/24/94        CC              Added functionprefix.
  76. //#              <1>      6/8/94        CG              first checked in
  77. //#              <3>      6/7/94        RR              Privatise change log
  78. //#              <2>      5/4/94        CC              Adjustments to in/out/inout.
  79. //#
  80. //#     To Do:
  81. //#
  82. #else
  83. //#     Copyright:      (r) 1993 - 1995 by Apple Computer, Inc., all rights reserved.
  84. #endif
  85.  
  86. #ifndef _LINKSRCB_
  87. #define _LINKSRCB_
  88.  
  89. #ifndef _PSTOBJ_
  90. #include "PstObj.idl"
  91. #endif
  92.  
  93. //==============================================================================
  94. // Classes defined in this interface
  95. //==============================================================================
  96.  
  97. interface  ODBaseLinkSource;
  98.  
  99. //==============================================================================
  100. // Classes used by this interface
  101. //==============================================================================
  102.  
  103. interface ODStorageUnit;
  104. interface ODPart;
  105. interface ODPartList;
  106. interface ODLink;
  107. interface ODDraft;
  108. interface ODFacet;
  109.  
  110. #ifdef __PRIVATE__
  111.  
  112. //==============================================================================
  113. // Implementation types
  114. //==============================================================================
  115.  
  116. interface ODTypeList;
  117.  
  118. #endif //# __PRIVATE__
  119.  
  120. //==============================================================================
  121. // ODBaseLinkSource
  122. //==============================================================================
  123.  
  124. interface ODBaseLinkSource :  ODPersistentObject
  125. {
  126.         ODBoolean Lock(in ODULong wait,
  127.                                         out ODLinkKey key);
  128.  
  129.         void Unlock(in ODLinkKey key);
  130.  
  131.         void Clear(in ODUpdateID id, in ODLinkKey key);
  132.  
  133.         ODStorageUnit GetContentStorageUnit(in ODLinkKey key);
  134.  
  135.         void ContentUpdated(in ODUpdateID id, in ODLinkKey key);
  136.  
  137. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_AIX_) || defined(_PLATFORM_OS2_)
  138.  
  139.         ODBoolean ShowLinkSourceInfo(
  140.                                         in ODFacet facet,
  141.                                         in ODUpdateID change,
  142.                                         in ODBoolean changesAllowed,
  143.                                         out ODLinkInfoResult infoResult);
  144.  
  145. #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_
  146.  
  147.         //#---------------------------------
  148.         //# Getters
  149.  
  150.         ODUpdateID GetUpdateID();
  151.         ODTime GetChangeTime();
  152.         ODBoolean IsAutoUpdate();
  153.  
  154.         //#---------------------------------
  155.         //# Setters
  156.  
  157.         void SetAutoUpdate(in ODBoolean automatic);
  158.         void SetSourcePart(in ODStorageUnit sourcePartSU);
  159.  
  160. #ifdef __PRIVATE__
  161.  
  162.         void InitBaseLinkSource(in ODStorageUnit storageUnit,
  163.                                                         in ODPart sourcePart);
  164.  
  165.         void InitBaseLinkSourceFromStorage(in ODStorageUnit storageUnit);
  166.  
  167.         void SetLink(in ODLink link);
  168.         ODLink GetLink();
  169.  
  170.         void KeyValid(in ODLinkKey key);
  171.  
  172.         void ShowSourceContent();
  173.  
  174.         void LinkUpdateAlertCompleted(in ODLinkUpdateResult updateResult);
  175.  
  176.         //#---------------------------------
  177.         //# Getters & Setters for subclasses only
  178.  
  179.         void SetChangeTime(in ODTime changeTime, in ODLinkKey key);
  180.         void SetUpdateID(in ODUpdateID changeID, in ODLinkKey key);
  181.         ODStorageUnit AcquireSourcePart();
  182.  
  183.         //# Private to implementation
  184.  
  185.         void SetBaseLinkSourceDirty(in ODULong dirtyProperty);
  186.  
  187. #ifdef _PLATFORM_OS2_
  188.         ODBoolean GetUpdateContinue();
  189. #endif
  190.  
  191. #endif //# __PRIVATE__
  192.  
  193. #ifdef __SOMIDL__
  194. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_WIN32_) || defined(_PLATFORM_OS2_) || defined(_PLATFORM_AIX_)
  195.         implementation
  196.         {
  197.                 majorversion = 1; minorversion = 0;
  198.  
  199.                 functionprefix = ODBaseLinkSource;
  200.  
  201.                 override:
  202.                         somInit,
  203.                         somUninit,
  204.                         Externalize,
  205.                         ReleaseAll,
  206.                         CloneInto;
  207.  
  208.                 releaseorder:
  209.                         Lock,
  210.                         Unlock,
  211.                         Clear,
  212.                         GetContentStorageUnit,
  213.                         ContentUpdated,
  214.                         GetUpdateID,
  215.                         SetAutoUpdate,
  216.                         IsAutoUpdate,
  217.                         SetSourcePart,
  218.                         GetChangeTime,
  219.                         ShowLinkSourceInfo,
  220.                 #ifdef __PRIVATE__
  221.                         InitBaseLinkSource,
  222.                         InitBaseLinkSourceFromStorage,
  223.                         SetLink,
  224.                         GetLink,
  225.                         KeyValid,
  226.                         ShowSourceContent,
  227.                         LinkUpdateAlertCompleted,
  228.                         SetChangeTime,
  229.                         SetUpdateID,
  230.                         AcquireSourcePart,
  231. #ifdef _PLATFORM_OS2_
  232.                         SetBaseLinkSourceDirty,
  233.                         GetUpdateContinue;
  234. #else
  235.                         SetBaseLinkSourceDirty;
  236. #endif
  237.                 #else
  238.                         reserved1,
  239.                         reserved2,
  240.                         reserved3,
  241.                         reserved4,
  242.                         reserved5,
  243.                         reserved6,
  244.                         reserved7,
  245.                         reserved8,
  246.                         reserved9,
  247.                         reserved10,
  248.                         reserved11;
  249.                 #endif
  250.  
  251.                 #ifdef __PRIVATE__
  252.                         ODStorageUnit   fContentSU;
  253.                         ODUpdateID              fNewUpdateID;
  254.                         ODUpdateID              fUpdateID;
  255.                         ODTime                  fChangeTime;
  256.                         ODULong                 fChangeCount;
  257.                         ODULong                 fChangeLimit;
  258.                         ODBoolean               fAutoUpdate;
  259.                         ODBoolean               fSuspended;
  260.                         ODBoolean               fUpdatedAfterSuspended;
  261.                         ODLink                  fLink;
  262.                         ODStorageUnit   fSourcePartSU;
  263.                         ODULong                 fDirty;
  264.                         ODUShort                fUpdateModel;
  265.                         ODTypeList              fKindsUsed;
  266.                         ODBoolean               fCleared;
  267. #ifdef _PLATFORM_OS2_
  268.                         ODBoolean               fUpdateContinue;
  269. #endif
  270.                 #endif //# __PRIVATE__
  271.         };
  272. #endif //# _PLATFORM_MACINTOSH_ or _PLATFORM_WIN32_ or _PLATFORM_OS2_
  273. #endif //# __SOMIDL__
  274. };
  275.  
  276. #endif //# _LINKSRCB_
  277.