home *** CD-ROM | disk | FTP | other *** search
- /*
- * @(#)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 */
-