Ignore:
Timestamp:
Jan 16, 2007, 8:31:25 PM (19 years ago)
Author:
cinc
Message:

Improvements to the GC interface and some more stuff

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/nom/src/nomtkinit.c

    r192 r193  
    4848#include "nomobj.h"
    4949#include "nomcls.h"
    50 /* #include "nomtst.h"
    51    #include "nomtst2.h" */
    5250#include <nomclassmanager.h>
    5351/* Garbage collector */
     
    7270 */
    7371
     72/*
     73  This function asks the NOMClassMgrObject to search in the internal lists
     74  for the mtab of the given object. If that mtab is found the pointer points to a
     75  valid object.
     76 */
    7477NOMEXTERN gboolean NOMLINK nomIsObj(gpointer nomObj)
    7578{
     
    107110  NOMClassPriv* ncPriv;
    108111  NOMClass* nomCls;
     112#if 0
    109113  NOMObject *nomObj;
    110 #if 0
    111114  NOMTest* nomTst;
    112115  NOMTest* nomTstObj;
     
    148151     NOMClass in fact. */
    149152  //_nomRegisterClass(NOMClassMgrObject, pGlobalNomEnv->nomObjectMetaClass->mtab, NULLHANDLE); //NOMObject
    150   //_nomRegisterClass(NOMClassMgrObject, pGlobalNomEnv->ncpNOMObject->mtab, NULLHANDLE); //NOMObject
    151153  _nomClassReady(_NOMObject, NULLHANDLE); //NOMObject
    152154
    153155
    154156#if 0
    155   nomPrintf("\n**** Building NOMTest class...\n");
    156   nomTst=NOMTestNewClass(NOMTest_MajorVersion, NOMTest_MinorVersion);
    157   nomPrintf("NOMTest class: %x\n", nomTst);
    158 
    159   nomPrintf("Now building a NOMTest object from %x...\n", _NOMTest);
    160   nomTstObj=    NOMTestNew();
    161   nomPrintf("NOMTest object: %x\n", nomTstObj);
    162 #endif
    163 
    164 #if 0
    165   nomPrintf("Calling _nomTestFunc() 1\n", nomTstObj);
    166   _nomTestFunc(nomTstObj, NULLHANDLE);
    167   nomPrintf("Calling _nomTestFuncString() 1\n", nomTstObj);
    168   nomPrintf("--> %s\n",_nomTestFuncString(nomTstObj, NULLHANDLE));
    169 
    170   nomPrintf("Calling _nomTestFunc() 2\n", nomTstObj);
    171   _nomTestFunc(nomTstObj, NULLHANDLE);
    172   nomPrintf("Calling _nomTestFuncString() 2\n", nomTstObj);
    173   nomPrintf("--> %s\n",_nomTestFuncString(nomTstObj, NULLHANDLE));
    174 #endif
    175 
    176 #if 0
    177   //#if 0
    178157  nomPrintf("\n**** Building NOMTest2 class...\n");
    179158  nomPrintf("\nNow building a NOMTest2 object...\n");
    180   //  NOMTest2NewClass(NOMTest2_MajorVersion, NOMTest2_MinorVersion);
    181159  nomTst2Obj=    NOMTest2New();
    182160  nomPrintf("NOMTest2 object: %x\n", nomTst2Obj);
    183   //#endif
    184 
    185161
    186162  nomPrintf("\nCalling _nomTestFunc_NOMTest2() 1\n", nomTst2Obj);
     
    200176#endif
    201177
     178  return NOMClassMgrObject;
     179}
     180
     181
     182
     183NOMEXTERN PNOM_ENV NOMLINK nomTkInit(void)
     184{
     185  PVOID memPtr;
     186  //PVOID memPool;
     187
     188  nomPrintf("Entering %s...\n", __FUNCTION__);
     189
     190  memPtr=g_malloc(sizeof(NOM_ENV)); /* g_malloc() can't fail... */
     191
     192  nomPrintf("%s: Got root memory: %x\n", __FUNCTION__, memPtr);
     193
     194  /* Now init the structure */
     195  /* GC memory is zeroed... */
     196  ((PNOM_ENV)memPtr)->cbSize=sizeof(NOM_ENV);
     197  pGlobalNomEnv=(PNOM_ENV)memPtr;
     198  if(NO_ERROR!=DosCreateMutexSem(NULL, &((PNOM_ENV)memPtr)->hmtx, DC_SEM_SHARED, FALSE))
     199    {
     200      g_free(memPtr);
     201      return NULL;
     202    }
     203
     204  return (PNOM_ENV)memPtr;
     205
    202206#if 0
    203   _dumpMtab(nomTstObj->mtab);
    204   _dumpMtab(nomTst2Obj->mtab);
    205   //  _dumpMtab(NOMClassMgrObject->mtab);
    206   //  _dumpClasses();
    207   _nomTestFunc(nomTstObj, NULLHANDLE);
    208   _nomTestFunc(nomTst2Obj, NULLHANDLE);
    209   _nomTestFunc(nomTstObj, NULLHANDLE);
    210   _nomTestFunc(nomTst2Obj, NULLHANDLE);
    211 #endif
    212 
    213 #if 0
    214   nomPrintf("NOMTest object: %x, %x\n", nomTstObj, NOMTestClassData.classObject);
    215   nomTstObj=_nomNew((_NOMTest ? _NOMTest : NOMTestNewClass(NOMTest_MajorVersion, NOMTest_MinorVersion)), (void*) 0);
    216   nomPrintf("NOMTest object: %x\n", nomTstObj);
    217   nomTstObj=    NOMTestNew();
    218   nomPrintf("NOMTest object: %x\n", nomTstObj);
    219 #endif
    220 
    221   return NOMClassMgrObject;
    222 }
    223 
    224 
    225 
    226 NOMEXTERN PNOM_ENV NOMLINK nomTkInit(void)
    227 {
    228 
    229 
    230   PVOID memPtr;
    231   PVOID memPool;
    232 
    233   nomPrintf("Entering %s...\n", __FUNCTION__);
    234207  nomPrintf("*************************************\n");
    235208  nomPrintf("!! This function must be rewritten !!\n");
     
    288261
    289262  return (PNOM_ENV)memPtr;
    290 }
    291 
    292 
    293 
    294 
    295 
    296 
    297 
    298 
    299 
    300 
    301 
     263#endif
     264}
     265
     266
     267
     268
     269
     270
     271
     272
     273
     274
     275
Note: See TracChangeset for help on using the changeset viewer.