Skip to content

Commit bc000ac

Browse files
Added ClearThreadStack Helper
1 parent a82a2bb commit bc000ac

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

examples/platform/silabs/BaseApplication.cpp

+2-5
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
#if CHIP_ENABLE_OPENTHREAD
5252
#include <platform/OpenThread/OpenThreadUtils.h>
5353
#include <platform/ThreadStackManager.h>
54+
#include <platform/silabs/ConfigurationManagerImpl.h>
5455
#include <platform/silabs/ThreadStackManagerImpl.h>
5556
#endif // CHIP_ENABLE_OPENTHREAD
5657

@@ -801,11 +802,7 @@ void BaseApplication::DoProvisioningReset()
801802
{
802803
PlatformMgr().ScheduleWork([](intptr_t) {
803804
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
804-
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
805-
ThreadStackMgr().ClearAllSrpHostAndServices();
806-
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
807-
ChipLogProgress(DeviceLayer, "Clearing Thread provision");
808-
chip::DeviceLayer::ConnectivityMgr().ErasePersistentInfo();
805+
ConfigurationManagerImpl::GetDefaultInstance().ClearThreadStack();
809806
ThreadStackMgrImpl().FactoryResetThreadStack();
810807
ThreadStackMgr().InitThreadStack();
811808
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD

src/platform/silabs/ConfigurationManagerImpl.cpp

+11-5
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,16 @@ void ConfigurationManagerImpl::RunConfigUnitTest(void)
260260
#endif // CONFIG_BUILD_FOR_HOST_UNIT_TEST
261261
}
262262

263+
/// @brief Helper to erase Thread info from device
264+
void ConfigurationManagerImpl::ClearThreadStack()
265+
{
266+
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
267+
ThreadStackMgr().ClearAllSrpHostAndServices();
268+
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
269+
ChipLogProgress(DeviceLayer, "Clearing Thread provision");
270+
ThreadStackMgr().ErasePersistentInfo();
271+
}
272+
263273
void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg)
264274
{
265275
CHIP_ERROR err;
@@ -273,11 +283,7 @@ void ConfigurationManagerImpl::DoFactoryReset(intptr_t arg)
273283
}
274284

275285
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD
276-
#if CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
277-
ThreadStackMgr().ClearAllSrpHostAndServices();
278-
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
279-
ChipLogProgress(DeviceLayer, "Clearing Thread provision");
280-
ThreadStackMgr().ErasePersistentInfo();
286+
GetDefaultInstance().ClearThreadStack();
281287
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD
282288

283289
PersistedStorage::KeyValueStoreMgrImpl().ErasePartition();

src/platform/silabs/ConfigurationManagerImpl.h

+2
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ class ConfigurationManagerImpl : public Internal::GenericConfigurationManagerImp
4646
CHIP_ERROR GetTotalOperationalHours(uint32_t & totalOperationalHours);
4747
CHIP_ERROR StoreTotalOperationalHours(uint32_t totalOperationalHours);
4848

49+
void ClearThreadStack();
50+
4951
private:
5052
// ===== Members that implement the ConfigurationManager public interface.
5153

0 commit comments

Comments
 (0)