[ICD] Expose SetModeDurations via ICDManager (#37887)
* [ICD] Expose SetModeDurations via ICDManager
* Restyled by clang-format
---------
Co-authored-by: Restyled.io <commits@restyled.io>
diff --git a/src/app/icd/server/ICDManager.h b/src/app/icd/server/ICDManager.h
index 5e8288a..7578a28 100644
--- a/src/app/icd/server/ICDManager.h
+++ b/src/app/icd/server/ICDManager.h
@@ -174,6 +174,13 @@
*/
bool SupportsFeature(Clusters::IcdManagement::Feature feature);
+ // See ICDConfigurationData::SetModeDurations
+ CHIP_ERROR SetModeDurations(Optional<System::Clock::Milliseconds32> activeModeDuration,
+ Optional<System::Clock::Milliseconds32> idleModeDuration)
+ {
+ return ICDConfigurationData::GetInstance().SetModeDurations(activeModeDuration, idleModeDuration);
+ };
+
ICDConfigurationData::ICDMode GetICDMode() { return ICDConfigurationData::GetInstance().GetICDMode(); };
OperationalState GetOperaionalState() { return mOperationalState; };
diff --git a/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h b/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h
index cfb4abc..1fbe8b4 100644
--- a/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h
+++ b/src/app/icd/server/tests/ICDConfigurationDataTestAccess.h
@@ -26,8 +26,6 @@
/**
* @brief Class acts as an accessor to private methods of the ICDConfigurationData class without needing to give friend access to
* each individual test.
- * This design is necessary because certain tests validate specific edge cases around specific configurations.
- * See ICDConfigurationData.h for more details why SetModeDurations cannot be a public API.
*/
class ICDConfigurationDataTestAccess
{
@@ -35,12 +33,6 @@
ICDConfigurationDataTestAccess() = delete;
ICDConfigurationDataTestAccess(ICDConfigurationData * data) : mData(data) {}
- CHIP_ERROR SetModeDurations(Optional<System::Clock::Milliseconds32> activeModeDuration,
- Optional<System::Clock::Milliseconds32> idleModeDuration)
- {
- return mData->SetModeDurations(activeModeDuration, idleModeDuration);
- }
-
void SetFeatureMap(BitFlags<app::Clusters::IcdManagement::Feature> featureMap) { mData->SetFeatureMap(featureMap); }
private:
diff --git a/src/app/icd/server/tests/TestICDManager.cpp b/src/app/icd/server/tests/TestICDManager.cpp
index b05ba9b..fddc4e0 100644
--- a/src/app/icd/server/tests/TestICDManager.cpp
+++ b/src/app/icd/server/tests/TestICDManager.cpp
@@ -273,7 +273,7 @@
// Set New durations for test case
Milliseconds32 oldActiveModeDuration = icdConfigData.GetActiveModeDuration();
- privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
// Verify That ICDManager starts in Idle
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
@@ -331,7 +331,7 @@
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
// Reset Old durations
- privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
}
/**
@@ -355,7 +355,7 @@
// Set New durations for test case
Milliseconds32 oldActiveModeDuration = icdConfigData.GetActiveModeDuration();
- privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
// Verify That ICDManager starts in Idle
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
@@ -424,7 +424,7 @@
EXPECT_EQ(mICDManager.GetOperaionalState(), ICDManager::OperationalState::IdleMode);
// Reset Old durations
- privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(oldActiveModeDuration), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(oldActiveModeDuration), NullOptional);
}
#endif // CHIP_CONFIG_ENABLE_ICD_CIP
@@ -1100,8 +1100,8 @@
// Set New durations for test case - ActiveModeDuration must be longuer than ICD_ACTIVE_TIME_JITTER_MS
Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration();
- privateIcdConfigData.SetModeDurations(
- MakeOptional<Milliseconds32>(Milliseconds32(200) + Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(Milliseconds32(200) + Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)),
+ NullOptional);
// Advance clock just before IdleMode timer expires
AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s);
@@ -1138,7 +1138,7 @@
EXPECT_FALSE(mICDStateObserver.mOnTransitionToIdleCalled);
// Reset Old durations
- privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
}
/**
@@ -1151,7 +1151,7 @@
// Set New durations for test case - ActiveModeDuration must be equal to ICD_ACTIVE_TIME_JITTER_MS
Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration();
- privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(Milliseconds32(ICD_ACTIVE_TIME_JITTER_MS)), NullOptional);
// Advance clock just before IdleMode timer expires
AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s);
@@ -1171,7 +1171,7 @@
EXPECT_TRUE(mICDStateObserver.mOnTransitionToIdleCalled);
// Reset Old durations
- privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
}
/**
@@ -1183,7 +1183,7 @@
// Set New durations for test case - ActiveModeDuration equal 0
Milliseconds32 oldActiveModeDuration = ICDConfigurationData::GetInstance().GetActiveModeDuration();
- privateIcdConfigData.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional<Milliseconds32>(0), NullOptional);
// Advance clock just before IdleMode timer expires
AdvanceClockAndRunEventLoop(ICDConfigurationData::GetInstance().GetIdleModeDuration() - 1_s);
@@ -1203,7 +1203,7 @@
EXPECT_TRUE(mICDStateObserver.mOnTransitionToIdleCalled);
// Reset Old durations
- privateIcdConfigData.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
+ mICDManager.SetModeDurations(MakeOptional(oldActiveModeDuration), NullOptional);
}
/**