blob: fd11eca8eb22d4c628241607ee5331e5d9f4e72e (
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
32
33
34
35
36
37
38
39
40
41
|
#ifndef __lib_components_file_eraser_h
#define __lib_components_file_eraser_h
#include <lib/base/thread.h>
#include <lib/base/message.h>
#include <lib/base/ebase.h>
class eBackgroundFileEraser: public eMainloop, private eThread, public Object
{
struct Message
{
int type;
const char *filename;
enum
{
erase,
quit
};
Message(int type=0, const char *filename=0)
:type(type), filename(filename)
{}
};
eFixedMessagePump<Message> messages;
static eBackgroundFileEraser *instance;
void gotMessage(const Message &message);
void thread();
void idle();
ePtr<eTimer> stop_thread_timer;
#ifndef SWIG
public:
#endif
eBackgroundFileEraser();
~eBackgroundFileEraser();
#ifdef SWIG
public:
#endif
void erase(const char * filename);
static eBackgroundFileEraser *getInstance() { return instance; }
};
#endif
|