#ifndef ASH_BIRCH_BIRCH_DATA_PROVIDER_H_
#define ASH_BIRCH_BIRCH_DATA_PROVIDER_H_
#include "ash/ash_export.h"
#include "base/functional/callback.h"
namespace ash {
class ASH_EXPORT BirchDataProvider {
public:
BirchDataProvider(const BirchDataProvider&) = delete;
BirchDataProvider& operator=(const BirchDataProvider&) = delete;
virtual ~BirchDataProvider();
virtual void RequestBirchDataFetch() = 0;
void SetDataProviderChangedCallback(base::RepeatingClosure callback);
void ResetDataProviderChangedCallback();
protected:
BirchDataProvider();
void NotifyDataProviderChanged();
private:
base::RepeatingClosure data_provider_changed_callback_;
};
}
#endif