Commit 0cd5a90b authored by garciay's avatar garciay
Browse files

STF545: Execute first EA tests

parent 00ee277b
Loading
Loading
Loading
Loading
+51 −0
Original line number Diff line number Diff line
/*!
 * \file      base_time.hh
 * \brief     Header file for the control port base_time functionality.
 * \author    ETSI STF525
 * \copyright ETSI Copyright Notification
 *            No part may be reproduced except as authorized by written permission.
 *            The copyright and the foregoing restriction extend to reproduction in all media.
 *            All rights reserved.
 * \version   0.1
 */
#pragma once

#include <chrono>

/**
 * \class base_time
 * \brief This class provides time tools such as getting current time
 */
class base_time {
  const unsigned long long its_base_time = 1072911600000L - 3600L; //! Base time 01/01/2004 in millseconds
  
  static base_time* _instance;
private:
  base_time() { }; //! Can not be created manually
public:
  static inline base_time& get_instance();

  virtual ~base_time() { if (_instance != nullptr) delete _instance; };
  
public:
  inline const unsigned long long get_current_time() const;
  inline const unsigned long long get_its_base_time() const;
  inline const unsigned long long get_its_current_time() const;
}; // End of class base_time

// static functions
base_time& base_time::get_instance() {
  return (_instance != nullptr) ? *_instance : *(_instance = new base_time());
}

const unsigned long long base_time::get_current_time() const {
  return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count();
}

const unsigned long long base_time::get_its_base_time() const {
  return base_time::its_base_time;
}

const unsigned long long base_time::get_its_current_time() const {
  return std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count() - base_time::its_base_time;
}
+13 −0
Original line number Diff line number Diff line
/*!
 * \file      base_time.cc
 * \brief     Source file for the control port base_time functionality.
 * \author    ETSI STF525
 * \copyright ETSI Copyright Notification
 *            No part may be reproduced except as authorized by written permission.
 *            The copyright and the foregoing restriction extend to reproduction in all media.
 *            All rights reserved.
 * \version   0.1
 */
#include "base_time.hh"

base_time* base_time::_instance = nullptr;
+30 −0
Original line number Diff line number Diff line
#include "etsi_ts102941_data.hh"

#include "loggers.hh"

int etsi_ts102941_data::encode (const EtsiTs102941MessagesItss::EtsiTs102941Data& p_etsi_ts_10291_data, OCTETSTRING& p_data)
{
  loggers::get_instance().log(">>> etsi_ts102941_data::encode: %s", p_etsi_ts_10291_data.get_descriptor()->name);

  BITSTRING b;
  TTCN_EncDec::clear_error();
  TTCN_Buffer buffer;
  p_etsi_ts_10291_data.encode(*p_etsi_ts_10291_data.get_descriptor(), buffer, TTCN_EncDec::CT_OER);
  p_data = OCTETSTRING(buffer.get_len(), buffer.get_data());
  loggers::get_instance().log_msg("etsi_ts102941_data::encode: ", p_data);

  return 0;
}

int etsi_ts102941_data::decode (const OCTETSTRING& p_data, EtsiTs102941MessagesItss::EtsiTs102941Data& p_etsi_ts_10291_data, params* p_params)
{
  loggers::get_instance().log_msg(">>> etsi_ts102941_data::decode: ", p_data);

  TTCN_EncDec::clear_error();
  TTCN_Buffer decoding_buffer(p_data);
  //  _params = params;
  p_etsi_ts_10291_data.decode(*p_etsi_ts_10291_data.get_descriptor(), decoding_buffer, TTCN_EncDec::CT_OER);

  loggers::get_instance().log_msg("<<< etsi_ts102941_data::decode: ", (const Base_Type&)p_etsi_ts_10291_data);
  return 0;
}
+17 −0
Original line number Diff line number Diff line
#pragma once

#include "codec.hh"
#include "params.hh"

#include "EtsiTs102941MessagesItss.hh"

class etsi_ts102941_data : public codec<EtsiTs102941MessagesItss::EtsiTs102941Data, EtsiTs102941MessagesItss::EtsiTs102941Data>
{
public:
  explicit etsi_ts102941_data() : codec<EtsiTs102941MessagesItss::EtsiTs102941Data, EtsiTs102941MessagesItss::EtsiTs102941Data>() { };
  virtual ~etsi_ts102941_data() { };

  virtual int encode (const EtsiTs102941MessagesItss::EtsiTs102941Data& p_etsi_ts_10291_data, OCTETSTRING& p_data);
  virtual int decode (const OCTETSTRING& p_data, EtsiTs102941MessagesItss::EtsiTs102941Data& p_etsi_ts_10291_data, params* p_params = NULL);
}; // End of class etsi_ts102941_data
+9 −7
Original line number Diff line number Diff line
@@ -31,10 +31,12 @@ https://github.com/eclipse/titan.ProtocolModules.RADIUS_ProtocolModule_Generator
https://github.com/eclipse/titan.ProtocolModules.WebSocket.git
https://github.com/eclipse/titan.ProtocolModules.HTTP2.0.git
https://github.com/eclipse/titan.Libraries.TCCUsefulFunctions.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.CoAP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.MQTT.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.SCTP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.SDP.git
git://git.eclipse.org/gitroot/titan/titan.ProtocolModules.TLS.git
git://git.eclipse.org/gitroot/titan/titan.TestPorts.GPIO.git
git://git.eclipse.org/gitroot/titan/titan.TestPorts.Serial.git
https://git.eclipse.org/r/titan/titan.ApplicationLibraries.CoAP
https://git.eclipse.org/r/titan/titan.ApplicationLibraries.MQTT
https://git.eclipse.org/r/titan/titan.ProtocolModules.CoAP.git
https://git.eclipse.org/r/titan/titan.ProtocolModules.MQTT.git
https://git.eclipse.org/r/titan/titan.ProtocolModules.SCTP.git
https://git.eclipse.org/r/titan/titan.ProtocolModules.SDP.git
https://git.eclipse.org/r/titan/titan.ProtocolModules.TLS.git
https://git.eclipse.org/r/titan/titan.TestPorts.GPIO.git
https://git.eclipse.org/r/titan/titan.TestPorts.Serial.git
Loading