Health-GPS 3.0.0.0
Global Health Policy Simulation model (Health-GPS)
Loading...
Searching...
No Matches
event_message.h
Go to the documentation of this file.
1#pragma once
2
3#include "event_visitor.h"
4#include <cstdint>
5#include <string>
6
7namespace hgps {
8
10enum struct EventType : uint8_t {
12 runner,
13
15 info,
16
18 result,
19
23
25 error
26};
27
30 EventMessage() = delete;
31
35 EventMessage(std::string sender, unsigned int run)
36 : source{std::move(sender)}, run_number{run} {}
37
38 EventMessage(const EventMessage &) = delete;
42
44 virtual ~EventMessage() = default;
45
47 const std::string source;
48
50 const unsigned int run_number{};
51
54 virtual int id() const noexcept = 0;
55
58 virtual std::string to_string() const = 0;
59
62 virtual void accept(EventMessageVisitor &visitor) const = 0;
63};
64} // namespace hgps
Event message types visitor interface (double dispatcher)
Definition event_visitor.h:11
Top-level namespace for Health-GPS Console host application.
Definition command_options.cpp:8
EventType
Event Message type enumeration.
Definition event_message.h:10
@ runner
Simulation executive message.
@ individual_tracking
MAHIMA: Per-person tracking rows for IndividualIDTracking CSV (same-person ID across scenarios)
@ result
Simulation result message.
@ info
General notification and progress message.
@ error
General error reporting message.
Global namespace.
Definition column_iterator.h:123
Simulation event messages interface.
Definition event_message.h:29
virtual ~EventMessage()=default
Destroys an EventMessage instance.
const unsigned int run_number
Gets the associated Simulation run number.
Definition event_message.h:50
virtual int id() const noexcept=0
Gets the unique message type identifier.
EventMessage & operator=(const EventMessage &)=delete
const std::string source
Gets the sender identifier.
Definition event_message.h:47
EventMessage(EventMessage &&)=delete
virtual std::string to_string() const =0
Create a string representation of this instance.
virtual void accept(EventMessageVisitor &visitor) const =0
Double dispatch the message using a visitor implementation.
EventMessage & operator=(EventMessage &&)=delete
EventMessage(const EventMessage &)=delete
EventMessage(std::string sender, unsigned int run)
Initialises a new instance of the EventMessage structure.
Definition event_message.h:35