Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

plugin.h

Go to the documentation of this file.
00001 /***************************************************************************
00002   $RCSfile: plugin.h,v $
00003   -------------------
00004   cvs         : $Id: plugin.h,v 1.8 2003/05/19 16:09:07 cstim Exp $
00005   begin       : Mon Apr 14 2003
00006   copyright   : (C) 2003 by Martin Preuss
00007   email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
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 /* __cplusplus */
00076   typedef struct HBCI_Plugin HBCI_Plugin;
00077 #endif /* __cplusplus */
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 /* __cplusplus */
00105 
00106 
00107 #endif
00108 

Generated on Mon Jun 23 13:41:07 2003 for openhbci by doxygen1.2.17