set (LIBRARIES
Utils
- log4cxx
${DBUS_ADAPTER}
)
add_library("HMIMessageHandler" ${SOURCES})
-target_link_libraries ("HMIMessageHandler" ${LIBRARIES})
+target_link_libraries("HMIMessageHandler" ${LIBRARIES})
+
+if(ENABLE_LOG)
+ target_link_libraries("HMIMessageHandler" log4cxx)
+endif()
// Thread that pumps messages being passed to hmi.
impl::ToHmiQueue messages_to_hmi_;
-#ifdef ENABLE_LOG
- static log4cxx::LoggerPtr logger_;
-#endif // ENABLE_LOG
-
DISALLOW_COPY_AND_ASSIGN(HMIMessageHandlerImpl);
-
FRIEND_BASE_SINGLETON_CLASS(HMIMessageHandlerImpl);
};
} // namespace hmi_message_handler
#include "mb_controller.hpp"
#include "hmi_message_handler/hmi_message_adapter.h"
-#include "utils/logger.h"
#include "utils/threads/thread_validator.h"
namespace hmi_message_handler {
static const std::string ADDRESS;
static const uint16_t PORT;
-#ifdef ENABLE_LOG
- static log4cxx::LoggerPtr logger_;
-#endif // ENABLE_LOG
DISALLOW_COPY_AND_ASSIGN(MessageBrokerAdapter);
};
} // namespace hmi_message_handler
*/
#include "hmi_message_handler/dbus_message_adapter.h"
-
+#include <sstream>
+#include "utils/logger.h"
#include "formatters/CSmartFactory.hpp"
namespace smart_objects = NsSmartDeviceLink::NsSmartObjects;
namespace hmi_message_handler {
+CREATE_LOGGERPTR_GLOBAL(logger_, "HMIMessageHandler")
+
const std::string DBusMessageAdapter::SDL_SERVICE_NAME = "com.ford.sdl.core";
const std::string DBusMessageAdapter::SDL_OBJECT_PATH = "/";
const std::string DBusMessageAdapter::HMI_SERVICE_NAME = "com.ford.sdl.hmi";
#include "hmi_message_handler/hmi_message_handler_impl.h"
#include "config_profile/profile.h"
+#include "utils/logger.h"
namespace hmi_message_handler {
-#ifdef ENABLE_LOG
-log4cxx::LoggerPtr HMIMessageHandlerImpl::logger_ = log4cxx::LoggerPtr(
- log4cxx::Logger::getLogger("HMIMessageHandler"));
-#endif // ENABLE_LOG
+CREATE_LOGGERPTR_GLOBAL(logger_, "HMIMessageHandler")
HMIMessageHandlerImpl::HMIMessageHandlerImpl()
: observer_(NULL),
#include "hmi_message_handler/messagebroker_adapter.h"
#include "config_profile/profile.h"
+#include "utils/logger.h"
namespace hmi_message_handler {
-typedef NsMessageBroker::CMessageBrokerController MessageBrokerController;
+CREATE_LOGGERPTR_GLOBAL(logger_, "HMIMessageHandler")
-#ifdef ENABLE_LOG
-log4cxx::LoggerPtr MessageBrokerAdapter::logger_ = log4cxx::LoggerPtr(
- log4cxx::Logger::getLogger("HMIMessageHandler"));
-#endif // ENABLE_LOG
+typedef NsMessageBroker::CMessageBrokerController MessageBrokerController;
MessageBrokerAdapter::MessageBrokerAdapter(HMIMessageHandler* handler_param,
- const std::string& server_address,
- uint16_t port)
- : MessageBrokerController(server_address, port, "SDL"),
- HMIMessageAdapter(handler_param) {
+ const std::string& server_address,
+ uint16_t port)
+ : MessageBrokerController(server_address, port, "SDL"),
+ HMIMessageAdapter(handler_param) {
LOG4CXX_INFO(logger_, "Created MessageBrokerAdapter");
}
}
void MessageBrokerAdapter::SendMessageToHMI(
- hmi_message_handler::MessageSharedPointer message) {
+ hmi_message_handler::MessageSharedPointer message) {
LOG4CXX_INFO(logger_, "MessageBrokerAdapter::sendMessageToHMI");
/*if (!message) {
// TODO(PV): LOG
}
void MessageBrokerAdapter::processResponse(std::string method,
- Json::Value& root) {
+ Json::Value& root) {
LOG4CXX_INFO(logger_, "MessageBrokerAdapter::processResponse");
ProcessRecievedFromMB(root);
}
MessageBrokerController::subscribeTo("UI.OnTouchEvent");
MessageBrokerController::subscribeTo("UI.OnResetTimeout");
MessageBrokerController::subscribeTo("BasicCommunication.OnAppDeactivated");
- MessageBrokerController::subscribeTo(
- "BasicCommunication.OnStartDeviceDiscovery");
+ MessageBrokerController::subscribeTo("BasicCommunication.OnStartDeviceDiscovery");
MessageBrokerController::subscribeTo("BasicCommunication.OnUpdateDeviceList");
MessageBrokerController::subscribeTo("BasicCommunication.OnFindApplications");
MessageBrokerController::subscribeTo("BasicCommunication.OnAppActivated");
MessageBrokerController::subscribeTo("BasicCommunication.OnExitApplication");
- MessageBrokerController::subscribeTo(
- "BasicCommunication.OnExitAllApplications");
+ MessageBrokerController::subscribeTo("BasicCommunication.OnExitAllApplications");
MessageBrokerController::subscribeTo("BasicCommunication.OnDeviceChosen");
MessageBrokerController::subscribeTo("UI.OnLanguageChange");
MessageBrokerController::subscribeTo("VR.OnLanguageChange");
MessageBrokerController::subscribeTo("BasicCommunication.OnSystemInfoChanged");
MessageBrokerController::subscribeTo("SDL.OnAppPermissionConsent");
MessageBrokerController::subscribeTo("SDL.OnAllowSDLFunctionality");
+ MessageBrokerController::subscribeTo("SDL.OnReceivedPolicyUpdate");
MessageBrokerController::subscribeTo("SDL.OnSystemError");
MessageBrokerController::subscribeTo("SDL.AddStatisticsInfo");
+ MessageBrokerController::subscribeTo("SDL.OnDeviceStateChanged");
+ MessageBrokerController::subscribeTo("SDL.OnPolicyUpdate");
LOG4CXX_INFO(logger_, "Subscribed to notifications.");
}
return;
}
- if (!handler()) {
- // WARNING
- return;
- }
-
// Messages from HMI (sent through message broker) have no priority so far
// assign default priority
hmi_message_handler::MessageSharedPointer message = hmi_message_handler::MessageSharedPointer(new application_manager::Message(
- protocol_handler::MessagePriority::kDefault));
+ protocol_handler::MessagePriority::kDefault));
// message->set_message_type()
message->set_json_message(message_string);
message->set_protocol_version(application_manager::ProtocolVersion::kHMI);
+ if (!handler()) {
+ // WARNING
+ return;
+ }
+
handler()->OnMessageReceived(message);
LOG4CXX_INFO(logger_, "Successfully sent to observer");
}
#include "hmi_message_handler/mqueue_adapter.h"
#include "hmi_message_handler/hmi_message_handler.h"
+#include "utils/logger.h"
namespace hmi_message_handler {
const char* kSdlToHmiQueue = "/sdl_to_hmi";
const char* kHmiToSdlQueue = "/hmi_to_sdl";
-log4cxx::LoggerPtr logger =
- log4cxx::LoggerPtr(log4cxx::Logger::getLogger("HMIMessageHandler"));
+CREATE_LOGGERPTR_GLOBAL(logger_, "HMIMessageHandler")
class ReceiverThreadDelegate : public threads::ThreadDelegate {
public:
const ssize_t size =
mq_receive(mqueue_descriptor_, buffer, kMqueueMessageSize, NULL);
if (-1 == size) {
- LOG4CXX_ERROR(logger, "Message queue receive failed, error " << errno);
+ LOG4CXX_ERROR(logger_, "Message queue receive failed, error " << errno);
continue;
}
const std::string message_string(buffer, buffer + size);
- LOG4CXX_INFO(logger, "Message: " << message_string);
+ LOG4CXX_INFO(logger_, "Message: " << message_string);
MessageSharedPointer message(new application_manager::Message(
protocol_handler::MessagePriority::kDefault));
message->set_json_message(message_string);
sdl_to_hmi_mqueue_ =
mq_open(kSdlToHmiQueue, O_CREAT | O_RDWR, S_IRWXU, &mq_attributes);
if (-1 == sdl_to_hmi_mqueue_) {
- LOG4CXX_ERROR(logger, "Could not open message queue "
+ LOG4CXX_ERROR(logger_, "Could not open message queue "
<< kSdlToHmiQueue << ", error " << errno);
return;
}
hmi_to_sdl_mqueue_ =
mq_open(kHmiToSdlQueue, O_CREAT | O_RDWR, S_IRWXU, &mq_attributes);
if (-1 == hmi_to_sdl_mqueue_) {
- LOG4CXX_ERROR(logger, "Could not open message queue "
+ LOG4CXX_ERROR(logger_, "Could not open message queue "
<< kHmiToSdlQueue << ", error " << errno);
return;
}
}
void MqueueAdapter::SendMessageToHMI(const MessageSharedPointer message) {
- LOG4CXX_TRACE_ENTER(logger);
+ LOG4CXX_TRACE_ENTER(logger_);
if (-1 == sdl_to_hmi_mqueue_) {
- LOG4CXX_ERROR(logger, "Message queue is not opened");
+ LOG4CXX_ERROR(logger_, "Message queue is not opened");
return;
}
const std::string& json = message->json_message();
if (json.size() > kMqueueMessageSize) {
- LOG4CXX_ERROR(logger, "Message size " << json.size() << " is too big");
+ LOG4CXX_ERROR(logger_, "Message size " << json.size() << " is too big");
return;
}
const int rc = mq_send(sdl_to_hmi_mqueue_, json.c_str(), json.size(), 0);
if (0 != rc) {
- LOG4CXX_ERROR(logger, "Could not send message, error " << errno);
+ LOG4CXX_ERROR(logger_, "Could not send message, error " << errno);
return;
}
- LOG4CXX_TRACE_EXIT(logger);
+ LOG4CXX_TRACE_EXIT(logger_);
}
void MqueueAdapter::SubscribeTo() {