Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

MyMoneyGncReader Class Reference

#include <mymoneygncreader.h>

Inheritance diagram for MyMoneyGncReader:

IMyMoneyStorageFormat Collaboration diagram for MyMoneyGncReader:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MyMoneyGncReader ()
virtual ~MyMoneyGncReader ()
void readFile (QIODevice *pDevice, IMyMoneySerialize *storage)
void writeFile (QIODevice *, IMyMoneySerialize *)

Public Attributes

QTextCodec * m_decoder

Protected Member Functions

void convertCommodity (const GncCommodity *)
void convertPrice (const GncPrice *)
void convertAccount (const GncAccount *)
void convertTransaction (const GncTransaction *)
void convertSplit (const GncSplit *)
void saveTemplateTransaction (GncTransaction *t)
void convertSchedule (const GncSchedule *)
void convertFreqSpec (const GncFreqSpec *)
void convertRecurrence (const GncRecurrence *)
void postMessage (const QString, const unsigned int, const char *)
void postMessage (const QString, const unsigned int, const char *, const char *)
void postMessage (const QString, const unsigned int, const char *, const char *, const char *)
void postMessage (const QString, const unsigned int, const QStringList &)
void setProgressCallback (void(*callback)(int, int, const QString &))
void signalProgress (int current, int total, const QString &="")
void setGncCommodityCount (int i)
void setGncAccountCount (int i)
void setGncTransactionCount (int i)
void setGncScheduleCount (int i)
void setSmallBusinessFound (bool b)
void setBudgetsFound (bool b)
void setLotsFound (bool b)

Protected Attributes

bool m_dropSuspectSchedules
unsigned int m_investmentOption
bool m_useFinanceQuote
bool gncdebug
bool xmldebug
bool bAnonymize
bool developerDebug

Static Protected Attributes

static double m_fileHideFactor

Private Member Functions

void setOptions ()
void setFileHideFactor ()
const QString convBadValue (QString gncValue) const
MyMoneyTransaction convertTemplateTransaction (const QString, const GncTransaction *)
void convertTemplateSplit (const QString, const GncTemplateSplit *)
void terminate ()
const QString buildReportSection (const QString)
bool writeReportToFile (const QValueList< QString >)
const QString createPayee (const QString)
const QCString createOrphanAccount (const QString)
QDate incrDate (QDate lastDate, unsigned char interval, unsigned int intervalCount)
MyMoneyAccount checkConsistency (MyMoneyAccount &parent, MyMoneyAccount &child)
void checkInvestmentOption (QString stockId)
void getPriceSource (MyMoneySecurity stock, QString gncSource)

Private Attributes

IMyMoneyStoragem_storage
XmlReaderm_xr
void(* m_progressCallback )(int, int, const QString &)
map_elementVersions m_versionList
int m_gncCommodityCount
int m_gncAccountCount
int m_gncTransactionCount
int m_gncScheduleCount
bool m_smallBusinessFound
bool m_budgetsFound
bool m_lotsFound
int m_commodityCount
int m_priceCount
int m_accountCount
int m_transactionCount
int m_templateCount
int m_scheduleCount
int m_ccCount
int m_orCount
int m_scCount
QMap< QString, unsigned int > m_currencyCount
QMap< QCString, QCString > m_mapIds
QCString m_rootId
QMap< QCString, QCString > m_mapEquities
QMap< QCString, QCString > m_mapSchedules
QMap< QString, QString > m_mapSources
QValueList< QString > m_stockList
QCString m_txCommodity
QString m_txPayeeId
QDate m_txDatePosted
QString m_txChequeNo
QValueList< MyMoneySplitm_splitList
QValueList< MyMoneySplitm_liabilitySplitList
QValueList< MyMoneySplitm_otherSplitList
bool m_potentialTransfer
bool m_suspectSchedule
QPtrList< GncTransactionm_templateList
QValueList< QCString > m_suspectList
QPtrList< GncMessageArgsm_messageList
GncMessagesm_messageTexts

Friends

class GncObject
class GncFile
class GncDate
class GncCmdtySpec
class GncKvp
class GncLot
class GncCountData
class GncCommodity
class GncPrice
class GncAccount
class GncTransaction
class GncSplit
class GncTemplateTransaction
class GncTemplateSplit
class GncSchedule
class GncFreqSpec
class GncRecurrence
class XmlReader

Detailed Description

MyMoneyGncReader - Main class for this module Controls overall operation of the importer


Constructor & Destructor Documentation

MyMoneyGncReader::MyMoneyGncReader  ) 
 

virtual MyMoneyGncReader::~MyMoneyGncReader  )  [virtual]
 


Member Function Documentation

const QString MyMoneyGncReader::buildReportSection const   QString  )  [private]
 

MyMoneyAccount MyMoneyGncReader::checkConsistency MyMoneyAccount parent,
MyMoneyAccount child
[private]
 

void MyMoneyGncReader::checkInvestmentOption QString  stockId  )  [private]
 

