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

  1. /* @(#)Z 1.6 com/src/bento/localidl/CMLkSItr.idl, odstorage, od96os2, odos29712d 97/03/21 17:20:05 (96/10/29 09:14:26) */
  2. //#====START_GENERATED_PROLOG======================================
  3. //#
  4. //#
  5. //#   COMPONENT_NAME: odstorage
  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. #ifdef __PRIVATE__
  30. //#
  31. //#     File:           CMLkSItr.idl
  32. //#
  33. //#     Contains:       Definition of CMLinkSourceIterator class.
  34. //#
  35. //#     Owned by:       Craig Carper
  36. //#
  37. //#     Copyright:      (r) 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  38. //#
  39. //#     Change History (most recent first):
  40. //#
  41. //#              <3>     8/15/95        CC              1275241: IDL review.
  42. //#              <2>      8/3/95        RR              #1257260: Collapse B classes. Remove
  43. //#                                                                     somInit methods. Don't call IsInitialized
  44. //#                                                                     or SubclassResponsibility
  45. //#              <1>     8/11/94        CC              first checked in
  46. //#
  47. //#     To Do:
  48. //#
  49. #else
  50. //#     Copyright:      (r) 1994 - 1995 by Apple Computer, Inc., all rights reserved.
  51. #endif
  52.  
  53. #ifndef _CMLKSITR_
  54. #define _CMLKSITR_
  55.  
  56. #ifndef _LKSRCITR_
  57. #include "LkSrcItr.idl"
  58. #endif
  59.  
  60. #ifdef __PRIVATE__
  61.  #ifdef _PLATFORM_OS2_
  62.   #ifndef _CMItrNode_
  63.     typedef somToken CMItrNode;
  64.   #endif
  65.  #endif /*_PLATFORM_OS2 */
  66. #endif /* PRIVATE */
  67.  
  68. //=====================================================================================
  69. // Classes defined in this interface
  70. //=====================================================================================
  71. interface  CMLinkSourceIterator;
  72.  
  73. #ifdef __PRIVATE__
  74.  
  75. //==============================================================================
  76. // Classes used by this interface
  77. //==============================================================================
  78.  
  79. interface   CMDraft;
  80. interface   ODLinkSource;
  81.  
  82. //==============================================================================
  83. // Implementation Types
  84. //==============================================================================
  85.  
  86. typedef somToken CMObject;
  87. typedef somToken CMContainer;
  88. typedef somToken CMProperty;
  89. typedef somToken CMType;
  90.  
  91. #endif //# __PRIVATE__
  92.  
  93. //=====================================================================================
  94. // Class CMLinkSourceIterator
  95. //=====================================================================================
  96.  
  97. interface CMLinkSourceIterator : ODLinkSourceIterator
  98. {
  99. #ifdef __PRIVATE__
  100.         void InitCMLinkSourceIterator(in CMDraft draft);
  101.   #ifdef _PLATFORM_OS2_
  102.         void Add(in ODStorageUnitID linkSourceSUID);
  103.         // Adds a link source storage unit id to a linked list.
  104.  
  105.         ODLinkSource AcquireFirst();
  106.         // Acquires and returns the first link source in the list,
  107.         // or kODNull if it is empty. It is the responsibility
  108.         // of the caller to later Release the link source.
  109.  
  110.         ODLinkSource AcquireNext();
  111.         // Acquires and returns the next link source in the list,
  112.         // or kODNull if there are no more link sources in the list.
  113.         // It is the responsibility  of the caller to later Release the link source.
  114.  #endif /* _PLATFORM_OS2_ */
  115. #endif
  116.  
  117. #ifdef __SOMIDL__
  118.         implementation
  119.         {
  120.                 majorversion = 1; minorversion = 0;
  121.  
  122.                 functionprefix = CMLinkSourceIterator;
  123.  
  124.                 override:
  125.                         somUninit,
  126.                         IsNotComplete,
  127.                         First,
  128.                         Next;
  129.  
  130.                 releaseorder:
  131.                 #ifdef __PRIVATE__
  132.                   #ifndef _PLATFORM_OS2_
  133.                     InitCMLinkSourceIterator;
  134.                   #else /* _PLATFORM_OS2_ */
  135.                     InitCMLinkSourceIterator,
  136.                     Add,
  137.                     AcquireFirst,
  138.                     AcquireNext;
  139.                   #endif /* _PLATFORM_OS2_ */
  140.                 #else
  141.                   #ifndef _PLATFORM_OS2_
  142.                     reserved1;
  143.                   #else /*_PLATFORM_OS2_*/
  144.                     reserved1,
  145.                     reserved2,
  146.                     reserved3,
  147.                     reserved4;
  148.                   #endif /* _PLATFORM_OS2_ */
  149.                 #endif
  150.  
  151.                 #ifdef __PRIVATE__
  152.  
  153.                         passthru C_xih =
  154.                                 ""
  155.                                 "#ifndef __CM_API__"
  156.                                 "#include <CMAPI.h>"
  157.                                 "#endif"
  158.                                 "";
  159.  
  160.                 #ifdef __PRIVATE__
  161.                   #ifdef _PLATFORM_OS2_
  162.                         CMItrNode* fCMItrList;
  163.                         CMItrNode* fCurrentNode;
  164.                   #endif /*_PLATFORM_OS2_*/
  165.                 #endif /*__PRIVATE__*/
  166.  
  167.                         CMDraft                 fDraft;
  168.                         ODLinkSource    fLinkSource;
  169.                         CMObject                fCurrent;
  170.                         CMContainer             fContainer;
  171.                         CMProperty              fProperty;
  172.                         CMType                  fType;
  173.                         ODULong                 fSize;
  174.                         ODPtr                   fBuffer;
  175.         #endif //# __PRIVATE__
  176.         };
  177. #endif //# __SOMIDL__
  178. };
  179.  
  180. #endif  // _CMLKSITR_
  181.