Commit f16b04db authored by garciay's avatar garciay
Browse files

Add TITAN Eclipse project

parent 6b5af3e5
Loading
Loading
Loading
Loading
+0 −132
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?><TITAN_Designer_Properties>
  <ActiveConfiguration>Default</ActiveConfiguration>
  <ProjectProperties>
    <MakefileSettings>
      <functiontestRuntime>true</functiontestRuntime>
      <targetExecutable>bin/STF549_Ng112</targetExecutable>
      <preprocessorDefines>
        <listItem>AS_USE_SSL</listItem>
      </preprocessorDefines>
      <preprocessorIncludes>
        <listItem>[HOME_FRAMEWORKS]/osip/include</listItem>
      </preprocessorIncludes>
      <disableBER>true</disableBER>
      <disableOER>true</disableOER>
      <gccMessageFormat>true</gccMessageFormat>
      <includeSourceInfo>true</includeSourceInfo>
      <addSourceLineInfo>true</addSourceLineInfo>
      <enableLegacyEncoding>true</enableLegacyEncoding>
      <activateDebugger>true</activateDebugger>
      <optimizationLevel>None</optimizationLevel>
      <otherOptimizationFlags>-Wall-std=c++11-pthread-fPIC</otherOptimizationFlags>
      <linkerLibraries>
        <listItem>pcap</listItem>
        <listItem>ssl</listItem>
        <listItem>osipparser2</listItem>
      </linkerLibraries>
      <linkerLibrarySearchPath>
        <listItem>[HOME_FRAMEWORKS]/osip/src/osipparser2/.libs</listItem>
      </linkerLibrarySearchPath>
      <freeTextLinkerOptions>-pthread-fPIC</freeTextLinkerOptions>
    </MakefileSettings>
    <LocalBuildSettings>
      <MakefileScript/>
      <workingDirectory>bin</workingDirectory>
    </LocalBuildSettings>
  </ProjectProperties>
  <FileProperties>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibCommon/LibCommon_Sync.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibHttp/LibItsHttp_XMLTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibHttp/LibItsHttp_XmlMessageBodyTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibHttp/LibItsHttp_XmlTemplates.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_Common.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_MessageBodyTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SDPTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SIPTypesAndValues.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SMSFunctions.ttcn3</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SMSTemplates.ttcn3</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SMSTypesAndValues.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SimpleMsgSummaryTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_Steps.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_Templates.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
  </FileProperties>
  <FolderProperties>
    <FolderResource>
      <FolderPath>src/ttcn/ttcn/TestCodec</FolderPath>
      <FolderProperties>
        <CentralStorage>false</CentralStorage>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FolderProperties>
    </FolderResource>
  </FolderProperties>
</TITAN_Designer_Properties>
 No newline at end of file
+0 −97
Original line number Diff line number Diff line
/*!
 * \file      udp_layer.hh
 * \brief     Header file for ITS UDP/IP protocol layer definition.
 * \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 <arpa/inet.h>
#if !defined(LINUX)
#include <netdb.h>
#include <netinet/udp.h>
struct iphdr {
    #if __BYTE_ORDER == __LITTLE_ENDIAN
        u_int8_t    ihl:4,
                version:4;
    #elif __BYTE_ORDER == __BIG_ENDIAN
        u_int8_t    version:4,
                ihl:4;
    #else
        #error  "Please fix <asm/byteorder.h>"
    #endif
          u_int8_t   tos;
          u_int16_t  tot_len;
          u_int16_t  id;
          u_int16_t  frag_off;
          u_int8_t   ttl;
          u_int8_t   protocol;
          u_int16_t  check;
          struct  in_addr  saddr;
          struct  in_addr  daddr;
          //The options start here.
};
#else // LINUX
#include <linux/ip.h>
#include <linux/udp.h>
#endif // LINUX

#include "t_layer.hh"
#include "params.hh"

/*!
 * \class udp_layer
 * \brief  This class provides description of ITS UDP/IP protocol layer
 */
