/* Copyright (c) 2012 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 PPB_ResourceArray_Dev interface. */ label Chrome { M18 = 0.1 }; /** * A resource array holds a list of resources and retains a reference to each of * them. */ interface PPB_ResourceArray_Dev { /** * Creates a resource array. * Note: It will add a reference to each of the elements. * * @param[in] elements PP_Resources to be stored in the created * resource array. * @param[in] size The number of elements. * * @return A PP_Resource corresponding to a resource array if * successful; 0 if failed. */ PP_Resource Create([in] PP_Instance instance, [in, size_as=size] PP_Resource[] elements, [in] uint32_t size); /** * Determines if the provided resource is a resource array. * * @param[in] resource A PP_Resource corresponding to a generic * resource. * * @return A PP_Bool that is PP_TRUE if the given * resource is a resource array, otherwise PP_FALSE. */ PP_Bool IsResourceArray([in] PP_Resource resource); /** * Gets the array size. * * @param[in] resource_array The resource array. * * @return How many elements are there in the array. */ uint32_t GetSize([in] PP_Resource resource_array); /** * Gets the element at the specified position. * Note: It doesn't add a reference to the returned resource for the caller. * * @param[in] resource_array The resource array. * @param[in] index An integer indicating a position in the array. * * @return A PP_Resource. Returns 0 if the index is out of range. */ PP_Resource GetAt( [in] PP_Resource resource_array, [in] uint32_t index); };