Changeset 220 for trunk/nom/idl
- Timestamp:
- Feb 3, 2007, 9:48:19 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/nom/idl/nomclassmanager.idl (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
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.
