#ifndef BTP_LAYER_H
#define BTP_LAYER_H
#include "Layer.hh"
#include "BTPCodec.hh"

namespace LibItsBtp__TypesAndValues {
	class BtpPacket;
}

namespace LibItsBtp__TestSystem {
	class BtpPort;
}

class BTPLayer : public TLayer<LibItsBtp__TestSystem::BtpPort> {
    BTPCodec _codec;
  public:
  BTPLayer(const std::string& p_type) : TLayer<LibItsBtp__TestSystem::BtpPort>(p_type) {};
  virtual ~BTPLayer() {};

    void sendMsg(LibItsBtp__TypesAndValues::BtpPacket&, Params& param);
    
    virtual void sendData(OCTETSTRING& data, Params& params);
    virtual void receiveData(OCTETSTRING& data, Params& info);
};

#endif
