1#ifndef INDICATION_CONTEXT_HPP_UWOD2BSQ
2#define INDICATION_CONTEXT_HPP_UWOD2BSQ
4#include <vanetza/geonet/data_indication.hpp>
5#include <vanetza/geonet/link_layer.hpp>
6#include <vanetza/geonet/packet.hpp>
7#include <vanetza/geonet/parser.hpp>
8#include <vanetza/geonet/pdu.hpp>
9#include <vanetza/geonet/variant_pdu.hpp>
10#include <vanetza/security/secured_message.hpp>
11#include <boost/optional/optional.hpp>
25 using UpPacketPtr = std::unique_ptr<UpPacket>;
26 using SecuredMessage = security::SecuredMessage;
32 virtual const SecuredMessage* parse_secured() = 0;
33 virtual boost::optional<HeaderConstRefVariant> parse_extended(HeaderType) = 0;
38 virtual const LinkLayer& link_layer()
const = 0;
59 const LinkLayer& link_layer()
const override {
return m_link_layer; }
60 DataIndication& service_primitive()
override {
return m_service_primitive; }
62 const VariantPdu& pdu()
const override {
return m_pdu; }
76 const SecuredMessage* parse_secured()
override;
77 boost::optional<HeaderConstRefVariant> parse_extended(HeaderType)
override;
78 UpPacketPtr
finish()
override;
92 const SecuredMessage* parse_secured()
override;
93 boost::optional<HeaderConstRefVariant> parse_extended(HeaderType)
override;
94 UpPacketPtr
finish()
override;
109 const LinkLayer& link_layer()
const override {
return m_parent.link_layer(); }
110 DataIndication& service_primitive()
override {
return m_parent.service_primitive(); }
111 VariantPdu& pdu()
override {
return m_parent.pdu(); }
112 const VariantPdu& pdu()
const override {
return m_parent.pdu(); }
113 const BasicHeader* parse_basic()
override {
return nullptr; }
114 const SecuredMessage* parse_secured()
override {
return nullptr; }
125 boost::optional<HeaderConstRefVariant> parse_extended(HeaderType)
override;
126 UpPacketPtr
finish()
override;
138 boost::optional<HeaderConstRefVariant> parse_extended(HeaderType)
override;
139 UpPacketPtr
finish()
override;
142 UpPacketPtr m_packet;
ChunckPacket is a packet consisting of several memory chunks.
UpPacketPtr finish() override
UpPacketPtr finish() override
UpPacketPtr finish() override
UpPacketPtr finish() override
virtual UpPacketPtr finish()=0