Enrollment
28.2.0
Theme:
Default
Robot
Toggle main menu visibility
Loading...
Searching...
No Matches
Base64Strategy.h
Go to the documentation of this file.
1
9
10
#pragma once
11
12
#include "enrollment/Export.h"
13
#include "
enrollment/Serialization/Writer.h
"
14
#include <memory>
15
16
namespace
inno
17
{
18
extern
"C"
19
{
20
struct
inno_Base64StrategyImpl;
21
22
// Functions suitable for DLL interface
23
INNO_ENROLLMENT_API
void
inno_Base64Strategy_ToBase64(inno_Base64StrategyImpl* impl,
24
const
uint8_t* array,
25
size_t
size,
26
const
char
** outData);
27
INNO_ENROLLMENT_API inno_Base64StrategyImpl* inno_Base64Strategy_Construct();
28
INNO_ENROLLMENT_API
void
inno_Base64Strategy_Destruct(inno_Base64StrategyImpl* impl);
29
}
30
36
*/
37
class
Base64Strategy final :
public
BytesWriterStrategy
38
{
39
public
:
40
void
WriteBytes
(
Writer
& writer,
const
char
* name,
const
std::vector<uint8_t>& value)
final
41
{
42
const
char
* outData =
nullptr
;
43
inno_Base64Strategy_ToBase64(impl.get(), value.data(), value.size(), &outData);
44
writer.Write(name, outData);
45
}
46
47
Base64Strategy
()
48
: impl(inno_Base64Strategy_Construct(), inno_Base64Strategy_Destruct)
49
{
50
}
51
Base64Strategy(
const
Base64Strategy&) =
delete
;
52
Base64Strategy(Base64Strategy&&) =
delete
;
53
Base64Strategy& operator=(
const
Base64Strategy&) =
delete
;
54
Base64Strategy& operator=(Base64Strategy&&) =
delete
;
55
virtual
~Base64Strategy() =
default
;
56
57
private
:
58
std::unique_ptr<inno_Base64StrategyImpl, void (*)(inno_Base64StrategyImpl*)> impl;
59
};
60
}
// namespace inno
Writer.h
Base64Strategy
It writes bytes represented as std::vector<uint8_t> as base64 coded string.
Definition
Base64Strategy.h:37
Base64Strategy::WriteBytes
void WriteBytes(Writer &writer, const char *name, const std::vector< uint8_t > &value) final
It writes bytes in given writer.
Definition
Base64Strategy.h:39
Writer
Provides interface for serialization of all classes.
Definition
Writer.h:164
Serialization
Base64Strategy.h
Generated by
1.17.0