ledger-core
EventPublisher.hpp
1 // AUTOGENERATED FILE - DO NOT MODIFY!
2 // This file generated by Djinni from emitter.djinni
3 
4 #ifndef DJINNI_GENERATED_EVENTPUBLISHER_HPP
5 #define DJINNI_GENERATED_EVENTPUBLISHER_HPP
6 
7 #include <cstdint>
8 #include <memory>
9 #ifndef LIBCORE_EXPORT
10  #if defined(_MSC_VER)
11  #include <libcore_export.h>
12  #else
13  #define LIBCORE_EXPORT
14  #endif
15 #endif
16 
17 namespace ledger { namespace core { namespace api {
18 
19 class Event;
20 class EventBus;
21 class ExecutionContext;
22 
24 class LIBCORE_EXPORT EventPublisher {
25 public:
26  virtual ~EventPublisher() {}
27 
32  virtual std::shared_ptr<EventBus> getEventBus() = 0;
33 
38  virtual void post(const std::shared_ptr<Event> & event) = 0;
39 
45  virtual void postSticky(const std::shared_ptr<Event> & event, int32_t tag) = 0;
46 
51  virtual void relay(const std::shared_ptr<EventBus> & bus) = 0;
52 
57  static std::shared_ptr<EventPublisher> newInstance(const std::shared_ptr<ExecutionContext> & context);
58 };
59 
60 } } } // namespace ledger::core::api
61 #endif //DJINNI_GENERATED_EVENTPUBLISHER_HPP
Definition: EventPublisher.hpp:24
Definition: Account.cpp:8