16#include <peak/generic/peak_t_callback_manager.hpp>
59 const std::shared_ptr<FirmwareUpdateInformation>& updateInformation, uint32_t estimatedDuration_ms)>;
64 FirmwareUpdateStep updateStep, uint32_t estimatedDuration_ms,
const std::string& description)>;
241 uint32_t estimatedDuration_ms,
const char* description,
size_t descriptionSize,
void* context);
242 static void PEAK_CALL_CONV FirmwareUpdateStepProgressChangedCallbackCWrapper(
244 static void PEAK_CALL_CONV FirmwareUpdateStepFinishedCallbackCWrapper(
246 static void PEAK_CALL_CONV FirmwareUpdateFinishedCallbackCWrapper(
void* context);
248 const char* errorDescription,
size_t errorDescriptionSize,
void* context);
252 std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE, UpdateStartedCallback>>
253 m_updateStartedCallbackManager;
254 std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE, UpdateStepStartedCallback>>
255 m_updateStepStartedCallbackManager;
258 m_updateStepProgressChangedCallbackManager;
259 std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE, UpdateStepFinishedCallback>>
260 m_updateStepFinishedCallbackManager;
261 std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE, UpdateFinishedCallback>>
262 m_updateFinishedCallbackManager;
263 std::unique_ptr<TCallbackManager<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE, UpdateFailedCallback>>
264 m_updateFailedCallbackManager;
280 std::string entryString;
284 entryString =
"CheckPreconditions";
288 entryString =
"AcquireUpdateData";
292 entryString =
"WriteFeature";
296 entryString =
"ExecuteFeature";
300 entryString =
"AssertFeature";
304 entryString =
"UploadFile";
308 entryString =
"ResetDevice";
318 firmwareUpdateProgressObserverHandle);
320 , m_updateStartedCallbackManager()
321 , m_updateStepStartedCallbackManager()
322 , m_updateStepProgressChangedCallbackManager()
323 , m_updateStepFinishedCallbackManager()
324 , m_updateFinishedCallbackManager()
325 , m_updateFailedCallbackManager()
327 m_updateStartedCallbackManager = std::make_unique<
328 TCallbackManager<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE, UpdateStartedCallback>>(
329 [&](
void* callbackContext) {
330 return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE>(
333 m_backendHandle, FirmwareUpdateStartedCallbackCWrapper, callbackContext,
334 firmwareUpdateStartedCallbackHandle);
338 CallAndCheckCInterfaceFunction([&] {
340 m_backendHandle, callbackHandle);
343 m_updateStepStartedCallbackManager = std::make_unique<
344 TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE, UpdateStepStartedCallback>>(
345 [&](
void* callbackContext) {
346 return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE>(
350 FirmwareUpdateStepStartedCallbackCWrapper, callbackContext,
351 firmwareUpdateStepStartedCallbackHandle);
355 CallAndCheckCInterfaceFunction([&] {
357 m_backendHandle, callbackHandle);
360 m_updateStepProgressChangedCallbackManager = std::make_unique<TCallbackManager<
362 [&](
void* callbackContext) {
363 return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE>(
365 firmwareUpdateStepProgressChangedCallbackHandle) {
368 m_backendHandle, FirmwareUpdateStepProgressChangedCallbackCWrapper, callbackContext,
369 firmwareUpdateStepProgressChangedCallbackHandle);
373 CallAndCheckCInterfaceFunction([&] {
376 m_backendHandle, callbackHandle);
379 m_updateStepFinishedCallbackManager = std::make_unique<
380 TCallbackManager<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE, UpdateStepFinishedCallback>>(
381 [&](
void* callbackContext) {
382 return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE>(
386 FirmwareUpdateStepFinishedCallbackCWrapper, callbackContext,
387 firmwareUpdateStepFinishedCallbackHandle);
391 CallAndCheckCInterfaceFunction([&] {
393 m_backendHandle, callbackHandle);
396 m_updateFinishedCallbackManager = std::make_unique<
397 TCallbackManager<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE, UpdateFinishedCallback>>(
398 [&](
void* callbackContext) {
399 return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE>(
402 m_backendHandle, FirmwareUpdateFinishedCallbackCWrapper, callbackContext,
403 firmwareUpdateFinishedCallbackHandle);
407 CallAndCheckCInterfaceFunction([&] {
409 m_backendHandle, callbackHandle);
412 m_updateFailedCallbackManager =
413 std::make_unique<TCallbackManager<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE, UpdateFailedCallback>>(
414 [&](
void* callbackContext) {
415 return QueryNumericFromCInterfaceFunction<PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE>(
418 m_backendHandle, FirmwareUpdateFailedCallbackCWrapper, callbackContext,
419 firmwareUpdateFailedCallbackHandle);
423 CallAndCheckCInterfaceFunction([&] {
425 m_backendHandle, callbackHandle);
434 m_updateStartedCallbackManager->UnregisterAllCallbacks();
435 m_updateStepStartedCallbackManager->UnregisterAllCallbacks();
436 m_updateStepProgressChangedCallbackManager->UnregisterAllCallbacks();
437 m_updateStepFinishedCallbackManager->UnregisterAllCallbacks();
438 m_updateFinishedCallbackManager->UnregisterAllCallbacks();
439 m_updateFailedCallbackManager->UnregisterAllCallbacks();
456 m_updateStartedCallbackManager->UnregisterCallback(
464 m_updateStepStartedCallbackManager->RegisterCallback(callback));
470 m_updateStepStartedCallbackManager->UnregisterCallback(
479 m_updateStepProgressChangedCallbackManager->RegisterCallback(callback));
485 m_updateStepProgressChangedCallbackManager->UnregisterCallback(
493 m_updateStepFinishedCallbackManager->RegisterCallback(callback));
499 m_updateStepFinishedCallbackManager->UnregisterCallback(
512 m_updateFinishedCallbackManager->UnregisterCallback(
525 m_updateFailedCallbackManager->UnregisterCallback(
529inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStartedCallbackCWrapper(
534 callback->operator()(
535 std::make_shared<ClassCreator<FirmwareUpdateInformation>>(updateInformation), estimatedDuration_ms);
538inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepStartedCallbackCWrapper(
540 size_t descriptionSize,
void* context)
544 callback->operator()(
static_cast<FirmwareUpdateStep>(updateStep), estimatedDuration_ms,
545 std::string(description, descriptionSize - 1));
548inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepProgressChangedCallbackCWrapper(
553 callback->operator()(
static_cast<FirmwareUpdateStep>(updateStep), progressPercentage);
556inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateStepFinishedCallbackCWrapper(
564inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateFinishedCallbackCWrapper(
void* context)
568 callback->operator()();
571inline void PEAK_CALL_CONV FirmwareUpdateProgressObserver::FirmwareUpdateFailedCallbackCWrapper(
572 const char* errorDescription,
size_t errorDescriptionSize,
void* context)
576 callback->operator()(std::string(errorDescription, errorDescriptionSize - 1));
The base class for all exceptions thrown by the library.
Definition peak_exception.hpp:28
~FirmwareUpdateProgressObserver()
Definition peak_firmware_update_progress_observer.hpp:430
UpdateStepFinishedCallbackHandle RegisterUpdateStepFinishedCallback(UpdateStepFinishedCallback callback)
Registers a callback for signaling a finished update step.
Definition peak_firmware_update_progress_observer.hpp:490
void UnregisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallbackHandle callbackHandle)
Unregisters an update step progress changed callback.
Definition peak_firmware_update_progress_observer.hpp:482
FirmwareUpdateProgressObserver(const FirmwareUpdateProgressObserver &other)=delete
UpdateFailedCallbackHandle RegisterUpdateFailedCallback(UpdateFailedCallback callback)
Registers a callback for signaling a failed update.
Definition peak_firmware_update_progress_observer.hpp:517
UpdateStepStartedCallbackHandle RegisterUpdateStepStartedCallback(UpdateStepStartedCallback callback)
Registers a callback for signaling a started update step.
Definition peak_firmware_update_progress_observer.hpp:461
FirmwareUpdateProgressObserver(FirmwareUpdateProgressObserver &&other)=delete
UpdateStepProgressChangedCallbackHandle RegisterUpdateStepProgressChangedCallback(UpdateStepProgressChangedCallback callback)
Registers a callback for signaling progress in an update step.
Definition peak_firmware_update_progress_observer.hpp:475
UpdateStepFinishedCallback * UpdateStepFinishedCallbackHandle
Definition peak_firmware_update_progress_observer.hpp:75
std::function< void(void)> UpdateFinishedCallback
Definition peak_firmware_update_progress_observer.hpp:77
void UnregisterUpdateFailedCallback(UpdateFailedCallbackHandle callbackHandle)
Unregisters an update failed callback.
Definition peak_firmware_update_progress_observer.hpp:522
void UnregisterUpdateStepStartedCallback(UpdateStepStartedCallbackHandle callbackHandle)
Unregisters an update step started callback.
Definition peak_firmware_update_progress_observer.hpp:467
UpdateFinishedCallbackHandle RegisterUpdateFinishedCallback(UpdateFinishedCallback callback)
Registers a callback for signaling a finished update.
Definition peak_firmware_update_progress_observer.hpp:504
std::function< void(FirmwareUpdateStep updateStep)> UpdateStepFinishedCallback
Definition peak_firmware_update_progress_observer.hpp:73
UpdateStartedCallback * UpdateStartedCallbackHandle
Definition peak_firmware_update_progress_observer.hpp:61
FirmwareUpdateProgressObserver & operator=(FirmwareUpdateProgressObserver &&other)=delete
UpdateStepProgressChangedCallback * UpdateStepProgressChangedCallbackHandle
Definition peak_firmware_update_progress_observer.hpp:71
UpdateStartedCallbackHandle RegisterUpdateStartedCallback(UpdateStartedCallback callback)
Registers a callback for signaling a started update.
Definition peak_firmware_update_progress_observer.hpp:448
void UnregisterUpdateFinishedCallback(UpdateFinishedCallbackHandle callbackHandle)
Unregisters an update finished callback.
Definition peak_firmware_update_progress_observer.hpp:509
std::function< void(FirmwareUpdateStep updateStep, double progressPercentage)> UpdateStepProgressChangedCallback
Definition peak_firmware_update_progress_observer.hpp:68
UpdateFailedCallback * UpdateFailedCallbackHandle
Definition peak_firmware_update_progress_observer.hpp:83
std::function< void( const std::shared_ptr< FirmwareUpdateInformation > &updateInformation, uint32_t estimatedDuration_ms)> UpdateStartedCallback
Definition peak_firmware_update_progress_observer.hpp:58
FirmwareUpdateProgressObserver & operator=(const FirmwareUpdateProgressObserver &other)=delete
UpdateFinishedCallback * UpdateFinishedCallbackHandle
Definition peak_firmware_update_progress_observer.hpp:79
FirmwareUpdateProgressObserver()
Definition peak_firmware_update_progress_observer.hpp:314
friend class FirmwareUpdater
Definition peak_firmware_update_progress_observer.hpp:266
std::function< void(const std::string &errorDescription)> UpdateFailedCallback
Definition peak_firmware_update_progress_observer.hpp:81
void UnregisterUpdateStartedCallback(UpdateStartedCallbackHandle callbackHandle)
Unregisters an update started callback.
Definition peak_firmware_update_progress_observer.hpp:453
UpdateStepStartedCallback * UpdateStepStartedCallbackHandle
Definition peak_firmware_update_progress_observer.hpp:66
void UnregisterUpdateStepFinishedCallback(UpdateStepFinishedCallbackHandle callbackHandle)
Unregisters an update step finished callback.
Definition peak_firmware_update_progress_observer.hpp:496
std::function< void( FirmwareUpdateStep updateStep, uint32_t estimatedDuration_ms, const std::string &description)> UpdateStepStartedCallback
Definition peak_firmware_update_progress_observer.hpp:63
FirmwareUpdateStep
The possible firmware update step types.
Definition peak_firmware_update_progress_observer.hpp:35
@ WriteFeature
Definition peak_firmware_update_progress_observer.hpp:38
@ AcquireUpdateData
Definition peak_firmware_update_progress_observer.hpp:37
@ ResetDevice
Definition peak_firmware_update_progress_observer.hpp:42
@ ExecuteFeature
Definition peak_firmware_update_progress_observer.hpp:39
@ CheckPreconditions
Definition peak_firmware_update_progress_observer.hpp:36
@ AssertFeature
Definition peak_firmware_update_progress_observer.hpp:40
@ UploadFile
Definition peak_firmware_update_progress_observer.hpp:41
The "core" namespace contains the direct GenAPI and GenTL wrapper.
Definition peak_buffer.hpp:34
std::string ToString(BufferPayloadType entry)
Definition peak_buffer.hpp:612
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_dynamic_loader.h:35
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.
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_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...
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_STARTED_CALLBACK * PEAK_FIRMWARE_UPDATE_STARTED_CALLBACK_HANDLE
Definition peak_backend.h:596
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.
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.
PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK * PEAK_FIRMWARE_UPDATE_FINISHED_CALLBACK_HANDLE
Definition peak_backend.h:616
struct PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER * PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE
Definition peak_backend.h:501
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_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_PROGRESS_CHANGED_CALLBACK_HANDLE
Definition peak_backend.h:607
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_Destruct(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE firmwareUpdateProgressObserverHandle)
Destroys the given firmware update progress observer.
struct PEAK_FIRMWARE_UPDATE_INFORMATION * PEAK_FIRMWARE_UPDATE_INFORMATION_HANDLE
Definition peak_backend.h:497
PEAK_C_API PEAK_FirmwareUpdateProgressObserver_Construct(PEAK_FIRMWARE_UPDATE_PROGRESS_OBSERVER_HANDLE *firmwareUpdateProgressObserverHandle)
Creates a firmware update progress observer.
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...
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_FIRMWARE_UPDATE_FAILED_CALLBACK * PEAK_FIRMWARE_UPDATE_FAILED_CALLBACK_HANDLE
Definition peak_backend.h:621
int32_t PEAK_FIRMWARE_UPDATE_STEP
Definition peak_backend.h:206
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 ...
PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_STARTED_CALLBACK_HANDLE
Definition peak_backend.h:601
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_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_STEP_FINISHED_CALLBACK * PEAK_FIRMWARE_UPDATE_STEP_FINISHED_CALLBACK_HANDLE
Definition peak_backend.h:612
#define PEAK_C_ABI_PREFIX
Definition peak_dll_defines.h:16
#define PEAK_CALL_CONV
Definition peak_dynamic_loader.h:30