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

imymoneyserialize.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           imymoneyserialize.h  -  description
00003                              -------------------
00004     begin                : Fri May 10 2002
00005     copyright            : (C) 2000-2002 by Michael Edwardes
00006     email                : mte@users.sourceforge.net
00007                            Javier Campos Morales <javi_c@users.sourceforge.net>
00008                            Felix Rodriguez <frodriguez@users.sourceforge.net>
00009                            John C <thetacoturtle@users.sourceforge.net>
00010                            Thomas Baumgart <ipwizard@users.sourceforge.net>
00011                            Kevin Tambascio <ktambascio@users.sourceforge.net>
00012  ***************************************************************************/
00013 
00014 /***************************************************************************
00015  *                                                                         *
00016  *   This program is free software; you can redistribute it and/or modify  *
00017  *   it under the terms of the GNU General Public License as published by  *
00018  *   the Free Software Foundation; either version 2 of the License, or     *
00019  *   (at your option) any later version.                                   *
00020  *                                                                         *
00021  ***************************************************************************/
00022 
00023 #ifndef IMYMONEYSERIALIZE_H
00024 #define IMYMONEYSERIALIZE_H
00025 
00026 // ----------------------------------------------------------------------------
00027 // QT Includes
00028 
00029 #include <qstring.h>
00030 #include <qvaluelist.h>
00031 
00032 // ----------------------------------------------------------------------------
00033 // Project Includes
00034 
00035 #include <kmymoney/mymoneyutils.h>
00036 #include <kmymoney/mymoneyinstitution.h>
00037 #include <kmymoney/mymoneyaccount.h>
00038 #include <kmymoney/mymoneytransaction.h>
00039 #include <kmymoney/mymoneypayee.h>
00040 #include <kmymoney/mymoneyscheduled.h>
00041 #include <kmymoney/mymoneytransactionfilter.h>
00042 #include <kmymoney/mymoneysecurity.h>
00043 #include <kmymoney/mymoneyprice.h>
00044 #include <kmymoney/mymoneyreport.h>
00045 #include <kmymoney/mymoneybudget.h>
00046 #include "mymoneystoragesql.h"
00047 
00055 class IMyMoneySerialize {
00056 public:
00057   IMyMoneySerialize();
00058   virtual ~IMyMoneySerialize();
00059 
00060   // general get functions
00061   virtual const MyMoneyPayee user(void) const = 0;
00062   virtual const QDate creationDate(void) const = 0;
00063   virtual const QDate lastModificationDate(void) const = 0;
00064   virtual unsigned int currentFixVersion(void) const = 0;
00065   virtual unsigned int fileFixVersion(void) const = 0;
00066 
00067   // general set functions
00068   virtual void setUser(const MyMoneyPayee& val) = 0;
00069   virtual void setCreationDate(const QDate& val) = 0;
00070   virtual void setFileFixVersion(const unsigned int v) = 0;
00074   virtual MyMoneyStorageSql *connectToDatabase
00075       (const KURL& url) = 0;
00081   virtual void fillStorage() = 0;
00082 
00091   virtual void setLastModificationDate(const QDate& val) = 0;
00092 
00100   virtual void accountList(QValueList<MyMoneyAccount>& list) const = 0;
00101 
00108   virtual const QValueList<MyMoneyInstitution> institutionList(void) const = 0;
00109 
00120   virtual void transactionList(QValueList<MyMoneyTransaction>& list, MyMoneyTransactionFilter& filter) const = 0;
00121 
00135   // virtual const QValueList<MyMoneyTransaction> transactionList(const QCString& account = "") const = 0;
00136 
00141   virtual bool isDuplicateTransaction(const QCString&) const = 0;
00148   virtual const QValueList<MyMoneyPayee> payeeList(void) const = 0;
00149 
00156   virtual const QValueList<MyMoneySchedule> scheduleList(const QCString& = QCString(),
00157                                      const MyMoneySchedule::typeE = MyMoneySchedule::TYPE_ANY,
00158                                      const MyMoneySchedule::occurenceE = MyMoneySchedule::OCCUR_ANY,
00159                                      const MyMoneySchedule::paymentTypeE = MyMoneySchedule::STYPE_ANY,
00160                                      const QDate& = QDate(),
00161                                      const QDate& = QDate(),
00162                                      const bool = false) const = 0;
00163 
00168   virtual const QValueList<MyMoneySecurity> securityList(void) const = 0;
00169 
00174   virtual const MyMoneyAccount liability(void) const = 0;
00175 
00180   virtual const MyMoneyAccount asset(void) const = 0;
00181 
00186   virtual const MyMoneyAccount expense(void) const = 0;
00187 
00192   virtual const MyMoneyAccount income(void) const = 0;
00193 
00198   virtual const MyMoneyAccount equity(void) const = 0;
00199 
00207   virtual void addAccount(MyMoneyAccount& account) = 0;
00208 
00224   virtual void addAccount(MyMoneyAccount& parent, MyMoneyAccount& account) = 0;
00225 
00239   virtual void addPayee(MyMoneyPayee& payee) = 0;
00240 
00256   virtual void addInstitution(MyMoneyInstitution& institution) = 0;
00257 
00277   virtual void addTransaction(MyMoneyTransaction& transaction, const bool skipAccountUpdate = false) = 0;
00278 
00279   virtual void loadAccounts(const QMap<QCString, MyMoneyAccount>& map) = 0;
00280   virtual void loadTransactions(const QMap<QCString, MyMoneyTransaction>& map) = 0;
00281   virtual void loadInstitutions(const QMap<QCString, MyMoneyInstitution>& map) = 0;
00282   virtual void loadPayees(const QMap<QCString, MyMoneyPayee>& map) = 0;
00283   virtual void loadSchedules(const QMap<QCString, MyMoneySchedule>& map) = 0;
00284   virtual void loadSecurities(const QMap<QCString, MyMoneySecurity>& map) = 0;
00285   virtual void loadCurrencies(const QMap<QCString, MyMoneySecurity>& map) = 0;
00286   virtual void loadReports( const QMap<QCString, MyMoneyReport>& reports ) = 0;
00287   virtual void loadBudgets( const QMap<QCString, MyMoneyBudget>& budgets ) = 0;
00288   virtual void loadPrices(const MyMoneyPriceList& list) = 0;
00289 
00290   virtual unsigned long accountId(void) const = 0;
00291   virtual unsigned long transactionId(void) const = 0;
00292   virtual unsigned long payeeId(void) const = 0;
00293   virtual unsigned long institutionId(void) const = 0;
00294   virtual unsigned long scheduleId(void) const = 0;
00295   virtual unsigned long securityId(void) const = 0;
00296   virtual unsigned long reportId(void) const = 0;
00297   virtual unsigned long budgetId(void) const = 0;
00298 
00299   virtual void loadAccountId(const unsigned long id) = 0;
00300   virtual void loadTransactionId(const unsigned long id) = 0;
00301   virtual void loadPayeeId(const unsigned long id) = 0;
00302   virtual void loadInstitutionId(const unsigned long id) = 0;
00303   virtual void loadScheduleId(const unsigned long id) = 0;
00304   virtual void loadSecurityId(const unsigned long id) = 0;
00305   virtual void loadReportId(const unsigned long id) = 0;
00306   virtual void loadBudgetId(const unsigned long id) = 0;
00307 
00316   virtual const QMap<QCString, QString> pairs(void) const = 0;
00317 
00329   virtual void setPairs(const QMap<QCString, QString>& list) = 0;
00330 
00331   virtual const QValueList<MyMoneySchedule> scheduleListEx( int scheduleTypes,
00332                                               int scheduleOcurrences,
00333                                               int schedulePaymentTypes,
00334                                               QDate startDate,
00335                                               const QCStringList& accounts=QCStringList()) const = 0;
00336 
00345   virtual const QValueList<MyMoneySecurity> currencyList(void) const = 0;
00346 
00355   virtual const QValueList<MyMoneyReport> reportList( void ) const = 0;
00356 
00365   virtual const QValueList<MyMoneyBudget> budgetList( void ) const = 0;
00366 
00367 
00371   virtual void addPrice(const MyMoneyPrice& price) = 0;
00372 
00378   virtual const MyMoneyPriceList priceList(void) const = 0;
00379 
00384   virtual void rebuildAccountBalances(void) = 0;
00385 
00386 };
00387 
00388 #endif

Generated on Mon Oct 13 12:04:06 2008 for KMyMoney by  doxygen 1.4.1