- Timestamp:
- Jan 14, 2007, 6:21:52 PM (19 years ago)
- Location:
- trunk/nom
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/nom/class_c/nomclassmanager.c
r177 r192 116 116 mtab=(nomMethodTab*) classMtab; 117 117 118 if(NULL==_gdataClassList)119 g_datalist_init(&_gdataClassList);120 121 118 g_datalist_set_data_full(&_gdataClassList, mtab->nomClassName, classMtab, priv_handleClassRemove); 119 g_tree_insert(_pClassListTree, mtab, mtab->nomClassName); /* key is the mtab because we want to use 120 this tree for fast lookup of mtabs to 121 check for objects. */ 122 122 123 // g_datalist_set_data_full(&_gdataClassList, mtab->nomClassName, classMtab, priv_handleClassRemove); 123 124 //nomPrintf("%s: registering %lx, %s classList: %lx\n", __FUNCTION__, … … 181 182 mtab=(nomMethodTab*) classMtab; 182 183 183 if(NULL==_gdataMethodList)184 g_datalist_init(&_gdataMethodList);185 186 184 g_datalist_set_data_full(&_gdataMethodList, chrMethodName, classMtab, priv_handleMethodRemoveFromList); 187 185 //g_datalist_set_data_full(&_gdataClassList, mtab->nomClassName, classMtab, priv_handleClassRemove); … … 190 188 } 191 189 192 193 194 195 190 NOM_Scope CORBA_boolean NOMLINK impl_NOMClassMgr_nomIsObject(NOMClassMgr* nomSelf, const PNOMObject nomObject, 191 CORBA_Environment *ev) 192 { 193 NOMClassMgrData* nomThis=NOMClassMgrGetData(nomSelf); 194 195 if(NULLHANDLE==nomObject) 196 return FALSE; 197 198 return (g_tree_lookup(_pClassListTree, nomObject->mtab)!= NULLHANDLE); 199 } 200 201 static 202 int nomClassMgrCompareFunc(gconstpointer a, gconstpointer b) 203 { 204 if(a < b ) 205 return -1; 206 if(a > b ) 207 return 1; 208 return 0; 209 } 210 NOM_Scope void NOMLINK impl_NOMClassMgr_nomInit(NOMClassMgr* nomSelf, CORBA_Environment *ev) 211 { 212 NOMClassMgrData* nomThis=NOMClassMgrGetData(nomSelf); 213 214 NOMClassMgr_nomInit_parent((NOMObject*)nomSelf, ev); 215 216 g_datalist_init(&_gdataMethodList); 217 g_datalist_init(&_gdataClassList); 218 219 /* This balanced binary tree holds the objects in this folder. We create a tree 220 which may be searched using the name of the file/directory */ 221 222 _pClassListTree=g_tree_new((GCompareFunc)nomClassMgrCompareFunc); 223 224 } 225 226 227 228 229 230 231 232 233 234 235 236 -
trunk/nom/idl/nomclassmanager.idl
r139 r192 56 56 gpointer nomGetClassInfoPtrFromName(in string className); 57 57 void nomRegisterMethod(in gpointer classMtab, in string chrMethodName); 58 boolean nomIsObject(in PNOMObject nomObject); 58 59 60 NOMOVERRIDE(nomInit); 59 61 NOMINSTANCEVAR(PGData gdataClassList); 60 62 NOMINSTANCEVAR(PGData gdataMethodList); 61 63 NOMINSTANCEVAR(PGTree pClassListTree); 62 64 /* nomInit : override;*/ 63 65 -
trunk/nom/include/exception.h
r187 r192 61 61 } /* if(1==1) */ 62 62 63 #ifdef __OS2__ 64 #define LOUD DosBeep(1000, 20); DosBeep(2000, 20); DosBeep(3000, 20); 65 #else 66 #define LOUD 67 #endif 63 68 64 69 #endif /* EXCEPTION_H_INCLUDED */ 70 71 72 73 74 75 -
trunk/nom/src/nomtkinit.c
r190 r192 61 61 PNOM_ENV pGlobalNomEnv; 62 62 /* Global class manager object */ 63 NOMClassMgr* NOMClassMgrObject ; /* Referenced from different files */63 NOMClassMgr* NOMClassMgrObject=NULLHANDLE; /* Referenced from different files */ 64 64 65 65 /********************************************************/ … … 74 74 NOMEXTERN gboolean NOMLINK nomIsObj(gpointer nomObj) 75 75 { 76 if(NOMClassMgrObject) 77 return NOMClassMgr_nomIsObject(NOMClassMgrObject, (PNOMObject)nomObj, NULLHANDLE); 78 76 79 if(!nomObj) 77 80 return FALSE; 78 81 82 /* We assume that here... */ 79 83 return TRUE; 80 84 }
Note:
See TracChangeset
for help on using the changeset viewer.