1 // Copyright 2017 The Chromium Authors 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef NET_REPORTING_REPORTING_NETWORK_CHANGE_OBSERVER_H_ 6 #define NET_REPORTING_REPORTING_NETWORK_CHANGE_OBSERVER_H_ 7 8 #include <memory> 9 10 #include "net/base/net_export.h" 11 12 namespace net { 13 14 class ReportingContext; 15 16 // Clears queued reports and/or configured endpoints on network changes if 17 // enabled in ReportingPolicy. 18 class NET_EXPORT ReportingNetworkChangeObserver { 19 public: 20 // Creates a ReportingNetworkChangeObserver. |context| must outlive it. 21 static std::unique_ptr<ReportingNetworkChangeObserver> Create( 22 ReportingContext* context); 23 24 virtual ~ReportingNetworkChangeObserver(); 25 }; 26 27 } // namespace net 28 29 #endif // NET_REPORTING_REPORTING_NETWORK_CHANGE_OBSERVER_H_ 30