00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00018 #ifndef AQ_BANKING_CPP_H
00019 #define AQ_BANKING_CPP_H
00020
00021
00022 #include <aqbanking/banking.h>
00023 #include <aqbanking/system.h>
00024
00025 #include <qbanking/api.h>
00026
00027 #include <list>
00028 #include <string>
00029
00030
00043 class QBANKING_API AB_Banking {
00044 private:
00045 AB_BANKING *_banking;
00046
00047 public:
00048 AB_Banking(const char *appname,
00049 const char *fname);
00050 virtual ~AB_Banking();
00051
00052
00053 AB_BANKING *getCInterface();
00054
00055
00059 virtual int init();
00060
00064 virtual int fini();
00065
00066
00070 int onlineInit(uint32_t guiid);
00071
00075 int onlineFini(uint32_t guiid);
00076
00082 AB_PROVIDER *getProvider(const char *name);
00083
00084
00088 const char *getAppName();
00089
00097 std::list<AB_ACCOUNT*> getAccounts();
00098
00105 AB_ACCOUNT *getAccount(uint32_t uniqueId);
00106
00114 std::list<AB_USER*> getUsers();
00115
00116 int getUserDataDir(GWEN_BUFFER *buf) const ;
00117 int getAppUserDataDir(GWEN_BUFFER *buf) const ;
00118
00119 int loadAppConfig(GWEN_DB_NODE **pDb, uint32_t guiid);
00120 int saveAppConfig(GWEN_DB_NODE *db, uint32_t guiid);
00121 int lockAppConfig(uint32_t guiid);
00122 int unlockAppConfig(uint32_t guiid);
00123
00124 int loadAppSubConfig(const char *subGroup,
00125 GWEN_DB_NODE **pDb,
00126 uint32_t guiid);
00127
00128 int saveAppSubConfig(const char *subGroup,
00129 GWEN_DB_NODE *dbSrc,
00130 uint32_t guiid);
00131
00132
00133 int loadSharedConfig(const char *name, GWEN_DB_NODE **pDb, uint32_t guiid);
00134 int saveSharedConfig(const char *name, GWEN_DB_NODE *db, uint32_t guiid);
00135 int lockSharedConfig(const char *name, uint32_t guiid);
00136 int unlockSharedConfig(const char *name, uint32_t guiid);
00137
00138 int loadSharedSubConfig(const char *name,
00139 const char *subGroup,
00140 GWEN_DB_NODE **pDb,
00141 uint32_t guiid);
00142
00143 int saveSharedSubConfig(const char *name,
00144 const char *subGroup,
00145 GWEN_DB_NODE *dbSrc,
00146 uint32_t guiid);
00147
00148 int beginExclUseAccount(AB_ACCOUNT *a, uint32_t guiid);
00149 int endExclUseAccount(AB_ACCOUNT *a, int abandon, uint32_t guiid);
00150
00151 int beginExclUseUser(AB_USER *u, uint32_t guiid);
00152 int endExclUseUser(AB_USER *u, int abandon, uint32_t guiid);
00153
00154
00164 std::list<GWEN_PLUGIN_DESCRIPTION*> getProviderDescrs();
00165
00171 std::list<GWEN_PLUGIN_DESCRIPTION*> getWizardDescrs();
00172
00179 void clearPluginDescrs(std::list<GWEN_PLUGIN_DESCRIPTION*> &l);
00180
00181 std::list<std::string> getActiveProviders();
00182
00183 std::string findWizard(const char *frontends);
00184
00203 virtual int executeJobs(AB_JOB_LIST2 *jl,
00204 AB_IMEXPORTER_CONTEXT *ctx,
00205 uint32_t guiid);
00206
00212 virtual bool importContext(AB_IMEXPORTER_CONTEXT *ctx,
00213 uint32_t flags);
00214
00215 };
00216
00217
00218
00219
00220 #endif
00221
00222