* \return The pointer to the codec object on success, nullptr otherwise
* \return The pointer to the codec object on success, nullptr otherwise
*/
*/
inlinecodec<Record_Type,Record_Type>*get_codec(constchar*p_codec_name){// NOTE A virtual method cannot not be a template ==> polymorphism required here
inlinecodec<Record_Type,Record_Type>*get_codec(constchar*p_codec_name){// NOTE A virtual method cannot not be a template ==> polymorphism required here
* \brief Convert a time in time_t format into a string formated according to RFC 822, 1036, 1123, 2822
* \brief Convert a time in time_t format into a string formated according to RFC 822, 1036, 1123, 2822
...
@@ -137,7 +127,8 @@ public:
...
@@ -137,7 +127,8 @@ public:
* std::string result = time_to_string(1489755780);
* std::string result = time_to_string(1489755780);
* result.compare("Fri, 17 Mar 2017 13:03:00 +0000") == 0 // When time zone is set to UTC
* result.compare("Fri, 17 Mar 2017 13:03:00 +0000") == 0 // When time zone is set to UTC
* @endcode
* @endcode
* \remark Use commands 1) timedatectl to change your machine timezone (e.g. sudo timedatectl set-timezone UTC to change machine timezone to UTC, 2) timedatectl list-timezones to get the list of the timezones)
* \remark Use commands 1) timedatectl to change your machine timezone (e.g. sudo timedatectl set-timezone UTC to change machine timezone to UTC, 2)
* timedatectl list-timezones to get the list of the timezones)
*/
*/
std::stringtime_to_string(consttime_tp_time);
std::stringtime_to_string(consttime_tp_time);
/*!
/*!
...
@@ -146,7 +137,7 @@ public:
...
@@ -146,7 +137,7 @@ public:
* \return The time string formated
* \return The time string formated
* \see http://www.unixtimestamp.com/
* \see http://www.unixtimestamp.com/
*/
*/
std::stringtime_to_string(conststructtm&p_time);
std::stringtime_to_string(conststructtm&p_time);
/*!
/*!
* \brief Convert a 16-bits integer (int16_t) into a bytes array
* \brief Convert a 16-bits integer (int16_t) into a bytes array
* \brief Create the layers stack based on the provided layers stack description (cf. remark)
* \brief Create the layers stack based on the provided layers stack description (cf. remark)
...
@@ -101,14 +101,21 @@ public: //! \publicsection
...
@@ -101,14 +101,21 @@ public: //! \publicsection
* save_mode : 1 to save sent packet, 0 otherwise
* save_mode : 1 to save sent packet, 0 otherwise
* Here are some examples:
* Here are some examples:
* GeoNetworking multiple component case:
* GeoNetworking multiple component case:
* NodeB.geoNetworkingPort.params := "GN(ll_address=04e548000001,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/COMMSIGNIA(mac_src=04e548000001,mac_bc=FFFFFFFFFFFF,eth_type=8947,target_host=10.200.1.101,target_port=7942,source_port=7943,its_aid=141,interface_id=2,tx_power=-32)/UDP(dst_ip=192.168.56.1,dst_port=12346,src_ip=192.168.156.4,src_port=12345)/ETH(mac_src=04e548000001,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=04e548000001,file=/home/vagrant/TriesAndDelete/etsi_its/testdata/TC_AUTO_IOT_DENM_RWW_BV_01_short.pcap,filter=and (udp port 30000 or udp port 7943))"
* NodeB.geoNetworkingPort.params :=
NodeC.geoNetworkingPort.params := "GN(ll_address=70b3d5791b48,latitude=43551050,longitude=10298730,beaconing=0,expiry=1000,its_aid=141)/COMMSIGNIA(mac_src=70b3d5791b48,mac_bc=FFFFFFFFFFFF,eth_type=8947,target_host=10.200.1.101,target_port=7942,source_port=7943,its_aid=141,interface_id=2,tx_power=-32)/UDP(dst_ip=192.168.56.1,dst_port=12346,src_ip=192.168.156.4,src_port=12345)/ETH(mac_src=70b3d5791b48,mac_dst=0A0027000011,eth_type=0800)/PCAP(mac_src=70b3d5791b48,file=/home/vagrant/TriesAndDelete/etsi_its/testdata/TC_AUTO_IOT_DENM_RWW_BV_01_short.pcap,filter=and (udp port 30000 or udp port 7943))"
staticconststd::string&its_aid;//! ITS-AID parameter name
staticconststd::string&its_aid;//! ITS-AID parameter name
staticconststd::string&gn_payload;//! GeoNetworking Payload parameter name
staticconststd::string&gn_payload;//! GeoNetworking Payload parameter name
staticconststd::string&gn_next_header;//! GeoNetworking NextHeader parameter name
staticconststd::string&gn_next_header;//! GeoNetworking NextHeader parameter name
staticconststd::string&gn_header_type;//! GeoNetworking HeaderType parameter name
staticconststd::string&gn_header_type;//! GeoNetworking HeaderType parameter name
staticconststd::string&gn_header_sub_type;//! GeoNetworking HeaderSubType parameter name
staticconststd::string&gn_header_sub_type;//! GeoNetworking HeaderSubType parameter name
staticconststd::string&gn_lifetime;//! GeoNetworking Lifetime parameter name
staticconststd::string&gn_lifetime;//! GeoNetworking Lifetime parameter name
staticconststd::string&gn_traffic_class;//! GeoNetworking Traffic class parameter name
staticconststd::string&gn_traffic_class;//! GeoNetworking Traffic class parameter name
staticconststd::string&btp_type;//! BTP Type parameter name
staticconststd::string&btp_type;//! BTP Type parameter name
staticconststd::string&btp_payload;//! BTP Payload parameter name
staticconststd::string&btp_payload;//! BTP Payload parameter name
staticconststd::string&btp_destination_port;//! BTP DestinationPort parameter name
staticconststd::string&btp_destination_port;//! BTP DestinationPort parameter name
staticconststd::string&btp_info;//! BTP Info parameter name
staticconststd::string&btp_info;//! BTP Info parameter name
staticconststd::string&nic;//! Network Interface Card parameter name
staticconststd::string&nic;//! Network Interface Card parameter name
staticconststd::string&ll_address;//! Test system GeoNetworking LL-Address parameter name
staticconststd::string&ll_address;//! Test system GeoNetworking LL-Address parameter name
staticconststd::string&latitude;//! Test system Latitude parameter name
staticconststd::string&latitude;//! Test system Latitude parameter name
staticconststd::string&longitude;//! Test system Longitude parameter name
staticconststd::string&longitude;//! Test system Longitude parameter name
staticconststd::string&expiry;//! Test system GeoNetworking Lifetime parameter name (in ms)
staticconststd::string&expiry;//! Test system GeoNetworking Lifetime parameter name (in ms)
staticconststd::string&station_id;//! To indicate to the peer ITS_Container::stationID
staticconststd::string&station_id;//! To indicate to the peer ITS_Container::stationID
staticconststd::string&device_mode;//! To indicate to the lower layer to act as a standalone device
staticconststd::string&device_mode;//! To indicate to the lower layer to act as a standalone device
staticconststd::string&secured_mode;//! To indicate to the lower layer to apply signature on message exchanges as defined in IEEE 1609.2 & ETSI TS 102 965
staticconststd::string&secured_mode;//! To indicate to the lower layer to apply signature on message exchanges as defined in IEEE 1609.2 & ETSI TS 102 965
staticconststd::string&encrypted_mode;//! To indicate to the lower layer to apply encryption on message exchanges as defined in IEEE 1609.2 & ETSI TS 102 965
staticconststd::string
staticconststd::string&enable_security_checks;//! To indicates if security check failures shall be treated as error or warning
&encrypted_mode;//! To indicate to the lower layer to apply encryption on message exchanges as defined in IEEE 1609.2 & ETSI TS 102 965
staticconststd::string&sec_db_path;//! Path to the folder containing certificates
staticconststd::string&enable_security_checks;//! To indicates if security check failures shall be treated as error or warning
staticconststd::string&certificate;//! The certificate identifier the Test System shall use. E.g. CERT_TS_A
staticconststd::string&sec_db_path;//! Path to the folder containing certificates
staticconststd::string&peer_certificate;//! The peer certificate identifier the Test System shall use for encryption. E.g. CERT_TS_A
staticconststd::string&certificate;//! The certificate identifier the Test System shall use. E.g. CERT_TS_A
staticconststd::string&hash;//! The digest algorithm the Test System shall use, authorised values are SHA-256 or SHA-384. Default: SHA-256
staticconststd::string&peer_certificate;//! The peer certificate identifier the Test System shall use for encryption. E.g. CERT_TS_A
staticconststd::string&signature;//! The signature algorithm the Test System shall use, authorised values are NISTP-256, BP-256 and BP-384. Default: NISTP-256
staticconststd::string&hash;//! The digest algorithm the Test System shall use, authorised values are SHA-256 or SHA-384. Default: SHA-256
staticconststd::string&cypher;//! The encryption algorithm the Test System shall use, authorised values are NISTP-256 and BP-256. Default: NISTP-256
staticconststd::string
staticconststd::string&distanceA;//! Test system GeoNetworking DistanceA parameter name
&signature;//! The signature algorithm the Test System shall use, authorised values are NISTP-256, BP-256 and BP-384. Default: NISTP-256
staticconststd::string&distanceB;//! Test system GeoNetworking DistanceB parameter name
staticconststd::string&cypher;//! The encryption algorithm the Test System shall use, authorised values are NISTP-256 and BP-256. Default: NISTP-256
staticconststd::string∠//! Test system GeoNetworking Angle parameter name
staticconststd::string&distanceA;//! Test system GeoNetworking DistanceA parameter name
staticconststd::string&distanceB;//! Test system GeoNetworking DistanceB parameter name
staticconststd::string&payload_type;//! Tyoe of payload, value is the ITS Conatainer message identifier or omitted in case of unknown payload
staticconststd::string∠//! Test system GeoNetworking Angle parameter name