Skip to content

Commit 0c0c6d6

Browse files
[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
1 parent 5fbe16d commit 0c0c6d6

13 files changed

+0
-201
lines changed

src/include/platform/ConnectivityManager.h

-26
Original file line numberDiff line numberDiff line change
@@ -102,14 +102,6 @@ class ConnectivityManager
102102
kWiFiAPMode_OnDemand_NoStationProvision = 5,
103103
};
104104

105-
enum ThreadMode
106-
{
107-
kThreadMode_NotSupported = 0,
108-
kThreadMode_ApplicationControlled = 1,
109-
kThreadMode_Disabled = 2,
110-
kThreadMode_Enabled = 3,
111-
};
112-
113105
enum WiFiStationState
114106
{
115107
kWiFiStationState_NotConnected,
@@ -192,10 +184,7 @@ class ConnectivityManager
192184
void SetWiFiAPIdleTimeout(System::Clock::Timeout val);
193185

194186
// Thread Methods
195-
ThreadMode GetThreadMode();
196-
CHIP_ERROR SetThreadMode(ThreadMode val);
197187
bool IsThreadEnabled();
198-
bool IsThreadApplicationControlled();
199188
ThreadDeviceType GetThreadDeviceType();
200189
CHIP_ERROR SetThreadDeviceType(ThreadDeviceType deviceType);
201190
bool IsThreadAttached();
@@ -417,26 +406,11 @@ inline CHIP_ERROR ConnectivityManager::GetAndLogWiFiStatsCounters()
417406
return static_cast<ImplClass *>(this)->_GetAndLogWiFiStatsCounters();
418407
}
419408

420-
inline ConnectivityManager::ThreadMode ConnectivityManager::GetThreadMode()
421-
{
422-
return static_cast<ImplClass *>(this)->_GetThreadMode();
423-
}
424-
425-
inline CHIP_ERROR ConnectivityManager::SetThreadMode(ThreadMode val)
426-
{
427-
return static_cast<ImplClass *>(this)->_SetThreadMode(val);
428-
}
429-
430409
inline bool ConnectivityManager::IsThreadEnabled()
431410
{
432411
return static_cast<ImplClass *>(this)->_IsThreadEnabled();
433412
}
434413

435-
inline bool ConnectivityManager::IsThreadApplicationControlled()
436-
{
437-
return static_cast<ImplClass *>(this)->_IsThreadApplicationControlled();
438-
}
439-
440414
inline ConnectivityManager::ThreadDeviceType ConnectivityManager::GetThreadDeviceType()
441415
{
442416
return static_cast<ImplClass *>(this)->_GetThreadDeviceType();

src/include/platform/ThreadStackManager.h

-6
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ class ThreadStackManager
108108
CHIP_ERROR GetExternalIPv6Address(chip::Inet::IPAddress & addr);
109109
CHIP_ERROR GetPollPeriod(uint32_t & buf);
110110

111-
CHIP_ERROR JoinerStart();
112111
CHIP_ERROR SetThreadProvision(ByteSpan aDataset);
113112
CHIP_ERROR SetThreadEnabled(bool val);
114113
CHIP_ERROR AttachToThreadNetwork(const Thread::OperationalDataset & dataset,
@@ -451,11 +450,6 @@ inline CHIP_ERROR ThreadStackManager::GetPollPeriod(uint32_t & buf)
451450
return static_cast<ImplClass *>(this)->_GetPollPeriod(buf);
452451
}
453452

454-
inline CHIP_ERROR ThreadStackManager::JoinerStart()
455-
{
456-
return static_cast<ImplClass *>(this)->_JoinerStart();
457-
}
458-
459453
inline void ThreadStackManager::ResetThreadNetworkDiagnosticsCounts()
460454
{
461455
static_cast<ImplClass *>(this)->_ResetThreadNetworkDiagnosticsCounts();

src/include/platform/internal/GenericConnectivityManagerImpl_NoThread.h

-21
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,7 @@ class GenericConnectivityManagerImpl_NoThread
4444
protected:
4545
// ===== Methods that implement the ConnectivityManager abstract interface.
4646

47-
ConnectivityManager::ThreadMode _GetThreadMode(void);
48-
CHIP_ERROR _SetThreadMode(ConnectivityManager::ThreadMode val);
4947
bool _IsThreadEnabled(void);
50-
bool _IsThreadApplicationControlled(void);
5148
ConnectivityManager::ThreadDeviceType _GetThreadDeviceType(void);
5249
CHIP_ERROR _SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType);
5350
bool _IsThreadAttached(void);
@@ -57,30 +54,12 @@ class GenericConnectivityManagerImpl_NoThread
5754
ImplClass * Impl() { return static_cast<ImplClass *>(this); }
5855
};
5956

