Antares Simulator
Power System Simulator
Loading...
Searching...
No Matches
filejob.inc.hxx
1/*
2** Copyright 2007-2024, RTE (https://www.rte-france.com)
3** See AUTHORS.txt
4** SPDX-License-Identifier: MPL-2.0
5** This file is part of Antares-Simulator,
6** Adequacy and Performance assessment for interconnected energy networks.
7**
8** Antares_Simulator is free software: you can redistribute it and/or modify
9** it under the terms of the Mozilla Public Licence 2.0 as published by
10** the Mozilla Foundation, either version 2 of the License, or
11** (at your option) any later version.
12**
13** Antares_Simulator is distributed in the hope that it will be useful,
14** but WITHOUT ANY WARRANTY; without even the implied warranty of
15** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16** Mozilla Public Licence 2.0 for more details.
17**
18** You should have received a copy of the Mozilla Public Licence 2.0
19** along with Antares_Simulator. If not, see <https://opensource.org/license/mpl-2-0/>.
20*/
21#ifndef __ANTARES_FS_WALKER_FILEJOB_H__
22#define __ANTARES_FS_WALKER_FILEJOB_H__
23
24#include "registry.inc.hxx"
25
26using namespace Yuni;
27
28namespace FSWalker
29{
30class FileJob: public IJob
31{
32public:
35 {
36 }
37
38 virtual ~FileJob()
39 {
40 }
41
42public:
44 String::Vector files;
46 String::Vector parents;
48 std::vector<uint64_t> filessize;
50 std::vector<int64_t> modified;
53
54protected:
55 virtual void onExecute();
56
57}; // class FileJob
58
59void FileJob::onExecute()
60{
61 for (uint e = 0; e != events.file.access.size(); ++e)
62 {
63 // event to trigger
64 auto access = events.file.access[e];
65 void* user = events.file.userdata[e];
66
67 for (uint i = 0; i != files.size(); ++i)
68 {
69 (*access)(files[i], parents[i], modified[i], filessize[i], user);
70 }
71 }
72}
73
74} // namespace FSWalker
75
76#endif // __ANTARES_FS_WALKER_FILEJOB_H__
Definition registry.inc.hxx:32
Definition filejob.inc.hxx:31
std::vector< uint64_t > filessize
All associated sizes.
Definition filejob.inc.hxx:48
std::vector< int64_t > modified
Modification.
Definition filejob.inc.hxx:50
EventsRegistry & events
Reference.
Definition filejob.inc.hxx:52
String::Vector parents
Parent.
Definition filejob.inc.hxx:46
String::Vector files
All files.
Definition filejob.inc.hxx:44
Definition job.h:40