home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
titeratr.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-22
|
9KB
|
261 lines
/*
* This file was generated by the SOM Compiler.
* FileName: titeratr.h.
* Generated using:
* SOM Precompiler somipc: 2.29.1.17
* SOM Emitter emith: 2.47
*/
/*
* COMPONENT_NAME: somuc
*
* ORIGINS: 82, 81, 27
*
*
* 25H7912 (C) COPYRIGHT International Business Machines Corp. 1992,1996,1996
* All Rights Reserved
* Licensed Materials - Property of IBM
* US Government Users Restricted Rights - Use, duplication or
* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
*
* Copyright ⌐ 1988-92 Apple Computer, Inc. All rights reserved.
*
* CLASS_NAME: somf_TIterator
*
* DESCRIPTION: All of the Utility Classes have corresponding iterator
* classes. An iterator for a particular object will iterate over
* all of the objects in a class. somf_TIterator is the
* Abstract base class for all iterators.
*
* This file was generated by the SOM Compiler.
* FileName: TIteratr.id2.
* Generated using:
* SOM Precompiler spc: 6.13
* SOM Emitter emitidl.dll: 6.18
*/
#ifndef SOM_somf_TIterator_h
#define SOM_somf_TIterator_h
/*
* Passthru lines: File: "C.h", "before"
*/
#include <mcollect.h>
#include <som.h>
/*
* -- This emitter treats Method Tokens as Thunks by default.
* -- Use the sc modifier "nothunks" to change this default
*/
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
/*
* Define the class name as an object type
*/
#ifndef somf_TIterator
#define somf_TIterator SOMObject
#endif
#include <somobj.h>
/*
* Start of bindings for IDL types
*/
#ifndef SOMClass
#define SOMClass SOMObject
#endif /* SOMClass */
#ifndef somf_MCollectible
#define somf_MCollectible SOMObject
#endif /* somf_MCollectible */
#define somf_TIterator_kIteratorOutOfSync 900 /* 0x384 */
#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_kIteratorOutOfSync
#ifdef kIteratorOutOfSync
#undef kIteratorOutOfSync
#define SOMTGD_kIteratorOutOfSync 1
#else
#define kIteratorOutOfSync somf_TIterator_kIteratorOutOfSync
#endif /* kIteratorOutOfSync */
#endif /* SOMTGD_kIteratorOutOfSync */
#endif /* SOM_DONT_USE_SHORT_NAMES */
/*
* End of bindings for IDL types.
*/
#define somf_TIterator_MajorVersion 2
#define somf_TIterator_MinorVersion 1
/*
* External name shortening if required
*/
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define somf_TIteratorNewClass c
#pragma linkage(c, system)
#define somf_TIteratorClassData d
#define somf_TIteratorCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define somf_TIterator_classObj somf_TIteratorClassData.classObject
#define _somf_TIterator somf_TIterator_classObj
/*
* Declare the class creation procedure
*/
SOMEXTERN SOMClass * SOMLINK somf_TIteratorNewClass(integer4 somtmajorVersion,
integer4 somtminorVersion);
#pragma linkage(somf_TIteratorNewClass, system)
/*
* Declare the class data structure
*/
SOMEXTERN struct somf_TIteratorClassDataStructure {
SOMClass *classObject;
somMToken somfNext;
somMToken somfFirst;
somMToken somfRemove;
} SOMDLINK somf_TIteratorClassData;
/*
* Declare the C specific class data structure
*/
SOMEXTERN struct somf_TIteratorCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK somf_TIteratorCClassData;
/*
* New and Renew macros for somf_TIterator
*/
#define somf_TIteratorNew() \
( _somf_TIterator ? \
_somNew(_somf_TIterator) \
: ( somf_TIteratorNewClass(\
somf_TIterator_MajorVersion, \
somf_TIterator_MinorVersion),\
_somNew(_somf_TIterator)))
#define somf_TIteratorRenew(buf) \
( _somf_TIterator ? \
_somRenew(_somf_TIterator, buf) \
: ( somf_TIteratorNewClass(\
somf_TIterator_MajorVersion, \
somf_TIterator_MinorVersion),\
_somRenew(_somf_TIterator, buf)))
/*
* New Method: somfNext
*/
typedef somf_MCollectible* SOMLINK somTP_somf_TIterator_somfNext(somf_TIterator *somSelf, Environment *ev);
#pragma linkage(somTP_somf_TIterator_somfNext, system)
typedef somTP_somf_TIterator_somfNext *somTD_somf_TIterator_somfNext;
/*
* Retrieve the next object in the collection and return it. The order that
* objects are retrieved is in an order that reflects the "ordered-ness"
* of the collection (or the lack of ordering on the collection elements).
* If the collection has changed since the last time somfFirst was called,
* this method will FAIL.
*/
#define somMD_somf_TIterator_somfNext "::somf_TIterator::somfNext"
#define somf_TIterator_somfNext(somSelf,ev) \
(SOM_Resolve(somSelf, somf_TIterator, somfNext) \
(somSelf,ev))
#ifndef SOMGD_somfNext
#if (defined(_somfNext) || defined(__somfNext))
#undef _somfNext
#undef __somfNext
#define SOMGD_somfNext 1
#else
#define _somfNext somf_TIterator_somfNext
#endif /* _somfNext */
#endif /* SOMGD_somfNext */
/*
* New Method: somfFirst
*/
typedef somf_MCollectible* SOMLINK somTP_somf_TIterator_somfFirst(somf_TIterator *somSelf, Environment *ev);
#pragma linkage(somTP_somf_TIterator_somfFirst, system)
typedef somTP_somf_TIterator_somfFirst *somTD_somf_TIterator_somfFirst;
/*
* Reset the iterator and return the first element of the collection. This
* resyncs the iterator to the collection if other operations on the
* collection caused the iterator to be invalidated.
*/
#define somMD_somf_TIterator_somfFirst "::somf_TIterator::somfFirst"
#define somf_TIterator_somfFirst(somSelf,ev) \
(SOM_Resolve(somSelf, somf_TIterator, somfFirst) \
(somSelf,ev))
#ifndef SOMGD_somfFirst
#if (defined(_somfFirst) || defined(__somfFirst))
#undef _somfFirst
#undef __somfFirst
#define SOMGD_somfFirst 1
#else
#define _somfFirst somf_TIterator_somfFirst
#endif /* _somfFirst */
#endif /* SOMGD_somfFirst */
/*
* New Method: somfRemove
*/
typedef void SOMLINK somTP_somf_TIterator_somfRemove(somf_TIterator *somSelf, Environment *ev);
#pragma linkage(somTP_somf_TIterator_somfRemove, system)
typedef somTP_somf_TIterator_somfRemove *somTD_somf_TIterator_somfRemove;
/*
* Remove the current object, the one just returned by First or Next,
* from the Collection.
*/
#define somMD_somf_TIterator_somfRemove "::somf_TIterator::somfRemove"
#define somf_TIterator_somfRemove(somSelf,ev) \
(SOM_Resolve(somSelf, somf_TIterator, somfRemove) \
(somSelf,ev))
#ifndef SOMGD_somfRemove
#if (defined(_somfRemove) || defined(__somfRemove))
#undef _somfRemove
#undef __somfRemove
#define SOMGD_somfRemove 1
#else
#define _somfRemove somf_TIterator_somfRemove
#endif /* _somfRemove */
#endif /* SOMGD_somfRemove */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define somf_TIterator_somDefaultInit SOMObject_somDefaultInit
#define somf_TIterator_somDestruct SOMObject_somDestruct
#define somf_TIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define somf_TIterator_somDefaultAssign SOMObject_somDefaultAssign
#define somf_TIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define somf_TIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define somf_TIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define somf_TIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define somf_TIterator_somDefaultVAssign SOMObject_somDefaultVAssign
#define somf_TIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define somf_TIterator_somInit SOMObject_somInit
#define somf_TIterator_somFree SOMObject_somFree
#define somf_TIterator_somUninit SOMObject_somUninit
#define somf_TIterator_somGetClass SOMObject_somGetClass
#define somf_TIterator_somGetClassName SOMObject_somGetClassName
#define somf_TIterator_somGetSize SOMObject_somGetSize
#define somf_TIterator_somIsA SOMObject_somIsA
#define somf_TIterator_somIsInstanceOf SOMObject_somIsInstanceOf
#define somf_TIterator_somRespondsTo SOMObject_somRespondsTo
#define somf_TIterator_somDispatch SOMObject_somDispatch
#define somf_TIterator_somClassDispatch SOMObject_somClassDispatch
#define somf_TIterator_somCastObj SOMObject_somCastObj
#define somf_TIterator_somResetObj SOMObject_somResetObj
#define somf_TIterator_somDispatchV SOMObject_somDispatchV
#define somf_TIterator_somDispatchL SOMObject_somDispatchL
#define somf_TIterator_somDispatchA SOMObject_somDispatchA
#define somf_TIterator_somDispatchD SOMObject_somDispatchD
#define somf_TIterator_somPrintSelf SOMObject_somPrintSelf
#define somf_TIterator_somDumpSelf SOMObject_somDumpSelf
#define somf_TIterator_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */
#endif /* SOM_somf_TIterator_h */