60-
template <class ImplClass>
61-
inline ConnectivityManager::ThreadMode GenericConnectivityManagerImpl_NoThread<ImplClass>::_GetThreadMode(void)
62-
{
63-
return ConnectivityManager::kThreadMode_NotSupported;
64-
}
65-
66-
template <class ImplClass>
67-
inline CHIP_ERROR GenericConnectivityManagerImpl_NoThread<ImplClass>::_SetThreadMode(ConnectivityManager::ThreadMode val)
68-
{
69-
return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
70-
}
71-
7257
template <class ImplClass>
7358
inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadEnabled(void)
7459
{
7560
return false;
7661
}
7762

78-
template <class ImplClass>
79-
inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadApplicationControlled(void)
80-
{
81-
return false;
82-
}
83-
8463
template <class ImplClass>
8564
inline bool GenericConnectivityManagerImpl_NoThread<ImplClass>::_IsThreadAttached(void)
8665
{

src/include/platform/internal/GenericConnectivityManagerImpl_Thread.h

-10
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,7 @@ class GenericConnectivityManagerImpl_Thread
5858

5959
void _Init();
6060
void _OnPlatformEvent(const ChipDeviceEvent * event);
61-
ConnectivityManager::ThreadMode _GetThreadMode();
62-
CHIP_ERROR _SetThreadMode(ConnectivityManager::ThreadMode val);
6361
bool _IsThreadEnabled();
64-
bool _IsThreadApplicationControlled();
6562
ConnectivityManager::ThreadDeviceType _GetThreadDeviceType();
6663
CHIP_ERROR _SetThreadDeviceType(ConnectivityManager::ThreadDeviceType deviceType);
6764
#if CHIP_CONFIG_ENABLE_ICD_SERVER
@@ -82,7 +79,6 @@ class GenericConnectivityManagerImpl_Thread
8279
enum class Flags : uint8_t
8380
{
8481
kHaveServiceConnectivity = 0x01,
85-
kIsApplicationControlled = 0x02
8682
};
8783

8884
BitFlags<Flags> mFlags;
@@ -102,12 +98,6 @@ inline bool GenericConnectivityManagerImpl_Thread<ImplClass>::_IsThreadEnabled()
10298
return ThreadStackMgrImpl().IsThreadEnabled();
10399
}
104100

105-
template <class ImplClass>
106-
inline bool GenericConnectivityManagerImpl_Thread<ImplClass>::_IsThreadApplicationControlled()
107-
{
108-
return mFlags.Has(Flags::kIsApplicationControlled);
109-
}
110-
111101
template <class ImplClass>
112102
inline bool GenericConnectivityManagerImpl_Thread<ImplClass>::_IsThreadAttached()
113103
{

src/include/platform/internal/GenericConnectivityManagerImpl_Thread.ipp

-37
Original file line numberDiff line numberDiff line change
@@ -56,43 +56,6 @@ void GenericConnectivityManagerImpl_Thread<ImplClass>::_OnPlatformEvent(const Ch
5656
}
5757
}
5858

59-
template <class ImplClass>
60-
ConnectivityManager::ThreadMode GenericConnectivityManagerImpl_Thread<ImplClass>::_GetThreadMode()
61-
{
62-
if (mFlags.Has(Flags::kIsApplicationControlled))
63-
{
64-
return ConnectivityManager::kThreadMode_ApplicationControlled;
65-
}
66-
67-
return ThreadStackMgrImpl().IsThreadEnabled() ? ConnectivityManager::kThreadMode_Enabled
68-
: ConnectivityManager::kThreadMode_Disabled;
69-
}
70-
71-
template <class ImplClass>
72-
CHIP_ERROR GenericConnectivityManagerImpl_Thread<ImplClass>::_SetThreadMode(ConnectivityManager::ThreadMode val)
73-
{
74-
CHIP_ERROR err = CHIP_NO_ERROR;
75-
76-
VerifyOrExit(val == ConnectivityManager::kThreadMode_Enabled || val == ConnectivityManager::kThreadMode_Disabled ||
77-
val == ConnectivityManager::kThreadMode_ApplicationControlled,
78-
err = CHIP_ERROR_INVALID_ARGUMENT);
79-
80-
if (val == ConnectivityManager::kThreadMode_ApplicationControlled)
81-
{
82-
mFlags.Set(Flags::kIsApplicationControlled);
83-
}
84-
else
85-
{
86-
mFlags.Clear(Flags::kIsApplicationControlled);
87-
88-
err = ThreadStackMgrImpl().SetThreadEnabled(val == ConnectivityManager::kThreadMode_Enabled);
89-
SuccessOrExit(err);
90-
}
91-
92-
exit:
93-
return err;
94-
}
95-
9659
template <class ImplClass>
9760
void GenericConnectivityManagerImpl_Thread<ImplClass>::UpdateServiceConnectivity()
9861
{

src/platform/Linux/ThreadStackManagerImpl.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -574,12 +574,6 @@ CHIP_ERROR ThreadStackManagerImpl::_GetPollPeriod(uint32_t & buf)
574574
return CHIP_ERROR_NOT_IMPLEMENTED;
575575
}
576576

