Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(437)

Unified Diff: components/arc/arc_bridge_service.h

Issue 1456133005: arc-bridge: establish connections with arc video accelerator (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gpu-arc-accelerator
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « components/arc/DEPS ('k') | components/arc/arc_bridge_service.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_;
« no previous file with comments | « components/arc/DEPS ('k') | components/arc/arc_bridge_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698