.. _program_listing_file_regmap_manager.hpp: Program Listing for File regmap_manager.hpp =========================================== |exhale_lsh| :ref:`Return to documentation for file ` (``regmap_manager.hpp``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef REGMAP_MANAGER_H_ #define REGMAP_MANAGER_H_ #include #include // NOTE: Ignore the deprecated-declarations warning of gcc13, see FLX-2310 #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdeprecated-declarations" #include "yaml-cpp/yaml.h" #pragma GCC diagnostic pop class RegmapManager { public: RegmapManager(); bool can_read(const std::string& name) { return has_type(name, "REGMAP_REG_READ"); } bool can_write(const std::string& name) { return has_type(name, "REGMAP_REG_WRITE"); } bool has_endpoint_1(const std::string& name) { return has_endpoint(name, "REGMAP_ENDPOINT_1"); } private: std::filesystem::path m_regmap_file; YAML::Node m_regmap; bool has_key(std::string name, std::string key, const std::string& value); bool has_type(const std::string& name, const std::string& type); bool has_endpoint(const std::string& name, const std::string& endpoint); }; #endif /* REGMAP_MANAGER_H_ */