summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp/file_ref.h
diff options
context:
space:
mode:
authorsanga@chromium.org <sanga@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-27 20:18:59 +0000
committersanga@chromium.org <sanga@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-06-27 20:18:59 +0000
commit126f4fbdf4245f4b98b85afc3d9d769d024e55e8 (patch)
treea305c4fa18b66be5e5429c1abfde328269fb6d4f /ppapi/cpp/file_ref.h
parent4522aace33817d513e3906ea0e2b668d90709840 (diff)
downloadchromium_src-126f4fbdf4245f4b98b85afc3d9d769d024e55e8.zip
chromium_src-126f4fbdf4245f4b98b85afc3d9d769d024e55e8.tar.gz
chromium_src-126f4fbdf4245f4b98b85afc3d9d769d024e55e8.tar.bz2
This CL is oringialy http://codereview.chromium.org/7210027
I moved to write access repository. Review URL: http://codereview.chromium.org/7261004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@90629 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp/file_ref.h')
-rw-r--r--ppapi/cpp/file_ref.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/ppapi/cpp/file_ref.h b/ppapi/cpp/file_ref.h
new file mode 100644
index 0000000..f0865fc
--- /dev/null
+++ b/ppapi/cpp/file_ref.h
@@ -0,0 +1,66 @@
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef PPAPI_CPP_FILE_REF_H_
+#define PPAPI_CPP_FILE_REF_H_
+
+#include "ppapi/c/pp_stdint.h"
+#include "ppapi/c/ppb_file_ref.h"
+#include "ppapi/cpp/resource.h"
+#include "ppapi/cpp/var.h"
+
+namespace pp {
+
+class CompletionCallback;
+class FileSystem;
+
+class FileRef : public Resource {
+ public:
+ // Creates an is_null() FileRef object.
+ FileRef() {}
+
+ // This constructor is used when we've gotten a PP_Resource as a return value
+ // that we need to addref.
+ explicit FileRef(PP_Resource resource);
+
+ // This constructor is used when we've gotten a PP_Resource as a return value
+ // that has already been addref'ed for us.
+ struct PassRef {};
+ FileRef(PassRef, PP_Resource resource);
+
+ // Creates a FileRef pointing to a path in the given filesystem.
+ FileRef(const FileSystem& file_system, const char* path);
+
+ FileRef(const FileRef& other);
+
+ // Returns the file system type.
+ PP_FileSystemType GetFileSystemType() const;
+
+ // Returns the name of the file.
+ Var GetName() const;
+
+ // Returns the absolute path of the file. See PPB_FileRef::GetPath for more
+ // details.
+ Var GetPath() const;
+
+ // Returns the parent directory of this file. See PPB_FileRef::GetParent for
+ // more details.
+ FileRef GetParent() const;
+
+ int32_t MakeDirectory(const CompletionCallback& cc);
+
+ int32_t MakeDirectoryIncludingAncestors(const CompletionCallback& cc);
+
+ int32_t Touch(PP_Time last_access_time,
+ PP_Time last_modified_time,
+ const CompletionCallback& cc);
+
+ int32_t Delete(const CompletionCallback& cc);
+
+ int32_t Rename(const FileRef& new_file_ref, const CompletionCallback& cc);
+};
+
+} // namespace pp
+
+#endif // PPAPI_CPP_FILE_REF_H_