@@ -144,14 +144,37 @@ void DefaultOTARequestorDriver::HandleIdleStateEnter(IdleStateReason reason)
144
144
}
145
145
}
146
146
147
+ void DefaultOTARequestorDriver::DownloadUpdateTimerHandler (System::Layer * systemLayer, void * appState)
148
+ {
149
+ DefaultOTARequestorDriver * driver = ToDriver (appState);
150
+
151
+ VerifyOrDie (driver->mRequestor != nullptr );
152
+ driver->mRequestor ->DownloadUpdate ();
153
+ }
154
+
155
+ void DefaultOTARequestorDriver::ApplyUpdateTimerHandler (System::Layer * systemLayer, void * appState)
156
+ {
157
+ DefaultOTARequestorDriver * driver = ToDriver (appState);
158
+
159
+ VerifyOrDie (driver->mRequestor != nullptr );
160
+ driver->mRequestor ->ApplyUpdate ();
161
+ }
162
+
163
+ void DefaultOTARequestorDriver::ApplyTimerHandler (System::Layer * systemLayer, void * appState)
164
+ {
165
+ DefaultOTARequestorDriver * driver = ToDriver (appState);
166
+
167
+ VerifyOrDie (driver->mImageProcessor != nullptr );
168
+ driver->mImageProcessor ->Apply ();
169
+ }
170
+
147
171
void DefaultOTARequestorDriver::UpdateAvailable (const UpdateDescription & update, System::Clock::Seconds32 delay)
148
172
{
149
173
// IMPLEMENTATION CHOICE:
150
174
// This implementation unconditionally downloads an available update
151
175
152
176
VerifyOrDie (mRequestor != nullptr );
153
- ScheduleDelayedAction (
154
- delay, [](System::Layer *, void * context) { ToDriver (context)->mRequestor ->DownloadUpdate (); }, this );
177
+ ScheduleDelayedAction (delay, DownloadUpdateTimerHandler, this );
155
178
}
156
179
157
180
CHIP_ERROR DefaultOTARequestorDriver::UpdateNotFound (UpdateNotFoundReason reason, System::Clock::Seconds32 delay)
@@ -189,8 +212,7 @@ void DefaultOTARequestorDriver::UpdateDownloaded()
189
212
void DefaultOTARequestorDriver::UpdateConfirmed (System::Clock::Seconds32 delay)
190
213
{
191
214
VerifyOrDie (mImageProcessor != nullptr );
192
- ScheduleDelayedAction (
193
- delay, [](System::Layer *, void * context) { ToDriver (context)->mImageProcessor ->Apply (); }, this );
215
+ ScheduleDelayedAction (delay, ApplyTimerHandler, this );
194
216
}
195
217
196
218
void DefaultOTARequestorDriver::UpdateSuspended (System::Clock::Seconds32 delay)
@@ -202,8 +224,7 @@ void DefaultOTARequestorDriver::UpdateSuspended(System::Clock::Seconds32 delay)
202
224
delay = kDefaultDelayedActionTime ;
203
225
}
204
226
205
- ScheduleDelayedAction (
206
- delay, [](System::Layer *, void * context) { ToDriver (context)->mRequestor ->ApplyUpdate (); }, this );
227
+ ScheduleDelayedAction (delay, ApplyUpdateTimerHandler, this );
207
228
}
208
229
209
230
void DefaultOTARequestorDriver::UpdateDiscontinued ()
@@ -218,11 +239,11 @@ void DefaultOTARequestorDriver::UpdateDiscontinued()
218
239
// Cancel all OTA update timers
219
240
void DefaultOTARequestorDriver::UpdateCancelled ()
220
241
{
221
- // Cancel all OTA Update timers started by OTARequestorDriver regardless of whether thery are running or not
222
- CancelDelayedAction ([](System::Layer *, void * context) { ToDriver (context)-> mRequestor -> DownloadUpdate (); } , this );
242
+ // Cancel all OTA Update timers started by OTARequestorDriver regardless of whether thery are running or not
243
+ CancelDelayedAction (DownloadUpdateTimerHandler , this );
223
244
CancelDelayedAction (StartDelayTimerHandler, this );
224
- CancelDelayedAction ([](System::Layer *, void * context) { ToDriver (context)-> mImageProcessor -> Apply (); } , this );
225
- CancelDelayedAction ([](System::Layer *, void * context) { ToDriver (context)-> mRequestor -> ApplyUpdate (); } , this );
245
+ CancelDelayedAction (ApplyTimerHandler , this );
246
+ CancelDelayedAction (ApplyUpdateTimerHandler , this );
226
247
}
227
248
228
249
void DefaultOTARequestorDriver::ScheduleDelayedAction (System::Clock::Seconds32 delay, System::TimerCompleteCallback action,
0 commit comments