-
-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathAdapterInterface.php
More file actions
196 lines (172 loc) · 4.5 KB
/
AdapterInterface.php
File metadata and controls
196 lines (172 loc) · 4.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
<?php
namespace React\Filesystem;
use React\EventLoop\LoopInterface;
use React\Promise\PromiseInterface;
interface AdapterInterface
{
const CREATION_MODE = 'rwxrw----';
/**
* Checks whether the current installation supports the adapter.
*
* @return bool
*/
public static function isSupported();
/**
* Return the loop associated with this adapter.
*
* @return LoopInterface
*/
public function getLoop();
/**
* Set the relevant filesystem for this adapter.
*
* @internal
* @param FilesystemInterface $filesystem
* @return void
*/
public function setFilesystem(FilesystemInterface $filesystem);
/**
* Set the call invoker for this adapter.
*
* @param CallInvokerInterface $invoker
* @return void
*/
public function setInvoker(CallInvokerInterface $invoker);
/**
* Call the underlying filesystem.
*
* @internal
* @param string $function
* @param array $args
* @param int $errorResultCode
* @return PromiseInterface
*/
public function callFilesystem($function, $args, $errorResultCode = -1);
/**
* Create a directory at the given path with the given mode.
*
* @param string $path
* @param $mode
* @return PromiseInterface
*/
public function mkdir($path, $mode = self::CREATION_MODE);
/**
* Remove the given directory, fails when it has contents.
*
* @param string $path
* @return PromiseInterface
*/
public function rmdir($path);
/**
* Remove the given file.
*
* @param string $filename
* @return PromiseInterface
*/
public function unlink($filename);
/**
* Change the mode of the given path.
*
* @param string $path
* @param int $mode
* @return PromiseInterface
*/
public function chmod($path, $mode);
/**
* Change the owner of the given path.
*
* @param string $path
* @param int $uid
* @param int $gid
* @return PromiseInterface
*/
public function chown($path, $uid, $gid);
/**
* Stat the node, returning information such as the file, c/m/a-time, mode, g/u-id, and more.
*
* @param string $filename
* @return PromiseInterface
*/
public function stat($filename);
/**
* List contents of the given path.
*
* @param string $path
* @return PromiseInterface
*/
public function ls($path);
/**
* Touch the given path, either creating a file, or updating mtime on the file.
*
* @param string $path
* @param $mode
* @return PromiseInterface
*/
public function touch($path, $mode = self::CREATION_MODE);
/**
* Open a file for reading or writing at the given path. This will return a file descriptor,
* which can be used to read or write to the file. And ultimately close the file descriptor.
*
* @param string $path
* @param string $flags
* @param $mode
* @return PromiseInterface
*/
public function open($path, $flags, $mode = self::CREATION_MODE);
/**
* Read from the given file descriptor.
*
* @param $fileDescriptor
* @param int $length
* @param int $offset
* @return PromiseInterface
*/
public function read($fileDescriptor, $length, $offset);
/**
* Write to the given file descriptor.
*
* @param $fileDescriptor
* @param string $data
* @param int $length
* @param int $offset
* @return PromiseInterface
*/
public function write($fileDescriptor, $data, $length, $offset);
/**
* Close the given file descriptor.
*
* @param resource $fd
* @return PromiseInterface
*/
public function close($fd);
/**
* Rename a node.
*
* @param string $fromPath
* @param string $toPath
* @return PromiseInterface
*/
public function rename($fromPath, $toPath);
/**
* Read link information from the given path (has to be a symlink).
*
* @param string $path
* @return PromiseInterface
*/
public function readlink($path);
/**
* Create a symlink from $fromPath to $toPath.
*
* @param string $fromPath
* @param string $toPath
* @return PromiseInterface
*/
public function symlink($fromPath, $toPath);
/**
* Detect the type of the given path.
*
* @param string $path
* @return PromiseInterface
*/
public function detectType($path);
}