Commit adec5b13 authored by Yann Garcia's avatar Yann Garcia
Browse files

Bug fixed in ccsrc/Ports/LibIts_ports/UpperTesterPort.hh

parent 434c3025
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -195,8 +195,8 @@ namespace LibItsCps__EncdecDeclarations {
    return 0;
  }

  BITSTRING fx__enc__UtCpsInitialize(const LibItsCps__TypesAndValues::UtCpsInitialize &p_utCpsInitialize) {
    loggers::get_instance().log_msg(">>> fx__enc__UtCpsInitialize: ", p_utCpsInitialize);
  BITSTRING fx__enc__UtCpmInitialize(const LibItsCps__TypesAndValues::UtCpmInitialize &p_utCpsInitialize) {
    loggers::get_instance().log_msg(">>> fx__enc__UtCpmInitialize: ", p_utCpsInitialize);

    uppertester_cps_codec codec;
    OCTETSTRING           os;
@@ -205,21 +205,21 @@ namespace LibItsCps__EncdecDeclarations {
  }

  /****************************************************
   * @desc    External function to decode a UtCpsEventInd type
   * @desc    External function to decode a UtCpmEventInd type
   * @param   value to encode
   * @return  encoded value
   ****************************************************/
  INTEGER fx__dec__UtCpsEventInd(BITSTRING &b, LibItsCps__TypesAndValues::UtCpsEventInd &p) {
    loggers::get_instance().log(">>> fx__dec__UtCpsEventInd");
  INTEGER fx__dec__UtCpmEventInd(BITSTRING &b, LibItsCps__TypesAndValues::UtCpmEventInd &p) {
    loggers::get_instance().log(">>> fx__dec__UtCpmEventInd");

    uppertester_cps_codec      codec;
    OCTETSTRING                is  = bit2oct(b);
    std::unique_ptr<Base_Type> ptr = codec.decode(is);
    if (ptr == nullptr) {
      loggers::get_instance().warning("fx__dec__UtCpsEventInd: -1 result code was returned");
      loggers::get_instance().warning("fx__dec__UtCpmEventInd: -1 result code was returned");
      return -1;
    }
    p = static_cast<LibItsCps__TypesAndValues::UtCpsEventInd &>(*ptr);
    p = static_cast<LibItsCps__TypesAndValues::UtCpmEventInd &>(*ptr);
    return 0;
  }

+7 −7
Original line number Diff line number Diff line
@@ -195,8 +195,8 @@ namespace LibItsVru__EncdecDeclarations {
    return 0;
  }

  BITSTRING fx__enc__UtVruInitialize(const LibItsVru__TypesAndValues::UtVruInitialize &p_utVruInitialize) {
    loggers::get_instance().log_msg(">>> fx__enc__UtVruInitialize: ", p_utVruInitialize);
  BITSTRING fx__enc__UtVamInitialize(const LibItsVru__TypesAndValues::UtVamInitialize &p_utVruInitialize) {
    loggers::get_instance().log_msg(">>> fx__enc__UtVamInitialize: ", p_utVruInitialize);

    uppertester_vru_codec codec;
    OCTETSTRING           os;
@@ -205,21 +205,21 @@ namespace LibItsVru__EncdecDeclarations {
  }

  /****************************************************
   * @desc    External function to decode a UtVruEventInd type
   * @desc    External function to decode a UtVamEventInd type
   * @param   value to encode
   * @return  encoded value
   ****************************************************/
  INTEGER fx__dec__UtVruEventInd(BITSTRING &b, LibItsVru__TypesAndValues::UtVruEventInd &p) {
    loggers::get_instance().log(">>> fx__dec__UtVruEventInd");
  INTEGER fx__dec__UtVamEventInd(BITSTRING &b, LibItsVru__TypesAndValues::UtVamEventInd &p) {
    loggers::get_instance().log(">>> fx__dec__UtVamEventInd");

    uppertester_vru_codec      codec;
    OCTETSTRING                is  = bit2oct(b);
    std::unique_ptr<Base_Type> ptr = codec.decode(is);
    if (ptr == nullptr) {
      loggers::get_instance().warning("fx__dec__UtVruEventInd: -1 result code was returned");
      loggers::get_instance().warning("fx__dec__UtVamEventInd: -1 result code was returned");
      return -1;
    }
    p = static_cast<LibItsVru__TypesAndValues::UtVruEventInd &>(*ptr);
    p = static_cast<LibItsVru__TypesAndValues::UtVamEventInd &>(*ptr);
    return 0;
  }

+5 −5
Original line number Diff line number Diff line
@@ -62,7 +62,7 @@ namespace LibItsCps__TestSystem {

  void UpperTesterPort::user_stop() {}

  void UpperTesterPort::outgoing_send(const LibItsCps__TypesAndValues::UtCpsInitialize &send_par) {
  void UpperTesterPort::outgoing_send(const LibItsCps__TypesAndValues::UtCpmInitialize &send_par) {
    loggers::get_instance().log_msg(">>> UppertesterPort_Cps::outgoing_send: ", send_par);

    float duration;
@@ -78,10 +78,10 @@ namespace LibItsCps__TestSystem {
      return;
    }

    if (std::string(p_ind.get_descriptor()->name).compare("@LibItsCps_TypesAndValues.UtCpsResults") == 0) { // TODO To be refined
      incoming_message(static_cast<const LibItsCps__TypesAndValues::UtCpsResults &>(p_ind));
    } else if (std::string(p_ind.get_descriptor()->name).compare("@LibItsCps_TypesAndValues.UtCpsEventInd") == 0) {
      incoming_message(static_cast<const LibItsCps__TypesAndValues::UtCpsEventInd &>(p_ind));
    if (std::string(p_ind.get_descriptor()->name).compare("@LibItsCps_TypesAndValues.UtCpmResults") == 0) { // TODO To be refined
      incoming_message(static_cast<const LibItsCps__TypesAndValues::UtCpmResults &>(p_ind));
    } else if (std::string(p_ind.get_descriptor()->name).compare("@LibItsCps_TypesAndValues.UtCpmEventInd") == 0) {
      incoming_message(static_cast<const LibItsCps__TypesAndValues::UtCpmEventInd &>(p_ind));
    } else {
      loggers::get_instance().warning("UpperTesterPort_Cps::receive_msg: Message not processed: %s", p_ind.get_descriptor()->name);
    }
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ namespace LibItsCps__TestSystem {
    void user_start();
    void user_stop();

    void outgoing_send(const LibItsCps__TypesAndValues::UtCpsInitialize &send_par);
    void outgoing_send(const LibItsCps__TypesAndValues::UtCpmInitialize &send_par);
  };

} // namespace LibItsCps__TestSystem
+64 −0
Original line number Diff line number Diff line
@@ -15,6 +15,8 @@
#include "uppertester_mbr_codec.hh"
#include "uppertester_ivim_codec.hh"
#include "uppertester_mapem_spatem_codec.hh"
#include "uppertester_cps_codec.hh"
#include "uppertester_vru_codec.hh"

#include "LibItsCam_EncdecDeclarations.hh"
#include "LibItsDenm_EncdecDeclarations.hh"
@@ -22,6 +24,8 @@
#include "LibItsMapemSpatem_EncdecDeclarations.hh"
#include "LibItsRtcmem_EncdecDeclarations.hh"
#include "LibItsSremSsem_EncdecDeclarations.hh"
#include "LibItsCps_EncdecDeclarations.hh"
#include "LibItsVru_EncdecDeclarations.hh"

ConfigRsuSimulatorLayer::ConfigRsuSimulatorLayer(const std::string &p_type, const std::string &param)
  : t_layer<ItsRSUsSimulator__TestSystem::ConfigRsuSimulatorPort>(p_type), _params(), _codec(), _codec_cam() {
@@ -403,6 +407,66 @@ void ConfigRsuSimulatorLayer::sendMsg(const LibItsRtcmem__TypesAndValues::UtRtcm
  send_data(data, _params);
}

void ConfigRsuSimulatorLayer::sendMsg(const LibItsCps__TypesAndValues::UtCpmResults &send_par, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::sendMsg: ", send_par);

  TTCN_Buffer encoding_buffer;
  if (send_par.ischosen(LibItsCps__TypesAndValues::UtCpmResults::ALT_utCpmInitializeResult)) {
    encoding_buffer.put_c(static_cast<const unsigned char>(uppertester_cps_codec::c_utCpmInitializeResult));
    encoding_buffer.put_c((unsigned char)static_cast<const boolean>(send_par.utCpmInitializeResult()));
  } else {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::sendMsg: Unsupported UtCpmResults variant");
    return;
  }

  OCTETSTRING os(encoding_buffer.get_len(), encoding_buffer.get_data());
  send_data(os, params);
}

void ConfigRsuSimulatorLayer::sendMsg(const LibItsCps__TypesAndValues::UtCpmEventInd &send_par, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::sendMsg: ", send_par);

  TTCN_Buffer encoding_buffer;
  encoding_buffer.put_c(static_cast<const unsigned char>(uppertester_cps_codec::c_utCpmEventInd));
  BITSTRING   bs = LibItsCps__EncdecDeclarations::fx__enc__CPM(send_par.cpmMsg());
  OCTETSTRING os = bit2oct(bs);
  OCTETSTRING l  = int2oct(os.lengthof(), 2);
  encoding_buffer.put_s(l.lengthof(), static_cast<const unsigned char *>(l));
  encoding_buffer.put_s(os.lengthof(), static_cast<const unsigned char *>(os));
  OCTETSTRING data(encoding_buffer.get_len(), encoding_buffer.get_data());
  send_data(data, _params);
}

void ConfigRsuSimulatorLayer::sendMsg(const LibItsVru__TypesAndValues::UtVamResults &send_par, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::sendMsg: ", send_par);

  TTCN_Buffer encoding_buffer;
  if (send_par.ischosen(LibItsVru__TypesAndValues::UtVamResults::ALT_utVamInitializeResult)) {
    encoding_buffer.put_c(static_cast<const unsigned char>(uppertester_vru_codec::c_utVamInitializeResult));
    encoding_buffer.put_c((unsigned char)static_cast<const boolean>(send_par.utVamInitializeResult()));
  } else {
    loggers::get_instance().warning("ConfigRsuSimulatorLayer::sendMsg: Unsupported UtVamResults variant");
    return;
  }

  OCTETSTRING os(encoding_buffer.get_len(), encoding_buffer.get_data());
  send_data(os, params);
}

void ConfigRsuSimulatorLayer::sendMsg(const LibItsVru__TypesAndValues::UtVamEventInd &send_par, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::sendMsg: ", send_par);

  TTCN_Buffer encoding_buffer;
  encoding_buffer.put_c(static_cast<const unsigned char>(uppertester_vru_codec::c_utVamEventInd));
  BITSTRING   bs = LibItsVru__EncdecDeclarations::fx__enc__VAM(send_par.vamMsg());
  OCTETSTRING os = bit2oct(bs);
  OCTETSTRING l  = int2oct(os.lengthof(), 2);
  encoding_buffer.put_s(l.lengthof(), static_cast<const unsigned char *>(l));
  encoding_buffer.put_s(os.lengthof(), static_cast<const unsigned char *>(os));
  OCTETSTRING data(encoding_buffer.get_len(), encoding_buffer.get_data());
  send_data(data, _params);
}

void ConfigRsuSimulatorLayer::send_data(OCTETSTRING &data, params &params) {
  loggers::get_instance().log_msg(">>> ConfigRsuSimulatorLayer::send_data: ", data);

Loading