diff options
Diffstat (limited to 'parameter/SystemClass.cpp')
-rw-r--r-- | parameter/SystemClass.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/parameter/SystemClass.cpp b/parameter/SystemClass.cpp index dbce345..bf98cb1 100644 --- a/parameter/SystemClass.cpp +++ b/parameter/SystemClass.cpp @@ -232,6 +232,26 @@ const CSubsystemLibrary* CSystemClass::getSubsystemLibrary() const return _pSubsystemLibrary; } +// Fill syncer-set with syncers from subsytems that need resync +void CSystemClass::checkForSubsystemsToResync(CSyncerSet& syncerSet) +{ + uint32_t uiNbChildren = getNbChildren(); + uint32_t uiChild; + + for (uiChild = 0; uiChild < uiNbChildren; uiChild++) { + + CSubsystem* pSubsystem = static_cast<CSubsystem*>(getChild(uiChild)); + + // Collect and consume the need for a resync + if (pSubsystem->needResync(true)) { + + log_info("Resynchronizing subsystem: %s", pSubsystem->getName().c_str()); + // get all subsystem syncers + pSubsystem->fillSyncerSet(syncerSet); + } + } +} + bool CSystemClass::init(string& strError) { return base::init(strError); |