#pragma once #include #include #include /** @brief Define white list and black list data structure */ using WhiteBlackList = boost::container::flat_set; /** @brief Get well known name of input unique name * * If user passes in well known name then that will be returned. * * @param[in] owners - Current list of owners * @param[in] request - The name to look up * @param[out] wellKnown - The well known name if found * * @return True if well known name is found, false otherwise */ bool getWellKnown( const boost::container::flat_map& owners, const std::string& request, std::string& well_known); /** @brief Determine if dbus service is something to monitor * * mapper supports a whitelist and blacklist concept. If a whitelist is provided * as input then only dbus objects matching that list is monitored. If a * blacklist is provided then objects matching it will not be monitored. * * @param[in] processName - Dbus service name * @param[in] whiteList - The white list * @param[in] blackList - The black list * * @return True if input process_name should be monitored, false otherwise */ bool needToIntrospect(const std::string& processName, const WhiteBlackList& whiteList, const WhiteBlackList& blackList);