GeoNetworkingCodec.hh 883 Bytes
Newer Older
garciay's avatar
garciay committed
1
2
3
#ifndef GNCODEC_H
#define GNCODEC_H
#include "GeoNetworking_Types.hh"
4
#include "Codec.hh"
garciay's avatar
garciay committed
5
6

class GeoNetworkingCodec : public Codec<LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu> {
7
8
9

	unsigned int _plLength_position;

garciay's avatar
garciay committed
10
11
12
13
	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
14
public:
15
16
17
18
	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
19
20
21
};

#endif