diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2014-02-14 23:03:27 +0100 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2014-02-14 23:03:27 +0100 |
commit | 9fac95c2ab46a734607657bbad6f164aaa61286f (patch) | |
tree | fc035f83bc812fd4b2f36427bb130ddabf71433e /lib/public/files | |
parent | b330d07b51a983dc563a91244a3c83e691c9e97d (diff) | |
parent | df282d9ef8e040833574fac5c5fd3cbbae1b3209 (diff) | |
download | nextcloud-server-9fac95c2ab46a734607657bbad6f164aaa61286f.tar.gz nextcloud-server-9fac95c2ab46a734607657bbad6f164aaa61286f.zip |
Merge branch 'master' into scrutinizer_documentation_patches
Conflicts:
lib/private/appconfig.php
Diffstat (limited to 'lib/public/files')
-rw-r--r-- | lib/public/files/fileinfo.php | 138 | ||||
-rw-r--r-- | lib/public/files/storage.php | 11 |
2 files changed, 149 insertions, 0 deletions
diff --git a/lib/public/files/fileinfo.php b/lib/public/files/fileinfo.php new file mode 100644 index 00000000000..68ce45d3fa1 --- /dev/null +++ b/lib/public/files/fileinfo.php @@ -0,0 +1,138 @@ +<?php +/** + * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ +namespace OCP\Files; + +interface FileInfo { + const TYPE_FILE = 'file'; + const TYPE_FOLDER = 'folder'; + + /** + * Get the Etag of the file or folder + * + * @return string + */ + public function getEtag(); + + /** + * Get the size in bytes for the file or folder + * + * @return int + */ + public function getSize(); + + /** + * Get the last modified date as timestamp for the file or folder + * + * @return int + */ + public function getMtime(); + + /** + * Get the name of the file or folder + * + * @return string + */ + public function getName(); + + /** + * Get the path relative to the storage + * + * @return string + */ + public function getInternalPath(); + + /** + * Get the absolute path + * + * @return string + */ + public function getPath(); + + /** + * Get the full mimetype of the file or folder i.e. 'image/png' + * + * @return string + */ + public function getMimetype(); + + /** + * Get the first part of the mimetype of the file or folder i.e. 'image' + * + * @return string + */ + public function getMimePart(); + + /** + * Get the storage the file or folder is storage on + * + * @return \OCP\Files\Storage + */ + public function getStorage(); + + /** + * Get the file id of the file or folder + * + * @return int + */ + public function getId(); + + /** + * Check whether the file is encrypted + * + * @return bool + */ + public function isEncrypted(); + + /** + * Get the permissions of the file or folder as bitmasked combination of the following constants + * \OCP\PERMISSION_CREATE + * \OCP\PERMISSION_READ + * \OCP\PERMISSION_UPDATE + * \OCP\PERMISSION_DELETE + * \OCP\PERMISSION_SHARE + * \OCP\PERMISSION_ALL + * + * @return int + */ + public function getPermissions(); + + /** + * Check whether this is a file or a folder + * + * @return \OCP\Files\FileInfo::TYPE_FILE | \OCP\Files\FileInfo::TYPE_FOLDER + */ + public function getType(); + + /** + * Check if the file or folder is readable + * + * @return bool + */ + public function isReadable(); + + /** + * Check if a file is writable + * + * @return bool + */ + public function isUpdateable(); + + /** + * Check if a file or folder can be deleted + * + * @return bool + */ + public function isDeletable(); + + /** + * Check if a file or folder can be shared + * + * @return bool + */ + public function isShareable(); +} diff --git a/lib/public/files/storage.php b/lib/public/files/storage.php index 01a15851d46..5ec8ac6245c 100644 --- a/lib/public/files/storage.php +++ b/lib/public/files/storage.php @@ -316,4 +316,15 @@ interface Storage { * @return string */ public function getETag($path); + + /** + * Returns whether the storage is local, which means that files + * are stored on the local filesystem instead of remotely. + * Calling getLocalFile() for local storages should always + * return the local files, whereas for non-local storages + * it might return a temporary file. + * + * @return bool true if the files are stored locally, false otherwise + */ + public function isLocal(); } |