|
gwenhywfar 5.14.1
|
#include <gwenhywfar/inherit.h>#include <gwenhywfar/misc.h>#include <gwenhywfar/error.h>#include <gwenhywfar/libloader.h>#include <gwenhywfar/plugindescr.h>#include <gwenhywfar/stringlist.h>#include <gwenhywfar/pathmanager.h>

Go to the source code of this file.
Typedefs | |
| typedef struct GWEN_PLUGIN | GWEN_PLUGIN |
| typedef GWEN_PLUGIN *(* | GWEN_PLUGIN_FACTORYFN) (GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName) |
| typedef struct GWEN_PLUGIN_MANAGER | GWEN_PLUGIN_MANAGER |
| typedef struct GWEN_PLUGIN GWEN_PLUGIN |
| typedef GWEN_PLUGIN *(* GWEN_PLUGIN_FACTORYFN) (GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName) |
| typedef struct GWEN_PLUGIN_MANAGER GWEN_PLUGIN_MANAGER |
| GWENHYWFAR_API void GWEN_Plugin_free | ( | GWEN_PLUGIN * | p | ) |
Definition at line 98 of file plugin.c.
References DBG_MEM_DEC, GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, GWEN_LibLoader_CloseLibrary(), GWEN_LibLoader_free(), GWEN_LIST_FINI, and GWEN_PluginDescription_free().

| GWENHYWFAR_API const char * GWEN_Plugin_GetFileName | ( | const GWEN_PLUGIN * | p | ) |
| GWENHYWFAR_API GWEN_LIBLOADER * GWEN_Plugin_GetLibLoader | ( | const GWEN_PLUGIN * | p | ) |
| GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_Plugin_GetManager | ( | const GWEN_PLUGIN * | p | ) |
Definition at line 130 of file plugin.c.
Referenced by GWEN_Crypt_TokenOHBCI_Plugin_CreateToken().

| GWENHYWFAR_API const char * GWEN_Plugin_GetName | ( | const GWEN_PLUGIN * | p | ) |
Definition at line 138 of file plugin.c.
Referenced by _checkPlugin(), and GWEN_PluginManager_AddPlugin().

| GWENHYWFAR_API const GWEN_PLUGIN_DESCRIPTION * GWEN_Plugin_GetPluginDescription | ( | const GWEN_PLUGIN * | p | ) |
Definition at line 170 of file plugin.c.
Referenced by _getPluginDescrsFromPluginList(), and GWEN_PluginManager_AddPlugin().

| GWENHYWFAR_API GWEN_PLUGIN * GWEN_Plugin_new | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | name, | ||
| const char * | fileName ) |
Definition at line 77 of file plugin.c.
References DBG_MEM_INC, GWEN_INHERIT_INIT, GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
Referenced by GWEN_ConfigMgr_Plugin_new(), GWEN_Crypt_Token_Plugin_new(), and GWEN_DBIO_Plugin_new().

| GWENHYWFAR_API void GWEN_Plugin_SetPluginDescription | ( | GWEN_PLUGIN * | p, |
| GWEN_PLUGIN_DESCRIPTION * | pd ) |
Definition at line 178 of file plugin.c.
References GWEN_PluginDescription_free().
Referenced by _createPluginFromLibloader(), and GWEN_PluginManager_AddPlugin().


| GWENHYWFAR_API int GWEN_PluginManager_AddPath | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | callingLib, | ||
| const char * | path ) |
Add a directory path to lookup plugins from. The plugin manager must already be registered with Gwen (using GWEN_PluginManager_Register) otherwise the path can not be added
Definition at line 234 of file plugin.c.
References GWEN_PathManager_AddPath().
Referenced by GWEN_ConfigMgr_ModuleInit(), GWEN_Crypt_Token_ModuleInit(), and GWEN_DBIO_ModuleInit().


