1
2
3
4
5
6 #ifndef CMAJOR_BUILD_FIBER_EXECUTION_CONTEXT_INCLUDED
7 #define CMAJOR_BUILD_FIBER_EXECUTION_CONTEXT_INCLUDED
8 #include <cmajor/build/ExecutionContext.hpp>
9
10 namespace cmajor { namespace build {
11
12 class BuildServer;
13 class FiberConnection;
14 class Connection;
15
16 class FiberExecutionContext : public ExecutionContext
17 {
18 public:
19 FiberExecutionContext();
20 ~FiberExecutionContext();
21 BuildClient* GetClient() override { return client.get(); }
22 Connection* GetConnection() override;
23 private:
24 std::unique_ptr<FiberConnection> connection;
25 std::unique_ptr<BuildClient> client;
26 std::unique_ptr<BuildServer> server;
27 };
28
29 } }
30
31 #endif // CMAJOR_BUILD_FIBER_EXECUTION_CONTEXT_INCLUDED