diff options
Diffstat (limited to 'ppapi/shared_impl/resource_object_base.h')
-rw-r--r-- | ppapi/shared_impl/resource_object_base.h | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/ppapi/shared_impl/resource_object_base.h b/ppapi/shared_impl/resource_object_base.h index 1a87360..05ed923 100644 --- a/ppapi/shared_impl/resource_object_base.h +++ b/ppapi/shared_impl/resource_object_base.h @@ -8,16 +8,20 @@ namespace ppapi { namespace thunk { +class PPB_Audio_API; +class PPB_AudioConfig_API; +class PPB_AudioTrusted_API; class PPB_Font_API; class PPB_Graphics2D_API; class PPB_ImageData_API; } -namespace shared_impl { - class ResourceObjectBase { public: + virtual thunk::PPB_Audio_API* AsAudio_API() { return NULL; } + virtual thunk::PPB_AudioConfig_API* AsAudioConfig_API() { return NULL; } + virtual thunk::PPB_AudioTrusted_API* AsAudioTrusted_API() { return NULL; } virtual thunk::PPB_Font_API* AsFont_API() { return NULL; } virtual thunk::PPB_Graphics2D_API* AsGraphics2D_API() { return NULL; } virtual thunk::PPB_ImageData_API* AsImageData_API() { return NULL; } @@ -26,6 +30,18 @@ class ResourceObjectBase { }; template<> +inline thunk::PPB_Audio_API* ResourceObjectBase::GetAs() { + return AsAudio_API(); +} +template<> +inline thunk::PPB_AudioConfig_API* ResourceObjectBase::GetAs() { + return AsAudioConfig_API(); +} +template<> +inline thunk::PPB_AudioTrusted_API* ResourceObjectBase::GetAs() { + return AsAudioTrusted_API(); +} +template<> inline thunk::PPB_Font_API* ResourceObjectBase::GetAs() { return AsFont_API(); } @@ -38,7 +54,6 @@ inline thunk::PPB_ImageData_API* ResourceObjectBase::GetAs() { return AsImageData_API(); } -} // namespace shared_impl } // namespace ppapi #endif // PPAPI_SHARED_IMPL_RESOURCE_OBJECT_BASE_H_ |