home *** CD-ROM | disk | FTP | other *** search
- /*
- File: PfTLItr.cpp
-
- Contains: Implementation of class ODPlatformTypeListIterator.
-
- Owned by: Craig Carper
-
- Copyright: © 1994, 1995 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <2> 5/24/96 jpa 1246074: SOM_CATCH --> SOM_TRY..SOM_ENDTRY
-
- To Do:
- In Progress:
-
- */
-
- #define VARIABLE_MACROS
-
- #define ODPlatformTypeListIterator_Class_Source
- #include <PfTLItr.xih>
-
- #ifndef SOM_ODPlatformTypeList_xh
- #include <PfTypLs.xh>
- #endif
-
- #ifndef SOM_ODObject_xh
- #include <ODObject.xh>
- #endif
-
- #ifndef _ORDCOLL_
- #include <OrdColl.h>
- #endif
-
- #ifndef _EXCEPT_
- #include <Except.h>
- #endif
-
- #pragma segment ODPlatformTypeList
-
- //==============================================================================
- // Class ODPlatformTypeListIterator
- //==============================================================================
-
- //------------------------------------------------------------------------------
- // ODPlatformTypeListIterator: somUninit
- //------------------------------------------------------------------------------
-
- SOM_Scope void SOMLINK ODPlatformTypeListIteratorsomUninit(ODPlatformTypeListIterator *somSelf)
- {
- ODPlatformTypeListIteratorData *somThis = ODPlatformTypeListIteratorGetData(somSelf);
- ODPlatformTypeListIteratorMethodDebug("ODPlatformTypeListIterator","somUninit");
-
- delete _fIterator;
-
- parent_somUninit(somSelf);
- }
-
- //------------------------------------------------------------------------------
- // ODPlatformTypeListIterator: InitPlatformTypeListIterator
- //------------------------------------------------------------------------------
-
- SOM_Scope void SOMLINK ODPlatformTypeListIteratorInitPlatformTypeListIterator(ODPlatformTypeListIterator *somSelf, Environment *ev,
- ODPlatformTypeList* typeList)
- {
- ODPlatformTypeListIteratorData *somThis = ODPlatformTypeListIteratorGetData(somSelf);
- ODPlatformTypeListIteratorMethodDebug("ODPlatformTypeListIterator","ODPlatformTypeListIteratorInitPlatformTypeListIterator");
-
- SOM_TRY
-
- /* Moved from somInit. SOM itself sets fields to zero
- _fPlatformTypeList = kODNULL;
- _fIterator = kODNULL;
- _fFirstCalled = kODFalse;
- */
- somSelf->InitObject(ev);
-
- _fPlatformTypeList = typeList;
- OrderedCollection* ordColl = _fPlatformTypeList->GetImplementation(ev);
- _fIterator = ordColl->CreateIterator();
-
- THROW_IF_NULL(_fIterator);
-
- SOM_CATCH_ALL
- SOM_ENDTRY
- }
-
- //------------------------------------------------------------------------------
- // ODPlatformTypeListIterator: IsNotComplete
- //------------------------------------------------------------------------------
-
- SOM_Scope ODBoolean SOMLINK ODPlatformTypeListIteratorIsNotComplete(ODPlatformTypeListIterator *somSelf, Environment *ev)
- {
- ODPlatformTypeListIteratorData *somThis = ODPlatformTypeListIteratorGetData(somSelf);
- ODPlatformTypeListIteratorMethodDebug("ODPlatformTypeListIterator","IsNotComplete");
-
- ODBoolean isNotComplete = kODFalse;
-
- SOM_TRY
-
- if ( !_fFirstCalled )
- THROW(kODErrIteratorNotInitialized);
-
- isNotComplete = _fIterator->IsNotComplete();
-
- SOM_CATCH_ALL
- SOM_ENDTRY
-
- return isNotComplete;
- }
-
- //------------------------------------------------------------------------------
- // ODPlatformTypeListIterator: First
- //------------------------------------------------------------------------------
-
- SOM_Scope ODPlatformType SOMLINK ODPlatformTypeListIteratorFirst(ODPlatformTypeListIterator *somSelf, Environment *ev)
- {
- ODPlatformTypeListIteratorData *somThis = ODPlatformTypeListIteratorGetData(somSelf);
- ODPlatformTypeListIteratorMethodDebug("ODPlatformTypeListIterator","First");
-
- ODPlatformType platformType = (ODPlatformType) 0;
-
- SOM_TRY
-
- _fFirstCalled = kODTrue;
- platformType = (ODPlatformType) _fIterator->First();
-
- SOM_CATCH_ALL
- SOM_ENDTRY
-
- return platformType;
- }
-
- //------------------------------------------------------------------------------
- // ODPlatformTypeListIterator: Next
- //------------------------------------------------------------------------------
-
- SOM_Scope ODPlatformType SOMLINK ODPlatformTypeListIteratorNext(ODPlatformTypeListIterator *somSelf, Environment *ev)
- {
- ODPlatformTypeListIteratorData *somThis = ODPlatformTypeListIteratorGetData(somSelf);
- ODPlatformTypeListIteratorMethodDebug("ODPlatformTypeListIterator","Next");
-
- ODPlatformType platformType = (ODPlatformType) 0;
-
- SOM_TRY
-
- _fFirstCalled = kODTrue;
- platformType = (ODPlatformType) _fIterator->Next();
-
- SOM_CATCH_ALL
- SOM_ENDTRY
-
- return platformType;
- }
-