Vanetza
Loading...
Searching...
No Matches
decap_service.cpp
1#include <vanetza/security/decap_service.hpp>
2#include <boost/variant/static_visitor.hpp>
3
4namespace vanetza
5{
6namespace security
7{
8
9bool is_successful(const DecapReport& report)
10{
11 return report == VerificationReport::Success;
12}
13
14bool operator==(const DecapReport& decap, VerificationReport verification)
15{
16 struct Visitor : public boost::static_visitor<bool>
17 {
18 Visitor(VerificationReport report) : expected(report) {}
19
20 bool operator()(VerificationReport report) const
21 {
22 return report == expected;
23 }
24
25 bool operator()(boost::blank) const
26 {
27 return false;
28 }
29
30 VerificationReport expected;
31 };
32
33 return boost::apply_visitor(Visitor(verification), decap);
34}
35
36bool operator==(VerificationReport verification, const DecapReport& decap)
37{
38 return (decap == verification);
39}
40
42{
43 DecapConfirm decap;
44 decap.plaintext_payload = get_payload_copy(msg_view);
45 decap.report = verify.report;
46 decap.certificate_validity = verify.certificate_validity;
47 decap.its_aid = verify.its_aid;
48 decap.permissions = verify.permissions;
49 return decap;
50}
51
52} // namespace security
53} // namespace vanetza
static DecapConfirm from(VerifyConfirm &&verify_confirm, const SecuredMessageView &msg_view)