blob: 4e8c8ac30399ccef4888ca73a5cb3c72281a2f1a [file] [log] [blame]
// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef COMPONENTS_METRICS_TEST_TEST_ENABLED_STATE_PROVIDER_H_
#define COMPONENTS_METRICS_TEST_TEST_ENABLED_STATE_PROVIDER_H_
#include "components/metrics/enabled_state_provider.h"
namespace metrics {
// A simple concrete implementation of the EnabledStateProvider interface, for
// use in tests.
class TestEnabledStateProvider : public EnabledStateProvider {
public:
TestEnabledStateProvider(bool consent, bool enabled)
: consent_(consent), enabled_(enabled) {}
TestEnabledStateProvider(const TestEnabledStateProvider&) = delete;
TestEnabledStateProvider& operator=(const TestEnabledStateProvider&) = delete;
~TestEnabledStateProvider() override {}
// EnabledStateProvider
bool IsConsentGiven() const override;
bool IsReportingEnabled() const override;
void set_consent(bool consent) { consent_ = consent; }
void set_enabled(bool enabled) { enabled_ = enabled; }
private:
bool consent_;
bool enabled_;
};
} // namespace metrics
#endif // COMPONENTS_METRICS_TEST_TEST_ENABLED_STATE_PROVIDER_H_