class udp_layer : public layer {
  params _params;            //! Layer parameters
  struct iphdr* _iphdr;      //! IP layer description
  struct udphdr* _udphdr;    //! UDP layer description
  struct sockaddr_in _saddr; //! Source socket address description
  struct sockaddr_in _daddr; //! Destination socket address description

  /*!
   * \fn unsigned short inet_check_sum(const void *buf, size_t hdr_len, const unsigned short p_initial_sum = 0);
   * \brief Compute the UDP checksum
   * \param[in] p_buffer The data to be sent
   * \param[in] p_header_length The UDP header length
   * \param [in] p_initial_sum The initial checksum value. Default: 0
   * \return The checksum value
   */
  unsigned short inet_check_sum(const void *p_buffer, size_t p_header_length, const unsigned short p_initial_sum = 0);

public: //! \publicsection
  /*!
   * \brief Specialised constructor
   *        Create a new instance of the udp_layer class
   * \param[in] p_type \todo
   * \param[in] p_param \todo
   */
  udp_layer(const std::string & p_type, const std::string & p_param);
  /*!
   * \brief Default destructor
   */
  virtual ~udp_layer() {}

  /*!
   * \virtual
   * \fn void send_data(OCTETSTRING& data, params& params);
   * \brief Send bytes formated data to the lower layers
   * \param[in] p_data The data to be sent
   * \param[in] p_params Some parameters to overwrite default value of the lower layers parameters
   */
  virtual void send_data(OCTETSTRING& data, params& params);
  /*!
   * \virtual
   * \fn void receive_data(OCTETSTRING& data, params& params);
   * \brief Receive bytes formated data from the lower layers
   * \param[in] p_data The bytes formated data received
   * \param[in] p_params Some lower layers parameters values when data was received
   */
  virtual void receive_data(OCTETSTRING& data, params& info);
}; // End of class udp_layer
+0 −414

File deleted.

Preview size limit exceeded, changes collapsed.

+0 −71
Original line number Diff line number Diff line
#include <stdexcept>
#include <regex>

#include "layer_stack_builder.hh"

#include "loggers.hh"

layer_stack_builder* layer_stack_builder::_instance = NULL;

// static functions
layer_stack_builder * layer_stack_builder::get_instance()
{
  return _instance ? _instance : _instance = new layer_stack_builder();
}

void layer_stack_builder::register_layer_factory(const std::string & p_type, layer_factory* p_layer_factory)
{
  layer_stack_builder::get_instance()->_register_layer_factory(p_type, p_layer_factory);
}

// member functions
layer_stack_builder::layer_stack_builder()
{
}

void layer_stack_builder::_register_layer_factory(const std::string & p_type, layer_factory* p_layer_factory)
{
  _layer_factories[p_type] = p_layer_factory;
}

