diff options
author | Christian Linke <christian.linke@bmw.de> | 2015-07-01 09:27:22 +0100 |
---|---|---|
committer | Christian Linke <christian.linke@bmw.de> | 2015-07-01 09:27:22 +0100 |
commit | d078a99c5aa90d1d061eb54b98b6cded128e2d48 (patch) | |
tree | df3b0afe5c6d15da3f3b1dac08dee87e4774b784 /AudioManagerDaemon | |
parent | 5d4c1882bbb615720f395c4ff7d0a7223cbf3efb (diff) | |
download | audiomanager-d078a99c5aa90d1d061eb54b98b6cded128e2d48.tar.gz |
* enable entering domains with predefined id
Signed-off-by: Christian Linke <christian.linke@bmw.de>
Diffstat (limited to 'AudioManagerDaemon')
3 files changed, 37 insertions, 0 deletions
diff --git a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp index 3f031ff..766ad95 100644 --- a/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp +++ b/AudioManagerDaemon/src/CAmDatabaseHandlerMap.cpp @@ -470,6 +470,15 @@ am_Error_e CAmDatabaseHandlerMap::enterDomainDB(const am_Domain_s & domainData, mpDatabaseObserver->newDomain(mMappedData.mDomainMap[nextID]); return (E_OK); } + else if (domainData.domainID!=0 && !existDomain(domainData.domainID)) + { + domainID = domainData.domainID; + mMappedData.mDomainMap[domainData.domainID] = domainData; + logInfo("DatabaseHandler::enterDomainDB entered predefined domain with name=", domainData.name, "busname=", domainData.busname, "nodename=", domainData.nodename, "predefined ID:", domainID); + if (mpDatabaseObserver) + mpDatabaseObserver->newDomain(mMappedData.mDomainMap[domainData.domainID]); + return (E_OK); + } else { if(mMappedData.increaseID(nextID, mMappedData.mCurrentDomainID, domainData.domainID)) diff --git a/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp b/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp index 9cd0277..2062d6d 100644 --- a/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp +++ b/AudioManagerDaemon/test/AmDatabaseHandlerTest/CAmDatabaseHandlerTest.cpp @@ -38,6 +38,7 @@ extern bool equalNotificationConfiguration(const am_NotificationConfiguration_s extern bool equalClassProperties(const am_ClassProperty_s a, const am_ClassProperty_s b); extern std::string int2string(int i); + CAmDatabaseHandlerTest::CAmDatabaseHandlerTest() : plistRoutingPluginDirs(), // plistCommandPluginDirs(), // diff --git a/AudioManagerDaemon/test/AmMapHandlerTest/CAmMapHandlerTest.cpp b/AudioManagerDaemon/test/AmMapHandlerTest/CAmMapHandlerTest.cpp index b839a75..30ca2db 100644 --- a/AudioManagerDaemon/test/AmMapHandlerTest/CAmMapHandlerTest.cpp +++ b/AudioManagerDaemon/test/AmMapHandlerTest/CAmMapHandlerTest.cpp @@ -2148,6 +2148,33 @@ TEST_F(CAmMapHandlerTest,registerDomainCorrect) ASSERT_EQ(true, equal); } +TEST_F(CAmMapHandlerTest,registerDomainPredefined) +{ + //initialize domain + std::vector<am_Domain_s> returnList; + am_Domain_s domain; + am_domainID_t domainID = 10; + pCF.createDomain(domain); + + ASSERT_EQ(E_OK,pDatabaseHandler.enterDomainDB(domain,domainID)) + << "ERROR: database error"; + ASSERT_NE(10,domainID) + << "ERROR: domainID not predefined one"; + + //now check if we read out the correct values + ASSERT_EQ(E_OK, pDatabaseHandler.getListDomains(returnList)); + bool equal = true; + std::vector<am_Domain_s>::iterator listIterator = returnList.begin(); + for (; listIterator < returnList.end(); ++listIterator) + { + if (listIterator->domainID == domainID) + { + equal = equal && (listIterator->name.compare(domain.name) == 0) && (listIterator->busname.compare(domain.busname) == 0) && (listIterator->complete == domain.complete) && (listIterator->early == domain.early) && (listIterator->state == domain.state); + } + } + ASSERT_EQ(true, equal); +} + TEST_F(CAmMapHandlerTest,registerConnectionCorrect) { am_Connection_s connection; |