#pragma once

#include "sip_codec_request.hh"

class Base_Type;
class TTCN_Typedescriptor_t;
class TTCN_Buffer;

namespace LibSip__SIPTypesAndValues {
  class INVITE__Request;
}

class sip_codec_invite_request: public codec_gen <
LibSip__SIPTypesAndValues::INVITE__Request,
LibSip__SIPTypesAndValues::INVITE__Request>
{
  sip_codec_request _codec;
public:
  explicit sip_codec_invite_request() : codec_gen<LibSip__SIPTypesAndValues::INVITE__Request, LibSip__SIPTypesAndValues::INVITE__Request>(), _codec() { };
  virtual ~sip_codec_invite_request() { };

  virtual int encode (const LibSip__SIPTypesAndValues::INVITE__Request& msg, OCTETSTRING& data);
  virtual int decode (const OCTETSTRING& data, LibSip__SIPTypesAndValues::INVITE__Request& msg, params* p_params = NULL);
}; // End of class sip_codec_invite_request
