14 |
|
#endif |
15 |
|
|
16 |
|
#include <menes-api/console.hpp> |
17 |
+ |
#include <menes-api/files.hpp> |
18 |
+ |
#include <menes-api/locks.hpp> |
19 |
+ |
#include <menes-api/path.hpp> |
20 |
+ |
#include <menes-api/process.hpp> |
21 |
+ |
#include <menes-ext/scopes.hpp> |
22 |
|
#include <menes-ext/string.hpp> |
23 |
+ |
#include <menes-ios/helpers.hpp> |
24 |
+ |
#include <menes-xml/document.hpp> |
25 |
+ |
#include <menes-xml/nodeset.hpp> |
26 |
+ |
#include <menes-xml/parse.hpp> |
27 |
+ |
|
28 |
+ |
#include <unistd.h> |
29 |
+ |
|
30 |
+ |
#include "Matcher/Matcher.hpp" |
31 |
+ |
|
32 |
+ |
typedef api::Posix::FileStream<api::Posix::HandleWriter, O_WRONLY | O_CREAT | O_TRUNC, 0600> SecretFileWriter; |
33 |
+ |
typedef api::Posix::FileStream<api::Posix::HandleWriter, O_WRONLY | O_APPEND, 0> AppendFileWriter; |
34 |
+ |
|
35 |
+ |
#ifndef _Spectre2_prefix_ |
36 |
+ |
#define _Spectre2_prefix_ "/usr/local" |
37 |
+ |
#endif |
38 |
+ |
|
39 |
+ |
#ifndef _Spectre2_root_ |
40 |
+ |
#define _Spectre2_root_ "/smb" |
41 |
+ |
#endif |
42 |
+ |
|
43 |
+ |
#ifndef _Spectre2_mount_ |
44 |
+ |
#define _Spectre2_mount_ "/sbin/mount" |
45 |
+ |
#endif |
46 |
+ |
|
47 |
+ |
class Daemon; |
48 |
+ |
class Share; |
49 |
|
|
50 |
|
class Spectre2 |
51 |
|
{ |
52 |
|
private: |
53 |
< |
const ext::String& pid; |
53 |
> |
ext::String pid; |
54 |
|
public: |
55 |
< |
Spectre2(const ext::String& config, const ext::String& pid); |
55 |
> |
Spectre2(const api::Path& config); |
56 |
|
~Spectre2(); |
57 |
< |
static ext::String program; |
57 |
> |
static ext::String program, prefix, root, mount; |
58 |
|
static bool debug; |
59 |
+ |
static ext::Vector<Daemon*> daemons; |
60 |
+ |
static ext::RedBlackSet<Share> shares; |
61 |
+ |
static api::ThreadMutex sharesLock; |
62 |
|
}; |
63 |
|
|
64 |
< |
#endif // _Spectre2_hpp_ |
64 |
> |
#endif//_Spectre2_hpp_ |