| GWENHYWFAR_API int GWEN_PluginManager_AddPathFromWinReg | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | callingLib, | ||
| const char * | keypath, | ||
| const char * | varname ) |
Add a directory path from the windows registry HKEY_LOCAL_MACHINE, to lookup plugins from. On Non-Windows systems, this function does nothing and returns zero.
Note: Gwenhywfar-2.6.0 and older used to lookup the paths under HKEY_CURRENT_USER, but with gwen-2.6.1 this was changed to HKEY_LOCAL_MACHINE because we're talking about installation paths as opposed to per-user configuration settings.
The plugin manager must already be registered with Gwen (using GWEN_PluginManager_Register) otherwise the path can not be added.
| pm | The PluginManager |
| keypath | The path to the registry key, e.g. "Software\\MySoftware\\Whatever" |
| varname | The key name (variable name?) inside the given registry key, e.g. "myvariable". |
References GWENHYWFAR_API.
| GWENHYWFAR_API void GWEN_PluginManager_AddPlugin | ( | GWEN_PLUGIN_MANAGER * | pm, |
| GWEN_PLUGIN * | p ) |
Add a plugin to this plugin manager. Normally plugins are loaded upon GWEN_PluginManager_GetPlugin. This function allows for plugins that are created by other means (e.g. by static linking)
Definition at line 677 of file plugin.c.
References DBG_ERROR, DBG_INFO, GWEN_LOGDOMAIN, GWEN_Plugin_GetName(), GWEN_Plugin_GetPluginDescription(), GWEN_Plugin_SetPluginDescription(), GWEN_PluginDescription_new(), GWEN_PluginDescription_SetName(), GWEN_PluginDescription_SetType(), and NULL.

| GWENHYWFAR_API int GWEN_PluginManager_AddRelPath | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | callingLib, | ||
| const char * | relpath, | ||
| GWEN_PATHMANAGER_RELMODE | rm ) |
Definition at line 242 of file plugin.c.
References GWEN_PathManager_AddRelPath().

| GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_FindPluginManager | ( | const char * | s | ) |
Definition at line 545 of file plugin.c.
References gwen_plugin_manager__list.
Referenced by createToken(), cryptWithNew(), getCryptToken(), GWEN_ConfigMgr_Factory(), GWEN_ConfigMgr_ModuleFini(), GWEN_Crypt_Token_ModuleFini(), GWEN_DBIO_GetPlugin(), GWEN_DBIO_ModuleFini(), GWEN_PluginManager_Register(), GWEN_PluginManager_Unregister(), and signWithNew().

| GWENHYWFAR_API void GWEN_PluginManager_free | ( | GWEN_PLUGIN_MANAGER * | pm | ) |
Definition at line 211 of file plugin.c.
References DBG_MEM_DEC, GWEN_FREE_OBJECT, GWEN_INHERIT_FINI, and GWEN_LIST_FINI.
Referenced by GWEN_ConfigMgr_ModuleFini(), GWEN_Crypt_Token_ModuleFini(), and GWEN_DBIO_ModuleFini().

| GWENHYWFAR_API const char * GWEN_PluginManager_GetName | ( | const GWEN_PLUGIN_MANAGER * | pm | ) |
| GWENHYWFAR_API GWEN_STRINGLIST * GWEN_PluginManager_GetPaths | ( | const GWEN_PLUGIN_MANAGER * | pm | ) |
Returns the list of all search paths of the given PluginManager.
Definition at line 648 of file plugin.c.
References GWEN_PathManager_GetPaths().

| GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_GetPlugin | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | s ) |
Definition at line 522 of file plugin.c.
References _findPluginInListByName(), DBG_INFO, GWEN_LOGDOMAIN, and GWEN_PluginManager_LoadPlugin().
Referenced by createToken(), cryptWithNew(), getCryptToken(), GWEN_ConfigMgr_Factory(), GWEN_Crypt_Token_PluginManager_CheckToken(), GWEN_DBIO_GetPlugin(), and signWithNew().


| GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION * GWEN_PluginManager_GetPluginDescr | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | modName ) |
Definition at line 656 of file plugin.c.
References _findPluginDescrByNameInList2(), GWEN_PluginDescription_Attach(), GWEN_PluginDescription_List2_freeAll(), GWEN_PluginManager_GetPluginDescrs(), and NULL.

| GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION_LIST2 * GWEN_PluginManager_GetPluginDescrs | ( | GWEN_PLUGIN_MANAGER * | pm | ) |
Definition at line 623 of file plugin.c.
References _combinedPluginDescrList(), _getPluginDescrsFromPluginList(), _loadPluginDescrs(), and GWEN_PluginDescription_List2_freeAll().
Referenced by GWEN_Crypt_Token_PluginManager_GetPluginDescrs(), and GWEN_PluginManager_GetPluginDescr().


| GWENHYWFAR_API int GWEN_PluginManager_InsertPath | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | callingLib, | ||
| const char * | path ) |
Insert a directory path to lookup plugins from. The plugin manager must already be registered with Gwen (using GWEN_PluginManager_Register) otherwise the path can not be added.
Definition at line 250 of file plugin.c.
References GWEN_PathManager_InsertPath().

| GWENHYWFAR_API int GWEN_PluginManager_InsertRelPath | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | callingLib, | ||
| const char * | relpath, | ||
| GWEN_PATHMANAGER_RELMODE | rm ) |
Insert a directory path to lookup plugins from. The plugin manager must already be registered with Gwen (using GWEN_PluginManager_Register) otherwise the path can not be added. This function uses relative paths.
Definition at line 258 of file plugin.c.
References GWEN_PathManager_InsertRelPath().

| GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_LoadPlugin | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | modName ) |
Definition at line 340 of file plugin.c.
References _createPluginFromLibloader(), _searchAndLoadModule(), _setLibLoader(), DBG_INFO, GWEN_LibLoader_CloseLibrary(), GWEN_LibLoader_free(), GWEN_LOGDOMAIN, and NULL.
Referenced by GWEN_PluginManager_GetPlugin().


| GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_LoadPluginFile | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | modName, | ||
| const char * | fname ) |
Definition at line 464 of file plugin.c.
References _setLibLoader(), DBG_INFO, DBG_INFO_ERR, GWEN_Buffer_AppendByte(), GWEN_Buffer_AppendString(), GWEN_Buffer_free(), GWEN_Buffer_GetStart(), GWEN_Buffer_new(), GWEN_LibLoader_CloseLibrary(), GWEN_LibLoader_free(), GWEN_LibLoader_new(), GWEN_LibLoader_OpenLibrary(), GWEN_LibLoader_Resolve(), and GWEN_LOGDOMAIN.

| GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_new | ( | const char * | name, |
| const char * | destLib ) |
| destLib | The name of the library that this plugin is supposed to belong to. |
Definition at line 192 of file plugin.c.
References DBG_MEM_INC, GWEN_INHERIT_INIT, GWEN_LIST_INIT, and GWEN_NEW_OBJECT.
Referenced by GWEN_ConfigMgr_ModuleInit(), GWEN_Crypt_Token_ModuleInit(), and GWEN_DBIO_ModuleInit().

| GWENHYWFAR_API int GWEN_PluginManager_Register | ( | GWEN_PLUGIN_MANAGER * | pm | ) |
Definition at line 561 of file plugin.c.
References DBG_ERROR, DBG_INFO, GWEN_LOGDOMAIN, GWEN_PathManager_DefinePath(), gwen_plugin_manager__list, and GWEN_PluginManager_FindPluginManager().
Referenced by GWEN_ConfigMgr_ModuleInit(), GWEN_Crypt_Token_ModuleInit(), and GWEN_DBIO_ModuleInit().


| GWENHYWFAR_API int GWEN_PluginManager_RemovePath | ( | GWEN_PLUGIN_MANAGER * | pm, |
| const char * | callingLib, | ||
| const char * | path ) |
Definition at line 266 of file plugin.c.
References GWEN_PathManager_RemovePath().

| GWENHYWFAR_API int GWEN_PluginManager_Unregister | ( | GWEN_PLUGIN_MANAGER * | pm | ) |
Definition at line 592 of file plugin.c.
References DBG_ERROR, DBG_INFO, GWEN_LOGDOMAIN, GWEN_PathManager_UndefinePath(), gwen_plugin_manager__list, and GWEN_PluginManager_FindPluginManager().
Referenced by GWEN_ConfigMgr_ModuleFini(), GWEN_Crypt_Token_ModuleFini(), and GWEN_DBIO_ModuleFini().

