File indexing completed on 2024-12-08 04:33:10
0001 /* 0002 SPDX-FileCopyrightText: 2024 Laurent Montel <montel.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "e2ekeymanager.h" 0008 #include "connection.h" 0009 #include "e2e/fetchmykeysjob.h" 0010 #include "rocketchataccount.h" 0011 #include "ruqola_encryption_debug.h" 0012 0013 E2eKeyManager::E2eKeyManager(RocketChatAccount *account, QObject *parent) 0014 : QObject{parent} 0015 , mAccount(account) 0016 { 0017 } 0018 0019 E2eKeyManager::~E2eKeyManager() = default; 0020 0021 void E2eKeyManager::decodeEncryptionKey() 0022 { 0023 // TODO 0024 } 0025 0026 void E2eKeyManager::fetchMyKeys() 0027 { 0028 auto job = new RocketChatRestApi::FetchMyKeysJob(this); 0029 mAccount->restApi()->initializeRestApiJob(job); 0030 connect(job, &RocketChatRestApi::FetchMyKeysJob::fetchMyKeysDone, this, &E2eKeyManager::fetchMyKeysDone); 0031 if (!job->start()) { 0032 qCDebug(RUQOLA_ENCRYPTION_LOG) << "Impossible to start fetchmykeys job"; 0033 } 0034 } 0035 0036 bool E2eKeyManager::needToDecodeEncryptionKey() const 0037 { 0038 if (!mAccount) { 0039 return false; 0040 } 0041 if (mAccount->encryptionEnabled()) { 0042 // TODO check if we have decoded key stored. 0043 return true; 0044 } 0045 return false; 0046 } 0047 0048 #include "moc_e2ekeymanager.cpp"