TaPAS  0.2
genepi-loader.h
Go to the documentation of this file.
1 /*
2  * genepi-loader.h -- Dynamic module loader for GENEPI.
3  *
4  * This file is a part of the GENEric Presburger programming Interface.
5  *
6  * Copyright (C) 2010 CNRS UMR 5800 & Université Bordeaux I (see AUTHORS file).
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program 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
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA
22  */
23 
60 #ifndef __GENEPI_LOADER_H__
61 # define __GENEPI_LOADER_H__
62 
63 BEGIN_C_DECLS
64 
72 typedef struct genepi_plugin_st genepi_plugin;
73 
84 extern void
85 genepi_loader_init (void);
86 
99 extern void
101 
112 extern const char *
114 
126 extern void
128 
161 extern genepi_plugin *
162 genepi_loader_get_plugin (const char *name);
163 
177 extern int
178 genepi_loader_load_directory (const char *dirname);
179 
191 extern char **
192 genepi_loader_get_plugins (int *psize);
193 
207 extern const char *
209 
210 extern genepi_plugin *
212 
213 extern void
215 
216 END_C_DECLS
217 
218 #endif /* ! __GENEPI_LOADER_H__ */
const char * genepi_loader_get_default_directory(void)
Returns the (default) GENEPI plugin are installed.
void genepi_plugin_del_reference(genepi_plugin_impl *plugin, genepi_set_impl *X)
Removes a reference to the set X.
void genepi_loader_terminate(void)
Release ressources allocated by the plugin loader.
void genepi_loader_load_default_plugins(void)
Request the loader to load all default GENEPI plugins.
struct genepi_plugin_st genepi_plugin
The abstract type for a GENEPI plugin that implements sufficient functions to resolve Presburger form...
Definition: genepi-loader.h:72
char ** genepi_loader_get_plugins(int *psize)
Returns the names of all currently loaded plugins.
genepi_plugin * genepi_loader_get_plugin(const char *name)
Load the plugin specified by name.
const char * genepi_plugin_get_name(const genepi_plugin *plugin)
Returns the nickname of the given plugin.
void genepi_loader_init(void)
Initialize the plugin loader.
genepi_set_impl * genepi_plugin_add_reference(genepi_plugin_impl *plugin, genepi_set_impl *X)
Adds a new reference to the set X.
int genepi_loader_load_directory(const char *dirname)
Load any plugin presents in the directory dirname.