summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Donchev <aleksander.donchev@partner.bmw.de>2013-11-05 17:11:12 +0100
committerAleksandar Donchev <aleksander.donchev@partner.bmw.de>2013-11-05 17:11:12 +0100
commit26fa9de0b347525a12bb13770c1b76efe69be58f (patch)
tree80bd7bbd9427a31510cb2f89adcc1d647d810afe
parentbb9000210e111123e619fcd2eb0dbdf1358aa6a2 (diff)
downloadaudiomanager-26fa9de0b347525a12bb13770c1b76efe69be58f.tar.gz
Backport of commit 21e04b3d001981a5150913480171638157f4f49a to fix Bug 130
Signed-off-by: Christian Linke <christian.linke@bmw.de>
-rw-r--r--AudioManagerDaemon/src/CAmDatabaseHandler.cpp23
-rw-r--r--AudioManagerDaemon/src/CAmDbusWrapper.cpp4
2 files changed, 18 insertions, 9 deletions
diff --git a/AudioManagerDaemon/src/CAmDatabaseHandler.cpp b/AudioManagerDaemon/src/CAmDatabaseHandler.cpp
index b4f26d0..636bf1e 100644
--- a/AudioManagerDaemon/src/CAmDatabaseHandler.cpp
+++ b/AudioManagerDaemon/src/CAmDatabaseHandler.cpp
@@ -187,7 +187,7 @@ am_Error_e CAmDatabaseHandler::enterDomainDB(const am_Domain_s & domainData, am_
MY_SQLITE_BIND_TEXT(query, 1, domainData.name.c_str(), domainData.name.size(), SQLITE_STATIC)
if ((eCode = sqlite3_step(query)) == SQLITE_ROW)
{
- domainID = sqlite3_column_int(query, 0);
+ domainID = sqlite3_column_int(query, 0);
command = "UPDATE " + std::string(DOMAIN_TABLE) + " SET name=?, busname=?, nodename=?, early=?, complete=?, state=?, reserved=? WHERE domainID=" + i2s(sqlite3_column_int(query, 0));
}
else if (eCode == SQLITE_DONE)
@@ -593,8 +593,10 @@ am_Error_e CAmDatabaseHandler::enterGatewayDB(const am_Gateway_s & gatewayData,
assert(!gatewayData.convertionMatrix.empty());
assert(!gatewayData.listSinkFormats.empty());
assert(!gatewayData.listSourceFormats.empty());
- assert(existSink(gatewayData.sinkID));
- assert(existSource(gatewayData.sourceID));
+
+ //might be that the sinks and sources are not there during registration time
+ //assert(existSink(gatewayData.sinkID));
+ //assert(existSource(gatewayData.sourceID));
sqlite3_stmt* query = NULL;
int eCode = 0;
@@ -1290,17 +1292,23 @@ am_Error_e CAmDatabaseHandler::removeSourceDB(const am_sourceID_t sourceID)
std::string command1 = "DROP table SourceConnectionFormat" + i2s(sourceID);
std::string command2 = "DROP table SourceMainSoundProperty" + i2s(sourceID);
std::string command3 = "DROP table SourceSoundProperty" + i2s(sourceID);
+ std::string command4 = "DROP table SourceNotificationConfiguration" + i2s(sourceID);
+ std::string command5 = "DROP table SourceMainNotificationConfiguration" + i2s(sourceID);
if (!sqQuery(command))
return (E_DATABASE_ERROR);
if (!sqQuery(command1))
return (E_DATABASE_ERROR);
if (!sqQuery(command3))
return (E_DATABASE_ERROR);
+ if (!sqQuery(command4))
+ return (E_DATABASE_ERROR);
if(visible)
{
if (!sqQuery(command2))
return (E_DATABASE_ERROR);
+ if (!sqQuery(command5))
+ return (E_DATABASE_ERROR);
}
logInfo("DatabaseHandler::removeSourceDB removed:", sourceID);
if (mpDatabaseObserver)
@@ -3578,11 +3586,11 @@ bool CAmDatabaseHandler::sourceVisible(const am_sourceID_t sourceID) const
bool returnVal = false;
MY_SQLITE_PREPARE_V2_BOOL(mpDatabase, command.c_str(), -1, &query, NULL)
- if ((eCode = sqlite3_step(query)) == SQLITE_DONE)
+ if ((eCode = sqlite3_step(query)) == SQLITE_ROW)
{
returnVal = (bool) sqlite3_column_int(query, 0);
}
- else if (eCode != SQLITE_ROW)
+ else if (eCode != SQLITE_DONE)
{
returnVal = false;
logError("DatabaseHandler::sourceVisible database error!:", eCode);
@@ -3604,11 +3612,11 @@ bool CAmDatabaseHandler::sinkVisible(const am_sinkID_t sinkID) const
int eCode = 0;
bool returnVal = false;
MY_SQLITE_PREPARE_V2_BOOL(mpDatabase, command.c_str(), -1, &query, NULL)
- if ((eCode = sqlite3_step(query)) == SQLITE_DONE)
+ if ((eCode = sqlite3_step(query)) == SQLITE_ROW)
{
returnVal = sqlite3_column_int(query, 0);
}
- else if (eCode != SQLITE_ROW)
+ else if (eCode != SQLITE_DONE)
{
returnVal = false;
logError("DatabaseHandler::sinkVisible database error!:", eCode);
@@ -3882,6 +3890,7 @@ am_Error_e CAmDatabaseHandler::getDomainState(const am_domainID_t domainID, am_D
am_Error_e CAmDatabaseHandler::peekDomain(const std::string & name, am_domainID_t & domainID)
{
+ domainID=0;
sqlite3_stmt* query = NULL, *queryInsert = NULL;
std::string command = "SELECT domainID FROM " + std::string(DOMAIN_TABLE) + " WHERE name=?";
int eCode = 0, eCode1 = 0;
diff --git a/AudioManagerDaemon/src/CAmDbusWrapper.cpp b/AudioManagerDaemon/src/CAmDbusWrapper.cpp
index 4645cc7..a47aaf9 100644
--- a/AudioManagerDaemon/src/CAmDbusWrapper.cpp
+++ b/AudioManagerDaemon/src/CAmDbusWrapper.cpp
@@ -159,7 +159,7 @@ void CAmDbusWrapper::registerCallback(const DBusObjectPathVTable* vtable, const
*/
DBusHandlerResult CAmDbusWrapper::cbRootIntrospection(DBusConnection *conn, DBusMessage *msg, void *reference)
{
- logInfo("DBusWrapper::~cbRootIntrospection called:");
+ //logInfo("DBusWrapper::~cbRootIntrospection called:");
mpReference = (CAmDbusWrapper*) reference;
std::vector<std::string> nodesList = mpReference->mListNodes;
@@ -432,7 +432,7 @@ void CAmDbusWrapper::dbusPrepareCallback(const sh_pollHandle_t handle, void* use
while (dbus_connection_get_dispatch_status(mpDbusConnection) == DBUS_DISPATCH_DATA_REMAINS)
{
dbus_connection_dispatch(mpDbusConnection);
- logInfo("prepare was neccessary!");
+ //logInfo("prepare was neccessary!");
}
dbus_connection_unref(mpDbusConnection);
}