diff options
author | Justin Dickow <jjdickow@gmail.com> | 2014-03-18 13:46:46 -0400 |
---|---|---|
committer | Justin Dickow <jjdickow@gmail.com> | 2014-03-18 13:46:46 -0400 |
commit | ba492fb83c258bc60ca68120ce964a95b41133b5 (patch) | |
tree | af99c087941d65a19831397c1ec5eb34850cfc7f /SDL_Core/src/components/application_manager/src/commands/hmi/on_driver_distraction_notification.cc | |
parent | 8504605b01177da2e55bee6abe4c3f20c82da379 (diff) | |
download | smartdevicelink-ba492fb83c258bc60ca68120ce964a95b41133b5.tar.gz |
initial commit for API 3.0 (replaced all)
Diffstat (limited to 'SDL_Core/src/components/application_manager/src/commands/hmi/on_driver_distraction_notification.cc')
-rw-r--r-- | SDL_Core/src/components/application_manager/src/commands/hmi/on_driver_distraction_notification.cc | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/SDL_Core/src/components/application_manager/src/commands/hmi/on_driver_distraction_notification.cc b/SDL_Core/src/components/application_manager/src/commands/hmi/on_driver_distraction_notification.cc new file mode 100644 index 000000000..c4263390e --- /dev/null +++ b/SDL_Core/src/components/application_manager/src/commands/hmi/on_driver_distraction_notification.cc @@ -0,0 +1,85 @@ +/** + * Copyright (c) 2013, Ford Motor Company + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following + * disclaimer in the documentation and/or other materials provided with the + * distribution. + * + * Neither the name of the Ford Motor Company nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +#include <set> +#include "application_manager/commands/hmi/on_driver_distraction_notification.h" +#include "application_manager/application_manager_impl.h" +#include "application_manager/application_impl.h" +#include "interfaces/MOBILE_API.h" +#include "interfaces/HMI_API.h" + +namespace application_manager { + +namespace commands { + +namespace hmi { + +OnDriverDistractionNotification::OnDriverDistractionNotification( + const MessageSharedPtr& message) + : NotificationFromHMI(message) { +} + +OnDriverDistractionNotification::~OnDriverDistractionNotification() { +} + +void OnDriverDistractionNotification::Run() { + LOG4CXX_INFO(logger_, "OnDriverDistractionNotification::Run"); + + const hmi_apis::Common_DriverDistractionState::eType state = + static_cast<hmi_apis::Common_DriverDistractionState::eType>( + (*message_)[strings::msg_params][hmi_notification::state] + .asInt()); + ApplicationManagerImpl::instance()->set_driver_distraction(state); + + smart_objects::SmartObject* on_driver_distraction = + new smart_objects::SmartObject(); + + if (NULL == on_driver_distraction) { + LOG4CXX_ERROR_EXT(logger_, "NULL pointer"); + return; + } + + (*on_driver_distraction)[strings::params][strings::function_id] = + mobile_api::FunctionID::OnDriverDistractionID; + + (*on_driver_distraction)[strings::msg_params][mobile_notification::state] = + state; + + SendNotificationToMobile(on_driver_distraction); +} + +} // namespace hmi + +} // namespace commands + +} // namespace application_manager + |