GeoNetworkingCodec.hh 1.01 KB
Newer Older
garciay's avatar
garciay committed
1
2
#ifndef GNCODEC_H
#define GNCODEC_H
3
#include "Codec.hh"
garciay's avatar
garciay committed
4

filatov's avatar
filatov committed
5
6
namespace LibItsGeoNetworking__TypesAndValues {
	class GeoNetworkingPdu;
7
8
	class ExtendedHeader;
	class DecodedPayload;
filatov's avatar
filatov committed
9
10
11
}

class GeoNetworkingCodec : public Codec<LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu> {
12
13
14

	unsigned int _plLength_position;

garciay's avatar
garciay committed
15
16
17
18
	int encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer);
	int encode_extendedHeader(const LibItsGeoNetworking__TypesAndValues::ExtendedHeader& u, TTCN_Buffer& encoding_buffer);
	int encode_decodedPayload(const LibItsGeoNetworking__TypesAndValues::DecodedPayload& u, TTCN_Buffer& encoding_buffer);

garciay's avatar
garciay committed
19
public:
20
21
22
23
	GeoNetworkingCodec() : _plLength_position(0) {};

    virtual int encode (const LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu&, OCTETSTRING& data);
    virtual int decode (const OCTETSTRING& data, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu&);
garciay's avatar
garciay committed
24
25
26
};

#endif