Explorar el Código

[CSE] Remember the token for folders

Tomaz Canabrava hace 8 años
padre
commit
6351c01ee7
Se han modificado 2 ficheros con 14 adiciones y 0 borrados
  1. 11 0
      src/libsync/clientsideencryption.cpp
  2. 3 0
      src/libsync/clientsideencryption.h

+ 11 - 0
src/libsync/clientsideencryption.cpp

@@ -397,6 +397,17 @@ free_all:
     BIO_free_all(out);
 }
 
+void ClientSideEncryption::setTokenForFolder(const QByteArray& folderId, const QByteArray& token)
+{
+	_folder2token[folderId] = token;
+}
+
+QByteArray ClientSideEncryption::tokenForFolder(const QByteArray& folderId) const
+{
+	Q_ASSERT(_folder2token.contains(folderId));
+	return _folder2token[folderId];
+}
+
 void ClientSideEncryption::encryptPrivateKey(EVP_PKEY *keyPair)
 {
     // Write the Private File to a BIO

+ 3 - 0
src/libsync/clientsideencryption.h

@@ -34,6 +34,8 @@ public:
     void getPrivateKeyFromServer();
     void getPublicKeyFromServer();
     void encryptPrivateKey(EVP_PKEY *keyPair);
+		void setTokenForFolder(const QByteArray& folder, const QByteArray& token);
+		QByteArray tokenForFolder(const QByteArray& folder) const;
 
 signals:
     void initializationFinished();
@@ -41,6 +43,7 @@ signals:
 private:
     OCC::AccountPtr _account;
     bool isInitialized = false;
+		QMap<QByteArray, QByteArray> _folder2token;
 };
 
 /*