IDS peak genericC++  v1.4.0
peak_firmware_update_progress_observer.hpp
Go to the documentation of this file.
1 
11 #pragma once
12 
13 
16 #include <peak/generic/peak_t_callback_manager.hpp>
17 
18 #include <cstdint>
19 #include <functional>
20 #include <memory>
21 #include <string>
22 #include <vector>
23 
24 
25 namespace peak
26 {
27 namespace core
28 {
29 
34 {
40  UploadFile,
42 };
43 
53 {
54 public:
56  using UpdateStartedCallback = std::function<void(
57  const std::shared_ptr<FirmwareUpdateInformation>& updateInformation, uint32_t estimatedDuration_ms)>;
61  using UpdateStepStartedCallback = std::function<void(
62  FirmwareUpdateStep updateStep, uint32_t estimatedDuration_ms, const std::string& description)>;
67  std::function<void(FirmwareUpdateStep updateStep, double progressPercentage)>;
71  using UpdateStepFinishedCallback = std::function<void(FirmwareUpdateStep updateStep)>;
75  using UpdateFinishedCallback = std::function<void(void)>;
79  using UpdateFailedCallback = std::function<void(const std::string& errorDescription)>;
82 
86  FirmwareUpdateProgressObserver& operator=(const FirmwareUpdateProgressObserver& other) = delete;
89 
99  UpdateStartedCallbackHandle RegisterUpdateStartedCallback(UpdateStartedCallback callback);
111  void UnregisterUpdateStartedCallback(UpdateStartedCallbackHandle callbackHandle);
121  UpdateStepStartedCallbackHandle RegisterUpdateStepStartedCallback(UpdateStepStartedCallback callback);
133  void UnregisterUpdateStepStartedCallback(UpdateStepStartedCallbackHandle callbackHandle);
143  UpdateStepProgressChangedCallbackHandle RegisterUpdateStepProgressChangedCallback(
156  void UnregisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallbackHandle callbackHandle);
166  UpdateStepFinishedCallbackHandle RegisterUpdateStepFinishedCallback(UpdateStepFinishedCallback callback);
178  void UnregisterUpdateStepFinishedCallback(UpdateStepFinishedCallbackHandle callbackHandle);
188  UpdateFinishedCallbackHandle RegisterUpdateFinishedCallback(UpdateFinishedCallback callback);
200  void UnregisterUpdateFinishedCallback(UpdateFinishedCallbackHandle callbackHandle);
210  UpdateFailedCallbackHandle RegisterUpdateFailedCallback(UpdateFailedCallback callback);
222  void UnregisterUpdateFailedCallback(UpdateFailedCallbackHandle callbackHandle);
223 
224 private:
225  static void PEAK_CALL_CONV FirmwareUpdateStartedCallbackCWrapper(
226  PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE updateInformation, uint32_t estimatedDuration_ms, void* context);
227  static void PEAK_CALL_CONV FirmwareUpdateStepStartedCallbackCWrapper(PEAK_FIRMWARE_UPDATE_STEP updateStep,
228  uint32_t estimatedDuration_ms, const char* description, size_t descriptionSize, void* context);
229  static void PEAK_CALL_CONV FirmwareUpdateStepProgressChangedCallbackCWrapper(
230  PEAK_FIRMWARE_UPDATE_STEP updateStep, double progressPercentage, void* context);
231  static void PEAK_CALL_CONV FirmwareUpdateStepFinishedCallbackCWrapper(
232  PEAK_FIRMWARE_UPDATE_STEP updateStep, void* context);
233  static void PEAK_CALL_CONV FirmwareUpdateFinishedCallbackCWrapper(void* context);
234  static void PEAK_CALL_CONV FirmwareUpdateFailedCallbackCWrapper(
235  const char* errorDescription, size_t errorDescriptionSize, void* context);
236 
238 
239  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE, UpdateStartedCallback>>
240  m_updateStartedCallbackManager;
241  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE, UpdateStepStartedCallback>>
242  m_updateStepStartedCallbackManager;
243  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE,
245  m_updateStepProgressChangedCallbackManager;
246  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE, UpdateStepFinishedCallback>>
247  m_updateStepFinishedCallbackManager;
248  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE, UpdateFinishedCallback>>
249  m_updateFinishedCallbackManager;
250  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE, UpdateFailedCallback>>
251  m_updateFailedCallbackManager;
252 
253  friend class FirmwareUpdater;
254 };
255 
256 } /* namespace core */
257 } /* namespace peak */
258 
259 /* Implementation */
260 namespace peak
261 {
262 namespace core
263 {
264 
265 inline std::string ToString(FirmwareUpdateStep entry)
266 {
267  std::string entryString;
268 
270  {
271  entryString = "CheckPreconditions";
272  }
273  else if (entry == FirmwareUpdateStep::AcquireUpdateData)
274  {
275  entryString = "AcquireUpdateData";
276  }
277  else if (entry == FirmwareUpdateStep::WriteFeature)
278  {
279  entryString = "WriteFeature";
280  }
281  else if (entry == FirmwareUpdateStep::ExecuteFeature)
282  {
283  entryString = "ExecuteFeature";
284  }
285  else if (entry == FirmwareUpdateStep::AssertFeature)
286  {
287  entryString = "AssertFeature";
288  }
289  else if (entry == FirmwareUpdateStep::UploadFile)
290  {
291  entryString = "UploadFile";
292  }
293  else if (entry == FirmwareUpdateStep::ResetDevice)
294  {
295  entryString = "ResetDevice";
296  }
297 
298  return entryString;
299 }
300 
302  : m_backendHandle(QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE>(
303  [](PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE* firmwareUpdateProgressObserverHandle) {
305  firmwareUpdateProgressObserverHandle);
306  }))
307  , m_updateStartedCallbackManager()
308  , m_updateStepStartedCallbackManager()
309  , m_updateStepProgressChangedCallbackManager()
310  , m_updateStepFinishedCallbackManager()
311  , m_updateFinishedCallbackManager()
312  , m_updateFailedCallbackManager()
313 {
314  m_updateStartedCallbackManager = std::make_unique<
315  TCallbackManager<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE, UpdateStartedCallback>>(
316  [&](void* callbackContext) {
317  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE>(
318  [&](PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE* firmwareUpdateStartedCallbackHandle) {
320  m_backendHandle, FirmwareUpdateStartedCallbackCWrapper, callbackContext,
321  firmwareUpdateStartedCallbackHandle);
322  });
323  },
325  CallAndCheckCInterfaceFunction([&] {
327  m_backendHandle, callbackHandle);
328  });
329  });
330  m_updateStepStartedCallbackManager = std::make_unique<
331  TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE, UpdateStepStartedCallback>>(
332  [&](void* callbackContext) {
333  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE>(
334  [&](PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE* firmwareUpdateStepStartedCallbackHandle) {
335  return PEAK_C_ABI_PREFIX
337  FirmwareUpdateStepStartedCallbackCWrapper, callbackContext,
338  firmwareUpdateStepStartedCallbackHandle);
339  });
340  },
342  CallAndCheckCInterfaceFunction([&] {
344  m_backendHandle, callbackHandle);
345  });
346  });
347  m_updateStepProgressChangedCallbackManager = std::make_unique<TCallbackManager<
349  [&](void* callbackContext) {
350  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE>(
351  [&](PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE*
352  firmwareUpdateStepProgressChangedCallbackHandle) {
353  return PEAK_C_ABI_PREFIX
355  m_backendHandle, FirmwareUpdateStepProgressChangedCallbackCWrapper, callbackContext,
356  firmwareUpdateStepProgressChangedCallbackHandle);
357  });
358  },
359  [&](PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE callbackHandle) {
360  CallAndCheckCInterfaceFunction([&] {
361  return PEAK_C_ABI_PREFIX
363  m_backendHandle, callbackHandle);
364  });
365  });
366  m_updateStepFinishedCallbackManager = std::make_unique<
367  TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE, UpdateStepFinishedCallback>>(
368  [&](void* callbackContext) {
369  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE>(
370  [&](PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE* firmwareUpdateStepFinishedCallbackHandle) {
371  return PEAK_C_ABI_PREFIX
373  FirmwareUpdateStepFinishedCallbackCWrapper, callbackContext,
374  firmwareUpdateStepFinishedCallbackHandle);
375  });
376  },
378  CallAndCheckCInterfaceFunction([&] {
380  m_backendHandle, callbackHandle);
381  });
382  });
383  m_updateFinishedCallbackManager = std::make_unique<
384  TCallbackManager<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE, UpdateFinishedCallback>>(
385  [&](void* callbackContext) {
386  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE>(
387  [&](PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE* firmwareUpdateFinishedCallbackHandle) {
389  m_backendHandle, FirmwareUpdateFinishedCallbackCWrapper, callbackContext,
390  firmwareUpdateFinishedCallbackHandle);
391  });
392  },
394  CallAndCheckCInterfaceFunction([&] {
396  m_backendHandle, callbackHandle);
397  });
398  });
399  m_updateFailedCallbackManager =
400  std::make_unique<TCallbackManager<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE, UpdateFailedCallback>>(
401  [&](void* callbackContext) {
402  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE>(
403  [&](PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE* firmwareUpdateFailedCallbackHandle) {
405  m_backendHandle, FirmwareUpdateFailedCallbackCWrapper, callbackContext,
406  firmwareUpdateFailedCallbackHandle);
407  });
408  },
409  [&](PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE callbackHandle) {
410  CallAndCheckCInterfaceFunction([&] {
412  m_backendHandle, callbackHandle);
413  });
414  });
415 }
416 
418 {
419  try
420  {
421  m_updateStartedCallbackManager->UnregisterAllCallbacks();
422  m_updateStepStartedCallbackManager->UnregisterAllCallbacks();
423  m_updateStepProgressChangedCallbackManager->UnregisterAllCallbacks();
424  m_updateStepFinishedCallbackManager->UnregisterAllCallbacks();
425  m_updateFinishedCallbackManager->UnregisterAllCallbacks();
426  m_updateFailedCallbackManager->UnregisterAllCallbacks();
427  }
428  catch (const Exception&)
429  {}
430 
432 }
433 
436 {
437  return reinterpret_cast<UpdateStartedCallbackHandle>(m_updateStartedCallbackManager->RegisterCallback(callback));
438 }
439 
442 {
443  m_updateStartedCallbackManager->UnregisterCallback(
444  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE>(callbackHandle));
445 }
446 
449 {
450  return reinterpret_cast<UpdateStepStartedCallbackHandle>(
451  m_updateStepStartedCallbackManager->RegisterCallback(callback));
452 }
453 
456 {
457  m_updateStepStartedCallbackManager->UnregisterCallback(
458  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE>(callbackHandle));
459 }
460 
464 {
465  return reinterpret_cast<UpdateStepProgressChangedCallbackHandle>(
466  m_updateStepProgressChangedCallbackManager->RegisterCallback(callback));
467 }
468 
471 {
472  m_updateStepProgressChangedCallbackManager->UnregisterCallback(
473  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE>(callbackHandle));
474 }
475 
478 {
479  return reinterpret_cast<UpdateStepFinishedCallbackHandle>(
480  m_updateStepFinishedCallbackManager->RegisterCallback(callback));
481 }
482 
485 {
486  m_updateStepFinishedCallbackManager->UnregisterCallback(
487  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE>(callbackHandle));
488 }
489 
492 {
493  return reinterpret_cast<UpdateFinishedCallbackHandle>(m_updateFinishedCallbackManager->RegisterCallback(callback));
494 }
495 
498 {
499  m_updateFinishedCallbackManager->UnregisterCallback(
500  reinterpret_cast<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE>(callbackHandle));
501 }
502 
505 {
506  return reinterpret_cast<UpdateFailedCallbackHandle>(m_updateFailedCallbackManager->RegisterCallback(callback));
507 }
508 
511 {
512  m_updateFailedCallbackManager->UnregisterCallback(
513  reinterpret_cast<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE>(callbackHandle));
514 }
515 
516 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStartedCallbackCWrapper(
517  PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE updateInformation, uint32_t estimatedDuration_ms, void* context)
518 {
519  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStartedCallback*>(context);
520 
521  callback->operator()(
522  std::make_shared<ClassCreator<FirmwareUpdateInformation>>(updateInformation), estimatedDuration_ms);
523 }
524 
525 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepStartedCallbackCWrapper(
526  PEAK_FIRMWARE_UPDATE_STEP updateStep, uint32_t estimatedDuration_ms, const char* description,
527  size_t descriptionSize, void* context)
528 {
529  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStepStartedCallback*>(context);
530 
531  callback->operator()(static_cast<FirmwareUpdateStep>(updateStep), estimatedDuration_ms,
532  std::string(description, descriptionSize - 1));
533 }
534 
535 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepProgressChangedCallbackCWrapper(
536  PEAK_FIRMWARE_UPDATE_STEP updateStep, double progressPercentage, void* context)
537 {
538  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStepProgressChangedCallback*>(context);
539 
540  callback->operator()(static_cast<FirmwareUpdateStep>(updateStep), progressPercentage);
541 }
542 
543 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepFinishedCallbackCWrapper(
544  PEAK_FIRMWARE_UPDATE_STEP updateStep, void* context)
545 {
546  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStepFinishedCallback*>(context);
547 
548  callback->operator()(static_cast<FirmwareUpdateStep>(updateStep));
549 }
550 
551 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateFinishedCallbackCWrapper(void* context)
552 {
553  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateFinishedCallback*>(context);
554 
555  callback->operator()();
556 }
557 
558 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateFailedCallbackCWrapper(
559  const char* errorDescription, size_t errorDescriptionSize, void* context)
560 {
561  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateFailedCallback*>(context);
562 
563  callback->operator()(std::string(errorDescription, errorDescriptionSize - 1));
564 }
565 
566 } /* namespace core */
567 } /* namespace peak */
UpdateStepProgressChangedCallback * UpdateStepProgressChangedCallbackHandle
Definition: peak_firmware_update_progress_observer.hpp:69
std::function< void(FirmwareUpdateStep updateStep, uint32_t estimatedDuration_ms, const std::string &description)> UpdateStepStartedCallback
Definition: peak_firmware_update_progress_observer.hpp:62
UpdateFinishedCallbackHandle RegisterUpdateFinishedCallback(UpdateFinishedCallback callback)
Registers a callback for signaling a finished update.
Definition: peak_firmware_update_progress_observer.hpp:491
~FirmwareUpdateProgressObserver()
Definition: peak_firmware_update_progress_observer.hpp:417
void UnregisterUpdateStepFinishedCallback(UpdateStepFinishedCallbackHandle callbackHandle)
Unregisters an update step finished callback.
Definition: peak_firmware_update_progress_observer.hpp:483
std::function< void(const std::shared_ptr< FirmwareUpdateInformation > &updateInformation, uint32_t estimatedDuration_ms)> UpdateStartedCallback
Definition: peak_firmware_update_progress_observer.hpp:57
std::function< void(void)> UpdateFinishedCallback
Definition: peak_firmware_update_progress_observer.hpp:75
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_RegisterUpdateStepProgressChangedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK callback, void *callbackContext, PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE *callbackHandle)
Registers a callback signaling a progress change within an update step at the given firmware update p...
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_RegisterUpdateFinishedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK callback, void *callbackContext, PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE *callbackHandle)
Registers a callback signaling a finished update at the given firmware update progress observer...
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition: peak_dynamic_loader.h:32
UpdateStartedCallback * UpdateStartedCallbackHandle
Definition: peak_firmware_update_progress_observer.hpp:59
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_UnregisterUpdateStartedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE callbackHandle)
Unregisters the update started callback with the given handle from the given firmware update progress...
std::string ToString(BufferPayloadType entry)
Definition: peak_buffer.hpp:472
void UnregisterUpdateFinishedCallback(UpdateFinishedCallbackHandle callbackHandle)
Unregisters an update finished callback.
Definition: peak_firmware_update_progress_observer.hpp:496
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_UnregisterUpdateStepProgressChangedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE callbackHandle)
Unregisters the update step progress changed callback with the given handle from the given firmware u...
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_Construct(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE *firmwareUpdateProgressObserverHandle)
Creates a firmware update progress observer.
UpdateStartedCallbackHandle RegisterUpdateStartedCallback(UpdateStartedCallback callback)
Registers a callback for signaling a started update.
Definition: peak_firmware_update_progress_observer.hpp:435
UpdateStepStartedCallbackHandle RegisterUpdateStepStartedCallback(UpdateStepStartedCallback callback)
Registers a callback for signaling a started update step.
Definition: peak_firmware_update_progress_observer.hpp:448
PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK * PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE
Definition: peak_backend.h:542
FirmwareUpdateProgressObserver()
Definition: peak_firmware_update_progress_observer.hpp:301
Allows to update the firmware of a device.
Definition: peak_firmware_updater.hpp:45
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_RegisterUpdateFailedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK callback, void *callbackContext, PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE *callbackHandle)
Registers a callback signaling a failed update at the given firmware update progress observer...
UpdateStepStartedCallback * UpdateStepStartedCallbackHandle
Definition: peak_firmware_update_progress_observer.hpp:64
void UnregisterUpdateFailedCallback(UpdateFailedCallbackHandle callbackHandle)
Unregisters an update failed callback.
Definition: peak_firmware_update_progress_observer.hpp:509
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_UnregisterUpdateStepFinishedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE callbackHandle)
Unregisters the update step finished callback with the given handle from the given firmware update pr...
std::function< void(FirmwareUpdateStep updateStep, double progressPercentage)> UpdateStepProgressChangedCallback
Definition: peak_firmware_update_progress_observer.hpp:67
struct PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER * PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE
Definition: peak_backend.h:477
void UnregisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallbackHandle callbackHandle)
Unregisters an update step progress changed callback.
Definition: peak_firmware_update_progress_observer.hpp:469
PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE
Definition: peak_backend.h:527
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_RegisterUpdateStartedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK callback, void *callbackContext, PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE *callbackHandle)
Registers a callback signaling a started update at the given firmware update progress observer...
UpdateStepFinishedCallback * UpdateStepFinishedCallbackHandle
Definition: peak_firmware_update_progress_observer.hpp:73
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_RegisterUpdateStepStartedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK callback, void *callbackContext, PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE *callbackHandle)
Registers a callback signaling a started update step at the given firmware update progress observer...
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_UnregisterUpdateFinishedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE callbackHandle)
Unregisters the update finished callback with the given handle from the given firmware update progres...
PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE
Definition: peak_backend.h:538
std::function< void(FirmwareUpdateStep updateStep)> UpdateStepFinishedCallback
Definition: peak_firmware_update_progress_observer.hpp:71
Allows to observe a firmware update process.
Definition: peak_firmware_update_progress_observer.hpp:52
The base class for all exceptions thrown by the library.
Definition: peak_exception.hpp:25
UpdateFailedCallback * UpdateFailedCallbackHandle
Definition: peak_firmware_update_progress_observer.hpp:81
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_Destruct(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle)
Destroys the given firmware update progress observer.
FirmwareUpdateStep
The possible firmware update step types.
Definition: peak_firmware_update_progress_observer.hpp:33
#define PEAK_CALL_CONV
Definition: peak_dynamic_loader.h:29
#define PEAK_C_ABI_PREFIX
Definition: peak_dll_defines.h:16
UpdateFailedCallbackHandle RegisterUpdateFailedCallback(UpdateFailedCallback callback)
Registers a callback for signaling a failed update.
Definition: peak_firmware_update_progress_observer.hpp:504
std::function< void(const std::string &errorDescription)> UpdateFailedCallback
Definition: peak_firmware_update_progress_observer.hpp:79
void UnregisterUpdateStepStartedCallback(UpdateStepStartedCallbackHandle callbackHandle)
Unregisters an update step started callback.
Definition: peak_firmware_update_progress_observer.hpp:454
int32_t PEAK_FIRMWARE_UPDATE_STEP
Definition: peak_backend.h:189
UpdateFinishedCallback * UpdateFinishedCallbackHandle
Definition: peak_firmware_update_progress_observer.hpp:77
void UnregisterUpdateStartedCallback(UpdateStartedCallbackHandle callbackHandle)
Unregisters an update started callback.
Definition: peak_firmware_update_progress_observer.hpp:440
struct PEAK_FIRMWARE_UPDATE_INFORMATION * PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE
Definition: peak_backend.h:473
PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK * PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE
Definition: peak_backend.h:522
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_UnregisterUpdateFailedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE callbackHandle)
Unregisters the update failed callback with the given handle from the given firmware update progress ...
UpdateStepProgressChangedCallbackHandle RegisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallback callback)
Registers a callback for signaling progress in an update step.
Definition: peak_firmware_update_progress_observer.hpp:462
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_RegisterUpdateStepFinishedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK callback, void *callbackContext, PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE *callbackHandle)
Registers a callback signaling a finished update step at the given firmware update progress observer...
PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE
Definition: peak_backend.h:533
UpdateStepFinishedCallbackHandle RegisterUpdateStepFinishedCallback(UpdateStepFinishedCallback callback)
Registers a callback for signaling a finished update step.
Definition: peak_firmware_update_progress_observer.hpp:477
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_UnregisterUpdateStepStartedCallback(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle, PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE callbackHandle)
Unregisters the update step started callback with the given handle from the given firmware update pro...
PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK * PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE
Definition: peak_backend.h:547