diff options
Diffstat (limited to 'AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp')
-rw-r--r-- | AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp b/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp index c9f29eb..5e95c6c 100644 --- a/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp +++ b/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp @@ -2802,7 +2802,7 @@ am_Error_e CAmDatabaseHandlerSQLite::getListMainSources(std::vector<am_SourceTyp sqlite3_stmt* query = NULL; int eCode = 0; am_SourceType_s temp; - std::string command = "SELECT name, sourceClassID, availability, availabilityReason, sourceID FROM " + std::string(SOURCE_TABLE) + " WHERE visible=1"; + std::string command = "SELECT name, sourceClassID, availability, availabilityReason, sourceID FROM " + std::string(SOURCE_TABLE) + " WHERE visible=1 AND reserved=0"; MY_SQLITE_PREPARE_V2(mpDatabase, command.c_str(), -1, &query, NULL) while ((eCode = sqlite3_step(query)) == SQLITE_ROW) @@ -3694,6 +3694,43 @@ am_Error_e am::CAmDatabaseHandlerSQLite::getDomainOfSink(const am_sinkID_t sinkI return (returnVal); } +am_Error_e CAmDatabaseHandlerSQLite::getDomainOfCrossfader(const am_crossfaderID_t crossfader, am_domainID_t& domainID) const +{ + assert(crossfader!=0); + + am_sourceID_t sourceID = 0; + sqlite3_stmt* query = NULL; + std::string command = "SELECT sourceID FROM " + std::string(CROSSFADER_TABLE) + " WHERE crossfaderID=" + i2s(crossfader); + int eCode = 0; + am_Error_e returnVal = E_DATABASE_ERROR; + MY_SQLITE_PREPARE_V2(mpDatabase, command.c_str(), -1, &query, NULL) + if ((eCode = sqlite3_step(query)) == SQLITE_ROW) + { + sourceID = sqlite3_column_int(query, 0); + MY_SQLITE_FINALIZE(query); + + sqlite3_stmt* querySrc = NULL; + command = "SELECT domainID FROM " + std::string(SOURCE_TABLE) + " WHERE sourceID=" + i2s(sourceID); + MY_SQLITE_PREPARE_V2(mpDatabase, command.c_str(), -1, &querySrc, NULL) + if ((eCode = sqlite3_step(querySrc)) == SQLITE_ROW) + { + domainID = sqlite3_column_int(query, 0); + returnVal = E_OK; + } + else + { + logError("DatabaseHandler::getDomainOfCrossfader database error!:", eCode); + } + MY_SQLITE_FINALIZE(querySrc) + } + else + { + logError("DatabaseHandler::getDomainOfCrossfader database error!:", eCode); + } + MY_SQLITE_FINALIZE(query) + return (returnVal); +} + /** * checks for certain SinkClass * @param sinkClassID |