diff options
author | Roman Smrž <roman.smrz@seznam.cz> | 2024-08-18 22:15:56 +0200 |
---|---|---|
committer | Roman Smrž <roman.smrz@seznam.cz> | 2024-08-19 21:53:11 +0200 |
commit | a689af61eb91dcbc135890276a3c6281166d30f9 (patch) | |
tree | 7fd9583f8cc9e600a0d52bed83ff0d6ad56e9154 /src/test/service.h | |
parent | 0eb84d2c6d4657c482b3deff8d4114d676197099 (diff) |
Diffstat (limited to 'src/test/service.h')
-rw-r--r-- | src/test/service.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/service.h b/src/test/service.h new file mode 100644 index 0000000..c693ce4 --- /dev/null +++ b/src/test/service.h @@ -0,0 +1,35 @@ +#pragma once + +#include <erebos/service.h> + +namespace erebos +{ + +class TestService : public Service +{ +public: + using MessageWatcher = std::function<void( const Stored< Object > & )>; + + class Config + { + public: + Config & onMessage( MessageWatcher ); + + private: + friend class TestService; + vector< MessageWatcher > watchers; + }; + + TestService( Config &&, const Server & ); + virtual ~TestService(); + + UUID uuid() const override; + void handle( Context & ) override; + + static void send( const Peer &, const Ref & ); + +private: + const Config config; +}; + +} |