|  | // Copyright (c) 2011 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. | 
|  |  | 
|  | // This file defines the CommandBufferEngine class, providing the main loop for | 
|  | // the service, exposing the RPC API, managing the command parser. | 
|  |  | 
|  | #ifndef GPU_COMMAND_BUFFER_SERVICE_CMD_BUFFER_ENGINE_H_ | 
|  | #define GPU_COMMAND_BUFFER_SERVICE_CMD_BUFFER_ENGINE_H_ | 
|  |  | 
|  | #include <stdint.h> | 
|  |  | 
|  | #include "base/macros.h" | 
|  | #include "gpu/command_buffer/common/buffer.h" | 
|  |  | 
|  | namespace gpu { | 
|  |  | 
|  | class CommandBufferEngine { | 
|  | public: | 
|  | CommandBufferEngine() { | 
|  | } | 
|  |  | 
|  | virtual ~CommandBufferEngine() { | 
|  | } | 
|  |  | 
|  | // Gets the base address and size of a registered shared memory buffer. | 
|  | // Parameters: | 
|  | //   shm_id: the identifier for the shared memory buffer. | 
|  | virtual scoped_refptr<gpu::Buffer> GetSharedMemoryBuffer(int32_t shm_id) = 0; | 
|  |  | 
|  | // Sets the token value. | 
|  | virtual void set_token(int32_t token) = 0; | 
|  |  | 
|  | // Sets the shared memory buffer used for commands. | 
|  | virtual bool SetGetBuffer(int32_t transfer_buffer_id) = 0; | 
|  |  | 
|  | // Sets the "get" pointer. Return false if offset is out of range. | 
|  | virtual bool SetGetOffset(int32_t offset) = 0; | 
|  |  | 
|  | // Gets the "get" pointer. | 
|  | virtual int32_t GetGetOffset() = 0; | 
|  |  | 
|  | private: | 
|  | DISALLOW_COPY_AND_ASSIGN(CommandBufferEngine); | 
|  | }; | 
|  |  | 
|  | }  // namespace gpu | 
|  |  | 
|  | #endif  // GPU_COMMAND_BUFFER_SERVICE_CMD_BUFFER_ENGINE_H_ |