home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
tolkit45.zip
/
os2tk45
/
som
/
include
/
nameable.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-02-22
|
7KB
|
211 lines
/*
* This file was generated by the SOM Compiler.
* FileName: nameable.h.
* Generated using:
* SOM Precompiler somipc: 2.29.1.17
* SOM Emitter emith: 2.47
*/
/*
* COMPONENT_NAME: somr
*
* ORIGINS: 27
*
*
* 10H9767, 10H9769 (C) COPYRIGHT International Business Machines Corp. 1992,1994
* 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_SOMRNameable_h
#define SOM_SOMRNameable_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 SOMRNameable
#define SOMRNameable SOMObject
#endif
/*
* Any object derived from this class would have a string name.
*/
#include <somobj.h>
/*
* Start of bindings for IDL types
*/
#ifndef SOMClass
#define SOMClass SOMObject
#endif /* SOMClass */
/*
* End of bindings for IDL types.
*/
#define SOMRNameable_MajorVersion 2
#define SOMRNameable_MinorVersion 1
/*
* External name shortening if required
*/
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define SOMRNameableNewClass c
#pragma linkage(c, system)
#define SOMRNameableClassData d
#define SOMRNameableCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define SOMRNameable_classObj SOMRNameableClassData.classObject
#define _SOMRNameable SOMRNameable_classObj
/*
* Declare the class creation procedure
*/
SOMEXTERN SOMClass * SOMLINK SOMRNameableNewClass(integer4 somtmajorVersion,
integer4 somtminorVersion);
#pragma linkage(SOMRNameableNewClass, system)
/*
* Declare the class data structure
*/
SOMEXTERN struct SOMRNameableClassDataStructure {
SOMClass *classObject;
somMToken somrSetObjName;
somMToken somrGetObjName;
} SOMDLINK SOMRNameableClassData;
/*
* Declare the C specific class data structure
*/
SOMEXTERN struct SOMRNameableCClassDataStructure {
somMethodTabs parentMtab;
somDToken instanceDataToken;
} SOMDLINK SOMRNameableCClassData;
/*
* New and Renew macros for SOMRNameable
*/
#define SOMRNameableNew() \
( _SOMRNameable ? \
_somNew(_SOMRNameable) \
: ( SOMRNameableNewClass(\
SOMRNameable_MajorVersion, \
SOMRNameable_MinorVersion),\
_somNew(_SOMRNameable)))
#define SOMRNameableRenew(buf) \
( _SOMRNameable ? \
_somRenew(_SOMRNameable, buf) \
: ( SOMRNameableNewClass(\
SOMRNameable_MajorVersion, \
SOMRNameable_MinorVersion),\
_somRenew(_SOMRNameable, buf)))
/*
* Override method: somInit
*/
#define SOMRNameable_somInit(somSelf) \
SOMObject_somInit(somSelf)
/*
* Override method: somUninit
*/
#define SOMRNameable_somUninit(somSelf) \
SOMObject_somUninit(somSelf)
/*
* New Method: somrSetObjName
*/
typedef void SOMLINK somTP_SOMRNameable_somrSetObjName(SOMRNameable *somSelf, Environment *ev,
string name);
#pragma linkage(somTP_SOMRNameable_somrSetObjName, system)
typedef somTP_SOMRNameable_somrSetObjName *somTD_SOMRNameable_somrSetObjName;
/*
* Sets the internal pointer to "name" .
* The OWNERSHIP of the string is transferred to this object.
*/
#define somMD_SOMRNameable_somrSetObjName "::SOMRNameable::somrSetObjName"
#define SOMRNameable_somrSetObjName(somSelf,ev,name) \
(SOM_Resolve(somSelf, SOMRNameable, somrSetObjName) \
(somSelf,ev,name))
#ifndef SOMGD_somrSetObjName
#if (defined(_somrSetObjName) || defined(__somrSetObjName))
#undef _somrSetObjName
#undef __somrSetObjName
#define SOMGD_somrSetObjName 1
#else
#define _somrSetObjName SOMRNameable_somrSetObjName
#endif /* _somrSetObjName */
#endif /* SOMGD_somrSetObjName */
/*
* New Method: somrGetObjName
*/
typedef string SOMLINK somTP_SOMRNameable_somrGetObjName(SOMRNameable *somSelf, Environment *ev);
#pragma linkage(somTP_SOMRNameable_somrGetObjName, system)
typedef somTP_SOMRNameable_somrGetObjName *somTD_SOMRNameable_somrGetObjName;
/*
* Returns a pointer to the name string.
* The OWNERSHIP of the string stays with this object.
*/
#define somMD_SOMRNameable_somrGetObjName "::SOMRNameable::somrGetObjName"
#define SOMRNameable_somrGetObjName(somSelf,ev) \
(SOM_Resolve(somSelf, SOMRNameable, somrGetObjName) \
(somSelf,ev))
#ifndef SOMGD_somrGetObjName
#if (defined(_somrGetObjName) || defined(__somrGetObjName))
#undef _somrGetObjName
#undef __somrGetObjName
#define SOMGD_somrGetObjName 1
#else
#define _somrGetObjName SOMRNameable_somrGetObjName
#endif /* _somrGetObjName */
#endif /* SOMGD_somrGetObjName */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define SOMRNameable_somDefaultInit SOMObject_somDefaultInit
#define SOMRNameable_somDestruct SOMObject_somDestruct
#define SOMRNameable_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define SOMRNameable_somDefaultAssign SOMObject_somDefaultAssign
#define SOMRNameable_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define SOMRNameable_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define SOMRNameable_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define SOMRNameable_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define SOMRNameable_somDefaultVAssign SOMObject_somDefaultVAssign
#define SOMRNameable_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define SOMRNameable_somFree SOMObject_somFree
#define SOMRNameable_somGetClass SOMObject_somGetClass
#define SOMRNameable_somGetClassName SOMObject_somGetClassName
#define SOMRNameable_somGetSize SOMObject_somGetSize
#define SOMRNameable_somIsA SOMObject_somIsA
#define SOMRNameable_somIsInstanceOf SOMObject_somIsInstanceOf
#define SOMRNameable_somRespondsTo SOMObject_somRespondsTo
#define SOMRNameable_somDispatch SOMObject_somDispatch
#define SOMRNameable_somClassDispatch SOMObject_somClassDispatch
#define SOMRNameable_somCastObj SOMObject_somCastObj
#define SOMRNameable_somResetObj SOMObject_somResetObj
#define SOMRNameable_somDispatchV SOMObject_somDispatchV
#define SOMRNameable_somDispatchL SOMObject_somDispatchL
#define SOMRNameable_somDispatchA SOMObject_somDispatchA
#define SOMRNameable_somDispatchD SOMObject_somDispatchD
#define SOMRNameable_somPrintSelf SOMObject_somPrintSelf
#define SOMRNameable_somDumpSelf SOMObject_somDumpSelf
#define SOMRNameable_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */
#endif /* SOM_SOMRNameable_h */