577-
CHIP_ERROR ThreadStackManagerImpl::_JoinerStart()
578-
{
579-
// TODO: Remove Weave legacy APIs
580-
return CHIP_ERROR_NOT_IMPLEMENTED;
581-
}
582-
583577
CHIP_ERROR ThreadStackManagerImpl::GLibMatterContextCallScan(ThreadStackManagerImpl * self)
584578
{
585579
VerifyOrDie(g_main_context_get_thread_default() != nullptr);

src/platform/Linux/ThreadStackManagerImpl.h

-2
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,6 @@ class ThreadStackManagerImpl : public ThreadStackManager
117117

118118
CHIP_ERROR _GetPollPeriod(uint32_t & buf);
119119

120-
CHIP_ERROR _JoinerStart();
121-
122120
void _ResetThreadNetworkDiagnosticsCounts();
123121

124122
CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback);

src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.h

-5
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,6 @@ class GenericThreadStackManagerImpl_OpenThread
145145
bool IsThreadAttachedNoLock(void);
146146
bool IsThreadInterfaceUpNoLock(void);
147147

148-
CHIP_ERROR _JoinerStart(void);
149-
150148
private:
151149
// ===== Private members for use by this class only.
152150

@@ -264,9 +262,6 @@ class GenericThreadStackManagerImpl_OpenThread
264262
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_DNS_CLIENT
265263
#endif // CHIP_DEVICE_CONFIG_ENABLE_THREAD_SRP_CLIENT
266264

267-
static void OnJoinerComplete(otError aError, void * aContext);
268-
void OnJoinerComplete(otError aError);
269-
270265
inline ImplClass * Impl() { return static_cast<ImplClass *>(this); }
271266
};
272267

src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp

-72
Original file line numberDiff line numberDiff line change
@@ -1199,78 +1199,6 @@ void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_ErasePersistentInfo(v
11991199
Impl()->UnlockThreadStack();
12001200
}
12011201

