home *** CD-ROM | disk | FTP | other *** search
- /*
- File: NmSpcItr.h
-
- Contains: Definition of XMPAbsValueIterator class
-
- Written by: Caia Grisar
-
- Copyright: ⌐ 1993 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <2> 1/29/94 NP XMPMethod changes.
- <1> 1/14/94 CG first checked in
- To Do:
- */
-
- #ifndef _NMSPCITR_
- #define _NMSPCITR_
-
- #ifndef _NAMSPACE_
- #include "NamSpace.h"
- #endif
-
-
- //==============================================================================
- // Classes defined in this interface
- //==============================================================================
-
- class XMPAbsValueIterator;
-
- //==============================================================================
- // XMPAbsValueIterator
- //
- // Both key and value are return by the iterator.
- //
- // This iterator is only meant to be used in the the context of a for loop,
- // e.g.:
- //
- // XMPAbsValueIterator iter;
- // for (iter.First(key, value);
- // iter.IsNotComplete();
- // iter.Next(key, value))
- // {
- // ...
- // }
- //
- //==============================================================================
-
- class XMPAbsValueIterator
- {
- public:
-
- XMPAbsValueIterator() {}
- // Subclass should have constructor:
- // XMPMacValueIterator(XMPAbsNameSpace* nameSpace);
- XMPVMethod ~XMPAbsValueIterator() {}
-
- /* If any of the 6 methods below is invoked does not match the
- XMPNSTypeSpec with which the XMPNameSpace was initialized,
- kXMPErrWrongType is thrown. Note that the keys and values
- returned are pointers to internal structure and are READ-ONLY */
-
- XMPVMethod void First(XMPISOStr* key, XMPPtr* value, XMPULong* valueLength)
- = 0;
- // XMPMethod void First(XMPOSType* key, XMPPtr* value)
- // = 0;
- // XMPMethod void First(XMPSLong* key, XMPPtr* value)
- // = 0;
- XMPVMethod void Next(XMPISOStr* key, XMPPtr* value, XMPULong* valueLength)
- = 0;
- // XMPMethod void Next(XMPOSType* key, XMPPtr* value)
- // = 0;
- // XMPMethod void Next(XMPSLong* key, XMPPtr* value)
- // = 0;
- XMPVMethod XMPBoolean IsNotComplete()
- = 0;
- };
-
- #ifndef _NMSPCITM_
- #include "NmSpcItM.h"
- #endif
-
- #endif // _NMSPCITR_
-