| #ifndef THIRD_PARTY_MILOTIC_INTERNAL_CC_REDFISH_SUBSCRIPTION_BACKEND_IMPL_H_ | 
 | #define THIRD_PARTY_MILOTIC_INTERNAL_CC_REDFISH_SUBSCRIPTION_BACKEND_IMPL_H_ | 
 |  | 
 | #include <memory> | 
 | #include <string> | 
 | #include <unordered_set> | 
 |  | 
 | #include "absl/status/status.h" | 
 | #include "absl/strings/string_view.h" | 
 | #include "subscription.h" | 
 | #include "app.hpp" | 
 |  | 
 | namespace milotic { | 
 |  | 
 | // Implements Interface for a BmcWeb SubscriptionService backend. | 
 | class BmcWebBackend : public ecclesia::SubscriptionBackend { | 
 |  public: | 
 |   static std::unique_ptr<BmcWebBackend> Create(App* app); | 
 |  | 
 |   absl::Status Query( | 
 |       absl::string_view url, QueryCallback&& query_callback, | 
 |       const std::unordered_set<std::string>& peer_privileges) override; | 
 |   absl::Status Subscribe( | 
 |       absl::string_view url, SubscribeCallback&& callback, | 
 |       const std::unordered_set<std::string>& peer_privileges) override; | 
 |  | 
 |  private: | 
 |   explicit BmcWebBackend(App& app) : app_(app) {} | 
 |  | 
 |   App& app_; | 
 | }; | 
 |  | 
 | }  // namespace milotic | 
 |  | 
 | #endif  // THIRD_PARTY_MILOTIC_INTERNAL_CC_REDFISH_SUBSCRIPTION_BACKEND_IMPL_H_ |