File indexing completed on 2024-05-05 05:55:38

0001 /*
0002     This file is part of the Okteta Core library, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2008 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #ifndef KPIECETABLE_TESTPIECETABLECHANGE_HPP
0010 #define KPIECETABLE_TESTPIECETABLECHANGE_HPP
0011 
0012 // lib
0013 #include <piecetable/abstractpiecetablechange.hpp>
0014 #include <piecetable/piece.hpp>
0015 // Qt
0016 #include <QString>
0017 
0018 namespace KPieceTable {
0019 
0020 class TestPieceTableChange : public AbstractPieceTableChange
0021 {
0022 public:
0023     explicit
0024     TestPieceTableChange(int typeId = -1, const QString& description = QString(),
0025                          int position = 0, int storagePosition = 0, int storageId = Piece::ChangeStorage,
0026                          int replacedStoragePosition = 0, int replacedStorageId = Piece::ChangeStorage);
0027 
0028     ~TestPieceTableChange() override;
0029 
0030 public: // AbstractPieceTableChange API
0031     int type() const override;
0032     QString description() const override;
0033     bool merge(const AbstractPieceTableChange* other) override;
0034     AddressRange apply(PieceTable* pieceTable) const override;
0035     AddressRange revert(PieceTable* pieceTable) const override;
0036     ArrayChangeMetrics metrics() const override;
0037     int dataSize() const override;
0038 
0039 private:
0040     int mTypeId;
0041     QString mDescription;
0042     int mPosition;
0043     int mStoragePosition;
0044     int mStorageId;
0045 
0046     int mReplacedStoragePosition;
0047     int mReplacedStorageId;
0048 };
0049 
0050 inline TestPieceTableChange::TestPieceTableChange(int typeId, const QString& description,
0051                                                   int position, int storagePosition, int storageId,
0052                                                   int replacedStoragePosition, int replacedStorageId)
0053     : mTypeId(typeId)
0054     , mDescription(description)
0055     , mPosition(position)
0056     , mStoragePosition(storagePosition)
0057     , mStorageId(storageId)
0058     , mReplacedStoragePosition(replacedStoragePosition)
0059     , mReplacedStorageId(replacedStorageId)
0060 {}
0061 
0062 }
0063 
0064 #endif