[Pkg-owncloud-commits] [owncloud-client] 111/498: SyncEngine: add an api to set the maximum size of new shared folder that do not require confirmation
Sandro Knauß
hefee-guest at moszumanska.debian.org
Tue Aug 11 14:48:41 UTC 2015
This is an automated email from the git hooks/post-receive script.
hefee-guest pushed a commit to branch master
in repository owncloud-client.
commit a621223cc88c50e274b1004f5d0c45fc55fe3c09
Author: Olivier Goffart <ogoffart at woboq.com>
Date: Tue May 26 14:41:01 2015 +0200
SyncEngine: add an api to set the maximum size of new shared folder that do not require confirmation
---
src/libsync/discoveryphase.cpp | 7 ++++++-
src/libsync/discoveryphase.h | 1 +
src/libsync/syncengine.cpp | 1 +
src/libsync/syncengine.h | 7 +++++++
4 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/src/libsync/discoveryphase.cpp b/src/libsync/discoveryphase.cpp
index 4cd3020..36c1303 100644
--- a/src/libsync/discoveryphase.cpp
+++ b/src/libsync/discoveryphase.cpp
@@ -69,6 +69,11 @@ bool DiscoveryJob::checkSelectiveSyncNewShare(const QString& path)
return false;
}
+ if (_newSharedFolderSizeLimit < 0) {
+ // no limit, everything is allowed;
+ return false;
+ }
+
// Go in the main thread to do a PROPFIND to know the size of this directory
qint64 result = -1;
@@ -78,7 +83,7 @@ bool DiscoveryJob::checkSelectiveSyncNewShare(const QString& path)
_vioWaitCondition.wait(&_vioMutex);
}
- auto limit = 100*1000*1000L; // 100 MB; (FIXME, make it cnfigurable)
+ auto limit = _newSharedFolderSizeLimit;
if (true || result > limit) {
// we tell the UI there is a new folder
emit newSharedFolder(path);
diff --git a/src/libsync/discoveryphase.h b/src/libsync/discoveryphase.h
index 2f519ae..21b8fbc 100644
--- a/src/libsync/discoveryphase.h
+++ b/src/libsync/discoveryphase.h
@@ -178,6 +178,7 @@ public:
QStringList _selectiveSyncBlackList;
QStringList _selectiveSyncWhiteList;
+ qint64 _newSharedFolderSizeLimit = 0;
Q_INVOKABLE void start();
signals:
void finished(int result);
diff --git a/src/libsync/syncengine.cpp b/src/libsync/syncengine.cpp
index 1d294c3..d439c08 100644
--- a/src/libsync/syncengine.cpp
+++ b/src/libsync/syncengine.cpp
@@ -640,6 +640,7 @@ void SyncEngine::startSync()
discoveryJob->_selectiveSyncBlackList = selectiveSyncBlackList;
discoveryJob->_selectiveSyncWhiteList =
_journal->getSelectiveSyncList(SyncJournalDb::SelectiveSyncWhiteList);
+ discoveryJob->_newSharedFolderSizeLimit = _newSharedFolderSizeLimit;
discoveryJob->moveToThread(&_thread);
connect(discoveryJob, SIGNAL(finished(int)), this, SLOT(slotDiscoveryJobFinished(int)));
connect(discoveryJob, SIGNAL(folderDiscovered(bool,QString)),
diff --git a/src/libsync/syncengine.h b/src/libsync/syncengine.h
index 6fdce52..838bf06 100644
--- a/src/libsync/syncengine.h
+++ b/src/libsync/syncengine.h
@@ -62,6 +62,11 @@ public:
/* Abort the sync. Called from the main thread */
void abort();
+ /* Set the maximum size a shared folder can have without asking for confirmation
+ * -1 means infinite
+ */
+ void setNewSharedFolderSizeLimit(qint64 limit) { _newSharedFolderSizeLimit = limit; }
+
Utility::StopWatch &stopWatch() { return _stopWatch; }
/* Return true if we detected that another sync is needed to complete the sync */
@@ -197,6 +202,8 @@ private:
int _uploadLimit;
int _downloadLimit;
+ /* maximum size a shared folder can have without asking for confirmation: -1 means infinite */
+ qint64 _newSharedFolderSizeLimit = -1;
// hash containing the permissions on the remote directory
QHash<QString, QByteArray> _remotePerms;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git
More information about the Pkg-owncloud-commits
mailing list