Skip to content

Commit 2ed7668

Browse files
refactor(gh-9345): consolidate initialization state management
1 parent 9067ac9 commit 2ed7668

2 files changed

Lines changed: 15 additions & 16 deletions

File tree

src/libsync/clientsideencryption.cpp

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -899,9 +899,14 @@ bool ClientSideEncryption::isInitialized() const
899899
return useTokenBasedEncryption() || !getMnemonic().isEmpty();
900900
}
901901

902-
bool ClientSideEncryption::isInitializing() const
902+
void ClientSideEncryption::setInitializationState(InitializationState state)
903903
{
904-
return _initializationState == InitializationState::Initializing;
904+
if (_initializationState == state) {
905+
return;
906+
}
907+
908+
_initializationState = state;
909+
emit initializationStateChanged(_initializationState);
905910
}
906911

907912
ClientSideEncryption::InitializationState ClientSideEncryption::initializationState() const
@@ -1067,13 +1072,11 @@ void ClientSideEncryption::initialize(QWidget *settingsDialog)
10671072
return;
10681073
}
10691074

1070-
_initializationState = InitializationState::Initializing;
1071-
emit initializationStateChanged(_initializationState);
1075+
setInitializationState(InitializationState::Initializing);
10721076

10731077
if (!_account->capabilities().clientSideEncryptionAvailable()) {
10741078
qCInfo(lcCse()) << "No Client side encryption available on server.";
1075-
_initializationState = InitializationState::Failed;
1076-
emit initializationStateChanged(_initializationState);
1079+
setInitializationState(InitializationState::Failed);
10771080
emit initializationFinished();
10781081
return;
10791082
}
@@ -1817,8 +1820,7 @@ void ClientSideEncryption::forgetSensitiveData()
18171820
_otherCertificates.clear();
18181821
_context.clear();
18191822

1820-
_initializationState = InitializationState::NotStarted;
1821-
emit initializationStateChanged(_initializationState);
1823+
setInitializationState(InitializationState::NotStarted);
18221824

18231825
Q_EMIT canDecryptChanged();
18241826
Q_EMIT canEncryptChanged();
@@ -1926,8 +1928,7 @@ bool ClientSideEncryption::sensitiveDataRemaining() const
19261928
void ClientSideEncryption::failedToInitialize()
19271929
{
19281930
forgetSensitiveData();
1929-
_initializationState = InitializationState::Failed;
1930-
emit initializationStateChanged(_initializationState);
1931+
setInitializationState(InitializationState::Failed);
19311932
Q_EMIT initializationFinished();
19321933
}
19331934

@@ -2137,8 +2138,7 @@ void ClientSideEncryption::sendPublicKey()
21372138
case 200:
21382139
case 409:
21392140
saveCertificateIdentification();
2140-
_initializationState = InitializationState::Initialized;
2141-
emit initializationStateChanged(_initializationState);
2141+
setInitializationState(InitializationState::Initialized);
21422142
emit initializationFinished();
21432143

21442144
break;
@@ -2219,9 +2219,8 @@ void ClientSideEncryption::checkServerHasSavedKeys()
22192219

22202220
const auto privateKeyOnServerIsValid = [this] () {
22212221
qCInfo(lcCse) << "Private key on server is valid, setting state to Initialized";
2222-
_initializationState = InitializationState::Initialized;
2222+
setInitializationState(InitializationState::Initialized);
22232223
qCInfo(lcCse) << "State set to:" << static_cast<int>(_initializationState);
2224-
emit initializationStateChanged(_initializationState);
22252224
qCInfo(lcCse) << "Emitting initializationFinished signal";
22262225
Q_EMIT initializationFinished();
22272226
};

src/libsync/clientsideencryption.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,8 +260,6 @@ class OWNCLOUDSYNC_EXPORT ClientSideEncryption : public QObject {
260260

261261
[[nodiscard]] bool isInitialized() const;
262262

263-
[[nodiscard]] bool isInitializing() const;
264-
265263
[[nodiscard]] InitializationState initializationState() const;
266264

267265
[[nodiscard]] bool tokenIsSetup() const;
@@ -407,6 +405,8 @@ private slots:
407405

408406
[[nodiscard]] bool checkEncryptionIsWorking();
409407

408+
void setInitializationState(InitializationState state);
409+
410410
void failedToInitialize();
411411

412412
void saveCertificateIdentification() const;

0 commit comments

Comments
 (0)