From dadc34655c3ab961b0b0b94a10eaaba710f0b5e8 Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 4 Jul 2011 22:38:03 +0000 Subject: Added kmymoney git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kmymoney@1239792 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmymoney2/converter/imymoneyreader.h | 135 +++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 kmymoney2/converter/imymoneyreader.h (limited to 'kmymoney2/converter/imymoneyreader.h') diff --git a/kmymoney2/converter/imymoneyreader.h b/kmymoney2/converter/imymoneyreader.h new file mode 100644 index 0000000..6222af5 --- /dev/null +++ b/kmymoney2/converter/imymoneyreader.h @@ -0,0 +1,135 @@ + /*************************************************************************** + imymoneyreader.h - description + ------------------- + begin : Wed Feb 25 2004 + copyright : (C) 2000-2004 by Michael Edwardes + email : mte@users.sourceforge.net + Javier Campos Morales + Felix Rodriguez + John C + Thomas Baumgart + Kevin Tambascio + ***************************************************************************/ + +/*************************************************************************** + * * + * 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. * + * * + ***************************************************************************/ + +#ifndef IMYMONEYREADER_H +#define IMYMONEYREADER_H + +// ---------------------------------------------------------------------------- +// QT Headers + +#include +#include +#include + +// ---------------------------------------------------------------------------- +// KDE Headers + +#include +#include + +// ---------------------------------------------------------------------------- +// Project Headers + +#include "../mymoney/mymoneyaccount.h" + +/** + * @author Kevin Tambascio + */ + +class IMyMoneyReader : public QObject +{ +public: + IMyMoneyReader() {} + virtual ~IMyMoneyReader() {} + + Q_OBJECT + + /** + * This method is used to store the filename into the object. + * The file should exist. If it does and an external filter + * program is specified with the current selected profile, + * the file is send through this filter and the result + * is stored in the m_tempFile file. + * + * @param name path and name of the file to be imported + */ + virtual void setFilename(const QString& name)=0; + + /** + * This method is used to store the name of the profile into the object. + * The selected profile will be loaded if it exists. If an external + * filter program is specified with the current selected profile, + * the file is send through this filter and the result + * is stored in the m_tempFile file. + * + * @param name QString reference to the name of the profile + */ + virtual void setProfile(const QString& name)=0; + + /** + * This method actually starts the import of data from the selected file + * into the MyMoney engine. + * + * This method also starts the user defined import filter program + * defined in the QIF profile(when a QIF file is selected). If none is + * defined, the file is read as is (actually the UNIX command + * 'cat -' is used as the filter). + * + * If data from the filter program is available, the slot + * slotReceivedDataFromFilter() will be called. + * + * Make sure to connect the signal importFinished() to detect when + * the import actually ended. Call the method finishImport() to clean + * things up and get the overall result of the import. + * + * @retval true the import was started successfully + * @retval false the import could not be started. + */ + virtual const bool startImport(void)=0; + + /** + * This method must be called once the signal importFinished() has + * been emitted. It will clean up the reader state and determines + * the actual return code of the import. + * + * @retval true Import was successful. + * @retval false Import failed because the filter program terminated + * abnormally or the user aborted the import process. + */ + virtual const bool finishImport(void)=0; + + /** + * This method is used to modify the auto payee creation flag. + * If this flag is set, records for payees that are not currently + * found in the engine will be automatically created with no + * further user interaction required. If this flag is no set, + * the user will be asked if the payee should be created or not. + * If the MyMoneyQifReader object is created auto payee creation + * is turned off. + * + * @param create flag if this feature should be turned on (@p true) + * or turned off (@p false) + */ + virtual void setAutoCreatePayee(const bool create)=0; + virtual void setAskPayeeCategory(const bool ask)=0; + + virtual const MyMoneyAccount& account() const { return m_account; }; + virtual void setProgressCallback(void(*callback)(int, int, const QString&)) { m_progressCallback = callback; } + +private: + MyMoneyAccount m_account; + void (*m_progressCallback)(int, int, const QString&); + QString m_filename; + +}; + +#endif -- cgit v1.2.1