home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
iogrp.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-22
|
14KB
|
414 lines
/*
* This file was generated by the SOM Compiler.
* FileName: iogrp.h.
* Generated using:
* SOM Precompiler somipc: 2.29.1.17
* SOM Emitter emith: 2.47
*/
/*
* COMPONENT_NAME: somp
*
* ORIGINS: 27
*
*
* 25H7912 (C) COPYRIGHT International Business Machines Corp. 1992,1994,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.
*
*/
#ifndef SOM_SOMPIOGroup_h
#define SOM_SOMPIOGroup_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 SOMPIOGroup
#define SOMPIOGroup SOMObject
#endif
/*
* An IOGroup is a collection of objects which have been grouped
* together with the intention that they will be written/read to/from
* a storage media at the same time. For example, the group of objects
* could be stored in the same file.
*
* Objects are added, located and removed from the group via an integer
* key.
*/
#include <srkset.h>
/*
* Start of bindings for IDL types
*/
#ifndef SOMClass
#define SOMClass SOMObject
#endif /* SOMClass */
#ifndef SOMPPersistentId
#define SOMPPersistentId SOMObject
#endif /* SOMPPersistentId */
#ifndef SOMPPersistentObject
#define SOMPPersistentObject SOMObject
#endif /* SOMPPersistentObject */
#ifndef SOMPIteratorHandle
#define SOMPIteratorHandle SOMObject
#endif /* SOMPIteratorHandle */
typedef
long SOMPIOGroup_SOMPIOGroupKey;
#ifndef SOM_DONT_USE_SHORT_NAMES
#ifndef SOMTGD_SOMPIOGroupKey
#ifdef SOMPIOGroupKey
#undef SOMPIOGroupKey
#define SOMTGD_SOMPIOGroupKey 1
#else
#define SOMPIOGroupKey SOMPIOGroup_SOMPIOGroupKey
#endif /* SOMPIOGroupKey */
#endif /* SOMTGD_SOMPIOGroupKey */
#endif /* SOM_DONT_USE_SHORT_NAMES */
/*
* End of bindings for IDL types.
*/
#define SOMPIOGroup_MajorVersion 2
#define SOMPIOGroup_MinorVersion 1
/*
* External name shortening if required
*/
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMPIOGroupNewClass c
#pragma linkage(c, system)
#define SOMPIOGroupClassData d
#define SOMPIOGroupCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMPIOGroup_classObj SOMPIOGroupClassData.classObject
#define _SOMPIOGroup SOMPIOGroup_classObj
/*
* Declare the class creation procedure
*/
SOMEXTERN SOMClass * SOMLINK SOMPIOGroupNewClass(integer4 somtmajorVersion,
integer4 somtminorVersion);
#pragma linkage(SOMPIOGroupNewClass, system)
/*
* Declare the class data structure
*/
SOMEXTERN struct SOMPIOGroupClassDataStructure {
SOMClass *classObject;
somMToken sompGetLastOffset;
somMToken sompGetNextAvailableOffset;
somMToken sompSetLastOffset;
somMToken sompFindById;
somMToken sompSetGroupName;
somMToken sompGetGroupName;
somMToken sompCount;
somMToken sompFirst;
somMToken sompNewIterator;
somMToken sompNextObjectInGroup;
somMToken sompFreeIterator;
somMToken sompAddToGroup;
somMToken sompRemoveFromGroup;
somMToken sompFindByKey;
} SOMDLINK SOMPIOGroupClassData;
/*
* Declare the C specific class data structure
*/
SOMEXTERN struct SOMPIOGroupCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK SOMPIOGroupCClassData;
/*
* New and Renew macros for SOMPIOGroup
*/
#define SOMPIOGroupNew() \
( _SOMPIOGroup ? \
_somNew(_SOMPIOGroup) \
: ( SOMPIOGroupNewClass(\
SOMPIOGroup_MajorVersion, \
SOMPIOGroup_MinorVersion),\
_somNew(_SOMPIOGroup)))
#define SOMPIOGroupRenew(buf) \
( _SOMPIOGroup ? \
_somRenew(_SOMPIOGroup, buf) \
: ( SOMPIOGroupNewClass(\
SOMPIOGroup_MajorVersion, \
SOMPIOGroup_MinorVersion),\
_somRenew(_SOMPIOGroup, buf)))
/*
* Override method: somInit
*/
#define SOMPIOGroup_somInit(somSelf) \
SOMObject_somInit(somSelf)
/*
* Override method: somUninit
*/
#define SOMPIOGroup_somUninit(somSelf) \
SOMObject_somUninit(somSelf)
/*
* Override method: somDumpSelfInt
*/
#define SOMPIOGroup_somDumpSelfInt(somSelf,level) \
SOMObject_somDumpSelfInt(somSelf,level)
/*
* New Method: sompCount
*/
typedef long SOMLINK somTP_SOMPIOGroup_sompCount(SOMPIOGroup *somSelf, Environment *ev);
#pragma linkage(somTP_SOMPIOGroup_sompCount, system)
typedef somTP_SOMPIOGroup_sompCount *somTD_SOMPIOGroup_sompCount;
/*
* Returns the number of objects in this group
*/
#define somMD_SOMPIOGroup_sompCount "::SOMPIOGroup::sompCount"
#define SOMPIOGroup_sompCount(somSelf,ev) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompCount) \
(somSelf,ev))
#ifndef SOMGD_sompCount
#if (defined(_sompCount) || defined(__sompCount))
#undef _sompCount
#undef __sompCount
#define SOMGD_sompCount 1
#else
#define _sompCount SOMPIOGroup_sompCount
#endif /* _sompCount */
#endif /* SOMGD_sompCount */
/*
* New Method: sompFirst
*/
typedef SOMObject* SOMLINK somTP_SOMPIOGroup_sompFirst(SOMPIOGroup *somSelf, Environment *ev);
#pragma linkage(somTP_SOMPIOGroup_sompFirst, system)
typedef somTP_SOMPIOGroup_sompFirst *somTD_SOMPIOGroup_sompFirst;
/*
* Returns the first available object in the group. The object returned
* is not based on any ordering, it is simply the one closest at hand.
*/
#define somMD_SOMPIOGroup_sompFirst "::SOMPIOGroup::sompFirst"
#define SOMPIOGroup_sompFirst(somSelf,ev) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompFirst) \
(somSelf,ev))
#ifndef SOMGD_sompFirst
#if (defined(_sompFirst) || defined(__sompFirst))
#undef _sompFirst
#undef __sompFirst
#define SOMGD_sompFirst 1
#else
#define _sompFirst SOMPIOGroup_sompFirst
#endif /* _sompFirst */
#endif /* SOMGD_sompFirst */
/*
* New Method: sompNewIterator
*/
typedef SOMPIteratorHandle* SOMLINK somTP_SOMPIOGroup_sompNewIterator(SOMPIOGroup *somSelf, Environment *ev);
#pragma linkage(somTP_SOMPIOGroup_sompNewIterator, system)
typedef somTP_SOMPIOGroup_sompNewIterator *somTD_SOMPIOGroup_sompNewIterator;
/*
* Returns a handle which can be used with the sompNextObjectInGroup
* method of this class to iterate through all the objects contained
* by an instance of this class.
*/
#define somMD_SOMPIOGroup_sompNewIterator "::SOMPIOGroup::sompNewIterator"
#define SOMPIOGroup_sompNewIterator(somSelf,ev) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompNewIterator) \
(somSelf,ev))
#ifndef SOMGD_sompNewIterator
#if (defined(_sompNewIterator) || defined(__sompNewIterator))
#undef _sompNewIterator
#undef __sompNewIterator
#define SOMGD_sompNewIterator 1
#else
#define _sompNewIterator SOMPIOGroup_sompNewIterator
#endif /* _sompNewIterator */
#endif /* SOMGD_sompNewIterator */
/*
* New Method: sompNextObjectInGroup
*/
typedef SOMObject* SOMLINK somTP_SOMPIOGroup_sompNextObjectInGroup(SOMPIOGroup *somSelf, Environment *ev,
SOMPIteratorHandle* iteratorHandle);
#pragma linkage(somTP_SOMPIOGroup_sompNextObjectInGroup, system)
typedef somTP_SOMPIOGroup_sompNextObjectInGroup *somTD_SOMPIOGroup_sompNextObjectInGroup;
/*
* Return the next object in the group. If there are no more objects left,
* it returns NULL.
*
* Example use:
*
* hit = _sompNewIterator(myGroup)
* while (obj = _sompNextObjectInGroup(hit)) {
* ...
* use obj
* ...
* }
* _sompFreeIterator(hit);
*/
#define somMD_SOMPIOGroup_sompNextObjectInGroup "::SOMPIOGroup::sompNextObjectInGroup"
#define SOMPIOGroup_sompNextObjectInGroup(somSelf,ev,iteratorHandle) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompNextObjectInGroup) \
(somSelf,ev,iteratorHandle))
#ifndef SOMGD_sompNextObjectInGroup
#if (defined(_sompNextObjectInGroup) || defined(__sompNextObjectInGroup))
#undef _sompNextObjectInGroup
#undef __sompNextObjectInGroup
#define SOMGD_sompNextObjectInGroup 1
#else
#define _sompNextObjectInGroup SOMPIOGroup_sompNextObjectInGroup
#endif /* _sompNextObjectInGroup */
#endif /* SOMGD_sompNextObjectInGroup */
/*
* New Method: sompFreeIterator
*/
typedef void SOMLINK somTP_SOMPIOGroup_sompFreeIterator(SOMPIOGroup *somSelf, Environment *ev,
SOMPIteratorHandle* iteratorHandle);
#pragma linkage(somTP_SOMPIOGroup_sompFreeIterator, system)
typedef somTP_SOMPIOGroup_sompFreeIterator *somTD_SOMPIOGroup_sompFreeIterator;
/*
* Free the resources used by the given iterator.
*/
#define somMD_SOMPIOGroup_sompFreeIterator "::SOMPIOGroup::sompFreeIterator"
#define SOMPIOGroup_sompFreeIterator(somSelf,ev,iteratorHandle) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompFreeIterator) \
(somSelf,ev,iteratorHandle))
#ifndef SOMGD_sompFreeIterator
#if (defined(_sompFreeIterator) || defined(__sompFreeIterator))
#undef _sompFreeIterator
#undef __sompFreeIterator
#define SOMGD_sompFreeIterator 1
#else
#define _sompFreeIterator SOMPIOGroup_sompFreeIterator
#endif /* _sompFreeIterator */
#endif /* SOMGD_sompFreeIterator */
/*
* New Method: sompAddToGroup
*/
typedef void SOMLINK somTP_SOMPIOGroup_sompAddToGroup(SOMPIOGroup *somSelf, Environment *ev,
SOMObject* newObject,
SOMPIOGroup_SOMPIOGroupKey key);
#pragma linkage(somTP_SOMPIOGroup_sompAddToGroup, system)
typedef somTP_SOMPIOGroup_sompAddToGroup *somTD_SOMPIOGroup_sompAddToGroup;
/*
* Adds the given object to this group of objects. The given key for
* the new object must be unique among all the other objects in
* this group.
*/
#define somMD_SOMPIOGroup_sompAddToGroup "::SOMPIOGroup::sompAddToGroup"
#define SOMPIOGroup_sompAddToGroup(somSelf,ev,newObject,key) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompAddToGroup) \
(somSelf,ev,newObject,key))
#ifndef SOMGD_sompAddToGroup
#if (defined(_sompAddToGroup) || defined(__sompAddToGroup))
#undef _sompAddToGroup
#undef __sompAddToGroup
#define SOMGD_sompAddToGroup 1
#else
#define _sompAddToGroup SOMPIOGroup_sompAddToGroup
#endif /* _sompAddToGroup */
#endif /* SOMGD_sompAddToGroup */
/*
* New Method: sompRemoveFromGroup
*/
typedef SOMObject* SOMLINK somTP_SOMPIOGroup_sompRemoveFromGroup(SOMPIOGroup *somSelf, Environment *ev,
SOMPIOGroup_SOMPIOGroupKey key);
#pragma linkage(somTP_SOMPIOGroup_sompRemoveFromGroup, system)
typedef somTP_SOMPIOGroup_sompRemoveFromGroup *somTD_SOMPIOGroup_sompRemoveFromGroup;
/*
* Remove from the group and return the object with the given key value.
*/
#define somMD_SOMPIOGroup_sompRemoveFromGroup "::SOMPIOGroup::sompRemoveFromGroup"
#define SOMPIOGroup_sompRemoveFromGroup(somSelf,ev,key) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompRemoveFromGroup) \
(somSelf,ev,key))
#ifndef SOMGD_sompRemoveFromGroup
#if (defined(_sompRemoveFromGroup) || defined(__sompRemoveFromGroup))
#undef _sompRemoveFromGroup
#undef __sompRemoveFromGroup
#define SOMGD_sompRemoveFromGroup 1
#else
#define _sompRemoveFromGroup SOMPIOGroup_sompRemoveFromGroup
#endif /* _sompRemoveFromGroup */
#endif /* SOMGD_sompRemoveFromGroup */
/*
* New Method: sompFindByKey
*/
typedef SOMObject* SOMLINK somTP_SOMPIOGroup_sompFindByKey(SOMPIOGroup *somSelf, Environment *ev,
SOMPIOGroup_SOMPIOGroupKey key);
#pragma linkage(somTP_SOMPIOGroup_sompFindByKey, system)
typedef somTP_SOMPIOGroup_sompFindByKey *somTD_SOMPIOGroup_sompFindByKey;
/*
* Return the object with the given key value.
*/
#define somMD_SOMPIOGroup_sompFindByKey "::SOMPIOGroup::sompFindByKey"
#define SOMPIOGroup_sompFindByKey(somSelf,ev,key) \
(SOM_Resolve(somSelf, SOMPIOGroup, sompFindByKey) \
(somSelf,ev,key))
#ifndef SOMGD_sompFindByKey
#if (defined(_sompFindByKey) || defined(__sompFindByKey))
#undef _sompFindByKey
#undef __sompFindByKey
#define SOMGD_sompFindByKey 1
#else
#define _sompFindByKey SOMPIOGroup_sompFindByKey
#endif /* _sompFindByKey */
#endif /* SOMGD_sompFindByKey */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMPIOGroup_sompGetFirstObject SOMPKeyedSet_sompGetFirstObject
#define SOMPIOGroup_somDefaultInit SOMObject_somDefaultInit
#define SOMPIOGroup_somDestruct SOMObject_somDestruct
#define SOMPIOGroup_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMPIOGroup_somDefaultAssign SOMObject_somDefaultAssign
#define SOMPIOGroup_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMPIOGroup_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMPIOGroup_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMPIOGroup_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMPIOGroup_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMPIOGroup_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMPIOGroup_somFree SOMObject_somFree
#define SOMPIOGroup_somGetClass SOMObject_somGetClass
#define SOMPIOGroup_somGetClassName SOMObject_somGetClassName
#define SOMPIOGroup_somGetSize SOMObject_somGetSize
#define SOMPIOGroup_somIsA SOMObject_somIsA
#define SOMPIOGroup_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMPIOGroup_somRespondsTo SOMObject_somRespondsTo
#define SOMPIOGroup_somDispatch SOMObject_somDispatch
#define SOMPIOGroup_somClassDispatch SOMObject_somClassDispatch
#define SOMPIOGroup_somCastObj SOMObject_somCastObj
#define SOMPIOGroup_somResetObj SOMObject_somResetObj
#define SOMPIOGroup_somDispatchV SOMObject_somDispatchV
#define SOMPIOGroup_somDispatchL SOMObject_somDispatchL
#define SOMPIOGroup_somDispatchA SOMObject_somDispatchA
#define SOMPIOGroup_somDispatchD SOMObject_somDispatchD
#define SOMPIOGroup_somPrintSelf SOMObject_somPrintSelf
#define SOMPIOGroup_somDumpSelf SOMObject_somDumpSelf
#endif /* SOM_DONT_USE_INHERITED_MACROS */
#endif /* SOM_SOMPIOGroup_h */