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

0001 /*
0002     SPDX-FileCopyrightText: 2002-2018 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-FileCopyrightText: 2004 Ace Jones <acejones@users.sourceforge.net>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef MYMONEYSTORAGEDUMP_H
0008 #define MYMONEYSTORAGEDUMP_H
0009 
0010 #include "kmm_mymoney_export.h"
0011 
0012 // ----------------------------------------------------------------------------
0013 // QT Includes
0014 
0015 // ----------------------------------------------------------------------------
0016 // Project Includes
0017 
0018 #include "mymoneykeyvaluecontainer.h"
0019 
0020 /**
0021   * @author Thomas Baumgart
0022   */
0023 
0024 class MyMoneyStorageMgr;
0025 class MyMoneyTransaction;
0026 class QTextStream;
0027 
0028 namespace eMyMoney {
0029 namespace Split {
0030 enum class State;
0031 }
0032 }
0033 
0034 class KMM_MYMONEY_EXPORT MyMoneyStorageDump
0035 {
0036 public:
0037     MyMoneyStorageDump();
0038     ~MyMoneyStorageDump();
0039 
0040     void readStream(QDataStream& s, MyMoneyStorageMgr* storage);
0041     void writeStream(QDataStream& s, MyMoneyStorageMgr* storage);
0042 
0043 private:
0044     void dumpTransaction(QTextStream& s, MyMoneyStorageMgr* storage, const MyMoneyTransaction& it_t);
0045     void dumpKVP(const QString& headline, QTextStream& s, const MyMoneyKeyValueContainer &kvp, int indent = 0);
0046     const QString reconcileToString(eMyMoney::Split::State flag) const;
0047 };
0048 
0049 #endif