Skip to content

v0.1.0

Compare
Choose a tag to compare
@rsanchez15 rsanchez15 released this 04 Oct 09:02
· 97 commits to main since this release

This release includes the following CMake projects: cmake_utils and cpp_utils.

This release includes the following features in cmake_utils project:

  • Compilation macros: compile_documentation, compile_library, compile_test_library, compile_test_documentation, compile_test_tool, compile_tool, and configure_test_flags.
  • C++ common macros: check_cpp, check_cpp_17, set_cmake_build_type, activate_code_coverage, configure_project_cpp, custom_cpp_flags, find_external_projects, and find_thirdparties_headeronly.
  • Packaging macros: eprosima_packaging, install_resources, and eprosima_install_resources.
  • Project specific macros: configure_project, set_installation_paths, load_project_settings, read_commit_hash, read_version, and configure_cmake_options.
  • Test specific macros and functions: test_requirements, add_test_executable, add_unittest_executable, add_blackbox_executable, all_library_sources, and all_header_sources.

This release includes the following features in cpp_utils project:

  • Event handler: interface to implement a handler of any kind of event.
  • File watcher handler: detect changes in a given file.
  • Logging event handler: implement the functionality to raise callback every time a logging message is consumed.
  • Logging severe event handler: consume the log event handler events that are above a given threshold.
  • Multiple event handler: encapsulate multiple event handlers.
  • Periodic event handler: raise an event periodically with a specific time period.
  • Signal event handler: raise a callback each time the signal specified in received.
  • Signal manager: manage a specific signal given by a template specialization.
  • Exceptions: allow to raise an exception of the following kinds: ConfigurationException, DisabledException, DNSException, IncosistencyException, InitializationException, TimeoutException, UnsupportedException, ValueAccessException, ValueNotAllowedException.
  • Create custom enumerations.
  • Math functionalities.
  • OwnerPtr and LesseePtr: smart pointer with some extra functionalities.
  • Thread pool implementation.
  • Timer utilities.
  • Atomicable and SharedAtomicable types: join any type value and mutex/shared_mutex together for commodity and readability.
  • Wait handlers: allow to make multiple threads wait until another thread awakes them. The currently available event handlers are: BooleanWaitHandler, ConsumerWaitHandler, CounterWaitHandler, DBQueueWaitHandler*, and IntWaitHandler.
  • Formatter utility: auxiliary function to concatenate inplace every kind of object << stream.
  • Logging module: Fast DDS logging module.
  • Return codes: enumeration for different method return statements.
  • Other generic cpp utils functions.

This release includes the following Continuous-Integration features:

  • GitHub actions to validate the utils implementation.