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 Instance; |
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 | 20 |
20 // 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 |
21 // 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. |
22 Buffer_Dev(Instance* instance, uint32_t size); | 23 Buffer_Dev(Instance* instance, uint32_t size); |
23 | 24 |
24 // Unmap the underlying shared memory. | 25 // Unmap the underlying shared memory. |
25 virtual ~Buffer_Dev(); | 26 virtual ~Buffer_Dev(); |
26 | 27 |
27 Buffer_Dev& operator=(const Buffer_Dev& rhs); | 28 Buffer_Dev& operator=(const Buffer_Dev& rhs); |
28 | 29 |
29 uint32_t size() const { return size_; } | 30 uint32_t size() const { return size_; } |
30 void* data() const { return data_; } | 31 void* data() const { return data_; } |
31 | 32 |
32 private: | 33 private: |
33 void Init(); | 34 void Init(); |
34 | 35 |
35 void* data_; | 36 void* data_; |
36 uint32_t size_; | 37 uint32_t size_; |
37 }; | 38 }; |
38 | 39 |
39 } // namespace pp | 40 } // namespace pp |
40 | 41 |
41 #endif // PPAPI_CPP_DEV_BUFFER_DEV_H_ | 42 #endif // PPAPI_CPP_DEV_BUFFER_DEV_H_ |
OLD | NEW |