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]