summaryrefslogtreecommitdiff
path: root/library/filter.h
blob: dd716680dfd82dad302f608dcc0095eba9d27259 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#ifndef FFS_FILTER_H_INCLUDED
#define FFS_FILTER_H_INCLUDED

#include "../structures.h"


namespace FreeFileSync
{
    class FilterProcess //relative filtering
    {
    public:
        FilterProcess(const wxString& includeFilter, const wxString& excludeFilter);

        bool matchesFileFilter(const DefaultChar* relFilename) const;
        bool matchesDirFilter(const DefaultChar* relDirname) const;

        void filterGridData(FolderComparison& folderCmp) const;

        static void includeAllRowsOnGrid(FolderComparison& folderCmp);
        static void excludeAllRowsOnGrid(FolderComparison& folderCmp);

    private:
        std::set<Zstring> filterFileIn;
        std::set<Zstring> filterFolderIn;
        std::set<Zstring> filterFileEx;
        std::set<Zstring> filterFolderEx;
    };
}


#endif // FFS_FILTER_H_INCLUDED
bgstack15