summaryrefslogtreecommitdiffstats
path: root/webkit/plugins/ppapi/ppb_file_system_impl.h
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-01 07:19:31 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-01 07:19:31 +0000
commitcd910b93160f754297e51b27bdbc5f98cf52a743 (patch)
tree098dd0816260568abeae1662fa7de759e8372c49 /webkit/plugins/ppapi/ppb_file_system_impl.h
parent20da3817eb403599ec87537bf2bc862446a13abf (diff)
downloadchromium_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.h23
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_;