3#include "cancellation_token.hpp"
11 inline HandleGuard<CancellationTokenSource>::HandleGuard(
void *handle) noexcept
12 : HandleGuard<CancellationTokenSource>(handle, [](
void *handle) { CVB_CALL_CAPI(
ReleaseObject(handle)); })
29 CExports::CVCANCELLATIONTOKENSOURCE sourceHandle =
nullptr;
30 CExports::CVCANCELLATIONTOKEN tokenHandle =
nullptr;
31 CVB_CALL_CAPI_CHECKED(CVCCreateCancellationToken(sourceHandle, tokenHandle));
32 handle_ = HandleGuard<CancellationTokenSource>(sourceHandle);
34 CancellationToken::PrivateTag{});
46 return handle_.Handle();
67 CVB_CALL_CAPI_CHECKED(CVCCancellationTokenSourceCancel(
Handle()));
71 HandleGuard<CancellationTokenSource> handle_;
CancellationTokenPtr Token() const noexcept
Get a token for this source.
Definition cancellation_token_source.hpp:54
CancellationTokenSource()
Default constructor.
Definition cancellation_token_source.hpp:26
void Cancel()
Signals the tokens cancellation.
Definition cancellation_token_source.hpp:65
void * Handle() const noexcept
Classic API image handle.
Definition cancellation_token_source.hpp:44
cvbbool_t ReleaseObject(OBJ &Object)
Root namespace for the Image Manager interface.
Definition c_bayer_to_rgb.h:17
std::shared_ptr< CancellationToken > CancellationTokenPtr
Convenience shared pointer for CancellationToken.
Definition global.hpp:110