ComSDK
|
Средства для загрузки данных из библиотек Подробнее...
Классы | |
class | DllLoader |
Класс для загрузки библиотек и получения объектов из них Подробнее... | |
Функции | |
template<class TDllHandle > | |
int | loadLibrary (const std::string &p_dllname, TDllHandle &o_dll) |
template<class FunctionType , class TDllHandle > | |
FunctionType * | loadFunction (TDllHandle p_dll, const std::string &p_regfunc) |
template<class FunctionType , class TDllHandle > | |
FunctionType * | loadFunction (const std::string &p_dllname, const std::string &p_regfunc, TDllHandle &o_dll) |
template<class TDllHandle > | |
void | unloadLibrary (TDllHandle p_dll) |
template<class OutClass > | |
OutClass * | registerObject (void *p_func, const std::string &p_input_file="") |
template<class OutClass , class TDllHandle > | |
OutClass * | registerObject (const std::string &p_dllname, const std::string &p_regfunc, TDllHandle &o_dll, const std::string &p_input_file="") |
template<class OutClass , class InputParam , class TDllHandle > | |
OutClass * | registerQualifiedObject (const std::string &p_dllname, const std::string &p_regfunc, TDllHandle &o_dll, const InputParam &p_input_data) |
template<class OutClass , class TDllHandle > | |
void | unregisterObject (OutClass *p_obj, TDllHandle p_dll) |
Средства для загрузки данных из библиотек
Средства для загрузки данных из библиотек и их функций, создание объектов из классов библиотек с помощью специальных стандартных функций. Также в нем объявлены макросы MAC_DLLEXPORT и MAC_DLLEXPORT_FROMEXE, которые должны использоваться при создании плагинов и экспортируемых функций в исполняемых файлах, и кроссплатформенный тип для идентификаторов библиотек DllHandle.
FunctionType* com::lib::loadFunction | ( | TDllHandle | p_dll, |
const std::string & | p_regfunc | ||
) |
Динамически загружает функцию из уже загруженной разделяемой библиотеки.
[in] | p_regfunc | Имя загружаемой функции |
[out] | o_dll | Идентификатор библиотеки |
FunctionType* com::lib::loadFunction | ( | const std::string & | p_dllname, |
const std::string & | p_regfunc, | ||
TDllHandle & | o_dll | ||
) |
Динамически загружает функцию из разделяемой библиотеки.
[in] | p_dllname | Имя библиотеки |
[in] | p_regfunc | Имя загружаемой функции |
[out] | o_dll | Идентификатор библиотеки |
int com::lib::loadLibrary | ( | const std::string & | p_dllname, |
TDllHandle & | o_dll | ||
) |
Динамически загружает разделяемую библиотеку.
[in] | p_dllname | Имя библиотеки |
[out] | o_dll | Идентификатор библиотеки |
OutClass* com::lib::registerObject | ( | void * | p_func, |
const std::string & | p_input_file = "" |
||
) |
Загружает объекта класса OutClass из функции.
[in] | p_func | Указатель на загруженную функцию, возвращающую объект |
[in] | p_input_file | Имя файла, которое будет передано как параметр функции |
OutClass* com::lib::registerObject | ( | const std::string & | p_dllname, |
const std::string & | p_regfunc, | ||
TDllHandle & | o_dll, | ||
const std::string & | p_input_file = "" |
||
) |
Загружает объекта класса OutClass из функции, находящейся в разделяемой библиотеке.
[in] | p_dllname | Имя библиотеки |
[in] | p_regfunc | Имя загружаемой функции |
[out] | o_dll | Идентификатор библиотеки |
[in] | p_input_file | Имя файла, которое будет передано как параметр функции |
OutClass* com::lib::registerQualifiedObject | ( | const std::string & | p_dllname, |
const std::string & | p_regfunc, | ||
TDllHandle & | o_dll, | ||
const InputParam & | p_input_data | ||
) |
Загружает объекта класса OutClass из функции, находящейся в разделяемой библиотеке. Позволяет передать параметр по шаблону InputParam
[in] | p_dllname | Имя библиотеки |
[in] | p_regfunc | Имя загружаемой функции |
[out] | o_dll | Идентификатор библиотеки |
[in] | p_input_data | Объект шаблонного типа InputParam, который будет передан как параметр функции |
void com::lib::unloadLibrary | ( | TDllHandle | p_dll | ) |
Выгружает загруженную библиотеку.
[in] | p_dll | Идентификатор библиотеки |
void com::lib::unregisterObject | ( | OutClass * | p_obj, |
TDllHandle | p_dll | ||
) |
Выгружает загруженный из разделяемой библиотеки объект.
[in] | p_obj | Выгружаемый объект |
[in] | o_dll | Идентификатор библиотеки |