Commits (2)
......@@ -5,42 +5,34 @@
#include <TTCN3.hh>
extern "C" {
static int asn1c_collect_encoded_data(const void *buffer, size_t size, void *application_specific_key)
{
TTCN_Buffer * tb = (TTCN_Buffer *)application_specific_key;
tb->put_s(size, (unsigned char *)buffer);
return 0;
}
static int asn1c_collect_encoded_data(const void *buffer, size_t size, void *application_specific_key) {
TTCN_Buffer *tb = (TTCN_Buffer *)application_specific_key;
tb->put_s(size, (unsigned char *)buffer);
return 0;
}
}
int asn1_recode_per::recode(const asn_TYPE_descriptor_s & td, int from, int to, TTCN_Buffer & buf)
{
int rc = -1;
void * ptr = NULL;
int asn1_recode_per::recode(const asn_TYPE_descriptor_s &td, int from, int to, TTCN_Buffer &buf) {
int rc = -1;
void * ptr = NULL;
asn_dec_rval_t rc_d;
rc_d = asn_decode(NULL, (asn_transfer_syntax)from, (asn_TYPE_descriptor_s*)&td, &ptr, buf.get_data(), buf.get_len());
if(rc_d.code == RC_OK){
// Encode as PER
rc_d = asn_decode(NULL, (asn_transfer_syntax)from, (asn_TYPE_descriptor_s *)&td, &ptr, buf.get_data(), buf.get_len());
if (rc_d.code == RC_OK) {
// Encode as PER
asn_enc_rval_t rc_e;
buf.clear();
rc_e = asn_encode(NULL, (asn_transfer_syntax)to, (asn_TYPE_descriptor_s*)&td, ptr, asn1c_collect_encoded_data, &buf);
rc = rc_e.encoded;
rc_e = asn_encode(NULL, (asn_transfer_syntax)to, (asn_TYPE_descriptor_s *)&td, ptr, asn1c_collect_encoded_data, &buf);
rc = rc_e.encoded;
}
if(ptr){
if (ptr) {
ASN_STRUCT_FREE(td, ptr);
}
return rc;
}
int asn1_recode_per::ber2per(const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf)
{
return recode(td, (int)ATS_BER, (int)ATS_UNALIGNED_CANONICAL_PER, buf);
}
int asn1_recode_per::ber2per(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf) { return recode(td, (int)ATS_BER, (int)ATS_UNALIGNED_CANONICAL_PER, buf); }
int asn1_recode_per::per2ber(const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf)
{
return recode(td, (int)ATS_UNALIGNED_BASIC_PER, (int)ATS_DER, buf);
}
int asn1_recode_per::per2ber(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf) { return recode(td, (int)ATS_UNALIGNED_BASIC_PER, (int)ATS_DER, buf); }
/*int asn1_recode_oer::ber2oer(const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf)
{
......
......@@ -19,11 +19,9 @@ class TTCN_Typedescriptor_t; //! Forward declaration of TITAN class
struct asn_TYPE_descriptor_s; //! Forward declaration of asn1c class
class asn1_recode_per
{
class asn1_recode_per {
protected:
int ber2per (const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf);
int per2ber (const asn_TYPE_descriptor_s & td, TTCN_Buffer & buf);
int recode (const asn_TYPE_descriptor_s & td, int from, int to, TTCN_Buffer & buf);
int ber2per(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf);
int per2ber(const asn_TYPE_descriptor_s &td, TTCN_Buffer &buf);
int recode(const asn_TYPE_descriptor_s &td, int from, int to, TTCN_Buffer &buf);
}; // End of class asn1_recode_per
......@@ -4,23 +4,22 @@
#include "loggers.hh"
namespace LibItsBtp__EncdecDeclarations {
/****************************************************
* @desc External function to encode a BtpReq type
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__BtpReq(LibItsBtp__TestSystem::BtpReq const& p_btpReq)
{
BITSTRING fx__enc__BtpReq(LibItsBtp__TestSystem::BtpReq const &p_btpReq) {
loggers::get_instance().log_msg(">>> fx__enc__BtpReq: ", p_btpReq);
btp_codec codec;
btp_codec codec;
OCTETSTRING os;
if (codec.encode(p_btpReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__BtpReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -30,19 +29,18 @@ namespace LibItsBtp__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__BtpReq(BITSTRING& b, LibItsBtp__TestSystem::BtpReq& p)
{
INTEGER fx__dec__BtpReq(BITSTRING &b, LibItsBtp__TestSystem::BtpReq &p) {
loggers::get_instance().log(">>> fx__dec__BtpReq");
btp_codec codec;
btp_codec codec;
LibItsBtp__TypesAndValues::BtpPacket pdu;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, pdu) == -1) {
loggers::get_instance().warning("fx__dec__BtpReq: -1 result code was returned");
return -1;
}
p.msgOut() = pdu;
return 0;
}
......@@ -51,17 +49,16 @@ namespace LibItsBtp__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__BtpInd(LibItsBtp__TestSystem::BtpInd const& p_btpInd)
{
BITSTRING fx__enc__BtpInd(LibItsBtp__TestSystem::BtpInd const &p_btpInd) {
loggers::get_instance().log_msg(">>> fx__enc__BtpInd: ", p_btpInd);
btp_codec codec;
btp_codec codec;
OCTETSTRING os;
if (codec.encode(p_btpInd.msgIn(), os) == -1) {
loggers::get_instance().warning("fx__enc__BtpInd: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -71,12 +68,11 @@ namespace LibItsBtp__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__BtpInd(BITSTRING& b, LibItsBtp__TestSystem::BtpInd& p_btpInd)
{
INTEGER fx__dec__BtpInd(BITSTRING &b, LibItsBtp__TestSystem::BtpInd &p_btpInd) {
loggers::get_instance().log(">>> fx__dec__BtpInd");
btp_codec codec;
btp_codec codec;
LibItsBtp__TypesAndValues::BtpPacket pdu;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
if (codec.decode(is, pdu) == -1) {
......@@ -89,17 +85,15 @@ namespace LibItsBtp__EncdecDeclarations {
return 0;
}
/****************************************************
* @desc External function to encode a BtpPacket type
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__BtpPacket(LibItsBtp__TypesAndValues::BtpPacket const& p_btpPacket)
{
BITSTRING fx__enc__BtpPacket(LibItsBtp__TypesAndValues::BtpPacket const &p_btpPacket) {
loggers::get_instance().log_msg(">>> fx__enc__BtpPacket: ", p_btpPacket);
btp_codec codec;
btp_codec codec;
OCTETSTRING os;
codec.encode(p_btpPacket, os);
return oct2bit(os);
......@@ -111,10 +105,9 @@ namespace LibItsBtp__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__BtpPacket(BITSTRING& b, LibItsBtp__TypesAndValues::BtpPacket& p_btpPacket)
{
INTEGER fx__dec__BtpPacket(BITSTRING &b, LibItsBtp__TypesAndValues::BtpPacket &p_btpPacket) {
loggers::get_instance().log(">>> fx__dec__BtpPacket");
btp_codec codec;
btp_codec codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_btpPacket) == -1) {
......@@ -124,5 +117,4 @@ namespace LibItsBtp__EncdecDeclarations {
return 0;
}
} //end namespace
} // namespace LibItsBtp__EncdecDeclarations
......@@ -3,8 +3,8 @@
#include "LibItsCam_EncdecDeclarations.hh"
#include "cam_codec.hh"
#include "uppertester_cam_codec.hh"
#include "loggers.hh"
#include "uppertester_cam_codec.hh"
namespace LibItsCam__EncdecDeclarations {
/****************************************************
......@@ -12,17 +12,16 @@ namespace LibItsCam__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__CamReq(const LibItsCam__TestSystem::CamReq& p_camReq)
{
BITSTRING fx__enc__CamReq(const LibItsCam__TestSystem::CamReq &p_camReq) {
loggers::get_instance().log_msg(">>> fx__enc__CamReq: ", p_camReq);
cam_codec codec;
cam_codec codec;
OCTETSTRING os;
if (codec.encode(p_camReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__CamReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -31,43 +30,36 @@ namespace LibItsCam__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__CamReq(BITSTRING& b, LibItsCam__TestSystem::CamReq& p)
{
INTEGER fx__dec__CamReq(BITSTRING &b, LibItsCam__TestSystem::CamReq &p) {
loggers::get_instance().log(">>> fx__dec__CamReq");
cam_codec codec;
cam_codec codec;
CAM__PDU__Descriptions::CAM cam;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, cam) == -1) {
loggers::get_instance().warning("fx__dec__CamReq: -1 result code was returned");
return -1;
}
p.msgOut() = cam;
return 0;
}
INTEGER fx__dec__CamInd(BITSTRING& b, LibItsCam__TestSystem::CamInd& p_camInd)
{
INTEGER fx__dec__CamInd(BITSTRING &b, LibItsCam__TestSystem::CamInd &p_camInd) {
loggers::get_instance().log(">>> fx__dec__CamInd");
cam_codec codec;
cam_codec codec;
CAM__PDU__Descriptions::CAM cam;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsCam__TestSystem::CamInd_gnNextHeader_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_gnHeaderType_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_gnHeaderSubtype_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_gnLifetime_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_gnTrafficClass_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_btpDestinationPort_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_btpInfo_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_ssp_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsCam__TestSystem::CamInd_gnNextHeader_raw_.fieldlength + LibItsCam__TestSystem::CamInd_gnHeaderType_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_gnHeaderSubtype_raw_.fieldlength + LibItsCam__TestSystem::CamInd_gnLifetime_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_gnTrafficClass_raw_.fieldlength + LibItsCam__TestSystem::CamInd_btpDestinationPort_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_btpInfo_raw_.fieldlength + LibItsCam__TestSystem::CamInd_ssp_raw_.fieldlength +
LibItsCam__TestSystem::CamInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), cam) == -1) {
loggers::get_instance().warning("fx__dec__CamInd: -1 result code was returned");
......@@ -167,60 +159,55 @@ namespace LibItsCam__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__CAM: its_aid=", p_camInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__CAM: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__CAM(const CAM__PDU__Descriptions::CAM& p_cam)
{
BITSTRING fx__enc__CAM(const CAM__PDU__Descriptions::CAM &p_cam) {
loggers::get_instance().log_msg(">>> fx__enc__CAM: ", p_cam);
cam_codec codec;
cam_codec codec;
OCTETSTRING os;
codec.encode(p_cam, os);
return oct2bit(os);
}
INTEGER fx__dec__CAM(BITSTRING& b, CAM__PDU__Descriptions::CAM& p)
{
INTEGER fx__dec__CAM(BITSTRING &b, CAM__PDU__Descriptions::CAM &p) {
loggers::get_instance().log(">>> fx__dec__CAM");
cam_codec codec;
cam_codec codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p) == -1) {
loggers::get_instance().warning("fx__dec__CAM: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__UtCamInitialize (const LibItsCam__TypesAndValues::UtCamInitialize& p_utCamInitialize)
{
BITSTRING fx__enc__UtCamInitialize(const LibItsCam__TypesAndValues::UtCamInitialize &p_utCamInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtCamInitialize: ", p_utCamInitialize);
uppertester_cam_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utCamInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtCamChangePosition (const LibItsCam__TypesAndValues::UtCamChangePosition& p_utCamChangePosition)
{
BITSTRING fx__enc__UtCamChangePosition(const LibItsCam__TypesAndValues::UtCamChangePosition &p_utCamChangePosition) {
loggers::get_instance().log_msg(">>> fx__enc__UtCamChangePosition: ", p_utCamChangePosition);
uppertester_cam_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utCamChangePosition, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtCamTrigger (const LibItsCam__TypesAndValues::UtCamTrigger& p_utCamTrigger)
{
BITSTRING fx__enc__UtCamTrigger(const LibItsCam__TypesAndValues::UtCamTrigger &p_utCamTrigger) {
loggers::get_instance().log_msg(">>> fx__enc__UtCamTrigger: ", p_utCamTrigger);
uppertester_cam_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utCamTrigger, os);
return oct2bit(os);
}
......@@ -230,18 +217,17 @@ namespace LibItsCam__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtCamResults(BITSTRING& b, LibItsCam__TypesAndValues::UtCamResults& p)
{
INTEGER fx__dec__UtCamResults(BITSTRING &b, LibItsCam__TypesAndValues::UtCamResults &p) {
loggers::get_instance().log(">>> fx__dec__UtCamResults");
uppertester_cam_codec codec;
OCTETSTRING is = bit2oct(b);
uppertester_cam_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtCamResults: -1 result code was returned");
return -1;
}
p = static_cast<LibItsCam__TypesAndValues::UtCamResults&>(*ptr);
p = static_cast<LibItsCam__TypesAndValues::UtCamResults &>(*ptr);
return 0;
}
......@@ -250,20 +236,18 @@ namespace LibItsCam__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtCamEventInd(BITSTRING& b, LibItsCam__TypesAndValues::UtCamEventInd& p)
{
INTEGER fx__dec__UtCamEventInd(BITSTRING &b, LibItsCam__TypesAndValues::UtCamEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtCamEventInd");
uppertester_cam_codec codec;
OCTETSTRING is = bit2oct(b);
uppertester_cam_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtCamEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsCam__TypesAndValues::UtCamEventInd&>(*ptr);
p = static_cast<LibItsCam__TypesAndValues::UtCamEventInd &>(*ptr);
return 0;
}
} //end namespace
} // namespace LibItsCam__EncdecDeclarations
......@@ -3,8 +3,8 @@
#include "LibItsDenm_EncdecDeclarations.hh"
#include "denm_codec.hh"
#include "uppertester_denm_codec.hh"
#include "loggers.hh"
#include "uppertester_denm_codec.hh"
namespace LibItsDenm__EncdecDeclarations {
/****************************************************
......@@ -12,17 +12,16 @@ namespace LibItsDenm__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__DenmReq(const LibItsDenm__TestSystem::DenmReq& p_denmReq)
{
BITSTRING fx__enc__DenmReq(const LibItsDenm__TestSystem::DenmReq &p_denmReq) {
loggers::get_instance().log_msg(">>> fx__enc__DenmReq: ", p_denmReq);
denm_codec codec;
denm_codec codec;
OCTETSTRING os;
if (codec.encode(p_denmReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__DenmReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -31,42 +30,35 @@ namespace LibItsDenm__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__DenmReq(BITSTRING& b, LibItsDenm__TestSystem::DenmReq& p)
{
INTEGER fx__dec__DenmReq(BITSTRING &b, LibItsDenm__TestSystem::DenmReq &p) {
loggers::get_instance().log(">>> fx__dec__DenmReq");
denm_codec codec;
denm_codec codec;
DENM__PDU__Descriptions::DENM denm;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, denm) == -1) {
loggers::get_instance().warning("fx__dec__DenmReq: -1 result code was returned");
return -1;
}
p.msgOut() = denm;
return 0;
}
INTEGER fx__dec__DenmInd(BITSTRING& b, LibItsDenm__TestSystem::DenmInd& p_denmInd)
{
INTEGER fx__dec__DenmInd(BITSTRING &b, LibItsDenm__TestSystem::DenmInd &p_denmInd) {
loggers::get_instance().log(">>> fx__dec__DenmInd");
denm_codec codec;
denm_codec codec;
DENM__PDU__Descriptions::DENM denm;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
int s = (
LibItsDenm__TestSystem::DenmInd_gnNextHeader_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_gnHeaderType_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_gnHeaderSubtype_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_gnLifetime_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_gnTrafficClass_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_btpDestinationPort_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_btpInfo_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_ssp_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsDenm__TestSystem::DenmInd_gnNextHeader_raw_.fieldlength + LibItsDenm__TestSystem::DenmInd_gnHeaderType_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_gnHeaderSubtype_raw_.fieldlength + LibItsDenm__TestSystem::DenmInd_gnLifetime_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_gnTrafficClass_raw_.fieldlength + LibItsDenm__TestSystem::DenmInd_btpDestinationPort_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_btpInfo_raw_.fieldlength + LibItsDenm__TestSystem::DenmInd_ssp_raw_.fieldlength +
LibItsDenm__TestSystem::DenmInd_its__aid_raw_.fieldlength) /
8;
// Decode DEN message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), denm) == -1) {
loggers::get_instance().warning("fx__dec__DenmInd: -1 result code was returned");
......@@ -166,90 +158,82 @@ namespace LibItsDenm__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__DENM: its_aid=", p_denmInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__DENM: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__DENM(const DENM__PDU__Descriptions::DENM& p_denm)
{
BITSTRING fx__enc__DENM(const DENM__PDU__Descriptions::DENM &p_denm) {
loggers::get_instance().log_msg(">>> fx__enc__DENM: ", p_denm);
denm_codec codec;
denm_codec codec;
OCTETSTRING os;
codec.encode(p_denm, os);
return oct2bit(os);
}
INTEGER fx__dec__DENM(BITSTRING& b, DENM__PDU__Descriptions::DENM& p)
{
INTEGER fx__dec__DENM(BITSTRING &b, DENM__PDU__Descriptions::DENM &p) {
loggers::get_instance().log(">>> fx__dec__DENM");
denm_codec codec;
denm_codec codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p) == -1) {
loggers::get_instance().warning("fx__dec__DENM: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__UtDenmInitialize (const LibItsDenm__TypesAndValues::UtDenmInitialize& p_utDenmInitialize)
{
BITSTRING fx__enc__UtDenmInitialize(const LibItsDenm__TypesAndValues::UtDenmInitialize &p_utDenmInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtDenmInitialize: ", p_utDenmInitialize);
uppertester_denm_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utDenmInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtDenmChangePosition (const LibItsDenm__TypesAndValues::UtDenmChangePosition& p_utDenmChangePosition)
{
BITSTRING fx__enc__UtDenmChangePosition(const LibItsDenm__TypesAndValues::UtDenmChangePosition &p_utDenmChangePosition) {
loggers::get_instance().log_msg(">>> fx__enc__UtDenmChangePosition: ", p_utDenmChangePosition);
uppertester_denm_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utDenmChangePosition, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtDenmChangePseudonym (const LibItsDenm__TypesAndValues::UtDenmChangePseudonym& p_utDenmChangePseudonym)
{
BITSTRING fx__enc__UtDenmChangePseudonym(const LibItsDenm__TypesAndValues::UtDenmChangePseudonym &p_utDenmChangePseudonym) {
loggers::get_instance().log_msg(">>> fx__enc__UtDenmChangePseudonym: ", p_utDenmChangePseudonym);
uppertester_denm_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode((const Record_Type &)p_utDenmChangePseudonym, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtDenmTrigger (const LibItsDenm__TypesAndValues::UtDenmTrigger& p_utDenmTrigger)
{
BITSTRING fx__enc__UtDenmTrigger(const LibItsDenm__TypesAndValues::UtDenmTrigger &p_utDenmTrigger) {
loggers::get_instance().log_msg(">>> fx__enc__UtDenmTrigger: ", p_utDenmTrigger);
uppertester_denm_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utDenmTrigger, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtDenmUpdate (const LibItsDenm__TypesAndValues::UtDenmUpdate& p_utDenmUpdate)
{
BITSTRING fx__enc__UtDenmUpdate(const LibItsDenm__TypesAndValues::UtDenmUpdate &p_utDenmUpdate) {
loggers::get_instance().log_msg(">>> fx__enc__UtDenmUpdate: ", p_utDenmUpdate);
uppertester_denm_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utDenmUpdate, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtDenmTermination (const LibItsDenm__TypesAndValues::UtDenmTermination& p_utDenmTermination)
{
BITSTRING fx__enc__UtDenmTermination(const LibItsDenm__TypesAndValues::UtDenmTermination &p_utDenmTermination) {
loggers::get_instance().log_msg(">>> fx__enc__UtDenmTermination: ", p_utDenmTermination);
uppertester_denm_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utDenmTermination, os);
return oct2bit(os);
}
......@@ -259,18 +243,17 @@ namespace LibItsDenm__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtDenmResults(BITSTRING& b, LibItsDenm__TypesAndValues::UtDenmResults& p)
{
INTEGER fx__dec__UtDenmResults(BITSTRING &b, LibItsDenm__TypesAndValues::UtDenmResults &p) {
loggers::get_instance().log(">>> fx__dec__UtDenmResults");
uppertester_denm_codec codec;
OCTETSTRING is = bit2oct(b);
uppertester_denm_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtDenmResults: -1 result code was returned");
return -1;
}
p = static_cast<LibItsDenm__TypesAndValues::UtDenmResults&>(*ptr);
p = static_cast<LibItsDenm__TypesAndValues::UtDenmResults &>(*ptr);
return 0;
}
......@@ -279,20 +262,18 @@ namespace LibItsDenm__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtDenmEventInd(BITSTRING& b, LibItsDenm__TypesAndValues::UtDenmEventInd& p)
{
INTEGER fx__dec__UtDenmEventInd(BITSTRING &b, LibItsDenm__TypesAndValues::UtDenmEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtDenmEventInd");
uppertester_denm_codec codec;
OCTETSTRING is = bit2oct(b);
uppertester_denm_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtDenmEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsDenm__TypesAndValues::UtDenmEventInd&>(*ptr);
p = static_cast<LibItsDenm__TypesAndValues::UtDenmEventInd &>(*ptr);
return 0;
}
} //end namespace
} // namespace LibItsDenm__EncdecDeclarations
#include "LibItsEvcsn_EncdecDeclarations.hh"
namespace LibItsEvcsn__EncdecDeclarations {
/****************************************************
* @desc External function to encode a EvcsnReq type
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__EvcsnReq(const LibItsEvcsn__TestSystem::EvcsnReq& p)
{
//set error behavior
TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL,TTCN_EncDec::EB_WARNING);
TTCN_Buffer TTCN_buf;
TTCN_buf.clear();
//encode message in BER (CER variant, but can be any)
p.msgOut().encode(EVCSN__PDU__Descriptions::EvcsnPdu_descr_,TTCN_buf,TTCN_EncDec::CT_BER,BER_ENCODE_CER);
OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data());
//insert BER2PER recoding here!
return oct2bit(encodedData);
}
/****************************************************
* @desc External function to decode a DenmReq type
* @param value to encode
* @return encoded value
****************************************************/
/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016)
INTEGER fx__dec__EvcsnReq(BITSTRING& b, LibItsEvcsn__TestSystem::EvcsnReq& p)
{
return -1;
}
*/
} //end namespace
/****************************************************
* @desc External function to encode a EvcsnReq type
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__EvcsnReq(const LibItsEvcsn__TestSystem::EvcsnReq &p) {
// set error behavior
TTCN_EncDec::set_error_behavior(TTCN_EncDec::ET_ALL, TTCN_EncDec::EB_WARNING);
TTCN_Buffer TTCN_buf;
TTCN_buf.clear();
// encode message in BER (CER variant, but can be any)
p.msgOut().encode(EVCSN__PDU__Descriptions::EvcsnPdu_descr_, TTCN_buf, TTCN_EncDec::CT_BER, BER_ENCODE_CER);
OCTETSTRING encodedData(TTCN_buf.get_len(), TTCN_buf.get_data());
// insert BER2PER recoding here!
return oct2bit(encodedData);
}
/****************************************************
* @desc External function to decode a DenmReq type
* @param value to encode
* @return encoded value
****************************************************/
/* TODO RGy function not implemented! (decvalue() not used by test suite @29-06-2016)
INTEGER fx__dec__EvcsnReq(BITSTRING& b, LibItsEvcsn__TestSystem::EvcsnReq& p)
{
return -1;
}
*/
} // namespace LibItsEvcsn__EncdecDeclarations
......@@ -11,40 +11,41 @@
#include "LibItsGeoNetworking_EncdecDeclarations.hh"
#include "geonetworking_codec.hh"
#include "uppertester_geonetworking_codec.hh"
#include "loggers.hh"
#include "uppertester_geonetworking_codec.hh"
namespace LibItsGeoNetworking__EncdecDeclarations {
/****************************************************
* \brief External function to encode a GeoNetworkingReq type
* \param[in] p_geoNetworkingReq The value to encode
* \return encoded value
****************************************************/
BITSTRING fx__enc__GeoNetworkingReq(LibItsGeoNetworking__TestSystem::GeoNetworkingReq const& p_geoNetworkingReq)
{
BITSTRING fx__enc__GeoNetworkingReq(LibItsGeoNetworking__TestSystem::GeoNetworkingReq const &p_geoNetworkingReq) {
loggers::get_instance().log_msg(">>> fx__enc__GeoNetworkingReq: ", p_geoNetworkingReq);
float duration;
float duration;
std::string tag("fx__enc__GeoNetworkingReq");
loggers::get_instance().set_start_time(tag);
geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_geoNetworkingReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__GeoNetworkingReq: -1 result code was returned");
return int2bit(0, 1);
}
TTCN_Buffer encoding_buffer(os);
for (int i = 1; i < p_geoNetworkingReq.get_count(); i++) {
loggers::get_instance().log("fx__enc__GeoNetworkingReq: processing %s/%s/%s - %d - %d", p_geoNetworkingReq.fld_name(i), p_geoNetworkingReq.fld_descr(i)->name, p_geoNetworkingReq.get_at(i)->get_descriptor()->name, p_geoNetworkingReq.get_at(i)->is_optional(), p_geoNetworkingReq.get_at(i)->is_present());
loggers::get_instance().log("fx__enc__GeoNetworkingReq: processing %s/%s/%s - %d - %d", p_geoNetworkingReq.fld_name(i),
p_geoNetworkingReq.fld_descr(i)->name, p_geoNetworkingReq.get_at(i)->get_descriptor()->name,
p_geoNetworkingReq.get_at(i)->is_optional(), p_geoNetworkingReq.get_at(i)->is_present());
if (p_geoNetworkingReq.get_at(i)->is_optional() && p_geoNetworkingReq.get_at(i)->is_present()) {
p_geoNetworkingReq.get_at(i)->get_opt_value()->encode(*p_geoNetworkingReq.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
p_geoNetworkingReq.get_at(i)->get_opt_value()->encode(*p_geoNetworkingReq.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
} else {
p_geoNetworkingReq.get_at(i)->encode(*p_geoNetworkingReq.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
p_geoNetworkingReq.get_at(i)->encode(*p_geoNetworkingReq.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
}
} // End of 'for' statement
loggers::get_instance().set_stop_time(tag, duration);
return oct2bit(OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()));
} // End of function fx__enc__GeoNetworkingReq
......@@ -54,18 +55,16 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__GeoNetworkingReq(BITSTRING& b, LibItsGeoNetworking__TestSystem::GeoNetworkingReq& p)
{
INTEGER fx__dec__GeoNetworkingReq(BITSTRING &b, LibItsGeoNetworking__TestSystem::GeoNetworkingReq &p) {
loggers::get_instance().log(">>> fx__dec__GeoNetworkingReq");
geonetworking_codec codec;
geonetworking_codec codec;
LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu pdu;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
unsigned int s = (
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_macDestinationAddress_raw_.fieldlength +
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_its__aid_raw_.fieldlength
) / 8;
unsigned int s = (LibItsGeoNetworking__TestSystem::GeoNetworkingInd_macDestinationAddress_raw_.fieldlength +
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_its__aid_raw_.fieldlength) /
8;
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), pdu) == -1) {
loggers::get_instance().warning("fx__dec__GeoNetworkingReq: -1 result code was returned");
return -1;
......@@ -75,9 +74,9 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
loggers::get_instance().log_to_hexa("fx__dec__GeoNetworkingInd: Lower layer: ", decoding_buffer);
for (int i = 1; i < p.get_count(); i++) {
loggers::get_instance().log("fx__dec__GeoNetworkingReq: processing %s/%s/%s", p.fld_name(i), p.fld_descr(i)->name, p.get_at(i)->get_descriptor()->name);
p.get_at(i)->decode(*p.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
p.get_at(i)->decode(*p.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
} // End of 'for' statement
return 0;
}
......@@ -86,26 +85,27 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__GeoNetworkingInd(LibItsGeoNetworking__TestSystem::GeoNetworkingInd const& p_geoNetworkingInd)
{
BITSTRING fx__enc__GeoNetworkingInd(LibItsGeoNetworking__TestSystem::GeoNetworkingInd const &p_geoNetworkingInd) {
loggers::get_instance().log_msg(">>> fx__enc__GeoNetworkingInd: ", p_geoNetworkingInd);
geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_geoNetworkingInd.msgIn(), os) == -1) {
loggers::get_instance().warning("fx__enc__GeoNetworkingInd: -1 result code was returned");
return int2bit(0, 1);
}
TTCN_Buffer encoding_buffer(os);
for (int i = 1; i < p_geoNetworkingInd.get_count(); i++) {
loggers::get_instance().log("fx__enc__GeoNetworkingInd: processing %s/%s/%s - %d - %d", p_geoNetworkingInd.fld_name(i), p_geoNetworkingInd.fld_descr(i)->name, p_geoNetworkingInd.get_at(i)->get_descriptor()->name, p_geoNetworkingInd.get_at(i)->is_optional(), p_geoNetworkingInd.get_at(i)->is_present());
loggers::get_instance().log("fx__enc__GeoNetworkingInd: processing %s/%s/%s - %d - %d", p_geoNetworkingInd.fld_name(i),
p_geoNetworkingInd.fld_descr(i)->name, p_geoNetworkingInd.get_at(i)->get_descriptor()->name,
p_geoNetworkingInd.get_at(i)->is_optional(), p_geoNetworkingInd.get_at(i)->is_present());
if (p_geoNetworkingInd.get_at(i)->is_optional() && p_geoNetworkingInd.get_at(i)->is_present()) {
p_geoNetworkingInd.get_at(i)->get_opt_value()->encode(*p_geoNetworkingInd.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
p_geoNetworkingInd.get_at(i)->get_opt_value()->encode(*p_geoNetworkingInd.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
} else {
p_geoNetworkingInd.get_at(i)->encode(*p_geoNetworkingInd.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
p_geoNetworkingInd.get_at(i)->encode(*p_geoNetworkingInd.fld_descr(i), encoding_buffer, TTCN_EncDec::CT_RAW);
}
} // End of 'for' statement
return oct2bit(OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()));
}
......@@ -115,24 +115,22 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__GeoNetworkingInd(BITSTRING& b, LibItsGeoNetworking__TestSystem::GeoNetworkingInd& p_geoNetworkingInd)
{
INTEGER fx__dec__GeoNetworkingInd(BITSTRING &b, LibItsGeoNetworking__TestSystem::GeoNetworkingInd &p_geoNetworkingInd) {
loggers::get_instance().log(">>> fx__dec__GeoNetworkingInd");
float duration;
float duration;
std::string tag("fx__dec__GeoNetworkingInd");
loggers::get_instance().set_start_time(tag);
geonetworking_codec codec;
geonetworking_codec codec;
LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu pdu;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
unsigned int s = (
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_macDestinationAddress_raw_.fieldlength +
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_ssp_raw_.fieldlength +
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_its__aid_raw_.fieldlength
) / 8;
unsigned int s =
(LibItsGeoNetworking__TestSystem::GeoNetworkingInd_macDestinationAddress_raw_.fieldlength +
LibItsGeoNetworking__TestSystem::GeoNetworkingInd_ssp_raw_.fieldlength + LibItsGeoNetworking__TestSystem::GeoNetworkingInd_its__aid_raw_.fieldlength) /
8;
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), pdu) == -1) {
loggers::get_instance().warning("fx__dec__GeoNetworkingInd: -1 result code was returned");
return -1;
......@@ -141,38 +139,42 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
TTCN_Buffer decoding_buffer(OCTETSTRING(s, static_cast<const unsigned char *>(is) + is.lengthof() - s));
loggers::get_instance().log_to_hexa("fx__dec__GeoNetworkingInd: Lower layer: ", decoding_buffer);
for (int i = 1; i < p_geoNetworkingInd.get_count(); i++) {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: processing %s/%s/%s - %d - %d", p_geoNetworkingInd.fld_name(i), p_geoNetworkingInd.fld_descr(i)->name, p_geoNetworkingInd.get_at(i)->get_descriptor()->name, p_geoNetworkingInd.get_at(i)->is_optional(), p_geoNetworkingInd.get_at(i)->is_present());
loggers::get_instance().log("fx__dec__GeoNetworkingInd: processing %s/%s/%s - %d - %d", p_geoNetworkingInd.fld_name(i),
p_geoNetworkingInd.fld_descr(i)->name, p_geoNetworkingInd.get_at(i)->get_descriptor()->name,
p_geoNetworkingInd.get_at(i)->is_optional(), p_geoNetworkingInd.get_at(i)->is_present());
if (p_geoNetworkingInd.get_at(i)->is_optional()) {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: Bytes remaining: %d - field lenth: %d", decoding_buffer.get_len() - decoding_buffer.get_pos(), p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8);
if (std::string(p_geoNetworkingInd.fld_name(i)).compare("ssp") == 0) {
if ((decoding_buffer.get_len() - decoding_buffer.get_pos()) >= (unsigned int)p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8) {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: decoding %s", p_geoNetworkingInd.fld_descr(i)->name);
BITSTRING ssp;
ssp.decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
loggers::get_instance().log_msg("fx__dec__GeoNetworkingInd: ssp=", ssp);
dynamic_cast<OPTIONAL<BITSTRING> &>(*p_geoNetworkingInd.get_at(i)) = OPTIONAL<BITSTRING>(ssp);
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: set %s to omit", p_geoNetworkingInd.fld_descr(i)->name);
dynamic_cast<OPTIONAL<BITSTRING> &>(*p_geoNetworkingInd.get_at(i)).set_to_omit();
}
} else if (std::string(p_geoNetworkingInd.fld_name(i)).compare("its_aid") == 0) {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: Bytes remaining: %d - its_aid lenth: %d", decoding_buffer.get_len() - decoding_buffer.get_pos(), p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8);
if ((decoding_buffer.get_len() - decoding_buffer.get_pos()) >= (unsigned int)p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8) {
INTEGER its_aid;
its_aid.decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
loggers::get_instance().log_msg("fx__dec__GeoNetworkingInd: its_aid=", its_aid);
dynamic_cast<OPTIONAL<INTEGER> &>(*p_geoNetworkingInd.get_at(i)) = OPTIONAL<INTEGER>(its_aid);
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: set %s to omit", p_geoNetworkingInd.fld_descr(i)->name);
dynamic_cast<OPTIONAL<INTEGER> &>(*p_geoNetworkingInd.get_at(i)).set_to_omit();
}
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd(1): decoding %s", p_geoNetworkingInd.fld_descr(i)->name);
p_geoNetworkingInd.get_at(i)->decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
}
loggers::get_instance().log("fx__dec__GeoNetworkingInd: Bytes remaining: %d - field lenth: %d", decoding_buffer.get_len() - decoding_buffer.get_pos(),
p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8);
if (std::string(p_geoNetworkingInd.fld_name(i)).compare("ssp") == 0) {
if ((decoding_buffer.get_len() - decoding_buffer.get_pos()) >= (unsigned int)p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8) {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: decoding %s", p_geoNetworkingInd.fld_descr(i)->name);
BITSTRING ssp;
ssp.decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
loggers::get_instance().log_msg("fx__dec__GeoNetworkingInd: ssp=", ssp);
dynamic_cast<OPTIONAL<BITSTRING> &>(*p_geoNetworkingInd.get_at(i)) = OPTIONAL<BITSTRING>(ssp);
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: set %s to omit", p_geoNetworkingInd.fld_descr(i)->name);
dynamic_cast<OPTIONAL<BITSTRING> &>(*p_geoNetworkingInd.get_at(i)).set_to_omit();
}
} else if (std::string(p_geoNetworkingInd.fld_name(i)).compare("its_aid") == 0) {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: Bytes remaining: %d - its_aid lenth: %d",
decoding_buffer.get_len() - decoding_buffer.get_pos(), p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8);
if ((decoding_buffer.get_len() - decoding_buffer.get_pos()) >= (unsigned int)p_geoNetworkingInd.fld_descr(i)->raw->fieldlength / 8) {
INTEGER its_aid;
its_aid.decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
loggers::get_instance().log_msg("fx__dec__GeoNetworkingInd: its_aid=", its_aid);
dynamic_cast<OPTIONAL<INTEGER> &>(*p_geoNetworkingInd.get_at(i)) = OPTIONAL<INTEGER>(its_aid);
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd: set %s to omit", p_geoNetworkingInd.fld_descr(i)->name);
dynamic_cast<OPTIONAL<INTEGER> &>(*p_geoNetworkingInd.get_at(i)).set_to_omit();
}
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd(1): decoding %s", p_geoNetworkingInd.fld_descr(i)->name);
p_geoNetworkingInd.get_at(i)->decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
}
} else {
loggers::get_instance().log("fx__dec__GeoNetworkingInd(2): decoding %s", p_geoNetworkingInd.fld_descr(i)->name);
p_geoNetworkingInd.get_at(i)->decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
loggers::get_instance().log("fx__dec__GeoNetworkingInd(2): decoding %s", p_geoNetworkingInd.fld_descr(i)->name);
p_geoNetworkingInd.get_at(i)->decode(*p_geoNetworkingInd.fld_descr(i), decoding_buffer, TTCN_EncDec::CT_RAW);
}
} // End of 'for' statement
loggers::get_instance().set_stop_time(tag, duration);
......@@ -186,12 +188,11 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__GeoNetworkingPdu(LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu const& p_geoNetworkingPdu)
{
BITSTRING fx__enc__GeoNetworkingPdu(LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu const &p_geoNetworkingPdu) {
loggers::get_instance().log_msg(">>> fx__enc__GeoNetworkingPdu: ", p_geoNetworkingPdu);
geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_geoNetworkingPdu, os);
return oct2bit(os);
}
......@@ -202,17 +203,16 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__GeoNetworkingPdu(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu& p)
{
INTEGER fx__dec__GeoNetworkingPdu(BITSTRING &b, LibItsGeoNetworking__TypesAndValues::GeoNetworkingPdu &p) {
loggers::get_instance().log(">>> fx__dec__GeoNetworkingPdu");
geonetworking_codec codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p) == -1) {
loggers::get_instance().warning("fx__dec__GeoNetworkingPdu: -1 result code was returned");
return -1;
}
return 0;
}
......@@ -221,12 +221,11 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__GnNonSecuredPacket(const LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p_gnNonSecuredPacket)
{
BITSTRING fx__enc__GnNonSecuredPacket(const LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket &p_gnNonSecuredPacket) {
loggers::get_instance().log_msg(">>> fx__enc__GnNonSecuredPacket: ", p_gnNonSecuredPacket);
geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_gnNonSecuredPacket, os);
return oct2bit(os);
}
......@@ -237,39 +236,33 @@ namespace LibItsGeoNetworking__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__GnNonSecuredPacket(BITSTRING& b, LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket& p)
{
return -1;
}
INTEGER fx__dec__GnNonSecuredPacket(BITSTRING &b, LibItsGeoNetworking__TypesAndValues::GnNonSecuredPacket &p) { return -1; }
BITSTRING fx__enc__UtGnInitialize (const LibItsGeoNetworking__TypesAndValues::UtGnInitialize& p_utGnInitialize)
{
BITSTRING fx__enc__UtGnInitialize(const LibItsGeoNetworking__TypesAndValues::UtGnInitialize &p_utGnInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtGnInitialize: ", p_utGnInitialize);
uppertester_geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utGnInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtGnChangePosition (const LibItsGeoNetworking__TypesAndValues::UtGnChangePosition& p_utGnChangePosition)
{
BITSTRING fx__enc__UtGnChangePosition(const LibItsGeoNetworking__TypesAndValues::UtGnChangePosition &p_utGnChangePosition) {
loggers::get_instance().log_msg(">>> fx__enc__UtGnChangePosition: ", p_utGnChangePosition);
uppertester_geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utGnChangePosition, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtGnTrigger (const LibItsGeoNetworking__TypesAndValues::UtGnTrigger& p_utGnTrigger)
{
BITSTRING fx__enc__UtGnTrigger(const LibItsGeoNetworking__TypesAndValues::UtGnTrigger &p_utGnTrigger) {
loggers::get_instance().log_msg(">>> fx__enc__UtGnTrigger: ", p_utGnTrigger);
uppertester_geonetworking_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utGnTrigger, os);
return oct2bit(os);
}
} //end namespace
} // namespace LibItsGeoNetworking__EncdecDeclarations
......@@ -7,20 +7,20 @@
namespace LibItsHttp__EncdecDeclarations {
BITSTRING fx__enc__http__message(const LibItsHttp__TypesAndValues::HttpMessage& p) {
loggers::get_instance().log_msg(">>> fx__enc__http__message: ", (const Base_Type&)p);
BITSTRING fx__enc__http__message(const LibItsHttp__TypesAndValues::HttpMessage &p) {
loggers::get_instance().log_msg(">>> fx__enc__http__message: ", (const Base_Type &)p);
OCTETSTRING os;
http_codec codec;
http_codec codec;
codec.encode(p, os);
return oct2bit(os);
}
INTEGER fx__dec__http__message(BITSTRING& pdu, LibItsHttp__TypesAndValues::HttpMessage& p) {
INTEGER fx__dec__http__message(BITSTRING &pdu, LibItsHttp__TypesAndValues::HttpMessage &p) {
loggers::get_instance().log_msg(">>> fx__dec__http__message: ", pdu);
OCTETSTRING os = bit2oct(pdu);
http_codec codec;
http_codec codec;
codec.decode(os, p);
return 0;
......
......@@ -7,10 +7,7 @@ namespace LibItsIpv6OverGeoNetworking__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__Ipv6Packet(const LibItsIpv6OverGeoNetworking__TypesAndValues::Ipv6Packet& p)
{
return int2bit(0,8);
}
BITSTRING fx__enc__Ipv6Packet(const LibItsIpv6OverGeoNetworking__TypesAndValues::Ipv6Packet &p) { return int2bit(0, 8); }
/****************************************************
* @desc External function to decode a Ipv6Packet type
......@@ -18,9 +15,6 @@ namespace LibItsIpv6OverGeoNetworking__EncdecDeclarations {
* @return encoded value
****************************************************/
INTEGER fx__dec__Ipv6Packet(BITSTRING& b, LibItsIpv6OverGeoNetworking__TypesAndValues::Ipv6Packet& p)
{
return -1;
}
INTEGER fx__dec__Ipv6Packet(BITSTRING &b, LibItsIpv6OverGeoNetworking__TypesAndValues::Ipv6Packet &p) { return -1; }
} //end namespace
} // namespace LibItsIpv6OverGeoNetworking__EncdecDeclarations
......@@ -3,8 +3,8 @@
#include "LibItsIvim_EncdecDeclarations.hh"
#include "ivim_codec.hh"
#include "uppertester_ivim_codec.hh"
#include "loggers.hh"
#include "uppertester_ivim_codec.hh"
namespace LibItsIvim__EncdecDeclarations {
/****************************************************
......@@ -12,17 +12,16 @@ namespace LibItsIvim__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__IvimReq(const LibItsIvim__TestSystem::IvimReq& p_ivimReq)
{
BITSTRING fx__enc__IvimReq(const LibItsIvim__TestSystem::IvimReq &p_ivimReq) {
loggers::get_instance().log_msg(">>> fx__enc__IvimReq: ", p_ivimReq);
ivim_codec codec;
ivim_codec codec;
OCTETSTRING os;
if (codec.encode(p_ivimReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__IvimReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -31,43 +30,36 @@ namespace LibItsIvim__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__IvimReq(BITSTRING& b, LibItsIvim__TestSystem::IvimReq& p)
{
INTEGER fx__dec__IvimReq(BITSTRING &b, LibItsIvim__TestSystem::IvimReq &p) {
loggers::get_instance().log(">>> fx__dec__IvimReq");
ivim_codec codec;
ivim_codec codec;
IVIM__PDU__Descriptions::IVIM ivim;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, ivim) == -1) {
loggers::get_instance().warning("fx__dec__IvimReq: -1 result code was returned");
return -1;
}
p.msgOut() = ivim;
return 0;
}
INTEGER fx__dec__IvimInd(BITSTRING& b, LibItsIvim__TestSystem::IvimInd& p_ivimInd)
{
INTEGER fx__dec__IvimInd(BITSTRING &b, LibItsIvim__TestSystem::IvimInd &p_ivimInd) {
loggers::get_instance().log(">>> fx__dec__IvimInd");
ivim_codec codec;
ivim_codec codec;
IVIM__PDU__Descriptions::IVIM ivim;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsIvim__TestSystem::IvimInd_gnNextHeader_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_gnHeaderType_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_gnHeaderSubtype_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_gnLifetime_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_gnTrafficClass_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_btpDestinationPort_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_btpInfo_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_ssp_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsIvim__TestSystem::IvimInd_gnNextHeader_raw_.fieldlength + LibItsIvim__TestSystem::IvimInd_gnHeaderType_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_gnHeaderSubtype_raw_.fieldlength + LibItsIvim__TestSystem::IvimInd_gnLifetime_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_gnTrafficClass_raw_.fieldlength + LibItsIvim__TestSystem::IvimInd_btpDestinationPort_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_btpInfo_raw_.fieldlength + LibItsIvim__TestSystem::IvimInd_ssp_raw_.fieldlength +
LibItsIvim__TestSystem::IvimInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), ivim) == -1) {
loggers::get_instance().warning("fx__dec__IvimInd: -1 result code was returned");
......@@ -167,91 +159,84 @@ namespace LibItsIvim__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__IVIM: its_aid=", p_ivimInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__IVIM: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__IVIM(const IVIM__PDU__Descriptions::IVIM& p_ivim)
{
BITSTRING fx__enc__IVIM(const IVIM__PDU__Descriptions::IVIM &p_ivim) {
loggers::get_instance().log_msg(">>> fx__enc__IVIM: ", p_ivim);
ivim_codec codec;
ivim_codec codec;
OCTETSTRING os;
codec.encode(p_ivim, os);
return oct2bit(os);
}
INTEGER fx__dec__IVIM(BITSTRING& b, IVIM__PDU__Descriptions::IVIM& p)
{
INTEGER fx__dec__IVIM(BITSTRING &b, IVIM__PDU__Descriptions::IVIM &p) {
loggers::get_instance().log(">>> fx__dec__IVIM");
ivim_codec codec;
ivim_codec codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p) == -1) {
loggers::get_instance().warning("fx__dec__IVIM: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__UtIvimInitialize (const LibItsIvim__TypesAndValues::UtIvimInitialize& p_utIvimInitialize)
{
BITSTRING fx__enc__UtIvimInitialize(const LibItsIvim__TypesAndValues::UtIvimInitialize &p_utIvimInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtIvimInitialize: ", p_utIvimInitialize);
uppertester_ivim_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utIvimInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtIvimTrigger (const LibItsIvim__TypesAndValues::UtIvimTrigger& p_utIvimTrigger)
{
BITSTRING fx__enc__UtIvimTrigger(const LibItsIvim__TypesAndValues::UtIvimTrigger &p_utIvimTrigger) {
loggers::get_instance().log_msg(">>> fx__enc__UtIvimTrigger: ", p_utIvimTrigger);
uppertester_ivim_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utIvimTrigger, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtIvimUpdate (const LibItsIvim__TypesAndValues::UtIvimUpdate& p_utIvimUpdate)
{
BITSTRING fx__enc__UtIvimUpdate(const LibItsIvim__TypesAndValues::UtIvimUpdate &p_utIvimUpdate) {
loggers::get_instance().log_msg(">>> fx__enc__UtIvimUpdate: ", p_utIvimUpdate);
uppertester_ivim_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utIvimUpdate, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtIvimTermination (const LibItsIvim__TypesAndValues::UtIvimTermination& p_utIvimTermination)
{
BITSTRING fx__enc__UtIvimTermination(const LibItsIvim__TypesAndValues::UtIvimTermination &p_utIvimTermination) {
loggers::get_instance().log_msg(">>> fx__enc__UtIvimTermination: ", p_utIvimTermination);
uppertester_ivim_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utIvimTermination, os);
return oct2bit(os);
}
/****************************************************
/****************************************************
* @desc External function to decode a UtIvimResults type
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtIvimResults(BITSTRING& b, LibItsIvim__TypesAndValues::UtIvimResults& p)
{
INTEGER fx__dec__UtIvimResults(BITSTRING &b, LibItsIvim__TypesAndValues::UtIvimResults &p) {
loggers::get_instance().log(">>> fx__dec__UtIvimResults");
uppertester_ivim_codec codec;
OCTETSTRING is = bit2oct(b);
uppertester_ivim_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtIvimResults: -1 result code was returned");
return -1;
}
p = static_cast<LibItsIvim__TypesAndValues::UtIvimResults&>(*ptr);
p = static_cast<LibItsIvim__TypesAndValues::UtIvimResults &>(*ptr);
return 0;
}
......@@ -260,20 +245,18 @@ namespace LibItsIvim__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtIvimEventInd(BITSTRING& b, LibItsIvim__TypesAndValues::UtIvimEventInd& p)
{
INTEGER fx__dec__UtIvimEventInd(BITSTRING &b, LibItsIvim__TypesAndValues::UtIvimEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtIvimEventInd");
uppertester_ivim_codec codec;
OCTETSTRING is = bit2oct(b);
uppertester_ivim_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtIvimEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsIvim__TypesAndValues::UtIvimEventInd&>(*ptr);
p = static_cast<LibItsIvim__TypesAndValues::UtIvimEventInd &>(*ptr);
return 0;
}
} //end namespace
} // namespace LibItsIvim__EncdecDeclarations
......@@ -2,10 +2,10 @@
#include "LibItsMapemSpatem_EncdecDeclarations.hh"
#include "loggers.hh"
#include "mapem_codec.hh"
#include "spatem_codec.hh"
#include "uppertester_mapem_spatem_codec.hh"
#include "loggers.hh"
namespace LibItsMapemSpatem__EncdecDeclarations {
/****************************************************
......@@ -13,17 +13,16 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__MapemReq(const LibItsMapemSpatem__TestSystem::MapemReq& p_sremReq)
{
BITSTRING fx__enc__MapemReq(const LibItsMapemSpatem__TestSystem::MapemReq &p_sremReq) {
loggers::get_instance().log_msg(">>> fx__enc__MapemReq: ", p_sremReq);
mapem_codec codec;
OCTETSTRING os;
if (codec.encode(p_sremReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__MapemReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -32,43 +31,36 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__MapemReq(BITSTRING& b, LibItsMapemSpatem__TestSystem::MapemReq& p)
{
INTEGER fx__dec__MapemReq(BITSTRING &b, LibItsMapemSpatem__TestSystem::MapemReq &p) {
loggers::get_instance().log(">>> fx__dec__MapemReq");
mapem_codec codec;
mapem_codec codec;
MAPEM__PDU__Descriptions::MAPEM mapem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, mapem) == -1) {
loggers::get_instance().warning("fx__dec__MapemReq: -1 result code was returned");
return -1;
}
p.msgOut() = mapem;
return 0;
}
INTEGER fx__dec__MapemInd(BITSTRING& b, LibItsMapemSpatem__TestSystem::MapemInd& p_mapemInd)
{
INTEGER fx__dec__MapemInd(BITSTRING &b, LibItsMapemSpatem__TestSystem::MapemInd &p_mapemInd) {
loggers::get_instance().log(">>> fx__dec__MapemInd");
mapem_codec codec;
mapem_codec codec;
MAPEM__PDU__Descriptions::MAPEM mapem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsMapemSpatem__TestSystem::MapemInd_gnNextHeader_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_gnHeaderType_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_gnHeaderSubtype_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_gnLifetime_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_gnTrafficClass_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_btpDestinationPort_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_btpInfo_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_ssp_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsMapemSpatem__TestSystem::MapemInd_gnNextHeader_raw_.fieldlength + LibItsMapemSpatem__TestSystem::MapemInd_gnHeaderType_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_gnHeaderSubtype_raw_.fieldlength + LibItsMapemSpatem__TestSystem::MapemInd_gnLifetime_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_gnTrafficClass_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_btpDestinationPort_raw_.fieldlength + LibItsMapemSpatem__TestSystem::MapemInd_btpInfo_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::MapemInd_ssp_raw_.fieldlength + LibItsMapemSpatem__TestSystem::MapemInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), mapem) == -1) {
loggers::get_instance().warning("fx__dec__MapemInd: -1 result code was returned");
......@@ -168,22 +160,20 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__Mapem: its_aid=", p_mapemInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__Mapem: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__MAPEM(const MAPEM__PDU__Descriptions::MAPEM& p_mapem)
{
BITSTRING fx__enc__MAPEM(const MAPEM__PDU__Descriptions::MAPEM &p_mapem) {
loggers::get_instance().log_msg(">>> fx__enc__Mapem: ", p_mapem);
mapem_codec codec;
OCTETSTRING os;
codec.encode(p_mapem, os);
return oct2bit(os);
}
INTEGER fx__dec__MAPEM(BITSTRING& b, MAPEM__PDU__Descriptions::MAPEM& p)
{
INTEGER fx__dec__MAPEM(BITSTRING &b, MAPEM__PDU__Descriptions::MAPEM &p) {
loggers::get_instance().log(">>> fx__dec__Mapem");
mapem_codec codec;
OCTETSTRING is = bit2oct(b);
......@@ -192,26 +182,25 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
loggers::get_instance().warning("fx__dec__Mapem: -1 result code was returned");
return -1;
}
return 0;
}
/****************************************************
* @desc External function to encode a SpatemReq type
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__SpatemReq(const LibItsMapemSpatem__TestSystem::SpatemReq& p_spatemReq)
{
BITSTRING fx__enc__SpatemReq(const LibItsMapemSpatem__TestSystem::SpatemReq &p_spatemReq) {
loggers::get_instance().log_msg(">>> fx__enc__SpatemReq: ", p_spatemReq);
spatem_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_spatemReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__SpatemReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -220,43 +209,36 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__SpatemReq(BITSTRING& b, LibItsMapemSpatem__TestSystem::SpatemReq& p)
{
INTEGER fx__dec__SpatemReq(BITSTRING &b, LibItsMapemSpatem__TestSystem::SpatemReq &p) {
loggers::get_instance().log(">>> fx__dec__SpatemReq");
spatem_codec codec;
spatem_codec codec;
SPATEM__PDU__Descriptions::SPATEM spatem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, spatem) == -1) {
loggers::get_instance().warning("fx__dec__SpatemReq: -1 result code was returned");
return -1;
}
p.msgOut() = spatem;
return 0;
}
INTEGER fx__dec__SpatemInd(BITSTRING& b, LibItsMapemSpatem__TestSystem::SpatemInd& p_mapemInd)
{
INTEGER fx__dec__SpatemInd(BITSTRING &b, LibItsMapemSpatem__TestSystem::SpatemInd &p_mapemInd) {
loggers::get_instance().log(">>> fx__dec__SpatemInd");
spatem_codec codec;
spatem_codec codec;
SPATEM__PDU__Descriptions::SPATEM spatem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsMapemSpatem__TestSystem::SpatemInd_gnNextHeader_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_gnHeaderType_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_gnHeaderSubtype_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_gnLifetime_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_gnTrafficClass_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_btpDestinationPort_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_btpInfo_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_ssp_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsMapemSpatem__TestSystem::SpatemInd_gnNextHeader_raw_.fieldlength + LibItsMapemSpatem__TestSystem::SpatemInd_gnHeaderType_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_gnHeaderSubtype_raw_.fieldlength + LibItsMapemSpatem__TestSystem::SpatemInd_gnLifetime_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_gnTrafficClass_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_btpDestinationPort_raw_.fieldlength + LibItsMapemSpatem__TestSystem::SpatemInd_btpInfo_raw_.fieldlength +
LibItsMapemSpatem__TestSystem::SpatemInd_ssp_raw_.fieldlength + LibItsMapemSpatem__TestSystem::SpatemInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), spatem) == -1) {
loggers::get_instance().warning("fx__dec__SpatemSpatemInd: -1 result code was returned");
......@@ -356,49 +338,45 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__Spatem: its_aid=", p_mapemInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__Spatem: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__SPATEM(const SPATEM__PDU__Descriptions::SPATEM& p_spatem)
{
BITSTRING fx__enc__SPATEM(const SPATEM__PDU__Descriptions::SPATEM &p_spatem) {
loggers::get_instance().log_msg(">>> fx__enc__Spatem: ", p_spatem);
spatem_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_spatem, os);
return oct2bit(os);
}
INTEGER fx__dec__SPATEM(BITSTRING& b, SPATEM__PDU__Descriptions::SPATEM& p_spatem)
{
INTEGER fx__dec__SPATEM(BITSTRING &b, SPATEM__PDU__Descriptions::SPATEM &p_spatem) {
loggers::get_instance().log(">>> fx__dec__Spatem");
spatem_codec codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p_spatem) == -1) {
loggers::get_instance().warning("fx__dec__Spatem: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__UtMapemSpatemInitialize (const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemInitialize& p_utMapemSpatemInitialize)
{
BITSTRING fx__enc__UtMapemSpatemInitialize(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemInitialize &p_utMapemSpatemInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtMapemSpatemInitialize: ", p_utMapemSpatemInitialize);
uppertester_mapem_spatem_codec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utMapemSpatemInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtMapemSpatemResults (const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults& p_utMapemSpatemResults)
{
BITSTRING fx__enc__UtMapemSpatemResults(const LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults &p_utMapemSpatemResults) {
loggers::get_instance().log_msg(">>> fx__enc__UtMapemSpatemResults: ", p_utMapemSpatemResults);
/*uppertester_mapem_spatem_codec codec;
OCTETSTRING os;
codec.encode(p_utMapemSpatemResults, os);
......@@ -411,18 +389,17 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtMapemSpatemResults(BITSTRING& b, LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults& p)
{
INTEGER fx__dec__UtMapemSpatemResults(BITSTRING &b, LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults &p) {
loggers::get_instance().log(">>> fx__dec__UtMapemSpatemResults");
uppertester_mapem_spatem_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtMapemSpatemResults: -1 result code was returned");
return -1;
}
p = static_cast<LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults&>(*ptr);
p = static_cast<LibItsMapemSpatem__TypesAndValues::UtMapemSpatemResults &>(*ptr);
return 0;
}
......@@ -431,18 +408,17 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtMapemEventInd(BITSTRING& b, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd& p)
{
INTEGER fx__dec__UtMapemEventInd(BITSTRING &b, LibItsMapemSpatem__TypesAndValues::UtMapemEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtMapemEventInd");
uppertester_mapem_spatem_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtMapemEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsMapemSpatem__TypesAndValues::UtMapemEventInd&>(*ptr);
p = static_cast<LibItsMapemSpatem__TypesAndValues::UtMapemEventInd &>(*ptr);
return 0;
}
......@@ -451,20 +427,18 @@ namespace LibItsMapemSpatem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtSpatemEventInd(BITSTRING& b, LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd& p)
{
INTEGER fx__dec__UtSpatemEventInd(BITSTRING &b, LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtSpatemEventInd");
uppertester_mapem_spatem_codec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtSpatemEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd&>(*ptr);
p = static_cast<LibItsMapemSpatem__TypesAndValues::UtSpatemEventInd &>(*ptr);
return 0;
}
} //end namespace
} // namespace LibItsMapemSpatem__EncdecDeclarations
#include "LibItsPki_EncdecDeclarations.hh"
#include "etsi_ts102941_base_types_public_keys.hh"
#include "etsi_ts102941_data_codec.hh"
#include "etsi_ts102941_data_content_codec.hh"
#include "etsi_ts102941_types_enrolment_inner_request.hh"
#include "etsi_ts102941_types_enrolment_inner_response.hh"
#include "etsi_ts102941_types_authorization_inner_request.hh"
#include "etsi_ts102941_types_authorization_inner_response.hh"
#include "etsi_ts102941_types_authorization_shared_at_request.hh"
#include "etsi_ts102941_types_authorization_validation_request.hh"
#include "etsi_ts102941_types_authorization_validation_response.hh"
#include "etsi_ts102941_base_types_public_keys.hh"
#include "etsi_ts102941_types_enrolment_inner_request.hh"
#include "etsi_ts102941_types_enrolment_inner_response.hh"
#include "ieee_1609dot2_base_types_public_encryption_key.hh"
#include "ieee_1609dot2_base_types_public_verification_key.hh"
......@@ -17,90 +17,90 @@
namespace LibItsPki__EncdecDeclarations {
BITSTRING fx__enc__EtsiTs102941Data(const EtsiTs102941MessagesCa::EtsiTs102941Data& p_etsi_ts_102941_data) {
BITSTRING fx__enc__EtsiTs102941Data(const EtsiTs102941MessagesCa::EtsiTs102941Data &p_etsi_ts_102941_data) {
loggers::get_instance().log_msg(">>> fx__enc__EtsiTs102941Data: ", p_etsi_ts_102941_data);
etsi_ts102941_data_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_etsi_ts_102941_data, os) == -1) {
loggers::get_instance().warning("fx__enc__EtsiTs102941Data: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__EtsiTs102941Data(BITSTRING& b, EtsiTs102941MessagesCa::EtsiTs102941Data& p_etsi_ts_102941_data) {
INTEGER fx__dec__EtsiTs102941Data(BITSTRING &b, EtsiTs102941MessagesCa::EtsiTs102941Data &p_etsi_ts_102941_data) {
loggers::get_instance().log_msg(">>> fx__dec__EtsiTs102941Data: ", b);
etsi_ts102941_data_codec codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_etsi_ts_102941_data) == -1) {
loggers::get_instance().warning("fx__dec__EtsiTs102941Data: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__EtsiTs102941DataContent(const EtsiTs102941MessagesCa::EtsiTs102941DataContent& p_etsi_ts_102941_data_content) {
BITSTRING fx__enc__EtsiTs102941DataContent(const EtsiTs102941MessagesCa::EtsiTs102941DataContent &p_etsi_ts_102941_data_content) {
loggers::get_instance().log_msg(">>> fx__enc__EtsiTs102941DataContent: ", p_etsi_ts_102941_data_content);
etsi_ts102941_data_content_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_etsi_ts_102941_data_content, os) == -1) {
loggers::get_instance().warning("fx__enc__EtsiTs102941DataContent: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__EtsiTs102941DataContent(BITSTRING& b, EtsiTs102941MessagesCa::EtsiTs102941DataContent& p_etsi_ts_102941_data_content) {
INTEGER fx__dec__EtsiTs102941DataContent(BITSTRING &b, EtsiTs102941MessagesCa::EtsiTs102941DataContent &p_etsi_ts_102941_data_content) {
loggers::get_instance().log_msg(">>> fx__dec__EtsiTs102941DataContent: ", b);
etsi_ts102941_data_content_codec codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_etsi_ts_102941_data_content) == -1) {
loggers::get_instance().warning("fx__dec__EtsiTs102941DataContent: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__InnerEcRequest(const EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request) {
BITSTRING fx__enc__InnerEcRequest(const EtsiTs102941TypesEnrolment::InnerEcRequest &p_inner_request) {
loggers::get_instance().log_msg(">>> fx_enc_InnerEcRequest: ", p_inner_request);
etsi_ts102941_types_enrolment_inner_request codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_inner_request, os) == -1) {
loggers::get_instance().warning("fx_enc_InnerEcRequest: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__InnerEcRequest(BITSTRING& b, EtsiTs102941TypesEnrolment::InnerEcRequest& p_inner_request) {
INTEGER fx__dec__InnerEcRequest(BITSTRING &b, EtsiTs102941TypesEnrolment::InnerEcRequest &p_inner_request) {
loggers::get_instance().log_msg(">>> fx__dec__InnerEcRequest: ", b);
etsi_ts102941_types_enrolment_inner_request codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_inner_request) == -1) {
loggers::get_instance().warning("fx__dec__InnerEcRequest: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__InnerEcRequest: ", p_inner_request);
return 0;
}
BITSTRING fx__enc__InnerEcResponse(const EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response) {
BITSTRING fx__enc__InnerEcResponse(const EtsiTs102941TypesEnrolment::InnerEcResponse &p_inner_response) {
loggers::get_instance().log_msg(">>> fx__enc__InnerEcResponse: ", p_inner_response);
etsi_ts102941_types_enrolment_inner_response codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_inner_response, os) == -1) {
loggers::get_instance().warning("fx__enc__InnerEcResponse: -1 result code was returned");
return int2bit(0, 1);
......@@ -109,11 +109,11 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__InnerEcResponse(BITSTRING& b, EtsiTs102941TypesEnrolment::InnerEcResponse& p_inner_response) {
INTEGER fx__dec__InnerEcResponse(BITSTRING &b, EtsiTs102941TypesEnrolment::InnerEcResponse &p_inner_response) {
loggers::get_instance().log_msg(">>> fx__dec__InnerEcResponse: ", b);
etsi_ts102941_types_enrolment_inner_response codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_inner_response) == -1) {
loggers::get_instance().warning("fx__dec__InnerEcResponse: -1 result code was returned");
return -1;
......@@ -122,39 +122,39 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__InnerEcResponse: ", p_inner_response);
return 0;
}
BITSTRING fx__enc__InnerAtRequest(const EtsiTs102941TypesAuthorization::InnerAtRequest& p_inner_request) {
BITSTRING fx__enc__InnerAtRequest(const EtsiTs102941TypesAuthorization::InnerAtRequest &p_inner_request) {
loggers::get_instance().log_msg(">>> fx_enc_InnerAtRequest: ", p_inner_request);
etsi_ts102941_types_authorization_inner_request codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_inner_request, os) == -1) {
loggers::get_instance().warning("fx_enc_InnerAtRequest: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__InnerAtRequest(BITSTRING& b, EtsiTs102941TypesAuthorization::InnerAtRequest& p_inner_request) {
INTEGER fx__dec__InnerAtRequest(BITSTRING &b, EtsiTs102941TypesAuthorization::InnerAtRequest &p_inner_request) {
loggers::get_instance().log_msg(">>> fx__dec__InnerAtRequest: ", b);
etsi_ts102941_types_authorization_inner_request codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_inner_request) == -1) {
loggers::get_instance().warning("fx__dec__InnerAtRequest: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__InnerAtRequest: ", p_inner_request);
return 0;
}
BITSTRING fx__enc__InnerAtResponse(const EtsiTs102941TypesAuthorization::InnerAtResponse& p_inner_response) {
BITSTRING fx__enc__InnerAtResponse(const EtsiTs102941TypesAuthorization::InnerAtResponse &p_inner_response) {
loggers::get_instance().log_msg(">>> fx__enc__InnerAtResponse: ", p_inner_response);
etsi_ts102941_types_authorization_inner_response codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_inner_response, os) == -1) {
loggers::get_instance().warning("fx__enc__InnerAtResponse: -1 result code was returned");
return int2bit(0, 1);
......@@ -163,11 +163,11 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__InnerAtResponse(BITSTRING& b, EtsiTs102941TypesAuthorization::InnerAtResponse& p_inner_response) {
INTEGER fx__dec__InnerAtResponse(BITSTRING &b, EtsiTs102941TypesAuthorization::InnerAtResponse &p_inner_response) {
loggers::get_instance().log_msg(">>> fx__dec__InnerAtResponse: ", b);
etsi_ts102941_types_authorization_inner_response codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_inner_response) == -1) {
loggers::get_instance().warning("fx__dec__InnerAtResponse: -1 result code was returned");
return -1;
......@@ -177,11 +177,11 @@ namespace LibItsPki__EncdecDeclarations {
return 0;
}
BITSTRING fx__enc__SharedAtRequest(EtsiTs102941TypesAuthorization::SharedAtRequest const& p_shared_at) {
BITSTRING fx__enc__SharedAtRequest(EtsiTs102941TypesAuthorization::SharedAtRequest const &p_shared_at) {
loggers::get_instance().log_msg(">>> fx__enc__SharedAtRequest: ", p_shared_at);
etsi_ts102941_types_authorization_shared_at_request codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_shared_at, os) == -1) {
loggers::get_instance().warning("fx__enc__SharedAtRequest: -1 result code was returned");
return int2bit(0, 1);
......@@ -189,12 +189,12 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__SharedAtRequest(BITSTRING& b, EtsiTs102941TypesAuthorization::SharedAtRequest& p_shared_at) {
INTEGER fx__dec__SharedAtRequest(BITSTRING &b, EtsiTs102941TypesAuthorization::SharedAtRequest &p_shared_at) {
loggers::get_instance().log_msg(">>> fx__dec__SharedAtRequest: ", b);
etsi_ts102941_types_authorization_shared_at_request codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_shared_at) == -1) {
loggers::get_instance().warning("fx__dec__SharedAtRequest: -1 result code was returned");
return -1;
......@@ -203,12 +203,12 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__SharedAtRequest: ", p_shared_at);
return 0;
}
BITSTRING fx__enc__AuthorizationValidationRequest(EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest const& p_shared_at) {
BITSTRING fx__enc__AuthorizationValidationRequest(EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest const &p_shared_at) {
loggers::get_instance().log_msg(">>> fx__enc__AuthorizationValidationRequest: ", p_shared_at);
etsi_ts102941_types_authorization_validation_request codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_shared_at, os) == -1) {
loggers::get_instance().warning("fx__enc__AuthorizationValidationRequest: -1 result code was returned");
return int2bit(0, 1);
......@@ -216,12 +216,12 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__AuthorizationValidationRequest(BITSTRING& b, EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest& p_shared_at) {
INTEGER fx__dec__AuthorizationValidationRequest(BITSTRING &b, EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationRequest &p_shared_at) {
loggers::get_instance().log_msg(">>> fx__dec__AuthorizationValidationRequest: ", b);
etsi_ts102941_types_authorization_validation_request codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_shared_at) == -1) {
loggers::get_instance().warning("fx__dec__AuthorizationValidationRequest: -1 result code was returned");
return -1;
......@@ -230,12 +230,12 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__AuthorizationValidationRequest: ", p_shared_at);
return 0;
}
BITSTRING fx__enc__AuthorizationValidationResponse(EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse const& p_shared_at) {
BITSTRING fx__enc__AuthorizationValidationResponse(EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse const &p_shared_at) {
loggers::get_instance().log_msg(">>> fx__enc__AuthorizationValidationResponse: ", p_shared_at);
etsi_ts102941_types_authorization_validation_response codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_shared_at, os) == -1) {
loggers::get_instance().warning("fx__enc__AuthorizationValidationResponse: -1 result code was returned");
return int2bit(0, 1);
......@@ -243,12 +243,12 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__AuthorizationValidationResponse(BITSTRING& b, EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse& p_shared_at) {
INTEGER fx__dec__AuthorizationValidationResponse(BITSTRING &b, EtsiTs102941TypesAuthorizationValidation::AuthorizationValidationResponse &p_shared_at) {
loggers::get_instance().log_msg(">>> fx__dec__AuthorizationValidationResponse: ", b);
etsi_ts102941_types_authorization_validation_response codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_shared_at) == -1) {
loggers::get_instance().warning("fx__dec__AuthorizationValidationResponse: -1 result code was returned");
return -1;
......@@ -257,12 +257,12 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__AuthorizationValidationResponse: ", p_shared_at);
return 0;
}
BITSTRING fx__enc__PublicKeys(EtsiTs102941BaseTypes::PublicKeys const& p_public_keys) {
BITSTRING fx__enc__PublicKeys(EtsiTs102941BaseTypes::PublicKeys const &p_public_keys) {
loggers::get_instance().log_msg(">>> fx__enc__PublicKeys: ", p_public_keys);
etsi_ts102941_base_types_public_keys codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_public_keys, os) == -1) {
loggers::get_instance().warning("fx__enc__PublicKeys: -1 result code was returned");
return int2bit(0, 1);
......@@ -270,12 +270,12 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__PublicKeys(BITSTRING& b, EtsiTs102941BaseTypes::PublicKeys& p_public_keys) {
INTEGER fx__dec__PublicKeys(BITSTRING &b, EtsiTs102941BaseTypes::PublicKeys &p_public_keys) {
loggers::get_instance().log_msg(">>> fx__dec__PublicKeys: ", b);
etsi_ts102941_base_types_public_keys codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_public_keys) == -1) {
loggers::get_instance().warning("fx__dec__PublicKeys: -1 result code was returned");
return -1;
......@@ -284,12 +284,12 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__PublicKeys: ", p_public_keys);
return 0;
}
BITSTRING fx__enc__PublicVerificationKey(IEEE1609dot2BaseTypes::PublicVerificationKey const& p_public_verification_key) {
BITSTRING fx__enc__PublicVerificationKey(IEEE1609dot2BaseTypes::PublicVerificationKey const &p_public_verification_key) {
loggers::get_instance().log_msg(">>> fx__enc__PublicVerificationKey: ", p_public_verification_key);
ieee_1609dot2_base_types_public_verification_key codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_public_verification_key, os) == -1) {
loggers::get_instance().warning("fx__enc__PublicVerificationKey: -1 result code was returned");
return int2bit(0, 1);
......@@ -297,12 +297,12 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__PublicVerificationKey(BITSTRING& b, IEEE1609dot2BaseTypes::PublicVerificationKey& p_public_verification_key) {
INTEGER fx__dec__PublicVerificationKey(BITSTRING &b, IEEE1609dot2BaseTypes::PublicVerificationKey &p_public_verification_key) {
loggers::get_instance().log_msg(">>> fx__dec__PublicVerificationKey: ", b);
ieee_1609dot2_base_types_public_verification_key codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_public_verification_key) == -1) {
loggers::get_instance().warning("fx__dec__PublicVerificationKey: -1 result code was returned");
return -1;
......@@ -311,12 +311,12 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__PublicVerificationKey: ", p_public_verification_key);
return 0;
}
BITSTRING fx__enc__PublicEncryptionKey(IEEE1609dot2BaseTypes::PublicEncryptionKey const& p_public_encryption_key) {
BITSTRING fx__enc__PublicEncryptionKey(IEEE1609dot2BaseTypes::PublicEncryptionKey const &p_public_encryption_key) {
loggers::get_instance().log_msg(">>> fx__enc__PublicEncryptionKey: ", p_public_encryption_key);
ieee_1609dot2_base_types_public_encryption_key codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_public_encryption_key, os) == -1) {
loggers::get_instance().warning("fx__enc__PublicEncryptionKey: -1 result code was returned");
return int2bit(0, 1);
......@@ -324,12 +324,12 @@ namespace LibItsPki__EncdecDeclarations {
return oct2bit(os);
}
INTEGER fx__dec__PublicEncryptionKey(BITSTRING& b, IEEE1609dot2BaseTypes::PublicEncryptionKey& p_public_encryption_key) {
INTEGER fx__dec__PublicEncryptionKey(BITSTRING &b, IEEE1609dot2BaseTypes::PublicEncryptionKey &p_public_encryption_key) {
loggers::get_instance().log_msg(">>> fx__dec__PublicEncryptionKey: ", b);
ieee_1609dot2_base_types_public_encryption_key codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_public_encryption_key) == -1) {
loggers::get_instance().warning("fx__dec__PublicEncryptionKey: -1 result code was returned");
return -1;
......@@ -338,5 +338,5 @@ namespace LibItsPki__EncdecDeclarations {
loggers::get_instance().log_msg("<<< fx__dec__PublicEncryptionKey: ", p_public_encryption_key);
return 0;
}
} // End of namespace LibItsPki__EncdecDeclarations
......@@ -12,17 +12,16 @@ namespace LibItsRtcmem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__RtcmemReq(const LibItsRtcmem__TestSystem::RtcmemReq& p_rtcmemReq)
{
BITSTRING fx__enc__RtcmemReq(const LibItsRtcmem__TestSystem::RtcmemReq &p_rtcmemReq) {
loggers::get_instance().log_msg(">>> fx__enc__RtcmemReq: ", p_rtcmemReq);
RtcmemCodec codec;
OCTETSTRING os;
if (codec.encode(p_rtcmemReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__RtcmemReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -31,43 +30,36 @@ namespace LibItsRtcmem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__RtcmemReq(BITSTRING& b, LibItsRtcmem__TestSystem::RtcmemReq& p)
{
INTEGER fx__dec__RtcmemReq(BITSTRING &b, LibItsRtcmem__TestSystem::RtcmemReq &p) {
loggers::get_instance().log(">>> fx__dec__RtcmemReq");
RtcmemCodec codec;
RtcmemCodec codec;
RTCMEM__PDU__Descriptions::RTCMEM rtcmem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, rtcmem) == -1) {
loggers::get_instance().warning("fx__dec__RtcmemReq: -1 result code was returned");
return -1;
}
p.msgOut() = rtcmem;
return 0;
}
INTEGER fx__dec__RtcmemInd(BITSTRING& b, LibItsRtcmem__TestSystem::RtcmemInd& p_rtcmemInd)
{
INTEGER fx__dec__RtcmemInd(BITSTRING &b, LibItsRtcmem__TestSystem::RtcmemInd &p_rtcmemInd) {
loggers::get_instance().log(">>> fx__dec__RtcmemInd");
RtcmemCodec codec;
RtcmemCodec codec;
RTCMEM__PDU__Descriptions::RTCMEM rtcmem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsRtcmem__TestSystem::RtcmemInd_gnNextHeader_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_gnHeaderType_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_gnHeaderSubtype_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_gnLifetime_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_gnTrafficClass_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_btpDestinationPort_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_btpInfo_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_ssp_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsRtcmem__TestSystem::RtcmemInd_gnNextHeader_raw_.fieldlength + LibItsRtcmem__TestSystem::RtcmemInd_gnHeaderType_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_gnHeaderSubtype_raw_.fieldlength + LibItsRtcmem__TestSystem::RtcmemInd_gnLifetime_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_gnTrafficClass_raw_.fieldlength + LibItsRtcmem__TestSystem::RtcmemInd_btpDestinationPort_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_btpInfo_raw_.fieldlength + LibItsRtcmem__TestSystem::RtcmemInd_ssp_raw_.fieldlength +
LibItsRtcmem__TestSystem::RtcmemInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), rtcmem) == -1) {
loggers::get_instance().warning("fx__dec__RtcmemInd: -1 result code was returned");
......@@ -167,22 +159,20 @@ namespace LibItsRtcmem__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__RTCMEM: its_aid=", p_rtcmemInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__RTCMEM: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__RTCMEM(const RTCMEM__PDU__Descriptions::RTCMEM& p_rtcmem)
{
BITSTRING fx__enc__RTCMEM(const RTCMEM__PDU__Descriptions::RTCMEM &p_rtcmem) {
loggers::get_instance().log_msg(">>> fx__enc__RTCMEM: ", p_rtcmem);
RtcmemCodec codec;
OCTETSTRING os;
codec.encode(p_rtcmem, os);
return oct2bit(os);
}
INTEGER fx__dec__RTCMEM(BITSTRING& b, RTCMEM__PDU__Descriptions::RTCMEM& p)
{
INTEGER fx__dec__RTCMEM(BITSTRING &b, RTCMEM__PDU__Descriptions::RTCMEM &p) {
loggers::get_instance().log(">>> fx__dec__RTCMEM");
RtcmemCodec codec;
OCTETSTRING is = bit2oct(b);
......@@ -191,67 +181,62 @@ namespace LibItsRtcmem__EncdecDeclarations {
loggers::get_instance().warning("fx__dec__RTCMEM: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__UtRtcmemInitialize (const LibItsRtcmem__TypesAndValues::UtRtcmemInitialize& p_utRtcmemInitialize)
{
BITSTRING fx__enc__UtRtcmemInitialize(const LibItsRtcmem__TypesAndValues::UtRtcmemInitialize &p_utRtcmemInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtRtcmemInitialize: ", p_utRtcmemInitialize);
UpperTesterRtcmemCodec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utRtcmemInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtRtcmemTrigger (const LibItsRtcmem__TypesAndValues::UtRtcmemTrigger& p_utRtcmemTrigger)
{
BITSTRING fx__enc__UtRtcmemTrigger(const LibItsRtcmem__TypesAndValues::UtRtcmemTrigger &p_utRtcmemTrigger) {
loggers::get_instance().log_msg(">>> fx__enc__UtRtcmemTrigger: ", p_utRtcmemTrigger);
UpperTesterRtcmemCodec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utRtcmemTrigger, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtRtcmemUpdate (const LibItsRtcmem__TypesAndValues::UtRtcmemUpdate& p_utRtcmemUpdate)
{
BITSTRING fx__enc__UtRtcmemUpdate(const LibItsRtcmem__TypesAndValues::UtRtcmemUpdate &p_utRtcmemUpdate) {
loggers::get_instance().log_msg(">>> fx__enc__UtRtcmemUpdate: ", p_utRtcmemUpdate);
UpperTesterRtcmemCodec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utRtcmemUpdate, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtRtcmemTermination (const LibItsRtcmem__TypesAndValues::UtRtcmemTermination& p_utRtcmemTermination)
{
BITSTRING fx__enc__UtRtcmemTermination(const LibItsRtcmem__TypesAndValues::UtRtcmemTermination &p_utRtcmemTermination) {
loggers::get_instance().log_msg(">>> fx__enc__UtRtcmemTermination: ", p_utRtcmemTermination);
UpperTesterRtcmemCodec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utRtcmemTermination, os);
return oct2bit(os);
}
/****************************************************
/****************************************************
* @desc External function to decode a UtRtcmemResults type
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtRtcmemResults(BITSTRING& b, LibItsRtcmem__TypesAndValues::UtRtcmemResults& p)
{
INTEGER fx__dec__UtRtcmemResults(BITSTRING &b, LibItsRtcmem__TypesAndValues::UtRtcmemResults &p) {
loggers::get_instance().log(">>> fx__dec__UtRtcmemResults");
UpperTesterRtcmemCodec codec;
OCTETSTRING is = bit2oct(b);
UpperTesterRtcmemCodec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtRtcmemResults: -1 result code was returned");
return -1;
}
p = static_cast<LibItsRtcmem__TypesAndValues::UtRtcmemResults&>(*ptr);
p = static_cast<LibItsRtcmem__TypesAndValues::UtRtcmemResults &>(*ptr);
return 0;
}
......@@ -260,20 +245,18 @@ namespace LibItsRtcmem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtRtcmemEventInd(BITSTRING& b, LibItsRtcmem__TypesAndValues::UtRtcmemEventInd& p)
{
INTEGER fx__dec__UtRtcmemEventInd(BITSTRING &b, LibItsRtcmem__TypesAndValues::UtRtcmemEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtRtcmemEventInd");
UpperTesterRtcmemCodec codec;
OCTETSTRING is = bit2oct(b);
UpperTesterRtcmemCodec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtRtcmemEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsRtcmem__TypesAndValues::UtRtcmemEventInd&>(*ptr);
p = static_cast<LibItsRtcmem__TypesAndValues::UtRtcmemEventInd &>(*ptr);
return 0;
}
} //end namespace
} // namespace LibItsRtcmem__EncdecDeclarations
#include "LibItsSecurity_EncdecDeclarations.hh"
#include "etsi_ts103097_certificate_codec.hh"
#include "etsi_ts103097_tobesigned_certificate_codec.hh"
#include "etsi_ts103097_data_codec.hh"
#include "etsi_ts103097_tobesigned_certificate_codec.hh"
#include "etsi_ts103097_tobesigned_data_codec.hh"
#include "loggers.hh"
namespace LibItsSecurity__EncdecDeclarations {
BITSTRING fx__enc__CertificateBase(IEEE1609dot2::CertificateBase const& p_cert) {
BITSTRING fx__enc__CertificateBase(IEEE1609dot2::CertificateBase const &p_cert) {
loggers::get_instance().log_msg(">>> fx__enc__CertificateBase: ", p_cert);
etsi_ts103097_certificate_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_cert, os) == -1) {
loggers::get_instance().warning("fx__enc__CertificateBase: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__CertificateBase(BITSTRING& b, IEEE1609dot2::CertificateBase& p_cert) {
INTEGER fx__dec__CertificateBase(BITSTRING &b, IEEE1609dot2::CertificateBase &p_cert) {
loggers::get_instance().log_msg(">>> fx__dec__CertificateBase: ", b);
etsi_ts103097_certificate_codec codec;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, p_cert) == -1) {
loggers::get_instance().warning("fx__dec__CertificateBase: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__CertificateBase: ", p_cert);
return 0;
}
BITSTRING fx__enc__ToBeSignedCertificate(const IEEE1609dot2::ToBeSignedCertificate& p_toBeSignedCertificate) {
BITSTRING fx__enc__ToBeSignedCertificate(const IEEE1609dot2::ToBeSignedCertificate &p_toBeSignedCertificate) {
loggers::get_instance().log_msg(">>> fx__enc__ToBeSignedCertificate: ", p_toBeSignedCertificate);
etsi_ts103097_tobesigned_certificate_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p_toBeSignedCertificate, os) == -1) {
loggers::get_instance().warning("fx__enc__ToBeSignedCertificate: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
BITSTRING fx__enc__Ieee1609Dot2Data(const IEEE1609dot2::Ieee1609Dot2Data& p__ieee1609Dot2Data) {
BITSTRING fx__enc__Ieee1609Dot2Data(const IEEE1609dot2::Ieee1609Dot2Data &p__ieee1609Dot2Data) {
loggers::get_instance().log_msg(">>> fx__enc__Ieee1609Dot2Data: ", p__ieee1609Dot2Data);
etsi_ts103097_data_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p__ieee1609Dot2Data, os) == -1) {
loggers::get_instance().warning("fx__enc__Ieee1609Dot2Data: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__Ieee1609Dot2Data(BITSTRING& p__data, IEEE1609dot2::Ieee1609Dot2Data& p__ieee1609Dot2Data) {
INTEGER fx__dec__Ieee1609Dot2Data(BITSTRING &p__data, IEEE1609dot2::Ieee1609Dot2Data &p__ieee1609Dot2Data) {
loggers::get_instance().log_msg(">>> fx__dec__Ieee1609Dot2Data: ", p__data);
etsi_ts103097_data_codec codec;
OCTETSTRING is = bit2oct(p__data);
OCTETSTRING is = bit2oct(p__data);
if (codec.decode(is, p__ieee1609Dot2Data) == -1) {
loggers::get_instance().warning("fx__dec__Ieee1609Dot2Data: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__Ieee1609Dot2Data: ", p__ieee1609Dot2Data);
return 0;
}
BITSTRING fx__enc__Ieee1609Dot2ToBeSignedData(const IEEE1609dot2::ToBeSignedData& p__toBeSignedData) {
BITSTRING fx__enc__Ieee1609Dot2ToBeSignedData(const IEEE1609dot2::ToBeSignedData &p__toBeSignedData) {
loggers::get_instance().log_msg(">>> fx__enc__Ieee1609Dot2ToBeSignedData: ", p__toBeSignedData);
etsi_ts103097_tobesigned_data_codec codec;
OCTETSTRING os;
OCTETSTRING os;
if (codec.encode(p__toBeSignedData, os) == -1) {
loggers::get_instance().warning("fx__enc__Ieee1609Dot2ToBeSignedData: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
INTEGER fx__dec__Ieee1609Dot2ToBeSignedData(BITSTRING& p__data, IEEE1609dot2::ToBeSignedData& p__toBeSignedData) {
INTEGER fx__dec__Ieee1609Dot2ToBeSignedData(BITSTRING &p__data, IEEE1609dot2::ToBeSignedData &p__toBeSignedData) {
loggers::get_instance().log_msg(">>> fx__dec__Ieee1609Dot2ToBeSignedData: ", p__data);
etsi_ts103097_tobesigned_data_codec codec;
OCTETSTRING is = bit2oct(p__data);
OCTETSTRING is = bit2oct(p__data);
if (codec.decode(is, p__toBeSignedData) == -1) {
loggers::get_instance().warning("fx__dec__Ieee1609Dot2ToBeSignedData: -1 result code was returned");
return -1;
}
loggers::get_instance().log_msg("<<< fx__dec__Ieee1609Dot2ToBeSignedData: ", p__toBeSignedData);
return 0;
}
BITSTRING fx__enc__SspCAM(const LibItsSecurity__TypesAndValues::SspCAM& p__ssp) {
BITSTRING fx__enc__SspCAM(const LibItsSecurity__TypesAndValues::SspCAM &p__ssp) {
loggers::get_instance().log_msg(">>> fx__enc__SspCAM: ", p__ssp);
TTCN_Buffer encoding_buffer;
p__ssp.encode(*p__ssp.get_descriptor(), encoding_buffer, TTCN_EncDec::CT_RAW);
return oct2bit(OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()));
}
INTEGER fx__dec__SspCAM(BITSTRING& p__data, LibItsSecurity__TypesAndValues::SspCAM& p__ssp) {
INTEGER fx__dec__SspCAM(BITSTRING &p__data, LibItsSecurity__TypesAndValues::SspCAM &p__ssp) {
loggers::get_instance().log_msg(">>> fx__dec__SspCAM: ", p__data);
TTCN_Buffer decoding_buffer(bit2oct(p__data));
p__ssp.decode(*p__ssp.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_RAW);
return 0;
}
BITSTRING fx__enc__SspDENM(const LibItsSecurity__TypesAndValues::SspDENM& p__ssp) {
BITSTRING fx__enc__SspDENM(const LibItsSecurity__TypesAndValues::SspDENM &p__ssp) {
loggers::get_instance().log_msg(">>> fx__enc__SspDENM: ", p__ssp);
TTCN_Buffer encoding_buffer;
p__ssp.encode(*p__ssp.get_descriptor(), encoding_buffer, TTCN_EncDec::CT_RAW);
return oct2bit(OCTETSTRING(encoding_buffer.get_len(), encoding_buffer.get_data()));
}
INTEGER fx__dec__SspDENM(BITSTRING& p__data, LibItsSecurity__TypesAndValues::SspDENM& p__ssp) {
INTEGER fx__dec__SspDENM(BITSTRING &p__data, LibItsSecurity__TypesAndValues::SspDENM &p__ssp) {
loggers::get_instance().log_msg(">>> fx__dec__SspDENM: ", p__data);
TTCN_Buffer decoding_buffer(bit2oct(p__data));
p__ssp.decode(*p__ssp.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_RAW);
return 0;
}
} //end namespace
} // namespace LibItsSecurity__EncdecDeclarations
......@@ -13,17 +13,16 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__SremReq(const LibItsSremSsem__TestSystem::SremReq& p_sremReq)
{
BITSTRING fx__enc__SremReq(const LibItsSremSsem__TestSystem::SremReq &p_sremReq) {
loggers::get_instance().log_msg(">>> fx__enc__SremReq: ", p_sremReq);
SremCodec codec;
SremCodec codec;
OCTETSTRING os;
if (codec.encode(p_sremReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__SremReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -32,20 +31,19 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__SremReq(BITSTRING& b, LibItsSremSsem__TestSystem::SremReq& p)
{
INTEGER fx__dec__SremReq(BITSTRING &b, LibItsSremSsem__TestSystem::SremReq &p) {
loggers::get_instance().log(">>> fx__dec__SremReq");
SremCodec codec;
SremCodec codec;
SREM__PDU__Descriptions::SREM srem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, srem) == -1) {
loggers::get_instance().warning("fx__dec__SremReq: -1 result code was returned");
return -1;
}
p.msgOut() = srem;
return 0;
}
......@@ -54,17 +52,16 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__SremInd(const LibItsSremSsem__TestSystem::SremInd& p_sremInd)
{
BITSTRING fx__enc__SremInd(const LibItsSremSsem__TestSystem::SremInd &p_sremInd) {
loggers::get_instance().log_msg(">>> fx__enc__SremInd: ", p_sremInd);
SremCodec codec;
SremCodec codec;
OCTETSTRING os;
if (codec.encode(p_sremInd.msgIn(), os) == -1) {
loggers::get_instance().warning("fx__enc__SremInd: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -73,26 +70,20 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__SremInd(BITSTRING& b, LibItsSremSsem__TestSystem::SremInd& p_sremInd)
{
INTEGER fx__dec__SremInd(BITSTRING &b, LibItsSremSsem__TestSystem::SremInd &p_sremInd) {
loggers::get_instance().log(">>> fx__dec__SremInd");
SremCodec codec;
SremCodec codec;
SREM__PDU__Descriptions::SREM srem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsSremSsem__TestSystem::SremInd_gnNextHeader_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_gnHeaderType_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_gnHeaderSubtype_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_gnLifetime_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_gnTrafficClass_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_btpDestinationPort_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_btpInfo_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_ssp_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsSremSsem__TestSystem::SremInd_gnNextHeader_raw_.fieldlength + LibItsSremSsem__TestSystem::SremInd_gnHeaderType_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_gnHeaderSubtype_raw_.fieldlength + LibItsSremSsem__TestSystem::SremInd_gnLifetime_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_gnTrafficClass_raw_.fieldlength + LibItsSremSsem__TestSystem::SremInd_btpDestinationPort_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_btpInfo_raw_.fieldlength + LibItsSremSsem__TestSystem::SremInd_ssp_raw_.fieldlength +
LibItsSremSsem__TestSystem::SremInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), srem) == -1) {
loggers::get_instance().warning("fx__dec__SremInd: -1 result code was returned");
......@@ -192,50 +183,47 @@ namespace LibItsSremSsem__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__SremInd: its_aid=", p_sremInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__SremInd: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__SREM(const SREM__PDU__Descriptions::SREM& p_srem)
{
BITSTRING fx__enc__SREM(const SREM__PDU__Descriptions::SREM &p_srem) {
loggers::get_instance().log_msg(">>> fx__enc__SREM: ", p_srem);
SremCodec codec;
SremCodec codec;
OCTETSTRING os;
codec.encode(p_srem, os);
return oct2bit(os);
}
INTEGER fx__dec__SREM(BITSTRING& b, SREM__PDU__Descriptions::SREM& p)
{
INTEGER fx__dec__SREM(BITSTRING &b, SREM__PDU__Descriptions::SREM &p) {
loggers::get_instance().log(">>> fx__dec__SREM");
SremCodec codec;
SremCodec codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p) == -1) {
loggers::get_instance().warning("fx__dec__Srem: -1 result code was returned");
return -1;
}
return 0;
}
/****************************************************
* @desc External function to encode a SsemReq type
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__SsemReq(const LibItsSremSsem__TestSystem::SsemReq& p_ssemReq)
{
BITSTRING fx__enc__SsemReq(const LibItsSremSsem__TestSystem::SsemReq &p_ssemReq) {
loggers::get_instance().log_msg(">>> fx__enc__SsemReq: ", p_ssemReq);
SsemCodec codec;
SsemCodec codec;
OCTETSTRING os;
if (codec.encode(p_ssemReq.msgOut(), os) == -1) {
loggers::get_instance().warning("fx__enc__SsemReq: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -244,20 +232,19 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__SsemReq(BITSTRING& b, LibItsSremSsem__TestSystem::SsemReq& p)
{
INTEGER fx__dec__SsemReq(BITSTRING &b, LibItsSremSsem__TestSystem::SsemReq &p) {
loggers::get_instance().log(">>> fx__dec__SsemReq");
SsemCodec codec;
SsemCodec codec;
SSEM__PDU__Descriptions::SSEM ssem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
if (codec.decode(is, ssem) == -1) {
loggers::get_instance().warning("fx__dec__SsemReq: -1 result code was returned");
return -1;
}
p.msgOut() = ssem;
return 0;
}
......@@ -266,17 +253,16 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
BITSTRING fx__enc__SsemInd(const LibItsSremSsem__TestSystem::SsemInd& p_ssemInd)
{
BITSTRING fx__enc__SsemInd(const LibItsSremSsem__TestSystem::SsemInd &p_ssemInd) {
loggers::get_instance().log_msg(">>> fx__enc__SsemInd: ", p_ssemInd);
SsemCodec codec;
SsemCodec codec;
OCTETSTRING os;
if (codec.encode(p_ssemInd.msgIn(), os) == -1) {
loggers::get_instance().warning("fx__enc__SsemInd: -1 result code was returned");
return int2bit(0, 1);
}
return oct2bit(os);
}
......@@ -285,26 +271,20 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__SsemInd(BITSTRING& b, LibItsSremSsem__TestSystem::SsemInd& p_ssemInd)
{
INTEGER fx__dec__SsemInd(BITSTRING &b, LibItsSremSsem__TestSystem::SsemInd &p_ssemInd) {
loggers::get_instance().log(">>> fx__dec__SsemInd");
SsemCodec codec;
SsemCodec codec;
SSEM__PDU__Descriptions::SSEM ssem;
OCTETSTRING is = bit2oct(b);
OCTETSTRING is = bit2oct(b);
// Calculate the size of the lower layers information
int s = (
LibItsSremSsem__TestSystem::SsemInd_gnNextHeader_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_gnHeaderType_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_gnHeaderSubtype_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_gnLifetime_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_gnTrafficClass_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_btpDestinationPort_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_btpInfo_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_ssp_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_its__aid_raw_.fieldlength
) / 8;
int s = (LibItsSremSsem__TestSystem::SsemInd_gnNextHeader_raw_.fieldlength + LibItsSremSsem__TestSystem::SsemInd_gnHeaderType_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_gnHeaderSubtype_raw_.fieldlength + LibItsSremSsem__TestSystem::SsemInd_gnLifetime_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_gnTrafficClass_raw_.fieldlength + LibItsSremSsem__TestSystem::SsemInd_btpDestinationPort_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_btpInfo_raw_.fieldlength + LibItsSremSsem__TestSystem::SsemInd_ssp_raw_.fieldlength +
LibItsSremSsem__TestSystem::SsemInd_its__aid_raw_.fieldlength) /
8;
// Decode CA message
if (codec.decode(OCTETSTRING(is.lengthof() - s, static_cast<const unsigned char *>(is)), ssem) == -1) {
loggers::get_instance().warning("fx__dec__SsemSsemInd: -1 result code was returned");
......@@ -404,50 +384,46 @@ namespace LibItsSremSsem__EncdecDeclarations {
}
loggers::get_instance().log_msg("fx__dec__SsemInd: its_aid=", p_ssemInd.its__aid());
loggers::get_instance().log_to_hexa("fx__dec__SsemInd: ", decoding_buffer);
return 0;
}
BITSTRING fx__enc__SSEM(const SSEM__PDU__Descriptions::SSEM& p_ssem)
{
BITSTRING fx__enc__SSEM(const SSEM__PDU__Descriptions::SSEM &p_ssem) {
loggers::get_instance().log_msg(">>> fx__enc__SSEM: ", p_ssem);
SsemCodec codec;
SsemCodec codec;
OCTETSTRING os;
codec.encode(p_ssem, os);
return oct2bit(os);
}
INTEGER fx__dec__SSEM(BITSTRING& b, SSEM__PDU__Descriptions::SSEM& p_ssem)
{
INTEGER fx__dec__SSEM(BITSTRING &b, SSEM__PDU__Descriptions::SSEM &p_ssem) {
loggers::get_instance().log(">>> fx__dec__SSEM");
SsemCodec codec;
SsemCodec codec;
OCTETSTRING is = bit2oct(b);
if (codec.decode(OCTETSTRING(is.lengthof(), static_cast<const unsigned char *>(is)), p_ssem) == -1) {
loggers::get_instance().warning("fx__dec__Ssem: -1 result code was returned");
return -1;
}
return 0;
}
BITSTRING fx__enc__UtSremInitialize (const LibItsSremSsem__TypesAndValues::UtSremInitialize& p_utSremInitialize)
{
BITSTRING fx__enc__UtSremInitialize(const LibItsSremSsem__TypesAndValues::UtSremInitialize &p_utSremInitialize) {
loggers::get_instance().log_msg(">>> fx__enc__UtSremInitialize: ", p_utSremInitialize);
UpperTesterSremSsemCodec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utSremInitialize, os);
return oct2bit(os);
}
BITSTRING fx__enc__UtSremTrigger (const LibItsSremSsem__TypesAndValues::UtSremTrigger& p_utSremTrigger)
{
BITSTRING fx__enc__UtSremTrigger(const LibItsSremSsem__TypesAndValues::UtSremTrigger &p_utSremTrigger) {
loggers::get_instance().log_msg(">>> fx__enc__UtSremTrigger: ", p_utSremTrigger);
UpperTesterSremSsemCodec codec;
OCTETSTRING os;
OCTETSTRING os;
codec.encode(p_utSremTrigger, os);
return oct2bit(os);
}
......@@ -457,18 +433,17 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtSremResults(BITSTRING& b, LibItsSremSsem__TypesAndValues::UtSremResults& p)
{
INTEGER fx__dec__UtSremResults(BITSTRING &b, LibItsSremSsem__TypesAndValues::UtSremResults &p) {
loggers::get_instance().log(">>> fx__dec__UtSremResults");
UpperTesterSremSsemCodec codec;
OCTETSTRING is = bit2oct(b);
UpperTesterSremSsemCodec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtSremResults: -1 result code was returned");
return -1;
}
p = static_cast<LibItsSremSsem__TypesAndValues::UtSremResults&>(*ptr);
p = static_cast<LibItsSremSsem__TypesAndValues::UtSremResults &>(*ptr);
return 0;
}
......@@ -477,18 +452,17 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtSremEventInd(BITSTRING& b, LibItsSremSsem__TypesAndValues::UtSremEventInd& p)
{
INTEGER fx__dec__UtSremEventInd(BITSTRING &b, LibItsSremSsem__TypesAndValues::UtSremEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtSremEventInd");
UpperTesterSremSsemCodec codec;
OCTETSTRING is = bit2oct(b);
UpperTesterSremSsemCodec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtSremEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsSremSsem__TypesAndValues::UtSremEventInd&>(*ptr);
p = static_cast<LibItsSremSsem__TypesAndValues::UtSremEventInd &>(*ptr);
return 0;
}
......@@ -497,20 +471,18 @@ namespace LibItsSremSsem__EncdecDeclarations {
* @param value to encode
* @return encoded value
****************************************************/
INTEGER fx__dec__UtSsemEventInd(BITSTRING& b, LibItsSremSsem__TypesAndValues::UtSsemEventInd& p)
{
INTEGER fx__dec__UtSsemEventInd(BITSTRING &b, LibItsSremSsem__TypesAndValues::UtSsemEventInd &p) {
loggers::get_instance().log(">>> fx__dec__UtSsemEventInd");
UpperTesterSremSsemCodec codec;
OCTETSTRING is = bit2oct(b);
UpperTesterSremSsemCodec codec;
OCTETSTRING is = bit2oct(b);
std::unique_ptr<Base_Type> ptr = codec.decode(is);
if (ptr == nullptr) {
loggers::get_instance().warning("fx__dec__UtSsemEventInd: -1 result code was returned");
return -1;
}
p = static_cast<LibItsSremSsem__TypesAndValues::UtSsemEventInd&>(*ptr);
p = static_cast<LibItsSremSsem__TypesAndValues::UtSsemEventInd &>(*ptr);
return 0;
}
} //end namespace
} // namespace LibItsSremSsem__EncdecDeclarations
#include "ItsRSUsSimulator_Functions.hh"
namespace ItsRSUsSimulator__Functions
{
void fx__computePositionFromRotation(const INTEGER& p__refLatitude, const INTEGER& p__refLongitude, const INTEGER& p__cenLatitude, const INTEGER& p__cenLongitude, const INTEGER& p__rotation, INTEGER& p__latitude, INTEGER& p__longitude) {
namespace ItsRSUsSimulator__Functions {
void fx__computePositionFromRotation(const INTEGER &p__refLatitude, const INTEGER &p__refLongitude, const INTEGER &p__cenLatitude,
const INTEGER &p__cenLongitude, const INTEGER &p__rotation, INTEGER &p__latitude, INTEGER &p__longitude) {
// TODO
p__latitude = p__cenLatitude;
p__latitude = p__cenLatitude;
p__longitude = p__cenLongitude;
}
} // end of namespace
} // namespace ItsRSUsSimulator__Functions
......@@ -5,21 +5,19 @@
#include "loggers.hh"
#ifndef M_PI
#define M_PI 3.14159265358979323846
#define M_PI 3.14159265358979323846
#endif
#define earthRadius 6378137.0L
#define rbis = ((double)(earthRadius * M_PI / 180))
namespace LibItsCommon__Functions
{
namespace LibItsCommon__Functions {
/**
* @desc This external function gets the current time
* @return Timestamp - current time since 01/01/2004 in milliseconds
* @see fx_getCurrentTime() return TimestampIts
*/
INTEGER fx__getCurrentTime(
) {
INTEGER fx__getCurrentTime() {
INTEGER i;
i.set_long_long_val(base_time::get_instance().get_its_current_time_ms());
loggers::get_instance().log_msg("<<< fx__getCurrentTime: ", i);
......@@ -30,8 +28,7 @@ namespace LibItsCommon__Functions
* @return The current time since 01/01/1970 in UTC format
* @see fx_getCurrentTimeUtc() return UInt64
*/
INTEGER fx__getCurrentTimeUtc(
) {
INTEGER fx__getCurrentTimeUtc() {
INTEGER i;
i.set_long_long_val(base_time::get_instance().get_current_time_ms());
loggers::get_instance().log_msg("<<< fx__getCurrentTimeUtc: ", i);
......@@ -42,9 +39,8 @@ namespace LibItsCommon__Functions
* @return TimeMark - tenths of a second in the current or next hour in units of 1/10th second from UTC time
* @see function f_getCurrentTimeMark() return TimeMark
*/
INTEGER fx__getCurrentTimeMark(
) {
// TODO: this is just a sceleton. fill in the function
INTEGER fx__getCurrentTimeMark() {
// TODO: this is just a sceleton. fill in the function
return 0;
}
......@@ -53,9 +49,8 @@ namespace LibItsCommon__Functions
* @return MinuteOfTheYear - tenths of a second in the current or next hour in units of 1/10th second from UTC time
* @see function f_getMinuteOfTheYear() return MinuteOfTheYear
*/
INTEGER fx__getMinuteOfTheYear(
) {
// TODO: this is just a sceleton. fill in the function
INTEGER fx__getMinuteOfTheYear() {
// TODO: this is just a sceleton. fill in the function
return 0;
}
......@@ -64,9 +59,8 @@ namespace LibItsCommon__Functions
* @return DSecond - The milliseconds point in the current UTC minute (0..60000)
* @see function f_getDSecond() return DSecond
*/
INTEGER fx__getDSecond(
) {
// TODO: this is just a sceleton. fill in the function
INTEGER fx__getDSecond() {
// TODO: this is just a sceleton. fill in the function
return 0;
}
......@@ -78,62 +72,53 @@ namespace LibItsCommon__Functions
* @return Computed distance in meters
fx_computeDistance(in Int32 p_latitudeA, in Int32 p_longitudeA, in Int32 p_latitudeB, in Int32 p_longitudeB) return float;
*/
FLOAT fx__computeDistance(
const INTEGER& p__latitudeA,
const INTEGER& p__longitudeA,
const INTEGER& p__latitudeB,
const INTEGER& p__longitudeB
) {
double d_latA = ((double)p__latitudeA)/10000000.0;
double d_latB = ((double)p__latitudeB)/10000000.0;
double d_lonA = ((double)p__longitudeA)/10000000.0;
double d_lonB = ((double)p__longitudeB)/10000000.0;
double d_lat = (d_latB - d_latA) * (M_PI/180.0);
double d_lon = (d_lonB - d_lonA) * (M_PI/180.0);
double a = sin(d_lat/2)*sin(d_lat/2) + cos(d_latA*M_PI/180.0)*cos(d_latB*M_PI/180.0)*sin(d_lon/2)*sin(d_lon/2);
double c = 2*atan2(sqrt(a), sqrt(1-a));
return FLOAT(earthRadius*c);
FLOAT fx__computeDistance(const INTEGER &p__latitudeA, const INTEGER &p__longitudeA, const INTEGER &p__latitudeB, const INTEGER &p__longitudeB) {
double d_latA = ((double)p__latitudeA) / 10000000.0;
double d_latB = ((double)p__latitudeB) / 10000000.0;
double d_lonA = ((double)p__longitudeA) / 10000000.0;
double d_lonB = ((double)p__longitudeB) / 10000000.0;
double d_lat = (d_latB - d_latA) * (M_PI / 180.0);
double d_lon = (d_lonB - d_lonA) * (M_PI / 180.0);
double a = sin(d_lat / 2) * sin(d_lat / 2) + cos(d_latA * M_PI / 180.0) * cos(d_latB * M_PI / 180.0) * sin(d_lon / 2) * sin(d_lon / 2);
double c = 2 * atan2(sqrt(a), sqrt(1 - a));
return FLOAT(earthRadius * c);
}
/* * @desc External function to compute a position using a reference position, a distance and an orientation
/* * @desc External function to compute a position using a reference position, a distance and an orientation
* @param p_iutLongPosVector Reference position
* @param p_distance Distance to the reference position (in meter)
* @param p_orientation Direction of the computed position (0 to 359; 0 means North)
* @param p_latitude Computed position's latitude
* @param p_longitude Computed position's longitude
fx_computePositionUsingDistance(in Int32 p_refLatitude,in Int32 p_refLongitude,in float p_distance,in integer p_orientation,out Int32 p_latitude,out Int32 p_longitude);
fx_computePositionUsingDistance(in Int32 p_refLatitude,in Int32 p_refLongitude,in float p_distance,in integer p_orientation,out Int32 p_latitude,out Int32
p_longitude);
*/
void fx__computePositionUsingDistance(
const INTEGER& p__refLatitude,
const INTEGER& p__refLongitude,
const FLOAT& p__distance,
const INTEGER& p__orientation,
INTEGER& p__latitude,
INTEGER& p__longitude
) {
double angularD = static_cast<const float>(p__distance) / earthRadius;
void fx__computePositionUsingDistance(const INTEGER &p__refLatitude, const INTEGER &p__refLongitude, const FLOAT &p__distance, const INTEGER &p__orientation,
INTEGER &p__latitude, INTEGER &p__longitude) {
double angularD = static_cast<const float>(p__distance) / earthRadius;
double radHeading = (double)static_cast<const int>(p__orientation) * M_PI / 180;
// Convert to rad
double lat1 = ((double)static_cast<const int>(p__refLatitude) / 10000000) * M_PI / 180;
double lat1 = ((double)static_cast<const int>(p__refLatitude) / 10000000) * M_PI / 180;
double long1 = ((double)static_cast<const int>(p__refLongitude) / 10000000) * M_PI / 180;
double lat2 = asin(sin(lat1) * cos(angularD) + cos(lat1) * sin(angularD) * cos(radHeading));
double lat2 = asin(sin(lat1) * cos(angularD) + cos(lat1) * sin(angularD) * cos(radHeading));
double long2 = long1 + atan2(sin(radHeading) * sin(angularD) * cos(lat1), cos(angularD) - sin(lat1) * sin(lat2));
// normalise to -180...+180
long2 = fmod((long2 + 3 * M_PI), (2 * M_PI) - M_PI);
// convert to 1/10 of microdegrees
long rlat2 = round(lat2 * 10000000 / M_PI * 180);
long rlat2 = round(lat2 * 10000000 / M_PI * 180);
long rlong2 = round(long2 * 10000000 / M_PI * 180);
p__latitude = rlat2;//asin(sin(ref_lat)*cos(distance) + cos(ref_lat)*sin(distance)*cos(angle)) * 180.0 / M_PI;
p__longitude = rlong2;//((double)p__refLongitude) + atan2(sin(angle)*sin(distance)*cos(ref_lat), cos(distance) - sin(ref_lat)*sin((double)p__latitude))*(180.0/M_PI);
p__latitude = rlat2; // asin(sin(ref_lat)*cos(distance) + cos(ref_lat)*sin(distance)*cos(angle)) * 180.0 / M_PI;
p__longitude =
rlong2; //((double)p__refLongitude) + atan2(sin(angle)*sin(distance)*cos(ref_lat), cos(distance) - sin(ref_lat)*sin((double)p__latitude))*(180.0/M_PI);
}
/* * @desc External function to compute radius of a given circular area
......@@ -141,10 +126,6 @@ namespace LibItsCommon__Functions
* @return Computed radius in meters
fx_computeRadiusFromCircularArea(in float p_squareMeters) return float;
*/
FLOAT fx__computeRadiusFromCircularArea(
const FLOAT& p__squareMeters
) {
return FLOAT(sqrt(p__squareMeters/M_PI));
}
FLOAT fx__computeRadiusFromCircularArea(const FLOAT &p__squareMeters) { return FLOAT(sqrt(p__squareMeters / M_PI)); }
} // end of Namespace
} // namespace LibItsCommon__Functions
#include "LibItsDcc_Functions.hh"
namespace LibItsDcc__Functions
{
/* * @desc Returns the string representation of the float value
* @param p_float The float value
* @return The string representation of the float value
fx_float2str(float p_float) return charstring;
*/
//RGY no C++ implementation is needed, Titan supports this function natively
namespace LibItsDcc__Functions {
/* * @desc Returns the string representation of the float value
* @param p_float The float value
* @return The string representation of the float value
fx_float2str(float p_float) return charstring;
*/
// RGY no C++ implementation is needed, Titan supports this function natively
} // end of namespace
} // namespace LibItsDcc__Functions
......@@ -3,17 +3,19 @@
#include "base_time.hh"
#include "loggers.hh"
namespace LibItsGeoNetworking__Functions
{
/* * @desc External function to compute timestamp based on current time
* @return Unix-Epoch-Time mod 2^32
fx_computeGnTimestamp() return UInt32;
*/
INTEGER fx__computeGnTimestamp() {
INTEGER i;
i.set_long_long_val(base_time::get_instance().get_its_current_time_ms() % 4294967296); // Expresses the time in milliseconds at which the latitude and longitude of the ITS-S were acquired by the GeoAdhoc router. The time is encoded as: TST =TST(TAI)mod232 where TST(TAI) is the number of elapsed TAI milliseconds since 2004-01-01 00:00:00.000 UTC
loggers::get_instance().log_msg("<<< fx__computeGnTimestamp: ", i);
return i;
}
} //end namespace
namespace LibItsGeoNetworking__Functions {
/* * @desc External function to compute timestamp based on current time
* @return Unix-Epoch-Time mod 2^32
fx_computeGnTimestamp() return UInt32;
*/
INTEGER fx__computeGnTimestamp() {
INTEGER i;
i.set_long_long_val(
base_time::get_instance().get_its_current_time_ms() %
4294967296); // Expresses the time in milliseconds at which the latitude and longitude of the ITS-S were acquired by the GeoAdhoc router. The time is
// encoded as: TST =TST(TAI)mod232 where TST(TAI) is the number of elapsed TAI milliseconds since 2004-01-01 00:00:00.000 UTC
loggers::get_instance().log_msg("<<< fx__computeGnTimestamp: ", i);
return i;
}
} // namespace LibItsGeoNetworking__Functions
#include "LibItsIpv6OverGeoNetworking_Functions.hh"
#include <time.h>
#include <math.h>
#include <time.h>
namespace LibItsIpv6OverGeoNetworking__Functions
{
/* * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3
* @param p_sourceAddress Source address,
* @param p_destinationAddress Destination address
* @param p_payloadLength Upper-Layer Packet Length
* @param p_payload Upper-Layer payload
* @param p_nextHdr Next header value (e.g. 0x3a for ICMPv6)
* @return The checksum value
* <pre>
* Pseudo header is defined by RFC 2460 - Clause 8.1
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | |
* + +
* | |
* + Source Address +
* | |
* + +
* | |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | |
* + +
* | |
* + Destination Address +
* | |
* + +
* | |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Upper-Layer Packet Length |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | zero | Next Header |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* </pre>
external function fx_computeIPv6CheckSum(
in template (value) Ipv6Address p_sourceAddress,
in template (value) Ipv6Address p_destinationAddress,
in template (value) integer p_payloadLength,
in template (value) octetstring p_payload,
in template (value) UInt8 p_nextHdr
) return Oct2;
*/
namespace LibItsIpv6OverGeoNetworking__Functions {
/* * @desc Calculate ICMPv6 checksum on pseudo header according RFC 4443 - Clause 2.3
* @param p_sourceAddress Source address,
* @param p_destinationAddress Destination address
* @param p_payloadLength Upper-Layer Packet Length
* @param p_payload Upper-Layer payload
* @param p_nextHdr Next header value (e.g. 0x3a for ICMPv6)
* @return The checksum value
* <pre>
* Pseudo header is defined by RFC 2460 - Clause 8.1
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | |
* + +
* | |
* + Source Address +
* | |
* + +
* | |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | |
* + +
* | |
* + Destination Address +
* | |
* + +
* | |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | Upper-Layer Packet Length |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* | zero | Next Header |
* +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
* </pre>
external function fx_computeIPv6CheckSum(
in template (value) Ipv6Address p_sourceAddress,
in template (value) Ipv6Address p_destinationAddress,
in template (value) integer p_payloadLength,
in template (value) octetstring p_payload,
in template (value) UInt8 p_nextHdr
) return Oct2;
*/
OCTETSTRING fx__computeIPv6CheckSum(
const OCTETSTRING_template& p__sourceAddress,
const OCTETSTRING_template& p__destinationAddress,
const INTEGER_template& p__payloadLength,
const OCTETSTRING_template& p__payload,
const INTEGER_template& p__nextHdr
) {
OCTETSTRING ret_val = int2oct(0,1);
return ret_val;
}
OCTETSTRING fx__computeIPv6CheckSum(const OCTETSTRING_template &p__sourceAddress, const OCTETSTRING_template &p__destinationAddress,
const INTEGER_template &p__payloadLength, const OCTETSTRING_template &p__payload, const INTEGER_template &p__nextHdr) {
OCTETSTRING ret_val = int2oct(0, 1);
return ret_val;
}
} //end namespace
} // namespace LibItsIpv6OverGeoNetworking__Functions