diff options
Diffstat (limited to 'src/components/hmi_message_handler/include')
-rw-r--r-- | src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler.h | 9 | ||||
-rw-r--r-- | src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler_impl.h | 15 |
2 files changed, 15 insertions, 9 deletions
diff --git a/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler.h b/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler.h index 3e06c65085..217075e89f 100644 --- a/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler.h +++ b/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Ford Motor Company + * Copyright (c) 2016, Ford Motor Company * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -35,6 +35,7 @@ #include "hmi_message_handler/hmi_message_sender.h" #include "hmi_message_handler/hmi_message_observer.h" +#include "hmi_message_handler/hmi_message_handler_settings.h" namespace hmi_message_handler { @@ -49,6 +50,12 @@ class HMIMessageHandler : public HMIMessageObserver, public HMIMessageSender { virtual ~HMIMessageHandler() {} virtual void AddHMIMessageAdapter(HMIMessageAdapter* adapter) = 0; virtual void RemoveHMIMessageAdapter(HMIMessageAdapter* adapter) = 0; + + /** + * \brief Hmi message handler settings getter + * \return pointer to hmi message handler settings class + */ + virtual const HMIMessageHandlerSettings& get_settings() const = 0; }; } // namespace hmi_message_handler diff --git a/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler_impl.h b/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler_impl.h index f1f58eaf2e..2f235aa968 100644 --- a/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler_impl.h +++ b/src/components/hmi_message_handler/include/hmi_message_handler/hmi_message_handler_impl.h @@ -36,12 +36,12 @@ #include <set> #include "hmi_message_handler/hmi_message_adapter.h" #include "hmi_message_handler/hmi_message_handler.h" +#include "hmi_message_handler/hmi_message_handler_settings.h" #include "utils/macro.h" #include "utils/message_queue.h" #include "utils/prioritized_queue.h" #include "utils/threads/message_loop_thread.h" #include "utils/threads/thread.h" -#include "utils/singleton.h" namespace hmi_message_handler { @@ -82,9 +82,10 @@ class FromHMIThreadImpl; class HMIMessageHandlerImpl : public HMIMessageHandler, public impl::FromHmiQueue::Handler, - public impl::ToHmiQueue::Handler, - public utils::Singleton<HMIMessageHandlerImpl> { + public impl::ToHmiQueue::Handler { public: + explicit HMIMessageHandlerImpl(const HMIMessageHandlerSettings& settings); + ~HMIMessageHandlerImpl(); void OnMessageReceived(MessageSharedPointer message); void SendMessageToHMI(MessageSharedPointer message); @@ -93,6 +94,8 @@ class HMIMessageHandlerImpl void AddHMIMessageAdapter(HMIMessageAdapter* adapter); void RemoveHMIMessageAdapter(HMIMessageAdapter* adapter); + virtual const HMIMessageHandlerSettings& get_settings() const OVERRIDE; + #ifdef BUILD_TESTS std::set<HMIMessageAdapter*> message_adapters() const { return message_adapters_; @@ -104,9 +107,6 @@ class HMIMessageHandlerImpl #endif // BUILD_TESTS private: - HMIMessageHandlerImpl(); - - // threads::MessageLoopThread<*>::Handler implementations // CALLED ON messages_from_hmi_ THREAD! @@ -114,7 +114,7 @@ class HMIMessageHandlerImpl // CALLED ON messages_to_hmi_ THREAD! virtual void Handle(const impl::MessageToHmi message) OVERRIDE; private: - + const HMIMessageHandlerSettings& settings_; HMIMessageObserver* observer_; mutable sync_primitives::Lock observer_locker_; std::set<HMIMessageAdapter*> message_adapters_; @@ -127,7 +127,6 @@ class HMIMessageHandlerImpl impl::FromHmiQueue messages_from_hmi_; DISALLOW_COPY_AND_ASSIGN(HMIMessageHandlerImpl); - FRIEND_BASE_SINGLETON_CLASS(HMIMessageHandlerImpl); }; } // namespace hmi_message_handler |