234 lines
4.5 KiB
C++
234 lines
4.5 KiB
C++
|
/**@file libofx_context.hh
|
|||
|
@brief Main state object passed everywhere in the library
|
|||
|
@author (C) 2004 by Benoit Gr<EFBFBD>goire
|
|||
|
*/
|
|||
|
/***************************************************************************
|
|||
|
* *
|
|||
|
* This program is free software; you can redistribute it and/or modify *
|
|||
|
* it under the terms of the GNU General Public License as published by *
|
|||
|
* the Free Software Foundation; either version 2 of the License, or *
|
|||
|
* (at your option) any later version. *
|
|||
|
* *
|
|||
|
***************************************************************************/
|
|||
|
#include <config.h>
|
|||
|
#include "context.hh"
|
|||
|
|
|||
|
using namespace std;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LibofxContext::LibofxContext()
|
|||
|
: _current_file_type(OFX)
|
|||
|
, _statusCallback(0)
|
|||
|
, _accountCallback(0)
|
|||
|
, _securityCallback(0)
|
|||
|
, _transactionCallback(0)
|
|||
|
, _statementCallback(0)
|
|||
|
, _statementData(0)
|
|||
|
, _accountData(0)
|
|||
|
, _transactionData(0)
|
|||
|
, _securityData(0)
|
|||
|
, _statusData(0)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LibofxContext::~LibofxContext()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
LibofxFileFormat LibofxContext::currentFileType() const
|
|||
|
{
|
|||
|
return _current_file_type;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void LibofxContext::setCurrentFileType(LibofxFileFormat t)
|
|||
|
{
|
|||
|
_current_file_type = t;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int LibofxContext::statementCallback(const struct OfxStatementData data)
|
|||
|
{
|
|||
|
if (_statementCallback)
|
|||
|
return _statementCallback(data, _statementData);
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int LibofxContext::accountCallback(const struct OfxAccountData data)
|
|||
|
{
|
|||
|
if (_accountCallback)
|
|||
|
return _accountCallback(data, _accountData);
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int LibofxContext::transactionCallback(const struct OfxTransactionData data)
|
|||
|
{
|
|||
|
if (_transactionCallback)
|
|||
|
return _transactionCallback(data, _transactionData);
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int LibofxContext::securityCallback(const struct OfxSecurityData data)
|
|||
|
{
|
|||
|
if (_securityCallback)
|
|||
|
return _securityCallback(data, _securityData);
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int LibofxContext::statusCallback(const struct OfxStatusData data)
|
|||
|
{
|
|||
|
if (_statusCallback)
|
|||
|
return _statusCallback(data, _statusData);
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void LibofxContext::setStatusCallback(LibofxProcStatusCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
_statusCallback = cb;
|
|||
|
_statusData = user_data;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void LibofxContext::setAccountCallback(LibofxProcAccountCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
_accountCallback = cb;
|
|||
|
_accountData = user_data;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void LibofxContext::setSecurityCallback(LibofxProcSecurityCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
_securityCallback = cb;
|
|||
|
_securityData = user_data;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void LibofxContext::setTransactionCallback(LibofxProcTransactionCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
_transactionCallback = cb;
|
|||
|
_transactionData = user_data;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void LibofxContext::setStatementCallback(LibofxProcStatementCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
_statementCallback = cb;
|
|||
|
_statementData = user_data;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/** @note: Actual object returned is LibofxContext *
|
|||
|
*/
|
|||
|
LibofxContextPtr libofx_get_new_context()
|
|||
|
{
|
|||
|
return new LibofxContext();
|
|||
|
}
|
|||
|
|
|||
|
int libofx_free_context( LibofxContextPtr libofx_context_param)
|
|||
|
{
|
|||
|
delete (LibofxContext *)libofx_context_param;
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void libofx_set_dtd_dir(LibofxContextPtr libofx_context,
|
|||
|
const char *s)
|
|||
|
{
|
|||
|
((LibofxContext*)libofx_context)->setDtdDir(s);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
extern "C" {
|
|||
|
void ofx_set_status_cb(LibofxContextPtr ctx,
|
|||
|
LibofxProcStatusCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
((LibofxContext*)ctx)->setStatusCallback(cb, user_data);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
void ofx_set_account_cb(LibofxContextPtr ctx,
|
|||
|
LibofxProcAccountCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
((LibofxContext*)ctx)->setAccountCallback(cb, user_data);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void ofx_set_security_cb(LibofxContextPtr ctx,
|
|||
|
LibofxProcSecurityCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
((LibofxContext*)ctx)->setSecurityCallback(cb, user_data);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void ofx_set_transaction_cb(LibofxContextPtr ctx,
|
|||
|
LibofxProcTransactionCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
((LibofxContext*)ctx)->setTransactionCallback(cb, user_data);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void ofx_set_statement_cb(LibofxContextPtr ctx,
|
|||
|
LibofxProcStatementCallback cb,
|
|||
|
void *user_data)
|
|||
|
{
|
|||
|
((LibofxContext*)ctx)->setStatementCallback(cb, user_data);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|