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

  1. /* @(#)Z 1.3 os2/src/storage/idl/ILSV2AS.idl, oddataxfer, od96os2, odos29712d 97/03/21 17:21:40 (96/08/23 01:43:34) */
  2. //#====START_GENERATED_PROLOG======================================
  3. //#
  4. //#
  5. //#   COMPONENT_NAME: oddataxfer
  6. //#
  7. //#   CLASSES: none
  8. //#
  9. //#   ORIGINS: 82,27
  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. /********************************************************************/
  30. /*                                                                  */
  31. /* Copyright (C) Apple Computer, Inc., 1994                         */
  32. /*                                                                  */
  33. /********************************************************************/
  34.  
  35. #ifndef _ILSVTOAS_
  36. #define _ILSVTOAS_
  37.  
  38. #include <somobj.idl>
  39. #include <odtypesb.idl>
  40. #include <IODDefs.idl>
  41.  
  42. interface IODAvailServerToLinkService;
  43. interface IODLinkTargetToLinkSource;
  44.  
  45. /*
  46.  * The LinkServiceToAvailServer interface describes calls from an open
  47.  * document's LinkService object to the Availability Server (AS).
  48.  */
  49.  
  50. interface IODLinkServiceToAvailServer : SOMObject
  51. {
  52.    IODDocumentID RegisterDoc(in IODFileName docPathName,
  53.                              in IODAvailServerToLinkService linkService);
  54.      // RegisterDoc is called when a new document is opened.
  55.  
  56.  
  57.    void UnregisterDoc(in IODDocumentID docID);
  58.      // UnregisterDoc is called when a document is destroyed.
  59.  
  60.    ODBoolean DocOpened(in  IODDocumentID docID,
  61.                        in  IODFileName docPathName,
  62.                        in  IODAvailServerToLinkService linkService,
  63.                        out IODFileName oldPathName);
  64.      // DocOpened is called when a document already registered with the AS
  65.      // is opened.  If the path name does not match the path name registered
  66.      // with that document id, then an exception is returned and the document
  67.      // is not opened.
  68.  
  69.    void DocClosed(in IODDocumentID docID);
  70.      // DocClosed is called when an opened document is closed.
  71.  
  72.    void DocMoved(in IODDocumentID docID,
  73.                  in IODFileName oldPathName,
  74.                  in IODFileName newPathName);
  75.      // DocMoved is called when a registered document's persistent storage
  76.      // changes from oldPathName to newPathName.
  77.  
  78.    ODLinkID RegisterLink(in IODDocumentID docID,
  79.                          in IODLinkTargetToLinkSource linkSrc);
  80.     // RegisterLink is called when a new LinkSource has been
  81.     // created in the document.  It provides a pointer to the LinkSource so
  82.     // the AS may forward calls to it.  The AS returns a unique (within the
  83.     // AS) ID for this LinkSource.  (LinkOpened need not be called).
  84.  
  85.    void LinkOpened(in ODLinkID linkID,
  86.                    in IODLinkTargetToLinkSource linkSrc,
  87.                    out IODAuxiliaryState* auxState,
  88.                    out ODBoolean isLocked);
  89.      // LinkOpened is called when an existing LinkSource is internalized in
  90.      // a document.  It provides a pointer to the LinkSource so
  91.      // the AS may forward calls to it.  The AS returns the current
  92.      // AuxiliaryState associated with this LinkSource, and whether some
  93.      // target currently holds a lock on this LinkSource ContentSU.
  94.  
  95.    void LinkClosed(in ODLinkID linkID,
  96.                    in IODAuxiliaryState* auxState);
  97.      // LinkClosed is called when a LinkSource is released in a document.
  98.      // It provides the current AuxiliaryState for this LinkSource.
  99.      // The AS will now process calls for this LinkSource.
  100.      // (Note that local LinkTargets will not have a reference any longer to
  101.      // the LinkSource object in the document.)
  102.  
  103.    void RemoveLink(in ODLinkID linkID);
  104.      // RemoveLink is called when a LinkSource is removed from a document.
  105.  
  106.   #ifdef __SOMIDL__
  107.     implementation {
  108.       releaseorder:
  109.         RegisterDoc,
  110.         UnregisterDoc,
  111.         DocOpened,
  112.         DocClosed,
  113.         DocMoved,
  114.         RegisterLink,
  115.         LinkOpened,
  116.         LinkClosed,
  117.         RemoveLink;
  118.     };
  119.   #endif //__SOMIDL__
  120. };
  121.  
  122. #endif //_ILSVTOAS_
  123.