File indexing completed on 2024-06-23 05:48:49

0001 /*
0002     This file is part of the Okteta Kasten module, 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 KASTEN_SHIFTBYTEARRAYFILTER_HPP
0010 #define KASTEN_SHIFTBYTEARRAYFILTER_HPP
0011 
0012 //
0013 #include "rotatebytearrayfilterparameterset.hpp"
0014 //
0015 #include <abstractbytearrayfilter.hpp>
0016 
0017 class ShiftByteArrayFilter : public AbstractByteArrayFilter
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     ShiftByteArrayFilter();
0023 
0024     ~ShiftByteArrayFilter() override;
0025 
0026 public: // AbstractByteArrayFilter API
0027     bool filter(Okteta::Byte* result, Okteta::AbstractByteArrayModel* model, const Okteta::AddressRange& range) const override;
0028     AbstractByteArrayFilterParameterSet* parameterSet() override;
0029     void loadConfig(const KConfigGroup& configGroup) override;
0030     void saveConfig(KConfigGroup& configGroup) const override;
0031 
0032 private:
0033     RotateByteArrayFilterParameterSet mParameterSet;
0034 };
0035 
0036 #endif