Enrollment
28.2.0
Theme:
Default
Robot
Toggle main menu visibility
Loading...
Searching...
No Matches
ExtractedPrintEmbedding.h
Go to the documentation of this file.
1
9
10
#pragma once
11
12
#include "enrollment/Export.h"
13
#include "
enrollment/Print/EmbeddingTemplate.h
"
14
#include "
enrollment/Print/Print.h
"
15
#include "
enrollment/Print/PrintExecutor.h
"
16
#include "
enrollment/Serialization/Writer.h
"
17
#include <mutex>
18
19
// cppcoreguidelines-non-private-member-variables-in-classes,misc-non-private-member-variables-in-classes: This is not a
20
// problem because we are using them only as read only.
21
// cppcoreguidelines-avoid-const-or-ref-data-members: We design te API with const member variables instead of
22
// implementing getter methods. This is nicely transformed in C# to properties. Usually our objects are immutable by
23
// intention to have no problem in multithreaded applications.
24
// NOLINTBEGIN(cppcoreguidelines-non-private-member-variables-in-classes,misc-non-private-member-variables-in-classes,cppcoreguidelines-avoid-const-or-ref-data-members)
25
namespace
inno
26
{
30
*/
31
class
ExtractedPrintEmbedding
final :
public
EmbeddingTemplate
32
{
33
public
:
35
const
std::shared_ptr<Print>
print
;
36
44
*/
45
ExtractedPrintEmbedding
(
const
std::vector<uint8_t>& serializedTmpl, std::shared_ptr<Print> fp)
46
:
EmbeddingTemplate
(serializedTmpl, GetSafePrintPosition(fp))
47
,
print
(std::move(fp))
48
{
49
}
50
59
*/
60
ExtractedPrintEmbedding
(
const
std::vector<uint8_t>& tmpl,
61
std::shared_ptr<Print> fp,
62
std::shared_ptr<PrintExecutor> executor)
63
:
EmbeddingTemplate
(tmpl, GetSafePrintPosition(fp), std::move(executor))
64
,
print
(std::move(fp))
65
{
66
}
67
75
*/
76
ExtractedPrintEmbedding
(std::vector<uint8_t>&& tmpl, std::shared_ptr<Print> fp)
77
:
EmbeddingTemplate
(std::move(tmpl), GetSafePrintPosition(fp))
78
,
print
(std::move(fp))
79
{
80
}
81
90
*/
91
ExtractedPrintEmbedding
(std::vector<uint8_t>&& tmpl,
92
std::shared_ptr<Print> fp,
93
std::shared_ptr<PrintExecutor> executor)
94
:
EmbeddingTemplate
(std::move(tmpl), GetSafePrintPosition(fp), std::move(executor))
95
,
print
(std::move(fp))
96
{
97
}
98
99
void
WriteTo
(
Writer
& w)
const
final
100
{
101
w.Write(
"p"
,
print
);
102
EmbeddingTemplate::WriteTo
(w);
103
}
104
105
ExtractedPrintEmbedding
(
const
ExtractedPrintEmbedding
&) =
delete
;
106
ExtractedPrintEmbedding
(
ExtractedPrintEmbedding
&&) =
delete
;
107
ExtractedPrintEmbedding
& operator=(
const
ExtractedPrintEmbedding
&) =
delete
;
108
ExtractedPrintEmbedding
& operator=(
ExtractedPrintEmbedding
&&) =
delete
;
109
ExtractedPrintEmbedding
() =
delete
;
110
virtual
~ExtractedPrintEmbedding
() =
default
;
111
112
private
:
113
static
PrintPosition
GetSafePrintPosition(
const
std::shared_ptr<Print>& p)
114
{
115
if
(p ==
nullptr
)
116
{
117
throw
EnrollmentRuntimeException
(
"Print cannot be null in ExtractedPrint"
);
118
}
119
120
return
p->position;
121
}
122
};
123
}
// namespace inno
124
// NOLINTEND(cppcoreguidelines-non-private-member-variables-in-classes,misc-non-private-member-variables-in-classes,cppcoreguidelines-avoid-const-or-ref-data-members)
EmbeddingTemplate.h
PrintExecutor.h
Print.h
Writer.h
EmbeddingTemplate::EmbeddingTemplate
EmbeddingTemplate(std::vector< uint8_t > &&d)
Create EmbeddingTemplate object.
Definition
EmbeddingTemplate.h:103
EmbeddingTemplate::WriteTo
void WriteTo(Writer &w) const override
Write itself into writer.
Definition
EmbeddingTemplate.h:265
EnrollmentRuntimeException
Base exception for all enrollment-sdk runtime exceptions.
Definition
EnrollmentException.h:84
ExtractedPrintEmbedding
Print template in proprietary embedding format used for biometric operations with Print that was extr...
Definition
ExtractedPrintEmbedding.h:31
ExtractedPrintEmbedding::ExtractedPrintEmbedding
ExtractedPrintEmbedding(const std::vector< uint8_t > &tmpl, std::shared_ptr< Print > fp, std::shared_ptr< PrintExecutor > executor)
Create ExtractedPrintEmbedding object .
Definition
ExtractedPrintEmbedding.h:59
ExtractedPrintEmbedding::ExtractedPrintEmbedding
ExtractedPrintEmbedding(std::vector< uint8_t > &&tmpl, std::shared_ptr< Print > fp, std::shared_ptr< PrintExecutor > executor)
Create ExtractedPrintEmbedding object .
Definition
ExtractedPrintEmbedding.h:90
ExtractedPrintEmbedding::ExtractedPrintEmbedding
ExtractedPrintEmbedding(std::vector< uint8_t > &&tmpl, std::shared_ptr< Print > fp)
Create ExtractedPrintEmbedding object .
Definition
ExtractedPrintEmbedding.h:75
ExtractedPrintEmbedding::ExtractedPrintEmbedding
ExtractedPrintEmbedding(const std::vector< uint8_t > &serializedTmpl, std::shared_ptr< Print > fp)
Create ExtractedPrintEmbedding object .
Definition
ExtractedPrintEmbedding.h:44
ExtractedPrintEmbedding::WriteTo
void WriteTo(Writer &w) const final
Write itself into writer.
Definition
ExtractedPrintEmbedding.h:98
ExtractedPrintEmbedding::print
const std::shared_ptr< Print > print
Print that was extracted.
Definition
ExtractedPrintEmbedding.h:34
Writer
Provides interface for serialization of all classes.
Definition
Writer.h:164
PrintPosition
PrintPosition
It is position of finger on hands.
Definition
PrintPosition.h:29
Print
ExtractedPrintEmbedding.h
Generated by
1.17.0