158e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// found in the LICENSE file. 42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 558e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch#ifndef CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_EVENT_ROUTER_H_ 658e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch#define CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_EVENT_ROUTER_H_ 72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 8a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)#include "components/keyed_service/core/keyed_service.h" 9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "extensions/browser/event_router.h" 102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class Profile; 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)namespace extensions { 142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// This is an event router that will observe listeners to |NetworksChanged| and 16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)// |NetworkListChanged| events. On ChromeOS it will forward these events 1790dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)// from the NetworkStateHandler to the JavaScript Networking API. 18a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)class NetworkingPrivateEventRouter : public KeyedService, 19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) public EventRouter::Observer { 202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) public: 21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) static NetworkingPrivateEventRouter* Create(Profile* profile); 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) protected: 24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) NetworkingPrivateEventRouter() {} 252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) private: 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(NetworkingPrivateEventRouter); 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)}; 292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)} // namespace extensions 312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 3258e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch#endif // CHROME_BROWSER_EXTENSIONS_API_NETWORKING_PRIVATE_NETWORKING_PRIVATE_EVENT_ROUTER_H_ 3358e6fbe4ee35d65e14b626c557d37565bf8ad179Ben Murdoch 34