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

outboxjobkeys.h

Go to the documentation of this file.
00001 /* outboxjobkeys.h
00002     copyright   : (C) 2001 by Martin Preuss
00003     email       : openhbci@aquamaniac.de
00004 
00005  ***************************************************************************
00006  *                                                                         *
00007  *   This library is free software; you can redistribute it and/or         *
00008  *   modify it under the terms of the GNU Lesser General Public            *
00009  *   License as published by the Free Software Foundation; either          *
00010  *   version 2.1 of the License, or (at your option) any later version.    *
00011  *                                                                         *
00012  *   This library is distributed in the hope that it will be useful,       *
00013  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00014  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00015  *   Lesser General Public License for more details.                       *
00016  *                                                                         *
00017  *   You should have received a copy of the GNU Lesser General Public      *
00018  *   License along with this library; if not, write to the Free Software   *
00019  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00020  *   MA  02111-1307  USA                                                   *
00021  *                                                                         *
00022  ***************************************************************************/
00023 
00024 
00025 #ifndef OUTBOXJOBKEYS_H
00026 #define OUTBOXJOBKEYS_H
00027 
00032 #ifdef __cplusplus
00033 #include <string>
00034 #include <list>
00035 #endif /* __cplusplus */
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 } /* namespace HBCI */
00079 #endif /* __cplusplus */
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 } /* namespace HBCI */
00101 typedef struct HBCI::OutboxJobGetKeys HBCI_OutboxJobGetKeys;
00102 
00103 extern "C" {
00104 #else /* __cplusplus */
00105     typedef struct HBCI_OutboxJobGetKeys HBCI_OutboxJobGetKeys;
00106 #endif /* __cplusplus */
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 } /* namespace HBCI */
00139 typedef struct HBCI::OutboxJobSendKeys HBCI_OutboxJobSendKeys;
00140 
00141 extern "C" {
00142 #else /* __cplusplus */
00143     typedef struct HBCI_OutboxJobSendKeys HBCI_OutboxJobSendKeys;
00144 #endif /* __cplusplus */
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 /* __cplusplus */
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 } /* namespace HBCI */
00185 typedef struct HBCI::OutboxJobDisableKeys HBCI_OutboxJobDisableKeys;
00186 
00187 extern "C" {
00188 #else /* __cplusplus */
00189     typedef struct HBCI_OutboxJobDisableKeys HBCI_OutboxJobDisableKeys;
00190 #endif /* __cplusplus */
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 } /* namespace HBCI */
00238 typedef struct HBCI::OutboxJobDisableLostKeys HBCI_OutboxJobDisableLostKeys;
00239 
00240 extern "C" {
00241 #else /* __cplusplus */
00242     typedef struct HBCI_OutboxJobDisableLostKeys HBCI_OutboxJobDisableLostKeys;
00243 #endif /* __cplusplus */
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 } /* namespace HBCI */
00298 typedef struct HBCI::OutboxJobChangeKeys HBCI_OutboxJobChangeKeys;
00299 
00300 extern "C" {
00301 #else /* __cplusplus */
00302     typedef struct HBCI_OutboxJobChangeKeys HBCI_OutboxJobChangeKeys;
00303 #endif /* __cplusplus */
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 /* __cplusplus */
00317 
00318 #endif
00319 
00320 
00321 

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