CVB++ 15.0
converter.hpp
1#pragma once
2
3#include "../_cexports/c_webstreaming.h"
4#include "webstreaming.hpp"
5
6#include "../global.hpp"
7
8namespace Cvb
9{
10
11CVB_BEGIN_INLINE_NS
12
13template <>
14inline HandleGuard<WebStreaming::Converter>::HandleGuard(void* handle) noexcept
15 : HandleGuard<WebStreaming::Converter>(handle, [](void* handle) { CVB_CALL_CAPI(ReleaseObject(handle)); })
16{
17}
18
19namespace WebStreaming
20{
21
29{
30 public:
31
32 using GuardType = HandleGuard<Converter>;
33
34 Converter(const Converter& other) = delete;
35 Converter& operator=(const Converter& other) = delete;
36 Converter(Converter&& other) = delete;
37 Converter& operator=(Converter&& other) = delete;
38 virtual ~Converter() = default;
39
45 void* Handle() const noexcept
46 {
47 return handle_.Handle();
48 }
49
50 protected:
51
52 explicit Converter(HandleGuard<Converter>&& guard) noexcept
53 : handle_(std::move(guard))
54 {
55 }
56
57 private:
58
59 HandleGuard<Converter> handle_;
60};
61
62}
63
64CVB_END_INLINE_NS
65
66}
A converter object.
Definition: converter.hpp:29
void * Handle() const noexcept
Returns C-API style handle to Converter Object.
Definition: converter.hpp:45
Root namespace for the Image Manager interface.
Definition: c_barcode.h:15