diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-09-07 18:30:48 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-09-07 18:30:48 +0200 |
commit | bd834220959bf7edcc4cce4bfe6c77e0a4649b8b (patch) | |
tree | 6bf7987e57de953924f47f06b3018f14e0807934 /lib/files/storage/storage.php | |
parent | edcd29747692ff1ffbec927b9f31ac239c5e192d (diff) | |
download | nextcloud-server-bd834220959bf7edcc4cce4bfe6c77e0a4649b8b.tar.gz nextcloud-server-bd834220959bf7edcc4cce4bfe6c77e0a4649b8b.zip |
put filestorages in a namespace
Diffstat (limited to 'lib/files/storage/storage.php')
-rw-r--r-- | lib/files/storage/storage.php | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/files/storage/storage.php b/lib/files/storage/storage.php new file mode 100644 index 00000000000..a2f6cb7ec34 --- /dev/null +++ b/lib/files/storage/storage.php @@ -0,0 +1,54 @@ +<?php +/** + * Copyright (c) 2012 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 OC\Files\Storage; + +/** + * Provde a common interface to all different storage options + */ +abstract class Storage{ + abstract public function __construct($parameters); + abstract public function mkdir($path); + abstract public function rmdir($path); + abstract public function opendir($path); + abstract public function is_dir($path); + abstract public function is_file($path); + abstract public function stat($path); + abstract public function filetype($path); + abstract public function filesize($path); + abstract public function isCreatable($path); + abstract public function isReadable($path); + abstract public function isUpdatable($path); + abstract public function isDeletable($path); + abstract public function isSharable($path); + abstract public function file_exists($path); + abstract public function filectime($path); + abstract public function filemtime($path); + abstract public function file_get_contents($path); + abstract public function file_put_contents($path,$data); + abstract public function unlink($path); + abstract public function rename($path1,$path2); + abstract public function copy($path1,$path2); + abstract public function fopen($path,$mode); + abstract public function getMimeType($path); + abstract public function hash($type,$path,$raw = false); + abstract public function free_space($path); + abstract public function search($query); + abstract public function touch($path, $mtime=null); + abstract public function getLocalFile($path);// get a path to a local version of the file, whether the original file is local or remote + abstract public function getLocalFolder($path);// get a path to a local version of the folder, whether the original file is local or remote + /** + * check if a file or folder has been updated since $time + * @param int $time + * @return bool + * + * hasUpdated for folders should return at least true if a file inside the folder is add, removed or renamed. + * returning true for other changes in the folder is optional + */ + abstract public function hasUpdated($path,$time); +} |