ML Reference
mlRuntime.h
Go to the documentation of this file.
1 // **InsertLicense** code
2 //-------------------------------------------------------------------------
12 
17 //-------------------------------------------------------------------------
18 #ifndef __mlRuntime_H
19 #define __mlRuntime_H
20 
21 //ML-includes
22 #include "mlUtilsSystem.h"
23 #include "mlRuntimeType.h"
24 
25 ML_UTILS_START_NAMESPACE
26 
28  class RuntimeDict;
30 
31  //-------------------------------------------------------------------------
42  //-------------------------------------------------------------------------
44 
45  public:
47  static void init();
48 
50  static void destroy();
51 
55  static const RuntimeType* fromName(const char* name);
56 
74  static const RuntimeType* initType(const RuntimeType *classType,
75  const char *parentName,
76  const char *classPrefix,
77  const char *className,
78  RuntimeType::RuntimeTypeCreateCB *createCB,
79  const char *classNameReplacement=NULL);
80 
83  static void destroyType(const char* name);
84 
86  static const RuntimeType* badType();
87 
89  static const RuntimeType* getFirstEntry();
90 
92  static const RuntimeType* getNextEntry();
93 
94 
97  static void setRecentlyLoadedDllName(const char* name);
98 
101  static const char* getRecentlyLoadedDllName();
102 
106  static void destroyRuntimeTypesOfDll(const char* dllName);
107 
114  static std::list<const RuntimeType*> getAllDerivedFrom(const RuntimeType *parentType,
115  bool onlyFromDifferentDlls=false);
116 
123  static const char *_getCheckedTypeIdName(const RuntimeType* classType,
124  const char *className) ML_RETURN_VALUE_SHOULD_BE_USED;
125 
126  protected:
135  static const RuntimeType* createType(const char *parentName,
136  const char *name,
137  RuntimeType::RuntimeTypeCreateCB* callback);
138  };
139 
140 
141 ML_UTILS_END_NAMESPACE
142 
143 #endif // __mlRuntime_H
144 
145 
146 
147 
148 
149 
150 
void destroy()
Delete dynamic data structures allocated by init().
void init()
Initializes the ML, the runtime type system, the memory manager, fields, static buffers, error and debug printings etc.
Global C++ definitions for mlUtils and ML.
#define ML_UTILS_EXPORT
Defines platform dependent DLL export macro for mlUtils.
This class contains the runtime system of the ML.
Definition: mlRuntime.h:43
This file declares the class RuntimeType, which contains runtime-generated type and inheritance infor...
RuntimeType contains type and inheritance information of a class and a static dictionary with informa...
Definition: mlRuntimeType.h:47