home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / IDL / LINK.IDL < prev    next >
Text File  |  1995-12-13  |  4KB  |  122 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 _LINK_
  17. #define _LINK_
  18.  
  19. #ifndef _LINKB_
  20. #include "LinkB.idl"
  21. #endif
  22.  
  23. #ifdef _PLATFORM_OS2_
  24.  #ifndef _IODDEFS_
  25.   #include <IODDefs.idl>
  26.  #endif
  27. #endif /*_PLATFORM_OS2_*/
  28.  
  29. //==============================================================================
  30. // Theory of Operation
  31. //==============================================================================
  32.  
  33. /*
  34.   This class is used to represent the destination side of OpenDoc links.
  35.   ODDrafts create and own these links. The source ODPart will ask the draft
  36.   to create an ODLinkSource and an ODLink pair, and return the ODLink
  37.   object to the the destination part.  The destination part uses the ODLink
  38.   object to extract the contents of the link.
  39. */
  40.  
  41. //==============================================================================
  42. // Classes defined in this interface
  43. //==============================================================================
  44.  
  45. interface  ODLink;
  46.  
  47. //==============================================================================
  48. // Classes used by this interface
  49. //==============================================================================
  50.  
  51. interface       ODStorageUnit;
  52. interface       ODLinkSource;
  53.  
  54.  
  55. //==============================================================================
  56. // ODLink
  57. //==============================================================================
  58.  
  59. // #ifdef _PLATFORM_MACINTOSH_
  60. #if defined(_PLATFORM_MACINTOSH_) || defined(_PLATFORM_OS2_)
  61.  
  62. interface ODLink : ODBaseLink
  63. {
  64.  #ifdef _PLATFORM_OS2_
  65.  
  66.        void SetDescription (in ODLinkDescription Desc);
  67.           // Called by target Part to set its description.
  68.  
  69.        void GetDescription (out ODLinkDescription Desc);
  70.           // Called by target Part to retrieve the description of itself.
  71.  
  72.        ODBoolean IsRegistered();
  73.           // Returns wether or not a this LinkTarget is register or not
  74.           // to receive automatic updates
  75.  
  76.  #endif /* _PLATFORM_OS2_ */
  77.  
  78. #ifdef __SOMIDL__
  79.         implementation
  80.         {
  81.                 functionprefix = ODLink;
  82.                 override:
  83.                         somInit,
  84.                         somUninit,
  85.                         Release,
  86.                         Externalize,
  87.                         ReleaseAll,
  88.                         CloneInto;
  89.  
  90.                 releaseorder:
  91.                 #ifdef _PLATFORM_OS2_
  92.                         SetDescription,
  93.                         GetDescription,
  94.                         IsRegistered,
  95.                 #endif /* _PLATFORM_OS2_ */
  96.                         reserved1,
  97.                         reserved2,
  98.                         reserved3,
  99.                         reserved4,
  100.                         reserved5,
  101.                         reserved6,
  102.                         reserved7,
  103.                         reserved8,
  104.                         reserved9;
  105.  
  106.                 majorversion = 1; minorversion = 0;
  107.  
  108.               passthru C_xh = ""
  109.                       "#ifdef _PLATFORM_OS2_"
  110.                       "#ifndef _ODTYPESB_"
  111.                         "#include <odtypesb.xh>"
  112.                       "#endif"
  113.                       "#endif"
  114.                       "";
  115.         };
  116. #endif
  117. };
  118.  
  119. #endif // _PLATFORM_MACINTOSH_
  120.  
  121. #endif // _LINK_
  122.