File indexing completed on 2024-05-12 04:38:11
0001 /* 0002 SPDX-FileCopyrightText: 2013 Milian Wolff <mail@milianw.de> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KDEVPLATFORM_IPROJECTFILTER_H 0008 #define KDEVPLATFORM_IPROJECTFILTER_H 0009 0010 #include <project/projectexport.h> 0011 0012 namespace KDevelop 0013 { 0014 0015 class Path; 0016 0017 /** 0018 * @short The actual project filter object. 0019 * 0020 * Instances of this class should allow threadsafe filtering of project contents. 0021 * 0022 * @author Milian Wolff 0023 */ 0024 class KDEVPLATFORMPROJECT_EXPORT IProjectFilter 0025 { 0026 public: 0027 virtual ~IProjectFilter(); 0028 0029 /** 0030 * Check whether the given @p path should be included in a project. 0031 * 0032 * @param path is the path that you want to be checked. 0033 * @param isFolder distinguishes between files and folders. 0034 * 0035 * @return true when the given path should be included in the project, 0036 * false otherwise, i.e. when the path should be hidden. 0037 */ 0038 virtual bool isValid(const Path& path, bool isFolder) const = 0; 0039 }; 0040 0041 } 0042 0043 #endif // KDEVPLATFORM_IPROJECTFILTER_H