Commit 856557d6 authored by YannGarcia's avatar YannGarcia
Browse files

First build of AtsMBR

parent 0dad412c
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
#include "loggers.hh"

namespace LibItsMbr__EncdecDeclarations {


} // End of namespace LibItsMbr__EncdecDeclarations
+7 −0
Original line number Diff line number Diff line
@@ -55,3 +55,10 @@ sources += \
           LibItsPki_Encdec.cc \
           LibItsCam_Encdec.cc
endif

ifeq (AtsMBR, $(ATS))
sources += \
           LibItsBtp_Encdec.cc \
           LibItsMbr_Encdec.cc \
           LibItsCam_Encdec.cc
endif
+18 −0
Original line number Diff line number Diff line
/*!
 * \file      LibItsMbr_externals.cc
 * \brief     Source file for PKI externl functions.
 * \author    ETSI STF594
 * \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 "LibItsMbr_Functions.hh"

#include "loggers.hh"

namespace LibItsMbr__Functions {

} // End of namespace LibItsMbr__Functions
+4 −1
Original line number Diff line number Diff line
@@ -4,7 +4,6 @@ sources := LibItsCommon_externals.cc \

includes := ../geospacial


ifeq (AtsCAM, $(ATS))
sources +=  LibItsSecurity_externals.cc
endif
@@ -25,6 +24,10 @@ ifeq (AtsPki, $(ATS))
sources +=  LibItsPki_externals.cc LibItsSecurity_externals.cc
endif

ifeq (AtsMBR, $(ATS))
sources += LibItsMbr_externals.cc LibItsSecurity_externals.cc
endif

ifeq (AtsGeoNetworking, $(ATS))
sources +=  LibItsSecurity_externals.cc
endif
+88 −0
Original line number Diff line number Diff line
#include <TTCN3.hh>

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

#include "AdapterControlPort_Mbr.hh"
//=============================================================================
namespace LibItsMbr__TestSystem {

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

  AdapterControlPort::~AdapterControlPort() {}

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

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

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

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

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

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

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

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

  void AdapterControlPort::user_start() {}

  void AdapterControlPort::user_stop() {}

  void AdapterControlPort::outgoing_send(const LibItsMbr__TypesAndValues::AcMbrPrimitive &send_par) {/*
    loggers::get_instance().log_msg(">>> AdapterControlPort::outgoing_send: ", send_par);

    // Register this object for AdapterControlPort
    geonetworking_layer *p = registration<geonetworking_layer>::get_instance().get_item(std::string("GN"));
    if (p != NULL) {
      loggers::get_instance().log("AdapterControlPort::outgoing_send: Got GN layer %p", p);
      LibItsGeoNetworking__TypesAndValues::AcGnResponse response;
      response.failure() = LibItsGeoNetworking__TypesAndValues::AcGnResponseFailure(BOOLEAN(false));
      if (send_par.ischosen(LibItsGeoNetworking__TypesAndValues::AcGnPrimitive::ALT_startBeaconing)) {
        loggers::get_instance().log("AdapterControlPort::outgoing_send: Start beaconing");
        p->start_beaconing(send_par.startBeaconing().beaconPacket());
        // No response
        return;
      } else if (send_par.ischosen(LibItsGeoNetworking__TypesAndValues::AcGnPrimitive::ALT_stopBeaconing)) {
        loggers::get_instance().log("AdapterControlPort::outgoing_send: Stop beaconing");
        p->stop_beaconing();
        // No response
        return;
      } else if (send_par.ischosen(LibItsGeoNetworking__TypesAndValues::AcGnPrimitive::ALT_getLongPosVector)) {
        loggers::get_instance().log("AdapterControlPort::outgoing_send: Get LongPosVector");
        const LibItsGeoNetworking__TypesAndValues::LongPosVector *lpv = p->get_lpv(send_par.getLongPosVector().gnAddress());
        loggers::get_instance().log("AdapterControlPort::outgoing_send: Return value: %p", lpv);
        if (lpv == nullptr) {
          response.failure() = LibItsGeoNetworking__TypesAndValues::AcGnResponseFailure(BOOLEAN(true));
        } else {
          response.getLongPosVector() = *lpv;
        }
      } else if (send_par.ischosen(LibItsGeoNetworking__TypesAndValues::AcGnPrimitive::ALT_startPassBeaconing)) {
        loggers::get_instance().log("AdapterControlPort::outgoing_send: Start pass beaconing");
        p->start_pass_beaconing(send_par.startPassBeaconing().beaconHeader());
        // No response
        return;
      } else if (send_par.ischosen(LibItsGeoNetworking__TypesAndValues::AcGnPrimitive::ALT_stopPassBeaconing)) {
        loggers::get_instance().log("AdapterControlPort::outgoing_send: Stop pass beaconing");
        p->stop_pass_beaconing();
        // No response
        return;
      } else {
        response.failure() = LibItsGeoNetworking__TypesAndValues::AcGnResponseFailure(BOOLEAN(true));
      }
      // Send response
      loggers::get_instance().log_msg("AdapterControlPort::outgoing_send: Send response: ", response);
      incoming_message(response);
    } else {
      loggers::get_instance().error("AdapterControlPort::outgoing_send: %s not registered", "geoNetworkingPort");
    }*/
  }

} // namespace LibItsMbr__TestSystem
Loading