- Port xmlsave to the new plugin system

git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@726 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
tchernobog 2006-07-05 12:52:11 +00:00
parent 1b018234be
commit 3dd8403f0a
2 changed files with 43 additions and 25 deletions

View File

@ -88,7 +88,7 @@ libxmlsave_la_LDFLAGS = \
# Please keep this in sorted order:
libxmlsave_la_SOURCES = \
src/hook.cc
src/plugin.cc
noinst_HEADERS +=

View File

@ -1,4 +1,4 @@
// src/hook.cc - Copyright 2005, 2006, University
// src/plugin.cc - Copyright 2005, 2006, University
// of Padova, dept. of Pure and Applied
// Mathematics
//
@ -18,32 +18,50 @@
// along with SGPEMv2; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
// The idea of this file is to provide a static function to execute
// when the plugin (this library) is loaded. Thus the name "hook".
// For the moment, instead of a function hook to be called by the
// libbackend.so module, we have a static PythonPolicyManager object.
// This is a risk.
#warning FIXME : this code is quite a bad idea. Replace me with \
a hookable structure, and execute a pointer to function stored \
therein. See "info libtool": "dlopened modules"
#ifdef __cplusplus
extern "C"
{
#endif
#include "config.h"
#define SG_CONSTRUCTOR __attribute__ ((constructor))
#define SG_DESTRUCTOR __attribute__ ((destructor))
#include "plugin.hh"
void SG_DLLEXPORT SG_CONSTRUCTOR hook_ctor(void)
{}
#include <glibmm/ustring.h>
void SG_DLLEXPORT SG_DESTRUCTOR hook_dtor(void)
{}
using namespace sgpem;
#ifdef __cplusplus
// static XMLSerializer* _serializer = NULL;
void
Plugin::on_init()
{
// if(_serializer == NULL)
// _serializer = new sgpem::XMLSerializer();
}
void
Plugin::on_exit()
{
// delete _serializer;
// _serializer = NULL;
}
Glib::ustring
Plugin::describe()
{
return "";
}
Glib::ustring
Plugin::get_name()
{
return "XmlSave";
}
Glib::ustring
Plugin::get_author()
{
return "Copyright 2005, 2006, University of Padova, dept. of Pure and Applied Mathematics";
}
float
Plugin::get_version()
{
return 1.0f;
}
#endif