[DevTools] Emulation domain implementation (browser side).
[chromium-blink-merge.git] / ipc / mojo / scoped_ipc_support.h
blob21013fa75c0469ae8554f90d482e24eb0f31d6df
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
3 // found in the LICENSE file.
5 #ifndef IPC_MOJO_SCOPED_IPC_SUPPORT_H_
6 #define IPC_MOJO_SCOPED_IPC_SUPPORT_H_
8 #include "base/macros.h"
9 #include "base/memory/ref_counted.h"
10 #include "base/task_runner.h"
11 #include "ipc/ipc_export.h"
13 namespace IPC {
15 // Perform any necessary Mojo IPC initialization. A ScopedIPCSupport object
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
18 // the current process and that it is shutdown cleanly when no longer in use.
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
22 // not be using it.
23 class IPC_MOJO_EXPORT ScopedIPCSupport {
24 public:
25 ScopedIPCSupport(scoped_refptr<base::TaskRunner> io_thread_task_runner);
26 ~ScopedIPCSupport();
28 private:
29 DISALLOW_COPY_AND_ASSIGN(ScopedIPCSupport);
32 } // namespace IPC
34 #endif // IPC_MOJO_SCOPED_IPC_SUPPORT_H_