gwenhywfar  5.3.0
plugin.h
Go to the documentation of this file.
1 /***************************************************************************
2  $RCSfile$
3  -------------------
4  cvs : $Id$
5  begin : Fri Sep 12 2003
6  copyright : (C) 2003 by Martin Preuss
7  email : martin@libchipcard.de
8 
9  ***************************************************************************
10  * *
11  * This library is free software; you can redistribute it and/or *
12  * modify it under the terms of the GNU Lesser General Public *
13  * License as published by the Free Software Foundation; either *
14  * version 2.1 of the License, or (at your option) any later version. *
15  * *
16  * This library is distributed in the hope that it will be useful, *
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
19  * Lesser General Public License for more details. *
20  * *
21  * You should have received a copy of the GNU Lesser General Public *
22  * License along with this library; if not, write to the Free Software *
23  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, *
24  * MA 02111-1307 USA *
25  * *
26  ***************************************************************************/
27 
28 
29 #ifndef GWENHYWFAR_PLUGIN_H
30 #define GWENHYWFAR_PLUGIN_H
31 
32 #include <gwenhywfar/inherit.h>
33 #include <gwenhywfar/misc.h>
34 
35 #ifdef __cplusplus
36 extern "C" {
37 #endif
38 
39 typedef struct GWEN_PLUGIN GWEN_PLUGIN;
41 
44 
45 #ifdef __cplusplus
46 }
47 #endif
48 
49 #include <gwenhywfar/error.h>
50 #include <gwenhywfar/libloader.h>
51 #include <gwenhywfar/plugindescr.h>
52 #include <gwenhywfar/stringlist.h>
53 #include <gwenhywfar/pathmanager.h>
54 
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58 
59 
60 
61 
62 typedef GWEN_PLUGIN *(*GWEN_PLUGIN_FACTORYFN)(GWEN_PLUGIN_MANAGER *pm,
63  const char *name,
64  const char *fileName);
65 
66 
69  const char *name,
70  const char *fileName);
71 
74 
77 
79 const char *GWEN_Plugin_GetName(const GWEN_PLUGIN *p);
80 
82 const char *GWEN_Plugin_GetFileName(const GWEN_PLUGIN *p);
83 
86 
87 
88 
89 
90 
91 
98  const char *destLib);
99 
102 
103 
105 const char *GWEN_PluginManager_GetName(const GWEN_PLUGIN_MANAGER *pm);
106 
114  const char *callingLib,
115  const char *path);
116 
119  const char *callingLib,
120  const char *relpath,
122 
130  const char *callingLib,
131  const char *path);
132 
140  const char *callingLib,
141  const char *relpath,
143 
144 
147  const char *callingLib,
148  const char *path);
149 
175  const char *callingLib,
176  const char *keypath,
177  const char *varname);
178 
183 
186  const char *modName);
187 
190  const char *modName,
191  const char *fname);
192 
193 
196  const char *s);
197 
205 
206 
209 
212 
215 
216 
220 
221 
225  const char *modName);
226 
227 
228 #ifdef __cplusplus
229 }
230 #endif
231 
232 #endif
233 
234 
GWEN_PluginManager_LoadPlugin
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_LoadPlugin(GWEN_PLUGIN_MANAGER *pm, const char *modName)
GWEN_STRINGLIST
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
Definition: stringlist.h:54
GWEN_PLUGIN_DESCRIPTION
struct GWEN_PLUGIN_DESCRIPTION GWEN_PLUGIN_DESCRIPTION
Definition: plugindescr.h:41
GWEN_PluginManager_GetPluginDescrs
GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION_LIST2 * GWEN_PluginManager_GetPluginDescrs(GWEN_PLUGIN_MANAGER *pm)
GWEN_PluginManager_GetName
const GWENHYWFAR_API char * GWEN_PluginManager_GetName(const GWEN_PLUGIN_MANAGER *pm)
GWEN_PLUGIN
struct GWEN_PLUGIN GWEN_PLUGIN
Definition: plugin.h:39
GWEN_PluginManager_AddRelPath
GWENHYWFAR_API int GWEN_PluginManager_AddRelPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *relpath, GWEN_PATHMANAGER_RELMODE rm)
GWEN_PluginManager_Register
GWENHYWFAR_API int GWEN_PluginManager_Register(GWEN_PLUGIN_MANAGER *pm)
GWEN_PluginManager_AddPlugin
GWENHYWFAR_API void GWEN_PluginManager_AddPlugin(GWEN_PLUGIN_MANAGER *pm, GWEN_PLUGIN *p)
pathmanager.h
GWEN_INHERIT_FUNCTION_LIB_DEFS
#define GWEN_INHERIT_FUNCTION_LIB_DEFS(t, decl)
Definition: inherit.h:125
GWEN_PluginManager_GetPaths
GWENHYWFAR_API GWEN_STRINGLIST * GWEN_PluginManager_GetPaths(const GWEN_PLUGIN_MANAGER *pm)
GWEN_PLUGIN_MANAGER
struct GWEN_PLUGIN_MANAGER GWEN_PLUGIN_MANAGER
Definition: plugin.h:40
plugindescr.h
GWEN_PluginManager_free
GWENHYWFAR_API void GWEN_PluginManager_free(GWEN_PLUGIN_MANAGER *pm)
GWEN_PLUGIN_DESCRIPTION_LIST2
struct GWEN_PLUGIN_DESCRIPTION_LIST2 GWEN_PLUGIN_DESCRIPTION_LIST2
Definition: listdoc.h:6238
misc.h
error.h
GWEN_PluginManager_Unregister
GWENHYWFAR_API int GWEN_PluginManager_Unregister(GWEN_PLUGIN_MANAGER *pm)
GWEN_LIBLOADER
struct GWEN_LIBLOADER GWEN_LIBLOADER
Definition: libloader.h:60
GWEN_PluginManager_new
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_new(const char *name, const char *destLib)
GWEN_PluginManager_AddPath
GWENHYWFAR_API int GWEN_PluginManager_AddPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *path)
libloader.h
GWEN_Plugin_new
GWENHYWFAR_API GWEN_PLUGIN * GWEN_Plugin_new(GWEN_PLUGIN_MANAGER *pm, const char *name, const char *fileName)
GWEN_PluginManager_GetPlugin
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_GetPlugin(GWEN_PLUGIN_MANAGER *pm, const char *s)
GWEN_PluginManager_GetPluginDescr
GWENHYWFAR_API GWEN_PLUGIN_DESCRIPTION * GWEN_PluginManager_GetPluginDescr(GWEN_PLUGIN_MANAGER *pm, const char *modName)
GWEN_PATHMANAGER_RELMODE
GWEN_PATHMANAGER_RELMODE
Definition: pathmanager.h:38
GWEN_Plugin_GetLibLoader
GWENHYWFAR_API GWEN_LIBLOADER * GWEN_Plugin_GetLibLoader(const GWEN_PLUGIN *p)
GWEN_PluginManager_FindPluginManager
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_PluginManager_FindPluginManager(const char *s)
GWEN_Plugin_free
GWENHYWFAR_API void GWEN_Plugin_free(GWEN_PLUGIN *p)
GWEN_PluginManager_LoadPluginFile
GWENHYWFAR_API GWEN_PLUGIN * GWEN_PluginManager_LoadPluginFile(GWEN_PLUGIN_MANAGER *pm, const char *modName, const char *fname)
GWEN_PluginManager_RemovePath
GWENHYWFAR_API int GWEN_PluginManager_RemovePath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *path)
GWEN_PluginManager_InsertRelPath
GWENHYWFAR_API int GWEN_PluginManager_InsertRelPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *relpath, GWEN_PATHMANAGER_RELMODE rm)
GWEN_PluginManager_AddPathFromWinReg
GWENHYWFAR_API int GWEN_PluginManager_AddPathFromWinReg(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *keypath, const char *varname)
GWEN_Plugin_GetName
const GWENHYWFAR_API char * GWEN_Plugin_GetName(const GWEN_PLUGIN *p)
GWENHYWFAR_API
#define GWENHYWFAR_API
Definition: gwenhywfarapi.h:67
GWEN_Plugin_GetManager
GWENHYWFAR_API GWEN_PLUGIN_MANAGER * GWEN_Plugin_GetManager(const GWEN_PLUGIN *p)
stringlist.h
inherit.h
GWEN_PluginManager_InsertPath
GWENHYWFAR_API int GWEN_PluginManager_InsertPath(GWEN_PLUGIN_MANAGER *pm, const char *callingLib, const char *path)
GWEN_Plugin_GetFileName
const GWENHYWFAR_API char * GWEN_Plugin_GetFileName(const GWEN_PLUGIN *p)