32 #ifndef _QORE_MODULEMANAGER_H 34 #define _QORE_MODULEMANAGER_H 36 #include <qore/QoreThreadLock.h> 37 #include <qore/QoreString.h> 45 #define QORE_MODULE_API_MAJOR 0 46 #define QORE_MODULE_API_MINOR 23 48 #define QORE_MODULE_COMPAT_API_MAJOR 0 49 #define QORE_MODULE_COMPAT_API_MINOR 23 80 enum mod_op_e { MOD_OP_NONE, MOD_OP_EQ, MOD_OP_GT,
81 MOD_OP_GE, MOD_OP_LT, MOD_OP_LE };
100 DLLEXPORT
static void addModuleDir(
const char *dir);
106 DLLEXPORT
static void addAutoModuleDir(
const char *dir);
112 DLLEXPORT
static void addModuleDirList(
const char *strlist);
118 DLLEXPORT
static void addAutoModuleDirList(
const char *strlist);
135 DLLEXPORT
static int runTimeLoadModule(
const char *name,
ExceptionSink *xsink);
158 DLLEXPORT
void registerUserModuleFromSource(
const char* name,
const char* src,
QoreProgram *pgm,
ExceptionSink* xsink);
161 DLLEXPORT
static void addStandardModulePaths();
170 static inline bool is_module_api_supported(
int major,
int minor) {
177 #endif // _QORE_MODULEMANAGER_H void(* qore_module_delete_t)()
signature of the module destructor function
Definition: ModuleManager.h:75
DLLEXPORT const qore_mod_api_compat_s * qore_mod_api_list
list of module APIs this library supports
This is the hash or associative list container type in Qore, dynamically allocated only...
Definition: QoreHashNode.h:50
contains constants, classes, and subnamespaces in QoreProgram objects
Definition: QoreNamespace.h:64
void(* qore_module_ns_init_t)(QoreNamespace *root_ns, QoreNamespace *qore_ns)
signature of the module namespace change/delta function
Definition: ModuleManager.h:72
void(* qore_module_parse_cmd_t)(const QoreString &cmd, ExceptionSink *xsink)
signature of the module parse command function
Definition: ModuleManager.h:78
Qore's string type supported by the QoreEncoding class.
Definition: QoreString.h:81
Qore's string value type, reference counted, dynamically-allocated only.
Definition: QoreStringNode.h:50
manages the loading of Qore modules from feature or path names. Also manages adding module changes in...
Definition: ModuleManager.h:91
This is the list container type in Qore, dynamically allocated only, reference counted.
Definition: QoreListNode.h:52
supports parsing and executing Qore-language code, reference counted, dynamically-allocated only ...
Definition: QoreProgram.h:126
container for holding Qore-language exception information and also for registering a "thread_exit" ca...
Definition: ExceptionSink.h:46
element of qore_mod_api_list;
Definition: ModuleManager.h:52
DLLEXPORT ModuleManager MM
the global ModuleManager object
DLLEXPORT const unsigned qore_mod_api_list_len
number of elements in qore_mod_api_list;