diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-01 02:12:55 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-01 02:12:55 +0000 |
commit | 1598e4a9f0fe3572b7f2bb9459c26ec208fcbf12 (patch) | |
tree | 10cae214da22b6ed0da1d7651fc068e046adc3cd /webkit/plugins/ppapi/ppb_file_system_impl.h | |
parent | d0922eaaa02cf79caaa21f29613e4995fa0d2048 (diff) | |
download | chromium_src-1598e4a9f0fe3572b7f2bb9459c26ec208fcbf12.zip chromium_src-1598e4a9f0fe3572b7f2bb9459c26ec208fcbf12.tar.gz chromium_src-1598e4a9f0fe3572b7f2bb9459c26ec208fcbf12.tar.bz2 |
Convert more interfaces to the new thunk system. This goes up to and including
the ones starting with "F".
Since this adds a lot more interfaces, I added the macro stuff we used for the
old system to generate the various template specializations. This involded a
lot of renaming since the As* needs to match the name (I was previously leaving
off the "PPB_" part). I did other misc cleanup to the infrastructure.
Review URL: http://codereview.chromium.org/7082036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87415 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/plugins/ppapi/ppb_file_system_impl.h')
-rw-r--r-- | webkit/plugins/ppapi/ppb_file_system_impl.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/webkit/plugins/ppapi/ppb_file_system_impl.h b/webkit/plugins/ppapi/ppb_file_system_impl.h index b381f56..7ebb86d 100644 --- a/webkit/plugins/ppapi/ppb_file_system_impl.h +++ b/webkit/plugins/ppapi/ppb_file_system_impl.h @@ -6,8 +6,10 @@ #define WEBKIT_PLUGINS_PPAPI_PPB_FILE_SYSTEM_IMPL_H_ #include "base/basictypes.h" +#include "base/compiler_specific.h" #include "googleurl/src/gurl.h" #include "ppapi/c/dev/pp_file_info_dev.h" +#include "ppapi/thunk/ppb_file_system_api.h" #include "webkit/plugins/ppapi/resource.h" struct PPB_FileSystem_Dev; @@ -17,14 +19,16 @@ namespace ppapi { class PluginInstance; -class PPB_FileSystem_Impl : public Resource { +class PPB_FileSystem_Impl : public Resource, + public ::ppapi::thunk::PPB_FileSystem_API { public: - // Returns a pointer to the interface implementing PPB_FileSystem that is - // exposed to the plugin. - static const PPB_FileSystem_Dev* GetInterface(); - PPB_FileSystem_Impl(PluginInstance* instance, PP_FileSystemType_Dev type); - virtual PPB_FileSystem_Impl* AsPPB_FileSystem_Impl(); + ~PPB_FileSystem_Impl(); + + static PP_Resource Create(PP_Instance instance, PP_FileSystemType_Dev type); + + // ResourceObjectBase overrides. + virtual ::ppapi::thunk::PPB_FileSystem_API* AsPPB_FileSystem_API() OVERRIDE; PluginInstance* instance() { return instance_; } PP_FileSystemType_Dev type() { return type_; } @@ -32,8 +36,11 @@ class PPB_FileSystem_Impl : public Resource { void set_root_url(const GURL& root_url) { root_url_ = root_url; } bool opened() const { return opened_; } void set_opened(bool opened) { opened_ = opened; } - bool called_open() const { return called_open_; } - void set_called_open() { called_open_ = true; } + + // PPB_FileSystem_API implementation. + virtual int32_t Open(int64_t expected_size, + PP_CompletionCallback callback) OVERRIDE; + virtual PP_FileSystemType_Dev GetType() OVERRIDE; private: PluginInstance* instance_; |