OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 CHROMEOS_DBUS_SERVICES_PROXY_RESOLUTION_SERVICE_PROVIDER_H_ | 5 #ifndef CHROMEOS_DBUS_SERVICES_PROXY_RESOLUTION_SERVICE_PROVIDER_H_ |
6 #define CHROMEOS_DBUS_SERVICES_PROXY_RESOLUTION_SERVICE_PROVIDER_H_ | 6 #define CHROMEOS_DBUS_SERVICES_PROXY_RESOLUTION_SERVICE_PROVIDER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
96 // Called when ResolveProxy() is exported as a D-Bus method. | 96 // Called when ResolveProxy() is exported as a D-Bus method. |
97 void OnExported(const std::string& interface_name, | 97 void OnExported(const std::string& interface_name, |
98 const std::string& method_name, | 98 const std::string& method_name, |
99 bool success); | 99 bool success); |
100 | 100 |
101 // Callback invoked when Chrome OS clients send network proxy resolution | 101 // Callback invoked when Chrome OS clients send network proxy resolution |
102 // requests to the service. Called on UI thread. | 102 // requests to the service. Called on UI thread. |
103 void ResolveProxy(dbus::MethodCall* method_call, | 103 void ResolveProxy(dbus::MethodCall* method_call, |
104 dbus::ExportedObject::ResponseSender response_sender); | 104 dbus::ExportedObject::ResponseSender response_sender); |
105 | 105 |
106 // Callback passed to network thread static methods to run | |
107 // NotifyProxyResolved() on |origin_thread_|. | |
108 using NotifyCallback = base::Callback<void(std::unique_ptr<Request>)>; | |
109 | |
106 // Helper method for ResolveProxy() that runs on network thread. | 110 // Helper method for ResolveProxy() that runs on network thread. |
107 void ResolveProxyOnNetworkThread(std::unique_ptr<Request> request); | 111 static void ResolveProxyOnNetworkThread( |
112 std::unique_ptr<Request> request, | |
113 scoped_refptr<base::SingleThreadTaskRunner> notify_thread, | |
114 NotifyCallback notify_callback); | |
James Cook
2017/04/03 15:30:23
I really appreciate your consistent naming of thin
| |
108 | 115 |
109 // Callback on network thread for when net::ProxyService::ResolveProxy() | 116 // Callback on network thread for when net::ProxyService::ResolveProxy() |
110 // completes, synchronously or asynchronously. | 117 // completes, synchronously or asynchronously. |
111 void OnResolutionComplete(std::unique_ptr<Request> request, int result); | 118 static void OnResolutionComplete( |
119 std::unique_ptr<Request> request, | |
120 scoped_refptr<base::SingleThreadTaskRunner> notify_thread, | |
121 NotifyCallback notify_callback, | |
122 int result); | |
112 | 123 |
113 // Called on UI thread from OnResolutionComplete() to pass the resolved proxy | 124 // Called on UI thread from OnResolutionComplete() to pass the resolved proxy |
114 // information to the client over D-Bus. | 125 // information to the client over D-Bus. |
115 void NotifyProxyResolved(std::unique_ptr<Request> request); | 126 void NotifyProxyResolved(std::unique_ptr<Request> request); |
116 | 127 |
117 std::unique_ptr<Delegate> delegate_; | 128 std::unique_ptr<Delegate> delegate_; |
118 scoped_refptr<dbus::ExportedObject> exported_object_; | 129 scoped_refptr<dbus::ExportedObject> exported_object_; |
119 scoped_refptr<base::SingleThreadTaskRunner> origin_thread_; | 130 scoped_refptr<base::SingleThreadTaskRunner> origin_thread_; |
120 base::WeakPtrFactory<ProxyResolutionServiceProvider> weak_ptr_factory_; | 131 base::WeakPtrFactory<ProxyResolutionServiceProvider> weak_ptr_factory_; |
121 | 132 |
122 DISALLOW_COPY_AND_ASSIGN(ProxyResolutionServiceProvider); | 133 DISALLOW_COPY_AND_ASSIGN(ProxyResolutionServiceProvider); |
123 }; | 134 }; |
124 | 135 |
125 } // namespace chromeos | 136 } // namespace chromeos |
126 | 137 |
127 #endif // CHROMEOS_DBUS_SERVICES_PROXY_RESOLUTION_SERVICE_PROVIDER_H_ | 138 #endif // CHROMEOS_DBUS_SERVICES_PROXY_RESOLUTION_SERVICE_PROVIDER_H_ |
OLD | NEW |