From f1160a11af5132486e127892042615bae50b0ff0 Mon Sep 17 00:00:00 2001 From: Xavier Michelon Date: Fri, 28 Oct 2022 11:15:23 +0200 Subject: [PATCH] Other: wired 'use SSL for IMAP' toggle in bridge-gui-tester. --- .../bridge-gui-tester/GRPCQtProxy.cpp | 10 +++++++ .../bridge-gui-tester/GRPCQtProxy.h | 2 ++ .../bridge-gui-tester/GRPCService.cpp | 27 +++++++++++++++++-- .../bridge-gui-tester/GRPCService.h | 2 ++ .../bridgepp/bridgepp/GRPC/EventFactory.cpp | 12 +++++++++ .../bridgepp/bridgepp/GRPC/EventFactory.h | 1 + 6 files changed, 52 insertions(+), 2 deletions(-) diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.cpp index fe3449b0..b052e76e 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.cpp +++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.cpp @@ -45,6 +45,7 @@ void GRPCQtProxy::connectSignals() connect(this, &GRPCQtProxy::setIsStreamingReceived, &settingsTab, &SettingsTab::setIsStreaming); connect(this, &GRPCQtProxy::setClientPlatformReceived, &settingsTab, &SettingsTab::setClientPlatform); connect(this, &GRPCQtProxy::changePortsReceived, &settingsTab, &SettingsTab::changePorts); + connect(this, &GRPCQtProxy::setUseSSLForIMAPReceived, &settingsTab, &SettingsTab::setUseSSLForIMAP); connect(this, &GRPCQtProxy::setUseSSLForSMTPReceived, &settingsTab, &SettingsTab::setUseSSLForSMTP); connect(this, &GRPCQtProxy::setIsDoHEnabledReceived, &settingsTab, &SettingsTab::setIsDoHEnabled); connect(this, &GRPCQtProxy::setDiskCachePathReceived, &settingsTab, &SettingsTab::setDiskCachePath); @@ -145,6 +146,15 @@ void GRPCQtProxy::changePorts(qint32 imapPort, qint32 smtpPort) } +//**************************************************************************************************************************************************** +/// \param[in] use Should SMTP use SSL? +//**************************************************************************************************************************************************** +void GRPCQtProxy::setUseSSLForIMAP(bool use) +{ + emit setUseSSLForIMAPReceived(use); +} + + //**************************************************************************************************************************************************** /// \param[in] use Should SMTP use SSL? //**************************************************************************************************************************************************** diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.h b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.h index 4056c59a..7aad0b8c 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.h +++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCQtProxy.h @@ -48,6 +48,7 @@ public: // member functions. void setIsStreaming(bool isStreaming); ///< Forward a isStreaming internal messages via a Qt signal. void setClientPlatform(QString const &clientPlatform); ///< Forward s setClientPlatform call via a Qt signal. void changePorts(qint32 imapPort, qint32 smtpPort); ///< Forwards a ChangePorts call via a Qt signal. + void setUseSSLForIMAP(bool use); ///< Forwards a SetUseSSLForIMAP call via a Qt signal. void setUseSSLForSMTP(bool use); ///< Forwards a SetUseSSLForSMTP call via a Qt signal. void setIsDoHEnabled(bool enabled); ///< Forwards a setIsDoHEnabled call via a Qt signal. void setDiskCachePath(QString const &path); ///< Forwards a setDiskCachePath call via a Qt signal. @@ -68,6 +69,7 @@ signals: void setIsStreamingReceived(bool isStreaming); ///< Signal for the IsStreaming internal message. void setClientPlatformReceived(QString const &clientPlatform); ///< Signal for the SetClientPlatform gRPC call. void changePortsReceived(qint32 imapPort, qint32 smtpPort); ///< Signal for the ChangePorts gRPC call. + void setUseSSLForIMAPReceived(bool use); ///< Signal for the SetUseSSLForIMAP gRPC call. void setUseSSLForSMTPReceived(bool use); ///< Signal for the SetUseSSLForSMTP gRPC call. void setIsDoHEnabledReceived(bool enabled); ///< Signal for the SetIsDoHEnabled gRPC call. void setDiskCachePathReceived(QString const &path); ///< Signal for the setDiskCachePath gRPC call. diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp index e41a1f41..d2dad963 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp +++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.cpp @@ -634,6 +634,31 @@ Status GRPCService::IsDoHEnabled(ServerContext *, Empty const *, BoolValue *resp } +//**************************************************************************************************************************************************** +/// \param[in] request The request. +/// \return The status for the call. +//**************************************************************************************************************************************************** +Status GRPCService::SetUseSslForImap(ServerContext *, BoolValue const *request, Empty *) +{ + app().log().debug(__FUNCTION__); + qtProxy_.setUseSSLForIMAP(request->value()); + qtProxy_.sendDelayedEvent(newUseSslForImapFinishedEvent()); + return Status::OK; +} + + +//**************************************************************************************************************************************************** +/// \param[out] response The response. +/// \return The status for the call. +//**************************************************************************************************************************************************** +Status GRPCService::UseSslForImap(ServerContext *, Empty const *, BoolValue *response) +{ + app().log().debug(__FUNCTION__); + response->set_value(app().mainWindow().settingsTab().useSSLForIMAP()); + return Status::OK; +} + + //**************************************************************************************************************************************************** /// \param[in] request The request. /// \return The status for the call. @@ -924,5 +949,3 @@ bool GRPCService::sendEvent(SPStreamEvent const &event) } - - diff --git a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h index bef05566..64f1d5b4 100644 --- a/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h +++ b/internal/frontend/bridge-gui/bridge-gui-tester/GRPCService.h @@ -82,6 +82,8 @@ public: // member functions. grpc::Status IsDoHEnabled(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::BoolValue *response) override; grpc::Status SetUseSslForSmtp(::grpc::ServerContext *, ::google::protobuf::BoolValue const *request, ::google::protobuf::Empty *) override; grpc::Status UseSslForSmtp(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::BoolValue *response) override; + grpc::Status SetUseSslForImap(::grpc::ServerContext *, ::google::protobuf::BoolValue const *request, ::google::protobuf::Empty *) override; + grpc::Status UseSslForImap(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::BoolValue *response) override; grpc::Status Hostname(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::StringValue *response) override; grpc::Status ImapPort(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::Int32Value *response) override; grpc::Status SmtpPort(::grpc::ServerContext *, ::google::protobuf::Empty const*, ::google::protobuf::Int32Value *response) override; diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp index fee7eaea..de960cd9 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.cpp @@ -435,6 +435,18 @@ SPStreamEvent newMailSettingsErrorEvent(grpc::MailSettingsErrorType errorType) } +//**************************************************************************************************************************************************** +/// \return The event. +//**************************************************************************************************************************************************** +SPStreamEvent newUseSslForImapFinishedEvent() +{ + auto event = new grpc::UseSslForImapFinishedEvent; + auto mailSettingsEvent = new grpc::MailSettingsEvent; + mailSettingsEvent->set_allocated_usesslforimapfinished(event); + return wrapMailSettingsEvent(mailSettingsEvent); +} + + //**************************************************************************************************************************************************** /// \return The event. //**************************************************************************************************************************************************** diff --git a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h index 649bdcfd..3b390b44 100644 --- a/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h +++ b/internal/frontend/bridge-gui/bridgepp/bridgepp/GRPC/EventFactory.h @@ -60,6 +60,7 @@ SPStreamEvent newDiskCachePathChangeFinishedEvent(); ///< Create a new DiskCache // Mail settings related events SPStreamEvent newMailSettingsErrorEvent(grpc::MailSettingsErrorType errorType); ///< Create a new MailSettingsErrorEvent event. +SPStreamEvent newUseSslForImapFinishedEvent(); ///< Create a new UseSslForImapFinishedEvent event. SPStreamEvent newUseSslForSmtpFinishedEvent(); ///< Create a new UseSslForSmtpFinishedEvent event. SPStreamEvent newChangePortsFinishedEvent(); ///< Create a new ChangePortsFinishedEvent event.