#ifndef NET_REPORTING_REPORTING_CACHE_OBSERVER_H_
#define NET_REPORTING_REPORTING_CACHE_OBSERVER_H_
#include <vector>
#include "net/base/net_export.h"
#include "net/reporting/reporting_endpoint.h"
#include "net/reporting/reporting_report.h"
namespace net {
class NET_EXPORT ReportingCacheObserver {
public:
ReportingCacheObserver(const ReportingCacheObserver&) = delete;
ReportingCacheObserver& operator=(const ReportingCacheObserver&) = delete;
virtual void OnReportsUpdated();
virtual void OnReportAdded(const ReportingReport* report);
virtual void OnReportUpdated(const ReportingReport* report);
virtual void OnClientsUpdated();
virtual void OnEndpointsUpdatedForOrigin(
const std::vector<ReportingEndpoint>& endpoints);
protected:
ReportingCacheObserver();
~ReportingCacheObserver();
};
}
#endif