00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00030 #ifndef PLUGIN_H
00031 #define PLUGIN_H
00032
00033 #ifdef __cplusplus
00034 #include <string>
00035 using namespace std;
00036
00037
00038 namespace HBCI {
00039
00040
00047 class Plugin {
00048 public:
00049 typedef enum {
00050 PluginTypeUnknown=0,
00051 PluginTypeMedium
00052 } PluginType;
00053
00054 Plugin();
00055 virtual ~Plugin();
00056
00060 virtual string name() const =0;
00062 virtual string description() const =0;
00063 virtual unsigned int vmajor() const =0;
00064 virtual unsigned int vminor() const =0;
00068 virtual PluginType pluginType() const=0;
00069 };
00070
00071
00072 };
00073 typedef HBCI::Plugin HBCI_Plugin;
00074 extern "C" {
00075 #else
00076 typedef struct HBCI_Plugin HBCI_Plugin;
00077 #endif
00078
00086 extern char *HBCI_Plugin_name(const HBCI_Plugin *p);
00087
00092 extern char *HBCI_Plugin_description(const HBCI_Plugin *p);
00093
00094 extern unsigned int HBCI_Plugin_vmajor(const HBCI_Plugin *p);
00095 extern unsigned int HBCI_Plugin_vminor(const HBCI_Plugin *p);
00099 extern int HBCI_Plugin_pluginType(const HBCI_Plugin *p);
00102 #ifdef __cplusplus
00103 }
00104 #endif
00105
00106
00107 #endif
00108