File indexing completed on 2024-05-12 15:59:15

0001 /*
0002  *  SPDX-FileCopyrightText: 2007-2008 Cyrille Berger <cberger@cberger.net>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.1-or-later
0005  */
0006 
0007 #ifndef _KIS_META_DATA_FILTER_H_
0008 #define _KIS_META_DATA_FILTER_H_
0009 
0010 #include <kritametadata_export.h>
0011 class QString;
0012 
0013 namespace KisMetaData
0014 {
0015 class Store;
0016 /**
0017  * This class is a base class for filtering a meta data store to alter some
0018  * information. For instance, remove author information or change edition
0019  * date.
0020  */
0021 class Filter
0022 {
0023 public:
0024     virtual ~Filter();
0025     /// @return true if the filter is enabled by default when exporting
0026     virtual bool defaultEnabled() const = 0;
0027     /// @return the id of this filter
0028     virtual QString id() const = 0;
0029     /// @return the name of this filter
0030     virtual QString name() const = 0;
0031     /// @return a description of this filter
0032     virtual QString description() const = 0;
0033     /**
0034      * Apply a filter on a meta data store.
0035      */
0036     virtual void filter(KisMetaData::Store*) const = 0;
0037 };
0038 }
0039 
0040 #endif