#pragma once

#include "codec.hh"

class BITSTRING;   //! Forward declaration of TITAN class
class OCTETSTRING; //! Forward declaration of TITAN class

namespace NGAP__PDU__Descriptions { //! Forward declaration of asn1c NGAP class
  class NGAP__PDU;
}

class ngap_codec {

public:
  explicit ngap_codec(){};
  virtual ~ngap_codec(){};

  virtual int encode(const NGAP__PDU__Descriptions::NGAP__PDU& ngap, OCTETSTRING &data);
  virtual int decode(const OCTETSTRING &data, NGAP__PDU__Descriptions::NGAP__PDU &ngap, params_ngap *params = NULL);
};
