gwenhywfar  5.11.1beta
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
33 extern "C" {
34 #endif
35 
36 typedef struct GWEN_PLUGIN GWEN_PLUGIN;
38 
41 
42 #ifdef __cplusplus
43 }
44 #endif
45 
46 #include <gwenhywfar/error.h>
47 #include <gwenhywfar/libloader.h>
48 #include <gwenhywfar/plugindescr.h>
49 #include <gwenhywfar/stringlist.h>
50 #include <gwenhywfar/pathmanager.h>
51 
52 #ifdef __cplusplus
53 extern "C" {
54 #endif
55 
56 
57 
58 
59 typedef 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 
76 const char *GWEN_Plugin_GetName(const GWEN_PLUGIN *p);
77 
79 const char *GWEN_Plugin_GetFileName(const GWEN_PLUGIN *p);
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
Definition: gwenhywfarapi.h:67
#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 GWEN_PLUGIN_DESCRIPTION_LIST2 * GWEN_PluginManager_GetPluginDescrs(GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_new(const char *name, const char *destLib)
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_GetPlugin(GWEN_PLUGIN_MANAGER *pm, const char *s)
GWENHYWFAR_API int GWEN_PluginManager_AddPathFromWinReg(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *keypath, const char *varname)
GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION * GWEN_PluginManager_GetPluginDescr(GWEN_PLUGIN_MANAGER *pm, const char *modName)
GWENHYWFAR_API void GWEN_Plugin_free(GWEN_PLUGIN *p)
GWENHYWFAR_API int GWEN_PluginManager_Unregister(GWEN_PLUGIN_MANAGER *pm)
struct GWEN_PLUGIN_MANAGER GWEN_PLUGIN_MANAGER
Definition: plugin.h:37
GWENHYWFAR_API const char * GWEN_PluginManager_GetName(const GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API void GWEN_Plugin_SetPluginDescription(GWEN_PLUGIN *p, GWEN_PLUGIN_DESCRIPTION *pd)
GWENHYWFAR_API int GWEN_PluginManager_AddRelPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *relpath, GWEN_PATHMANAGER_RELMODE rm)
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_FindPluginManager(const char *s)
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_Plugin_GetManager(const GWEN_PLUGIN *p)
GWENHYWFAR_API void GWEN_PluginManager_free(GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API int GWEN_PluginManager_Register(GWEN_PLUGIN_MANAGER *pm)
GWENHYWFAR_API GWEN_PLUGIN * GWEN_Plugin_new(GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName)
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 GWEN_PLUGIN * GWEN_PluginManager_LoadPlugin(GWEN_PLUGIN_MANAGER *pm, const char *modName)
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_Plugin_GetName(const GWEN_PLUGIN *p)
GWENHYWFAR_API const char * GWEN_Plugin_GetFileName(const GWEN_PLUGIN *p)
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 const GWEN_PLUGIN_DESCRIPTION * GWEN_Plugin_GetPluginDescription(const GWEN_PLUGIN *p)
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)
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