Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Side by Side Diff: chrome/service/service_process.h

Issue 2802015: Massively simplify the NetworkChangeNotifier infrastructure:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_SERVICE_SERVICE_PROCESS_H_ 5 #ifndef CHROME_SERVICE_SERVICE_PROCESS_H_
6 #define CHROME_SERVICE_SERVICE_PROCESS_H_ 6 #define CHROME_SERVICE_SERVICE_PROCESS_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/ref_counted.h" 10 #include "base/ref_counted.h"
11 #include "base/thread.h" 11 #include "base/thread.h"
12 12
13 class CloudPrintProxy; 13 class CloudPrintProxy;
14 class JsonPrefStore; 14 class JsonPrefStore;
15 class ServiceNetworkChangeNotifierThread; 15 namespace net {
16 class NetworkChangeNotifier;
17 }
16 18
17 // The ServiceProcess does not inherit from ChildProcess because this 19 // The ServiceProcess does not inherit from ChildProcess because this
18 // process can live independently of the browser process. 20 // process can live independently of the browser process.
19 class ServiceProcess { 21 class ServiceProcess {
20 public: 22 public:
21 ServiceProcess(); 23 ServiceProcess();
22 ~ServiceProcess(); 24 ~ServiceProcess();
23 25
24 bool Initialize(); 26 bool Initialize();
25 bool Teardown(); 27 bool Teardown();
(...skipping 13 matching lines...) Expand all
39 base::Thread* io_thread() const { 41 base::Thread* io_thread() const {
40 return io_thread_.get(); 42 return io_thread_.get();
41 } 43 }
42 // Returns the thread that we perform random file operations on. For code 44 // Returns the thread that we perform random file operations on. For code
43 // that wants to do I/O operations (not network requests or even file: URL 45 // that wants to do I/O operations (not network requests or even file: URL
44 // requests), this is the thread to use to avoid blocking the UI thread. 46 // requests), this is the thread to use to avoid blocking the UI thread.
45 base::Thread* file_thread() const { 47 base::Thread* file_thread() const {
46 return file_thread_.get(); 48 return file_thread_.get();
47 } 49 }
48 CloudPrintProxy* CreateCloudPrintProxy(JsonPrefStore* service_prefs); 50 CloudPrintProxy* CreateCloudPrintProxy(JsonPrefStore* service_prefs);
49 ServiceNetworkChangeNotifierThread* network_change_notifier_thread() const {
50 return network_change_notifier_thread_.get();
51 }
52 51
53 private: 52 private:
53 scoped_ptr<net::NetworkChangeNotifier> network_change_notifier_;
54 scoped_ptr<base::Thread> io_thread_; 54 scoped_ptr<base::Thread> io_thread_;
55 scoped_ptr<base::Thread> file_thread_; 55 scoped_ptr<base::Thread> file_thread_;
56 std::vector<CloudPrintProxy*> cloud_print_proxy_list_; 56 std::vector<CloudPrintProxy*> cloud_print_proxy_list_;
57 scoped_refptr<ServiceNetworkChangeNotifierThread>
58 network_change_notifier_thread_;
59 57
60 DISALLOW_COPY_AND_ASSIGN(ServiceProcess); 58 DISALLOW_COPY_AND_ASSIGN(ServiceProcess);
61 }; 59 };
62 60
63 extern ServiceProcess* g_service_process; 61 extern ServiceProcess* g_service_process;
64 62
65 #endif // CHROME_SERVICE_SERVICE_PROCESS_H_ 63 #endif // CHROME_SERVICE_SERVICE_PROCESS_H_
66 64
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698