CLOUD: Add ListDirectoryStatus struct

It contains flags to indicate whether Request was interrupted or failed,
so dependent Requests may see that list is incomplete.
This commit is contained in:
Alexander Tkachev 2016-05-30 18:13:31 +06:00
parent a19fc52c32
commit aa987e5c52
14 changed files with 155 additions and 101 deletions

View file

@ -35,20 +35,18 @@ class DropboxListDirectoryRequest: public Networking::Request {
Common::String _requestedPath;
bool _requestedRecursive;
Storage::FileArrayCallback _filesCallback;
Storage::ListDirectoryCallback _listDirectoryCallback;
Common::String _token;
bool _complete;
Common::Array<StorageFile> _files;
Request *_innerRequest;
Request *_workingRequest;
bool _ignoreCallback;
void start();
void responseCallback(Networking::JsonResponse pair);
void startupWork();
void finishFiles(Common::Array<StorageFile> &files);
void finishStatus(ListDirectoryStatus status);
public:
DropboxListDirectoryRequest(Common::String token, Common::String path, Storage::FileArrayCallback cb, bool recursive = false);
virtual ~DropboxListDirectoryRequest() { delete _filesCallback; }
DropboxListDirectoryRequest(Common::String token, Common::String path, Storage::ListDirectoryCallback cb, bool recursive = false);
virtual ~DropboxListDirectoryRequest();
virtual void handle();
virtual void restart();