context.cpp

00001 
00005 /***************************************************************************
00006  *                                                                         *
00007  *   This program is free software; you can redistribute it and/or modify  *
00008  *   it under the terms of the GNU General Public License as published by  *
00009  *   the Free Software Foundation; either version 2 of the License, or     *
00010  *   (at your option) any later version.                                   *
00011  *                                                                         *
00012  ***************************************************************************/
00013 #include <config.h>
00014 #include "context.hh"
00015 
00016 using namespace std;
00017 
00018 
00019 
00020 LibofxContext::LibofxContext()
00021   :_current_file_type(OFX)
00022   ,_statusCallback(0)
00023   ,_accountCallback(0)
00024   ,_securityCallback(0)
00025   ,_transactionCallback(0)
00026   ,_statementCallback(0)
00027   ,_statementData(0)
00028   ,_accountData(0)
00029   ,_transactionData(0)
00030   ,_securityData(0)
00031   ,_statusData(0)
00032 {
00033 
00034 }
00035 
00036 
00037 
00038 LibofxContext::~LibofxContext(){
00039 }
00040 
00041 
00042 
00043 LibofxFileFormat LibofxContext::currentFileType() const{
00044   return _current_file_type;
00045 }
00046 
00047 
00048 
00049 void LibofxContext::setCurrentFileType(LibofxFileFormat t) {
00050   _current_file_type=t;
00051 }
00052 
00053 
00054 
00055 int LibofxContext::statementCallback(const struct OfxStatementData data){
00056   if (_statementCallback)
00057     return _statementCallback(data, _statementData);
00058   return 0;
00059 }
00060 
00061 
00062 
00063 int LibofxContext::accountCallback(const struct OfxAccountData data){
00064   if (_accountCallback)
00065     return _accountCallback(data, _accountData);
00066   return 0;
00067 }
00068 
00069 
00070 
00071 int LibofxContext::transactionCallback(const struct OfxTransactionData data){
00072   if (_transactionCallback)
00073     return _transactionCallback(data, _transactionData);
00074   return 0;
00075 }
00076 
00077 
00078 
00079 int LibofxContext::securityCallback(const struct OfxSecurityData data) {
00080   if (_securityCallback)
00081     return _securityCallback(data, _securityData);
00082   return 0;
00083 }
00084 
00085 
00086 
00087 int LibofxContext::statusCallback(const struct OfxStatusData data) {
00088   if (_statusCallback)
00089     return _statusCallback(data, _statusData);
00090   return 0;
00091 }
00092 
00093 
00094 void LibofxContext::setStatusCallback(LibofxProcStatusCallback cb,
00095                                       void *user_data){
00096   _statusCallback=cb;
00097   _statusData=user_data;
00098 }
00099 
00100 
00101 
00102 void LibofxContext::setAccountCallback(LibofxProcAccountCallback cb,
00103                                        void *user_data){
00104   _accountCallback=cb;
00105   _accountData=user_data;
00106 }
00107 
00108 
00109 
00110 void LibofxContext::setSecurityCallback(LibofxProcSecurityCallback cb,
00111                                         void *user_data){
00112   _securityCallback=cb;
00113   _securityData=user_data;
00114 }
00115 
00116 
00117 
00118 void LibofxContext::setTransactionCallback(LibofxProcTransactionCallback cb,
00119                                            void *user_data){
00120   _transactionCallback=cb;
00121   _transactionData=user_data;
00122 }
00123 
00124 
00125 
00126 void LibofxContext::setStatementCallback(LibofxProcStatementCallback cb,
00127                                          void *user_data){
00128   _statementCallback=cb;
00129   _statementData=user_data;
00130 }
00131 
00132 
00133 
00134 
00135 
00136 
00137 
00140 CFCT LibofxContextPtr libofx_get_new_context(){
00141   return new LibofxContext();
00142 }
00143 
00144 CFCT int libofx_free_context( LibofxContextPtr libofx_context_param){
00145   delete (LibofxContext *)libofx_context_param;
00146   return 0;
00147 }
00148 
00149 
00150 
00151 
00152 extern "C" {
00153   void ofx_set_status_cb(LibofxContextPtr ctx,
00154                          LibofxProcStatusCallback cb,
00155                          void *user_data){
00156     ((LibofxContext*)ctx)->setStatusCallback(cb, user_data);
00157   }
00158 
00159 
00160   void ofx_set_account_cb(LibofxContextPtr ctx,
00161                           LibofxProcAccountCallback cb,
00162                           void *user_data){
00163     ((LibofxContext*)ctx)->setAccountCallback(cb, user_data);
00164   }
00165 
00166 
00167 
00168   void ofx_set_security_cb(LibofxContextPtr ctx,
00169                            LibofxProcSecurityCallback cb,
00170                            void *user_data){
00171     ((LibofxContext*)ctx)->setSecurityCallback(cb, user_data);
00172   }
00173 
00174 
00175 
00176   void ofx_set_transaction_cb(LibofxContextPtr ctx,
00177                               LibofxProcTransactionCallback cb,
00178                               void *user_data){
00179     ((LibofxContext*)ctx)->setTransactionCallback(cb, user_data);
00180   }
00181 
00182 
00183 
00184   void ofx_set_statement_cb(LibofxContextPtr ctx,
00185                             LibofxProcStatementCallback cb,
00186                             void *user_data){
00187     ((LibofxContext*)ctx)->setStatementCallback(cb, user_data);
00188   }
00189 
00190 
00191 
00192 
00193 }
00194 
00195 
00196 
00197 
00198 
00199 
00200 
00201 
00202 
00203 

Generated on Fri Aug 25 13:25:21 2006 for LibOFX by  doxygen 1.4.6