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

Finalyze AtsPIM

parent 5b65fb9a
Loading
Loading
Loading
Loading
+28 −28
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ namespace LibItsPim__EncdecDeclarations {
    }

    pim_codec                   codec;
    MIM__PDU__Descriptions::MIM pim;
    PIM__PDU__Descriptions::ParkingInformationMessage pim;
    OCTETSTRING                 is = bit2oct(b);

    if (codec.decode(is, pim) == -1) {
@@ -60,8 +60,8 @@ namespace LibItsPim__EncdecDeclarations {
      return -1;
    }

    codec                       codec;
    PIM__PDU__Descriptions::PIM pim;
    pim_codec                   codec;
    PIM__PDU__Descriptions::ParkingInformationMessage pim;
    OCTETSTRING                 is = bit2oct(b);

    // Calculate the size of the lower layers information
@@ -79,7 +79,7 @@ namespace LibItsPim__EncdecDeclarations {
    p_pimInd.msgIn() = pim;
    // Decode lower layer data
    TTCN_Buffer decoding_buffer(OCTETSTRING(s, static_cast<const uint8_t *>(is) + is.lengthof() - s));
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // gnNextHeader
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_gnNextHeader_raw_.fieldlength / 8)) {
      p_pimInd.gnNextHeader().set_to_omit();
@@ -88,8 +88,8 @@ namespace LibItsPim__EncdecDeclarations {
      os.decode(LibItsPim__TypesAndValues::PimInd_gnNextHeader_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.gnNextHeader() = oct2int(os);
    }
    loggers::get_instance().log_msg("fx__dec_MIM: gnNextHeader=", p_pimInd.gnNextHeader());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: gnNextHeader=", p_pimInd.gnNextHeader());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // gnHeaderType
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_gnHeaderType_raw_.fieldlength / 8)) {
      p_pimInd.gnHeaderType().set_to_omit();
@@ -98,8 +98,8 @@ namespace LibItsPim__EncdecDeclarations {
      os.decode(LibItsPim__TypesAndValues::PimInd_gnHeaderType_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.gnHeaderType() = oct2int(os);
    }
    loggers::get_instance().log_msg("fx__dec_MIM: gnHeaderType=", p_pimInd.gnHeaderType());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: gnHeaderType=", p_pimInd.gnHeaderType());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // gnHeaderSubtype
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_gnHeaderSubtype_raw_.fieldlength / 8)) {
      p_pimInd.gnHeaderSubtype().set_to_omit();
@@ -108,8 +108,8 @@ namespace LibItsPim__EncdecDeclarations {
      os.decode(LibItsPim__TypesAndValues::PimInd_gnHeaderSubtype_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.gnHeaderSubtype() = oct2int(os);
    }
    loggers::get_instance().log_msg("fx__dec_MIM: gnHeaderSubtype=", p_pimInd.gnHeaderSubtype());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: gnHeaderSubtype=", p_pimInd.gnHeaderSubtype());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // gnLifetime
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_gnLifetime_raw_.fieldlength / 8)) {
      p_pimInd.gnLifetime().set_to_omit();
@@ -118,8 +118,8 @@ namespace LibItsPim__EncdecDeclarations {
      i.decode(LibItsPim__TypesAndValues::PimInd_gnLifetime_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.gnLifetime() = i;
    }
    loggers::get_instance().log_msg("fx__dec_MIM: gnLifetime=", p_pimInd.gnLifetime());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: gnLifetime=", p_pimInd.gnLifetime());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // gnTrafficClass
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_gnTrafficClass_raw_.fieldlength / 8)) {
      p_pimInd.gnTrafficClass().set_to_omit();
@@ -128,8 +128,8 @@ namespace LibItsPim__EncdecDeclarations {
      os.decode(LibItsPim__TypesAndValues::PimInd_gnTrafficClass_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.gnTrafficClass() = oct2int(os);
    }
    loggers::get_instance().log_msg("fx__dec_MIM: gnTrafficClass=", p_pimInd.gnTrafficClass());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: gnTrafficClass=", p_pimInd.gnTrafficClass());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // btpDestinationPort
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_btpDestinationPort_raw_.fieldlength / 8)) {
      p_pimInd.btpDestinationPort().set_to_omit();
@@ -138,8 +138,8 @@ namespace LibItsPim__EncdecDeclarations {
      i.decode(LibItsPim__TypesAndValues::PimInd_btpDestinationPort_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.btpDestinationPort() = i;
    }
    loggers::get_instance().log_msg("fx__dec_MIM: btpDestinationPort=", p_pimInd.btpDestinationPort());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: btpDestinationPort=", p_pimInd.btpDestinationPort());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // btpInfo
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_btpInfo_raw_.fieldlength / 8)) {
      p_pimInd.btpInfo().set_to_omit();
@@ -148,8 +148,8 @@ namespace LibItsPim__EncdecDeclarations {
      i.decode(LibItsPim__TypesAndValues::PimInd_btpInfo_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.btpInfo() = i;
    }
    loggers::get_instance().log_msg("fx__dec_MIM: btpInfo=", p_pimInd.btpInfo());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: btpInfo=", p_pimInd.btpInfo());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // ssp
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_ssp_raw_.fieldlength / 8)) {
      p_pimInd.ssp().set_to_omit();
@@ -158,8 +158,8 @@ namespace LibItsPim__EncdecDeclarations {
      bs.decode(LibItsPim__TypesAndValues::PimInd_ssp_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.ssp() = bs;
    }
    loggers::get_instance().log_msg("fx__dec_MIM: ssp=", p_pimInd.ssp());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: ssp=", p_pimInd.ssp());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);
    // its__aid
    if (decoding_buffer.get_read_len() < static_cast<size_t>(LibItsPim__TypesAndValues::PimInd_its__aid_raw_.fieldlength / 8)) {
      p_pimInd.its__aid().set_to_omit();
@@ -168,14 +168,14 @@ namespace LibItsPim__EncdecDeclarations {
      i.decode(LibItsPim__TypesAndValues::PimInd_its__aid_descr_, decoding_buffer, TTCN_EncDec::CT_RAW);
      p_pimInd.its__aid() = i;
    }
    loggers::get_instance().log_msg("fx__dec_MIM: its_aid=", p_pimInd.its__aid());
    loggers::get_instance().log_to_hexa("fx__dec_MIM: ", decoding_buffer);
    loggers::get_instance().log_msg("fx__dec_PIM: its_aid=", p_pimInd.its__aid());
    loggers::get_instance().log_to_hexa("fx__dec_PIM: ", decoding_buffer);

    return 0;
  }

  BITSTRING fx__enc__MIM(const MIM__PDU__Descriptions::MIM &p_cam) {
    loggers::get_instance().log_msg(">>> fx__enc__MIM: ", p_cam);
  BITSTRING fx__enc__PIM(const PIM__PDU__Descriptions::ParkingInformationMessage &p_cam) {
    loggers::get_instance().log_msg(">>> fx__enc__PIM: ", p_cam);

    pim_codec   codec;
    OCTETSTRING os;
@@ -183,13 +183,13 @@ namespace LibItsPim__EncdecDeclarations {
    return oct2bit(os);
  }

  INTEGER fx__dec__MIM(BITSTRING &b, MIM__PDU__Descriptions::MIM &p) {
    loggers::get_instance().log(">>> fx__dec__MIM");
    codec       codec;
  INTEGER fx__dec__PIM(BITSTRING &b, PIM__PDU__Descriptions::ParkingInformationMessage &p) {
    loggers::get_instance().log(">>> fx__dec__PIM");
    pim_codec   codec;
    OCTETSTRING is = bit2oct(b);

    if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const uint8_t *>(is)), p) == -1) {
      loggers::get_instance().warning("fx__dec__MIM: -1 result code was returned");
      loggers::get_instance().warning("fx__dec__PIM: -1 result code was returned");
      return -1;
    }

+6 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@
#ifdef LibItsAvm__TestSystem_HH
#include "AVM_ports/AdapterControlPort_AVM.hh"
#endif
#ifdef LibItsPim__TestSystem_HH
#include "PIM_ports/AdapterControlPort_PIM.hh"
#endif
//#ifdef LibItsPki__TestSystem_HH
//#include "Pki_ports/AdapterControlPort_Pki.hh"
//#endif
@@ -73,6 +76,9 @@
#ifdef LibItsAvm__TestSystem_HH
#include "AdapterControlPort_AVM.hh"
#endif
#ifdef LibItsPim__TestSystem_HH
#include "AdapterControlPort_PIM.hh"
#endif
/*
#include "AdapterControlPort_Evcsn.partH"
#include "AdapterControlPort_IVIM.partH"
+1 −1
Original line number Diff line number Diff line
sources := AdapterControlPort_PIM.cc AvmPort.cc UpperTesterPort_PIM.cc 
sources := AdapterControlPort_PIM.cc PimPort.cc UpperTesterPort_PIM.cc 
includes := .
+1 −1
Original line number Diff line number Diff line
@@ -82,7 +82,7 @@

#ifdef AtsPIM
#include "BTP_ports/UpperTesterPort_BTP.hh"
#include "AVM_ports/UpperTesterPort_PIM.hh"
#include "PIM_ports/UpperTesterPort_PIM.hh"
#include "GN_ports/UpperTesterPort_GN.hh"
#endif

+10 −10
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@
#include "loggers.hh"

extern "C" {
extern asn_TYPE_descriptor_t asn_DEF_PIM;
extern asn_TYPE_descriptor_t asn_DEF_ParkingInformationMessage;
}

int pim_codec::encode(const PIM__PDU__Descriptions::PIM &min, OCTETSTRING &data) {
int pim_codec::encode(const PIM__PDU__Descriptions::ParkingInformationMessage &p_pim, OCTETSTRING &data) {
  loggers::get_instance().log(">>> pim_codec::encode");

  BITSTRING b;
  int       rc = asn_codec.encode(min, b);
  int       rc = asn_codec.encode(p_pim, b);
  if (rc != -1) {
    data = bit2oct(b);
    loggers::get_instance().log_msg("pim_codec::encode: ", data);
@@ -19,21 +19,21 @@ int pim_codec::encode(const PIM__PDU__Descriptions::PIM &min, OCTETSTRING &data)
  return rc;
}

int pim_codec::decode(const OCTETSTRING &data, PIM__PDU__Descriptions::PIM &min, params_its *params) {
int pim_codec::decode(const OCTETSTRING &data, PIM__PDU__Descriptions::ParkingInformationMessage &p_pim, params_its *params) {
  loggers::get_instance().log_msg(">>> pim_codec::decode: ", data);

  int rc = asn_codec.decode(oct2bit(data), min);
  int rc = asn_codec.decode(oct2bit(data), p_pim);
  loggers::get_instance().log("pim_codec::decode: ASN.1 codec returned %d", rc);
  if (rc != -1) {
    loggers::get_instance().log_msg("pim_codec::decode: ", min);
    loggers::get_instance().log_msg("pim_codec::decode: ", p_pim);
  }
  return rc;
}

int pim_pdu_codec::encode(const PIM__PDU__Descriptions::PIM &p_pim, BITSTRING &p_data) {
  return _encode(PIM__PDU__Descriptions::PIM_descr_, asn_DEF_PIM, p_pim, p_data);
int pim_pdu_codec::encode(const PIM__PDU__Descriptions::ParkingInformationMessage &p_pim, BITSTRING &p_data) {
  return _encode(PIM__PDU__Descriptions::ParkingInformationMessage_descr_, asn_DEF_ParkingInformationMessage, p_pim, p_data);
}

int pim_pdu_codec::decode(const BITSTRING &p_data, PIM__PDU__Descriptions::PIM &p_pim) {
  return _decode(PIM__PDU__Descriptions::PIM_descr_, asn_DEF_PIM, p_data, p_pim);
int pim_pdu_codec::decode(const BITSTRING &p_data, PIM__PDU__Descriptions::ParkingInformationMessage &p_pim) {
  return _decode(PIM__PDU__Descriptions::ParkingInformationMessage_descr_, asn_DEF_ParkingInformationMessage, p_data, p_pim);
}
Loading