summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon/src
diff options
context:
space:
mode:
authorchristian mueller <christian.ei.mueller@bmw.de>2012-04-03 20:15:27 +0200
committerchristian mueller <christian.ei.mueller@bmw.de>2012-04-03 20:21:54 +0200
commit9a7af2bfaea3f3a84785e1379652020002452508 (patch)
tree3b22691c5a5f955eddd366a563106bf98645c594 /AudioManagerDaemon/src
parent5dfae2a4835f205b8204ffcb832c9907741c902e (diff)
downloadaudiomanager-9a7af2bfaea3f3a84785e1379652020002452508.tar.gz
* [GAM-35] implement DBus for SESSION or SYSTEM bus
Signed-off-by: christian mueller <christian.ei.mueller@bmw.de>
Diffstat (limited to 'AudioManagerDaemon/src')
-rw-r--r--AudioManagerDaemon/src/CAmDbusWrapper.cpp4
-rw-r--r--AudioManagerDaemon/src/main.cpp26
2 files changed, 25 insertions, 5 deletions
diff --git a/AudioManagerDaemon/src/CAmDbusWrapper.cpp b/AudioManagerDaemon/src/CAmDbusWrapper.cpp
index 97b4ccd..0f511e2 100644
--- a/AudioManagerDaemon/src/CAmDbusWrapper.cpp
+++ b/AudioManagerDaemon/src/CAmDbusWrapper.cpp
@@ -46,7 +46,7 @@ DBUS_INTROSPECT_1_0_XML_DOCTYPE_DECL_NODE \
CAmDbusWrapper* CAmDbusWrapper::mpReference = NULL;
-CAmDbusWrapper::CAmDbusWrapper(CAmSocketHandler* socketHandler) :
+CAmDbusWrapper::CAmDbusWrapper(CAmSocketHandler* socketHandler, DBusBusType type) :
pDbusDispatchCallback(this, &CAmDbusWrapper::dbusDispatchCallback), //
pDbusFireCallback(this, &CAmDbusWrapper::dbusFireCallback), //
pDbusCheckCallback(this, &CAmDbusWrapper::dbusCheckCallback), //
@@ -61,7 +61,7 @@ CAmDbusWrapper::CAmDbusWrapper(CAmSocketHandler* socketHandler) :
dbus_error_init(&mDBusError);
logInfo("DBusWrapper::DBusWrapper Opening DBus connection");
- mpDbusConnection = dbus_bus_get(DBUS_BUS_SESSION, &mDBusError);
+ mpDbusConnection = dbus_bus_get(type, &mDBusError);
if (dbus_error_is_set(&mDBusError))
{
logError("DBusWrapper::DBusWrapper Error while getting the DBus");
diff --git a/AudioManagerDaemon/src/main.cpp b/AudioManagerDaemon/src/main.cpp
index 74631f1..92a1e41 100644
--- a/AudioManagerDaemon/src/main.cpp
+++ b/AudioManagerDaemon/src/main.cpp
@@ -73,6 +73,9 @@ const char* USAGE_DESCRIPTION = "Usage:\tAudioManagerDaemon [options]\n"
"\t-V: print DLT logs to stdout\t\n"
#endif
"\t-d: daemonize AudioManager \t\n"
+#ifdef WITH_DBUS_WRAPPER
+ "\t-T: DbusType to be used by CAmDbusWrapper (0=DBUS_SESSION[default], 1=DBUS_SYSTEM)\t\n"
+#endif
"\t-p<path> path for sqlite database (default is in memory)\t\n"
"\t-t<port> port for telnetconnection\t\n"
"\t-m<max> number of max telnetconnections\t\n"
@@ -91,6 +94,10 @@ unsigned int maxConnections = MAX_TELNETCONNECTIONS;
int fd0, fd1, fd2;
bool enableNoDLTDebug = false;
+#ifdef WITH_DBUS_WRAPPER
+ DBusBusType dbusWrapperType=DBUS_BUS_SESSION;
+#endif
+
/**
* the out of memory handler
*/
@@ -162,9 +169,17 @@ void parseCommandLine(int argc, char **argv)
while (optind < argc)
{
#ifdef WITH_DLT
- int option = getopt(argc, argv, "h::v::c::l::r::L::R::d::t::m::i::p::");
+ #ifdef WITH_DBUS_WRAPPER
+ int option = getopt(argc, argv, "h::v::c::l::r::L::R::d::t::m::i::p::T::");
+ #else
+ int option = getopt(argc, argv, "h::v::c::l::r::L::R::d::t::m::i::p::");
+ #endif WITH_DBUS_WRAPPER
#else
- int option = getopt(argc, argv, "h::v::V::c::l::r::L::R::d::t::m::i::p::");
+ #ifdef WITH_DBUS_WRAPPER
+ int option = getopt(argc, argv, "h::v::V::c::l::r::L::R::d::t::m::i::p::T::");
+ #else
+ int option = getopt(argc, argv, "h::v::V::c::l::r::L::R::d::t::m::i::p::");
+ #endif //WITH_DBUS_WRAPPER
#endif
switch (option)
@@ -224,6 +239,11 @@ void parseCommandLine(int argc, char **argv)
enableNoDLTDebug = true;
break;
#endif
+#ifdef WITH_DBUS_WRAPPER
+ case 'T':
+ dbusWrapperType=static_cast<DBusBusType>(atoi(optarg));
+ break;
+#endif
case 'h':
default:
printf("AudioManagerDaemon Version: %s\n", DAEMONVERSION);
@@ -292,7 +312,7 @@ int main(int argc, char *argv[])
CAmSocketHandler iSocketHandler;
#ifdef WITH_DBUS_WRAPPER
- CAmDbusWrapper iDBusWrapper(&iSocketHandler);
+ CAmDbusWrapper iDBusWrapper(&iSocketHandler,dbusWrapperType);
#endif /*WITH_DBUS_WRAPPER */
CAmDatabaseHandler iDatabaseHandler(databasePath);