Index: components/arc/arc_bridge_service.h |
diff --git a/components/arc/arc_bridge_service.h b/components/arc/arc_bridge_service.h |
index e3417bc985756c0db52044b339df84c9da3d350b..f9fc6e896533d6ccc8cb5e08447edabfbadc80e9 100644 |
--- a/components/arc/arc_bridge_service.h |
+++ b/components/arc/arc_bridge_service.h |
@@ -8,16 +8,21 @@ |
#include "base/macros.h" |
#include "base/observer_list.h" |
#include "base/sequenced_task_runner.h" |
+#include "ipc/ipc_channel_handle.h" |
#include "ipc/ipc_channel_proxy.h" |
#include "ipc/ipc_listener.h" |
#include "ipc/ipc_message.h" |
+namespace content { |
+class GpuArcAcceleratorHost; |
+} |
+ |
namespace arc { |
// The Chrome-side service that handles ARC instances and ARC bridge creation. |
// This service handles the lifetime of ARC instances and sets up the |
// communication channel (the ARC bridge) used to send and receive messages. |
-class ArcBridgeService : public IPC::Listener { |
+class ArcBridgeService : public IPC::Listener, public IPC::Sender { |
public: |
// The possible states of the bridge. In the normal flow, the state changes |
// in the following sequence: |
@@ -80,6 +85,9 @@ class ArcBridgeService : public IPC::Listener { |
// called on the thread that this class was created on. |
static ArcBridgeService* Get(); |
+ // IPC::Sender: |
+ bool Send(IPC::Message* message) override; |
+ |
// DetectAvailability() should be called once D-Bus is available. It will |
// call CheckArcAvailability() on the session_manager. This can only be |
// called on the thread that this class was created on. |
@@ -148,6 +156,12 @@ class ArcBridgeService : public IPC::Listener { |
// interaction. |
void OnInstanceReady(); |
+ void OnCreateArcVideoAccelerator(uint32_t device_type, |
+ IPC::Message* reply_msg); |
+ void ReplyCreateArcVideoAccelerator(IPC::Message* reply, |
+ IPC::ChannelHandle handle, |
+ uint32_t result); |
+ |
// Changes the current state and notifies all observers. |
void SetState(State state); |
@@ -159,6 +173,7 @@ class ArcBridgeService : public IPC::Listener { |
void OnInstanceStarted(bool success); |
void OnInstanceStopped(bool success); |
+ scoped_ptr<content::GpuArcAcceleratorHost> gpu_arc_accelerator_host_; |
scoped_refptr<base::SequencedTaskRunner> origin_task_runner_; |
scoped_refptr<base::SingleThreadTaskRunner> ipc_task_runner_; |
scoped_refptr<base::SequencedTaskRunner> file_task_runner_; |