From 1a7a770ea57ac82244ae9c2f1e62c359b2f93098 Mon Sep 17 00:00:00 2001 From: christian mueller Date: Wed, 27 Jun 2012 14:32:56 +0200 Subject: * [GAM-65] seg faults when starting AudiManager as daemon. This is now totally fixed. The absolut path is handed over via cmake so the AudioManager can find the xmls to be loaded in daemon mode as well Signed-off-by: christian mueller --- PluginCommandInterfaceDbus/src/IAmCommandReceiverShadow.cpp | 6 ++++-- PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp | 7 ++++--- cmake/config.cmake | 2 ++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/PluginCommandInterfaceDbus/src/IAmCommandReceiverShadow.cpp b/PluginCommandInterfaceDbus/src/IAmCommandReceiverShadow.cpp index 86ef443..2b411b3 100644 --- a/PluginCommandInterfaceDbus/src/IAmCommandReceiverShadow.cpp +++ b/PluginCommandInterfaceDbus/src/IAmCommandReceiverShadow.cpp @@ -344,10 +344,12 @@ void IAmCommandReceiverShadow::sendIntrospection(DBusConnection *conn, DBusMessa // create a reply from the message reply = dbus_message_new_method_return(msg); - std::ifstream in("CommandInterface.xml", std::ifstream::in); + std::string fullpath(EXECUTABLE_OUTPUT_PATH); + fullpath.append("/CommandInterface.xml"); + std::ifstream in(fullpath.c_str(), std::ifstream::in); if (!in) { - logError("IAmCommandReceiverShadow::sendIntrospection could not load xml file"); + logError("IAmCommandReceiverShadow::sendIntrospection could not load xml file ",fullpath); throw std::runtime_error("IAmCommandReceiverShadow::sendIntrospection Could not load introspecton XML"); } std::string introspect((std::istreambuf_iterator(in)), std::istreambuf_iterator()); diff --git a/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp b/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp index e48e753..8759253 100644 --- a/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp +++ b/PluginRoutingInterfaceDbus/src/IAmRoutingReceiverShadow.cpp @@ -589,15 +589,16 @@ void IAmRoutingReceiverShadowDbus::sendIntrospection(DBusConnection* conn, DBusM // create a reply from the message reply = dbus_message_new_method_return(msg); - std::ifstream in("RoutingReceiver.xml", std::ifstream::in); + std::string fullpath(EXECUTABLE_OUTPUT_PATH); + fullpath.append("/RoutingReceiver.xml"); + std::ifstream in(fullpath.c_str(), std::ifstream::in); if (!in) { - logError("IAmCommandReceiverShadow::sendIntrospection could not load xml file"); + logError("IAmCommandReceiverShadow::sendIntrospection could not load xml file ",fullpath); throw std::runtime_error("IAmCommandReceiverShadow::sendIntrospection Could not load introspecton XML"); } std::string introspect((std::istreambuf_iterator(in)), std::istreambuf_iterator()); const char* string = introspect.c_str(); - log(&routingDbus, DLT_LOG_INFO, introspect.c_str()); // add the arguments to the reply dbus_message_iter_init_append(reply, &args); diff --git a/cmake/config.cmake b/cmake/config.cmake index 4e65e3d..a8989e5 100644 --- a/cmake/config.cmake +++ b/cmake/config.cmake @@ -20,4 +20,6 @@ #cmakedefine DBUS_SERVICE_PREFIX "@DBUS_SERVICE_PREFIX@" #cmakedefine DBUS_SERVICE_OBJECT_PATH "@DBUS_SERVICE_OBJECT_PATH@" +#cmakedefine EXECUTABLE_OUTPUT_PATH "@EXECUTABLE_OUTPUT_PATH@" + #endif /* _CONFIG_H */ -- cgit v1.2.1