[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