1// Copyright (c) 2011 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.
4
5#ifndef PPAPI_THUNK_PPB_BUFFER_API_H_
6#define PPAPI_THUNK_PPB_BUFFER_API_H_
7
8#include "ppapi/c/pp_bool.h"
9#include "ppapi/c/pp_stdint.h"
10#include "ppapi/thunk/ppapi_thunk_export.h"
11
12namespace ppapi {
13namespace thunk {
14
15class PPAPI_THUNK_EXPORT PPB_Buffer_API {
16 public:
17  virtual ~PPB_Buffer_API() {}
18
19  virtual PP_Bool Describe(uint32_t* size_in_bytes) = 0;
20  virtual PP_Bool IsMapped() = 0;
21  virtual void* Map() = 0;
22  virtual void Unmap() = 0;
23
24  // Trusted API
25  virtual int32_t GetSharedMemory(int* handle) = 0;
26};
27
28}  // namespace thunk
29}  // namespace ppapi
30
31#endif  // PPAPI_THUNK_PPB_BUFFER_API_H_
32