const QString MyMoneyGncReader::convBadValue QString  gncValue  )  const [inline, private]
 

void MyMoneyGncReader::convertAccount const GncAccount  )  [protected]
 

void MyMoneyGncReader::convertCommodity const GncCommodity  )  [protected]
 

functions to convert gnc objects to our equivalent

void MyMoneyGncReader::convertFreqSpec const GncFreqSpec  )  [protected]
 

void MyMoneyGncReader::convertPrice const GncPrice  )  [protected]
 

void MyMoneyGncReader::convertRecurrence const GncRecurrence  )  [protected]
 

void MyMoneyGncReader::convertSchedule const GncSchedule  )  [protected]
 

void MyMoneyGncReader::convertSplit const GncSplit  )  [protected]
 

void MyMoneyGncReader::convertTemplateSplit const   QString,
const GncTemplateSplit
[private]
 

MyMoneyTransaction MyMoneyGncReader::convertTemplateTransaction const   QString,
const GncTransaction
[private]
 

void MyMoneyGncReader::convertTransaction const GncTransaction  )  [protected]
 

const QCString MyMoneyGncReader::createOrphanAccount const   QString  )  [private]
 

const QString MyMoneyGncReader::createPayee const   QString  )  [private]
 

Internal utility functions

void MyMoneyGncReader::getPriceSource MyMoneySecurity  stock,
QString  gncSource
[private]
 

QDate MyMoneyGncReader::incrDate QDate  lastDate,
unsigned char  interval,
unsigned int  intervalCount
[private]
 

void MyMoneyGncReader::postMessage const   QString,
const unsigned  int,
const QStringList & 
[protected]
 

void MyMoneyGncReader::postMessage const   QString,
const unsigned  int,
const char *  ,
const char *  ,
const char * 
[protected]
 

void MyMoneyGncReader::postMessage const   QString,
const unsigned  int,
const char *  ,
const char * 
[protected]
 

void MyMoneyGncReader::postMessage const   QString,
const unsigned  int,
const char * 
[protected]
 

to post messages for final report

void MyMoneyGncReader::readFile QIODevice *  pDevice,
IMyMoneySerialize storage
[virtual]
 

Import a GnuCash XML file

Parameters:
pDevice : pointer to GnuCash file
storage : pointer to MyMoneySerialize storage
Returns:
void

Implements IMyMoneyStorageFormat.

void MyMoneyGncReader::saveTemplateTransaction GncTransaction t  )  [inline, protected]
 

void MyMoneyGncReader::setBudgetsFound bool  b  )  [inline, protected]
 

void MyMoneyGncReader::setFileHideFactor  )  [private]
 

void MyMoneyGncReader::setGncAccountCount int  i  )  [inline, protected]
 

void MyMoneyGncReader::setGncCommodityCount int  i  )  [inline, protected]
 

void MyMoneyGncReader::setGncScheduleCount int  i  )  [inline, protected]
 

void MyMoneyGncReader::setGncTransactionCount int  i  )  [inline, protected]
 

void MyMoneyGncReader::setLotsFound bool  b  )  [inline, protected]
 

void MyMoneyGncReader::setOptions  )  [private]
 

void MyMoneyGncReader::setProgressCallback void(*)(int, int, const QString &)  callback  )  [protected, virtual]
 

Implements IMyMoneyStorageFormat.

void MyMoneyGncReader::setSmallBusinessFound bool  b  )  [inline, protected]
 

void MyMoneyGncReader::signalProgress int  current,
int  total,
const QString &  = ""
[protected]
 

void MyMoneyGncReader::terminate  )  [private]
 

void MyMoneyGncReader::writeFile QIODevice *  ,
IMyMoneySerialize
[inline, virtual]
 

Implements IMyMoneyStorageFormat.

bool MyMoneyGncReader::writeReportToFile const QValueList< QString >   )  [private]
 


Friends And Related Function Documentation

friend class GncAccount [friend]
 

friend class GncCmdtySpec [friend]
 

friend class GncCommodity [friend]
 

friend class GncCountData [friend]
 

friend class GncDate [friend]
 

friend class GncFile [friend]
 

friend class GncFreqSpec [friend]
 

friend class GncKvp [friend]
 

friend class GncLot [friend]
 

friend class GncObject [friend]
 

friend class GncPrice [friend]
 

friend class GncRecurrence [friend]
 

friend class GncSchedule [friend]
 

friend class GncSplit [friend]
 

friend class GncTemplateSplit [friend]
 

friend class GncTemplateTransaction [friend]
 

friend class GncTransaction [friend]
 

friend class XmlReader [friend]
 


Member Data Documentation

bool MyMoneyGncReader::bAnonymize [protected]
 

bool MyMoneyGncReader::developerDebug [protected]
 

bool MyMoneyGncReader::gncdebug [protected]
 

int MyMoneyGncReader::m_accountCount [private]
 

bool MyMoneyGncReader::m_budgetsFound [private]
 

int MyMoneyGncReader::m_ccCount [private]
 

int MyMoneyGncReader::m_commodityCount [private]
 

