home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / LINKSRCB.IDL < prev    next >
Text File  |  1995-12-13  |  4KB  |  133 lines

  1. /********************************************************************/
  2. /*  Licensed Materials - Property of IBM                            */
  3. /*                                                                  */
  4. /*                                                                  */
  5. /* Copyright (C) International Business Machines Corp., 1994.       */
  6. /* Copyright (C) Apple Computer, Inc., 1994                         */
  7. /*                                                                  */
  8. /*  US Government Users Restricted Rights -                         */
  9. /*  Use, duplication, or disclosure restricted                      */
  10. /*  by GSA ADP Schedule Contract with IBM Corp.                     */
  11. /*                                                                  */
  12. /*                                                                  */
  13. /********************************************************************/
  14.  
  15.  
  16. #ifndef _LINKSRCB_
  17. #define _LINKSRCB_
  18.  
  19. #ifndef _PSTOBJ_
  20. #include "PstObj.idl"
  21. #endif
  22.  
  23. //==============================================================================
  24. // Theory of Operation
  25. //==============================================================================
  26.  
  27. /*
  28.   This class is used to represent the source side of OpenDoc links. ODDrafts
  29.   create and own these links. The source ODPart will ask the draft to create
  30.   an ODLinkSource and an ODLink pair, and return the ODLink object to the
  31.   the destination part.  The destination part uses the ODLink object to
  32.   extract the contents of the link.
  33. */
  34.  
  35. //==============================================================================
  36. // Classes defined in this interface
  37. //==============================================================================
  38.  
  39. interface  ODBaseLinkSource;
  40.  
  41. //==============================================================================
  42. // Classes used by this interface
  43. //==============================================================================
  44.  
  45. interface ODStorageUnit;
  46. interface ODPart;
  47. interface ODPartList;
  48. interface ODLink;
  49. interface ODDraft;
  50. interface ODFacet;
  51.  
  52.  
  53. //==============================================================================
  54. // ODBaseLinkSource
  55. //==============================================================================
  56.  
  57. interface ODBaseLinkSource :  ODPersistentObject
  58. {
  59.   ODBoolean Lock(in ODULong wait,
  60.           out ODLinkKey key);
  61.  
  62.   void Unlock(in ODLinkKey key);
  63.  
  64.   void Clear(in ODUpdateID id, in ODLinkKey key);
  65.  
  66.   ODStorageUnit GetContentStorageUnit(in ODLinkKey key);
  67.  
  68.   void ContentUpdated(in ODUpdateID id, in ODLinkKey key);
  69.  
  70.   void ShowSourceContent();
  71.  
  72. #ifdef _PLATFORM_MACINTOSH_
  73.   ODBoolean ShowLinkSourceInfo(
  74.           in ODFacet facet,
  75.           in ODUpdateID change,
  76.           in ODBoolean changesAllowed,
  77.           out ODLinkInfoResult infoResult);
  78. #endif
  79.  
  80.   ODUpdateID GetUpdateID();
  81.   ODTime GetChangeTime();
  82.   ODBoolean IsAutoUpdate();
  83.  
  84.   void SetAutoUpdate(in ODBoolean automatic);
  85.   void SetSourcePart(in ODStorageUnit sourcePartSU);
  86.  
  87.  
  88. #ifdef __SOMIDL__
  89.  
  90.   implementation
  91.   {
  92.   functionprefix = ODBaseLinkSource;
  93.   override:
  94.     somInit,
  95.     somUninit,
  96.     Externalize,
  97.     ReleaseAll,
  98.     CloneInto;
  99.  
  100.   releaseorder:
  101.     Lock,
  102.     Unlock,
  103.     Clear,
  104.     GetContentStorageUnit,
  105.     ContentUpdated,
  106.     GetUpdateID,
  107.     SetAutoUpdate,
  108.     IsAutoUpdate,
  109.     SetSourcePart,
  110.     ShowSourceContent,
  111.     GetChangeTime,
  112. #ifdef _PLATFORM_MACINTOSH_
  113.     ShowLinkSourceInfo,
  114. #endif
  115.     reserved1,
  116.     reserved2,
  117.     reserved3,
  118.     reserved4,
  119.     reserved5,
  120.     reserved6,
  121.     reserved7,
  122.     reserved8,
  123.     reserved9;
  124.  
  125.   majorversion = 1; minorversion = 0;
  126.  
  127.  
  128.   };
  129. #endif // __SOMIDL__
  130. };
  131.  
  132. #endif // _LINKSRCB_
  133.