diff options
author | sanga@chromium.org <sanga@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-27 20:18:59 +0000 |
---|---|---|
committer | sanga@chromium.org <sanga@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-06-27 20:18:59 +0000 |
commit | 126f4fbdf4245f4b98b85afc3d9d769d024e55e8 (patch) | |
tree | a305c4fa18b66be5e5429c1abfde328269fb6d4f /ppapi/cpp/file_ref.h | |
parent | 4522aace33817d513e3906ea0e2b668d90709840 (diff) | |
download | chromium_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.h | 66 |
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_ |