1 |
// Spectre 2 |
2 |
// |
3 |
// Douglas Thrift |
4 |
// |
5 |
// $Id$ |
6 |
|
7 |
#ifndef _Spectre2_hpp_ |
8 |
#define _Spectre2_hpp_ |
9 |
|
10 |
#include <menes/platform.hpp> |
11 |
|
12 |
#ifdef MENES_PRAGMA_ONCE |
13 |
#pragma once |
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 |
|
49 |
class Spectre2 |
50 |
{ |
51 |
private: |
52 |
ext::String pid; |
53 |
public: |
54 |
Spectre2(const api::Path& config); |
55 |
~Spectre2(); |
56 |
static ext::String program, prefix, root, mount; |
57 |
static bool debug; |
58 |
static Daemon* daemon; |
59 |
}; |
60 |
|
61 |
#endif//_Spectre2_hpp_ |