diff options
Diffstat (limited to 'src/sender_client.hh')
| -rw-r--r-- | src/sender_client.hh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/sender_client.hh b/src/sender_client.hh new file mode 100644 index 0000000..5d0bd35 --- /dev/null +++ b/src/sender_client.hh @@ -0,0 +1,30 @@ +#ifndef SENDER_CLIENT_HH +#define SENDER_CLIENT_HH + +#include <memory> +#include <string> + +namespace stuff { + +class Config; + +class SenderClient { +public: + virtual ~SenderClient() {} + + virtual void send(const std::string& channel, + const std::string& message) = 0; + + static std::unique_ptr<SenderClient> create(const Config* config); + +protected: + SenderClient() {} + +private: + SenderClient(const SenderClient&) = delete; + SenderClient& operator=(const SenderClient&) = delete; +}; + +} // namespace stuff + +#endif /* SENDER_CLIENT_HH */ |
