- Timestamp:
- Feb 3, 2007, 9:48:19 PM (19 years ago)
- Location:
- trunk/nom
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/nom/class_c/nomclassmanager.c
r208 r220 51 51 52 52 53 /** 54 \brief Function which implements the nomFindClassFromID() method of NOMClassMgr. 55 56 \remark This method isn't implemented yet. 57 */ 53 58 NOM_Scope CORBA_Object NOMLINK impl_NOMClassMgr_nomFindClassFromId(NOMClassMgr* nomSelf, 54 59 const CORBA_long classId, … … 65 70 } 66 71 72 /** 73 \brief Function which implements the nomFindClassFromName() method of NOMClassMgr. 74 */ 67 75 NOM_Scope CORBA_Object NOMLINK impl_NOMClassMgr_nomFindClassFromName(NOMClassMgr* nomSelf, 68 76 const CORBA_char * className, … … 95 103 } 96 104 97 /* 105 /** 98 106 This function is called when a class is (accidently) removed from our class list. 99 107 This may happen e.g. when a class is registered again using the same name. The old … … 111 119 } 112 120 113 /* We register mtabs as unique pointers to classes. It's possible to get every 114 information from an mtab. */ 121 /** 122 \brief Function which implements the nomRegisterClass() method of NOMClassMgr. 123 124 We register mtabs as unique pointers to classes. It's possible to get every 125 information from an mtab. 126 */ 115 127 NOM_Scope void NOMLINK impl_NOMClassMgr_nomRegisterClass(NOMClassMgr* nomSelf, const gpointer classMtab, 116 128 CORBA_Environment *ev) … … 133 145 134 146 135 147 /** 148 \brief Function which implements the nomGetClassList() method of NOMClassMgr. 149 */ 136 150 NOM_Scope PGData NOMLINK impl_NOMClassMgr_nomGetClassList(NOMClassMgr* nomSelf, CORBA_Environment *ev) 137 151 { … … 142 156 return _gdataClassList; 143 157 } 158 144 159 145 160 NOM_Scope gpointer NOMLINK impl_NOMClassMgr_nomGetClassInfoPtrFromName(NOMClassMgr* nomSelf, … … 177 192 } 178 193 194 /** 195 \brief Function which implements the nomRegisterMethod() method of NOMClassMgr. 196 */ 179 197 NOM_Scope void NOMLINK impl_NOMClassMgr_nomRegisterMethod(NOMClassMgr* nomSelf, 180 198 const gpointer classMtab, … … 193 211 } 194 212 213 /** 214 \brief Function which implements the nomIsObject() method of NOMClassMgr. 215 */ 195 216 NOM_Scope CORBA_boolean NOMLINK impl_NOMClassMgr_nomIsObject(NOMClassMgr* nomSelf, const PNOMObject nomObject, 196 217 CORBA_Environment *ev) … … 213 234 return 0; 214 235 } 236 /** 237 \brief Function which implements the nomInit() override NOMClassMgr. 238 */ 215 239 NOM_Scope void NOMLINK impl_NOMClassMgr_nomInit(NOMClassMgr* nomSelf, CORBA_Environment *ev) 216 240 { -
trunk/nom/idl/nomclassmanager.idl
r192 r220 44 44 NOMCLASSVERSION(1, 0 ); 45 45 46 /** 47 Find the class with the given nomId in the internal class list managed by the 48 class manager. 49 50 \remark This method is only a stub for now. 51 52 \par How to override 53 This method is usually not overriden. 54 55 \param classId The id of the class to be found. 56 \param ulMajorVersion This parameter is not used at the moment and should be set to 0. 57 \param ulMinorVersion This parameter is not used at the moment and should be set to 0. 58 \return 59 The class with the given name or NULL if not found. 60 */ 46 61 Object nomFindClassFromId(in long classId, 47 62 in long ulMajorVersion, 48 63 in long ulMinorVersion); 64 65 /** 66 Find the class with the given name in the internal class list managed by the 67 class manager. 68 69 \remark 70 This method will return classes and metaclasses. 49 71 50 Object nomFindClassFromName(in string className, 72 \par How to override 73 This method is usually not overriden. 74 75 \param className The name of the class to be found as a C string. 76 \param ulMajorVersion This parameter is not used at the moment and should be set to 0. 77 \param ulMinorVersion This parameter is not used at the moment and should be set to 0. 78 \return 79 The class with the given name or NULL if not found. 80 */ 81 PNOMObject nomFindClassFromName(in string className, 51 82 in long ulMajorVersion, 52 83 in long ulNinorVersion); 53 84 85 /** 86 Register a given class in the internal list of classes. 87 88 We register mtabs as unique pointers to classes. It's possible to get every 89 information from an mtab. We don't use the class name because in case of 90 meta classes several different meta classes for creating different objects 91 may have the same name because the default meta class is always NOMClass. 92 The mtab of each of this meta classes is different. 93 94 In addition to maintaining a list of registered classes we also register the 95 mtab in a balanced binary tree for fast retrieval. The data in this tree is 96 used by nomIsObject() to check if a block of memory is actually an object by 97 checking the memories mtab pointer against the registered list of mtabs. 98 99 \remark Classes are registered usually from within nomClassReady(). 100 101 \par How to override 102 This method is usually not overriden. 103 104 \param classMtab The mtab of the class to be registered. 105 */ 54 106 void nomRegisterClass(in gpointer classMtab); 107 108 /** 109 Get the internal list of classes. 110 111 \par How to override 112 This method is usually not overriden. 113 114 \return 115 A pointer on the head of a GData list. Note that this is not a copy. 116 117 */ 55 118 PGData nomGetClassList(); 119 120 /** 121 122 \par How to override 123 This method is usually not overriden. 124 125 \param className The class name as a C string. 126 \return A nomClsInfo pointer for the given class. This structure is private and only used 127 internally. 128 */ 56 129 gpointer nomGetClassInfoPtrFromName(in string className); 130 131 /** 132 Register a method with the class manager. The data is used to find the class 133 implementing a method from the method name. 134 135 \param classMtab The mtab of a class. 136 \param chrMethodName Method to be registered. 137 */ 57 138 void nomRegisterMethod(in gpointer classMtab, in string chrMethodName); 139 140 /** 141 Method to check if the given object is indeed an object or just arbitrary 142 storage. This is done by checking the mtab in the given object against a registered 143 list of mtabs. 144 145 \par How to override 146 This method is usually not overriden. 147 148 \param nomObject The object to be checked. 149 \return 150 True if the given object is a NOMObject. 151 */ 58 152 boolean nomIsObject(in PNOMObject nomObject); 59 153 154 /** 155 Override of nomInit(). The list of methods and the list of classes are initialized 156 in that method. In addition the balanced binary tree for registering mtabs is created. 157 */ 60 158 NOMOVERRIDE(nomInit); 159 160 /** 161 The list of registered classes. Normal classes and metaclasses are registered. 162 */ 61 163 NOMINSTANCEVAR(PGData gdataClassList); 164 165 /** 166 The list of registered methods. 167 */ 62 168 NOMINSTANCEVAR(PGData gdataMethodList); 169 /** 170 Balanced binary tree holding the mtabs of all known classes. 171 */ 63 172 NOMINSTANCEVAR(PGTree pClassListTree); 64 173 /* nomInit : override;*/
Note:
See TracChangeset
for help on using the changeset viewer.