13551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 23551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 33551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// found in the LICENSE file. 43551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 53551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#ifndef CHROMEOS_NETWORK_NETWORK_POLICY_OBSERVER_H_ 63551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#define CHROMEOS_NETWORK_NETWORK_POLICY_OBSERVER_H_ 73551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include <string> 93551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "base/basictypes.h" 113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)namespace chromeos { 133551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)class NetworkPolicyObserver { 153551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) public: 16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Called when the policy for |userhash| was set (also when it was updated). 17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Note that the policy might not have been applied yet at that time. 18cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // An empty |userhash| designates the device policy. 19cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void PolicyChanged(const std::string& userhash) {}; 20cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) 21cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) // Called every time a network is create or updated because of a policy. 22cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) virtual void PolicyApplied(const std::string& service_path) {}; 233551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) protected: 253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) virtual ~NetworkPolicyObserver() {}; 263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) private: 283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) DISALLOW_ASSIGN(NetworkPolicyObserver); 293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)}; 303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} // namespace chromeos 323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#endif // CHROMEOS_NETWORK_NETWORK_POLICY_OBSERVER_H_ 34