1 /*
2  * SObjectizer-5
3  */
4 
5 /*!
6  * \file
7  * \brief Implementation of some helpers for message tracing.
8  *
9  * \since
10  * v.5.5.22
11  */
12 
13 #include <so_5/impl/msg_tracing_helpers.hpp>
14 
15 namespace so_5 {
16 
17 namespace impl {
18 
19 namespace msg_tracing_helpers {
20 
21 namespace details {
22 
23 //
24 // actual_trace_data_t
25 //
26 
27 optional<current_thread_id_t>
tid() const28 actual_trace_data_t::tid() const noexcept
29 	{
30 		return m_tid;
31 	}
32 
33 optional<const agent_t *>
agent() const34 actual_trace_data_t::agent() const noexcept
35 	{
36 		return m_agent;
37 	}
38 
39 optional<std::type_index>
msg_type() const40 actual_trace_data_t::msg_type() const noexcept
41 	{
42 		return m_msg_type;
43 	}
44 
45 optional<so_5::msg_tracing::msg_source_t>
msg_source() const46 actual_trace_data_t::msg_source() const noexcept
47 	{
48 		return m_msg_source;
49 	}
50 
51 optional<so_5::msg_tracing::message_or_signal_flag_t>
message_or_signal() const52 actual_trace_data_t::message_or_signal() const noexcept
53 	{
54 		return m_message_or_signal;
55 	}
56 
57 optional<so_5::msg_tracing::message_instance_info_t>
message_instance_info() const58 actual_trace_data_t::message_instance_info() const noexcept
59 	{
60 		return m_message_instance_info;
61 	}
62 
63 optional<so_5::msg_tracing::compound_action_description_t>
compound_action() const64 actual_trace_data_t::compound_action() const noexcept
65 	{
66 		return m_compound_action;
67 	}
68 
69 optional<const so_5::impl::event_handler_data_t *>
event_handler_data_ptr() const70 actual_trace_data_t::event_handler_data_ptr() const noexcept
71 	{
72 		return m_event_handler_data_ptr;
73 	}
74 
75 void
set_tid(current_thread_id_t tid)76 actual_trace_data_t::set_tid( current_thread_id_t tid ) noexcept
77 	{
78 		m_tid = tid;
79 	}
80 
81 void
set_agent(const agent_t * agent)82 actual_trace_data_t::set_agent( const agent_t * agent ) noexcept
83 	{
84 		m_agent = agent;
85 	}
86 
87 void
set_msg_type(const std::type_index & msg_type)88 actual_trace_data_t::set_msg_type(
89 	const std::type_index & msg_type ) noexcept
90 	{
91 		m_msg_type = msg_type;
92 	}
93 
94 void
set_msg_source(so_5::msg_tracing::msg_source_t info)95 actual_trace_data_t::set_msg_source(
96 	so_5::msg_tracing::msg_source_t info ) noexcept
97 	{
98 		m_msg_source = info;
99 	}
100 
101 void
set_message_or_signal(so_5::msg_tracing::message_or_signal_flag_t flag)102 actual_trace_data_t::set_message_or_signal(
103 	so_5::msg_tracing::message_or_signal_flag_t flag ) noexcept
104 	{
105 		m_message_or_signal = flag;
106 	}
107 
108 void
set_message_instance_info(so_5::msg_tracing::message_instance_info_t info)109 actual_trace_data_t::set_message_instance_info(
110 	so_5::msg_tracing::message_instance_info_t info ) noexcept
111 	{
112 		m_message_instance_info = info;
113 	}
114 
115 void
set_compound_action(so_5::msg_tracing::compound_action_description_t desc)116 actual_trace_data_t::set_compound_action(
117 	so_5::msg_tracing::compound_action_description_t desc ) noexcept
118 	{
119 		m_compound_action = desc;
120 	}
121 
122 void
set_event_handler_data_ptr(const so_5::impl::event_handler_data_t * ptr)123 actual_trace_data_t::set_event_handler_data_ptr(
124 	const so_5::impl::event_handler_data_t * ptr ) noexcept
125 	{
126 		m_event_handler_data_ptr = ptr;
127 	}
128 
129 } /* namespace details */
130 
131 } /* namespace msg_tracing_helpers */
132 
133 } /* namespace impl */
134 
135 } /* namespace so_5 */
136 
137