Commit f5d1b6b0 authored by garciay's avatar garciay
Browse files

STF545: Add InnerAcRequest/Response support, UpperTester port for ITS-S

parent 30019907
Loading
Loading
Loading
Loading
+56 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@
#include "etsi_ts102941_data.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 "loggers.hh"

@@ -88,4 +90,58 @@ namespace LibItsPki__EncdecDeclarations {
    return 0;
  }
  
  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;
    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) {
    loggers::get_instance().log_msg(">>> fx__dec__InnerAtRequest: ", b);

    etsi_ts102941_types_authorization_inner_request codec;
    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) {
    loggers::get_instance().log_msg(">>> fx__enc__InnerAtResponse: ", p_inner_response);

    etsi_ts102941_types_authorization_inner_response codec;
    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);
    }

    return oct2bit(os);
  }

  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);
    if (codec.decode(is, p_inner_response) == -1) {
      loggers::get_instance().warning("fx__dec__InnerAtResponse: -1 result code was returned");
      return -1;
    }

    loggers::get_instance().log_msg("<<< fx__dec__InnerAtResponse: ", p_inner_response);
    return 0;
  }
  
} // End of namespace LibItsPki__EncdecDeclarations
+2 −2
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@
#include "IVIM_ports/AdapterControlPort_IVIM.partC"
#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partC"
#include "SremSsem_ports/AdapterControlPort_SremSsem.partC"
//#include "Pki_ports/AdapterControlPort_Pki.partC"
#include "Pki_ports/AdapterControlPort_Pki.partC"
//#include "V2G_ports/AdapterControlPort_V2G.partC"

