blob: 92895bb2b6f71a93d6a8dea819fc91def1429398 [file] [log] [blame]
#ifndef THIRD_PARTY_GBMCWEB_INCLUDE_MANAGED_STORE_HTTP_H_
#define THIRD_PARTY_GBMCWEB_INCLUDE_MANAGED_STORE_HTTP_H_
#include <memory>
#include "app.hpp"
#include "http_request.hpp"
#include "async_resp.hpp"
namespace managedStore {
class ManagedObjectStoreHttp {
public:
// static only class, extension/friend to ManagedObjectStore
ManagedObjectStoreHttp() = delete;
~ManagedObjectStoreHttp() = delete;
ManagedObjectStoreHttp(const ManagedObjectStoreHttp&) = default;
ManagedObjectStoreHttp& operator=(const ManagedObjectStoreHttp&) = default;
ManagedObjectStoreHttp(ManagedObjectStoreHttp&&) = default;
ManagedObjectStoreHttp& operator=(ManagedObjectStoreHttp&&) = default;
static void requestRoutesManagedStoreDebug(
const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void requestRoutesManagedStorePostFlush(
const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void requestRoutesSubscriptionsDebug(
const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void requestRoutesEventStoreDebug(
const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void requestRoutesEventStoreFlush(
const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void requestGetGoogleManagedObjectStoreMetrics(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void requestGetGoogleTimetrace(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void handleGoogleTimetraceClearPost(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void handleGoogleTakeSnapShot(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
static void handleGoogleLoadSnapShot(
App& app, const crow::Request& req,
const std::shared_ptr<bmcweb::AsyncResp>& asyncResp);
};
void requestRoutesManagedStore(App& app);
}; // namespace managedStore
#endif // THIRD_PARTY_GBMCWEB_INCLUDE_MANAGED_STORE_HTTP_H_