gwenhywfar 5.12.0
plugin.h
Go to the documentation of this file.
1/***************************************************************************
2 begin : Fri Sep 12 2003
3 copyright : (C) 2022 by Martin Preuss
4 email : martin@libchipcard.de
5
6 ***************************************************************************
7 * *
8 * This library is free software; you can redistribute it and/or *
9 * modify it under the terms of the GNU Lesser General Public *
10 * License as published by the Free Software Foundation; either *
11 * version 2.1 of the License, or (at your option) any later version. *
12 * *
13 * This library is distributed in the hope that it will be useful, *
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
16 * Lesser General Public License for more details. *
17 * *
18 * You should have received a copy of the GNU Lesser General Public *
19 * License along with this library; if not, write to the Free Software *
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
21 * MA 02111-1307 USA *
22 * *
23 ***************************************************************************/
24
25
26#ifndef GWENHYWFAR_PLUGIN_H
27#define GWENHYWFAR_PLUGIN_H
28
29#include <gwenhywfar/inherit.h>
30#include <gwenhywfar/misc.h>
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36typedef struct GWEN_PLUGIN GWEN_PLUGIN;
38
41
42#ifdef __cplusplus
43}
44#endif
45
46#include <gwenhywfar/error.h>
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
56
57
58
59typedef GWEN_PLUGIN *(*GWEN_PLUGIN_FACTORYFN)(GWEN_PLUGIN_MANAGER *pm,
60 const char *name,
61 const char *fileName);
62
63
66 const char *name,
67 const char *fileName);
68
71
74
76const char *GWEN_Plugin_GetName(const GWEN_PLUGIN *p);
77
80
83
86
89
90
91
92
93
100 const char *destLib);
101
104
105
108
116 const char *callingLib,
117 const char *path);
118
121 const char *callingLib,
122 const char *relpath,
124
132 const char *callingLib,
133 const char *path);
134
142 const char *callingLib,
143 const char *relpath,
145
146
149 const char *callingLib,
150 const char *path);
151
177 const char *callingLib,
178 const char *keypath,
179 const char *varname);
180
185
188 const char *modName);
189
192 const char *modName,
193 const char *fname);
194
195
198 const char *s);
199
207
208
211
214
217
218
222
223
227 const char *modName);
228
229
230#ifdef __cplusplus
231}
232#endif
233
234#endif
235
236
#define GWENHYWFAR_API
#define GWEN_INHERIT_FUNCTION_LIB_DEFS(t, decl)
Definition inherit.h:125
struct GWEN_LIBLOADER GWEN_LIBLOADER
Definition libloader.h:60
struct GWEN_PLUGIN_DESCRIPTION_LIST2 GWEN_PLUGIN_DESCRIPTION_LIST2
Definition listdoc.h:6538
GWEN_PATHMANAGER_RELMODE
Definition pathmanager.h:38
GWENHYWFAR_API int GWEN_PluginManager_AddPathFromWinReg(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *keypath, const char *varname)
GWENHYWFAR_API void GWEN_Plugin_free(GWEN_PLUGIN *p)
GWENHYWFAR_API int GWEN_PluginManager_Unregister(GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION_LIST2 * GWEN_PluginManager_GetPluginDescrs(GWEN_PLUGIN_MANAGER *pm)
struct GWEN_PLUGIN_MANAGER GWEN_PLUGIN_MANAGER
Definition plugin.h:37
GWENHYWFAR_API void GWEN_Plugin_SetPluginDescription(GWEN_PLUGIN *p, GWEN_PLUGIN_DESCRIPTION *pd)
GWENHYWFAR_API const char * GWEN_Plugin_GetFileName(const GWEN_PLUGIN *p)
GWENHYWFAR_API int GWEN_PluginManager_AddRelPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *relpath, GWEN_PATHMANAGER_RELMODE rm)
GWENHYWFAR_API GWEN_PLUGIN * GWEN_Plugin_new(GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName)
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_GetPlugin(GWEN_PLUGIN_MANAGER *pm, const char *s)
GWENHYWFAR_API void GWEN_PluginManager_free(GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API int GWEN_PluginManager_Register(GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_Plugin_GetManager(const GWEN_PLUGIN *p)
GWENHYWFAR_API int GWEN_PluginManager_InsertRelPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *relpath, GWEN_PATHMANAGER_RELMODE rm)
GWENHYWFAR_API GWEN_LIBLOADER * GWEN_Plugin_GetLibLoader(const GWEN_PLUGIN *p)
GWENHYWFAR_API const GWEN_PLUGIN_DESCRIPTION * GWEN_Plugin_GetPluginDescription(const GWEN_PLUGIN *p)
GWENHYWFAR_API int GWEN_PluginManager_AddPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *path)
GWENHYWFAR_API void GWEN_PluginManager_AddPlugin(GWEN_PLUGIN_MANAGER *pm, GWEN_PLUGIN *p)
GWENHYWFAR_API const char * GWEN_PluginManager_GetName(const GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API const char * GWEN_Plugin_GetName(const GWEN_PLUGIN *p)
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_FindPluginManager(const char *s)
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_LoadPlugin(GWEN_PLUGIN_MANAGER *pm, const char *modName)
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_new(const char *name, const char *destLib)
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_PluginManager_GetPaths(const GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_LoadPluginFile(GWEN_PLUGIN_MANAGER *pm, const char *modName, const char *fname)
GWENHYWFAR_API int GWEN_PluginManager_RemovePath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *path)
GWENHYWFAR_API int GWEN_PluginManager_InsertPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *path)
GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION * GWEN_PluginManager_GetPluginDescr(GWEN_PLUGIN_MANAGER *pm, const char *modName)
struct GWEN_PLUGIN GWEN_PLUGIN
Definition plugin.h:36
struct GWEN_PLUGIN_DESCRIPTION GWEN_PLUGIN_DESCRIPTION
Definition plugindescr.h:38
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition stringlist.h:56