1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_EVENT_ROUTER_H_ 6 #define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_EVENT_ROUTER_H_ 7 8 #include "components/keyed_service/core/keyed_service.h" 9 #include "extensions/browser/event_router.h" 10 11 class Profile; 12 13 namespace extensions { 14 15 // This is an event router that will observe listeners to |NetworksChanged| and 16 // |NetworkListChanged| events. On ChromeOS it will forward these events 17 // from the NetworkStateHandler to the JavaScript Networking API. 18 class NetworkingPrivateEventRouter : public KeyedService, 19 public EventRouter::Observer { 20 public: 21 static NetworkingPrivateEventRouter* Create(Profile* profile); 22 23 protected: 24 NetworkingPrivateEventRouter() {} 25 26 private: 27 DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateEventRouter); 28 }; 29 30 } // namespace extensions 31 32 #endif // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_EVENT_ROUTER_H_ 33 34