diff options
author | GENIVI Audio Manager Maintainer <genivi-maint-audiomanager@smtp1.genivi.org> | 2017-08-22 14:50:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-22 14:50:37 +0200 |
commit | f620be8a774f966fbd76ca8892a39ce28037a213 (patch) | |
tree | 9baabfbf751e85d0980f74e55e8332f6e20c379f /AudioManagerCore/src/CAmDatabaseHandlerMap.cpp | |
parent | 8f2387e42641c7c2b967553a4c578f0e87549fb6 (diff) | |
parent | be63615585049aa4045f13e91291d64b0a9ed5a3 (diff) | |
download | audiomanager-f620be8a774f966fbd76ca8892a39ce28037a213.tar.gz |
Merge pull request #16 from GENIVI/utility_updates
Utility updates
Diffstat (limited to 'AudioManagerCore/src/CAmDatabaseHandlerMap.cpp')
-rw-r--r-- | AudioManagerCore/src/CAmDatabaseHandlerMap.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp b/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp index 48ef37b..cc95d28 100644 --- a/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp +++ b/AudioManagerCore/src/CAmDatabaseHandlerMap.cpp @@ -3393,22 +3393,20 @@ am_Error_e CAmDatabaseHandlerMap::enumerateConverters(std::function<void(const a bool CAmDatabaseHandlerMap::registerObserver(IAmDatabaseObserver * iObserver) { assert(iObserver!=NULL); - if (std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(), - iObserver) == mDatabaseObservers.end()) { - mDatabaseObservers.push_back( - dynamic_cast<AmDatabaseObserverCallbacks*>(iObserver)), dynamic_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler = - nullptr; + if (std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(), iObserver) == mDatabaseObservers.end()) + { + mDatabaseObservers.push_back(static_cast<AmDatabaseObserverCallbacks*>(iObserver)); + static_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler = this; return true; } return false; } bool CAmDatabaseHandlerMap::unregisterObserver(IAmDatabaseObserver * iObserver) { assert(iObserver!=NULL); - auto it = std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(), - iObserver); + auto it = std::find(mDatabaseObservers.begin(), mDatabaseObservers.end(), iObserver); if (it != mDatabaseObservers.end()) { - mDatabaseObservers.erase(it), dynamic_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler = - nullptr; + mDatabaseObservers.erase(it); + static_cast<AmDatabaseObserverCallbacks*>(iObserver)->mpDatabaseHandler = nullptr; return true; } return false; |