Easy Navigation
Loading...
Searching...
No Matches
ConfigurationFingerprint.cpp File Reference

Implementation of the configuration fingerprint. More...

#include <openssl/evp.h>
#include <algorithm>
#include <charconv>
#include <cstdint>
#include <filesystem>
#include <fstream>
#include <iomanip>
#include <sstream>
#include <string>
#include <system_error>
#include <vector>
#include "rcl_logging_interface/rcl_logging_interface.h"
#include "rcutils/allocator.h"
#include "easynav_system/safety/ConfigurationFingerprint.hpp"
Include dependency graph for ConfigurationFingerprint.cpp:

Namespaces

namespace  easynav
namespace  easynav::safety

Functions

std::string configuration_dump (const Nodes &nodes)
 Every parameter of nodes, one "node/parameter=value" per line, sorted.
std::string dump_file_name (const std::string &ns, const std::string &hash)
 "easynav_configuration_[<ns>_]<hash>.txt", for the EasyNav in namespace ns.
std::string loaded_plugins (const Nodes &nodes)
 The loaded plugins: every "<alias>.plugin" listed in a "*_types" parameter, one "\n node: alias [class]" each.
std::string log_directory ()
 ROS's log directory ($ROS_LOG_DIR, else $ROS_HOME/log, else ~/.ros/log), or "".
std::string save_dump (const std::string &dump, const std::string &path)
 Writes dump to path, unless it already exists.
std::string sha256_hex (const std::string &data)
 SHA-256 of data, in hex.

Detailed Description

Implementation of the configuration fingerprint.