counters for reporting

QMap<QString, unsigned int> MyMoneyGncReader::m_currencyCount [private]
 

QTextCodec* MyMoneyGncReader::m_decoder
 

bool MyMoneyGncReader::m_dropSuspectSchedules [protected]
 

Scheduled Transactions Due to differences in implementation, it is not always possible to import scheduled transactions correctly. Though best efforts are made, it may be that some imported transactions cause problems within kmymoney. An attempt is made within the importer to identify potential problem transactions, and setting this option will cause them to be dropped from the file. A report of which were dropped, and why, will be produced. m_dropSuspectSchedules - drop suspect scheduled transactions

double MyMoneyGncReader::m_fileHideFactor [static, protected]
 

int MyMoneyGncReader::m_gncAccountCount [private]
 

int MyMoneyGncReader::m_gncCommodityCount [private]
 

int MyMoneyGncReader::m_gncScheduleCount [private]
 

int MyMoneyGncReader::m_gncTransactionCount [private]
 

unsigned int MyMoneyGncReader::m_investmentOption [protected]
 

Investments In kmymoney, all accounts representing investments (stocks, shares, bonds, etc.) must have an associated investment account (e.g. a broker account). The stock account holds the share balance, the investment account a money balance. Gnucash does not do this, so we cannot automate this function. If you have investments, you must select one of the following options. 0 - create a separate investment account for each stock with the same name as the stock 1 - create a single investment account to hold all stocks - you will be asked for a name 2 - create multiple investment accounts - you will be asked for a name for each stock N.B. :- option 2 doesn't really work quite as desired at present

QValueList<MyMoneySplit> MyMoneyGncReader::m_liabilitySplitList [private]
 

In kmm, the order of splits is critical to some operations. These areas will hold the splits until we've read them all

bool MyMoneyGncReader::m_lotsFound [private]
 

QMap<QCString, QCString> MyMoneyGncReader::m_mapEquities [private]
 

QMap<QCString, QCString> MyMoneyGncReader::m_mapIds [private]
 

Map gnucash vs. Kmm ids for accounts, equities, schedules, price sources

QMap<QCString, QCString> MyMoneyGncReader::m_mapSchedules [private]
 

QMap<QString, QString> MyMoneyGncReader::m_mapSources [private]
 

QPtrList<GncMessageArgs> MyMoneyGncReader::m_messageList [private]
 

To hold message data till final report

GncMessages* MyMoneyGncReader::m_messageTexts [private]
 

int MyMoneyGncReader::m_orCount [private]
 

QValueList<MyMoneySplit> MyMoneyGncReader::m_otherSplitList [private]
 

In kmm, the order of splits is critical to some operations. These areas will hold the splits until we've read them all

bool MyMoneyGncReader::m_potentialTransfer [private]
 

int MyMoneyGncReader::m_priceCount [private]
 

void(* MyMoneyGncReader::m_progressCallback)(int, int, const QString &) [private]
 

to hold the callback pointer for the progress bar

QCString MyMoneyGncReader::m_rootId [private]
 

int MyMoneyGncReader::m_scCount [private]
 

int MyMoneyGncReader::m_scheduleCount [private]
 

bool MyMoneyGncReader::m_smallBusinessFound [private]
 

QValueList<MyMoneySplit> MyMoneyGncReader::m_splitList [private]
 

In kmm, the order of splits is critical to some operations. These areas will hold the splits until we've read them all

QValueList<QString> MyMoneyGncReader::m_stockList [private]
 

A list of stock accounts (gnc ids) which will be held till the end so we can implement the user's investment option

IMyMoneyStorage* MyMoneyGncReader::m_storage [private]
 

QValueList<QCString> MyMoneyGncReader::m_suspectList [private]
 

Hold a list of suspect schedule ids for later processing?

bool MyMoneyGncReader::m_suspectSchedule [private]
 

Schedules are processed through 3 different functions, any of which may set this flag

int MyMoneyGncReader::m_templateCount [private]
 

QPtrList<GncTransaction> MyMoneyGncReader::m_templateList [private]
 

A holding area for template txs while we're waiting for the schedules

int MyMoneyGncReader::m_transactionCount [private]
 

QString MyMoneyGncReader::m_txChequeNo [private]
 

QCString MyMoneyGncReader::m_txCommodity [private]
 

Temporary storage areas for transaction processing

QDate MyMoneyGncReader::m_txDatePosted [private]
 

QString MyMoneyGncReader::m_txPayeeId [private]
 

bool MyMoneyGncReader::m_useFinanceQuote [protected]
 

Online quotes The user has the option to use the Finance::Quote system, as used by GnuCash, to retrieve online share price quotes

map_elementVersions MyMoneyGncReader::m_versionList [private]
 

XmlReader* MyMoneyGncReader::m_xr [private]
 

bool MyMoneyGncReader::xmldebug [protected]
 


The documentation for this class was generated from the following file:
Generated on Sun Sep 7 04:09:51 2008 for KMyMoney by  doxygen 1.4.1