home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cset21v5.zip
/
TOOLKT21
/
CPLUS
/
OS2H
/
SOMCLS.API
< prev
next >
Wrap
Text File
|
1993-04-30
|
6KB
|
101 lines
/*
* @(#)somcls.API 1.1 5/13/92 12:55:19 [5/14/92] (c)IBM Corp. 1992
*/
#ifndef SOMClass_API
#define SOMClass_API
/*
* The Class API
*/
/* A procedure to create the SOMClass Class */
SOMEXTERN SOMClass * SOMLINK SOMClassNewClass(
integer4 majorVersion,
integer4 minorVersion);
/* The static interface to SOMClass and its instances */
SOMEXTERN struct SOMClassClassDataStructure {
SOMClass *classObject;
somMToken somNew;
somMToken somRenew;
somMToken somInitClass;
somMToken somClassReady;
somMToken somGetName;
somMToken somGetParent;
somMToken somDescendedFrom;
somMToken somCheckVersion;
somMToken somFindMethod;
somMToken somFindMethodOk;
somMToken somSupportsMethod;
somMToken somGetNumMethods;
somMToken somGetInstanceSize;
somMToken somGetInstanceOffset;
somMToken somGetInstancePartSize;
somMToken somGetMethodIndex;
somMToken somGetNumStaticMethods;
somMToken somGetPClsMtab;
somMToken somGetClassMtab;
somMToken somAddStaticMethod;
somMToken somOverrideSMethod;
somMToken somAddDynamicMethod;
somMToken somGetMethodOffset;
somMToken somGetApplyStub;
somMToken somFindSMethod;
somMToken somFindSMethodOk;
somMToken somGetMethodDescriptor;
somMToken somGetNthMethodInfo;
somMToken somSetClassData;
somMToken somGetClassData;
somMToken somNewNoInit;
somMToken somRenewNoInit;
somMToken somGetInstanceToken;
somMToken somGetMemberToken;
somMToken somSetMethodDescriptor;
somMToken somGetMethodData;
} SOMClassClassData;
/*
* -- Typedefs for Procedures that support SOMClass Methods
*/
extern "C" {
typedef void (SOMLINK *somTD_SOMClass_somAddDynamicMethod)(SOMClass *somSelf,INOUT somId methodId,INOUT somId methodDescriptor,IN somMethodProc *method,IN somMethodProc *applyStub);
typedef somMToken (SOMLINK *somTD_SOMClass_somAddStaticMethod)(SOMClass *somSelf,INOUT somId methodId,INOUT somId methodDescriptor,IN somMethodProc *method,IN somMethodProc *redispatchStub,IN somMethodProc *applyStub);
typedef void (SOMLINK *somTD_SOMClass_somClassReady)(SOMClass *somSelf);
typedef void (SOMLINK *somTD_SOMClass_somInitClass)(SOMClass *somSelf,IN zString className,IN SOMObject *parentClass,IN integer4 instanceSize,IN int maxStaticMethods,IN integer4 majorVersion,IN integer4 minorVersion);
typedef void (SOMLINK *somTD_SOMClass_somOverrideSMethod)(SOMClass *somSelf,INOUT somId methodId,IN somMethodProc *method);
typedef SOMAny * (SOMLINK *somTD_SOMClass_somNew)(SOMClass *somSelf);
typedef SOMAny * (SOMLINK *somTD_SOMClass_somNewNoInit)(SOMClass *somSelf);
typedef SOMAny * (SOMLINK *somTD_SOMClass_somRenew)(SOMClass *somSelf,IN void *obj);
typedef SOMAny * (SOMLINK *somTD_SOMClass_somRenewNoInit)(SOMClass *somSelf,IN void *obj);
typedef somMethodProc * (SOMLINK *somTD_SOMClass_somGetApplyStub)(SOMClass *somSelf,INOUT somId methodId);
typedef somClassDataStructure * (SOMLINK *somTD_SOMClass_somGetClassData)(SOMClass *somSelf);
typedef somMethodTab * (SOMLINK *somTD_SOMClass_somGetClassMtab)(SOMClass *somSelf);
typedef somDToken (SOMLINK *somTD_SOMClass_somGetInstanceToken)(SOMClass *somSelf);
typedef somDToken (SOMLINK *somTD_SOMClass_somGetMemberToken)(SOMClass *somSelf,integer4 memberOffset,somDToken instanceToken);
typedef integer4 (SOMLINK *somTD_SOMClass_somGetInstanceOffset)(SOMClass *somSelf);
typedef integer4 (SOMLINK *somTD_SOMClass_somGetInstancePartSize)(SOMClass *somSelf);
typedef integer4 (SOMLINK *somTD_SOMClass_somGetInstanceSize)(SOMClass *somSelf);
typedef int (SOMLINK *somTD_SOMClass_somGetMethodData)(SOMClass *somSelf,INOUT somId method,OUT somMethodData *md);
typedef somId (SOMLINK *somTD_SOMClass_somGetMethodDescriptor)(SOMClass *somSelf,IN somId methodId);
typedef int (SOMLINK *somTD_SOMClass_somGetMethodIndex)(SOMClass *somSelf,somId id);
typedef integer4 (SOMLINK *somTD_SOMClass_somGetMethodOffset)(SOMClass *somSelf,INOUT somId methodId);
typedef zString (SOMLINK *somTD_SOMClass_somGetName)(SOMClass *somSelf);
typedef somId (SOMLINK *somTD_SOMClass_somGetNthMethodInfo)(SOMClass *somSelf,IN int n,OUT somId *descriptor);
typedef int (SOMLINK *somTD_SOMClass_somGetNumMethods)(SOMClass *somSelf);
typedef int (SOMLINK *somTD_SOMClass_somGetNumStaticMethods)(SOMClass *somSelf);
typedef SOMClass * (SOMLINK *somTD_SOMClass_somGetParent)(SOMClass *somSelf);
typedef somMethodTab * (SOMLINK *somTD_SOMClass_somGetPClsMtab)(SOMClass *somSelf);
typedef void (SOMLINK *somTD_SOMClass_somSetClassData)(SOMClass *somSelf,IN somClassDataStructure *cds);
typedef int (SOMLINK *somTD_SOMClass_somSetMethodDescriptor)(SOMClass *somSelf,IN somId methodId,IN somId descriptor);
typedef int (SOMLINK *somTD_SOMClass_somCheckVersion)(SOMClass *somSelf,IN integer4 majorVersion,IN integer4 minorVersion);
typedef int (SOMLINK *somTD_SOMClass_somDescendedFrom)(SOMClass *somSelf,IN SOMClass *aClassObj);
typedef int (SOMLINK *somTD_SOMClass_somSupportsMethod)(SOMClass *somSelf,INOUT somId mId);
typedef int (SOMLINK *somTD_SOMClass_somFindMethod)(SOMClass *somSelf,INOUT somId methodId,OUT somMethodProc **m);
typedef int (SOMLINK *somTD_SOMClass_somFindMethodOk)(SOMClass *somSelf,INOUT somId methodId,OUT somMethodProc **m);
typedef somMethodProc * (SOMLINK *somTD_SOMClass_somFindSMethod)(SOMClass *somSelf,INOUT somId methodId);
typedef somMethodProc * (SOMLINK *somTD_SOMClass_somFindSMethodOk)(SOMClass *somSelf,INOUT somId methodId);
}
#endif /* SOMClass_API */