File indexing completed on 2024-06-09 05:01:54

0001 /*
0002     SPDX-FileCopyrightText: 2002 Thomas Baumgart <tbaumgart@kde.org>
0003     SPDX-FileCopyrightText: 2002 Kevin Tambascio <ktambascio@users.sourceforge.net>
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef IMYMONEYSTORAGEFORMAT_H
0008 #define IMYMONEYSTORAGEFORMAT_H
0009 
0010 
0011 /**
0012   * @author Kevin Tambascio (ktambascio@yahoo.com)
0013   */
0014 
0015 #include "kmm_mymoney_export.h"
0016 
0017 // ----------------------------------------------------------------------------
0018 // QT Includes
0019 
0020 class QString;
0021 class QIODevice;
0022 
0023 // ----------------------------------------------------------------------------
0024 // Project Includes
0025 
0026 class MyMoneyStorageMgr;
0027 class MyMoneyFile;
0028 
0029 class KMM_MYMONEY_EXPORT IMyMoneyOperationsFormat
0030 {
0031 public:
0032     IMyMoneyOperationsFormat();
0033     virtual ~IMyMoneyOperationsFormat();
0034 
0035     enum fileVersionDirectionType {
0036         Reading = 0,          /**< version of file to be read */
0037         Writing = 1,          /**< version to be used when writing a file */
0038     };
0039 
0040 /// @todo port to new model code
0041     virtual void readFile(QIODevice* qf, MyMoneyFile* file) = 0;
0042     // virtual void readStream(QDataStream& s, IMyMoneySerialization* storage) = 0;
0043 
0044     virtual void writeFile(QIODevice* qf, MyMoneyFile* file) = 0;
0045     //virtual void writeStream(QDataStream& s, IMyMoneySerialization* storage) = 0;
0046 
0047     virtual void setProgressCallback(void(*callback)(int, int, const QString&)) = 0;
0048     /**
0049       * This member is used to store the file version information
0050       * obtained while reading a file.
0051       */
0052     static unsigned int fileVersionRead;
0053 
0054     /**
0055       * This member is used to store the file version information
0056       * to be used when writing a file.
0057       */
0058     static unsigned int fileVersionWrite;
0059 };
0060 
0061 #endif