somMergeInto - Example Code

// === IDL For the New Class Manager ===

#include <somcm.idl>

interface NewCM  :  SOMClassMgr {
        implementation   {
                somDefaultInit:  override;
       };
};

// === C++ implementation for NewCM ===

#define SOM_Module_merge_Source
#include "merge.xih"
SOM_Scope void SOMLINK somDefaultInit(NewCM *somSelf,
                                                        somInitCtrl* ctrl)
{
        NewCMData *somThis;   /* set in BeginInitializer */
        somInitCtrl globalCtrl;
        somBooleanVector myMask;
        NewCMMethodDebug ("NewCM","somDefaultInit");
        NewCM_BeginInitializer_somDefaultInit;

        NewC_Init_SOMClassMgr_somDefaultInit(somSelf, ctrl);

        /*
         *  local NewCM initialization code added by programmer
         */

        SOMClassMgrObject->somMergeInto(somSelf);
}

// === C++ test program ===

#include <merge.xh>
main()
{
        NewCM *ncm = new NewCM;
        SOMClassMgrObject->somDumpSelf(0);
}

// === Output from test program ===

{An instance of class NewCM at address 20084388
 1 classIdSpaceSize:  3200
 1 classIdHashTableSize:  397
 1 loadAffinity:  0
 1 nextLoadAffinity:  1
 1 IR Class:  00000000,  IR Object:  00000000
 1          -Class-- -Token-- Aff Seq ---Id--- Name
 1 [    0] 20077A48 00000000 000 001 2008260C SOMObject
 1 [    1] 2007FB38 00000000 000 000 200825EC SOMClassMgr
 1 [    2] 20083B08 00000000 000 004 2008436C NewCM
 1 [    3] 20077BD8 00000000 000 002 2008262C SOMClass
 1 [    4] 20082668 00000000 000 003 2008315C
 SOMParentDerivedMetaclass
}


[Back: somMergeInto - Original Class]
[Next: somMergeInto - Topics]