gwenhywfar
4.8.0beta
Main Page
Related Pages
Modules
Data Structures
Files
File List
Globals
src
base
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
133
GWENHYWFAR_API
134
int
GWEN_PluginManager_RemovePath
(
GWEN_PLUGIN_MANAGER
*pm,
135
const
char
*callingLib,
136
const
char
*path);
137
161
GWENHYWFAR_API
162
int
GWEN_PluginManager_AddPathFromWinReg
(
GWEN_PLUGIN_MANAGER
*pm,
163
const
char
*callingLib,
164
const
char
*keypath,
165
const
char
*varname);
166
169
GWENHYWFAR_API
170
GWEN_STRINGLIST
*
GWEN_PluginManager_GetPaths
(
const
GWEN_PLUGIN_MANAGER
*pm);
171
172
GWENHYWFAR_API
173
GWEN_PLUGIN
*
GWEN_PluginManager_LoadPlugin
(
GWEN_PLUGIN_MANAGER
*pm,
174
const
char
*modName);
175
176
GWENHYWFAR_API
177
GWEN_PLUGIN
*
GWEN_PluginManager_LoadPluginFile
(
GWEN_PLUGIN_MANAGER
*pm,
178
const
char
*modName,
179
const
char
*fname);
180
181
182
GWENHYWFAR_API
183
GWEN_PLUGIN
*
GWEN_PluginManager_GetPlugin
(
GWEN_PLUGIN_MANAGER
*pm,
184
const
char
*s);
185
191
GWENHYWFAR_API
192
void
GWEN_PluginManager_AddPlugin
(
GWEN_PLUGIN_MANAGER
*pm,
GWEN_PLUGIN
*p);
193
194
195
GWENHYWFAR_API
196
int
GWEN_PluginManager_Register
(
GWEN_PLUGIN_MANAGER
*pm);
197
198
GWENHYWFAR_API
199
int
GWEN_PluginManager_Unregister
(
GWEN_PLUGIN_MANAGER
*pm);
200
201
GWENHYWFAR_API
202
GWEN_PLUGIN_MANAGER
*
GWEN_PluginManager_FindPluginManager
(
const
char
*s);
203
204
205
GWENHYWFAR_API
206
GWEN_PLUGIN_DESCRIPTION_LIST2*
207
GWEN_PluginManager_GetPluginDescrs
(
GWEN_PLUGIN_MANAGER
*pm);
208
209
210
GWENHYWFAR_API
211
GWEN_PLUGIN_DESCRIPTION
*
212
GWEN_PluginManager_GetPluginDescr
(
GWEN_PLUGIN_MANAGER
*pm,
213
const
char
*modName);
214
215
216
#ifdef __cplusplus
217
}
218
#endif
219
220
#endif
221
222
Generated on Sun Oct 27 2013 09:43:38 for gwenhywfar by
1.8.4