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