gwenhywfar
4.12.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
gwenhywfar4
gwenhywfar
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
;
40
typedef
struct
GWEN_PLUGIN_MANAGER
GWEN_PLUGIN_MANAGER
;
41
42
GWEN_INHERIT_FUNCTION_LIB_DEFS
(
GWEN_PLUGIN
,
GWENHYWFAR_API
)
43
GWEN_INHERIT_FUNCTION_LIB_DEFS
(
GWEN_PLUGIN_MANAGER
,
GWENHYWFAR_API
)
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
67
GWENHYWFAR_API
68
GWEN_PLUGIN
*
GWEN_Plugin_new
(
GWEN_PLUGIN_MANAGER
*pm,
69
const
char
*name,
70
const
char
*fileName);
71
72
GWENHYWFAR_API
73
void
GWEN_Plugin_free
(
GWEN_PLUGIN
*p);
74
75
GWENHYWFAR_API
76
GWEN_PLUGIN_MANAGER
*
GWEN_Plugin_GetManager
(
const
GWEN_PLUGIN
*p);
77
78
GWENHYWFAR_API
79
const
char
*
GWEN_Plugin_GetName
(
const
GWEN_PLUGIN
*p);
80
81
GWENHYWFAR_API
82
const
char
*
GWEN_Plugin_GetFileName
(
const
GWEN_PLUGIN
*p);
83
84
GWENHYWFAR_API
85
GWEN_LIBLOADER
*
GWEN_Plugin_GetLibLoader
(
const
GWEN_PLUGIN
*p);
86
87
88
89
90
91
96
GWENHYWFAR_API
97
GWEN_PLUGIN_MANAGER
*
GWEN_PluginManager_new
(
const
char
*name,
98
const
char
*destLib);
99
100
GWENHYWFAR_API
101
void
GWEN_PluginManager_free
(
GWEN_PLUGIN_MANAGER
*pm);
102
103
104
GWENHYWFAR_API
105
const
char
*
GWEN_PluginManager_GetName
(
const
GWEN_PLUGIN_MANAGER
*pm);
106
112
GWENHYWFAR_API
113
int
GWEN_PluginManager_AddPath
(
GWEN_PLUGIN_MANAGER
*pm,
114
const
char
*callingLib,
115
const
char
*path);
116
117
GWENHYWFAR_API
118
int
GWEN_PluginManager_AddRelPath
(
GWEN_PLUGIN_MANAGER
*pm,
119
const
char
*callingLib,
120
const
char
*relpath,
121
GWEN_PATHMANAGER_RELMODE
rm);
122
128
GWENHYWFAR_API
129
int
GWEN_PluginManager_InsertPath
(
GWEN_PLUGIN_MANAGER
*pm,
130
const
char
*callingLib,
131
const
char
*path);
132
138
GWENHYWFAR_API
139
int
GWEN_PluginManager_InsertRelPath
(
GWEN_PLUGIN_MANAGER
*pm,
140
const
char
*callingLib,
141
const
char
*relpath,
142
GWEN_PATHMANAGER_RELMODE
rm);
143
144
145
GWENHYWFAR_API
146
int
GWEN_PluginManager_RemovePath
(
GWEN_PLUGIN_MANAGER
*pm,
147
const
char
*callingLib,
148
const
char
*path);
149
173
GWENHYWFAR_API
174
int
GWEN_PluginManager_AddPathFromWinReg
(
GWEN_PLUGIN_MANAGER
*pm,
175
const
char
*callingLib,
176
const
char
*keypath,
177
const
char
*varname);
178
181
GWENHYWFAR_API
182
GWEN_STRINGLIST
*
GWEN_PluginManager_GetPaths
(
const
GWEN_PLUGIN_MANAGER
*pm);
183
184
GWENHYWFAR_API
185
GWEN_PLUGIN
*
GWEN_PluginManager_LoadPlugin
(
GWEN_PLUGIN_MANAGER
*pm,
186
const
char
*modName);
187
188
GWENHYWFAR_API
189
GWEN_PLUGIN
*
GWEN_PluginManager_LoadPluginFile
(
GWEN_PLUGIN_MANAGER
*pm,
190
const
char
*modName,
191
const
char
*fname);
192
193
194
GWENHYWFAR_API
195
GWEN_PLUGIN
*
GWEN_PluginManager_GetPlugin
(
GWEN_PLUGIN_MANAGER
*pm,
196
const
char
*s);
197
203
GWENHYWFAR_API
204
void
GWEN_PluginManager_AddPlugin
(
GWEN_PLUGIN_MANAGER
*pm,
GWEN_PLUGIN
*p);
205
206
207
GWENHYWFAR_API
208
int
GWEN_PluginManager_Register
(
GWEN_PLUGIN_MANAGER
*pm);
209
210
GWENHYWFAR_API
211
int
GWEN_PluginManager_Unregister
(
GWEN_PLUGIN_MANAGER
*pm);
212
213
GWENHYWFAR_API
214
GWEN_PLUGIN_MANAGER
*
GWEN_PluginManager_FindPluginManager
(
const
char
*s);
215
216
217
GWENHYWFAR_API
218
GWEN_PLUGIN_DESCRIPTION_LIST2
*
219
GWEN_PluginManager_GetPluginDescrs
(
GWEN_PLUGIN_MANAGER
*pm);
220
221
222
GWENHYWFAR_API
223
GWEN_PLUGIN_DESCRIPTION
*
224
GWEN_PluginManager_GetPluginDescr
(
GWEN_PLUGIN_MANAGER
*pm,
225
const
char
*modName);
226
227
228
#ifdef __cplusplus
229
}
230
#endif
231
232
#endif
233
234
Generated on Thu Nov 13 2014 21:37:51 for gwenhywfar by
1.8.1.2