Index: content/common/gpu/client/ipc/gpu_host_ipc_transport_factory.h |
diff --git a/content/common/gpu/client/ipc/gpu_host_ipc_transport_factory.h b/content/common/gpu/client/ipc/gpu_host_ipc_transport_factory.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..23a59ed68d4428572b27c234c961efd842806fb0 |
--- /dev/null |
+++ b/content/common/gpu/client/ipc/gpu_host_ipc_transport_factory.h |
@@ -0,0 +1,45 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CONTENT_COMMON_GPU_CLIENT_IPC_GPU_HOST_IPC_TRANSPORT_FACTORY_H_ |
+#define CONTENT_COMMON_GPU_CLIENT_IPC_GPU_HOST_IPC_TRANSPORT_FACTORY_H_ |
+ |
+#include "base/memory/scoped_ptr.h" |
+ |
+namespace content { |
+ |
+class CommandBufferIPCTransport; |
+class GpuChannelHostIPCTransport; |
+class GpuJpegDecodeAcceleratorHostIPCTransport; |
+class GpuVideoDecodeAcceleratorHostIPCTransport; |
+class GpuVideoEncodeAcceleratorHostIPCTransport; |
+ |
+class GpuHostIPCTransportFactory { |
+ public: |
+ static GpuHostIPCTransportFactory* Get(); |
+ |
+ virtual scoped_ptr<CommandBufferIPCTransport> |
+ CreateCommandBufferIPCTransport() = 0; |
+ |
+ virtual scoped_ptr<GpuChannelHostIPCTransport> |
+ CreateGpuChannelHostIPCTransport() = 0; |
+ |
+ virtual scoped_ptr<GpuJpegDecodeAcceleratorHostIPCTransport> |
+ CreateJpegDecodeAcceleratorHostIPCTransport() = 0; |
+ |
+ virtual scoped_ptr<GpuVideoDecodeAcceleratorHostIPCTransport> |
+ CreateVideoDecodeAcceleratorHostIPCTransport() = 0; |
+ |
+ virtual scoped_ptr<GpuVideoEncodeAcceleratorHostIPCTransport> |
+ CreateVideoEncodeAcceleratorHostIPCTransport() = 0; |
+ |
+ protected: |
+ static GpuHostIPCTransportFactory* factory_; |
+ |
+ virtual ~GpuHostIPCTransportFactory() {} |
+}; |
+ |
+} // namespace content |
+ |
+#endif // CONTENT_COMMON_GPU_CLIENT_GPU_HOST_IPC_TRANSPORT_FACTORY_H_ |