CAMCodec.hh 1.14 KB
Newer Older
filatov's avatar
filatov committed
#ifndef CAMCODEC_H
#define CAMCODEC_H
garciay's avatar
garciay committed

filatov's avatar
filatov committed
#include "Codec.hh"
garciay's avatar
garciay committed
#include "loggers.hh" // TODO To be removed
#include "Params.hh"
filatov's avatar
filatov committed

#include "LibItsCam_TestSystem.hh"
garciay's avatar
garciay committed
//class BITSTRING;
//class OCTETSTRING;
//class CAM__PDU__Descriptions::CAM;
filatov's avatar
filatov committed

class CAMPDUCodec : public PERCodec <CAM__PDU__Descriptions::CAM>
{
public:
garciay's avatar
garciay committed
  CAMPDUCodec() { loggers::get_instance().log("CAMPDUCodec::CAMPDUCodec(D)"); };
  virtual int encode (const CAM__PDU__Descriptions::CAM& cam, BITSTRING& data);
  virtual int decode (const BITSTRING& data, CAM__PDU__Descriptions::CAM&);
filatov's avatar
filatov committed
};

garciay's avatar
garciay committed
class CAMCodec : public Codec<CAM__PDU__Descriptions::CAM, CAM__PDU__Descriptions::CAM>
filatov's avatar
filatov committed
{
garciay's avatar
garciay committed
  CAMPDUCodec asnCodec;
  Params* _params;

filatov's avatar
filatov committed
public:
garciay's avatar
garciay committed
  CAMCodec() : Codec<CAM__PDU__Descriptions::CAM, CAM__PDU__Descriptions::CAM>(), asnCodec(), _params(NULL) { loggers::get_instance().log("CAMCodec::CAMCodec(D)"); };
  virtual ~CAMCodec() { loggers::get_instance().log("CAMCodec::~CAMCodec"); };

  virtual int encode (const CAM__PDU__Descriptions::CAM& cam, OCTETSTRING& data);
  virtual int decode (const OCTETSTRING& data, CAM__PDU__Descriptions::CAM&, Params* params = NULL);
filatov's avatar
filatov committed
};

#endif