context.hh

    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
    00014 #ifndef CONTEXT_H
    00015 #define CONTEXT_H
    00016 #include <string.h>
    00017 #include <time.h>               // for time_t
    00018 #include "libofx.h"
    00019 #include "ParserEventGeneratorKit.h"
    00020
    00021 #include <string>
    00022
    00023
    00024 using namespace std;
    00025 class LibofxContext
    00026 {
    00027 private:
    00028   LibofxFileFormat _current_file_type;
    00029
    00030   LibofxProcStatusCallback _statusCallback;
    00031   LibofxProcAccountCallback _accountCallback;
    00032   LibofxProcSecurityCallback _securityCallback;
    00033   LibofxProcTransactionCallback _transactionCallback;
    00034   LibofxProcStatementCallback _statementCallback;
    00035
    00036   void * _statementData;
    00037   void * _accountData;
    00038   void * _transactionData;
    00039   void * _securityData;
    00040   void * _statusData;
    00041
    00042   std::string _dtdDir;
    00043
    00044 public:
    00045   LibofxContext();
    00046   ~LibofxContext();
    00047
    00048   LibofxFileFormat currentFileType() const;
    00049   void setCurrentFileType(LibofxFileFormat t);
    00050
    00051   const std::string &dtdDir() const
    00052   {
    00053     return _dtdDir;
    00054   };
    00055   void setDtdDir(const std::string &s)
    00056   {
    00057     _dtdDir = s;
    00058   };
    00059
    00060   int statementCallback(const struct OfxStatementData data);
    00061   int accountCallback(const struct OfxAccountData data);
    00062   int transactionCallback(const struct OfxTransactionData data);
    00063   int securityCallback(const struct OfxSecurityData data);
    00064   int statusCallback(const struct OfxStatusData data);
    00065
    00066   void setStatusCallback(LibofxProcStatusCallback cb, void *user_data);
    00067   void setAccountCallback(LibofxProcAccountCallback cb, void *user_data);
    00068   void setSecurityCallback(LibofxProcSecurityCallback cb, void *user_data);
    00069   void setTransactionCallback(LibofxProcTransactionCallback cb, void *user_data);
    00070   void setStatementCallback(LibofxProcStatementCallback cb, void *user_data);
    00071
    00072
    00073 };//End class LibofxContext
    00074
    00075
    00076
    00077
    00078 #endif