1202-
template <class ImplClass>
1203-
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::OnJoinerComplete(otError aError, void * aContext)
1204-
{
1205-
static_cast<GenericThreadStackManagerImpl_OpenThread *>(aContext)->OnJoinerComplete(aError);
1206-
}
1207-
1208-
template <class ImplClass>
1209-
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::OnJoinerComplete(otError aError)
1210-
{
1211-
#if CHIP_PROGRESS_LOGGING
1212-
1213-
ChipLogProgress(DeviceLayer, "Join Thread network: %s", otThreadErrorToString(aError));
1214-
1215-
if (aError == OT_ERROR_NONE)
1216-
{
1217-
otError error = otThreadSetEnabled(mOTInst, true);
1218-
1219-
ChipLogProgress(DeviceLayer, "Start Thread network: %s", otThreadErrorToString(error));
1220-
}
1221-
#endif // CHIP_PROGRESS_LOGGING
1222-
}
1223-
1224-
template <class ImplClass>
1225-
CHIP_ERROR GenericThreadStackManagerImpl_OpenThread<ImplClass>::_JoinerStart(void)
1226-
{
1227-
VerifyOrReturnError(mOTInst, CHIP_ERROR_INCORRECT_STATE);
1228-
CHIP_ERROR error = CHIP_NO_ERROR;
1229-
1230-
Impl()->LockThreadStack();
1231-
VerifyOrExit(!otDatasetIsCommissioned(mOTInst) && otThreadGetDeviceRole(mOTInst) == OT_DEVICE_ROLE_DISABLED,
1232-
error = MapOpenThreadError(OT_ERROR_INVALID_STATE));
1233-
VerifyOrExit(otJoinerGetState(mOTInst) == OT_JOINER_STATE_IDLE, error = MapOpenThreadError(OT_ERROR_BUSY));
1234-
1235-
if (!otIp6IsEnabled(mOTInst))
1236-
{
1237-
SuccessOrExit(error = MapOpenThreadError(otIp6SetEnabled(mOTInst, true)));
1238-
}
1239-
1240-
{
1241-
otJoinerDiscerner discerner;
1242-
// This is dead code to remove, so the placeholder value is OK.
1243-
// See ThreadStackManagerImpl.
1244-
uint16_t discriminator = 3840;
1245-
1246-
discerner.mLength = 12;
1247-
discerner.mValue = discriminator;
1248-
1249-
ChipLogProgress(DeviceLayer, "Joiner Discerner: %u", discriminator);
1250-
otJoinerSetDiscerner(mOTInst, &discerner);
1251-
}
1252-
1253-
{
1254-
otJoinerPskd pskd;
1255-
// This is dead code to remove, so the placeholder value is OK.d
1256-
// See ThreadStackManagerImpl.
1257-
uint32_t pincode = 20202021;
1258-
1259-
snprintf(pskd.m8, sizeof(pskd.m8) - 1, "%09" PRIu32, pincode);
1260-
1261-
ChipLogProgress(DeviceLayer, "Joiner PSKd: %s", pskd.m8);
1262-
error = MapOpenThreadError(otJoinerStart(mOTInst, pskd.m8, NULL, NULL, NULL, NULL, NULL,
1263-
&GenericThreadStackManagerImpl_OpenThread::OnJoinerComplete, this));
1264-
}
1265-
1266-
exit:
1267-
Impl()->UnlockThreadStack();
1268-
1269-
ChipLogProgress(DeviceLayer, "Joiner start: %s", chip::ErrorStr(error));
1270-
1271-
return error;
1272-
}
1273-
12741202
template <class ImplClass>
12751203
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_UpdateNetworkStatus()
12761204
{

src/platform/Tizen/ThreadStackManagerImpl.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -521,12 +521,6 @@ CHIP_ERROR ThreadStackManagerImpl::_GetPollPeriod(uint32_t & buf)
521521
return CHIP_ERROR_NOT_IMPLEMENTED;
522522
}
523523

524-
CHIP_ERROR ThreadStackManagerImpl::_JoinerStart()
525-
{
526-
ChipLogError(DeviceLayer, "Not implemented");
527-
return CHIP_ERROR_NOT_IMPLEMENTED;
528-
}
529-
530524
CHIP_ERROR ThreadStackManagerImpl::_StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback)
531525
{
532526
ChipLogError(DeviceLayer, "Not implemented");

src/platform/Tizen/ThreadStackManagerImpl.h

-2
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,6 @@ class ThreadStackManagerImpl : public ThreadStackManager
103103

104104
CHIP_ERROR _GetPollPeriod(uint32_t & buf);
105105

106-
CHIP_ERROR _JoinerStart();
107-
108106
void _ResetThreadNetworkDiagnosticsCounts();
109107

110108
CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback);

src/platform/webos/ThreadStackManagerImpl.cpp

-6
Original file line numberDiff line numberDiff line change
@@ -532,12 +532,6 @@ CHIP_ERROR ThreadStackManagerImpl::_GetPollPeriod(uint32_t & buf)
532532
return CHIP_ERROR_NOT_IMPLEMENTED;
533533
}
534534

535-
CHIP_ERROR ThreadStackManagerImpl::_JoinerStart()
536-
{
537-
// TODO: Remove Weave legacy APIs
538-
return CHIP_ERROR_NOT_IMPLEMENTED;
539-
}
540-
541535
CHIP_ERROR ThreadStackManagerImpl::_StartThreadScan(ThreadDriver::ScanCallback * callback)
542536
{
543537
// There is another ongoing scan request, reject the new one.

src/platform/webos/ThreadStackManagerImpl.h

-2
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,6 @@ class ThreadStackManagerImpl : public ThreadStackManager
105105

106106
CHIP_ERROR _GetPollPeriod(uint32_t & buf);
107107

108-
CHIP_ERROR _JoinerStart();
109-
110108
void _ResetThreadNetworkDiagnosticsCounts();
111109

112110
CHIP_ERROR _StartThreadScan(NetworkCommissioning::ThreadDriver::ScanCallback * callback);

0 commit comments

Comments
 (0)