[thread] Remove legacy APIs: joiner & ThreadMode (#32814)
* [thread] Remove Thread Joiner functionality from platform layer
Thread Joiner role is not used by Matter so this should
not be a part of Thread interface in Matter SDK. It is
a leftover from Weave.
* Remove unused ThreadMode setting
diff --git a/src/include/platform/ConnectivityManager.h b/src/include/platform/ConnectivityManager.h
index ed881f7..3000248 100644
--- a/src/include/platform/ConnectivityManager.h
+++ b/src/include/platform/ConnectivityManager.h
@@ -102,14 +102,6 @@
kWiFiAPMode_OnDemand_NoStationProvision = 5,
};
- enum ThreadMode
- {
- kThreadMode_NotSupported = 0,
- kThreadMode_ApplicationControlled = 1,
- kThreadMode_Disabled = 2,
- kThreadMode_Enabled = 3,
- };
-
enum WiFiStationState
{
kWiFiStationState_NotConnected,
@@ -192,10 +184,7 @@
void SetWiFiAPIdleTimeout(System::Clock::Timeout val);
// Thread Methods
- ThreadMode GetThreadMode();
- CHIP_ERROR SetThreadMode(ThreadMode val);
bool IsThreadEnabled();
- bool IsThreadApplicationControlled();
ThreadDeviceType GetThreadDeviceType();
CHIP_ERROR SetThreadDeviceType(ThreadDeviceType deviceType);
bool IsThreadAttached();
@@ -417,26 +406,11 @@
return static_cast<ImplClass *>(this)->_GetAndLogWiFiStatsCounters();
}
-inline ConnectivityManager::ThreadMode ConnectivityManager::GetThreadMode()
-{
- return static_cast<ImplClass *>(this)->_GetThreadMode();
-}
-
-inline CHIP_ERROR ConnectivityManager::SetThreadMode(ThreadMode val)
-{
- return static_cast<ImplClass *>(this)->_SetThreadMode(val);
-}
-
inline bool ConnectivityManager::IsThreadEnabled()
{
return static_cast<ImplClass *>(this)->_IsThreadEnabled();
}
-inline bool ConnectivityManager::IsThreadApplicationControlled()
-{
- return static_cast<ImplClass *>(this)->_IsThreadApplicationControlled();
-}
-
inline ConnectivityManager::ThreadDeviceType ConnectivityManager::GetThreadDeviceType()
{
return static_cast<ImplClass *>(this)->_GetThreadDeviceType();
diff --git a/src/include/platform/ThreadStackManager.h b/src/include/platform/ThreadStackManager.h
index 523b4fe..540fb77 100644
--- a/src/include/platform/ThreadStackManager.h
+++ b/src/include/platform/ThreadStackManager.h
@@ -108,7 +108,6 @@
CHIP_ERROR GetExternalIPv6Address(chip::Inet::IPAddress & addr);
CHIP_ERROR GetPollPeriod(uint32_t & buf);
- CHIP_ERROR JoinerStart();
CHIP_ERROR SetThreadProvision(ByteSpan aDataset);
CHIP_ERROR SetThreadEnabled(bool val);
CHIP_ERROR AttachToThreadNetwork(const Thread::OperationalDataset & dataset,
@@ -451,11 +450,6 @@
return static_cast<ImplClass *>(this)->_GetPollPeriod(buf);
}
-inline CHIP_ERROR ThreadStackManager::JoinerStart()
-{
- return static_cast<ImplClass *>(this)->_JoinerStart();
-}
-
inline void ThreadStackManager::ResetThreadNetworkDiagnosticsCounts()
{
static_cast<ImplClass *>(this)->_ResetThreadNetworkDiagnosticsCounts();
diff --git a/src/include/platform/internal/GenericConnectivityManagerImpl_NoThread.h b/src/include/platform/internal/GenericConnectivityManagerImpl_NoThread.h
index c84f216..865feb9 100755
--- a/src/include/platform/internal/GenericConnectivityManagerImpl_NoThread.h
+++ b/src/include/platform/internal/GenericConnectivityManagerImpl_NoThread.h
@@ -44,10 +44,7 @@
protected:
// ===== Methods that implement the ConnectivityManager abstract interface.
- ConnectivityManager::ThreadMode _GetThreadMode(void);
- CHIP_ERROR _SetThreadMode(ConnectivityManager::ThreadMode val);
bool _IsThreadEnabled(void);
- bool _IsThreadApplicationControlled(void);
ConnectivityManager::ThreadDeviceType _GetThreadDeviceType(void);
CHIP_ERROR _SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType);
bool _IsThreadAttached(void);
@@ -58,30 +55,12 @@
};
template <class ImplClass>
-inline ConnectivityManager::ThreadMode GenericConnectivityManagerImpl_NoThread<ImplClass>::_GetThreadMode(void)
-{
- return ConnectivityManager::kThreadMode_NotSupported;
-}
-
-template <class ImplClass>
-inline CHIP_ERROR GenericConnectivityManagerImpl_NoThread<ImplClass>::_SetThreadMode(ConnectivityManager::ThreadMode val)
-{
- return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
-}
-
-template <class ImplClass>
inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadEnabled(void)
{
return false;
}
template <class ImplClass>
-inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadApplicationControlled(void)
-{
- return false;
-}
-
-template <class ImplClass>
inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadAttached(void)
{
return false;
diff --git a/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.h b/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.h
index 3e0e6c1..f20412f 100755
--- a/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.h
+++ b/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.h
@@ -58,10 +58,7 @@
void _Init();
void _OnPlatformEvent(const ChipDeviceEvent * event);
- ConnectivityManager::ThreadMode _GetThreadMode();
- CHIP_ERROR _SetThreadMode(ConnectivityManager::ThreadMode val);
bool _IsThreadEnabled();
- bool _IsThreadApplicationControlled();
ConnectivityManager::ThreadDeviceType _GetThreadDeviceType();
CHIP_ERROR _SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType);
#if CHIP_CONFIG_ENABLE_ICD_SERVER
@@ -82,7 +79,6 @@
enum class Flags : uint8_t
{
kHaveServiceConnectivity = 0x01,
- kIsApplicationControlled = 0x02
};
BitFlags<Flags> mFlags;
@@ -103,12 +99,6 @@
}
template <class ImplClass>
-inline bool GenericConnectivityManagerImpl_Thread<ImplClass>::_IsThreadApplicationControlled()
-{
- return mFlags.Has(Flags::kIsApplicationControlled);
-}
-
-template <class ImplClass>
inline bool GenericConnectivityManagerImpl_Thread<ImplClass>::_IsThreadAttached()
{
return ThreadStackMgrImpl().IsThreadAttached();
diff --git a/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.ipp b/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.ipp
index 6df48f5..403ddd6 100644
--- a/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.ipp
+++ b/src/include/platform/internal/GenericConnectivityManagerImpl_Thread.ipp
@@ -57,43 +57,6 @@
}
template <class ImplClass>
-ConnectivityManager::ThreadMode GenericConnectivityManagerImpl_Thread<ImplClass>::_GetThreadMode()
-{
- if (mFlags.Has(Flags::kIsApplicationControlled))
- {
- return ConnectivityManager::kThreadMode_ApplicationControlled;
- }
-
- return ThreadStackMgrImpl().IsThreadEnabled() ? ConnectivityManager::kThreadMode_Enabled
- : ConnectivityManager::kThreadMode_Disabled;
-}
-
-template <class ImplClass>
-CHIP_ERROR GenericConnectivityManagerImpl_Thread<ImplClass>::_SetThreadMode(ConnectivityManager::ThreadMode val)
-{
- CHIP_ERROR err = CHIP_NO_ERROR;
-
- VerifyOrExit(val == ConnectivityManager::kThreadMode_Enabled || val == ConnectivityManager::kThreadMode_Disabled ||
- val == ConnectivityManager::kThreadMode_ApplicationControlled,
- err = CHIP_ERROR_INVALID_ARGUMENT);
-
- if (val == ConnectivityManager::kThreadMode_ApplicationControlled)
- {
- mFlags.Set(Flags::kIsApplicationControlled);
- }
- else
- {
- mFlags.Clear(Flags::kIsApplicationControlled);
-
- err = ThreadStackMgrImpl().SetThreadEnabled(val == ConnectivityManager::kThreadMode_Enabled);
- SuccessOrExit(err);
- }
-
-exit:
- return err;
-}
-
-template <class ImplClass>
void GenericConnectivityManagerImpl_Thread<ImplClass>::UpdateServiceConnectivity()
{
constexpr bool haveServiceConnectivity = false;
diff --git a/src/platform/Linux/ThreadStackManagerImpl.cpp b/src/platform/Linux/ThreadStackManagerImpl.cpp
index 5fd865d..846b2db 100644
--- a/src/platform/Linux/ThreadStackManagerImpl.cpp
+++ b/src/platform/Linux/ThreadStackManagerImpl.cpp
@@ -574,12 +574,6 @@
return CHIP_ERROR_NOT_IMPLEMENTED;
}
-CHIP_ERROR ThreadStackManagerImpl::_JoinerStart()
-{
- // TODO: Remove Weave legacy APIs
- return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
CHIP_ERROR ThreadStackManagerImpl::GLibMatterContextCallScan(ThreadStackManagerImpl * self)
{
VerifyOrDie(g_main_context_get_thread_default() != nullptr);
diff --git a/src/platform/Linux/ThreadStackManagerImpl.h b/src/platform/Linux/ThreadStackManagerImpl.h
index 8b0cf24..374108d 100755
--- a/src/platform/Linux/ThreadStackManagerImpl.h
+++ b/src/platform/Linux/ThreadStackManagerImpl.h
@@ -117,8 +117,6 @@
CHIP_ERROR _GetPollPeriod(uint32_t & buf);
- CHIP_ERROR _JoinerStart();
-
void _ResetThreadNetworkDiagnosticsCounts();
CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback);
diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h
index aa3d2e1..896c5ef 100644
--- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h
+++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h
@@ -145,8 +145,6 @@
bool IsThreadAttachedNoLock(void);
bool IsThreadInterfaceUpNoLock(void);
- CHIP_ERROR _JoinerStart(void);
-
private:
// ===== Private members for use by this class only.
@@ -264,9 +262,6 @@
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
- static void OnJoinerComplete(otError aError, void * aContext);
- void OnJoinerComplete(otError aError);
-
inline ImplClass * Impl() { return static_cast<ImplClass *>(this); }
};
diff --git a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp
index 707e1f7..15f9f80 100644
--- a/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp
+++ b/src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp
@@ -1200,78 +1200,6 @@
}
template <class ImplClass>
-void GenericThreadStackManagerImpl_OpenThread<ImplClass>::OnJoinerComplete(otError aError, void * aContext)
-{
- static_cast<GenericThreadStackManagerImpl_OpenThread *>(aContext)->OnJoinerComplete(aError);
-}
-
-template <class ImplClass>
-void GenericThreadStackManagerImpl_OpenThread<ImplClass>::OnJoinerComplete(otError aError)
-{
-#if CHIP_PROGRESS_LOGGING
-
- ChipLogProgress(DeviceLayer, "Join Thread network: %s", otThreadErrorToString(aError));
-
- if (aError == OT_ERROR_NONE)
- {
- otError error = otThreadSetEnabled(mOTInst, true);
-
- ChipLogProgress(DeviceLayer, "Start Thread network: %s", otThreadErrorToString(error));
- }
-#endif // CHIP_PROGRESS_LOGGING
-}
-
-template <class ImplClass>
-CHIP_ERROR GenericThreadStackManagerImpl_OpenThread<ImplClass>::_JoinerStart(void)
-{
- VerifyOrReturnError(mOTInst, CHIP_ERROR_INCORRECT_STATE);
- CHIP_ERROR error = CHIP_NO_ERROR;
-
- Impl()->LockThreadStack();
- VerifyOrExit(!otDatasetIsCommissioned(mOTInst) && otThreadGetDeviceRole(mOTInst) == OT_DEVICE_ROLE_DISABLED,
- error = MapOpenThreadError(OT_ERROR_INVALID_STATE));
- VerifyOrExit(otJoinerGetState(mOTInst) == OT_JOINER_STATE_IDLE, error = MapOpenThreadError(OT_ERROR_BUSY));
-
- if (!otIp6IsEnabled(mOTInst))
- {
- SuccessOrExit(error = MapOpenThreadError(otIp6SetEnabled(mOTInst, true)));
- }
-
- {
- otJoinerDiscerner discerner;
- // This is dead code to remove, so the placeholder value is OK.
- // See ThreadStackManagerImpl.
- uint16_t discriminator = 3840;
-
- discerner.mLength = 12;
- discerner.mValue = discriminator;
-
- ChipLogProgress(DeviceLayer, "Joiner Discerner: %u", discriminator);
- otJoinerSetDiscerner(mOTInst, &discerner);
- }
-
- {
- otJoinerPskd pskd;
- // This is dead code to remove, so the placeholder value is OK.d
- // See ThreadStackManagerImpl.
- uint32_t pincode = 20202021;
-
- snprintf(pskd.m8, sizeof(pskd.m8) - 1, "%09" PRIu32, pincode);
-
- ChipLogProgress(DeviceLayer, "Joiner PSKd: %s", pskd.m8);
- error = MapOpenThreadError(otJoinerStart(mOTInst, pskd.m8, NULL, NULL, NULL, NULL, NULL,
- &GenericThreadStackManagerImpl_OpenThread::OnJoinerComplete, this));
- }
-
-exit:
- Impl()->UnlockThreadStack();
-
- ChipLogProgress(DeviceLayer, "Joiner start: %s", chip::ErrorStr(error));
-
- return error;
-}
-
-template <class ImplClass>
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_UpdateNetworkStatus()
{
VerifyOrReturn(mOTInst);
diff --git a/src/platform/Tizen/ThreadStackManagerImpl.cpp b/src/platform/Tizen/ThreadStackManagerImpl.cpp
index e6252d9..f92676b 100644
--- a/src/platform/Tizen/ThreadStackManagerImpl.cpp
+++ b/src/platform/Tizen/ThreadStackManagerImpl.cpp
@@ -521,12 +521,6 @@
return CHIP_ERROR_NOT_IMPLEMENTED;
}
-CHIP_ERROR ThreadStackManagerImpl::_JoinerStart()
-{
- ChipLogError(DeviceLayer, "Not implemented");
- return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
CHIP_ERROR ThreadStackManagerImpl::_StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback)
{
ChipLogError(DeviceLayer, "Not implemented");
diff --git a/src/platform/Tizen/ThreadStackManagerImpl.h b/src/platform/Tizen/ThreadStackManagerImpl.h
index 07092f4..e4b256c 100644
--- a/src/platform/Tizen/ThreadStackManagerImpl.h
+++ b/src/platform/Tizen/ThreadStackManagerImpl.h
@@ -103,8 +103,6 @@
CHIP_ERROR _GetPollPeriod(uint32_t & buf);
- CHIP_ERROR _JoinerStart();
-
void _ResetThreadNetworkDiagnosticsCounts();
CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback);
diff --git a/src/platform/webos/ThreadStackManagerImpl.cpp b/src/platform/webos/ThreadStackManagerImpl.cpp
index 3022519..fdb49ce 100644
--- a/src/platform/webos/ThreadStackManagerImpl.cpp
+++ b/src/platform/webos/ThreadStackManagerImpl.cpp
@@ -532,12 +532,6 @@
return CHIP_ERROR_NOT_IMPLEMENTED;
}
-CHIP_ERROR ThreadStackManagerImpl::_JoinerStart()
-{
- // TODO: Remove Weave legacy APIs
- return CHIP_ERROR_NOT_IMPLEMENTED;
-}
-
CHIP_ERROR ThreadStackManagerImpl::_StartThreadScan(ThreadDriver::ScanCallback * callback)
{
// There is another ongoing scan request, reject the new one.
diff --git a/src/platform/webos/ThreadStackManagerImpl.h b/src/platform/webos/ThreadStackManagerImpl.h
index a21d4cb..59b1a8e 100644
--- a/src/platform/webos/ThreadStackManagerImpl.h
+++ b/src/platform/webos/ThreadStackManagerImpl.h
@@ -105,8 +105,6 @@
CHIP_ERROR _GetPollPeriod(uint32_t & buf);
- CHIP_ERROR _JoinerStart();
-
void _ResetThreadNetworkDiagnosticsCounts();
CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback);