blob: 3c007358ecc70b54f67126de82aa80dc56ca5c42 [file] [log] [blame]
#ifndef THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_CABLES_H_
#define THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_CABLES_H_
#include "absl/strings/string_view.h"
#include "nlohmann/json.hpp"
#include "topology_config.pb.h"
#include "tlbmc/redfish/app.h"
#include "tlbmc/redfish/request.h"
#include "tlbmc/redfish/response.h"
#include "fru.pb.h"
namespace milotic_tlbmc::cable {
// The handler function of the CableCollection route.
void HandleCableCollection(const RedfishApp& app, const RedfishRequest& req,
RedfishResponse& resp);
// The handler function of the Cable route.
void HandleCable(const RedfishApp& app, const RedfishRequest& req,
RedfishResponse& resp, absl::string_view cable_id);
void FillResponseWithCableData(
const nlohmann::json::json_pointer& cable_ptr, const Fru* fru_ptr,
const TopologyConfigNode* topology_config_node_ptr, RedfishResponse& resp);
void RegisterRoutes(RedfishApp& app);
} // namespace milotic_tlbmc::cable
#endif // THIRD_PARTY_MILOTIC_EXTERNAL_CC_TLBMC_REDFISH_ROUTES_CABLES_H_