| #ifndef THIRD_PARTY_MILOTIC_INTERNAL_CC_BMCWEB_APP_INTERFACE_H_ |
| #define THIRD_PARTY_MILOTIC_INTERNAL_CC_BMCWEB_APP_INTERFACE_H_ |
| |
| #include <memory> |
| #include <string> |
| |
| #include "absl/container/flat_hash_set.h" |
| #include "dbus_utility.hpp" // NOLINT |
| #include "async_resp.hpp" // NOLINT |
| #include "http_request.hpp" // NOLINT |
| #include "router_interface.h" |
| |
| namespace crow { |
| // Abstract Redfish App Away. |
| class AppInterface { |
| public: |
| AppInterface() = default; |
| virtual ~AppInterface() = default; |
| |
| AppInterface(const AppInterface&) = default; |
| AppInterface& operator=(const AppInterface&) = default; |
| AppInterface(AppInterface&&) = default; |
| AppInterface& operator=(AppInterface&&) = default; |
| |
| virtual absl::flat_hash_set<std::string> GetOwnedUrls() const = 0; |
| |
| virtual void SetSmartRouter(::crow::RouterInterface* smart_router) = 0; |
| |
| virtual void HandleFromCrowRequest( |
| const crow::Request& req, |
| const std::shared_ptr<bmcweb::AsyncResp>& async_resp) const = 0; |
| |
| virtual void DebugPrint() const = 0; |
| }; |
| |
| } // namespace crow |
| |
| #endif // THIRD_PARTY_MILOTIC_INTERNAL_CC_BMCWEB_APP_INTERFACE_H_ |