libquentier
0.8.0
The library for rich desktop clients of Evernote service
Loading...
Searching...
No Matches
headers
quentier
utility
FileSystemWatcher.h
1
/*
2
* Copyright 2016-2024 Dmitry Ivanov
3
*
4
* This file is part of libquentier
5
*
6
* libquentier is free software; you can redistribute it and/or modify
7
* it under the terms of the GNU Lesser General Public License as published by
8
* the Free Software Foundation, version 3 of the License.
9
*
10
* libquentier is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser General Public License
16
* along with libquentier. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#pragma once
20
21
#include <quentier/utility/Linkage.h>
22
23
#include <QObject>
24
#include <QStringList>
25
26
#define FILE_SYSTEM_WATCHER_DEFAULT_REMOVAL_TIMEOUT_MSEC (500)
27
28
namespace
quentier {
29
30
class
FileSystemWatcherPrivate;
31
32
class
QUENTIER_EXPORT
FileSystemWatcher
:
public
QObject
33
{
34
Q_OBJECT
35
public
:
36
explicit
FileSystemWatcher
(
37
int
removalTimeoutMSec
=
38
FILE_SYSTEM_WATCHER_DEFAULT_REMOVAL_TIMEOUT_MSEC,
39
QObject *
parent
=
nullptr
);
40
41
explicit
FileSystemWatcher
(
42
const
QStringList
&
paths
,
43
int
removalTimeoutMSec
=
44
FILE_SYSTEM_WATCHER_DEFAULT_REMOVAL_TIMEOUT_MSEC,
45
QObject *
parent
=
nullptr
);
46
47
~FileSystemWatcher
()
override
;
48
49
void
addPath(
const
QString
&
path
);
50
void
addPaths(
const
QStringList
&
paths
);
51
52
[[
nodiscard
]]
QStringList
directories()
const
;
53
[[
nodiscard
]]
QStringList
files()
const
;
54
55
void
removePath(
const
QString
&
path
);
56
void
removePaths(
const
QStringList
&
paths
);
57
58
Q_SIGNALS
:
59
void
directoryChanged(
const
QString
&
path
);
60
void
directoryRemoved(
const
QString
&
path
);
61
62
void
fileChanged(
const
QString
&
path
);
63
void
fileRemoved(
const
QString
&
path
);
64
65
private
:
66
Q_DISABLE_COPY
(
FileSystemWatcher
)
67
68
private
:
69
FileSystemWatcherPrivate
* d_ptr;
70
Q_DECLARE_PRIVATE(
FileSystemWatcher
)
71
};
72
73
}
// namespace quentier
quentier::FileSystemWatcher
Definition
FileSystemWatcher.h:33
quentier::Result
The Result template class represents the bare bones result monad implementation which either contains...
Definition
Result.h:38
Generated on Sun Jan 26 2025 16:05:44 for libquentier by
1.9.8