Otawa  0.10
ILPPlugin.h
Go to the documentation of this file.
1 /*
2  * $Id$
3  * Copyright (c) 2005, IRIT-UPS.
4  *
5  * otawa/plugins/ILPlLugin.h -- ILPPlugin class interface.
6  */
7 #ifndef OTAWA_PLUGINS_ILP_PLUGIN_H
8 #define OTAWA_PLUGINS_ILP_PLUGIN_H
9 
10 #include <elm/system/Plugin.h>
11 
12 namespace otawa { namespace ilp {
13 
14 // External class
15 class System;
16 
17 // Definitions
18 #define OTAWA_ILP_HOOK ilp_plugin
19 #define OTAWA_ILP_NAME "ilp_plugin"
20 #define OTAWA_ILP_VERSION "1.2.0"
21 #define OTAWA_ILP_ID(name, version, date) ELM_PLUGIN_ID(OTAWA_ILP_NAME, name " V" version " (" date ") [" OTAWA_ILP_VERSION "]")
22 
23 // ILPPlugin class
24 class ILPPlugin: public elm::system::Plugin {
25 public:
26  ILPPlugin(
28  const elm::Version& version,
29  const elm::Version& plugger_version);
30  virtual System *newSystem(void) = 0;
31 };
32 
33 } } // otawa::ilp
34 
35 #endif //OTAWA_PLUGINS_ILP_PLUGIN_H
virtual System * newSystem(void)=0
ILPPlugin(elm::CString name, const elm::Version &version, const elm::Version &plugger_version)
Build the plugin.
Definition: ilp_ILPPlugin.cpp:107
cstring name
Definition: odisasm.cpp:107
An ILP system is a colletion of ILP constraint that may maximize or minimize some object function...
Definition: System.h:42
This interface must be implemented by plugins providing ILP processors.
Definition: ILPPlugin.h:24