layer* layer_stack_builder::create_layer_stack(const char* p_layer_stack_description)
{
  loggers::get_instance().log(">>> layer_stack_builder::create_layer_stack: %s", p_layer_stack_description);

  layer* entry = NULL; // Initial layer (the first declared)
  layer* up = NULL; // Upper layer
  // Parse the layer description
  try {
    std::regex rgx ("(\\w+)(\\((.*?)\\))?(\\/|$)");
    std::string str = p_layer_stack_description;
    std::sregex_iterator begin(str.cbegin(), str.cend(), rgx);
    std::sregex_iterator end = std::sregex_iterator();
    for (std::sregex_iterator it = begin; it != end; ++it) {
      std::smatch m = *it;
      loggers::get_instance().log("layer_stack_builder::create_layer_stack: %d - %s - %s - %s - %s", m.size(), m[0].str().c_str(), m[1].str().c_str(), m[2].str().c_str(), m[3].str().c_str());
      LayerFactoryMap::iterator i = _layer_factories.find(m[1].str());
      if (i == _layer_factories.end()) {
        loggers::get_instance().error("layer_stack_builder::create_layer_stack: %s: Unknown layer type", m[1].str().c_str());
      }
      loggers::get_instance().log("layer_stack_builder::create_layer_stack: Create layer %s, %s", m[1].str().c_str(), m[3].str().c_str());
      layer* l = i->second->create_layer(m[1].str(), m[3].str());
      if (NULL == l) {
        loggers::get_instance().error("layer_stack_builder::create_layer_stack: %s: Layer creation error", m[1].str().c_str());
      }

      loggers::get_instance().log("layer_stack_builder::create_layer_stack: Setup layers for %s", l->to_string().c_str());
      l->add_upper_layer(up);
      if (entry == NULL) { // Set the first declared layer
        entry = l;
      }
      up = l; // Build the linked list of layers
    } // End of 'for' statement
  }
  catch(const std::logic_error& e){
    if(up){ // FIXME To be reviewed
      up->delete_layer();
      up = NULL;
    }
  }
  return entry;
}
+0 −132
Original line number Diff line number Diff line
<?xml version="1.0" encoding="UTF-8"?><TITAN_Designer_Properties>
  <ActiveConfiguration>Default</ActiveConfiguration>
  <ProjectProperties>
    <MakefileSettings>
      <functiontestRuntime>true</functiontestRuntime>
      <targetExecutable>bin/STF549_Ng112</targetExecutable>
      <preprocessorDefines>
        <listItem>AS_USE_SSL</listItem>
      </preprocessorDefines>
      <preprocessorIncludes>
        <listItem>[HOME_FRAMEWORKS]/osip/include</listItem>
      </preprocessorIncludes>
      <disableBER>true</disableBER>
      <disableOER>true</disableOER>
      <gccMessageFormat>true</gccMessageFormat>
      <includeSourceInfo>true</includeSourceInfo>
      <addSourceLineInfo>true</addSourceLineInfo>
      <enableLegacyEncoding>true</enableLegacyEncoding>
      <activateDebugger>true</activateDebugger>
      <optimizationLevel>None</optimizationLevel>
      <otherOptimizationFlags>-Wall-std=c++11-pthread-fPIC</otherOptimizationFlags>
      <linkerLibraries>
        <listItem>pcap</listItem>
        <listItem>ssl</listItem>
        <listItem>osipparser2</listItem>
      </linkerLibraries>
      <linkerLibrarySearchPath>
        <listItem>[HOME_FRAMEWORKS]/osip/src/osipparser2/.libs</listItem>
      </linkerLibrarySearchPath>
      <freeTextLinkerOptions>-pthread-fPIC</freeTextLinkerOptions>
    </MakefileSettings>
    <LocalBuildSettings>
      <MakefileScript/>
      <workingDirectory>bin</workingDirectory>
    </LocalBuildSettings>
  </ProjectProperties>
  <FileProperties>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibCommon/LibCommon_Sync.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibHttp/LibItsHttp_XMLTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibHttp/LibItsHttp_XmlMessageBodyTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibHttp/LibItsHttp_XmlTemplates.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_Common.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_MessageBodyTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SDPTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SIPTypesAndValues.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SMSFunctions.ttcn3</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SMSTemplates.ttcn3</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SMSTypesAndValues.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_SimpleMsgSummaryTypes.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_Steps.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
    <FileResource>
      <FilePath>src/ttcn/ttcn/LibSip/ttcn/LibSip_Templates.ttcn</FilePath>
      <FileProperties>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FileProperties>
    </FileResource>
  </FileProperties>
  <FolderProperties>
    <FolderResource>
      <FolderPath>src/ttcn/ttcn/TestCodec</FolderPath>
      <FolderProperties>
        <CentralStorage>false</CentralStorage>
        <ExcludeFromBuild>true</ExcludeFromBuild>
      </FolderProperties>
    </FolderResource>
  </FolderProperties>
</TITAN_Designer_Properties>
 No newline at end of file
Loading