diff options
author | Pau Espin Pedrol <pau.espin@aweurope.be> | 2015-09-22 15:45:25 +0200 |
---|---|---|
committer | Christian Linke <christian.linke@bmw.de> | 2015-10-07 18:26:02 +0100 |
commit | 49e010d6bd40929b00c4855ec3aab4cbafca906e (patch) | |
tree | 14f46f89c82bba7bcbe780aae6404ccd1ed299eb /AudioManagerDaemon | |
parent | bb574bf395cf7fc17537f67cb56bf2eb4e1fd8db (diff) | |
download | audiomanager-49e010d6bd40929b00c4855ec3aab4cbafca906e.tar.gz |
Implement IAmCommand getVolume method7.3
Diffstat (limited to 'AudioManagerDaemon')
7 files changed, 41 insertions, 0 deletions
diff --git a/AudioManagerDaemon/include/CAmCommandReceiver.h b/AudioManagerDaemon/include/CAmCommandReceiver.h index dcf0038..0f30d81 100644 --- a/AudioManagerDaemon/include/CAmCommandReceiver.h +++ b/AudioManagerDaemon/include/CAmCommandReceiver.h @@ -51,6 +51,7 @@ public: am_Error_e setMainSinkSoundProperty(const am_MainSoundProperty_s& soundProperty, const am_sinkID_t sinkID); am_Error_e setMainSourceSoundProperty(const am_MainSoundProperty_s& soundProperty, const am_sourceID_t sourceID); am_Error_e setSystemProperty(const am_SystemProperty_s& property); + am_Error_e getVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const; am_Error_e getListMainConnections(std::vector<am_MainConnectionType_s>& listConnections) const; am_Error_e getListMainSinks(std::vector<am_SinkType_s>& listMainSinks) const; am_Error_e getListMainSources(std::vector<am_SourceType_s>& listMainSources) const; diff --git a/AudioManagerDaemon/include/CAmDatabaseHandlerMap.h b/AudioManagerDaemon/include/CAmDatabaseHandlerMap.h index e0faa38..cf319f7 100644 --- a/AudioManagerDaemon/include/CAmDatabaseHandlerMap.h +++ b/AudioManagerDaemon/include/CAmDatabaseHandlerMap.h @@ -124,6 +124,7 @@ public: am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s& sourceData) const; am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s& crossfaderData) const; am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s& mainConnectionData) const; + am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const; am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t& volume) const; am_Error_e getSourceVolume(const am_sourceID_t sourceID, am_volume_t& volume) const; am_Error_e getSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomSoundPropertyType_t propertyType, int16_t& value) const; diff --git a/AudioManagerDaemon/include/CAmDatabaseHandlerSQLite.h b/AudioManagerDaemon/include/CAmDatabaseHandlerSQLite.h index c9f41eb..aac4140 100644 --- a/AudioManagerDaemon/include/CAmDatabaseHandlerSQLite.h +++ b/AudioManagerDaemon/include/CAmDatabaseHandlerSQLite.h @@ -119,6 +119,7 @@ public: am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s& sourceData) const; am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s& crossfaderData) const; am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s& mainConnectionData) const; + am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const; am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t& volume) const; am_Error_e getSourceVolume(const am_sourceID_t sourceID, am_volume_t& volume) const; am_Error_e getMainSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomMainSoundPropertyType_t propertyType, int16_t& value) const; diff --git a/AudioManagerDaemon/include/IAmDatabaseHandler.h b/AudioManagerDaemon/include/IAmDatabaseHandler.h index 26e8c77..30c1aaf 100644 --- a/AudioManagerDaemon/include/IAmDatabaseHandler.h +++ b/AudioManagerDaemon/include/IAmDatabaseHandler.h @@ -111,6 +111,7 @@ public: virtual am_Error_e getSourceInfoDB(const am_sourceID_t sourceID, am_Source_s& sourceData) const = 0; virtual am_Error_e getCrossfaderInfoDB(const am_crossfaderID_t crossfaderID, am_Crossfader_s& crossfaderData) const = 0; virtual am_Error_e getMainConnectionInfoDB(const am_mainConnectionID_t mainConnectionID, am_MainConnection_s& mainConnectionData) const = 0; + virtual am_Error_e getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const = 0; virtual am_Error_e getSinkVolume(const am_sinkID_t sinkID, am_volume_t& volume) const = 0; virtual am_Error_e getSourceVolume(const am_sourceID_t sourceID, am_volume_t& volume) const = 0; virtual am_Error_e getSinkSoundPropertyValue(const am_sinkID_t sinkID, const am_CustomSoundPropertyType_t propertyType, int16_t& value) const = 0; diff --git a/AudioManagerDaemon/src/CAmCommandReceiver.cpp b/AudioManagerDaemon/src/CAmCommandReceiver.cpp index a6eff97..d903384 100644 --- a/AudioManagerDaemon/src/CAmCommandReceiver.cpp +++ b/AudioManagerDaemon/src/CAmCommandReceiver.cpp @@ -122,6 +122,11 @@ am_Error_e CAmCommandReceiver::setSystemProperty(const am_SystemProperty_s & pro return (mControlSender->hookUserSetSystemProperty(property)); } +am_Error_e CAmCommandReceiver::getVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const +{ + return (mDatabaseHandler->getSinkMainVolume(sinkID, mainVolume)); +} + am_Error_e CAmCommandReceiver::getListMainConnections(std::vector<am_MainConnectionType_s> & listConnections) const { return (mDatabaseHandler->getListVisibleMainConnections(listConnections)); diff --git a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp index 427b805..8cc216d 100644 --- a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp +++ b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp @@ -2381,6 +2381,19 @@ am_Error_e CAmDatabaseHandlerMap::changeSourceState(const am_sourceID_t sourceID return (E_NON_EXISTENT); } +am_Error_e CAmDatabaseHandlerMap::getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const { + assert(sinkID!=0); + + am_Sink_Database_s const * source = objectForKeyIfExistsInMap(sinkID, mMappedData.mSinkMap); + if( NULL!=source ) + { + mainVolume = source->mainVolume; + return (E_OK); + } + mainVolume = -1; + return (E_NON_EXISTENT); +} + am_Error_e CAmDatabaseHandlerMap::getSinkVolume(const am_sinkID_t sinkID, am_volume_t & volume) const { assert(sinkID!=0); diff --git a/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp b/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp index b7aafd9..c9f29eb 100644 --- a/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp +++ b/AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp @@ -4068,6 +4068,25 @@ am_Error_e CAmDatabaseHandlerSQLite::changeSourceState(const am_sourceID_t sourc return (E_OK); } +am_Error_e CAmDatabaseHandlerSQLite::getSinkMainVolume(const am_sinkID_t sinkID, am_mainVolume_t& mainVolume) const { + assert(sinkID!=0); + sqlite3_stmt* query = NULL; + mainVolume = -1; + std::string command = "SELECT mainVolume FROM " + std::string(SINK_TABLE) + " WHERE sinkID=" + i2s(sinkID); + int eCode = 0; + MY_SQLITE_PREPARE_V2(mpDatabase, command.c_str(), -1, &query, NULL) + if ((eCode = sqlite3_step(query)) == SQLITE_ROW) + { + mainVolume = sqlite3_column_int(query, 0); + } + else if ((eCode = sqlite3_step(query)) == SQLITE_DONE) + { + logError("DatabaseHandler::getSinkVolume database error!:", eCode); + } + MY_SQLITE_FINALIZE(query) + return (E_OK); +} + am_Error_e CAmDatabaseHandlerSQLite::getSinkVolume(const am_sinkID_t sinkID, am_volume_t & volume) const { assert(sinkID!=0); |