summaryrefslogtreecommitdiff
path: root/AudioManagerDaemon
diff options
context:
space:
mode:
authorPau Espin Pedrol <pau.espin@aweurope.be>2015-09-22 15:45:25 +0200
committerChristian Linke <christian.linke@bmw.de>2015-10-07 18:26:02 +0100
commit49e010d6bd40929b00c4855ec3aab4cbafca906e (patch)
tree14f46f89c82bba7bcbe780aae6404ccd1ed299eb /AudioManagerDaemon
parentbb574bf395cf7fc17537f67cb56bf2eb4e1fd8db (diff)
downloadaudiomanager-49e010d6bd40929b00c4855ec3aab4cbafca906e.tar.gz
Implement IAmCommand getVolume method7.3
Diffstat (limited to 'AudioManagerDaemon')
-rw-r--r--AudioManagerDaemon/include/CAmCommandReceiver.h1
-rw-r--r--AudioManagerDaemon/include/CAmDatabaseHandlerMap.h1
-rw-r--r--AudioManagerDaemon/include/CAmDatabaseHandlerSQLite.h1
-rw-r--r--AudioManagerDaemon/include/IAmDatabaseHandler.h1
-rw-r--r--AudioManagerDaemon/src/CAmCommandReceiver.cpp5
-rw-r--r--AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp13
-rw-r--r--AudioManagerDaemon/src/CAmDatabaseHandlerSQLite.cpp19
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);