Ignore:
Timestamp:
Apr 7, 2007, 4:29:56 PM (18 years ago)
Author:
cinc
Message:

Added ID to object mtab.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/nom/class_c/nomclassmanager.c

    r255 r294  
    6262   \remark This method isn't implemented yet.
    6363 */
    64 NOM_Scope PNOMObject NOMLINK impl_NOMClassMgr_nomFindClassFromId(NOMClassMgr* nomSelf,
    65                                                                  const CORBA_long classId,
    66                                                                  const CORBA_long ulMajorVersion,
    67                                                                  const CORBA_long ulMinorVersion,
    68                                                                  CORBA_Environment *ev)
     64NOM_Scope NOMClass* NOMLINK impl_NOMClassMgr_nomFindClassFromId(NOMClassMgr* nomSelf,
     65                                                                const CORBA_long classId,
     66                                                                const CORBA_long ulMajorVersion,
     67                                                                const CORBA_long ulMinorVersion,
     68                                                                CORBA_Environment *ev)
    6969{
    7070  /*  NOMClassMgrData *nomThis = NOMClassMgrGetData(nomSelf); */
     
    7979   \brief Function which implements the nomFindClassFromName() method of NOMClassMgr.
    8080 */
    81 NOM_Scope PNOMObject NOMLINK impl_NOMClassMgr_nomFindClassFromName(NOMClassMgr* nomSelf,
    82                                                                    const CORBA_char * className,
    83                                                                    const CORBA_long ulMajorVersion,
    84                                                                    const CORBA_long ulMinorVersion,
    85                                                                    CORBA_Environment *ev)
     81NOM_Scope NOMClass* NOMLINK impl_NOMClassMgr_nomFindClassFromName(NOMClassMgr* nomSelf,
     82                                                                  const CORBA_char * className,
     83                                                                  const CORBA_long ulMajorVersion,
     84                                                                  const CORBA_long ulMinorVersion,
     85                                                                  CORBA_Environment *ev)
    8686{
    8787  CORBA_Object nomRetval=NULLHANDLE;
     
    9595  mtab=g_datalist_get_data(&_gdataClassList, className);
    9696
    97   //nomPrintf("-----> %s %s %x\n", __FUNCTION__, className, mtab);
    98 
    9997  if(mtab){
    10098    NOMClassPriv* ncPriv;
    10199    ncPriv=(NOMClassPriv*)mtab->nomClsInfo;
    102     //if(1==ncPriv->ulIsMetaClass){
    103     //    nomPrintf("%s: found %s\n", __FUNCTION__, mtab->nomClassName);
    104100    nomRetval=(CORBA_Object)ncPriv->sci->nomCds->nomClassObject;
    105     //}
    106 
    107101  }
    108102  return nomRetval;
     
    142136  g_tree_insert(_pClassListTree, mtab, mtab->nomClassName); /* key is the mtab because we want to use
    143137                                                               this tree for fast lookup of mtabs to
    144                                                                check for objects. */
    145 
    146   //  g_datalist_set_data_full(&_gdataClassList, mtab->nomClassName, classMtab, priv_handleClassRemove);
    147   //nomPrintf("%s: registering %lx, %s classList: %lx\n", __FUNCTION__,
    148   //classMtab, mtab->nomClassName, _gdataClassList);
     138                                                               check for valid objects. */
     139
     140  //nomPrintf("%s: registering %lx, %s classList: %lx ID: %ld\n", __FUNCTION__,
     141  //        classMtab, mtab->nomClassName, _gdataClassList, g_quark_try_string(mtab->nomClassName));
     142  mtab->classNomId=g_quark_try_string(mtab->nomClassName);
    149143}
    150144
     
    156150{
    157151  NOMClassMgrData *nomThis = NOMClassMgrGetData(nomSelf);
    158   nomPrintf("    Entering %s  with nomSelf: 0x%x. nomSelf is: %s.\n",
    159             __FUNCTION__, nomSelf, nomSelf->mtab->nomClassName);
    160152
    161153  return _gdataClassList;
     
    212204
    213205  g_datalist_set_data_full(&_gdataMethodList, chrMethodName, classMtab, priv_handleMethodRemoveFromList);
    214   //g_datalist_set_data_full(&_gdataClassList, mtab->nomClassName, classMtab, priv_handleClassRemove);
    215   // nomPrintf("%s: registering %lx, %s methodList: %lx\n", __FUNCTION__, classMtab, chrMethodName, _gdataMethodList);
    216 
    217206}
    218207
     
    240229{
    241230/* NOMClassMgrData* nomThis=NOMClassMgrGetData(nomSelf); */
    242   NOMObject* oClass;
    243   NOMObject* rClass;
    244 
     231  NOMClass* oClass;
     232  NOMClass* rClass;
     233  NOMClassPriv* ncp;
     234
     235  /* This returns a meta class */
    245236  if((oClass=_nomFindClassFromName( nomSelf, oldClass, 0, 0, NULLHANDLE))==NULLHANDLE)
    246237    return FALSE;
     
    250241
    251242  /* Check if the class is a direct child */
     243  ncp=(NOMClassPriv*)_nomGetObjectCreateInfo(rClass, NULLHANDLE);
     244 
     245  if(strcmp(ncp->parentMtabStruct.next->mtab->nomClassName, oldClass))
     246    return FALSE;
    252247
    253248  /* Save old class object pointer. Hmm, maybe not it's still in the old parentMtab */
Note: See TracChangeset for help on using the changeset viewer.