IDS peak genericC++  v1.7.1
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);
100 
112  void UnregisterUpdateStartedCallback(UpdateStartedCallbackHandle callbackHandle);
113 
123  UpdateStepStartedCallbackHandle RegisterUpdateStepStartedCallback(UpdateStepStartedCallback callback);
124 
136  void UnregisterUpdateStepStartedCallback(UpdateStepStartedCallbackHandle callbackHandle);
137 
147  UpdateStepProgressChangedCallbackHandle RegisterUpdateStepProgressChangedCallback(
149 
161  void UnregisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallbackHandle callbackHandle);
162 
172  UpdateStepFinishedCallbackHandle RegisterUpdateStepFinishedCallback(UpdateStepFinishedCallback callback);
173 
185  void UnregisterUpdateStepFinishedCallback(UpdateStepFinishedCallbackHandle callbackHandle);
186 
196  UpdateFinishedCallbackHandle RegisterUpdateFinishedCallback(UpdateFinishedCallback callback);
197 
209  void UnregisterUpdateFinishedCallback(UpdateFinishedCallbackHandle callbackHandle);
210 
220  UpdateFailedCallbackHandle RegisterUpdateFailedCallback(UpdateFailedCallback callback);
221 
233  void UnregisterUpdateFailedCallback(UpdateFailedCallbackHandle callbackHandle);
234 
235 private:
236  static void PEAK_CALL_CONV FirmwareUpdateStartedCallbackCWrapper(
237  PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE updateInformation, uint32_t estimatedDuration_ms, void* context);
238  static void PEAK_CALL_CONV FirmwareUpdateStepStartedCallbackCWrapper(PEAK_FIRMWARE_UPDATE_STEP updateStep,
239  uint32_t estimatedDuration_ms, const char* description, size_t descriptionSize, void* context);
240  static void PEAK_CALL_CONV FirmwareUpdateStepProgressChangedCallbackCWrapper(
241  PEAK_FIRMWARE_UPDATE_STEP updateStep, double progressPercentage, void* context);
242  static void PEAK_CALL_CONV FirmwareUpdateStepFinishedCallbackCWrapper(
243  PEAK_FIRMWARE_UPDATE_STEP updateStep, void* context);
244  static void PEAK_CALL_CONV FirmwareUpdateFinishedCallbackCWrapper(void* context);
245  static void PEAK_CALL_CONV FirmwareUpdateFailedCallbackCWrapper(
246  const char* errorDescription, size_t errorDescriptionSize, void* context);
247 
249 
250  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE, UpdateStartedCallback>>
251  m_updateStartedCallbackManager;
252  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE, UpdateStepStartedCallback>>
253  m_updateStepStartedCallbackManager;
254  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE,
256  m_updateStepProgressChangedCallbackManager;
257  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE, UpdateStepFinishedCallback>>
258  m_updateStepFinishedCallbackManager;
259  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE, UpdateFinishedCallback>>
260  m_updateFinishedCallbackManager;
261  std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE, UpdateFailedCallback>>
262  m_updateFailedCallbackManager;
263 
264  friend class FirmwareUpdater;
265 };
266 
267 } /* namespace core */
268 } /* namespace peak */
269 
270 /* Implementation */
271 namespace peak
272 {
273 namespace core
274 {
275 
276 inline std::string ToString(FirmwareUpdateStep entry)
277 {
278  std::string entryString;
279 
281  {
282  entryString = "CheckPreconditions";
283  }
284  else if (entry == FirmwareUpdateStep::AcquireUpdateData)
285  {
286  entryString = "AcquireUpdateData";
287  }
288  else if (entry == FirmwareUpdateStep::WriteFeature)
289  {
290  entryString = "WriteFeature";
291  }
292  else if (entry == FirmwareUpdateStep::ExecuteFeature)
293  {
294  entryString = "ExecuteFeature";
295  }
296  else if (entry == FirmwareUpdateStep::AssertFeature)
297  {
298  entryString = "AssertFeature";
299  }
300  else if (entry == FirmwareUpdateStep::UploadFile)
301  {
302  entryString = "UploadFile";
303  }
304  else if (entry == FirmwareUpdateStep::ResetDevice)
305  {
306  entryString = "ResetDevice";
307  }
308 
309  return entryString;
310 }
311 
313  : m_backendHandle(QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE>(
314  [](PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE* firmwareUpdateProgressObserverHandle) {
316  firmwareUpdateProgressObserverHandle);
317  }))
318  , m_updateStartedCallbackManager()
319  , m_updateStepStartedCallbackManager()
320  , m_updateStepProgressChangedCallbackManager()
321  , m_updateStepFinishedCallbackManager()
322  , m_updateFinishedCallbackManager()
323  , m_updateFailedCallbackManager()
324 {
325  m_updateStartedCallbackManager = std::make_unique<
326  TCallbackManager<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE, UpdateStartedCallback>>(
327  [&](void* callbackContext) {
328  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE>(
329  [&](PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE* firmwareUpdateStartedCallbackHandle) {
331  m_backendHandle, FirmwareUpdateStartedCallbackCWrapper, callbackContext,
332  firmwareUpdateStartedCallbackHandle);
333  });
334  },
336  CallAndCheckCInterfaceFunction([&] {
338  m_backendHandle, callbackHandle);
339  });
340  });
341  m_updateStepStartedCallbackManager = std::make_unique<
342  TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE, UpdateStepStartedCallback>>(
343  [&](void* callbackContext) {
344  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE>(
345  [&](PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE* firmwareUpdateStepStartedCallbackHandle) {
346  return PEAK_C_ABI_PREFIX
348  FirmwareUpdateStepStartedCallbackCWrapper, callbackContext,
349  firmwareUpdateStepStartedCallbackHandle);
350  });
351  },
353  CallAndCheckCInterfaceFunction([&] {
355  m_backendHandle, callbackHandle);
356  });
357  });
358  m_updateStepProgressChangedCallbackManager = std::make_unique<TCallbackManager<
360  [&](void* callbackContext) {
361  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE>(
362  [&](PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE*
363  firmwareUpdateStepProgressChangedCallbackHandle) {
364  return PEAK_C_ABI_PREFIX
366  m_backendHandle, FirmwareUpdateStepProgressChangedCallbackCWrapper, callbackContext,
367  firmwareUpdateStepProgressChangedCallbackHandle);
368  });
369  },
370  [&](PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE callbackHandle) {
371  CallAndCheckCInterfaceFunction([&] {
372  return PEAK_C_ABI_PREFIX
374  m_backendHandle, callbackHandle);
375  });
376  });
377  m_updateStepFinishedCallbackManager = std::make_unique<
378  TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE, UpdateStepFinishedCallback>>(
379  [&](void* callbackContext) {
380  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE>(
381  [&](PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE* firmwareUpdateStepFinishedCallbackHandle) {
382  return PEAK_C_ABI_PREFIX
384  FirmwareUpdateStepFinishedCallbackCWrapper, callbackContext,
385  firmwareUpdateStepFinishedCallbackHandle);
386  });
387  },
389  CallAndCheckCInterfaceFunction([&] {
391  m_backendHandle, callbackHandle);
392  });
393  });
394  m_updateFinishedCallbackManager = std::make_unique<
395  TCallbackManager<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE, UpdateFinishedCallback>>(
396  [&](void* callbackContext) {
397  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE>(
398  [&](PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE* firmwareUpdateFinishedCallbackHandle) {
400  m_backendHandle, FirmwareUpdateFinishedCallbackCWrapper, callbackContext,
401  firmwareUpdateFinishedCallbackHandle);
402  });
403  },
405  CallAndCheckCInterfaceFunction([&] {
407  m_backendHandle, callbackHandle);
408  });
409  });
410  m_updateFailedCallbackManager =
411  std::make_unique<TCallbackManager<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE, UpdateFailedCallback>>(
412  [&](void* callbackContext) {
413  return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE>(
414  [&](PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE* firmwareUpdateFailedCallbackHandle) {
416  m_backendHandle, FirmwareUpdateFailedCallbackCWrapper, callbackContext,
417  firmwareUpdateFailedCallbackHandle);
418  });
419  },
420  [&](PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE callbackHandle) {
421  CallAndCheckCInterfaceFunction([&] {
423  m_backendHandle, callbackHandle);
424  });
425  });
426 }
427 
429 {
430  try
431  {
432  m_updateStartedCallbackManager->UnregisterAllCallbacks();
433  m_updateStepStartedCallbackManager->UnregisterAllCallbacks();
434  m_updateStepProgressChangedCallbackManager->UnregisterAllCallbacks();
435  m_updateStepFinishedCallbackManager->UnregisterAllCallbacks();
436  m_updateFinishedCallbackManager->UnregisterAllCallbacks();
437  m_updateFailedCallbackManager->UnregisterAllCallbacks();
438  }
439  catch (const Exception&)
440  {}
441 
443 }
444 
447 {
448  return reinterpret_cast<UpdateStartedCallbackHandle>(m_updateStartedCallbackManager->RegisterCallback(callback));
449 }
450 
453 {
454  m_updateStartedCallbackManager->UnregisterCallback(
455  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE>(callbackHandle));
456 }
457 
460 {
461  return reinterpret_cast<UpdateStepStartedCallbackHandle>(
462  m_updateStepStartedCallbackManager->RegisterCallback(callback));
463 }
464 
467 {
468  m_updateStepStartedCallbackManager->UnregisterCallback(
469  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE>(callbackHandle));
470 }
471 
475 {
476  return reinterpret_cast<UpdateStepProgressChangedCallbackHandle>(
477  m_updateStepProgressChangedCallbackManager->RegisterCallback(callback));
478 }
479 
482 {
483  m_updateStepProgressChangedCallbackManager->UnregisterCallback(
484  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE>(callbackHandle));
485 }
486 
489 {
490  return reinterpret_cast<UpdateStepFinishedCallbackHandle>(
491  m_updateStepFinishedCallbackManager->RegisterCallback(callback));
492 }
493 
496 {
497  m_updateStepFinishedCallbackManager->UnregisterCallback(
498  reinterpret_cast<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE>(callbackHandle));
499 }
500 
503 {
504  return reinterpret_cast<UpdateFinishedCallbackHandle>(m_updateFinishedCallbackManager->RegisterCallback(callback));
505 }
506 
509 {
510  m_updateFinishedCallbackManager->UnregisterCallback(
511  reinterpret_cast<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE>(callbackHandle));
512 }
513 
516 {
517  return reinterpret_cast<UpdateFailedCallbackHandle>(m_updateFailedCallbackManager->RegisterCallback(callback));
518 }
519 
522 {
523  m_updateFailedCallbackManager->UnregisterCallback(
524  reinterpret_cast<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE>(callbackHandle));
525 }
526 
527 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStartedCallbackCWrapper(
528  PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE updateInformation, uint32_t estimatedDuration_ms, void* context)
529 {
530  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStartedCallback*>(context);
531 
532  callback->operator()(
533  std::make_shared<ClassCreator<FirmwareUpdateInformation>>(updateInformation), estimatedDuration_ms);
534 }
535 
536 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepStartedCallbackCWrapper(
537  PEAK_FIRMWARE_UPDATE_STEP updateStep, uint32_t estimatedDuration_ms, const char* description,
538  size_t descriptionSize, void* context)
539 {
540  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStepStartedCallback*>(context);
541 
542  callback->operator()(static_cast<FirmwareUpdateStep>(updateStep), estimatedDuration_ms,
543  std::string(description, descriptionSize - 1));
544 }
545 
546 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepProgressChangedCallbackCWrapper(
547  PEAK_FIRMWARE_UPDATE_STEP updateStep, double progressPercentage, void* context)
548 {
549  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStepProgressChangedCallback*>(context);
550 
551  callback->operator()(static_cast<FirmwareUpdateStep>(updateStep), progressPercentage);
552 }
553 
554 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepFinishedCallbackCWrapper(
555  PEAK_FIRMWARE_UPDATE_STEP updateStep, void* context)
556 {
557  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateStepFinishedCallback*>(context);
558 
559  callback->operator()(static_cast<FirmwareUpdateStep>(updateStep));
560 }
561 
562 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateFinishedCallbackCWrapper(void* context)
563 {
564  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateFinishedCallback*>(context);
565 
566  callback->operator()();
567 }
568 
569 inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateFailedCallbackCWrapper(
570  const char* errorDescription, size_t errorDescriptionSize, void* context)
571 {
572  auto callback = static_cast<FirmwareUpdateProgressObserver::UpdateFailedCallback*>(context);
573 
574  callback->operator()(std::string(errorDescription, errorDescriptionSize - 1));
575 }
576 
577 } /* namespace core */
578 } /* 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:502
~FirmwareUpdateProgressObserver()
Definition: peak_firmware_update_progress_observer.hpp:428
void UnregisterUpdateStepFinishedCallback(UpdateStepFinishedCallbackHandle callbackHandle)
Unregisters an update step finished callback.
Definition: peak_firmware_update_progress_observer.hpp:494
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:505
void UnregisterUpdateFinishedCallback(UpdateFinishedCallbackHandle callbackHandle)
Unregisters an update finished callback.
Definition: peak_firmware_update_progress_observer.hpp:507
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:446
UpdateStepStartedCallbackHandle RegisterUpdateStepStartedCallback(UpdateStepStartedCallback callback)
Registers a callback for signaling a started update step.
Definition: peak_firmware_update_progress_observer.hpp:459
PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK * PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE
Definition: peak_backend.h:594
FirmwareUpdateProgressObserver()
Definition: peak_firmware_update_progress_observer.hpp:312
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:520
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:479
void UnregisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallbackHandle callbackHandle)
Unregisters an update step progress changed callback.
Definition: peak_firmware_update_progress_observer.hpp:480
PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE
Definition: peak_backend.h:579
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:590
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:515
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:465
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:451
struct PEAK_FIRMWARE_UPDATE_INFORMATION * PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE
Definition: peak_backend.h:475
PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK * PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE
Definition: peak_backend.h:574
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:473
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:585
UpdateStepFinishedCallbackHandle RegisterUpdateStepFinishedCallback(UpdateStepFinishedCallback callback)
Registers a callback for signaling a finished update step.
Definition: peak_firmware_update_progress_observer.hpp:488
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:599