ash: Update app list layout:
[chromium-blink-merge.git] / ppapi / thunk / ppb_resource_array_thunk.cc
blob15260287b7d60cdfff152e752e9af360857ed673
1 // Copyright (c) 2012 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.
5 #include "ppapi/thunk/enter.h"
6 #include "ppapi/thunk/ppb_resource_array_api.h"
7 #include "ppapi/thunk/resource_creation_api.h"
8 #include "ppapi/thunk/thunk.h"
10 namespace ppapi {
11 namespace thunk {
13 namespace {
15 PP_Resource Create(PP_Instance instance,
16 const PP_Resource elements[],
17 uint32_t size) {
18 EnterFunction<ResourceCreationAPI> enter(instance, true);
19 if (enter.failed())
20 return 0;
21 return enter.functions()->CreateResourceArray(instance, elements, size);
24 PP_Bool IsResourceArray(PP_Resource resource) {
25 EnterResource<PPB_ResourceArray_API> enter(resource, false);
26 return enter.succeeded() ? PP_TRUE : PP_FALSE;
29 uint32_t GetSize(PP_Resource resource_array) {
30 EnterResource<PPB_ResourceArray_API> enter(resource_array, true);
31 return enter.succeeded() ? enter.object()->GetSize() : 0;
34 PP_Resource GetAt(PP_Resource resource_array, uint32_t index) {
35 EnterResource<PPB_ResourceArray_API> enter(resource_array, true);
36 return enter.succeeded() ? enter.object()->GetAt(index) : 0;
39 const PPB_ResourceArray_Dev g_ppb_resource_array_thunk = {
40 &Create,
41 &IsResourceArray,
42 &GetSize,
43 &GetAt
46 } // namespace
48 const PPB_ResourceArray_Dev_0_1* GetPPB_ResourceArray_Dev_0_1_Thunk() {
49 return &g_ppb_resource_array_thunk;
52 } // namespace thunk
53 } // namespace ppapi