24 lines
847 B
Dart
24 lines
847 B
Dart
import 'webdav.dart' show DavItem;
|
|
|
|
/// 원격 저장소 (WebDAV · SFTP) 의 공통 동작. vfs 가 경로의 서버 종류 (dav:// · sftp://) 에 맞는 것을 부른다.
|
|
/// 경로 [rel] 은 서버 기준 ("/" 로 시작, 맨 위는 "/").
|
|
abstract class RemoteClient {
|
|
Future<List<DavItem>> list(String rel);
|
|
|
|
/// 없으면 null
|
|
Future<DavItem?> stat(String rel);
|
|
Future<void> mkdirs(String rel);
|
|
|
|
/// 지우기 (폴더면 안의 것까지)
|
|
Future<void> delete(String rel);
|
|
|
|
/// 같은 서버 안에서 옮기기 · 이름 바꾸기
|
|
Future<void> move(String from, String to, {bool overwrite = false});
|
|
Future<Stream<List<int>>> openRead(String rel);
|
|
Future<void> write(String rel, Stream<List<int>> data, {int? length});
|
|
|
|
/// (남은 공간, 쓴 공간) - 모르면 null
|
|
Future<(int?, int?)> quota();
|
|
void close();
|
|
}
|