Newer
Older
#include "UpperTesterDenmLayer.hh"
#include "UpperTesterTypes.hh"
#include "loggers.hh"
UpperTesterDenmLayer::UpperTesterDenmLayer(const std::string & p_type, const std::string & param) : TLayer<LibItsDenm__TestSystem::UpperTesterPort>(p_type), _params(), _codec() {
loggers::get_instance().log(">>> UpperTesterDenmLayer::UpperTesterDenmLayer: %s, %s", to_string().c_str(), param.c_str());
// Setup parameters
Params::convert(_params, param);
}
void UpperTesterDenmLayer::sendMsg(const LibItsDenm__TypesAndValues::UtDenmInitialize& send_par, Params& params){
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::sendMsg", send_par);
// Encode UpperTester PDU
OCTETSTRING data;
_codec.encode((const Record_Type &)send_par, data);
// Update parameters
Params par(params); // FIXME Review all const Param& in method declarations
sendData(data, params);
}
void UpperTesterDenmLayer::sendMsg(const LibItsDenm__TypesAndValues::UtDenmChangePosition& send_par, Params& params)
{
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::sendMsg", send_par);
// Encode UpperTester PDU
OCTETSTRING data;
_codec.encode((const Record_Type &)send_par, data);
// Update parameters
Params par(params); // FIXME Review all const Param& in method declarations
sendData(data, params);
}
void UpperTesterDenmLayer::sendMsg(const LibItsDenm__TypesAndValues::UtDenmChangePseudonym& send_par, Params& params)
{
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::sendMsg", send_par);
// Encode UpperTester PDU
OCTETSTRING data;
_codec.encode((const Record_Type &)send_par, data);
// Update parameters
Params par(params); // FIXME Review all const Param& in method declarations
sendData(data, params);
}
/*void UpperTesterDenmLayer::sendMsg(const LibItsDenm__TypesAndValues::UtDenmTrigger& send_par, Params& params)
{
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::sendMsg", send_par);
// Encode UpperTester PDU
OCTETSTRING data;
_codec.encode((const Record_Type &)send_par, data);
// Update parameters
Params par(params); // FIXME Review all const Param& in method declarations
sendData(data, params);
}*/
/*void UpperTesterDenmLayer::sendMsg(const LibItsDenm__TypesAndValues::UtAutoInteropTrigger& send_par, Params& params)
{
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::sendMsg", send_par);
// Encode UpperTester PDU
OCTETSTRING data;
_codec.encode((const Record_Type &)send_par, data);
// Update parameters
Params par(params); // FIXME Review all const Param& in method declarations
sendData(data, params);
}*/
void UpperTesterDenmLayer::sendData(OCTETSTRING& data, Params& params) {
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::sendData: ", data);
//params.log();
sendToAllLayers(data, params);
}
void UpperTesterDenmLayer::receiveData(OCTETSTRING& data, Params& params)
{
loggers::get_instance().log_msg(">>> UpperTesterDenmLayer::receiveData: ", data);
std::unique_ptr<Base_Type> r = _codec.decode(data);
if (r.get() != nullptr) {
}
}
class UpperTesterDenmFactory : public LayerFactory {
static UpperTesterDenmFactory _f;
public:
UpperTesterDenmFactory();
virtual Layer * createLayer(const std::string & type, const std::string & param);
};
UpperTesterDenmFactory::UpperTesterDenmFactory(){
// Register factory
loggers::get_instance().log(">>> UpperTesterDenmFactory::UpperTesterDenmFactory");
LayerStackBuilder::RegisterLayerFactory("UT", this);
}
Layer * UpperTesterDenmFactory::createLayer(const std::string & p_type, const std::string & param){
return new UpperTesterDenmLayer(p_type, param);
}
UpperTesterDenmFactory UpperTesterDenmFactory::_f;