Loading ccsrc/Protocols/UpperTester/UpperTesterIvimCodec.cc +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ #include "UpperTesterTypes.hh" #include "CAMCodec.hh" #include "IVIMCodec.hh" template <typename T_type> class OPTIONAL; class TTCN_EncDec; Loading ccsrc/Protocols/UpperTester/UpperTesterIvimCodec.hh +3 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,9 @@ class UpperTesterIvimCodec: public Codec < const unsigned char c_utIvimInitializeResult = 0x01; const unsigned char c_utIvimTrigger = 0xA4; const unsigned char c_utIvimTriggerResult = 0xA5; const unsigned char c_utIvimEventInd = 0xA6; const unsigned char c_utIvimTerminate = 0xA8; const unsigned char c_utIvimTerminateResult = 0xA9; const unsigned char c_utIvimEventInd = 0xAA; int encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer); Loading ccsrc/Protocols/UpperTester/UpperTesterIvimFactory.hh 0 → 100644 +28 −0 Original line number Diff line number Diff line /*! * \file UpperTesterIvimFactory.hh * \brief Header file for ITS IVIM Upper Tester protocol layer factory. * \author ETSI STF525 * \copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. * \version 0.1 */ #pragma once #include "LayerStackBuilder.hh" #include "UpperTesterIvimLayer.hh" class UpperTesterIvimFactory : public LayerFactory { static UpperTesterIvimFactory _f; public: UpperTesterIvimFactory() { // Register factory loggers::get_instance().log(">>> UpperTesterIvimFactory::UpperTesterIvimFactory"); LayerStackBuilder::RegisterLayerFactory("UT_IVIM", this); }; inline virtual Layer * createLayer(const std::string& p_type, const std::string& p_param){ return new UpperTesterIvimLayer(p_type, p_param); }; }; // End of class UpperTesterIvimFactory ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.cc 0 → 100644 +62 −0 Original line number Diff line number Diff line #include "UpperTesterIvimFactory.hh" #include "UpperTesterTypes.hh" #include "loggers.hh" UpperTesterIvimLayer::UpperTesterIvimLayer(const std::string & p_type, const std::string & param) : TLayer<LibItsIvim__TestSystem::UpperTesterPort>(p_type), _params(), _codec() { loggers::get_instance().log(">>> UpperTesterIvimLayer::UpperTesterIvimLayer: %s, %s", to_string().c_str(), param.c_str()); // Setup parameters Params::convert(_params, param); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimInitialize& send_par, Params& params){ loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode((const Record_Type &)send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode((const Record_Type &)send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode(send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendData(OCTETSTRING& data, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendData: ", data); //params.log(); sendToAllLayers(data, params); } void UpperTesterIvimLayer::receiveData(OCTETSTRING& data, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::receiveData: ", data); std::unique_ptr<Base_Type> r = _codec.decode(data); if (r.get() != nullptr) { // Pass it to the ports if amy toAllUpperPorts(*r, params); } } UpperTesterIvimFactory UpperTesterIvimFactory::_f; ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.hh 0 → 100644 +34 −0 Original line number Diff line number Diff line #ifndef UpperTesterIvim_LAYER_H #define UpperTesterIvim_LAYER_H #include "TLayer.hh" #include "UpperTesterIvimCodec.hh" namespace LibItsIvim__TestSystem { class UpperTesterPort; } namespace LibItsIvim__TypesAndValues { class UtIvimInitialize; class UtIvimChangePosition; class UtIvimTrigger; } class UpperTesterIvimLayer : public TLayer<LibItsIvim__TestSystem::UpperTesterPort> { Params _params; UpperTesterIvimCodec _codec; public: UpperTesterIvimLayer() : TLayer<LibItsIvim__TestSystem::UpperTesterPort>(), _params(), _codec() {}; UpperTesterIvimLayer(const std::string & p_type, const std::string & param); virtual ~UpperTesterIvimLayer() {}; void sendMsg(const LibItsIvim__TypesAndValues::UtIvimInitialize& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params); virtual void sendData(OCTETSTRING& data, Params& params); virtual void receiveData(OCTETSTRING& data, Params& info); }; #endif Loading
ccsrc/Protocols/UpperTester/UpperTesterIvimCodec.cc +1 −1 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ #include "UpperTesterTypes.hh" #include "CAMCodec.hh" #include "IVIMCodec.hh" template <typename T_type> class OPTIONAL; class TTCN_EncDec; Loading
ccsrc/Protocols/UpperTester/UpperTesterIvimCodec.hh +3 −1 Original line number Diff line number Diff line Loading @@ -24,7 +24,9 @@ class UpperTesterIvimCodec: public Codec < const unsigned char c_utIvimInitializeResult = 0x01; const unsigned char c_utIvimTrigger = 0xA4; const unsigned char c_utIvimTriggerResult = 0xA5; const unsigned char c_utIvimEventInd = 0xA6; const unsigned char c_utIvimTerminate = 0xA8; const unsigned char c_utIvimTerminateResult = 0xA9; const unsigned char c_utIvimEventInd = 0xAA; int encode_ (const Base_Type& type, const TTCN_Typedescriptor_t& field_descriptor, TTCN_Buffer& encoding_buffer); Loading
ccsrc/Protocols/UpperTester/UpperTesterIvimFactory.hh 0 → 100644 +28 −0 Original line number Diff line number Diff line /*! * \file UpperTesterIvimFactory.hh * \brief Header file for ITS IVIM Upper Tester protocol layer factory. * \author ETSI STF525 * \copyright ETSI Copyright Notification * No part may be reproduced except as authorized by written permission. * The copyright and the foregoing restriction extend to reproduction in all media. * All rights reserved. * \version 0.1 */ #pragma once #include "LayerStackBuilder.hh" #include "UpperTesterIvimLayer.hh" class UpperTesterIvimFactory : public LayerFactory { static UpperTesterIvimFactory _f; public: UpperTesterIvimFactory() { // Register factory loggers::get_instance().log(">>> UpperTesterIvimFactory::UpperTesterIvimFactory"); LayerStackBuilder::RegisterLayerFactory("UT_IVIM", this); }; inline virtual Layer * createLayer(const std::string& p_type, const std::string& p_param){ return new UpperTesterIvimLayer(p_type, p_param); }; }; // End of class UpperTesterIvimFactory
ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.cc 0 → 100644 +62 −0 Original line number Diff line number Diff line #include "UpperTesterIvimFactory.hh" #include "UpperTesterTypes.hh" #include "loggers.hh" UpperTesterIvimLayer::UpperTesterIvimLayer(const std::string & p_type, const std::string & param) : TLayer<LibItsIvim__TestSystem::UpperTesterPort>(p_type), _params(), _codec() { loggers::get_instance().log(">>> UpperTesterIvimLayer::UpperTesterIvimLayer: %s, %s", to_string().c_str(), param.c_str()); // Setup parameters Params::convert(_params, param); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimInitialize& send_par, Params& params){ loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode((const Record_Type &)send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode((const Record_Type &)send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendMsg", send_par); // Encode UpperTester PDU OCTETSTRING data; _codec.encode(send_par, data); // Update parameters sendData(data, params); } void UpperTesterIvimLayer::sendData(OCTETSTRING& data, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::sendData: ", data); //params.log(); sendToAllLayers(data, params); } void UpperTesterIvimLayer::receiveData(OCTETSTRING& data, Params& params) { loggers::get_instance().log_msg(">>> UpperTesterIvimLayer::receiveData: ", data); std::unique_ptr<Base_Type> r = _codec.decode(data); if (r.get() != nullptr) { // Pass it to the ports if amy toAllUpperPorts(*r, params); } } UpperTesterIvimFactory UpperTesterIvimFactory::_f;
ccsrc/Protocols/UpperTester/UpperTesterIvimLayer.hh 0 → 100644 +34 −0 Original line number Diff line number Diff line #ifndef UpperTesterIvim_LAYER_H #define UpperTesterIvim_LAYER_H #include "TLayer.hh" #include "UpperTesterIvimCodec.hh" namespace LibItsIvim__TestSystem { class UpperTesterPort; } namespace LibItsIvim__TypesAndValues { class UtIvimInitialize; class UtIvimChangePosition; class UtIvimTrigger; } class UpperTesterIvimLayer : public TLayer<LibItsIvim__TestSystem::UpperTesterPort> { Params _params; UpperTesterIvimCodec _codec; public: UpperTesterIvimLayer() : TLayer<LibItsIvim__TestSystem::UpperTesterPort>(), _params(), _codec() {}; UpperTesterIvimLayer(const std::string & p_type, const std::string & param); virtual ~UpperTesterIvimLayer() {}; void sendMsg(const LibItsIvim__TypesAndValues::UtIvimInitialize& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimChangePosition& send_par, Params& params); void sendMsg(const LibItsIvim__TypesAndValues::UtIvimTrigger& send_par, Params& params); virtual void sendData(OCTETSTRING& data, Params& params); virtual void receiveData(OCTETSTRING& data, Params& info); }; #endif