File indexing completed on 2024-05-12 05:06:41
0001 /* 0002 SPDX-FileCopyrightText: 2005-2018 Thomas Baumgart <tbaumgart@kde.org> 0003 SPDX-FileCopyrightText: 2017-2018 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com> 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef MYMONEYOBJECT_P_H 0008 #define MYMONEYOBJECT_P_H 0009 0010 // ---------------------------------------------------------------------------- 0011 // QT Includes 0012 0013 #include <QSet> 0014 #include <QString> 0015 0016 // ---------------------------------------------------------------------------- 0017 // Project Includes 0018 0019 class MyMoneyObjectPrivate 0020 { 0021 public: 0022 MyMoneyObjectPrivate() 0023 { 0024 } 0025 0026 MyMoneyObjectPrivate(const MyMoneyObjectPrivate& right) 0027 { 0028 *this = right; 0029 } 0030 0031 MyMoneyObjectPrivate& operator=(const MyMoneyObjectPrivate& right) 0032 { 0033 m_id = right.m_id; 0034 m_referencedObjects = right.m_referencedObjects; 0035 return *this; 0036 } 0037 0038 virtual ~MyMoneyObjectPrivate() 0039 { 0040 } 0041 0042 void setId(const QString& id) 0043 { 0044 m_id = id; 0045 } 0046 0047 /** 0048 * This method must be provided by all derived object. It fills 0049 * the @c m_referencedObjects set with the ids that are 0050 * referenced by this object. 0051 */ 0052 virtual void collectReferencedObjects() = 0; 0053 0054 void clearReferences() 0055 { 0056 m_referencedObjects.clear(); 0057 } 0058 0059 QString m_id; 0060 QSet<QString> m_referencedObjects; 0061 }; 0062 0063 #endif