/* * This file was generated by the SOM Compiler. * FileName: luinode.xih. * Generated using: * SOM Precompiler somipc: 2.29.1.17 * SOM Emitter emitxih: 2.47 */ /* * -- By default, for classes declared using IDL, * -- this emitter doesn't define redispatch/apply stubs. * -- Instead, it requests that the SOM kernel produce them. * -- To override this default, use the "notc" modifier. */ #ifndef SOM_LuIndexNode_xih #define SOM_LuIndexNode_xih #include #include #ifndef SOM_LuIndexNode_xh #include #endif /* * Set the scope of methods functions */ #ifndef SOM_Scope #define SOM_Scope static #endif #define LuIndexNode_MaxNoMethods 5 /* * -- Instance Data */ typedef struct { void* data; } LuIndexNodeData; /* * -- Getdata Macro */ /* * -- This emitter treats Data Tokens as Thunks by default. * -- Use the sc modifier "nothunks" to override this default. */ typedef LuIndexNodeData* (SOMLINK * somTD_LuIndexNode_DataThunk)(void*); #define LuIndexNodeGetData(somSelf) \ (((somTD_LuIndexNode_DataThunk)(LuIndexNodeCClassData.instanceDataToken))(somSelf)) /* * -- Instance Data Access Macros for use in Method Procedures */ #ifdef VARIABLE_MACROS #define _data (somThis->data) #endif /* * -- Primary Implementation File Support */ #if (defined(LuIndexNode_Class_Source) || defined(SOM_Module_luinode_Source)) /* * Trace/Debug macro */ #ifndef LuIndexNodeMethodDebug #define LuIndexNodeMethodDebug(c,m) SOMMethodDebug(c,m) #endif /* * -- Method Macros for use in Method Procedures */ #ifdef METHOD_MACROS #define _somDefaultInit somSelf->somDefaultInit #define _somDestruct somSelf->somDestruct #define _somDefaultCopyInit somSelf->somDefaultCopyInit #define _somDefaultAssign somSelf->somDefaultAssign #define _somDefaultConstCopyInit somSelf->somDefaultConstCopyInit #define _somDefaultVCopyInit somSelf->somDefaultVCopyInit #define _somDefaultConstVCopyInit somSelf->somDefaultConstVCopyInit #define _somDefaultConstAssign somSelf->somDefaultConstAssign #define _somDefaultVAssign somSelf->somDefaultVAssign #define _somDefaultConstVAssign somSelf->somDefaultConstVAssign #define _somInit somSelf->somInit #define _somFree somSelf->somFree #define _somUninit somSelf->somUninit #define _somGetClass somSelf->somGetClass #define _somGetClassName somSelf->somGetClassName #define _somGetSize somSelf->somGetSize #define _somIsA somSelf->somIsA #define _somIsInstanceOf somSelf->somIsInstanceOf #define _somRespondsTo somSelf->somRespondsTo #define _somDispatch somSelf->somDispatch #define _somClassDispatch somSelf->somClassDispatch #define _somCastObj somSelf->somCastObj #define _somResetObj somSelf->somResetObj #define _somDispatchV somSelf->somDispatchV #define _somDispatchL somSelf->somDispatchL #define _somDispatchA somSelf->somDispatchA #define _somDispatchD somSelf->somDispatchD #define _somPrintSelf somSelf->somPrintSelf #define _somDumpSelf somSelf->somDumpSelf #define _somDumpSelfInt somSelf->somDumpSelfInt #define _LuIndexNodeInit somSelf->LuIndexNodeInit #define _addChild somSelf->addChild #define _getFirstChild somSelf->getFirstChild #define _getNextChild somSelf->getNextChild #define _getLink somSelf->getLink #define _somDestruct somSelf->somDestruct #endif /* * -- The LuIndexNode ClassData Structure */ SOMEXTERN struct LuIndexNodeClassDataStructure SOMDLINK LuIndexNodeClassData = {(SOMClass *) NULL}; /* * -- The auxiliary LuIndexNode ClassData structure */ SOMEXTERN struct LuIndexNodeCClassDataStructure SOMDLINK LuIndexNodeCClassData = {(somMethodTabs) NULL}; /* * New Method: LuIndexNodeInit */ SOM_Scope void SOMLINK LuIndexNodeInit(LuIndexNode *somSelf, Environment *ev, somInitCtrl* ctrl, LuLink* link); #ifndef somMN_LuIndexNodeInit_defined #define somMN_LuIndexNodeInit_defined static char *somMN_LuIndexNodeInit = "LuIndexNodeInit"; static somId somId_LuIndexNodeInit = &somMN_LuIndexNodeInit; #endif /* somMN_LuIndexNodeInit_defined */ #ifndef somDS_LuIndexNodeInit_defined #define somDS_LuIndexNodeInit_defined static char *somDS_LuIndexNodeInit = "::LuIndexNode::LuIndexNodeInit"; static somId somDI_LuIndexNodeInit = &somDS_LuIndexNodeInit; #endif /* somDS_LuIndexNodeInit_defined */ #define LuIndexNodeInit_somApRdDefault /* * New Method: addChild */ SOM_Scope void SOMLINK addChild(LuIndexNode *somSelf, Environment *ev, LuIndexNode* node); #ifndef somMN_addChild_defined #define somMN_addChild_defined static char *somMN_addChild = "addChild"; static somId somId_addChild = &somMN_addChild; #endif /* somMN_addChild_defined */ #ifndef somDS_addChild_defined #define somDS_addChild_defined static char *somDS_addChild = "::LuIndexNode::addChild"; static somId somDI_addChild = &somDS_addChild; #endif /* somDS_addChild_defined */ #define addChild_somApRdDefault /* * New Method: getFirstChild */ SOM_Scope LuIndexNode* SOMLINK getFirstChild(LuIndexNode *somSelf, Environment *ev); #ifndef somMN_getFirstChild_defined #define somMN_getFirstChild_defined static char *somMN_getFirstChild = "getFirstChild"; static somId somId_getFirstChild = &somMN_getFirstChild; #endif /* somMN_getFirstChild_defined */ #ifndef somDS_getFirstChild_defined #define somDS_getFirstChild_defined static char *somDS_getFirstChild = "::LuIndexNode::getFirstChild"; static somId somDI_getFirstChild = &somDS_getFirstChild; #endif /* somDS_getFirstChild_defined */ #define getFirstChild_somApRdDefault /* * New Method: getNextChild */ SOM_Scope LuIndexNode* SOMLINK getNextChild(LuIndexNode *somSelf, Environment *ev); #ifndef somMN_getNextChild_defined #define somMN_getNextChild_defined static char *somMN_getNextChild = "getNextChild"; static somId somId_getNextChild = &somMN_getNextChild; #endif /* somMN_getNextChild_defined */ #ifndef somDS_getNextChild_defined #define somDS_getNextChild_defined static char *somDS_getNextChild = "::LuIndexNode::getNextChild"; static somId somDI_getNextChild = &somDS_getNextChild; #endif /* somDS_getNextChild_defined */ #define getNextChild_somApRdDefault /* * New Method: getLink */ SOM_Scope LuLink* SOMLINK getLink(LuIndexNode *somSelf, Environment *ev); #ifndef somMN_getLink_defined #define somMN_getLink_defined static char *somMN_getLink = "getLink"; static somId somId_getLink = &somMN_getLink; #endif /* somMN_getLink_defined */ #ifndef somDS_getLink_defined #define somDS_getLink_defined static char *somDS_getLink = "::LuIndexNode::getLink"; static somId somDI_getLink = &somDS_getLink; #endif /* somDS_getLink_defined */ #define getLink_somApRdDefault /* * Overridden method: somDestruct */ SOM_Scope void SOMLINK somDestruct(LuIndexNode *somSelf, octet doFree, som3DestructCtrl* ctrl); static char *somMN_LuIndexNodesomDestruct = "SOMObject::somDestruct"; static somId somId_LuIndexNodesomDestruct = &somMN_LuIndexNodesomDestruct; #ifdef somId_somDestruct #undef somId_somDestruct #else #define somId_somDestruct somId_LuIndexNodesomDestruct #endif /* * -- Routines and Structures to create the class object */ /* * Declare the Static Methods table. */ static somStaticMethod_t LuIndexNodeSM[] = { { &LuIndexNodeClassData.LuIndexNodeInit, &somId_LuIndexNodeInit, &somDI_LuIndexNodeInit, (somMethodProc *) LuIndexNodeInit, (somMethodProc *)((void*)-1), #ifdef LuIndexNodeInit_somApRdDefault 0}, #else (somMethodProc *) ((void*) &LuIndexNodeInitStubs) }, #endif { &LuIndexNodeClassData.addChild, &somId_addChild, &somDI_addChild, (somMethodProc *) addChild, (somMethodProc *)((void*)-1), #ifdef addChild_somApRdDefault 0}, #else (somMethodProc *) ((void*) &addChildStubs) }, #endif { &LuIndexNodeClassData.getFirstChild, &somId_getFirstChild, &somDI_getFirstChild, (somMethodProc *) getFirstChild, (somMethodProc *)((void*)-1), #ifdef getFirstChild_somApRdDefault 0}, #else (somMethodProc *) ((void*) &getFirstChildStubs) }, #endif { &LuIndexNodeClassData.getNextChild, &somId_getNextChild, &somDI_getNextChild, (somMethodProc *) getNextChild, (somMethodProc *)((void*)-1), #ifdef getNextChild_somApRdDefault 0}, #else (somMethodProc *) ((void*) &getNextChildStubs) }, #endif { &LuIndexNodeClassData.getLink, &somId_getLink, &somDI_getLink, (somMethodProc *) getLink, (somMethodProc *)((void*)-1), #ifdef getLink_somApRdDefault 0}, #else (somMethodProc *) ((void*) &getLinkStubs) }, #endif }; /* * Declare the Override Methods table. */ static somOverrideMethod_t LuIndexNodeOM[] = { { &somId_LuIndexNodesomDestruct, (somMethodProc *) somDestruct }, }; /* * class Ids */ static char * somCN_LuIndexNode = "LuIndexNode"; static char * somPCN_LuIndexNode_SOMObject = "SOMObject"; static somId somPCLuIndexNode[] = { &somPCN_LuIndexNode_SOMObject, }; static somId somINITLuIndexNode[] = { &somMN_LuIndexNodeInit, }; static somStaticClassInfo LuIndexNodeSCI = { 4, 5, 1, 0, 0, 0, /* layout version 4 */ LuIndexNode_MajorVersion, LuIndexNode_MinorVersion, sizeof(LuIndexNodeData), LuIndexNode_MaxNoMethods, 1, &somCN_LuIndexNode, (somId) NULL, 1, somPCLuIndexNode, (somClassDataStructure *) &LuIndexNodeClassData, (somCClassDataStructure *) &LuIndexNodeCClassData, LuIndexNodeSM, LuIndexNodeOM, (char *) NULL, (somNonInternalData_t *) NULL, (somProcMethods_t *) NULL, (somVarargsFuncs_t *) NULL, (somTP_somClassInitFunc *) NULL, 4, /* type code alignment */ -1, /* use parents as DirectInitClasses */ 0, /* no explicit DirectInitClasses */ 0, /* number of general methods */ (somMethods_t *) NULL, 0, /* no public data offset */ 0, /* no sci development level check */ 0, /* number of SelectInheritedMethods */ 0, /* no SelectInheritedMethods */ 5, /* number of classdata entries */ 0, /* no list provided currently */ 0, /* number of migrated methods */ 0, /* no migrated method implementations */ 1, /* number of initializers */ somINITLuIndexNode, /* initializers */ 0, /* not DTS a class */ 0, /* no dynamically computed info */ }; /* * Class Creation and Initialization */ SOMClass * SOMLINK LuIndexNodeNewClass (integer4 somtmajorVersion, integer4 somtminorVersion) { SOMClass *result; if (_LuIndexNode && _LuIndexNode->somCheckVersion(somtmajorVersion, somtminorVersion)) return ((SOMClass*)((void*)_LuIndexNode)); SOMObjectNewClass(SOMObject_MajorVersion,SOMObject_MinorVersion); /* static reference */ result = (SOMClass*)((void*)somBuildClass(0xFFFFFFFF,&LuIndexNodeSCI, somtmajorVersion, somtminorVersion)); return result; } /* * Functions for attributes. */ /* * Macros for initializer/destructor entry/exit */ #define LuIndexNode_BeginDestructor \ if (!ctrl) { \ ctrl = &globalCtrl; \ memcpy(ctrl,&(((somParentMtabStructPtr)LuIndexNodeCClassData.parentMtab)->destructCtrl),sizeof(somDestructCtrl)); \ } \ somThis = (LuIndexNodeData*)((char*)somSelf + ctrl->info->dataOffset);\ myMask = ctrl->mask; #define LuIndexNode_EndDestructor \ ctrl->info = (somDestructInfo*)(ctrl->infoSize + (char*)(ctrl->info)); \ ctrl->mask += 1; \ LuIndexNode_DeInit_SOMObject_somDestruct(somSelf,0,ctrl); \ if (doFree) _LuIndexNode->somDeallocate((string)somSelf); #define LuIndexNode_BeginInitializer_LuIndexNodeInit \ if (!ctrl) { \ ctrl = &globalCtrl; \ memcpy(ctrl,&(((somParentMtabStructPtr)LuIndexNodeCClassData.parentMtab)->initCtrl),sizeof(somInitCtrl)); \ } \ myMask = ctrl->mask; \ somThis = (LuIndexNodeData*)((char*)somSelf + ctrl->info->dataOffset);\ ctrl->info = (somInitInfo*)(ctrl->infoSize + (char*)(ctrl->info)); \ ctrl->mask += 1; /* * Ancestor_Init/DeInit Macros */ /* ...for SOMObject */ #define LuIndexNode_Init_SOMObject_somDefaultInit(somSelf, ctrl) \ if (myMask[0]&1) \ /* special case SOMObject */\ ctrl->info = (somInitInfo*)(ctrl->infoSize + (char*)(ctrl->info)); #define LuIndexNode_DeInit_SOMObject_somDestruct(somSelf, doFree, ctrl) \ if (myMask[0]&1) \ /* special case SOMObject */\ ctrl->info = (somDestructInfo*)(ctrl->infoSize + (char*)(ctrl->info)); #endif /* Primary Implementation Support */ #endif /* SOM_LuIndexNode_xih */