OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 IPC_MOJO_SCOPED_IPC_SUPPORT_H_ | 5 #ifndef IPC_MOJO_SCOPED_IPC_SUPPORT_H_ |
6 #define IPC_MOJO_SCOPED_IPC_SUPPORT_H_ | 6 #define IPC_MOJO_SCOPED_IPC_SUPPORT_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
9 #include "base/memory/ref_counted.h" | 9 #include "base/memory/ref_counted.h" |
10 #include "base/task_runner.h" | 10 #include "base/task_runner.h" |
11 #include "ipc/ipc_export.h" | 11 #include "ipc/ipc_export.h" |
12 | 12 |
13 namespace IPC { | 13 namespace IPC { |
14 | 14 |
15 // Perform any necessary Mojo IPC initialization. A ScopedIPCSupport object | 15 // Perform any necessary Mojo IPC initialization. A ScopedIPCSupport object |
16 // should be instantiated and retained by any component which makes direct calls | 16 // should be instantiated and retained by any component which makes direct calls |
17 // to the Mojo EDK. This is used to ensure that the EDK is initialized within | 17 // to the Mojo EDK. This is used to ensure that the EDK is initialized within |
18 // the current process and that it is shutdown cleanly when no longer in use. | 18 // the current process and that it is shutdown cleanly when no longer in use. |
19 // | 19 // |
20 // NOTE: Unless you are making explicit calls to functions in the | 20 // NOTE: Unless you are making explicit calls to functions in the |
21 // mojo::embedder namespace, you almost definitely DO NOT need this and should | 21 // mojo::edk namespace, you almost definitely DO NOT need this and should |
22 // not be using it. | 22 // not be using it. |
23 class IPC_MOJO_EXPORT ScopedIPCSupport { | 23 class IPC_MOJO_EXPORT ScopedIPCSupport { |
24 public: | 24 public: |
25 ScopedIPCSupport(scoped_refptr<base::TaskRunner> io_thread_task_runner); | 25 ScopedIPCSupport(scoped_refptr<base::TaskRunner> io_thread_task_runner); |
26 ~ScopedIPCSupport(); | 26 ~ScopedIPCSupport(); |
27 | 27 |
28 private: | 28 private: |
29 DISALLOW_COPY_AND_ASSIGN(ScopedIPCSupport); | 29 DISALLOW_COPY_AND_ASSIGN(ScopedIPCSupport); |
30 }; | 30 }; |
31 | 31 |
32 } // namespace IPC | 32 } // namespace IPC |
33 | 33 |
34 #endif // IPC_MOJO_SCOPED_IPC_SUPPORT_H_ | 34 #endif // IPC_MOJO_SCOPED_IPC_SUPPORT_H_ |
OLD | NEW |