Flyby SDK v1.0.2
Loading...
Searching...
No Matches
subscriber.h
Go to the documentation of this file.
1
8
9#pragma once
10
11#include <functional>
12
15
16namespace flyby {
22 public:
26 [[nodiscard]] virtual std::shared_ptr<SubscribeObservable> on_success(const std::function<void()>& fn) = 0;
27
31 [[nodiscard]] virtual std::shared_ptr<SubscribeObservable> on_failure(const std::function<void()>& fn) = 0;
32
36 [[nodiscard]] virtual std::shared_ptr<SubscribeObservable> on_next(const std::function<void(const Message&)>& fn
37 ) = 0;
38 };
39
46 class Subscriber {
47 public:
54 static std::shared_ptr<Subscriber> create(const std::string& client_id);
55
56 virtual ~Subscriber() = default;
57
63 virtual bool is_connected() = 0;
64
71 [[nodiscard]] virtual std::shared_ptr<SubscribeObservable> subscribe(const std::string& topic) = 0;
72 };
73} // namespace flyby
A message that is sent across the message bus.
Definition message.h:167
General observable interface.
Definition observable.h:20
Observable for subscribing status on the message bus.
Definition subscriber.h:21
virtual std::shared_ptr< SubscribeObservable > on_success(const std::function< void()> &fn)=0
Handles success.
virtual std::shared_ptr< SubscribeObservable > on_failure(const std::function< void()> &fn)=0
Handles failure.
virtual std::shared_ptr< SubscribeObservable > on_next(const std::function< void(const Message &)> &fn)=0
Handles the next incoming message.
The class used for subscribing to the message bus.
Definition subscriber.h:46
virtual bool is_connected()=0
Check if the subscriber is connected.
virtual std::shared_ptr< SubscribeObservable > subscribe(const std::string &topic)=0
Subscribe to a topic on the message bus.
static std::shared_ptr< Subscriber > create(const std::string &client_id)
Creates a subscriber handler.