Antares Simulator
Power System Simulator
modified-inode.h
1 /*
2 ** Copyright 2007-2025, 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 __MODIFIED_INODE_H__
22 #define __MODIFIED_INODE_H__
23 
24 #include <fswalker/fswalker.h>
25 #include <mutex>
26 
28 {
29 public:
30  ModifiedINode(int64_t dateLimit);
31 
32  virtual ~ModifiedINode()
33  {
34  }
35 
36  virtual const char* caption() const;
37 
38  virtual FSWalker::OnDirectoryEvent directoryEvent();
39  virtual FSWalker::OnFileEvent fileEvent();
40 
41  virtual void* userdataCreate(FSWalker::DispatchJobEvent& queue);
42  virtual void userdataDestroy(void* userdata);
43 
44 public:
45  uint64_t bytesDeleted;
46  uint64_t filesDeleted;
47  uint64_t foldersDeleted;
48 
49 private:
50  std::mutex pMutex;
51  int64_t pDateLimit;
52  FSWalker::DispatchJobEvent pQueue;
53 
54 }; // class ModifiedINode
55 
56 #endif // __MODIFIED_INODE_H__
Definition: fswalker.h:56
Definition: modified-inode.h:28
virtual void * userdataCreate(FSWalker::DispatchJobEvent &queue)
Get the user data.
Definition: modified-inode.cpp:234
virtual const char * caption() const
Human readable caption of the extension.
Definition: modified-inode.cpp:219
virtual FSWalker::OnFileEvent fileEvent()
Provide a reentrant event for handling files.
Definition: modified-inode.cpp:224
virtual FSWalker::OnDirectoryEvent directoryEvent()
Provide a reentrant event for handling directories.
Definition: modified-inode.cpp:229
virtual void userdataDestroy(void *userdata)
Destroy user data.
Definition: modified-inode.cpp:241