blob: f6b6d1dc987def59c83c47b79f03412b57bdad19 [file] [log] [blame]
#include "src/associations.hpp"
#include "src/processing.hpp"
const std::string defaultSourcePath = "/logging/entry/1";
const std::string defaultDbusSvc = "xyz.openbmc_project.New.Interface";
const std::string defaultFwdPath = {defaultSourcePath + "/" + "inventory"};
const std::string defaultEndpoint =
"/xyz/openbmc_project/inventory/system/chassis";
const std::string defaultRevPath = {defaultEndpoint + "/" + "error"};
const std::string extraEndpoint = "/xyz/openbmc_project/differnt/endpoint";
// Create a default AssociationOwnersType object
AssociationOwnersType createDefaultOwnerAssociation()
{
AssociationPaths assocPathMap = {{defaultFwdPath, {defaultEndpoint}},
{defaultRevPath, {defaultSourcePath}}};
boost::container::flat_map<std::string, AssociationPaths> serviceMap = {
{defaultDbusSvc, assocPathMap}};
AssociationOwnersType ownerAssoc = {{defaultSourcePath, serviceMap}};
return ownerAssoc;
}
// Create a default AssociationInterfaces object
AssociationInterfaces
createDefaultInterfaceAssociation(sdbusplus::asio::object_server* server)
{
AssociationInterfaces interfaceAssoc;
auto& iface = interfaceAssoc[defaultFwdPath];
auto& endpoints = std::get<endpointsPos>(iface);
endpoints.push_back(defaultEndpoint);
server->add_interface(defaultFwdPath, defaultDbusSvc);
auto& iface2 = interfaceAssoc[defaultRevPath];
auto& endpoints2 = std::get<endpointsPos>(iface2);
endpoints2.push_back(defaultSourcePath);
server->add_interface(defaultRevPath, defaultDbusSvc);
return interfaceAssoc;
}
// Just add an extra endpoint to the first association
void addEndpointToInterfaceAssociation(AssociationInterfaces& interfaceAssoc)
{
auto iface = interfaceAssoc[defaultFwdPath];
auto endpoints = std::get<endpointsPos>(iface);
endpoints.push_back(extraEndpoint);
}
// Create a default interfaceMapType with input values
InterfaceMapType createInterfaceMap(
const std::string& path, const std::string& connectionName,
const boost::container::flat_set<std::string>& interfaceNames)
{
boost::container::flat_map<std::string,
boost::container::flat_set<std::string>>
connectionMap = {{connectionName, interfaceNames}};
InterfaceMapType interfaceMap = {{path, connectionMap}};
return interfaceMap;
}
// Create a default interfaceMapType with 2 entries with the same
// owner.
InterfaceMapType createDefaultInterfaceMap()
{
InterfaceMapType interfaceMap = {
{defaultSourcePath, {{defaultDbusSvc, {"a"}}}},
{defaultEndpoint, {{defaultDbusSvc, {"b"}}}}};
return interfaceMap;
}