summaryrefslogtreecommitdiff
path: root/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/hmi_message_handler/src/hmi_message_handler_impl.cc')
-rw-r--r--src/components/hmi_message_handler/src/hmi_message_handler_impl.cc193
1 files changed, 98 insertions, 95 deletions
diff --git a/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc b/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
index 02a977a273..959696c5af 100644
--- a/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
+++ b/src/components/hmi_message_handler/src/hmi_message_handler_impl.cc
@@ -35,100 +35,103 @@
namespace hmi_message_handler {
- SDL_CREATE_LOG_VARIABLE("HMIMessageHandler")
-
- HMIMessageHandlerImpl::HMIMessageHandlerImpl(
- const HMIMessageHandlerSettings &settings)
- : settings_(settings), observer_(NULL), messages_to_hmi_(
- "HMH ToHMI",
- this,
- threads::ThreadOptions(get_settings().thread_min_stack_size())), messages_from_hmi_(
- "HMH FromHMI",
- this,
- threads::ThreadOptions(get_settings().thread_min_stack_size())) {}
-
- HMIMessageHandlerImpl::~HMIMessageHandlerImpl() {
- SDL_LOG_AUTO_TRACE();
- messages_to_hmi_.Shutdown();
- messages_from_hmi_.Shutdown();
- set_message_observer(NULL);
- }
-
- void HMIMessageHandlerImpl::OnMessageReceived(MessageSharedPointer message) {
- SDL_LOG_AUTO_TRACE();
- sync_primitives::AutoLock lock(observer_locker_);
- if (!observer_) {
- SDL_LOG_WARN("No HMI message observer set!");
- return;
- }
- messages_from_hmi_.PostMessage(impl::MessageFromHmi(message));
- }
-
- void HMIMessageHandlerImpl::SendMessageToHMI(MessageSharedPointer message) {
- SDL_LOG_INFO("SendMessageToHMI");
- messages_to_hmi_.PostMessage(impl::MessageToHmi(message));
- }
-
- void HMIMessageHandlerImpl::set_message_observer(HMIMessageObserver *observer) {
- SDL_LOG_AUTO_TRACE();
- sync_primitives::AutoLock lock(observer_locker_);
- observer_ = observer;
- }
-
- void HMIMessageHandlerImpl::OnErrorSending(MessageSharedPointer message) {
- SDL_LOG_AUTO_TRACE();
- sync_primitives::AutoLock lock(observer_locker_);
- if (!observer_) {
- SDL_LOG_WARN("No HMI message observer set!");
- return;
- }
- observer_->OnErrorSending(message);
- }
-
- void HMIMessageHandlerImpl::AddHMIMessageAdapter(HMIMessageAdapter *adapter) {
- SDL_LOG_AUTO_TRACE();
- if (!adapter) {
- SDL_LOG_WARN("HMIMessageAdapter is not valid!");
- return;
- }
- sync_primitives::AutoLock lock(message_adapters_locker_);
- message_adapters_.insert(adapter);
- }
-
- void HMIMessageHandlerImpl::RemoveHMIMessageAdapter(
- HMIMessageAdapter *adapter) {
- SDL_LOG_AUTO_TRACE();
- if (!adapter) {
- SDL_LOG_WARN("HMIMessageAdapter is not valid!");
- return;
- }
- sync_primitives::AutoLock lock(message_adapters_locker_);
- message_adapters_.erase(adapter);
- }
-
- const HMIMessageHandlerSettings &HMIMessageHandlerImpl::get_settings() const {
- return settings_;
- }
-
- void HMIMessageHandlerImpl::Handle(const impl::MessageFromHmi message) {
- SDL_LOG_INFO("Received message from hmi");
- sync_primitives::AutoLock lock(observer_locker_);
- if (!observer_) {
- SDL_LOG_ERROR("Observer is not set for HMIMessageHandler");
- return;
- }
-
- observer_->OnMessageReceived(message);
- SDL_LOG_INFO("Message from hmi given away.");
- }
-
- void HMIMessageHandlerImpl::Handle(const impl::MessageToHmi message) {
- sync_primitives::AutoLock lock(message_adapters_locker_);
- for (std::set<HMIMessageAdapter *>::iterator it = message_adapters_.begin();
- it != message_adapters_.end();
- ++it) {
- (*it)->SendMessageToHMI(message);
- }
- }
+SDL_CREATE_LOG_VARIABLE("HMIMessageHandler")
+
+HMIMessageHandlerImpl::HMIMessageHandlerImpl(
+ const HMIMessageHandlerSettings& settings)
+ : settings_(settings)
+ , observer_(NULL)
+ , messages_to_hmi_(
+ "HMH ToHMI",
+ this,
+ threads::ThreadOptions(get_settings().thread_min_stack_size()))
+ , messages_from_hmi_(
+ "HMH FromHMI",
+ this,
+ threads::ThreadOptions(get_settings().thread_min_stack_size())) {}
+
+HMIMessageHandlerImpl::~HMIMessageHandlerImpl() {
+ SDL_LOG_AUTO_TRACE();
+ messages_to_hmi_.Shutdown();
+ messages_from_hmi_.Shutdown();
+ set_message_observer(NULL);
+}
+
+void HMIMessageHandlerImpl::OnMessageReceived(MessageSharedPointer message) {
+ SDL_LOG_AUTO_TRACE();
+ sync_primitives::AutoLock lock(observer_locker_);
+ if (!observer_) {
+ SDL_LOG_WARN("No HMI message observer set!");
+ return;
+ }
+ messages_from_hmi_.PostMessage(impl::MessageFromHmi(message));
+}
+
+void HMIMessageHandlerImpl::SendMessageToHMI(MessageSharedPointer message) {
+ SDL_LOG_INFO("SendMessageToHMI");
+ messages_to_hmi_.PostMessage(impl::MessageToHmi(message));
+}
+
+void HMIMessageHandlerImpl::set_message_observer(HMIMessageObserver* observer) {
+ SDL_LOG_AUTO_TRACE();
+ sync_primitives::AutoLock lock(observer_locker_);
+ observer_ = observer;
+}
+
+void HMIMessageHandlerImpl::OnErrorSending(MessageSharedPointer message) {
+ SDL_LOG_AUTO_TRACE();
+ sync_primitives::AutoLock lock(observer_locker_);
+ if (!observer_) {
+ SDL_LOG_WARN("No HMI message observer set!");
+ return;
+ }
+ observer_->OnErrorSending(message);
+}
+
+void HMIMessageHandlerImpl::AddHMIMessageAdapter(HMIMessageAdapter* adapter) {
+ SDL_LOG_AUTO_TRACE();
+ if (!adapter) {
+ SDL_LOG_WARN("HMIMessageAdapter is not valid!");
+ return;
+ }
+ sync_primitives::AutoLock lock(message_adapters_locker_);
+ message_adapters_.insert(adapter);
+}
+
+void HMIMessageHandlerImpl::RemoveHMIMessageAdapter(
+ HMIMessageAdapter* adapter) {
+ SDL_LOG_AUTO_TRACE();
+ if (!adapter) {
+ SDL_LOG_WARN("HMIMessageAdapter is not valid!");
+ return;
+ }
+ sync_primitives::AutoLock lock(message_adapters_locker_);
+ message_adapters_.erase(adapter);
+}
+
+const HMIMessageHandlerSettings& HMIMessageHandlerImpl::get_settings() const {
+ return settings_;
+}
+
+void HMIMessageHandlerImpl::Handle(const impl::MessageFromHmi message) {
+ SDL_LOG_INFO("Received message from hmi");
+ sync_primitives::AutoLock lock(observer_locker_);
+ if (!observer_) {
+ SDL_LOG_ERROR("Observer is not set for HMIMessageHandler");
+ return;
+ }
+
+ observer_->OnMessageReceived(message);
+ SDL_LOG_INFO("Message from hmi given away.");
+}
+
+void HMIMessageHandlerImpl::Handle(const impl::MessageToHmi message) {
+ sync_primitives::AutoLock lock(message_adapters_locker_);
+ for (std::set<HMIMessageAdapter*>::iterator it = message_adapters_.begin();
+ it != message_adapters_.end();
+ ++it) {
+ (*it)->SendMessageToHMI(message);
+ }
+}
} // namespace hmi_message_handler