OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef PPAPI_CPP_DEV_BUFFER_DEV_H_ | 5 #ifndef PPAPI_CPP_DEV_BUFFER_DEV_H_ |
6 #define PPAPI_CPP_DEV_BUFFER_DEV_H_ | 6 #define PPAPI_CPP_DEV_BUFFER_DEV_H_ |
7 | 7 |
8 #include "ppapi/cpp/resource.h" | 8 #include "ppapi/cpp/resource.h" |
9 | 9 |
10 namespace pp { | 10 namespace pp { |
11 | 11 |
12 class Instance; | 12 class InstanceHandle; |
13 | 13 |
14 class Buffer_Dev : public Resource { | 14 class Buffer_Dev : public Resource { |
15 public: | 15 public: |
16 // Creates an is_null() Buffer object. | 16 // Creates an is_null() Buffer object. |
17 Buffer_Dev(); | 17 Buffer_Dev(); |
18 Buffer_Dev(const Buffer_Dev& other); | 18 Buffer_Dev(const Buffer_Dev& other); |
19 explicit Buffer_Dev(PP_Resource resource); | 19 explicit Buffer_Dev(PP_Resource resource); |
20 | 20 |
21 // Creates & Maps a new Buffer in the browser with the given size. The | 21 // Creates & Maps a new Buffer in the browser with the given size. The |
22 // resulting object will be is_null() if either Create() or Map() fails. | 22 // resulting object will be is_null() if either Create() or Map() fails. |
23 Buffer_Dev(Instance* instance, uint32_t size); | 23 Buffer_Dev(const InstanceHandle& instance, uint32_t size); |
24 | 24 |
25 // Unmap the underlying shared memory. | 25 // Unmap the underlying shared memory. |
26 virtual ~Buffer_Dev(); | 26 virtual ~Buffer_Dev(); |
27 | 27 |
28 Buffer_Dev& operator=(const Buffer_Dev& rhs); | 28 Buffer_Dev& operator=(const Buffer_Dev& rhs); |
29 | 29 |
30 uint32_t size() const { return size_; } | 30 uint32_t size() const { return size_; } |
31 void* data() const { return data_; } | 31 void* data() const { return data_; } |
32 | 32 |
33 private: | 33 private: |
34 void Init(); | 34 void Init(); |
35 | 35 |
36 void* data_; | 36 void* data_; |
37 uint32_t size_; | 37 uint32_t size_; |
38 }; | 38 }; |
39 | 39 |
40 } // namespace pp | 40 } // namespace pp |
41 | 41 |
42 #endif // PPAPI_CPP_DEV_BUFFER_DEV_H_ | 42 #endif // PPAPI_CPP_DEV_BUFFER_DEV_H_ |
OLD | NEW |