#else //_NO_SOFTLINKS_
@@ -20,7 +20,7 @@
#include "AdapterControlPort_MapemSpatem.partC"
#include "AdapterControlPort_SremSsem.partC"
#include "AdapterControlPort_GN.partC"
//#include "AdapterControlPort_Pki.partC"
#include "AdapterControlPort_Pki.partC"
/*
#include "AdapterControlPort_IVIM.partC"
#include "AdapterControlPort_MapemSpatem.partC"
+2 −2
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@
#include "IVIM_ports/AdapterControlPort_IVIM.partH"
#include "MapemSpatem_ports/AdapterControlPort_MapemSpatem.partH"
#include "SremSsem_ports/AdapterControlPort_SremSsem.partH"
//#include "Pki_ports/AdapterControlPort_Pki.partH"
#include "Pki_ports/AdapterControlPort_Pki.partH"
//#include "V2G_ports/AdapterControlPort_V2G.partH"

#else //_NO_SOFTLINKS_
@@ -23,7 +23,7 @@
#include "AdapterControlPort_MapemSpatem.partH"
#include "AdapterControlPort_SremSsem.partH"
#include "AdapterControlPort_GN.partH"
//#include "AdapterControlPort_Pki.partH"
#include "AdapterControlPort_Pki.partH"
/*
#include "AdapterControlPort_IVIM.partH"
#include "AdapterControlPort_MapemSpatem.partH"
+24 −26
Original line number Diff line number Diff line
#include <TTCN3.hh>

#include "LibItsPki_TestSystem.hh"

#include "loggers.hh"
#include "registration.hh"

@@ -10,87 +8,87 @@
//=============================================================================
namespace LibItsPki__TestSystem {

  AdapterControlPkiPort::AdapterControlPkiPort(const char *par_port_name)
    : AdapterControlPkiPort_BASE(par_port_name), _params()
  AdapterControlPort::AdapterControlPort(const char *par_port_name)
    : AdapterControlPort_BASE(par_port_name), _params()
  {
    loggers::get_instance().log("AdapterControlPkiPort::AdapterControlPkiPort");
    loggers::get_instance().log("AdapterControlPort::AdapterControlPort");


  }

  AdapterControlPkiPort::~AdapterControlPkiPort()
  AdapterControlPort::~AdapterControlPort()
  {

  }

  void AdapterControlPkiPort::set_parameter(const char * parameter_name, const char * parameter_value)
  void AdapterControlPort::set_parameter(const char * parameter_name, const char * parameter_value)
  {
    loggers::get_instance().log("AdapterControlPkiPort::set_parameter: %s=%s", parameter_name, parameter_value);
    loggers::get_instance().log("AdapterControlPort::set_parameter: %s=%s", parameter_name, parameter_value);

  }

  /*void AdapterControlPkiPort::Handle_Fd_Event(int fd, boolean is_readable,
  /*void AdapterControlPort::Handle_Fd_Event(int fd, boolean is_readable,
    boolean is_writable, boolean is_error) {}*/

  void AdapterControlPkiPort::Handle_Fd_Event_Error(int /*fd*/)
  void AdapterControlPort::Handle_Fd_Event_Error(int /*fd*/)
  {

  }

  void AdapterControlPkiPort::Handle_Fd_Event_Writable(int /*fd*/)
  void AdapterControlPort::Handle_Fd_Event_Writable(int /*fd*/)
  {

  }

  void AdapterControlPkiPort::Handle_Fd_Event_Readable(int /*fd*/)
  void AdapterControlPort::Handle_Fd_Event_Readable(int /*fd*/)
  {

  }

  /*void AdapterControlPkiPort::Handle_Timeout(double time_since_last_call) {}*/
  /*void AdapterControlPort::Handle_Timeout(double time_since_last_call) {}*/

  void AdapterControlPkiPort::user_map(const char * system_port)
  void AdapterControlPort::user_map(const char * system_port)
  {
    loggers::get_instance().log(">>> AdapterControlPkiPort::user_map: %s", system_port);
    loggers::get_instance().log(">>> AdapterControlPort::user_map: %s", system_port);

  }

  void AdapterControlPkiPort::user_unmap(const char * system_port)
  void AdapterControlPort::user_unmap(const char * system_port)
  {
    loggers::get_instance().log(">>> AdapterControlPkiPort::user_unmap: %s", system_port);
    loggers::get_instance().log(">>> AdapterControlPort::user_unmap: %s", system_port);

  }

  void AdapterControlPkiPort::user_start()
  void AdapterControlPort::user_start()
  {

  }

  void AdapterControlPkiPort::user_stop()
  void AdapterControlPort::user_stop()
  {

  }

  void AdapterControlPkiPort::outgoing_send(const LibItsPki__TypesAndValues::AcPkiPrimitive& send_par)
  void AdapterControlPort::outgoing_send(const LibItsPki__TypesAndValues::AcPkiPrimitive& send_par)
  {
    loggers::get_instance().log_msg(">>> AdapterControlPkiPort::outgoing_send: ", send_par);
    loggers::get_instance().log_msg(">>> AdapterControlPort::outgoing_send: ", send_par);
    
    // Register this object for AdapterControlPkiPort
    // Register this object for AdapterControlPort
    pki_layer* p = registration<pki_layer>::get_instance().get_item(std::string("PKI"));
    if (p != NULL) {
      loggers::get_instance().log("AdapterControlPkiPort::outgoing_send: Got PKI layer %p", p);
      loggers::get_instance().log("AdapterControlPort::outgoing_send: Got PKI layer %p", p);
      LibItsPki__TypesAndValues::AcPkiResponse response;
      response.result() = BOOLEAN(false);
      if (send_par.ischosen(LibItsPki__TypesAndValues::AcPkiPrimitive::ALT_acSetSecurityData)) {
        loggers::get_instance().log("AdapterControlPkiPort::outgoing_send: AcSetSecurityData");
        loggers::get_instance().log("AdapterControlPort::outgoing_send: AcSetSecurityData");
        p->set_pki_keys(send_par.acSetSecurityData());
        response.result() = BOOLEAN(true);
      }
      // Send response
      loggers::get_instance().log_msg("AdapterControlPkiPort::outgoing_send: Send response: ", response);
      loggers::get_instance().log_msg("AdapterControlPort::outgoing_send: Send response: ", response);
      incoming_message(response);
    } else {
      loggers::get_instance().error("AdapterControlPkiPort::outgoing_send: pkiPort not registered");
      loggers::get_instance().error("AdapterControlPort::outgoing_send: pkiPort not registered");
    }
  }

+3 −7
Original line number Diff line number Diff line
@@ -3,18 +3,14 @@

#include "params.hh"

namespace LibItsPki__TypesAndValues {
  class AcPkiPrimitive;
}

namespace LibItsPki__TestSystem {

class AdapterControlPkiPort : public AdapterControlPkiPort_BASE {
class AdapterControlPort : public AdapterControlPort_BASE {
  params _params;
	
public:
	AdapterControlPkiPort(const char *par_port_name = NULL);
	~AdapterControlPkiPort();
	AdapterControlPort(const char *par_port_name = NULL);
	~AdapterControlPort();

	void set_parameter(const char *parameter_name,
		const char *parameter_value);
Loading