1
0

Fix rename

This commit is contained in:
Scott E. Graves
2017-05-18 14:29:07 -05:00
parent 59b5a0a089
commit 297b9ea408
5 changed files with 171 additions and 28 deletions

View File

@@ -90,14 +90,15 @@ public:
private:
std::shared_ptr<std::vector<std::shared_ptr<_CSiaFile>>> _fileList;
std::mutex _updateMutex;
public:
void BuildTree(const json& result);
std::shared_ptr<std::vector<std::shared_ptr<_CSiaFile>>> GetFileList() const;
std::vector<std::shared_ptr<_CSiaFile>> Query(SString query) const;
std::shared_ptr<_CSiaFile> GetFile(const SString& siaPath) const;
std::vector<SString> QueryDirectories(SString query) const;
bool FileExists(const SString& siaPath) const;
std::shared_ptr<std::vector<std::shared_ptr<_CSiaFile>>> GetFileList();
std::vector<std::shared_ptr<_CSiaFile>> Query(SString query);
std::shared_ptr<_CSiaFile> GetFile(const SString& siaPath);
std::vector<SString> QueryDirectories(SString query);
bool FileExists(const SString& siaPath);
};
class SIADRIVE_EXPORTABLE _CSiaWallet :
@@ -178,7 +179,7 @@ public:
CSiaError<_SiaApiErrorCode> GetFileTree(std::shared_ptr<_CSiaFileTree>& siaFileTree) const;
CSiaError<_SiaApiErrorCode> RefreshFileTree( );
CSiaError<_SiaApiErrorCode> RenameFile(const SString& siaPath, const SString& newSiaPath);
CSiaError<_SiaApiErrorCode> RenameFolder(const SString& siaPath, const SString& newSiaPath);
CSiaError<_SiaApiErrorCode> RenameFolder(const SString& siaPath, const SString& newSiaPath, std::unordered_map<SString, SString>* renamedMap = nullptr);
CSiaError<_SiaApiErrorCode> SetAllowance(const _SiaRenterAllowance& renterAllowance);
};

View File

@@ -29,7 +29,9 @@ public:
{
Success,
SourceFileNotFound,
DatabaseError
DatabaseError,
RenameFileFailed,
RenameFolderFailed
};
private:
@@ -60,6 +62,7 @@ private:
void DeleteFilesRemovedFromSia(CSiaDriveConfig* siaDriveConfig, const bool& isStartup = false);
CSiaDriveConfig& GetSiaDriveConfig() const { return *_siaDriveConfig; }
void HandleFileRemove(const SString& siaPath);
void UpdateDatabaseAfterRename(const SString& siaPath, const SString& newSiaPath);
protected:
virtual void AutoThreadCallback(CSiaDriveConfig* siaDriveConfig) override;