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 #ifndef OUTBOXJOBKEYS_H
00026 #define OUTBOXJOBKEYS_H
00027
00032 #ifdef __cplusplus
00033 #include <string>
00034 #include <list>
00035 #endif
00036
00037 #include <openhbci/dllimport.h>
00038 #include <openhbci/pointer.h>
00039 #include <openhbci/customer.h>
00040 #include <openhbci/user.h>
00041 #include <openhbci/bank.h>
00042 #include <openhbci/account.h>
00043 #include <openhbci/outboxjob.h>
00044
00045
00046
00047 #ifdef __cplusplus
00048
00049 namespace HBCI {
00050
00057 class DLLIMPORT OutboxJobKeys: public OutboxJob {
00058 private:
00059 bool _sendkeys;
00060
00061 protected:
00062 const API *_hbciapi;
00063 Pointer<Job> _initjob;
00064 Pointer<Job> _exitjob;
00065
00066 OutboxJobKeys(const API *api, Pointer<Customer> c, bool sk);
00067 ~OutboxJobKeys();
00068
00069 virtual bool createHBCIJobs(Pointer<MessageQueue> mbox, int n=0);
00070 virtual bool evaluate();
00071 virtual bool commit(int msgNumber=HBCI_COMMIT_WHOLE_JOB);
00072 string description() const { return "Key management";};
00073 virtual bool isDialogJob() const { return true;};
00074 virtual int messages() const { return 2;};
00075 list<int> resultCodes() const;
00076 };
00077
00078 }
00079 #endif
00080
00081
00082 #ifdef __cplusplus
00083
00084 namespace HBCI {
00090 class DLLIMPORT OutboxJobGetKeys: public OutboxJobKeys {
00091 public:
00092 OutboxJobGetKeys(const API *api, Pointer<Customer> c);
00093 ~OutboxJobGetKeys();
00094
00095 string description() const { return "Get Keys";};
00096 JobProgressType type() const { return JOB_GET_KEYS; };
00097 };
00098
00099 }
00101 typedef struct HBCI::OutboxJobGetKeys HBCI_OutboxJobGetKeys;
00102
00103 extern "C" {
00104 #else
00105 typedef struct HBCI_OutboxJobGetKeys HBCI_OutboxJobGetKeys;
00106 #endif
00107
00111 extern HBCI_OutboxJobGetKeys *
00112 HBCI_OutboxJobGetKeys_new(const HBCI_API *api, const HBCI_Customer *c);
00114 extern HBCI_OutboxJob *
00115 HBCI_OutboxJobGetKeys_OutboxJob(HBCI_OutboxJobGetKeys *j);
00117 #ifdef __cplusplus
00118 }
00119
00120 namespace HBCI {
00121
00128 class DLLIMPORT OutboxJobSendKeys: public OutboxJobKeys {
00129 public:
00130 OutboxJobSendKeys(const API *api, Pointer<Customer> c);
00131 ~OutboxJobSendKeys();
00132
00133 string description() const { return "Send Keys";};
00134 JobProgressType type() const { return JOB_SEND_KEYS; };
00135 };
00136
00137 }
00139 typedef struct HBCI::OutboxJobSendKeys HBCI_OutboxJobSendKeys;
00140
00141 extern "C" {
00142 #else
00143 typedef struct HBCI_OutboxJobSendKeys HBCI_OutboxJobSendKeys;
00144 #endif
00145
00149 extern HBCI_OutboxJobSendKeys *
00150 HBCI_OutboxJobSendKeys_new(const HBCI_API *api, const HBCI_Customer *c);
00152 extern HBCI_OutboxJob *
00153 HBCI_OutboxJobSendKeys_OutboxJob(HBCI_OutboxJobSendKeys *j);
00155 #ifdef __cplusplus
00156 }
00157 #endif
00158
00159 #ifdef __cplusplus
00160
00161 namespace HBCI {
00168 class DLLIMPORT OutboxJobDisableKeys: public OutboxJobKeys {
00169 protected:
00170 Pointer<Job> _job;
00171
00172 public:
00173 OutboxJobDisableKeys(const API *api, Pointer<Customer> c);
00174 ~OutboxJobDisableKeys();
00175
00176 virtual bool createHBCIJobs(Pointer<MessageQueue> mbox, int n=0);
00177 bool commit(int msgNumber=HBCI_COMMIT_WHOLE_JOB);
00178 string description() const { return "Disable Keys";};
00179 int messages() const { return 3;};
00180 JobProgressType type() const { return JOB_DISABLE_KEYS; };
00181 };
00182
00183 }
00185 typedef struct HBCI::OutboxJobDisableKeys HBCI_OutboxJobDisableKeys;
00186
00187 extern "C" {
00188 #else
00189 typedef struct HBCI_OutboxJobDisableKeys HBCI_OutboxJobDisableKeys;
00190 #endif
00191
00195 extern HBCI_OutboxJobDisableKeys *
00196 HBCI_OutboxJobDisableKeys_new(const HBCI_API *api, const HBCI_Customer *c);
00198 extern HBCI_OutboxJob *
00199 HBCI_OutboxJobDisableKeys_OutboxJob(HBCI_OutboxJobDisableKeys *j);
00201 #ifdef __cplusplus
00202 }
00203
00204 namespace HBCI {
00214 class DLLIMPORT OutboxJobDisableLostKeys: public OutboxJobDisableKeys {
00215 private:
00216 int _keyNumber;
00217 int _keyVersion;
00218
00219 public:
00229 OutboxJobDisableLostKeys(const API *api, Pointer<Customer> c,
00230 int keyNumber=999, int keyVersion=999);
00231 ~OutboxJobDisableLostKeys();
00232 int messages() const { return 2;};
00233 bool createHBCIJobs(Pointer<MessageQueue> mbox, int n=0);
00234 };
00235
00236 }
00238 typedef struct HBCI::OutboxJobDisableLostKeys HBCI_OutboxJobDisableLostKeys;
00239
00240 extern "C" {
00241 #else
00242 typedef struct HBCI_OutboxJobDisableLostKeys HBCI_OutboxJobDisableLostKeys;
00243 #endif
00244
00256 extern HBCI_OutboxJobDisableLostKeys *
00257 HBCI_OutboxJobDisableLostKeys_new(const HBCI_API *api,
00258 const HBCI_Customer *c,
00259 int keyNumber,
00260 int keyVersion);
00262 extern HBCI_OutboxJob *
00263 HBCI_OutboxJobDisableLostKeys_OutboxJob(HBCI_OutboxJobDisableLostKeys *j);
00265 #ifdef __cplusplus
00266 }
00267
00268 namespace HBCI {
00281 class DLLIMPORT OutboxJobChangeKeys: public OutboxJobKeys {
00282 protected:
00283 Pointer<Job> _job;
00284
00285 public:
00286 OutboxJobChangeKeys(const API *api, Pointer<Customer> c);
00287 ~OutboxJobChangeKeys();
00288
00289 virtual bool createHBCIJobs(Pointer<MessageQueue> mbox, int n=0);
00290 bool commit(int msgNumber=HBCI_COMMIT_WHOLE_JOB);
00291 string description() const { return "Change Key";};
00292 int messages() const { return 3;};
00293 JobProgressType type() const { return JOB_CHANGE_KEYS; };
00294 };
00295
00296 }
00298 typedef struct HBCI::OutboxJobChangeKeys HBCI_OutboxJobChangeKeys;
00299
00300 extern "C" {
00301 #else
00302 typedef struct HBCI_OutboxJobChangeKeys HBCI_OutboxJobChangeKeys;
00303 #endif
00304
00308 extern HBCI_OutboxJobChangeKeys *
00309 HBCI_OutboxJobChangeKeys_new(const HBCI_API *api, const HBCI_Customer *c);
00311 extern HBCI_OutboxJob *
00312 HBCI_OutboxJobChangeKeys_OutboxJob(HBCI_OutboxJobChangeKeys *j);
00314 #ifdef __cplusplus
00315 }
00316 #endif
00317
00318 #endif
00319
00320
00321