File indexing completed on 2024-05-12 16:42:33

0001 /*
0002     SPDX-FileCopyrightText: 2000-2002 Michael Edwardes <mte@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2001 Felix Rodriguez <frodriguez@users.sourceforge.net>
0004     SPDX-FileCopyrightText: 2002-2003 Kevin Tambascio <ktambascio@users.sourceforge.net>
0005     SPDX-FileCopyrightText: 2006-2017 Thomas Baumgart <tbaumgart@kde.org>
0006     SPDX-FileCopyrightText: 2006 Ace Jones <acejones@users.sourceforge.net>
0007     SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0008     SPDX-License-Identifier: GPL-2.0-or-later
0009 */
0010 
0011 #ifndef MYMONEYACCOUNT_P_H
0012 #define MYMONEYACCOUNT_P_H
0013 
0014 // ----------------------------------------------------------------------------
0015 // QT Includes
0016 
0017 #include <QString>
0018 #include <QDate>
0019 #include <QMap>
0020 
0021 // ----------------------------------------------------------------------------
0022 // KDE Includes
0023 
0024 
0025 // ----------------------------------------------------------------------------
0026 // Project Includes
0027 
0028 #include "mymoneyobject_p.h"
0029 #include "mymoneykeyvaluecontainer.h"
0030 #include "mymoneymoney.h"
0031 #include "mymoneyenums.h"
0032 
0033 using namespace eMyMoney;
0034 
0035 class MyMoneyAccountPrivate : public MyMoneyObjectPrivate
0036 {
0037 public:
0038 
0039     MyMoneyAccountPrivate() :
0040         m_accountType(Account::Type::Unknown),
0041         m_fraction(-1)
0042     {
0043     }
0044 
0045     /**
0046       * This member variable identifies the type of account
0047       */
0048     eMyMoney::Account::Type m_accountType;
0049 
0050     /**
0051       * This member variable keeps the ID of the MyMoneyInstitution object
0052       * that this object belongs to.
0053       */
0054     QString m_institution;
0055 
0056     /**
0057       * This member variable keeps the name of the account
0058       * It is solely for documentation purposes and it's contents is not
0059       * used otherwise by the mymoney-engine.
0060       */
0061     QString m_name;
0062 
0063     /**
0064       * This member variable keeps the account number at the institution
0065       * It is solely for documentation purposes and it's contents is not
0066       * used otherwise by the mymoney-engine.
0067       */
0068     QString m_number;
0069 
0070     /**
0071       * This member variable is a description of the account.
0072       * It is solely for documentation purposes and it's contents is not
0073       * used otherwise by the mymoney-engine.
0074       */
0075     QString m_description;
0076 
0077     /**
0078       * This member variable keeps the date when the account
0079       * was last modified.
0080       */
0081     QDate m_lastModified;
0082 
0083     /**
0084       * This member variable keeps the date when the
0085       * account was created as an object in a MyMoneyFile
0086       */
0087     QDate m_openingDate;
0088 
0089     /**
0090       * This member variable keeps the date of the last
0091       * reconciliation of this account
0092       */
0093     QDate m_lastReconciliationDate;
0094 
0095     /**
0096       * This member holds the ID's of all sub-ordinate accounts
0097       */
0098     QStringList m_accountList;
0099 
0100     /**
0101       * This member contains the ID of the parent account
0102       */
0103     QString m_parentAccount;
0104 
0105     /**
0106       * This member contains the ID of the currency associated with this account
0107       */
0108     QString m_currencyId;
0109 
0110     /**
0111       * This member holds the balance of all transactions stored in the journal
0112       * for this account.
0113       */
0114     MyMoneyMoney    m_balance;
0115 
0116     /**
0117       * This member variable keeps the set of kvp's needed to establish
0118       * online banking sessions to this account.
0119       */
0120     MyMoneyKeyValueContainer m_onlineBankingSettings;
0121 
0122     /**
0123       * This member keeps the fraction for the account. It is filled by MyMoneyFile
0124       * when set to -1. See also @sa fraction(const MyMoneySecurity&).
0125       */
0126     int             m_fraction;
0127 
0128     /**
0129       * This member keeps the reconciliation history
0130       */
0131     QMap<QDate, MyMoneyMoney> m_reconciliationHistory;
0132 
0133 };
0134 
0135 #endif