BTPLayer.cc 1.01 KB
Newer Older
#include "BTPLayer.hh"
#include "BTPTypes.hh"
filatov's avatar
filatov committed

garciay's avatar
garciay committed
void BTPLayer::sendMsg(LibItsBtp__TypesAndValues::BtpPacket& p, Params& params){
filatov's avatar
filatov committed
  OCTETSTRING data;
  _codec.encode(p, data);
  sendData(data, params);
garciay's avatar
garciay committed
void BTPLayer::sendData(OCTETSTRING& data, Params& params){
filatov's avatar
filatov committed
  sendToAllLayers(data, params);
}
garciay's avatar
garciay committed
void BTPLayer::receiveData(OCTETSTRING& data, Params& info)
filatov's avatar
filatov committed
{
  LibItsBtp__TypesAndValues::BtpPacket p;
  _codec.decode(data, p);

  toAllUpperPorts(p, info);

garciay's avatar
garciay committed
  /*if(p.payload().is_present()) {
    toAllUpperLayers(p.payload().rawPayload(), info);
    }*/
filatov's avatar
filatov committed
}

class BTPFactory : public LayerFactory {
  static BTPFactory _f;
public:
  BTPFactory();
  virtual Layer * createLayer(const std::string &  type, const std::string &  param);
};

BTPFactory::BTPFactory(){
filatov's avatar
filatov committed
  // register factory
	LayerStackBuilder::RegisterLayerFactory("BTP", this);
garciay's avatar
garciay committed
Layer * BTPFactory::createLayer(const std::string & p_type, const std::string & param){
  return new BTPLayer(p_type);
filatov's avatar
filatov committed
}

BTPFactory BTPFactory::_f;