00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef QBANKING_QBCFGMODUL_H
00014 #define QBANKING_QBCFGMODUL_H
00015
00016
00017 #include <aqbanking/banking.h>
00018 #include <gwenhywfar/plugin.h>
00019
00020 #include <qstring.h>
00021
00022
00023 #define QBCFGMODULE_FLAGS_CAN_CREATE_USER 0x00000001
00024 #define QBCFGMODULE_FLAGS_CAN_CREATE_ACCOUNT 0x00000002
00025
00026 #include <qbanking/qbanking.h>
00027
00028
00029 class QBCfgTabPageUser;
00030 class QBCfgTabPageAccount;
00031 class QBanking;
00032 class QWidget;
00033
00034
00035 class QBCfgModule;
00036
00037
00038 typedef QBCfgModule* (*QBCFGMODULE_FACTORY_FN)(QBanking *qb);
00039
00040
00041 class QBANKING_API QBCfgModule {
00042 friend class QBanking;
00043 private:
00044 QBanking *_qbanking;
00045 QString _name;
00046 GWEN_PLUGIN *_plugin;
00047 GWEN_TYPE_UINT32 _flags;
00048
00049 void setPlugin(GWEN_PLUGIN *pl);
00050 GWEN_PLUGIN *getPlugin();
00051
00052 public:
00053 QBCfgModule(QBanking *qb, const QString &name);
00054 virtual ~QBCfgModule();
00055
00056 const QString &getName() const;
00057
00058 GWEN_TYPE_UINT32 getFlags() const;
00059 void setFlags(GWEN_TYPE_UINT32 fl);
00060
00061 virtual QBCfgTabPageUser *getEditUserPage(AB_USER *u, QWidget *parent=0);
00062 virtual QBCfgTabPageAccount *getEditAccountPage(AB_ACCOUNT *a,
00063 QWidget *parent=0);
00064 virtual int createNewUser(QWidget *parent=0);
00065 virtual int createNewAccount(QWidget *parent=0);
00066
00067 QBanking *getBanking();
00068 };
00069
00070 #endif
00071