#include <map>
#include <vector>
#include <string>
-#include <fcntl.h>
+#include <memory>
#include "../can/can-bus.hpp"
+#include "../can/can-message-set.hpp"
#include "../can/can-signals.hpp"
-#include "../can/can-message.hpp"
#include "../diagnostic/diagnostic-manager.hpp"
-#include "low-can-binding.hpp"
+#include "low-can-hat.hpp"
///
/// @brief Class representing a configuration attached to the binding.
uint8_t active_message_set_ = 0; ///< Which is the active message set ? Default to 0.
std::vector<can_message_set_t> can_message_set_; ///< Vector holding all message set from JSON signals description file
- std::vector<std::vector<can_message_definition_t>> can_message_definition_; ///< Vector of vector holding all can message definition from JSON signals description file. This describe a CAN message. First vector map to message set
- std::vector<std::vector<can_signal_t>> can_signals_; ///< Vector of vector holding all can signasl from JSON signals description file. A CAN signal is a part of a CAN message. First vector map to message set
- std::vector<std::vector<diagnostic_message_t>> diagnostic_messages_; ///< Vector of vector holding all diagnostics messages from JSON signals description file. First vector map to message set
+ //std::vector<std::vector<can_message_definition_t>> can_message_definition_; ///< Vector of vector holding all can message definition from JSON signals description file. This describe a CAN message. First vector map to message set
+ //std::vector<std::vector<can_signal_t>> can_signals_; ///< Vector of vector holding all can signasl from JSON signals description file. A CAN signal is a part of a CAN message. First vector map to message set
+ std::vector<std::vector<std::shared_ptr<diagnostic_message_t> > > diagnostic_messages_; ///< Vector of vector holding all diagnostics messages from JSON signals description file. First vector map to message set
configuration_t(); ///< Private constructor with implementation generated by the AGL generator.
const std::vector<can_message_set_t>& get_can_message_set();
- std::vector<can_signal_t>& get_can_signals();
+ std::vector<std::shared_ptr<can_signal_t> > get_can_signals();
- std::vector<diagnostic_message_t>& get_diagnostic_messages();
+ std::vector<std::shared_ptr<diagnostic_message_t> > get_diagnostic_messages();
const std::vector<std::string>& get_signals_prefix() const;
- const std::vector<can_message_definition_t>& get_can_message_definition();
- const can_message_definition_t& get_can_message_definition(std::uint8_t message_set_id, std::uint8_t message_id);
+ std::vector<std::shared_ptr<can_message_definition_t> > get_can_message_definition();
uint32_t get_signal_id(diagnostic_message_t& sig) const;
void set_active_message_set(uint8_t id);
- diagnostic_message_t* get_diagnostic_message(std::string message_name) const;
+ std::shared_ptr<diagnostic_message_t> get_diagnostic_message(std::string message_name) const;
DiagnosticRequest* get_request_from_diagnostic_message(std::string message_name) const;
/*
/// TODO: implement this function as method into can_bus class