#pragma once #include "types.hpp" #include #include void addObjectMapResult(std::vector& objectMap, const std::string& objectPath, const ConnectionNames::value_type& interfaceMap); std::vector getAncestors(const InterfaceMapType& interfaceMap, std::string reqPath, std::vector& interfaces); ConnectionNames getObject(const InterfaceMapType& interfaceMap, const std::string& path, std::vector& interfaces); std::vector getSubTree(const InterfaceMapType& interfaceMap, std::string reqPath, int32_t depth, std::vector& interfaces); std::vector getSubTreePaths(const InterfaceMapType& interfaceMap, std::string reqPath, int32_t depth, std::vector& interfaces); /** * @brief Get the Associated Sub Tree object * * @param interfaceMap Mapper Structure storing all associations * @param associationMaps Map of association between objects * @param associationPath Object path to get the endpoint from * @param reqPath Base path to search for the subtree * @param depth Level of depth to search into the base path * @param interfaces Interface filter * * Use getSubTree and return only the dbus objects that are in the endpoint * of associationPath. * * @return std::vector */ std::vector getAssociatedSubTree(const InterfaceMapType& interfaceMap, const AssociationMaps& associationMaps, const sdbusplus::message::object_path& associationPath, const sdbusplus::message::object_path& reqPath, int32_t depth, std::vector& interfaces); /** * @brief Get the Associated Sub Tree Paths object * * @param interfaceMap Mapper Structure storing all associations * @param associationMaps Map of association between objects * @param associationPath Object path to get the endpoint from * @param reqPath Base path to search for the subtree * @param depth Level of depth to search into the base path * @param interfaces Interface filter * * Use getSubTreePaths and return only the dbus objects that are in the * endpoint of associationPath. * * @return std::vector */ std::vector getAssociatedSubTreePaths( const InterfaceMapType& interfaceMap, const AssociationMaps& associationMaps, const sdbusplus::message::object_path& associationPath, const sdbusplus::message::object_path& reqPath, int32_t depth, std::vector& interfaces);