diff options
Diffstat (limited to 'daemon/src/Assembly.h')
-rw-r--r-- | daemon/src/Assembly.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/daemon/src/Assembly.h b/daemon/src/Assembly.h new file mode 100644 index 0000000..8ffc038 --- /dev/null +++ b/daemon/src/Assembly.h @@ -0,0 +1,33 @@ +#pragma once + +#include <string> + +#include <rpc/server.h> + + +class Assembly; + + +class AssemblyContext +{ +public: + AssemblyContext(Assembly & parent, const std::string & prefix) noexcept; + template <typename T> void bind(const std::string & name, const T & function); +private: + Assembly & assembly; + const std::string & prefix; +}; + + +class Assembly +{ + friend AssemblyContext; +public: + explicit Assembly(rpc::server & server); + template <typename T> void add(const std::string & prefix, T & element); +private: + rpc::server & server; +}; + + +#include "Assembly-inl.h" |