diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-01 07:19:31 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-01 07:19:31 +0000 |
commit | cd910b93160f754297e51b27bdbc5f98cf52a743 (patch) | |
tree | 098dd0816260568abeae1662fa7de759e8372c49 /webkit/plugins/ppapi/ppb_file_system_impl.h | |
parent | 20da3817eb403599ec87537bf2bc862446a13abf (diff) | |
download | chromium_src-cd910b93160f754297e51b27bdbc5f98cf52a743.zip chromium_src-cd910b93160f754297e51b27bdbc5f98cf52a743.tar.gz chromium_src-cd910b93160f754297e51b27bdbc5f98cf52a743.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
Reland 87415
Review URL: http://codereview.chromium.org/7105013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@87444 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..73f9019 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(); + virtual ~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_; |