Skip to content

Commit fc4a2e5

Browse files
committed
A few more fixes
1 parent 321b7d7 commit fc4a2e5

File tree

2 files changed

+22
-20
lines changed

2 files changed

+22
-20
lines changed

src/include/platform/internal/GenericConnectivityManagerImpl_Thread.ipp

+5-5
Original file line numberDiff line numberDiff line change
@@ -71,11 +71,11 @@ void GenericConnectivityManagerImpl_Thread<ImplClass>::UpdateServiceConnectivity
7171

7272
{
7373
ChipDeviceEvent event{ .Type = DeviceEventType::kServiceConnectivityChange,
74-
.ServiceConnectivityChange = {
75-
.Overall = { .Result = event.ServiceConnectivityChange.ViaThread.Result },
76-
.ViaThread = { .Result = (haveServiceConnectivity) ? kConnectivity_Established
77-
: kConnectivity_Lost } } };
78-
CHIP_ERROR status = PlatformMgr().PostEvent(&event);
74+
.ServiceConnectivityChange = { .ViaThread = { .Result = (haveServiceConnectivity)
75+
? kConnectivity_Established
76+
: kConnectivity_Lost } } };
77+
event.ServiceConnectivityChange.Overall.Result = event.ServiceConnectivityChange.ViaThread.Result;
78+
CHIP_ERROR status = PlatformMgr().PostEvent(&event);
7979
if (status != CHIP_NO_ERROR)
8080
{
8181
ChipLogError(DeviceLayer, "Failed to post thread connectivity change: %" CHIP_ERROR_FORMAT, status.Format());

src/platform/OpenThread/GenericThreadStackManagerImpl_OpenThread.hpp

+17-15
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,17 @@ NetworkCommissioning::otScanResponseIterator<NetworkCommissioning::ThreadScanRes
122122
template <class ImplClass>
123123
void GenericThreadStackManagerImpl_OpenThread<ImplClass>::OnOpenThreadStateChange(uint32_t flags, void * context)
124124
{
125-
ChipDeviceEvent event;
126-
event.Type = DeviceEventType::kThreadStateChange;
127-
event.ThreadStateChange.RoleChanged = (flags & OT_CHANGED_THREAD_ROLE) != 0;
128-
event.ThreadStateChange.AddressChanged = (flags & (OT_CHANGED_IP6_ADDRESS_ADDED | OT_CHANGED_IP6_ADDRESS_REMOVED)) != 0;
129-
event.ThreadStateChange.NetDataChanged = (flags & OT_CHANGED_THREAD_NETDATA) != 0;
130-
event.ThreadStateChange.ChildNodesChanged = (flags & (OT_CHANGED_THREAD_CHILD_ADDED | OT_CHANGED_THREAD_CHILD_REMOVED)) != 0;
131-
event.ThreadStateChange.OpenThread.Flags = flags;
125+
ChipDeviceEvent event
126+
{
127+
.Type = DeviceEventType::kThreadStateChange;
128+
.ThreadStateChange = {
129+
.RoleChanged = (flags & OT_CHANGED_THREAD_ROLE) != 0,
130+
.AddressChanged = (flags & (OT_CHANGED_IP6_ADDRESS_ADDED | OT_CHANGED_IP6_ADDRESS_REMOVED)) != 0,
131+
.NetDataChanged = (flags & OT_CHANGED_THREAD_NETDATA) != 0,
132+
.ChildNodesChanged = (flags & (OT_CHANGED_THREAD_CHILD_ADDED | OT_CHANGED_THREAD_CHILD_REMOVED)) != 0,
133+
.OpenThread = { .Flags = flags }
134+
}
135+
};
132136

133137
CHIP_ERROR status = PlatformMgr().PostEvent(&event);
134138
if (status != CHIP_NO_ERROR)
@@ -210,11 +214,10 @@ void GenericThreadStackManagerImpl_OpenThread<ImplClass>::_OnPlatformEvent(const
210214
// Avoid sending muliple events if the attachement state didn't change (Child->router or disable->Detached)
211215
if (event->ThreadStateChange.RoleChanged && (isThreadAttached != mIsAttached))
212216
{
213-
ChipDeviceEvent attachEvent;
214-
attachEvent.Clear();
215-
attachEvent.Type = DeviceEventType::kThreadConnectivityChange;
216-
attachEvent.ThreadConnectivityChange.Result = (isThreadAttached) ? kConnectivity_Established : kConnectivity_Lost;
217-
CHIP_ERROR status = PlatformMgr().PostEvent(&attachEvent);
217+
ChipDeviceEvent attachEvent{ .Type = DeviceEventType::kThreadConnectivityChange,
218+
.ThreadConnectivityChange = { .Result = (isThreadAttached) ? kConnectivity_Established
219+
: kConnectivity_Lost } };
220+
CHIP_ERROR status = PlatformMgr().PostEvent(&attachEvent);
218221
if (status == CHIP_NO_ERROR)
219222
{
220223
mIsAttached = isThreadAttached;
@@ -300,9 +303,8 @@ CHIP_ERROR GenericThreadStackManagerImpl_OpenThread<ImplClass>::_SetThreadProvis
300303
}
301304

302305
// post an event alerting other subsystems about change in provisioning state
303-
ChipDeviceEvent event;
304-
event.Type = DeviceEventType::kServiceProvisioningChange;
305-
event.ServiceProvisioningChange.IsServiceProvisioned = true;
306+
ChipDeviceEvent event{ .Type = DeviceEventType::kServiceProvisioningChange,
307+
.ServiceProvisioningChange = { .IsServiceProvisioned = true } };
306308
return PlatformMgr().PostEvent(&event);
307309
}
308310

0 commit comments

Comments
 (0)