#ifndef FUCHSIA_WEB_COMMON_TEST_FAKE_FEEDBACK_SERVICE_H_
#define FUCHSIA_WEB_COMMON_TEST_FAKE_FEEDBACK_SERVICE_H_
#include <fuchsia/feedback/cpp/fidl.h>
#include <lib/fidl/cpp/binding_set.h>
#include <lib/sys/component/cpp/testing/realm_builder_types.h>
#include <string_view>
namespace component_testing {
class RealmBuilder;
}
namespace test {
class FakeFeedbackService
: public ::fuchsia::feedback::ComponentDataRegister,
public ::fuchsia::feedback::CrashReportingProductRegister,
public ::component_testing::LocalComponentImpl {
public:
FakeFeedbackService();
FakeFeedbackService(const FakeFeedbackService&) = delete;
FakeFeedbackService& operator=(const FakeFeedbackService&) = delete;
~FakeFeedbackService() override;
static void RouteToChild(::component_testing::RealmBuilder& realm_builder,
std::string_view child_name);
void OnStart() override;
void Upsert(::fuchsia::feedback::ComponentData data,
UpsertCallback callback) override;
void Upsert(::std::string component_url,
::fuchsia::feedback::CrashReportingProduct product) override;
void UpsertWithAck(::std::string component_url,
::fuchsia::feedback::CrashReportingProduct product,
UpsertWithAckCallback callback) override;
private:
fidl::BindingSet<::fuchsia::feedback::ComponentDataRegister>
component_data_register_bindings_;
fidl::BindingSet<::fuchsia::feedback::CrashReportingProductRegister>
crash_reporting_product_register_bindings_;
};
}
#endif