Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
O
our_own_cloud_project
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
die_coolen_jungs
our_own_cloud_project
Commits
2e5ce091
Commit
2e5ce091
authored
11 years ago
by
Robin Appelman
Browse files
Options
Downloads
Patches
Plain Diff
add storage backend interface to public namespace
parent
9ad7891b
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
lib/files/storage/storage.php
+1
-1
1 addition, 1 deletion
lib/files/storage/storage.php
lib/public/files/node.php
+1
-1
1 addition, 1 deletion
lib/public/files/node.php
lib/public/files/storage.php
+343
-0
343 additions, 0 deletions
lib/public/files/storage.php
with
345 additions
and
2 deletions
lib/files/storage/storage.php
+
1
−
1
View file @
2e5ce091
...
...
@@ -13,7 +13,7 @@ namespace OC\Files\Storage;
*
* All paths passed to the storage are relative to the storage and should NOT have a leading slash.
*/
interface
Storage
{
interface
Storage
extends
\OCP\Files\Storage
{
/**
* $parameters is a free form array with the configuration options needed to construct the storage
*
...
...
This diff is collapsed.
Click to expand it.
lib/public/files/node.php
+
1
−
1
View file @
2e5ce091
...
...
@@ -43,7 +43,7 @@ interface Node {
/**
* Get the storage backend the file or folder is stored on
*
* @return \OC\Files\Storage
\Storage
* @return \OC
P
\Files\Storage
* @throws \OCP\Files\NotFoundException
*/
public
function
getStorage
();
...
...
This diff is collapsed.
Click to expand it.
lib/public/files/storage.php
0 → 100644
+
343
−
0
View file @
2e5ce091
<?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
OCP\Files
;
/**
* Provide a common interface to all different storage options
*
* All paths passed to the storage are relative to the storage and should NOT have a leading slash.
*/
interface
Storage
{
/**
* $parameters is a free form array with the configuration options needed to construct the storage
*
* @param array $parameters
*/
public
function
__construct
(
$parameters
);
/**
* Get the identifier for the storage,
* the returned id should be the same for every storage object that is created with the same parameters
* and two storage objects with the same id should refer to two storages that display the same files.
*
* @return string
*/
public
function
getId
();
/**
* see http://php.net/manual/en/function.mkdir.php
*
* @param string $path
* @return bool
*/
public
function
mkdir
(
$path
);
/**
* see http://php.net/manual/en/function.rmdir.php
*
* @param string $path
* @return bool
*/
public
function
rmdir
(
$path
);
/**
* see http://php.net/manual/en/function.opendir.php
*
* @param string $path
* @return resource
*/
public
function
opendir
(
$path
);
/**
* see http://php.net/manual/en/function.is_dir.php
*
* @param string $path
* @return bool
*/
public
function
is_dir
(
$path
);
/**
* see http://php.net/manual/en/function.is_file.php
*
* @param string $path
* @return bool
*/
public
function
is_file
(
$path
);
/**
* see http://php.net/manual/en/function.stat.php
* only the following keys are required in the result: size and mtime
*
* @param string $path
* @return array
*/
public
function
stat
(
$path
);
/**
* see http://php.net/manual/en/function.filetype.php
*
* @param string $path
* @return bool
*/
public
function
filetype
(
$path
);
/**
* see http://php.net/manual/en/function.filesize.php
* The result for filesize when called on a folder is required to be 0
*
* @param string $path
* @return int
*/
public
function
filesize
(
$path
);
/**
* check if a file can be created in $path
*
* @param string $path
* @return bool
*/
public
function
isCreatable
(
$path
);
/**
* check if a file can be read
*
* @param string $path
* @return bool
*/
public
function
isReadable
(
$path
);
/**
* check if a file can be written to
*
* @param string $path
* @return bool
*/
public
function
isUpdatable
(
$path
);
/**
* check if a file can be deleted
*
* @param string $path
* @return bool
*/
public
function
isDeletable
(
$path
);
/**
* check if a file can be shared
*
* @param string $path
* @return bool
*/
public
function
isSharable
(
$path
);
/**
* get the full permissions of a path.
* Should return a combination of the PERMISSION_ constants defined in lib/public/constants.php
*
* @param string $path
* @return int
*/
public
function
getPermissions
(
$path
);
/**
* see http://php.net/manual/en/function.file_exists.php
*
* @param string $path
* @return bool
*/
public
function
file_exists
(
$path
);
/**
* see http://php.net/manual/en/function.filemtime.php
*
* @param string $path
* @return int
*/
public
function
filemtime
(
$path
);
/**
* see http://php.net/manual/en/function.file_get_contents.php
*
* @param string $path
* @return string
*/
public
function
file_get_contents
(
$path
);
/**
* see http://php.net/manual/en/function.file_put_contents.php
*
* @param string $path
* @param string $data
* @return bool
*/
public
function
file_put_contents
(
$path
,
$data
);
/**
* see http://php.net/manual/en/function.unlink.php
*
* @param string $path
* @return bool
*/
public
function
unlink
(
$path
);
/**
* see http://php.net/manual/en/function.rename.php
*
* @param string $path1
* @param string $path2
* @return bool
*/
public
function
rename
(
$path1
,
$path2
);
/**
* see http://php.net/manual/en/function.copy.php
*
* @param string $path1
* @param string $path2
* @return bool
*/
public
function
copy
(
$path1
,
$path2
);
/**
* see http://php.net/manual/en/function.fopen.php
*
* @param string $path
* @param string $mode
* @return resource
*/
public
function
fopen
(
$path
,
$mode
);
/**
* get the mimetype for a file or folder
* The mimetype for a folder is required to be "httpd/unix-directory"
*
* @param string $path
* @return string
*/
public
function
getMimeType
(
$path
);
/**
* see http://php.net/manual/en/function.hash-file.php
*
* @param string $type
* @param string $path
* @param bool $raw
* @return string
*/
public
function
hash
(
$type
,
$path
,
$raw
=
false
);
/**
* see http://php.net/manual/en/function.free_space.php
*
* @param string $path
* @return int
*/
public
function
free_space
(
$path
);
/**
* search for occurrences of $query in file names
*
* @param string $query
* @return array
*/
public
function
search
(
$query
);
/**
* see http://php.net/manual/en/function.touch.php
* If the backend does not support the operation, false should be returned
*
* @param string $path
* @param int $mtime
* @return bool
*/
public
function
touch
(
$path
,
$mtime
=
null
);
/**
* get the path to a local version of the file.
* The local version of the file can be temporary and doesn't have to be persistent across requests
*
* @param string $path
* @return string
*/
public
function
getLocalFile
(
$path
);
/**
* get the path to a local version of the folder.
* The local version of the folder can be temporary and doesn't have to be persistent across requests
*
* @param string $path
* @return string
*/
public
function
getLocalFolder
(
$path
);
/**
* check if a file or folder has been updated since $time
*
* @param string $path
* @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
*/
public
function
hasUpdated
(
$path
,
$time
);
/**
* get a cache instance for the storage
*
* @param string $path
* @return \OC\Files\Cache\Cache
*/
public
function
getCache
(
$path
=
''
);
/**
* get a scanner instance for the storage
*
* @param string $path
* @return \OC\Files\Cache\Scanner
*/
public
function
getScanner
(
$path
=
''
);
/**
* get the user id of the owner of a file or folder
*
* @param string $path
* @return string
*/
public
function
getOwner
(
$path
);
/**
* get a permissions cache instance for the cache
*
* @param string $path
* @return \OC\Files\Cache\Permissions
*/
public
function
getPermissionsCache
(
$path
=
''
);
/**
* get a watcher instance for the cache
*
* @param string $path
* @return \OC\Files\Cache\Watcher
*/
public
function
getWatcher
(
$path
=
''
);
/**
* @return \OC\Files\Cache\Storage
*/
public
function
getStorageCache
();
/**
* get the ETag for a file or folder
*
* @param string $path
* @return string
*/
public
function
getETag
(
$path
);
}
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment