1
2
3
4
5
6 #ifndef CMAJOR_BUILD_EXECUTION_CONTEXT_INCLUDED
7 #define CMAJOR_BUILD_EXECUTION_CONTEXT_INCLUDED
8 #include <cmajor/build/BuildApi.hpp>
9 #include <memory>
10 #include <string>
11
12 namespace cmajor { namespace build {
13
14 class Log;
15 class BuildClient;
16 class Connection;
17
18 class ExecutionContext
19 {
20 public:
21 ExecutionContext();
22 virtual ~ExecutionContext();
23 Log* GetLog() const { return log.get(); }
24 virtual BuildClient* GetClient() { return nullptr; }
25 virtual void ExitServer() {}
26 virtual Connection* GetConnection() { return nullptr; }
27 private:
28 std::unique_ptr<Log> log;
29 };
30
31 } }
32
33 #endif // CMAJOR_BUILD_EXECUTION_CONTEXT_INCLUDED