Home | History | Annotate | Download | only in shared_impl
      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.
      4 
      5 #ifndef PPAPI_SHARED_IMPL_PPB_RESOURCE_ARRAY_SHARED_H_
      6 #define PPAPI_SHARED_IMPL_PPB_RESOURCE_ARRAY_SHARED_H_
      7 
      8 #include <vector>
      9 
     10 #include "base/basictypes.h"
     11 #include "base/compiler_specific.h"
     12 #include "ppapi/shared_impl/resource.h"
     13 #include "ppapi/thunk/ppb_resource_array_api.h"
     14 
     15 namespace ppapi {
     16 
     17 class PPAPI_SHARED_EXPORT PPB_ResourceArray_Shared
     18     : public Resource,
     19       public thunk::PPB_ResourceArray_API {
     20  public:
     21   PPB_ResourceArray_Shared(ResourceObjectType type,
     22                            PP_Instance instance,
     23                            const PP_Resource elements[],
     24                            uint32_t size);
     25   virtual ~PPB_ResourceArray_Shared();
     26 
     27   // Resource overrides.
     28   virtual PPB_ResourceArray_API* AsPPB_ResourceArray_API() OVERRIDE;
     29 
     30   // PPB_ResourceArray_API implementation.
     31   virtual uint32_t GetSize() OVERRIDE;
     32   virtual PP_Resource GetAt(uint32_t index) OVERRIDE;
     33 
     34  private:
     35   std::vector<PP_Resource> resources_;
     36 
     37   DISALLOW_IMPLICIT_CONSTRUCTORS(PPB_ResourceArray_Shared);
     38 };
     39 
     40 }  // namespace ppapi
     41 
     42 #endif  // PPAPI_SHARED_IMPL_PPB_RESOURCE_ARRAY_SHARED_H_
     43