OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 CONTENT_PUBLIC_BROWSER_UTILITY_PROCESS_MOJO_CLIENT_H_ | 5 #ifndef CONTENT_PUBLIC_BROWSER_UTILITY_PROCESS_MOJO_CLIENT_H_ |
6 #define CONTENT_PUBLIC_BROWSER_UTILITY_PROCESS_MOJO_CLIENT_H_ | 6 #define CONTENT_PUBLIC_BROWSER_UTILITY_PROCESS_MOJO_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
12 #include "base/macros.h" | 12 #include "base/macros.h" |
13 #include "base/strings/string16.h" | 13 #include "base/strings/string16.h" |
14 #include "base/threading/thread_checker.h" | 14 #include "base/threading/thread_checker.h" |
15 #include "content/public/browser/browser_thread.h" | 15 #include "content/public/browser/browser_thread.h" |
16 #include "content/public/browser/utility_process_host.h" | 16 #include "content/public/browser/utility_process_host.h" |
17 #include "content/public/browser/utility_process_host_client.h" | 17 #include "content/public/browser/utility_process_host_client.h" |
18 #include "mojo/public/cpp/bindings/interface_ptr.h" | 18 #include "mojo/public/cpp/bindings/interface_ptr.h" |
19 #include "services/shell/public/cpp/interface_provider.h" | 19 #include "services/service_manager/public/cpp/interface_provider.h" |
20 | 20 |
21 namespace content { | 21 namespace content { |
22 | 22 |
23 // Implements a client to a Mojo service running on a utility process. Takes | 23 // Implements a client to a Mojo service running on a utility process. Takes |
24 // care of starting the utility process and connecting to the remote Mojo | 24 // care of starting the utility process and connecting to the remote Mojo |
25 // service. The utility process is terminated in the destructor. | 25 // service. The utility process is terminated in the destructor. |
26 // Note: This class is not thread-safe. It is bound to the | 26 // Note: This class is not thread-safe. It is bound to the |
27 // SingleThreadTaskRunner it is created on. | 27 // SingleThreadTaskRunner it is created on. |
28 template <class MojoInterface> | 28 template <class MojoInterface> |
29 class UtilityProcessMojoClient { | 29 class UtilityProcessMojoClient { |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 | 134 |
135 // Checks that this class is always accessed from the same thread. | 135 // Checks that this class is always accessed from the same thread. |
136 base::ThreadChecker thread_checker_; | 136 base::ThreadChecker thread_checker_; |
137 | 137 |
138 DISALLOW_COPY_AND_ASSIGN(UtilityProcessMojoClient); | 138 DISALLOW_COPY_AND_ASSIGN(UtilityProcessMojoClient); |
139 }; | 139 }; |
140 | 140 |
141 } // namespace content | 141 } // namespace content |
142 | 142 |
143 #endif // CONTENT_PUBLIC_BROWSER_UTILITY_PROCESS_MOJO_CLIENT_H_ | 143 #endif // CONTENT_PUBLIC_BROWSER_UTILITY_PROCESS_MOJO_CLIENT_H_ |
OLD | NEW |