From 9484181f86afef007dee27d44ce7372004311484 Mon Sep 17 00:00:00 2001 From: Governikus Date: Wed, 22 May 2019 10:08:38 +0200 Subject: [PATCH] Add revision: v1.16.2 --- .travis.yml | 13 +- CMakeLists.txt | 4 +- LICENSE.officially.txt | 2 +- appveyor.yml | 12 +- cmake/CompilerFlags.cmake | 2 +- cmake/DefaultFiles.cmake | 2 +- cmake/Install.cmake | 9 +- cmake/Packaging.cmake | 14 +- cmake/Tools.cmake | 2 +- .../CommunicationModel_de.graphml | 228 ++++++++++ docs/installation/CommunicationModel_de.pdf | Bin 0 -> 32148 bytes .../CommunicationModel_en.graphml | 228 ++++++++++ docs/installation/CommunicationModel_en.pdf | Bin 0 -> 30752 bytes docs/installation/README.de.rst | 120 +++++- docs/installation/README.en.rst | 113 ++++- docs/installation/conf.py.in | 5 +- docs/installation/index.rst | 2 +- docs/releasenotes/1.16.2.rst | 50 +++ docs/releasenotes/announce.rst | 5 +- docs/releasenotes/appcast.rst | 1 + docs/releasenotes/conf.py.in | 2 +- docs/releasenotes/issues.rst | 6 - docs/releasenotes/singlehtml.conf.py.in | 2 +- docs/releasenotes/support.rst | 8 +- docs/releasenotes/versions.rst | 1 + docs/sdk/conf.py.in | 2 +- libs/CMakeLists.txt | 11 +- ...-use-of-syscall-for-statx-2-and-rena.patch | 135 ++++++ .../qt-Work-Around-FreeBSD-v12-build.patch | 30 ++ resources/CMakeLists.txt | 2 +- resources/ausweisapp_mobile.qrc | 5 + resources/config.json.in | 2 +- resources/images/tutorial/cross.svg | 6 + resources/images/tutorial/icon_box.svg | 4 + resources/images/tutorial/icon_circle.svg | 4 + resources/images/tutorial/icon_diamond.svg | 4 + resources/images/tutorial/icon_star.svg | 4 + resources/jenkins/docker/alpine/Dockerfile | 2 +- resources/jenkins/docker/android/Dockerfile | 2 +- resources/jenkins/docker/common/Dockerfile | 2 +- resources/jenkins/docker/docs/Dockerfile | 2 +- resources/jenkins/docker/generate.sh | 18 - resources/jenkins/docker/linux/Dockerfile | 6 +- resources/jenkins/docker/swarm/Dockerfile | 4 +- resources/jenkins/docker/swarm/swarm.sh | 6 +- .../jenkins/dsl/Builds/Build_Android.groovy | 10 + .../jenkins/dsl/Builds/Build_Linux.groovy | 2 - .../dsl/Builds/Build_Win32_MSVC.groovy | 4 +- .../dsl/Builds/Build_Win32_MSVC_MSI.groovy | 6 +- .../jenkins/dsl/Libraries/Libs_FreeBSD.groovy | 2 +- .../dsl/Libraries/Libs_Win32_MSVC.groovy | 4 +- .../dsl/Libraries/Libs_Win32_MSVC_dev.groovy | 4 +- .../jenkins/dsl/Reviews/Review_Android.groovy | 10 + .../jenkins/dsl/Reviews/Review_FreeBSD.groovy | 2 +- .../dsl/Reviews/Review_Libs_Win32_MSVC.groovy | 4 +- .../jenkins/dsl/Reviews/Review_Linux.groovy | 4 +- .../jenkins/dsl/Reviews/Review_MacOS.groovy | 2 +- .../dsl/Reviews/Review_Win32_GNU.groovy | 2 +- .../dsl/Reviews/Review_Win32_MSVC.groovy | 6 +- .../dsl/Reviews/Review_Win32_MSVC_MSI.groovy | 6 +- .../android/AndroidManifest.xml.apk.in | 7 + resources/packaging/macos/Info.plist | 4 +- resources/packaging/win/WIX.Texts.de-DE.wxl | 2 +- resources/packaging/win/WIX.Texts.en-US.wxl | 2 +- resources/packaging/win/WIX.template.in | 1 + resources/qml/+mobile/main.qml | 26 +- .../Governikus/EnterPinView/EnterPinView.qml | 3 +- .../FeedbackView/+mobile/Feedback.qml | 4 +- .../Global/+mobile/+android/GButton.qml | 6 +- .../Global/+mobile/+ios/GButton.qml | 11 +- .../+mobile/IdentifyController.qml | 2 +- .../IdentifyView/+mobile/IdentifyView.qml | 10 +- .../Governikus/MainView/+mobile/MainView.qml | 34 +- .../qml/Governikus/MoreView/MoreView.qml | 6 +- .../RemoteServicePairingPopup.qml | 4 +- .../RemoteServiceViewRemote.qml | 4 +- .../TutorialView/+mobile/TutorialFooter.qml | 29 +- .../TutorialView/+mobile/TutorialHeader.qml | 22 +- .../TutorialView/+mobile/TutorialHow.qml | 28 +- .../+mobile/TutorialReaderMethodBluetooth.qml | 1 + .../+mobile/TutorialReaderMethodFooter.qml | 1 + .../+mobile/TutorialReaderMethodNfc.qml | 1 + .../TutorialReaderMethodSacDesktop.qml | 3 + .../+mobile/TutorialReaderMethodSacMobile.qml | 3 + .../TutorialView/+mobile/TutorialView.qml | 55 ++- resources/translations/ausweisapp2_de.ts | 191 +++++---- resources/travis/build.sh | 34 +- resources/travis/common.sh | 3 + resources/travis/setup.sh | 13 +- .../updatable-files/supported-providers.json | 62 ++- .../updatable-files/supported-readers.json | 92 ++-- src/CommandLineParser.cpp | 9 +- src/CommandLineParser.h | 3 +- src/activation/base/ActivationContext.cpp | 2 +- src/activation/base/ActivationContext.h | 2 +- src/activation/base/ActivationHandler.cpp | 7 +- src/activation/base/ActivationHandler.h | 5 +- .../CustomSchemeActivationContext.cpp | 2 +- .../CustomSchemeActivationContext.h | 2 +- .../CustomSchemeActivationHandler.cpp | 2 +- .../CustomSchemeActivationHandler.h | 2 +- src/activation/intent/AusweisApp2Service.java | 2 +- .../intent/IntentActivationContext.cpp | 2 +- .../intent/IntentActivationContext.h | 2 +- .../intent/IntentActivationHandler.cpp | 41 +- .../intent/IntentActivationHandler.h | 18 +- src/activation/intent/MainActivity.java | 21 +- src/activation/intent/UpdateReceiver.java | 69 +++ .../internal/InternalActivationContext.cpp | 2 +- .../internal/InternalActivationContext.h | 2 +- .../internal/InternalActivationHandler.cpp | 2 +- .../internal/InternalActivationHandler.h | 2 +- src/activation/webservice/Template.cpp | 2 +- src/activation/webservice/Template.h | 2 +- .../WebserviceActivationContext.cpp | 4 +- .../webservice/WebserviceActivationContext.h | 2 +- .../WebserviceActivationHandler.cpp | 4 +- .../webservice/WebserviceActivationHandler.h | 2 +- src/autostart_helper/main.mm | 2 +- src/card/base/Apdu.cpp | 2 +- src/card/base/Apdu.h | 2 +- src/card/base/Card.cpp | 2 +- src/card/base/Card.h | 2 +- src/card/base/CardConnection.cpp | 2 +- src/card/base/CardConnection.h | 6 +- src/card/base/CardConnectionWorker.cpp | 9 +- src/card/base/CardConnectionWorker.h | 2 +- src/card/base/CardInfo.cpp | 2 +- src/card/base/CardInfo.h | 2 +- src/card/base/CardOperationResult.h | 2 +- src/card/base/CommandApdu.cpp | 2 +- src/card/base/CommandApdu.h | 2 +- src/card/base/Commands.cpp | 2 +- src/card/base/Commands.h | 2 +- src/card/base/DestroyPaceChannel.cpp | 2 +- src/card/base/DestroyPaceChannel.h | 2 +- src/card/base/EstablishPaceChannel.cpp | 2 +- src/card/base/EstablishPaceChannel.h | 2 +- src/card/base/EstablishPaceChannelOutput.cpp | 2 +- src/card/base/EstablishPaceChannelOutput.h | 2 +- src/card/base/EstablishPaceChannelParser.cpp | 2 +- src/card/base/EstablishPaceChannelParser.h | 2 +- src/card/base/FileRef.cpp | 2 +- src/card/base/FileRef.h | 2 +- src/card/base/GeneralAuthenticateResponse.cpp | 2 +- src/card/base/GeneralAuthenticateResponse.h | 2 +- src/card/base/InputAPDUInfo.cpp | 2 +- src/card/base/InputAPDUInfo.h | 2 +- src/card/base/PersoSimWorkaround.h | 2 +- src/card/base/PinModify.cpp | 2 +- src/card/base/PinModify.h | 2 +- src/card/base/PinModifyOutput.cpp | 2 +- src/card/base/PinModifyOutput.h | 2 +- src/card/base/Reader.cpp | 2 +- src/card/base/Reader.h | 2 +- src/card/base/ReaderFilter.cpp | 2 +- src/card/base/ReaderFilter.h | 2 +- src/card/base/ReaderInfo.cpp | 2 +- src/card/base/ReaderInfo.h | 2 +- src/card/base/ReaderManager.cpp | 10 +- src/card/base/ReaderManager.h | 7 +- src/card/base/ReaderManagerPlugIn.cpp | 5 +- src/card/base/ReaderManagerPlugIn.h | 11 +- src/card/base/ReaderManagerPlugInInfo.cpp | 2 +- src/card/base/ReaderManagerPlugInInfo.h | 2 +- src/card/base/ReaderManagerWorker.cpp | 17 +- src/card/base/ReaderManagerWorker.h | 3 +- src/card/base/ResponseApdu.cpp | 2 +- src/card/base/ResponseApdu.h | 2 +- src/card/base/SecureMessagingResponse.cpp | 2 +- src/card/base/SecureMessagingResponse.h | 2 +- src/card/base/SmartCardDefinitions.cpp | 2 +- src/card/base/SmartCardDefinitions.h | 2 +- src/card/base/asn1/ASN1TemplateUtil.cpp | 2 +- src/card/base/asn1/ASN1TemplateUtil.h | 2 +- src/card/base/asn1/ASN1Util.cpp | 2 +- src/card/base/asn1/ASN1Util.h | 2 +- src/card/base/asn1/AccessRoleAndRight.cpp | 2 +- src/card/base/asn1/AccessRoleAndRight.h | 2 +- .../base/asn1/AuthenticatedAuxiliaryData.cpp | 2 +- .../base/asn1/AuthenticatedAuxiliaryData.h | 2 +- src/card/base/asn1/CVCertificate.cpp | 2 +- src/card/base/asn1/CVCertificate.h | 2 +- src/card/base/asn1/CVCertificateBody.cpp | 2 +- src/card/base/asn1/CVCertificateBody.h | 2 +- src/card/base/asn1/CVCertificateChain.cpp | 2 +- src/card/base/asn1/CVCertificateChain.h | 2 +- .../base/asn1/CVCertificateChainBuilder.cpp | 2 +- .../base/asn1/CVCertificateChainBuilder.h | 2 +- src/card/base/asn1/CertificateDescription.cpp | 2 +- src/card/base/asn1/CertificateDescription.h | 2 +- src/card/base/asn1/ChainBuilder.h | 2 +- src/card/base/asn1/Chat.cpp | 2 +- src/card/base/asn1/Chat.h | 2 +- src/card/base/asn1/ChipAuthenticationInfo.cpp | 2 +- src/card/base/asn1/ChipAuthenticationInfo.h | 2 +- src/card/base/asn1/EFCardSecurity.cpp | 2 +- src/card/base/asn1/EFCardSecurity.h | 2 +- src/card/base/asn1/EcdsaPublicKey.cpp | 2 +- src/card/base/asn1/EcdsaPublicKey.h | 2 +- src/card/base/asn1/KnownOIDs.cpp | 2 +- src/card/base/asn1/KnownOIDs.h | 2 +- src/card/base/asn1/PaceInfo.cpp | 2 +- src/card/base/asn1/PaceInfo.h | 2 +- src/card/base/asn1/SecurityInfo.cpp | 2 +- src/card/base/asn1/SecurityInfo.h | 2 +- src/card/base/asn1/SecurityInfos.cpp | 2 +- src/card/base/asn1/SecurityInfos.h | 2 +- src/card/base/asn1/SignatureChecker.cpp | 2 +- src/card/base/asn1/SignatureChecker.h | 2 +- src/card/base/command/BaseCardCommand.cpp | 4 +- src/card/base/command/BaseCardCommand.h | 2 +- .../command/CreateCardConnectionCommand.cpp | 2 +- .../command/CreateCardConnectionCommand.h | 2 +- .../command/DestroyPaceChannelCommand.cpp | 2 +- .../base/command/DestroyPaceChannelCommand.h | 2 +- .../command/DidAuthenticateEAC1Command.cpp | 2 +- .../base/command/DidAuthenticateEAC1Command.h | 2 +- .../command/DidAuthenticateEAC2Command.cpp | 2 +- .../base/command/DidAuthenticateEAC2Command.h | 2 +- .../command/EstablishPaceChannelCommand.cpp | 2 +- .../command/EstablishPaceChannelCommand.h | 2 +- src/card/base/command/SetEidPinCommand.cpp | 2 +- src/card/base/command/SetEidPinCommand.h | 2 +- src/card/base/command/TransmitCommand.cpp | 2 +- src/card/base/command/TransmitCommand.h | 2 +- src/card/base/command/UnblockPinCommand.cpp | 2 +- src/card/base/command/UnblockPinCommand.h | 2 +- .../command/UpdateRetryCounterCommand.cpp | 2 +- .../base/command/UpdateRetryCounterCommand.h | 2 +- src/card/base/pace/CipherMac.cpp | 2 +- src/card/base/pace/CipherMac.h | 2 +- src/card/base/pace/DomainParameterMapping.h | 2 +- src/card/base/pace/EstablishPaceChannelCode.h | 2 +- src/card/base/pace/KeyAgreement.cpp | 2 +- src/card/base/pace/KeyAgreement.h | 2 +- src/card/base/pace/KeyDerivationFunction.cpp | 2 +- src/card/base/pace/KeyDerivationFunction.h | 2 +- src/card/base/pace/PaceHandler.cpp | 2 +- src/card/base/pace/PaceHandler.h | 2 +- src/card/base/pace/SecureMessaging.cpp | 4 +- src/card/base/pace/SecureMessaging.h | 2 +- src/card/base/pace/SymmetricCipher.cpp | 2 +- src/card/base/pace/SymmetricCipher.h | 2 +- src/card/base/pace/ec/EcUtil.h | 2 +- src/card/base/pace/ec/EcdhGenericMapping.cpp | 2 +- src/card/base/pace/ec/EcdhGenericMapping.h | 2 +- src/card/base/pace/ec/EcdhKeyAgreement.cpp | 2 +- src/card/base/pace/ec/EcdhKeyAgreement.h | 2 +- .../base/pace/ec/EllipticCurveFactory.cpp | 2 +- src/card/base/pace/ec/EllipticCurveFactory.h | 2 +- .../bluetooth/AndroidBluetoothAdapter.cpp | 2 +- src/card/bluetooth/AndroidBluetoothAdapter.h | 2 +- .../bluetooth/AndroidBluetoothReceiver.java | 11 +- src/card/bluetooth/BluetoothCard.cpp | 2 +- src/card/bluetooth/BluetoothCard.h | 2 +- src/card/bluetooth/BluetoothDebug.cpp | 2 +- src/card/bluetooth/BluetoothDebug.h | 2 +- src/card/bluetooth/BluetoothDeviceUtil.h | 2 +- src/card/bluetooth/BluetoothReader.cpp | 2 +- src/card/bluetooth/BluetoothReader.h | 2 +- .../BluetoothReaderManagerPlugIn.cpp | 32 +- .../bluetooth/BluetoothReaderManagerPlugIn.h | 7 +- .../BluetoothReaderManagerPlugIn_p.h | 2 +- ...BluetoothReaderManagerPlugIn_p_android.cpp | 2 +- ...BluetoothReaderManagerPlugIn_p_generic.cpp | 2 +- .../BluetoothReaderManagerPlugIn_p_ios.mm | 2 +- src/card/bluetooth/CyberJackWaveDevice.cpp | 2 +- src/card/bluetooth/CyberJackWaveDevice.h | 2 +- src/card/bluetooth/NotificationEnabler.cpp | 2 +- src/card/bluetooth/NotificationEnabler.h | 2 +- src/card/bluetooth/SynchronousBtCall.cpp | 2 +- src/card/bluetooth/SynchronousBtCall.h | 2 +- src/card/bluetooth/messages/BluetoothIDs.cpp | 2 +- src/card/bluetooth/messages/BluetoothIDs.h | 2 +- .../bluetooth/messages/BluetoothMessage.cpp | 2 +- .../bluetooth/messages/BluetoothMessage.h | 2 +- .../BluetoothMessageConnectResponse.cpp | 2 +- .../BluetoothMessageConnectResponse.h | 2 +- .../messages/BluetoothMessageCreator.cpp | 2 +- .../messages/BluetoothMessageCreator.h | 2 +- .../BluetoothMessageDisconnectResponse.cpp | 2 +- .../BluetoothMessageDisconnectResponse.h | 2 +- .../messages/BluetoothMessageParser.cpp | 2 +- .../messages/BluetoothMessageParser.h | 2 +- .../BluetoothMessagePowerSimOffResponse.cpp | 2 +- .../BluetoothMessagePowerSimOffResponse.h | 2 +- .../BluetoothMessagePowerSimOnResponse.cpp | 2 +- .../BluetoothMessagePowerSimOnResponse.h | 2 +- .../BluetoothMessageResetSimResponse.cpp | 2 +- .../BluetoothMessageResetSimResponse.h | 2 +- ...othMessageSetTransportProtocolResponse.cpp | 2 +- ...toothMessageSetTransportProtocolResponse.h | 2 +- .../messages/BluetoothMessageStatusInd.cpp | 2 +- .../messages/BluetoothMessageStatusInd.h | 2 +- .../BluetoothMessageTransferApduResponse.cpp | 2 +- .../BluetoothMessageTransferApduResponse.h | 2 +- ...essageTransferCardReaderStatusResponse.cpp | 2 +- ...hMessageTransferCardReaderStatusResponse.h | 2 +- .../bluetooth/messages/BluetoothUtils.cpp | 2 +- src/card/bluetooth/messages/BluetoothUtils.h | 2 +- .../parameter/BluetoothMessageParameter.cpp | 2 +- .../parameter/BluetoothMessageParameter.h | 2 +- .../BluetoothMessageParameterApduResponse.cpp | 2 +- .../BluetoothMessageParameterApduResponse.h | 2 +- ...etoothMessageParameterCardReaderStatus.cpp | 2 +- ...luetoothMessageParameterCardReaderStatus.h | 2 +- ...etoothMessageParameterConnectionStatus.cpp | 2 +- ...luetoothMessageParameterConnectionStatus.h | 2 +- .../BluetoothMessageParameterMaxMsgSize.cpp | 2 +- .../BluetoothMessageParameterMaxMsgSize.h | 2 +- .../BluetoothMessageParameterResultCode.cpp | 2 +- .../BluetoothMessageParameterResultCode.h | 2 +- .../BluetoothMessageParameterStatusChange.cpp | 2 +- .../BluetoothMessageParameterStatusChange.h | 2 +- src/card/drivers/ReaderDetector.cpp | 2 +- src/card/drivers/ReaderDetector.h | 2 +- src/card/drivers/ReaderDetector_generic.cpp | 2 +- src/card/drivers/ReaderDetector_linux.cpp | 2 +- src/card/drivers/ReaderDetector_osx.cpp | 2 +- src/card/drivers/ReaderDetector_win.cpp | 2 +- src/card/nfc/NfcCard.cpp | 2 +- src/card/nfc/NfcCard.h | 2 +- src/card/nfc/NfcReader.cpp | 2 +- src/card/nfc/NfcReader.h | 2 +- src/card/nfc/NfcReaderManagerPlugIn.cpp | 2 +- src/card/nfc/NfcReaderManagerPlugIn.h | 2 +- src/card/pcsc/PcscCard.cpp | 2 +- src/card/pcsc/PcscCard.h | 2 +- src/card/pcsc/PcscReader.cpp | 2 +- src/card/pcsc/PcscReader.h | 2 +- src/card/pcsc/PcscReaderFeature.cpp | 2 +- src/card/pcsc/PcscReaderFeature.h | 2 +- src/card/pcsc/PcscReaderManagerPlugIn.cpp | 4 +- src/card/pcsc/PcscReaderManagerPlugIn.h | 2 +- src/card/pcsc/PcscReaderPaceCapability.cpp | 2 +- src/card/pcsc/PcscReaderPaceCapability.h | 2 +- src/card/pcsc/PcscUtils.cpp | 2 +- src/card/pcsc/PcscUtils.h | 2 +- src/configuration/CallCost.cpp | 2 +- src/configuration/CallCost.h | 2 +- src/configuration/LanguageString.cpp | 2 +- src/configuration/LanguageString.h | 2 +- src/configuration/ProviderConfiguration.cpp | 2 +- src/configuration/ProviderConfiguration.h | 2 +- .../ProviderConfigurationInfo.cpp | 2 +- src/configuration/ProviderConfigurationInfo.h | 28 +- .../ProviderConfigurationParser.cpp | 2 +- .../ProviderConfigurationParser.h | 2 +- src/configuration/ReaderConfiguration.cpp | 2 +- src/configuration/ReaderConfiguration.h | 2 +- src/configuration/ReaderConfigurationInfo.cpp | 2 +- src/configuration/ReaderConfigurationInfo.h | 2 +- .../ReaderConfigurationParser.cpp | 2 +- src/configuration/ReaderConfigurationParser.h | 2 +- src/core/CertificateChecker.cpp | 2 +- src/core/CertificateChecker.h | 2 +- src/core/DiagnosisAntivirusDetection.cpp | 53 ++- src/core/DiagnosisAntivirusDetection.h | 7 +- src/core/DiagnosisConnectionTest.cpp | 2 +- src/core/DiagnosisConnectionTest.h | 2 +- src/core/DiagnosisFirewallDetection.cpp | 2 +- src/core/DiagnosisFirewallDetection.h | 2 +- src/core/DiagnosisItem.cpp | 2 +- src/core/DiagnosisItem.h | 2 +- src/core/DiagnosisModel.cpp | 101 +++-- src/core/DiagnosisModel.h | 3 +- src/core/SelfAuthenticationData.cpp | 2 +- src/core/SelfAuthenticationData.h | 2 +- src/core/SignalHandler.cpp | 2 +- src/core/SignalHandler.h | 4 +- src/core/SignalHandler_bsd_linux_osx.cpp | 4 +- src/core/SignalHandler_win.cpp | 4 +- src/core/TcToken.cpp | 2 +- src/core/TcToken.h | 2 +- src/core/context/AuthContext.cpp | 3 +- src/core/context/AuthContext.h | 15 +- src/core/context/ChangePinContext.cpp | 2 +- src/core/context/ChangePinContext.h | 2 +- src/core/context/DiagnosisContext.cpp | 2 +- src/core/context/DiagnosisContext.h | 2 +- src/core/context/RemoteServiceContext.cpp | 2 +- src/core/context/RemoteServiceContext.h | 2 +- src/core/context/SelfAuthContext.cpp | 2 +- src/core/context/SelfAuthContext.h | 2 +- src/core/context/WorkflowContext.cpp | 19 +- src/core/context/WorkflowContext.h | 8 +- src/core/controller/AppController.cpp | 12 +- src/core/controller/AppController.h | 3 +- src/core/controller/AuthController.cpp | 9 +- src/core/controller/AuthController.h | 2 +- src/core/controller/ChangePinController.cpp | 2 +- src/core/controller/ChangePinController.h | 2 +- src/core/controller/DiagnosisController.cpp | 33 +- src/core/controller/DiagnosisController.h | 4 +- .../DiagnosisController_generic.cpp | 2 +- .../controller/DiagnosisController_osx.cpp | 2 +- .../controller/DiagnosisController_win.cpp | 2 +- .../controller/RemoteServiceController.cpp | 2 +- src/core/controller/RemoteServiceController.h | 2 +- src/core/controller/SelfAuthController.cpp | 9 +- src/core/controller/SelfAuthController.h | 2 +- src/core/controller/WorkflowController.cpp | 2 +- src/core/controller/WorkflowController.h | 2 +- src/core/paos/ElementDetector.cpp | 2 +- src/core/paos/ElementDetector.h | 2 +- src/core/paos/PaosHandler.cpp | 2 +- src/core/paos/PaosHandler.h | 2 +- src/core/paos/PaosMessage.cpp | 2 +- src/core/paos/PaosMessage.h | 2 +- src/core/paos/PaosType.cpp | 2 +- src/core/paos/PaosType.h | 2 +- src/core/paos/RequestType.cpp | 2 +- src/core/paos/RequestType.h | 2 +- src/core/paos/ResponseType.cpp | 2 +- src/core/paos/ResponseType.h | 2 +- src/core/paos/element/ConnectionHandle.cpp | 2 +- src/core/paos/element/ConnectionHandle.h | 2 +- .../paos/element/ConnectionHandleParser.cpp | 2 +- .../paos/element/ConnectionHandleParser.h | 2 +- src/core/paos/element/Eac1InputType.cpp | 2 +- src/core/paos/element/Eac1InputType.h | 2 +- src/core/paos/element/Eac2InputType.cpp | 2 +- src/core/paos/element/Eac2InputType.h | 2 +- src/core/paos/element/ElementParser.cpp | 2 +- src/core/paos/element/ElementParser.h | 2 +- src/core/paos/element/SupportedApi.cpp | 2 +- src/core/paos/element/SupportedApi.h | 2 +- src/core/paos/element/UserAgent.cpp | 2 +- src/core/paos/element/UserAgent.h | 2 +- .../invoke/DidAuthenticateResponseEac1.cpp | 2 +- .../paos/invoke/DidAuthenticateResponseEac1.h | 2 +- .../invoke/DidAuthenticateResponseEac2.cpp | 2 +- .../paos/invoke/DidAuthenticateResponseEac2.h | 2 +- src/core/paos/invoke/DidListResponse.cpp | 2 +- src/core/paos/invoke/DidListResponse.h | 2 +- src/core/paos/invoke/DisconnectResponse.cpp | 2 +- src/core/paos/invoke/DisconnectResponse.h | 2 +- .../invoke/InitializeFrameworkResponse.cpp | 2 +- .../paos/invoke/InitializeFrameworkResponse.h | 2 +- src/core/paos/invoke/PaosCreator.cpp | 2 +- src/core/paos/invoke/PaosCreator.h | 2 +- src/core/paos/invoke/StartPaos.cpp | 2 +- src/core/paos/invoke/StartPaos.h | 2 +- src/core/paos/invoke/TransmitResponse.cpp | 2 +- src/core/paos/invoke/TransmitResponse.h | 2 +- .../paos/retrieve/DidAuthenticateEac1.cpp | 2 +- src/core/paos/retrieve/DidAuthenticateEac1.h | 2 +- .../retrieve/DidAuthenticateEac1Parser.cpp | 2 +- .../paos/retrieve/DidAuthenticateEac1Parser.h | 2 +- .../paos/retrieve/DidAuthenticateEac2.cpp | 2 +- src/core/paos/retrieve/DidAuthenticateEac2.h | 2 +- .../retrieve/DidAuthenticateEac2Parser.cpp | 2 +- .../paos/retrieve/DidAuthenticateEac2Parser.h | 2 +- .../retrieve/DidAuthenticateEacAdditional.cpp | 2 +- .../retrieve/DidAuthenticateEacAdditional.h | 2 +- .../DidAuthenticateEacAdditionalParser.cpp | 2 +- .../DidAuthenticateEacAdditionalParser.h | 2 +- src/core/paos/retrieve/DidList.cpp | 2 +- src/core/paos/retrieve/DidList.h | 2 +- src/core/paos/retrieve/Disconnect.cpp | 2 +- src/core/paos/retrieve/Disconnect.h | 2 +- .../paos/retrieve/InitializeFramework.cpp | 2 +- src/core/paos/retrieve/InitializeFramework.h | 2 +- src/core/paos/retrieve/PaosParser.cpp | 2 +- src/core/paos/retrieve/PaosParser.h | 2 +- src/core/paos/retrieve/StartPaosResponse.cpp | 2 +- src/core/paos/retrieve/StartPaosResponse.h | 2 +- src/core/paos/retrieve/Transmit.cpp | 2 +- src/core/paos/retrieve/Transmit.h | 2 +- src/core/paos/retrieve/TransmitParser.cpp | 2 +- src/core/paos/retrieve/TransmitParser.h | 2 +- src/core/states/AbstractGenericState.h | 2 +- src/core/states/AbstractState.cpp | 2 +- src/core/states/AbstractState.h | 2 +- src/core/states/CompositeStatePace.cpp | 2 +- src/core/states/CompositeStatePace.h | 2 +- .../CompositeStateProcessCvcsAndSetRights.cpp | 2 +- .../CompositeStateProcessCvcsAndSetRights.h | 2 +- src/core/states/CompositeStateSelectCard.cpp | 2 +- src/core/states/CompositeStateSelectCard.h | 2 +- src/core/states/FinalState.cpp | 2 +- src/core/states/FinalState.h | 2 +- .../StateActivateStoreFeedbackDialog.cpp | 29 ++ .../states/StateActivateStoreFeedbackDialog.h | 27 ++ src/core/states/StateBuilder.h | 2 +- .../StateCertificateDescriptionCheck.cpp | 2 +- .../states/StateCertificateDescriptionCheck.h | 2 +- src/core/states/StateChangePin.cpp | 2 +- src/core/states/StateChangePin.h | 2 +- src/core/states/StateCheckCertificates.cpp | 2 +- src/core/states/StateCheckCertificates.h | 2 +- src/core/states/StateCheckError.cpp | 2 +- src/core/states/StateCheckError.h | 2 +- src/core/states/StateCheckRefreshAddress.cpp | 2 +- src/core/states/StateCheckRefreshAddress.h | 2 +- src/core/states/StateCleanUpReaderManager.cpp | 2 +- src/core/states/StateCleanUpReaderManager.h | 2 +- src/core/states/StateClearPacePasswords.cpp | 2 +- src/core/states/StateClearPacePasswords.h | 2 +- src/core/states/StateConnectCard.cpp | 2 +- src/core/states/StateConnectCard.h | 2 +- src/core/states/StateDestroyPace.cpp | 4 +- src/core/states/StateDestroyPace.h | 2 +- src/core/states/StateDidAuthenticateEac1.cpp | 2 +- src/core/states/StateDidAuthenticateEac1.h | 2 +- src/core/states/StateDidAuthenticateEac2.cpp | 2 +- src/core/states/StateDidAuthenticateEac2.h | 2 +- src/core/states/StateDidList.cpp | 2 +- src/core/states/StateDidList.h | 2 +- .../states/StateEACAdditionalInputType.cpp | 2 +- src/core/states/StateEACAdditionalInputType.h | 2 +- src/core/states/StateEditAccessRights.cpp | 2 +- src/core/states/StateEditAccessRights.h | 2 +- src/core/states/StateEnterNewPacePin.cpp | 2 +- src/core/states/StateEnterNewPacePin.h | 2 +- src/core/states/StateEnterPacePassword.cpp | 2 +- src/core/states/StateEnterPacePassword.h | 2 +- src/core/states/StateEstablishPaceChannel.cpp | 2 +- src/core/states/StateEstablishPaceChannel.h | 2 +- .../StateExtractCvcsFromEac1InputType.cpp | 2 +- .../StateExtractCvcsFromEac1InputType.h | 2 +- src/core/states/StateGenericSendReceive.cpp | 2 +- src/core/states/StateGenericSendReceive.h | 2 +- .../states/StateGetSelfAuthenticationData.cpp | 2 +- .../states/StateGetSelfAuthenticationData.h | 2 +- src/core/states/StateGetTcToken.cpp | 2 +- src/core/states/StateGetTcToken.h | 2 +- src/core/states/StateInitializeFramework.cpp | 2 +- src/core/states/StateInitializeFramework.h | 2 +- src/core/states/StateLoadTcTokenUrl.cpp | 2 +- src/core/states/StateLoadTcTokenUrl.h | 2 +- .../states/StateMaintainCardConnection.cpp | 2 +- src/core/states/StateMaintainCardConnection.h | 2 +- src/core/states/StateParseTcTokenUrl.cpp | 2 +- src/core/states/StateParseTcTokenUrl.h | 2 +- src/core/states/StatePreVerification.cpp | 2 +- src/core/states/StatePreVerification.h | 2 +- src/core/states/StatePrepareChangePin.cpp | 2 +- src/core/states/StatePrepareChangePin.h | 2 +- src/core/states/StatePreparePace.cpp | 4 +- src/core/states/StatePreparePace.h | 2 +- .../StateProcessCertificatesFromEac2.cpp | 2 +- .../states/StateProcessCertificatesFromEac2.h | 2 +- src/core/states/StateProcessing.cpp | 2 +- src/core/states/StateProcessing.h | 2 +- src/core/states/StateRedirectBrowser.cpp | 9 +- src/core/states/StateRedirectBrowser.h | 2 +- src/core/states/StateSelectPasswordId.cpp | 2 +- src/core/states/StateSelectPasswordId.h | 2 +- src/core/states/StateSelectReader.cpp | 2 +- src/core/states/StateSelectReader.h | 2 +- src/core/states/StateSendWhitelistSurvey.cpp | 2 +- src/core/states/StateSendWhitelistSurvey.h | 2 +- src/core/states/StateShowSelfInfo.cpp | 2 +- src/core/states/StateShowSelfInfo.h | 2 +- src/core/states/StateStartPaos.cpp | 2 +- src/core/states/StateStartPaos.h | 2 +- src/core/states/StateStartPaosResponse.cpp | 2 +- src/core/states/StateStartPaosResponse.h | 2 +- src/core/states/StateTransmit.cpp | 2 +- src/core/states/StateTransmit.h | 2 +- .../states/StateUnfortunateCardPosition.cpp | 2 +- .../states/StateUnfortunateCardPosition.h | 2 +- src/core/states/StateUpdateRetryCounter.cpp | 6 +- src/core/states/StateUpdateRetryCounter.h | 2 +- src/core/states/StateVerifyRetryCounter.cpp | 2 +- src/core/states/StateVerifyRetryCounter.h | 2 +- src/core/states/StateWriteHistory.cpp | 2 +- src/core/states/StateWriteHistory.h | 2 +- .../remote_service/StateChangePinRemote.cpp | 2 +- .../remote_service/StateChangePinRemote.h | 2 +- .../remote_service/StateChangePinResponse.cpp | 2 +- .../remote_service/StateChangePinResponse.h | 2 +- .../StateEnterNewPacePinRemote.cpp | 2 +- .../StateEnterNewPacePinRemote.h | 2 +- .../StateEnterPacePasswordRemote.cpp | 2 +- .../StateEnterPacePasswordRemote.h | 2 +- .../StateEstablishPaceChannelRemote.cpp | 2 +- .../StateEstablishPaceChannelRemote.h | 2 +- .../StateEstablishPaceChannelResponse.cpp | 2 +- .../StateEstablishPaceChannelResponse.h | 2 +- .../StatePrepareChangePinRemote.cpp | 2 +- .../StatePrepareChangePinRemote.h | 2 +- .../remote_service/StatePreparePaceRemote.cpp | 2 +- .../remote_service/StatePreparePaceRemote.h | 2 +- .../StateProcessRemoteMessages.cpp | 2 +- .../StateProcessRemoteMessages.h | 2 +- .../StateStartRemoteService.cpp | 2 +- .../remote_service/StateStartRemoteService.h | 2 +- .../remote_service/StateStopRemoteService.cpp | 2 +- .../remote_service/StateStopRemoteService.h | 2 +- src/export/PdfCreator.cpp | 2 +- src/export/PdfCreator.h | 2 +- src/export/PdfExporter.cpp | 2 +- src/export/PdfExporter.h | 2 +- src/file_provider/Downloader.cpp | 4 +- src/file_provider/Downloader.h | 2 +- src/file_provider/FileProvider.cpp | 2 +- src/file_provider/FileProvider.h | 2 +- src/file_provider/UpdatableFile.cpp | 2 +- src/file_provider/UpdatableFile.h | 2 +- ...reakPropertyBindingDiagnosticLogFilter.cpp | 2 +- .../BreakPropertyBindingDiagnosticLogFilter.h | 2 +- src/global/BuildHelper.cpp | 62 ++- src/global/BuildHelper.h | 14 +- src/global/CardReturnCode.cpp | 2 +- src/global/CardReturnCode.h | 2 +- src/global/DeviceInfo.cpp | 2 +- src/global/DeviceInfo.h | 2 +- src/global/ECardApiResult.cpp | 4 +- src/global/ECardApiResult.h | 2 +- src/global/EnumHelper.h | 2 +- src/global/Env.cpp | 2 +- src/global/Env.h | 2 +- src/global/FileDestination.h | 2 +- src/global/FuncUtils.h | 2 +- src/global/GlobalStatus.cpp | 14 +- src/global/GlobalStatus.h | 2 +- src/global/Initializer.cpp | 2 +- src/global/Initializer.h | 2 +- src/global/LanguageLoader.cpp | 2 +- src/global/LanguageLoader.h | 2 +- src/global/LogCategories.cpp | 3 +- src/global/LogHandler.cpp | 155 ++++++- src/global/LogHandler.h | 27 +- src/global/Randomizer.cpp | 2 +- src/global/Randomizer.h | 2 +- src/global/ResourceLoader.cpp | 9 +- src/global/ResourceLoader.h | 2 +- src/global/ScopeGuard.cpp | 2 +- src/global/ScopeGuard.h | 2 +- src/global/SingletonHelper.h | 2 +- src/global/UsbId.cpp | 2 +- src/global/UsbId.h | 2 +- src/global/VersionInfo.cpp | 2 +- src/global/VersionInfo.h | 2 +- src/global/VersionNumber.cpp | 2 +- src/global/VersionNumber.h | 2 +- src/main.cpp | 24 +- src/network/DatagramHandler.cpp | 2 +- src/network/DatagramHandler.h | 2 +- src/network/DatagramHandlerImpl.cpp | 20 +- src/network/DatagramHandlerImpl.h | 5 +- src/network/HttpRequest.cpp | 2 +- src/network/HttpRequest.h | 2 +- src/network/HttpResponse.cpp | 2 +- src/network/HttpResponse.h | 2 +- src/network/HttpServer.cpp | 2 +- src/network/HttpServer.h | 2 +- src/network/HttpServerRequestor.cpp | 2 +- src/network/HttpServerRequestor.h | 2 +- src/network/HttpServerStatusParser.cpp | 2 +- src/network/HttpServerStatusParser.h | 2 +- src/network/MulticastLock.cpp | 62 +++ src/network/MulticastLock.h | 21 + src/network/MulticastLockJniBridgeUtil.java | 45 ++ src/network/NetworkManager.cpp | 2 +- src/network/NetworkManager.h | 2 +- src/network/NetworkReplyError.cpp | 2 +- src/network/NetworkReplyError.h | 2 +- src/network/NetworkReplyTimeout.cpp | 2 +- src/network/NetworkReplyTimeout.h | 2 +- src/network/PortFile.cpp | 2 +- src/network/PortFile.h | 2 +- src/network/TlsChecker.cpp | 8 +- src/network/TlsChecker.h | 2 +- src/network/UrlUtil.cpp | 2 +- src/network/UrlUtil.h | 2 +- src/network/WifiInfo.cpp | 2 +- src/network/WifiInfo.h | 2 +- src/network/WifiInfo.java | 2 +- src/network/WifiInfo_android.cpp | 2 +- src/network/WifiInfo_generic.cpp | 2 +- src/network/WifiInfo_ios.mm | 2 +- src/remote_device/DataChannel.cpp | 2 +- src/remote_device/DataChannel.h | 2 +- src/remote_device/RemoteClient.cpp | 10 +- src/remote_device/RemoteClient.h | 5 +- src/remote_device/RemoteClientImpl.cpp | 11 +- src/remote_device/RemoteClientImpl.h | 5 +- src/remote_device/RemoteConnector.cpp | 2 +- src/remote_device/RemoteConnector.h | 2 +- src/remote_device/RemoteConnectorImpl.cpp | 3 +- src/remote_device/RemoteConnectorImpl.h | 2 +- src/remote_device/RemoteDeviceDescriptor.cpp | 5 +- src/remote_device/RemoteDeviceDescriptor.h | 6 +- src/remote_device/RemoteDeviceList.cpp | 34 +- src/remote_device/RemoteDeviceList.h | 10 +- src/remote_device/RemoteDeviceModel.cpp | 35 +- src/remote_device/RemoteDeviceModel.h | 2 +- src/remote_device/RemoteDispatcher.cpp | 2 +- src/remote_device/RemoteDispatcher.h | 2 +- src/remote_device/RemoteDispatcherClient.cpp | 2 +- src/remote_device/RemoteDispatcherClient.h | 2 +- src/remote_device/RemoteDispatcherServer.cpp | 2 +- src/remote_device/RemoteDispatcherServer.h | 2 +- src/remote_device/RemoteReaderAdvertiser.cpp | 2 +- src/remote_device/RemoteReaderAdvertiser.h | 2 +- src/remote_device/RemoteServer.cpp | 2 +- src/remote_device/RemoteServer.h | 2 +- src/remote_device/RemoteServerImpl.cpp | 2 +- src/remote_device/RemoteServerImpl.h | 2 +- src/remote_device/RemoteTlsServer.cpp | 2 +- src/remote_device/RemoteTlsServer.h | 2 +- src/remote_device/RemoteWebSocketServer.cpp | 2 +- src/remote_device/RemoteWebSocketServer.h | 2 +- src/remote_device/ServerMessageHandler.cpp | 2 +- src/remote_device/ServerMessageHandler.h | 2 +- src/remote_device/WebSocketChannel.cpp | 2 +- src/remote_device/WebSocketChannel.h | 2 +- src/remote_device/messages/Discovery.cpp | 2 +- src/remote_device/messages/Discovery.h | 2 +- src/remote_device/messages/IfdConnect.cpp | 2 +- src/remote_device/messages/IfdConnect.h | 2 +- .../messages/IfdConnectResponse.cpp | 2 +- .../messages/IfdConnectResponse.h | 2 +- src/remote_device/messages/IfdDisconnect.cpp | 2 +- src/remote_device/messages/IfdDisconnect.h | 2 +- .../messages/IfdDisconnectResponse.cpp | 2 +- .../messages/IfdDisconnectResponse.h | 2 +- src/remote_device/messages/IfdError.cpp | 2 +- src/remote_device/messages/IfdError.h | 2 +- .../messages/IfdEstablishContext.cpp | 2 +- .../messages/IfdEstablishContext.h | 2 +- .../messages/IfdEstablishContextResponse.cpp | 2 +- .../messages/IfdEstablishContextResponse.h | 2 +- .../messages/IfdEstablishPaceChannel.cpp | 2 +- .../messages/IfdEstablishPaceChannel.h | 2 +- .../IfdEstablishPaceChannelResponse.cpp | 2 +- .../IfdEstablishPaceChannelResponse.h | 2 +- src/remote_device/messages/IfdGetStatus.cpp | 2 +- src/remote_device/messages/IfdGetStatus.h | 2 +- src/remote_device/messages/IfdModifyPin.cpp | 2 +- src/remote_device/messages/IfdModifyPin.h | 2 +- .../messages/IfdModifyPinResponse.cpp | 2 +- .../messages/IfdModifyPinResponse.h | 2 +- src/remote_device/messages/IfdStatus.cpp | 2 +- src/remote_device/messages/IfdStatus.h | 2 +- src/remote_device/messages/IfdTransmit.cpp | 2 +- src/remote_device/messages/IfdTransmit.h | 2 +- .../messages/IfdTransmitResponse.cpp | 2 +- .../messages/IfdTransmitResponse.h | 2 +- src/remote_device/messages/IfdVersion.cpp | 2 +- src/remote_device/messages/IfdVersion.h | 2 +- src/remote_device/messages/RemoteMessage.cpp | 2 +- src/remote_device/messages/RemoteMessage.h | 2 +- .../messages/RemoteMessageResponse.cpp | 2 +- .../messages/RemoteMessageResponse.h | 2 +- src/remote_device/plugin/RemoteCard.cpp | 2 +- src/remote_device/plugin/RemoteCard.h | 2 +- src/remote_device/plugin/RemoteReader.cpp | 2 +- src/remote_device/plugin/RemoteReader.h | 2 +- .../plugin/RemoteReaderManagerPlugIn.cpp | 4 +- .../plugin/RemoteReaderManagerPlugIn.h | 2 +- src/secure_storage/SecureStorage.cpp | 2 +- src/secure_storage/SecureStorage.h | 2 +- src/secure_storage/TlsConfiguration.cpp | 2 +- src/secure_storage/TlsConfiguration.h | 2 +- src/services/AppUpdateData.cpp | 2 +- src/services/AppUpdateData.h | 2 +- src/services/AppUpdater.cpp | 2 +- src/services/AppUpdater.h | 2 +- src/services/Service.cpp | 2 +- src/services/Service.h | 2 +- src/settings/AbstractSettings.cpp | 2 +- src/settings/AbstractSettings.h | 2 +- src/settings/AppSettings.cpp | 2 +- src/settings/AppSettings.h | 2 +- src/settings/AutoStart.h | 2 +- src/settings/AutoStart_generic.cpp | 2 +- src/settings/AutoStart_osx.cpp | 2 +- src/settings/AutoStart_win.cpp | 2 +- src/settings/GeneralSettings.cpp | 29 +- src/settings/GeneralSettings.h | 3 +- src/settings/HistoryInfo.cpp | 2 +- src/settings/HistoryInfo.h | 2 +- src/settings/HistorySettings.cpp | 2 +- src/settings/HistorySettings.h | 2 +- src/settings/KeyPair.cpp | 2 +- src/settings/KeyPair.h | 2 +- src/settings/PreVerificationSettings.cpp | 2 +- src/settings/PreVerificationSettings.h | 2 +- src/settings/RemoteServiceSettings.cpp | 2 +- src/settings/RemoteServiceSettings.h | 2 +- src/ui/aidl/AidlBinder.java | 2 +- src/ui/aidl/PskManager.cpp | 2 +- src/ui/aidl/PskManager.h | 2 +- src/ui/aidl/UIPlugInAidl.cpp | 6 +- src/ui/aidl/UIPlugInAidl.h | 2 +- src/ui/base/UILoader.cpp | 2 +- src/ui/base/UILoader.h | 2 +- src/ui/base/UIPlugIn.cpp | 2 +- src/ui/base/UIPlugIn.h | 3 +- src/ui/cli/ConsoleReader.cpp | 4 +- src/ui/cli/ConsoleReader.h | 2 +- src/ui/cli/UIPlugInCli.cpp | 2 +- src/ui/cli/UIPlugInCli.h | 2 +- src/ui/common/HelpAction.cpp | 2 +- src/ui/common/HelpAction.h | 2 +- src/ui/common/PlatformTools.h | 2 +- src/ui/common/PlatformTools_generic.cpp | 2 +- src/ui/common/PlatformTools_osx.cpp | 2 +- src/ui/common/TrayIcon.cpp | 2 +- src/ui/common/TrayIcon.h | 2 +- src/ui/jsonapi/MessageDispatcher.cpp | 6 +- src/ui/jsonapi/MessageDispatcher.h | 2 +- src/ui/jsonapi/UIPlugInJsonApi.cpp | 2 +- src/ui/jsonapi/UIPlugInJsonApi.h | 2 +- src/ui/jsonapi/messages/MsgContext.cpp | 2 +- src/ui/jsonapi/messages/MsgContext.h | 2 +- src/ui/jsonapi/messages/MsgHandler.cpp | 2 +- src/ui/jsonapi/messages/MsgHandler.h | 2 +- .../messages/MsgHandlerAccessRights.cpp | 2 +- .../jsonapi/messages/MsgHandlerAccessRights.h | 2 +- .../jsonapi/messages/MsgHandlerApiLevel.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerApiLevel.h | 2 +- src/ui/jsonapi/messages/MsgHandlerAuth.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerAuth.h | 2 +- .../jsonapi/messages/MsgHandlerBadState.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerBadState.h | 2 +- .../messages/MsgHandlerCertificate.cpp | 2 +- .../jsonapi/messages/MsgHandlerCertificate.h | 2 +- .../jsonapi/messages/MsgHandlerEnterCan.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerEnterCan.h | 2 +- .../messages/MsgHandlerEnterNumber.cpp | 2 +- .../jsonapi/messages/MsgHandlerEnterNumber.h | 2 +- .../jsonapi/messages/MsgHandlerEnterPin.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerEnterPin.h | 2 +- .../jsonapi/messages/MsgHandlerEnterPuk.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerEnterPuk.h | 2 +- src/ui/jsonapi/messages/MsgHandlerInfo.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerInfo.h | 2 +- .../jsonapi/messages/MsgHandlerInsertCard.cpp | 2 +- .../jsonapi/messages/MsgHandlerInsertCard.h | 2 +- .../messages/MsgHandlerInternalError.cpp | 2 +- .../messages/MsgHandlerInternalError.h | 2 +- src/ui/jsonapi/messages/MsgHandlerInvalid.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerInvalid.h | 2 +- src/ui/jsonapi/messages/MsgHandlerReader.cpp | 2 +- src/ui/jsonapi/messages/MsgHandlerReader.h | 2 +- .../jsonapi/messages/MsgHandlerReaderList.cpp | 2 +- .../jsonapi/messages/MsgHandlerReaderList.h | 2 +- .../messages/MsgHandlerUnknownCommand.cpp | 2 +- .../messages/MsgHandlerUnknownCommand.h | 2 +- src/ui/jsonapi/messages/MsgTypes.cpp | 2 +- src/ui/jsonapi/messages/MsgTypes.h | 2 +- src/ui/qml/ApplicationModel.cpp | 12 +- src/ui/qml/ApplicationModel.h | 2 +- src/ui/qml/AuthModel.cpp | 8 +- src/ui/qml/AuthModel.h | 4 +- src/ui/qml/CertificateDescriptionModel.cpp | 2 +- src/ui/qml/CertificateDescriptionModel.h | 2 +- src/ui/qml/ChangePinModel.cpp | 2 +- src/ui/qml/ChangePinModel.h | 2 +- src/ui/qml/ChatModel.cpp | 2 +- src/ui/qml/ChatModel.h | 2 +- src/ui/qml/ConnectivityManager.cpp | 2 +- src/ui/qml/ConnectivityManager.h | 2 +- src/ui/qml/DpiCalculator.h | 2 +- src/ui/qml/DpiCalculator_android.cpp | 2 +- src/ui/qml/DpiCalculator_generic.cpp | 2 +- src/ui/qml/DpiCalculator_ios.mm | 2 +- src/ui/qml/HistoryModel.cpp | 8 +- src/ui/qml/HistoryModel.h | 2 +- src/ui/qml/HistoryModelSearchFilter.cpp | 2 +- src/ui/qml/HistoryModelSearchFilter.h | 2 +- src/ui/qml/LogModel.cpp | 2 +- src/ui/qml/LogModel.h | 2 +- src/ui/qml/LogModel_android.cpp | 2 +- src/ui/qml/LogModel_generic.cpp | 2 +- src/ui/qml/NumberModel.cpp | 2 +- src/ui/qml/NumberModel.h | 2 +- src/ui/qml/ProviderCategoryFilterModel.cpp | 2 +- src/ui/qml/ProviderCategoryFilterModel.h | 2 +- src/ui/qml/ProviderModel.cpp | 2 +- src/ui/qml/ProviderModel.h | 2 +- src/ui/qml/QmlExtension.h | 2 +- src/ui/qml/QmlExtension_android.cpp | 2 +- src/ui/qml/QmlExtension_generic.cpp | 2 +- src/ui/qml/QmlExtension_ios.mm | 2 +- src/ui/qml/RemoteServiceModel.cpp | 21 +- src/ui/qml/RemoteServiceModel.h | 6 +- src/ui/qml/SelfAuthModel.cpp | 2 +- src/ui/qml/SelfAuthModel.h | 2 +- src/ui/qml/SettingsModel.cpp | 2 +- src/ui/qml/SettingsModel.h | 2 +- src/ui/qml/ShareUtil.java | 2 +- src/ui/qml/StatusBarUtil.cpp | 2 +- src/ui/qml/StatusBarUtil.h | 2 +- src/ui/qml/UIPlugInQml.cpp | 4 +- src/ui/qml/UIPlugInQml.h | 2 +- src/ui/qml/VersionInformationModel.cpp | 26 +- src/ui/qml/VersionInformationModel.h | 2 +- src/ui/qml/WorkflowModel.cpp | 9 +- src/ui/qml/WorkflowModel.h | 6 +- src/ui/websocket/UIPlugInWebSocket.cpp | 2 +- src/ui/websocket/UIPlugInWebSocket.h | 2 +- src/ui/widget/AboutDialog.cpp | 2 +- src/ui/widget/AboutDialog.h | 2 +- src/ui/widget/AppQtGui.cpp | 2 +- src/ui/widget/AppQtGui.h | 2 +- src/ui/widget/AppQtMainWidget.cpp | 8 +- src/ui/widget/AppQtMainWidget.h | 2 +- src/ui/widget/AppStartPage.cpp | 2 +- src/ui/widget/AppStartPage.h | 2 +- src/ui/widget/CredentialDialog.cpp | 2 +- src/ui/widget/CredentialDialog.h | 2 +- src/ui/widget/DeleteHistoryDialog.cpp | 2 +- src/ui/widget/DeleteHistoryDialog.h | 2 +- src/ui/widget/DetailDialog.cpp | 2 +- src/ui/widget/DetailDialog.h | 2 +- src/ui/widget/DetailWidget.cpp | 2 +- src/ui/widget/DetailWidget.h | 2 +- src/ui/widget/DeveloperModeHistoryWidget.cpp | 2 +- src/ui/widget/DeveloperModeHistoryWidget.h | 2 +- src/ui/widget/DeveloperSettingsWidget.cpp | 2 +- src/ui/widget/DeveloperSettingsWidget.h | 2 +- src/ui/widget/DiagnosisDialog.cpp | 2 +- src/ui/widget/DiagnosisDialog.h | 2 +- src/ui/widget/DiagnosisGui.cpp | 3 +- src/ui/widget/DiagnosisGui.h | 2 +- src/ui/widget/GeneralSettingsWidget.cpp | 2 +- src/ui/widget/GeneralSettingsWidget.h | 2 +- src/ui/widget/HistoryDetailWidget.cpp | 2 +- src/ui/widget/HistoryDetailWidget.h | 2 +- src/ui/widget/HistoryWidget.cpp | 4 +- src/ui/widget/HistoryWidget.h | 2 +- src/ui/widget/LogFileSaveDialog.cpp | 88 ++-- src/ui/widget/LogFileSaveDialog.h | 4 +- src/ui/widget/LogFilesDialog.cpp | 2 +- src/ui/widget/LogFilesDialog.h | 2 +- src/ui/widget/PinSettingsInfoWidget.cpp | 2 +- src/ui/widget/PinSettingsInfoWidget.h | 2 +- src/ui/widget/PinSettingsWidget.cpp | 3 +- src/ui/widget/PinSettingsWidget.h | 2 +- src/ui/widget/PinSettingsWidget.ui | 3 - src/ui/widget/ProviderWidget.cpp | 2 +- src/ui/widget/ProviderWidget.h | 2 +- src/ui/widget/RandomPinDialog.cpp | 2 +- src/ui/widget/RandomPinDialog.h | 2 +- src/ui/widget/ReaderDeviceDialog.cpp | 2 +- src/ui/widget/ReaderDeviceDialog.h | 2 +- src/ui/widget/ReaderDeviceGui.cpp | 2 +- src/ui/widget/ReaderDeviceGui.h | 2 +- src/ui/widget/ReaderDeviceWidget.cpp | 6 +- src/ui/widget/ReaderDeviceWidget.h | 2 +- src/ui/widget/ReaderDeviceWidget.ui | 4 +- src/ui/widget/ReaderDriverModel.cpp | 2 +- src/ui/widget/ReaderDriverModel.h | 2 +- src/ui/widget/RemotePinInputDialog.cpp | 2 +- src/ui/widget/RemotePinInputDialog.h | 2 +- src/ui/widget/SelfInformationWidget.cpp | 2 +- src/ui/widget/SelfInformationWidget.h | 2 +- src/ui/widget/SettingsWidget.cpp | 2 +- src/ui/widget/SettingsWidget.h | 2 +- src/ui/widget/SetupAssistantGui.cpp | 2 +- src/ui/widget/SetupAssistantGui.h | 2 +- src/ui/widget/SetupAssistantWizard.cpp | 2 +- src/ui/widget/SetupAssistantWizard.h | 2 +- src/ui/widget/UIPlugInWidgets.cpp | 2 +- src/ui/widget/UIPlugInWidgets.h | 2 +- src/ui/widget/UpdateWindow.cpp | 2 +- src/ui/widget/UpdateWindow.h | 2 +- src/ui/widget/generic/BusyOverlay.cpp | 2 +- src/ui/widget/generic/BusyOverlay.h | 2 +- .../widget/generic/BusyOverlayContainer.cpp | 2 +- src/ui/widget/generic/BusyOverlayContainer.h | 2 +- src/ui/widget/generic/ButtonState.h | 2 +- .../widget/generic/ExclusiveButtonGroup.cpp | 2 +- src/ui/widget/generic/ExclusiveButtonGroup.h | 2 +- src/ui/widget/generic/GuiModule.h | 2 +- src/ui/widget/generic/GuiUtils.cpp | 2 +- src/ui/widget/generic/GuiUtils.h | 2 +- src/ui/widget/generic/ListCheckItemWidget.cpp | 2 +- src/ui/widget/generic/ListCheckItemWidget.h | 2 +- src/ui/widget/generic/ListItem.cpp | 2 +- src/ui/widget/generic/ListItem.h | 2 +- src/ui/widget/generic/ListItemIconLeft.cpp | 2 +- src/ui/widget/generic/ListItemIconLeft.h | 2 +- src/ui/widget/generic/ListItemIconRight.cpp | 2 +- src/ui/widget/generic/ListItemIconRight.h | 2 +- src/ui/widget/generic/ListItemSubTitle.cpp | 2 +- src/ui/widget/generic/ListItemSubTitle.h | 2 +- src/ui/widget/generic/ListItemTitle.cpp | 2 +- src/ui/widget/generic/ListItemTitle.h | 2 +- src/ui/widget/generic/PasswordEdit.cpp | 10 +- src/ui/widget/generic/PasswordEdit.h | 2 +- src/ui/widget/generic/TabButtonGroup.cpp | 5 +- src/ui/widget/generic/TabButtonGroup.h | 2 +- .../widget/step/AuthenticateStepsWidget.cpp | 2 +- src/ui/widget/step/AuthenticateStepsWidget.h | 2 +- src/ui/widget/step/SelfInfoWidget.cpp | 2 +- src/ui/widget/step/SelfInfoWidget.h | 2 +- .../step/StepAdviseUserToRemoveCardGui.cpp | 2 +- .../step/StepAdviseUserToRemoveCardGui.h | 2 +- .../widget/step/StepAuthenticationDoneGui.cpp | 2 +- .../widget/step/StepAuthenticationDoneGui.h | 2 +- .../widget/step/StepAuthenticationEac1Gui.cpp | 2 +- .../widget/step/StepAuthenticationEac1Gui.h | 2 +- .../step/StepAuthenticationEac1Widget.cpp | 2 +- .../step/StepAuthenticationEac1Widget.h | 2 +- src/ui/widget/step/StepChooseCardGui.cpp | 2 +- src/ui/widget/step/StepChooseCardGui.h | 2 +- src/ui/widget/step/StepErrorGui.cpp | 66 ++- src/ui/widget/step/StepErrorGui.h | 3 +- src/ui/widget/step/StepGui.cpp | 2 +- src/ui/widget/step/StepGui.h | 2 +- src/ui/widget/step/StepProcessingGui.cpp | 2 +- src/ui/widget/step/StepProcessingGui.h | 2 +- .../StepShowSelfAuthenticationDataGui.cpp | 2 +- .../step/StepShowSelfAuthenticationDataGui.h | 2 +- src/ui/widget/workflow/GenericWorkflowGui.h | 2 +- .../workflow/WorkflowAuthenticateQtGui.cpp | 2 +- .../workflow/WorkflowAuthenticateQtGui.h | 2 +- .../workflow/WorkflowChangePinQtGui.cpp | 2 +- .../widget/workflow/WorkflowChangePinQtGui.h | 2 +- src/ui/widget/workflow/WorkflowGui.cpp | 2 +- src/ui/widget/workflow/WorkflowGui.h | 2 +- src/ui/widget/workflow/WorkflowQtWidget.cpp | 2 +- src/ui/widget/workflow/WorkflowQtWidget.h | 2 +- .../widget/workflow/WorkflowSelfInfoQtGui.cpp | 2 +- .../widget/workflow/WorkflowSelfInfoQtGui.h | 2 +- src/ui/widget/workflow/WorkflowWidgetParent.h | 2 +- src/whitelist_client/Survey.cpp | 2 +- src/whitelist_client/Survey.h | 2 +- src/whitelist_client/SurveyHandler.cpp | 2 +- src/whitelist_client/SurveyHandler.h | 2 +- .../core/diagnosis/antivir_one_antivirus.txt | 19 + ...ntivir_one_antivirus_missing_timestamp.txt | 19 + .../core/diagnosis/antivir_two_antivirus.txt | 38 ++ .../antivir_two_broken_antivirus.txt | 34 ++ test/fixture/fixture.qrc | 7 + test/helper/CliHelper.cpp | 2 +- test/helper/CliHelper.h | 2 +- test/helper/MockActivationContext.cpp | 2 +- test/helper/MockActivationContext.h | 2 +- test/helper/MockCard.cpp | 2 +- test/helper/MockCard.h | 2 +- test/helper/MockCardConnectionWorker.cpp | 2 +- test/helper/MockCardConnectionWorker.h | 2 +- test/helper/MockDataChannel.cpp | 2 +- test/helper/MockDataChannel.h | 2 +- test/helper/MockDownloader.cpp | 2 +- test/helper/MockDownloader.h | 2 +- test/helper/MockHttpServer.cpp | 2 +- test/helper/MockHttpServer.h | 2 +- test/helper/MockNetworkManager.cpp | 2 +- test/helper/MockNetworkManager.h | 2 +- test/helper/MockNetworkReply.cpp | 2 +- test/helper/MockNetworkReply.h | 2 +- test/helper/MockReader.cpp | 2 +- test/helper/MockReader.h | 2 +- test/helper/MockReaderConfiguration.cpp | 2 +- test/helper/MockReaderConfiguration.h | 2 +- test/helper/MockReaderDetector.cpp | 2 +- test/helper/MockReaderDetector.h | 2 +- test/helper/MockReaderManagerPlugIn.cpp | 2 +- test/helper/MockReaderManagerPlugIn.h | 2 +- test/helper/MockRemoteDispatcher.cpp | 2 +- test/helper/MockRemoteDispatcher.h | 2 +- test/helper/MockRemoteServer.cpp | 2 +- test/helper/MockRemoteServer.h | 2 +- test/helper/MockSocket.cpp | 2 +- test/helper/MockSocket.h | 2 +- test/helper/MockWorkflowAuthenticateUi.h | 2 +- test/helper/MockWorkflowChangePinUi.h | 2 +- test/helper/MsgHandlerEnterPassword.cpp | 2 +- test/helper/MsgHandlerEnterPassword.h | 2 +- test/helper/PersoSimController.cpp | 2 +- test/helper/PersoSimController.h | 2 +- test/helper/TestAuthContext.cpp | 2 +- test/helper/TestAuthContext.h | 2 +- test/helper/TestFileHelper.cpp | 2 +- test/helper/TestFileHelper.h | 2 +- test/helper/WebSocketHelper.cpp | 2 +- test/helper/WebSocketHelper.h | 2 +- test/qml/QmlTestRunner.cpp | 2 +- .../activation_webservice/test_Template.cpp | 2 +- .../test_WebserviceActivationContext.cpp | 2 +- .../test_WebserviceActivationHandler.cpp | 2 +- test/qt/aidl/test_PskManager.cpp | 2 +- test/qt/card/asn1/test_AccessRoleAndRight.cpp | 2 +- test/qt/card/asn1/test_Asn1BCDDateUtil.cpp | 2 +- test/qt/card/asn1/test_Asn1IntegerUtil.cpp | 2 +- test/qt/card/asn1/test_Asn1ObjectUtil.cpp | 2 +- .../qt/card/asn1/test_Asn1OctetStringUtil.cpp | 2 +- test/qt/card/asn1/test_Asn1StringUtil.cpp | 2 +- test/qt/card/asn1/test_Asn1TypeUtil.cpp | 2 +- test/qt/card/asn1/test_Asn1Util.cpp | 2 +- .../asn1/test_AuxiliaryAuthenticatedData.cpp | 2 +- test/qt/card/asn1/test_CVCertificate.cpp | 2 +- test/qt/card/asn1/test_CVCertificateBody.cpp | 2 +- .../asn1/test_CVCertificateChainBuilder.cpp | 2 +- .../card/asn1/test_CertificateDescription.cpp | 2 +- test/qt/card/asn1/test_ChainBuilder.cpp | 2 +- test/qt/card/asn1/test_Chat.cpp | 2 +- .../card/asn1/test_ChipAuthenticationInfo.cpp | 2 +- test/qt/card/asn1/test_EcdsaPublicKey.cpp | 2 +- test/qt/card/asn1/test_KnownOIDs.cpp | 2 +- test/qt/card/asn1/test_PaceInfo.cpp | 2 +- test/qt/card/asn1/test_SecurityInfo.cpp | 2 +- test/qt/card/asn1/test_SecurityInfos.cpp | 2 +- test/qt/card/asn1/test_SignatureChecker.cpp | 2 +- test/qt/card/asn1/test_efCardAccess.cpp | 2 +- test/qt/card/asn1/test_efCardSecurity.cpp | 2 +- .../base/command/test_BaseCardCommand.cpp | 2 +- .../test_DestroyPaceChannelCommand.cpp | 2 +- .../test_DidAuthenticateEAC1Command.cpp | 2 +- .../test_EstablishPaceChannelCommand.cpp | 2 +- .../base/command/test_SetEidPinCommand.cpp | 2 +- .../base/command/test_TransmitCommand.cpp | 2 +- .../base/command/test_UnblockPinCommand.cpp | 2 +- .../command/test_UpdRetryCounterCommand.cpp | 2 +- test/qt/card/base/test_CardConnection.cpp | 2 +- test/qt/card/base/test_CardInfo.cpp | 2 +- test/qt/card/base/test_CommandApdu.cpp | 2 +- test/qt/card/base/test_Commands.cpp | 2 +- test/qt/card/base/test_PinModify.cpp | 2 +- test/qt/card/base/test_PinModifyOutput.cpp | 2 +- test/qt/card/base/test_Reader.cpp | 2 +- test/qt/card/base/test_ResponseApdu.cpp | 2 +- .../card/bluetooth/test_BluetoothMessage.cpp | 2 +- ...etoothMessageParameterCardReaderStatus.cpp | 2 +- ...st_BluetoothMessageParameterMaxMsgSize.cpp | 2 +- .../bluetooth/test_BluetoothMessageParser.cpp | 2 +- test/qt/card/pace/test_CipherMAC.cpp | 2 +- test/qt/card/pace/test_EcUtil.cpp | 2 +- test/qt/card/pace/test_EcdhKeyAgreement.cpp | 2 +- .../card/pace/test_EllipticCurveFactory.cpp | 2 +- .../card/pace/test_KeyDerivationFunction.cpp | 2 +- test/qt/card/pace/test_PaceHandler.cpp | 2 +- test/qt/card/pace/test_SymmetricCipher.cpp | 2 +- test/qt/card/pcsc/test_PcscUtils.cpp | 2 +- test/qt/card/pcsc/test_pcscReaderFeature.cpp | 2 +- .../pcsc/test_pcscReaderPaceCapability.cpp | 2 +- test/qt/card/test_EstablishPaceChannel.cpp | 2 +- .../card/test_EstablishPaceChannelOutput.cpp | 2 +- .../card/test_EstablishPaceChannelParser.cpp | 2 +- .../card/test_GeneralAuthenticateResponse.cpp | 2 +- test/qt/card/test_MSEBuilder.cpp | 2 +- test/qt/card/test_ReaderManager.cpp | 2 +- test/qt/card/test_SecureMessaging.cpp | 13 +- test/qt/card/test_SecureMessagingResponse.cpp | 2 +- test/qt/cli/test_UIPlugInCli.cpp | 2 +- .../test_ProviderConfiguration.cpp | 118 +++++- .../test_ProviderConfigurationParser.cpp | 8 +- .../test_ReaderConfiguration.cpp | 394 +++++------------- .../test_ReaderConfigurationEntryParser.cpp | 2 +- .../test_ReaderConfigurationParser.cpp | 2 +- test/qt/core/context/test_AuthContext.cpp | 2 +- .../qt/core/context/test_ChangePinContext.cpp | 2 +- .../qt/core/context/test_DiagnosisContext.cpp | 2 +- .../context/test_RemoteServiceContext.cpp | 2 +- test/qt/core/context/test_WorkflowContext.cpp | 2 +- .../controller/test_ChangePinController.cpp | 2 +- .../test_DidAuthenticateResponseEAC1.cpp | 2 +- .../test_DidAuthenticateResponseEAC2.cpp | 2 +- .../paos/invoke/test_DisconnectResponse.cpp | 2 +- test/qt/core/paos/invoke/test_PaosCreator.cpp | 2 +- test/qt/core/paos/invoke/test_StartPaos.cpp | 2 +- .../paos/invoke/test_TransmitResponse.cpp | 2 +- .../retrieve/test_DidAuthenticateEac1.cpp | 2 +- .../retrieve/test_DidAuthenticateEac2.cpp | 2 +- .../test_DidAuthenticateEacAdditional.cpp | 2 +- .../retrieve/test_InitializeFramework.cpp | 2 +- .../paos/retrieve/test_StartPAOSResponse.cpp | 2 +- test/qt/core/paos/retrieve/test_transmit.cpp | 2 +- test/qt/core/paos/test_PaosMessage.cpp | 2 +- test/qt/core/paos/test_RequestType.cpp | 2 +- test/qt/core/paos/test_UserAgent.cpp | 2 +- test/qt/core/paos/test_paoshandler.cpp | 2 +- .../test_StateCertificateDescriptionCheck.cpp | 2 +- test/qt/core/states/test_StateChangePin.cpp | 2 +- .../core/states/test_StateChangePinRemote.cpp | 2 +- .../states/test_StateCheckRefreshAddress.cpp | 2 +- test/qt/core/states/test_StateConnectCard.cpp | 2 +- test/qt/core/states/test_StateDestroyPace.cpp | 2 +- .../states/test_StateDidAuthenticateEac1.cpp | 2 +- .../states/test_StateEstablishPaceChannel.cpp | 2 +- .../test_StateEstablishPaceChannelRemote.cpp | 2 +- ...test_StateExtractCvcsFromEac1InputType.cpp | 2 +- .../states/test_StateGenericSendReceive.cpp | 2 +- test/qt/core/states/test_StateGetTcToken.cpp | 2 +- .../states/test_StateInitializeFramework.cpp | 2 +- .../core/states/test_StatePreVerification.cpp | 2 +- .../test_StateProcessCertificatesFromEac2.cpp | 2 +- .../test_StateProcessRemoteMessages.cpp | 2 +- .../core/states/test_StateRedirectBrowser.cpp | 2 +- .../states/test_StateSelectPasswordId.cpp | 2 +- .../qt/core/states/test_StateSelectReader.cpp | 2 +- .../states/test_StateStartPaosResponse.cpp | 2 +- .../states/test_StateStartRemoteService.cpp | 2 +- .../states/test_StateStopRemoteService.cpp | 2 +- test/qt/core/states/test_StateTransmit.cpp | 2 +- .../core/states/test_StateUpdRetryCounter.cpp | 2 +- test/qt/core/states/test_TermsOfUsage.cpp | 2 +- test/qt/core/test_CertificateChecker.cpp | 2 +- .../core/test_DiagnosisAntivirusDetection.cpp | 126 ++++++ test/qt/core/test_DiagnosisConnectionTest.cpp | 2 +- test/qt/core/test_DiagnosisModel.cpp | 2 +- test/qt/core/test_SelfAuthenticationData.cpp | 2 +- test/qt/core/test_TcToken.cpp | 2 +- test/qt/drivers/test_ReaderDetector.cpp | 2 +- test/qt/export/test_PdfExporter.cpp | 2 +- test/qt/file_provider/test_Downloader.cpp | 2 +- test/qt/file_provider/test_FileProvider.cpp | 2 +- test/qt/file_provider/test_UpdatableFile.cpp | 2 +- test/qt/global/test_BuildHelper.cpp | 50 +++ test/qt/global/test_CardReturnCode.cpp | 2 +- test/qt/global/test_DeviceInfo.cpp | 2 +- test/qt/global/test_ECardApiResult.cpp | 2 +- test/qt/global/test_EnumHelper.cpp | 2 +- test/qt/global/test_Env.cpp | 2 +- test/qt/global/test_FileDestination.cpp | 2 +- test/qt/global/test_FuncUtils.cpp | 2 +- test/qt/global/test_GlobalStatus.cpp | 2 +- test/qt/global/test_Initializer.cpp | 2 +- test/qt/global/test_LanguageLoader.cpp | 2 +- test/qt/global/test_LogHandler.cpp | 186 ++++++++- test/qt/global/test_Randomizer.cpp | 2 +- test/qt/global/test_ResourceLoader.cpp | 2 +- test/qt/global/test_ScopeGuard.cpp | 2 +- test/qt/global/test_VersionInfo.cpp | 2 +- test/qt/global/test_VersionNumber.cpp | 2 +- test/qt/jsonapi/test_Message.cpp | 2 +- test/qt/jsonapi/test_MsgContext.cpp | 2 +- test/qt/jsonapi/test_MsgHandler.cpp | 2 +- .../jsonapi/test_MsgHandlerAccessRights.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerApiLevel.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerAuth.cpp | 2 +- .../qt/jsonapi/test_MsgHandlerCertificate.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerEnterCan.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerEnterPin.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerEnterPuk.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerInsertCard.cpp | 2 +- .../jsonapi/test_MsgHandlerInternalError.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerReader.cpp | 2 +- test/qt/jsonapi/test_MsgHandlerReaderList.cpp | 2 +- test/qt/network/test_DatagramHandlerImpl.cpp | 2 +- test/qt/network/test_HttpRequest.cpp | 2 +- test/qt/network/test_HttpResponse.cpp | 2 +- test/qt/network/test_HttpServer.cpp | 2 +- test/qt/network/test_NetworkManager.cpp | 2 +- test/qt/network/test_PortFile.cpp | 2 +- test/qt/network/test_TlsChecker.cpp | 2 +- test/qt/network/test_UrlUtil.cpp | 2 +- test/qt/network/test_WifiInfo.cpp | 2 +- test/qt/qml/test_AuthModel.cpp | 2 +- test/qt/qml/test_ChangePinModel.cpp | 2 +- test/qt/qml/test_ChatModel.cpp | 2 +- test/qt/qml/test_ConnectivityManager.cpp | 2 +- test/qt/qml/test_LogModel.cpp | 2 +- test/qt/qml/test_NumberModel.cpp | 4 +- .../qml/test_ProviderCategoryFilterModel.cpp | 2 +- test/qt/qml/test_ProviderModel.cpp | 2 +- test/qt/qml/test_QmlFileStructure.cpp | 2 +- test/qt/qml/test_RemoteServiceModel.cpp | 2 +- test/qt/qml/test_SelfAuthModel.cpp | 2 +- test/qt/qml/test_WorkflowModel.cpp | 2 +- .../remote_device/messages/test_Discovery.cpp | 2 +- .../messages/test_IfdConnect.cpp | 2 +- .../messages/test_IfdConnectResponse.cpp | 2 +- .../messages/test_IfdDisconnect.cpp | 2 +- .../messages/test_IfdDisconnectResponse.cpp | 2 +- .../remote_device/messages/test_IfdError.cpp | 2 +- .../messages/test_IfdEstablishContext.cpp | 2 +- .../test_IfdEstablishContextResponse.cpp | 2 +- .../messages/test_IfdEstablishPaceChannel.cpp | 2 +- .../test_IfdEstablishPaceChannelResponse.cpp | 2 +- .../messages/test_IfdGetStatus.cpp | 2 +- .../messages/test_IfdModifyPin.cpp | 2 +- .../messages/test_IfdModifyPinResponse.cpp | 2 +- .../remote_device/messages/test_IfdStatus.cpp | 2 +- .../messages/test_IfdTransmit.cpp | 2 +- .../messages/test_IfdTransmitResponse.cpp | 2 +- .../messages/test_IfdVersion.cpp | 2 +- .../messages/test_RemoteMessage.cpp | 2 +- .../messages/test_RemoteMessageResponse.cpp | 2 +- .../remote_device/test_RemoteClientImpl.cpp | 2 +- .../qt/remote_device/test_RemoteConnector.cpp | 2 +- .../test_RemoteDeviceDescriptor.cpp | 2 +- .../test_RemoteDeviceListImpl.cpp | 2 +- .../remote_device/test_RemoteDeviceModel.cpp | 2 +- test/qt/remote_device/test_RemoteDisp.cpp | 2 +- .../test_RemoteReaderAdvertiser.cpp | 2 +- .../test_RemoteReaderManagerPlugin.cpp | 2 +- .../remote_device/test_RemoteServerImpl.cpp | 2 +- .../qt/remote_device/test_RemoteTlsServer.cpp | 2 +- .../test_RemoteWebSocketServer.cpp | 2 +- .../test_ServerMessageHandler.cpp | 2 +- test/qt/securestorage/test_SecureStorage.cpp | 4 +- .../securestorage/test_TlsConfiguration.cpp | 2 +- test/qt/services/test_AppUpdatr.cpp | 20 +- test/qt/settings/test_GeneralSettings.cpp | 7 +- test/qt/settings/test_HistorySettings.cpp | 2 +- test/qt/settings/test_KeyPair.cpp | 2 +- .../settings/test_PreVerificationSettings.cpp | 2 +- .../settings/test_RemoteServiceSettings.cpp | 2 +- test/qt/websocket/test_UIPlugInWebSocket.cpp | 2 +- test/qt/whitelist_client/test_Survey.cpp | 2 +- test/qt/widget/test_HelpAction.cpp | 2 +- test/qt/widget/test_ReaderDriverModel.cpp | 2 +- uncrustify.cfg | 40 +- 1304 files changed, 4580 insertions(+), 2181 deletions(-) create mode 100644 docs/installation/CommunicationModel_de.graphml create mode 100644 docs/installation/CommunicationModel_de.pdf create mode 100644 docs/installation/CommunicationModel_en.graphml create mode 100644 docs/installation/CommunicationModel_en.pdf create mode 100644 docs/releasenotes/1.16.2.rst create mode 100644 patches/qt-Linux-Remove-our-use-of-syscall-for-statx-2-and-rena.patch create mode 100644 patches/qt-Work-Around-FreeBSD-v12-build.patch create mode 100644 resources/images/tutorial/cross.svg create mode 100644 resources/images/tutorial/icon_box.svg create mode 100644 resources/images/tutorial/icon_circle.svg create mode 100644 resources/images/tutorial/icon_diamond.svg create mode 100644 resources/images/tutorial/icon_star.svg create mode 100644 src/activation/intent/UpdateReceiver.java create mode 100644 src/core/states/StateActivateStoreFeedbackDialog.cpp create mode 100644 src/core/states/StateActivateStoreFeedbackDialog.h create mode 100644 src/network/MulticastLock.cpp create mode 100644 src/network/MulticastLock.h create mode 100644 src/network/MulticastLockJniBridgeUtil.java create mode 100644 test/fixture/core/diagnosis/antivir_one_antivirus.txt create mode 100644 test/fixture/core/diagnosis/antivir_one_antivirus_missing_timestamp.txt create mode 100644 test/fixture/core/diagnosis/antivir_two_antivirus.txt create mode 100644 test/fixture/core/diagnosis/antivir_two_broken_antivirus.txt create mode 100644 test/qt/core/test_DiagnosisAntivirusDetection.cpp create mode 100644 test/qt/global/test_BuildHelper.cpp diff --git a/.travis.yml b/.travis.yml index b7fb89dbf..a1f76aa55 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,16 +1,25 @@ language: shell sudo: required +cache: + ccache: true + directories: + - $HOME/.ccache + env: matrix: - CHECK=format - CHECK=docs + - CHECK=build TYPE=debug COMPILER=g++ + - CHECK=build TYPE=release COMPILER=g++ + - CHECK=build TYPE=debug COMPILER=clang++ + - CHECK=build TYPE=release COMPILER=clang++ install: - - sudo resources/travis/setup.sh $CHECK + - sudo -E resources/travis/setup.sh script: - - sudo resources/travis/build.sh $CHECK + - sudo -E resources/travis/build.sh notifications: email: false diff --git a/CMakeLists.txt b/CMakeLists.txt index 1e4d1049a..581cccc5b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -37,7 +37,7 @@ ELSE() ENDIF() -PROJECT(AusweisApp2 VERSION 1.16.1 LANGUAGES ${LANGUAGES}) +PROJECT(AusweisApp2 VERSION 1.16.2 LANGUAGES ${LANGUAGES}) # Set TWEAK if not defined in PROJECT_VERSION above to # have a valid tweak version without propagating it @@ -110,7 +110,7 @@ SET(SRC_DIR ${PROJECT_SOURCE_DIR}/src) SET(TEST_DIR ${PROJECT_SOURCE_DIR}/test) SET(RESOURCES_DIR ${PROJECT_SOURCE_DIR}/resources) SET(PACKAGING_DIR ${RESOURCES_DIR}/packaging) -SET(COPYRIGHT_TEXT "Ⓒ\; 2014-2018 ${VENDOR}") +SET(COPYRIGHT_TEXT "Ⓒ\; 2014-2019 ${VENDOR}") STRING(REPLACE " \& " " \& " COPYRIGHT_TEXT ${COPYRIGHT_TEXT}) INCLUDE(Tools) diff --git a/LICENSE.officially.txt b/LICENSE.officially.txt index 59b7e5aea..fad0d6c0c 100644 --- a/LICENSE.officially.txt +++ b/LICENSE.officially.txt @@ -24,7 +24,7 @@ Die AusweisApp2 und alle ihre Bestandteile dienen ausschließlich dazu, im Zusam (2) Es liegt im eigenen Interesse des Nutzers aber auch des Bundes, dass stets nur die neueste Version der AusweisApp2 (siehe § 5) verwendet wird. § 5 Pflege und Support -(1) Der Bund bietet nach eigenem Ermessen und ohne hierzu verpflichtet zu sein für Teile der AusweisApp2 zusätzliche kostenfreie Supportleistungen in Form von Dokumentationen und online Hilfen auf dem AusweisApp2-Portal im Internet unter der Adresse www.ausweisapp.bund.de an, sowie über die Hotline des Herstellers Governikus unter der E-Mail-Adresse: support@ausweisapp.de und der Tel.-Nr.: +49 1805 348 743. Auch stellt er verfügbare neue Versionen der AusweisApp2 zur Verfügung. Hieraus erwächst jedoch kein zusätzlicher Anspruch auf Mängelbeseitigung, auf Zertifizierung, auf Beibehaltung der Supportleistungen oder der Hotline und auf Ãœberlassung neuer Versionen. +(1) Der Bund bietet nach eigenem Ermessen und ohne hierzu verpflichtet zu sein für Teile der AusweisApp2 zusätzliche kostenfreie Supportleistungen in Form von Dokumentationen und online Hilfen auf dem AusweisApp2-Portal im Internet unter der Adresse www.ausweisapp.bund.de an, sowie über die Hotline des Herstellers Governikus unter der E-Mail-Adresse: support@ausweisapp.de und der Tel.-Nr.: +49 421 204 95-995. Auch stellt er verfügbare neue Versionen der AusweisApp2 zur Verfügung. Hieraus erwächst jedoch kein zusätzlicher Anspruch auf Mängelbeseitigung, auf Zertifizierung, auf Beibehaltung der Supportleistungen oder der Hotline und auf Ãœberlassung neuer Versionen. (2) Verfügbare neue Versionen der AusweisApp2 können im Internet kostenfrei auf dem AusweisApp2-Portal unter der Adresse www.ausweisapp.bund.de sowie über allgemein zugängliche AppStore heruntergeladen werden. (3) Eventuelle Mängel der AusweisApp2 werden grundsätzlich dadurch behoben, dass der Bund jeweils eine neue Version der AusweisApp2 zum Herunterladen zur Verfügung stellt (siehe § 5 Absatz 1). Eine Pflicht zur Bereitstellung von neuen Versionen ergibt sich daraus grundsätzlich nicht. diff --git a/appveyor.yml b/appveyor.yml index c3db5f760..d1a1bfafc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,27 +5,27 @@ environment: - PlatformToolset: mingw-w64 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 QTPath: C:\Qt\5.11\mingw53_32 - OPENSSLPath: C:\OpenSSL-v11-Win32 + OPENSSLPath: C:\OpenSSL-v111-Win32 - PlatformToolset: v140 platform: x64 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 QTPath: C:\Qt\5.11\msvc2015_64 - OPENSSLPath: C:\OpenSSL-v11-Win64 + OPENSSLPath: C:\OpenSSL-v111-Win64 ARCHI: amd64 - PlatformToolset: v140 platform: Win32 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 QTPath: C:\Qt\5.11\msvc2015 - OPENSSLPath: C:\OpenSSL-v11-Win32 + OPENSSLPath: C:\OpenSSL-v111-Win32 ARCHI: x86 - PlatformToolset: v141 platform: x64 APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 QTPath: C:\Qt\5.11\msvc2017_64 - OPENSSLPath: C:\OpenSSL-v11-Win64 + OPENSSLPath: C:\OpenSSL-v111-Win64 ARCHI: amd64 configuration: @@ -58,7 +58,7 @@ before_build: build_script: - cd "%APPVEYOR_BUILD_FOLDER%" - set OPENSSL_ROOT=%OPENSSLPath% - - set PATH=%QTPATH%;%QTPATH%/bin;%OPENSSLPath%;%PATH% + - set PATH=%PATH%;%QTPATH%;%QTPATH%/bin;%OPENSSLPath% - echo %PATH% - echo %OPENSSL_ROOT% - mkdir _build @@ -76,7 +76,7 @@ build_script: test_script: - cd "%APPVEYOR_BUILD_FOLDER%"/_build - - set PATH=%QTPATH%;%QTPATH%/bin;%PATH% + - set PATH=%PATH%;%QTPATH%;%QTPATH%/bin - echo %PATH% - ctest --output-on-failure -C "%CONFIGURATION%" diff --git a/cmake/CompilerFlags.cmake b/cmake/CompilerFlags.cmake index 89a18957c..bfab90189 100644 --- a/cmake/CompilerFlags.cmake +++ b/cmake/CompilerFlags.cmake @@ -10,7 +10,7 @@ IF(CMAKE_VERSION VERSION_LESS "3.12") ADD_DEFINITIONS(-DQT_RESTRICTED_CAST_FROM_ASCII) ELSE() ADD_COMPILE_DEFINITIONS($<$:QT_RESTRICTED_CAST_FROM_ASCII>) - ADD_COMPILE_DEFINITIONS($<$:QT_NO_CAST_FROM_ASCII>) + ADD_COMPILE_DEFINITIONS($<$>:QT_NO_CAST_FROM_ASCII>) ENDIF() IF(QT_VENDOR STREQUAL "Governikus") diff --git a/cmake/DefaultFiles.cmake b/cmake/DefaultFiles.cmake index 773799214..03538c000 100644 --- a/cmake/DefaultFiles.cmake +++ b/cmake/DefaultFiles.cmake @@ -1,6 +1,6 @@ SET(REMOTE_CONFIG_URL_PROD https://appl.governikus-asp.de/ausweisapp2) IF(JENKINS_APPCAST) - SET(REMOTE_CONFIG_URL https://vtf-aajenkins.tf.bos-test.de/job/${JENKINS_APPCAST}/lastSuccessfulBuild/artifact CACHE STRING "Remote config download URL" FORCE) + SET(REMOTE_CONFIG_URL https://ausweisapp-ci.govkg.de/job/${JENKINS_APPCAST}/lastSuccessfulBuild/artifact CACHE STRING "Remote config download URL" FORCE) ELSE() SET(REMOTE_CONFIG_URL ${REMOTE_CONFIG_URL_PROD} CACHE STRING "Remote config download URL" FORCE) ENDIF() diff --git a/cmake/Install.cmake b/cmake/Install.cmake index cc49d59aa..1d08808dc 100644 --- a/cmake/Install.cmake +++ b/cmake/Install.cmake @@ -163,8 +163,13 @@ ELSEIF(APPLE AND NOT IOS) FETCH_TARGET_LOCATION(opensslCryptoName "OpenSSL::Crypto" NAME) FETCH_TARGET_LOCATION(opensslSslName "OpenSSL::SSL" NAME) - LIST(APPEND ADDITIONAL_BUNDLE_FILES_TO_SIGN "/Contents/MacOS/${opensslCryptoName}") - LIST(APPEND ADDITIONAL_BUNDLE_FILES_TO_SIGN "/Contents/MacOS/${opensslSslName}") + IF(CMAKE_VERSION VERSION_LESS "3.13") + SET(OPENSSL_LIB_LOCATION "/Contents/MacOS") + ELSE() + SET(OPENSSL_LIB_LOCATION "/Contents/Frameworks") + ENDIF() + LIST(APPEND ADDITIONAL_BUNDLE_FILES_TO_SIGN "${OPENSSL_LIB_LOCATION}/${opensslCryptoName}") + LIST(APPEND ADDITIONAL_BUNDLE_FILES_TO_SIGN "${OPENSSL_LIB_LOCATION}/${opensslSslName}") # set it to parent scope to be able to access it from Packaging.cmake SET(ADDITIONAL_BUNDLE_FILES_TO_SIGN ${ADDITIONAL_BUNDLE_FILES_TO_SIGN} PARENT_SCOPE) diff --git a/cmake/Packaging.cmake b/cmake/Packaging.cmake index c00945619..0b602c009 100644 --- a/cmake/Packaging.cmake +++ b/cmake/Packaging.cmake @@ -38,6 +38,7 @@ SET(CPACK_PACKAGE_CONTACT "info@governikus.com") SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Governikus AusweisApp2") SET(CPACK_PACKAGE_DESCRIPTION_FILE "${PROJECT_SOURCE_DIR}/README.rst") SET(CPACK_PACKAGE_FILE_NAME ${FILENAME}) +SET(CPACK_PACKAGE_INSTALL_DIRECTORY ${PROJECT_NAME}) IF(VENDOR_GOVERNIKUS) SET(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE.officially.txt") @@ -90,6 +91,8 @@ IF(WIN32) SET(CPACK_WIX_UI_DIALOG ${RESOURCES_DIR}/images/wix_dialog.jpg) SET(CPACK_WIX_EXTENSIONS WixUtilExtension) SET(CPACK_WIX_LIGHT_EXTRA_FLAGS -loc ${PACKAGING_DIR}/win/WIX.Texts.de-DE.wxl -loc ${PACKAGING_DIR}/win/WIX.Texts.en-US.wxl) + # suppress warning LGHT1076/ICE61 caused by AllowSameVersionUpgrades + SET(CPACK_WIX_LIGHT_EXTRA_FLAGS -sw1076 ${CPACK_WIX_LIGHT_EXTRA_FLAGS}) IF(SIGNTOOL_CMD) MESSAGE(STATUS "MSI can be signed with 'make package.sign'") @@ -185,9 +188,10 @@ ELSEIF(ANDROID) MESSAGE(STATUS "Prepare ${ANDROID_FILE_EXT} file generation") IF(${CMAKE_BUILD_TYPE} STREQUAL "RELEASE" OR ${CMAKE_BUILD_TYPE} STREQUAL "RELWITHDEBINFO" OR ${CMAKE_BUILD_TYPE} STREQUAL "MINSIZEREL") + SET(DEPLOY_CMD_SIGN --release) + IF(ANDROID_BUILD_AAR) SET(ANDROID_FILE dist-release.aar) - SET(DEPLOY_CMD_SIGN --release) ELSEIF(APK_SIGN_KEYSTORE AND APK_SIGN_KEYSTORE_ALIAS AND APK_SIGN_KEYSTORE_PSW) MESSAGE(STATUS "Release build will be signed using: ${APK_SIGN_KEYSTORE} | Alias: ${APK_SIGN_KEYSTORE_ALIAS}") SET(DEPLOY_CMD_SIGN --sign ${APK_SIGN_KEYSTORE} ${APK_SIGN_KEYSTORE_ALIAS} --storepass ${APK_SIGN_KEYSTORE_PSW} --digestalg SHA-256 --sigalg SHA256WithRSA) @@ -197,7 +201,13 @@ ELSEIF(ANDROID) SET(ANDROID_FILE QtApp-release-signed.apk) ENDIF() ELSE() - MESSAGE(FATAL_ERROR "Cannot sign release build! Set APK_SIGN_KEYSTORE, APK_SIGN_KEYSTORE_ALIAS and APK_SIGN_KEYSTORE_PSW!") + IF(ANDROID_USE_GRADLE) + SET(ANDROID_FILE dist-release-unsigned.apk) + ELSE() + SET(ANDROID_FILE QtApp-release-unsigned.apk) + ENDIF() + + MESSAGE(WARNING "Cannot sign release build! Set APK_SIGN_KEYSTORE, APK_SIGN_KEYSTORE_ALIAS and APK_SIGN_KEYSTORE_PSW!") ENDIF() ELSE() diff --git a/cmake/Tools.cmake b/cmake/Tools.cmake index d6f13b253..a43c7c444 100644 --- a/cmake/Tools.cmake +++ b/cmake/Tools.cmake @@ -140,7 +140,7 @@ IF(UNCRUSTIFY) EXECUTE_PROCESS(COMMAND ${UNCRUSTIFY} --version OUTPUT_VARIABLE UNCRUSTIFY_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE) STRING(REPLACE "uncrustify " "" UNCRUSTIFY_VERSION ${UNCRUSTIFY_VERSION}) - SET(UNCRUSTIFY_NEEDED_VERSION "0.67") + SET(UNCRUSTIFY_NEEDED_VERSION "0.68") IF("${UNCRUSTIFY_VERSION}" STRLESS "${UNCRUSTIFY_NEEDED_VERSION}") MESSAGE(WARNING "Uncrustify seems to be too old. Use at least ${UNCRUSTIFY_NEEDED_VERSION}... you are using: ${UNCRUSTIFY_VERSION}") ELSE() diff --git a/docs/installation/CommunicationModel_de.graphml b/docs/installation/CommunicationModel_de.graphml new file mode 100644 index 000000000..f3ff314bb --- /dev/null +++ b/docs/installation/CommunicationModel_de.graphml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + Internet + + + + + + + + + + + + + + + + + + + Lokales Netz + + + + + + + + + + + Lokaler Rechner + + + + + + + + + + + AusweisApp2 + + + + + + + + + + + eID-Server + + + + + + + + + + + Dienstanbieter + + + + + + + + + + + Browser + + + + + + + + + + + Update-Server + + + + + + + + + + + Mobiles Endgerät + + + + + + + + + + + Drittanwendung + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eID1 + + + + + + + + + + + eID3 + + + + + + + + + + + + + SaK1, +SaK2 + + + + + + + + + + + Update + + + + + + + + + + + eID2 + + + + + + + + + + + eID-SDK + + + + + + + + + diff --git a/docs/installation/CommunicationModel_de.pdf b/docs/installation/CommunicationModel_de.pdf new file mode 100644 index 0000000000000000000000000000000000000000..fbb9b64888e6f84d785b4be9fe110f2f5d2b286c GIT binary patch literal 32148 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 LQ~*(sBJ_U%eIguX literal 0 HcmV?d00001 diff --git a/docs/installation/CommunicationModel_en.graphml b/docs/installation/CommunicationModel_en.graphml new file mode 100644 index 000000000..a5a755c18 --- /dev/null +++ b/docs/installation/CommunicationModel_en.graphml @@ -0,0 +1,228 @@ + + + + + + + + + + + + + + + + + + + + + + + Internet + + + + + + + + + + + + + + + + + + + Local network + + + + + + + + + + + Local machine + + + + + + + + + + + AusweisApp2 + + + + + + + + + + + eID-Server + + + + + + + + + + + Service-Provider + + + + + + + + + + + Browser + + + + + + + + + + + Update-Server + + + + + + + + + + + Mobile device + + + + + + + + + + + Third-Party App + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + eID1 + + + + + + + + + + + eID3 + + + + + + + + + + + + + SaC1, +SaC2 + + + + + + + + + + + Update + + + + + + + + + + + eID2 + + + + + + + + + + + eID-SDK + + + + + + + + + diff --git a/docs/installation/CommunicationModel_en.pdf b/docs/installation/CommunicationModel_en.pdf new file mode 100644 index 0000000000000000000000000000000000000000..792ff3a0b5182e24e127c2a7307b1ea7fe3b4c7d GIT binary patch literal 30752 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 +Date: Wed, 19 Sep 2018 00:05:54 -0500 +Subject: [PATCH] Linux: Remove our use of syscall() for statx(2) and + renameat2(2) +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Those system calls are present in glibc 2.28. Instead of using +syscall(3) to place the system calls directly, let's use only the glibc +functions. That also means we no longer accept ENOSYS from either +function, if they were detected in glibc. + +Change-Id: I44e7d800c68141bdaae0fffd1555b4b8fe63786b +Reviewed-by: Oswald Buddenhagen +Reviewed-by: Lars Knoll +Reviewed-by: Jüri Valdmann +--- + src/corelib/global/minimum-linux_p.h | 7 +++- + src/corelib/io/qfilesystemengine_unix.cpp | 45 ++--------------------- + 2 files changed, 9 insertions(+), 43 deletions(-) + +diff --git x/qtbase/src/corelib/global/minimum-linux_p.h y/qtbase/src/corelib/global/minimum-linux_p.h +index bad2488b4d..9c074e13ba 100644 +--- x/qtbase/src/corelib/global/minimum-linux_p.h ++++ y/qtbase/src/corelib/global/minimum-linux_p.h +@@ -75,9 +75,14 @@ QT_BEGIN_NAMESPACE + * - accept4 2.6.28 + * - renameat2 3.16 QT_CONFIG(renameat2) + * - getrandom 3.17 QT_CONFIG(getentropy) ++ * - statx 4.11 QT_CONFIG(statx) + */ + +-#if QT_CONFIG(getentropy) ++#if QT_CONFIG(statx) ++# define MINLINUX_MAJOR 4 ++# define MINLINUX_MINOR 11 ++# define MINLINUX_PATCH 0 ++#elif QT_CONFIG(getentropy) + # define MINLINUX_MAJOR 3 + # define MINLINUX_MINOR 17 + # define MINLINUX_PATCH 0 +diff --git x/qtbase/src/corelib/io/qfilesystemengine_unix.cpp y/qtbase/src/corelib/io/qfilesystemengine_unix.cpp +index deb4a9f220..40e8f82a80 100644 +--- x/qtbase/src/corelib/io/qfilesystemengine_unix.cpp ++++ y/qtbase/src/corelib/io/qfilesystemengine_unix.cpp +@@ -1,6 +1,6 @@ + /**************************************************************************** + ** +-** Copyright (C) 2017 Intel Corporation. ++** Copyright (C) 2018 Intel Corporation. + ** Copyright (C) 2016 The Qt Company Ltd. + ** Copyright (C) 2013 Samuel Gaist + ** Contact: https://www.qt.io/licensing/ +@@ -88,7 +88,6 @@ extern "C" NSString *NSTemporaryDirectory(); + + #if defined(Q_OS_LINUX) + # include +-# include + # include + # include + +@@ -96,28 +95,6 @@ extern "C" NSString *NSTemporaryDirectory(); + #ifndef FICLONE + # define FICLONE _IOW(0x94, 9, int) + #endif +- +-# if defined(Q_OS_ANDROID) +-// renameat2() and statx() are disabled on Android because quite a few systems +-// come with sandboxes that kill applications that make system calls outside a +-// whitelist and several Android vendors can't be bothered to update the list. +-# undef SYS_renameat2 +-# undef SYS_statx +-# undef STATX_BASIC_STATS +-# else +-# if !QT_CONFIG(renameat2) && defined(SYS_renameat2) +-static int renameat2(int oldfd, const char *oldpath, int newfd, const char *newpath, unsigned flags) +-{ return syscall(SYS_renameat2, oldfd, oldpath, newfd, newpath, flags); } +-# endif +- +-# if !QT_CONFIG(statx) && defined(SYS_statx) +-# include +-static int statx(int dirfd, const char *pathname, int flag, unsigned mask, struct statx *statxbuf) +-{ return syscall(SYS_statx, dirfd, pathname, flag, mask, statxbuf); } +-# elif !QT_CONFIG(statx) && !defined(SYS_statx) +-# undef STATX_BASIC_STATS +-# endif +-# endif // !Q_OS_ANDROID + #endif + + #ifndef STATX_ALL +@@ -331,22 +308,8 @@ mtime(const T &statBuffer, int) + #ifdef STATX_BASIC_STATS + static int qt_real_statx(int fd, const char *pathname, int flags, struct statx *statxBuffer) + { +-#ifdef Q_ATOMIC_INT8_IS_SUPPORTED +- static QBasicAtomicInteger statxTested = Q_BASIC_ATOMIC_INITIALIZER(0); +-#else +- static QBasicAtomicInt statxTested = Q_BASIC_ATOMIC_INITIALIZER(0); +-#endif +- +- if (statxTested.load() == -1) +- return -ENOSYS; +- + unsigned mask = STATX_BASIC_STATS | STATX_BTIME; + int ret = statx(fd, pathname, flags, mask, statxBuffer); +- if (ret == -1 && errno == ENOSYS) { +- statxTested.store(-1); +- return -ENOSYS; +- } +- statxTested.store(1); + return ret == -1 ? -errno : 0; + } + +@@ -1282,14 +1245,12 @@ bool QFileSystemEngine::renameFile(const QFileSystemEntry &source, const QFileSy + if (Q_UNLIKELY(srcPath.isEmpty() || tgtPath.isEmpty())) + return emptyFileEntryWarning(), false; + +-#if defined(RENAME_NOREPLACE) && (QT_CONFIG(renameat2) || defined(SYS_renameat2)) ++#if defined(RENAME_NOREPLACE) && QT_CONFIG(renameat2) + if (renameat2(AT_FDCWD, srcPath, AT_FDCWD, tgtPath, RENAME_NOREPLACE) == 0) + return true; + +- // If we're using syscall(), check for ENOSYS; +- // if renameat2 came from libc, we don't accept ENOSYS. + // We can also get EINVAL for some non-local filesystems. +- if ((QT_CONFIG(renameat2) || errno != ENOSYS) && errno != EINVAL) { ++ if (errno != EINVAL) { + error = QSystemError(errno, QSystemError::StandardLibraryError); + return false; + } +-- +2.20.1 + diff --git a/patches/qt-Work-Around-FreeBSD-v12-build.patch b/patches/qt-Work-Around-FreeBSD-v12-build.patch new file mode 100644 index 000000000..46be5b26d --- /dev/null +++ b/patches/qt-Work-Around-FreeBSD-v12-build.patch @@ -0,0 +1,30 @@ +From ec00fb42be3206956fd9ac7518018b47652f2bb8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Andr=C3=A9=20Klitzing?= +Date: Fri, 28 Dec 2018 16:12:16 +0100 +Subject: [PATCH] Work-Around FreeBSD v12 build + +https://bugreports.qt.io/browse/QTBUG-72775 + +Change-Id: Ib39e8e488c2abd0321e91acd15614085c7e2156b +--- + src/network/kernel/qnetworkinterface_unix.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git x/qtbase/src/network/kernel/qnetworkinterface_unix.cpp y/qtbase/src/network/kernel/qnetworkinterface_unix.cpp +index d69fc47667..eebca77189 100644 +--- x/qtbase/src/network/kernel/qnetworkinterface_unix.cpp ++++ y/qtbase/src/network/kernel/qnetworkinterface_unix.cpp +@@ -463,8 +463,10 @@ static QNetworkInterface::InterfaceType probeIfType(int socket, int iftype, stru + case IFM_ETHER: + return QNetworkInterface::Ethernet; + ++#ifndef Q_OS_FREEBSD + case IFM_FDDI: + return QNetworkInterface::Fddi; ++#endif + + case IFM_IEEE80211: + return QNetworkInterface::Ieee80211; +-- +2.20.1 + diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt index 5d40bc59a..27960d4f0 100644 --- a/resources/CMakeLists.txt +++ b/resources/CMakeLists.txt @@ -25,7 +25,7 @@ IF(TARGET Qt5::Qml) WRITE_QRC("${ausweisapp_qml.qrc}" "${CMAKE_CURRENT_SOURCE_DIR}/qml" "qml") LIST(APPEND QRC_FILES "${ausweisapp_qml.qrc}") - SET(QML_IMPORT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/qml CACHE string "qml files" FORCE) + SET(QML_IMPORT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/qml CACHE STRING "qml files" FORCE) ENDIF() SET(RCC ${CMAKE_BINARY_DIR}/src/${PROJECT_NAME}.rcc) diff --git a/resources/ausweisapp_mobile.qrc b/resources/ausweisapp_mobile.qrc index 94ce12bd9..6b298179e 100644 --- a/resources/ausweisapp_mobile.qrc +++ b/resources/ausweisapp_mobile.qrc @@ -29,6 +29,10 @@ images/tutorial/main_menu_where_caret.svg images/tutorial/main_menu_how_caret.svg images/tutorial/main_menu_important_caret.svg + images/tutorial/icon_box.svg + images/tutorial/icon_circle.svg + images/tutorial/icon_diamond.svg + images/tutorial/icon_star.svg images/tutorial/arrow_blue.svg images/tutorial/arrows.svg images/tutorial/button_de.png @@ -40,6 +44,7 @@ images/tutorial/thumb_up.svg images/tutorial/hand.svg images/tutorial/check.svg + images/tutorial/cross.svg images/tutorial/click.svg images/tutorial/save.svg images/tutorial/bva.svg diff --git a/resources/config.json.in b/resources/config.json.in index 3204cd6eb..a816277a5 100644 --- a/resources/config.json.in +++ b/resources/config.json.in @@ -40,7 +40,7 @@ "_comment_5": "array of certificates for checking the authenticity of updates; DER format, hex encoded", "updateCertificates": [ "3082083a30820722a003020102020900d5b6a4dc1fd8854a300d06092a864886f70d01010b05003081df310b300906035504061302444531253023060355040a0c1c542d53797374656d7320496e7465726e6174696f6e616c20476d6248311f301d060355040b0c16542d53797374656d732054727573742043656e746572311c301a06035504080c134e6f7264726865696e205765737466616c656e310e300c06035504110c0535373235303110300e06035504070c074e65747068656e3120301e06035504090c17556e7465726520496e647573747269657374722e2032303126302406035504030c1d54656c65536563205365727665725061737320436c6173732032204341301e170d3137313230313130343733325a170d3230313230363233353935395a308180310b30090603550406130244453121301f060355040a0c18476f7665726e696b757320476d6248202620436f2e204b47310b3009060355040b13025345310f300d060355040813064272656d656e310f300d060355040713064272656d656e311f301d060355040313166170706c2e676f7665726e696b75732d6173702e646530820222300d06092a864886f70d01010105000382020f003082020a0282020100c1d969514392105ce65b089b7357f75356f076b21168233d1eb57ae81f826c74258ec4814c48a3e99633fcac1fb444412cba421c1569d21b6317b6614b096203ab5b605128671764d30186dec09716d2173bfab911a9ad3d2d0b850ff2595dd9c72113bd64879c39c39b3debbfdd7f8d68e8d1bdaf2cca0508583bd59b965ec5f4950e4fbbe48b7be351237d478253bc34ac5aed9448f5ae31878067bdad75179cb776ef19f8e49e62b830de8279142233030189c20008345553847b7edc6471bf7c15c98b087159b44faa5a35fe16adc285e4d8266fab49b7b4e7fbcbd91767e05dbb45a5564cb11abcbeb0ff66869ca72dd7919eae796340fb5b26fb8ecc65b8380d3eb30e46150725e2156ad156773a79b482133b846b247868a6d3fcc18f96cfc6044fb7678fd79c04fb580b7bfb86e3252554b9a97dfd6fb9ae0e0d8d663a56b471d37752fc88a172151494553d78a39ade4669076e5ddfa13fd684b7eb800efedf9af8f90d4bab6d80378b950d43ef6de6f9ca5dccb81ecbbf820126d90923c5b87462af2acf0fc460599b2d7022e488f20069e2b3e80e057ebbd1454891929c2e0252688a1c0e801eb8bec795251087a755a6edcd22759a5c1869550d63b0596cb5ac20a7e5cb11f5412598990092cbe058b4ec67b98dd9ed2b2a5f8b7994e92b89a1ef51517beb2e2594cb8007d514f988968c52246a18945fba0adf0203010001a382035430820350301f0603551d2304183016801494c87446f53ab4464826f82bca341e5626041200300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030206082b06010505070301301d0603551d0e041604148c76a1377b9cad8059a5d4126a53bc633671ca1c305a0603551d20045330513045060a2b06010401bd470d17013037303506082b060105050702011629687474703a2f2f7777772e74656c657365632e64652f736572766572706173732f6370732e68746d6c3008060667810c010202308201030603551d1f0481fb3081f83040a03ea03c863a687474703a2f2f63726c2e736572766572706173732e74656c657365632e64652f726c2f536572766572506173735f436c6173735f322e63726c3081b3a081b0a081ad8681aa6c6461703a2f2f6c6461702e736572766572706173732e74656c657365632e64652f434e3d54656c6553656325323053657276657250617373253230436c6173732532303225323043412c4f553d542d53797374656d73253230547275737425323043656e7465722c4f3d542d53797374656d73253230496e7465726e6174696f6e616c253230476d62482c433d44453f43657274696669636174655265766f636174696f6e4c6973743082014906082b060105050701010482013b30820137303306082b060105050730018627687474703a2f2f6f6373702e736572766572706173732e74656c657365632e64652f6f63737072305206082b060105050730028646687474703a2f2f63726c2e736572766572706173732e74656c657365632e64652f6372742f54656c655365635f536572766572506173735f436c6173735f325f43412e6365723081ab06082b0601050507300286819e6c6461703a2f2f6c6461702e736572766572706173732e74656c657365632e64652f434e3d54656c6553656325323053657276657250617373253230436c6173732532303225323043412c4f553d542d53797374656d73253230547275737425323043656e7465722c4f3d542d53797374656d73253230496e7465726e6174696f6e616c253230476d62482c433d44453f63414365727469666963617465300c0603551d130101ff0402300030210603551d11041a301882166170706c2e676f7665726e696b75732d6173702e6465300d06092a864886f70d01010b050003820101006376f829a32345d2d590176bf2294d9ab6fe44e6c7db3b467bd597eebda4121d6e8795ec33de253ff9f271857c4a1ddf4b80b080464a51741a53de5137be13fc482e41b3649afbb571bfec2a894022d933ca60c691a99f31fe40209e7ca2e7fcd15d33baf8c1d20e107750cbd8628bc883af062a622f29c36574decaf97ef00471bbbe81380042ab82e46788491e4f77e58168f154d5210748263bfb8b2c3c82937436f758e1b2360c22458803a304eb90a4617bdcaa591176f4002e63dce3c9a3c7dcec83472dec70346544105118227fce63bae6a6686950846f65f30de621c1e5d6b7b20f3ce7d8ebbd95667c89123adb9efcbdd5ea1ba6e71b152bea43d3", - "308205633082044ba00302010202135100000749e339b5a8a2ecb8e8000000000749300d06092a864886f70d01010b0500304431153013060a0992268993f22c64011916056c6f63616c31153013060a0992268993f22c6401191605626f736b67311430120603550403130b676f766b67726f6f746361301e170d3136313232393039343930325a170d3138313232393039353930325a307c310b3009060355040613024445310b3009060355040813024445310f300d060355040713064272656d656e31163014060355040a130d476f7665726e696b7573204b47311c301a060355040b131353797374656d7320456e67696e656572696e6731193017060355040314102a2e74662e626f732d746573742e646530820122300d06092a864886f70d01010105000382010f003082010a0282010100c2ce4b611d136b4a99f43bd6487c323f812f00c433ed7ec3d343b93c1b064ba12ff3f950634bbba55283ea48bf91d3a6736ee17c3467918b22d9ba1d55f9b8593461b42ed54454d15577abe0ec286203c4c33a82aae8216c802f8f81f1d06473f85acbf6ba69357828030a97086aa1bc6836cae3916d2d83f24c153a05402e13828a30822e7a861395be7d7c511b84baf4bc4a5daeb3db755b37e8ffb5dd18f8ac22c018801e212ab59b96e64b85c3d418c577c33ef73cc0ba5fef68041ba39fa0b795e7b5eabfa408c36ca582572ca2adde4cd104ccad376eaa06b41e737121f349eedb063438b406bd32dc032659e9cbad809afb5679d8a7d776a916ead35b0203010001a382021430820210300e0603551d0f0101ff0404030205a030130603551d25040c300a06082b0601050507030130240603551d11041d301b82102a2e74662e626f732d746573742e646582012a87040ad2f861301d0603551d0e04160414262451b4431de1ccdb523d93038d7e01c4a3d153301f0603551d230418301680144b7e48a7b2f2db121642634bcd7e1c0deee96285303b0603551d1f043430323030a02ea02c862a687474703a2f2f676f7663726c2e676f7665726e696b75732e64652f63726c2f7265766f6b652e63726c3081eb06082b060105050701010481de3081db3081aa06082b0601050507300286819d6c6461703a2f2f2f434e3d676f766b67726f6f7463612c434e3d4149412c434e3d5075626c69632532304b657925323053657276696365732c434e3d53657276696365732c434e3d436f6e66696775726174696f6e2c44433d626f736b672c44433d6c6f63616c3f634143657274696669636174653f626173653f6f626a656374436c6173733d63657274696669636174696f6e417574686f72697479302c06082b060105050730018620687474703a2f2f676f7663726c2e676f7665726e696b75732e64652f6f637370303b06092b0601040182371507042e302c06242b060104018237150887a4920efcad6b83a98117819cb41586e9ea5a1791ff2e87b7af7c020164020109301b06092b060104018237150a040e300c300a06082b06010505070301300d06092a864886f70d01010b05000382010100a41dd5971c9b983bc3369bc9f3046481ff05aab5b47fac27a8cb7f917585b15c5acfbc8d083375a459b0642974968f4e00ad501d715dfb8a9e098437459ddcbba5a7d49f0278bd841b89fb93e86683bd89334f6b5ab556834e1fb4ec86647e812438e17512ee87b01bd0679b3abf4a67fe7272eae0c4cd9ed174d70b2728e72361cded46a42d445dfe244efb55feb1eee13f614d30237ee399b4108bc596b8aab377ad98d22c87ce4ce976ec1ceac512c33d6941b715d9fa60882b4644f9a066dcd51ff6c429af37cfa38f06444e6682d09643b2866a23a42da0ae21a787e8fe40aa2b21aa55a10aa42097c9a219528ac4968eb12cec5f223791a40d21fcce05" + "3082093a30820822a0030201020210042e5dd11e0c69cdec3882747019081c300d06092a864886f70d01010b05003081df310b300906035504061302444531253023060355040a0c1c542d53797374656d7320496e7465726e6174696f6e616c20476d6248311f301d060355040b0c16542d53797374656d732054727573742043656e746572311c301a06035504080c134e6f7264726865696e205765737466616c656e310e300c06035504110c0535373235303110300e06035504070c074e65747068656e3120301e06035504090c17556e7465726520496e647573747269657374722e2032303126302406035504030c1d54656c65536563205365727665725061737320436c6173732032204341301e170d3139303330373131343530325a170d3231303331323233353935395a3074310b30090603550406130244453121301f060355040a0c18476f7665726e696b757320476d6248202620436f2e204b47310b3009060355040b13025345310f300d060355040813064272656d656e310f300d060355040713064272656d656e3113301106035504030c0a2a2e676f766b672e646530820222300d06092a864886f70d01010105000382020f003082020a0282020100b03a180c094b52a862ef5fce194147f705d3340d79282a103a14d14fabe3d849a62df93b5f09eed3ad60e6ae5570a3823370aeeb888df9e0fc9a513be26308d783cc7cefd4ef43337e2c854b03ef399c647a19d31c39fe2b1d08c9cc27462ba5e43bc97e494ac62059496579967fa3fe8b1111e016d6dd37eda00e5617bb571cbb042e6750d17dd3acf1055b8dd6a1130214992a673bfc671e2586355378dfbb14a2910d37faa221178cb2dba0e87544ed6acbb2344ac439dbd16c05e1c0f76fa757305c0c38f3ccab420fd49603717986c8d748ce4ea2863260da6a832df53bb6247ada2431239b0a9815b89d6bb0f58a4da508695637c0b10368260cbf7dd8d469fb81d21b560a25125e9cfc8ae09a8b9e7a1cc688a8e49c045f1dc397a7c28e637b11c5205d8375ccfb627b071a813665de2fe172de97671dfecce44d9545a6f083cff4c7e2df4780b9073b19ca93b97561ca0c9bc5687ec0a1de993b199eca2576e820f26ce043fbab092f6e0bbc510b14d4b2489733e28cd38f40928cce16f4f3b6bba6277cff19312ad5771507ae729b6c083924c53d1c1fc33e370af1a0060307b3ef83880886334133c2e645bbf7f14a26acbce1609daceac1ed8d5d2bff8d8ed095a7af79f608134256f1e4a34650225595dd9fa5746448417d7a2f8f0c5ef001b5e4780e6d8caf818b314fb708447f70f3844d39a7ff437ebbf6a70203010001a382045a30820456301f0603551d2304183016801494c87446f53ab4464826f82bca341e5626041200300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030206082b06010505070301301d0603551d0e04160414db05538bd26c0bea1bcb5cde439b81e6ab8aa40b305a0603551d20045330513045060a2b06010401bd470d17013037303506082b060105050702011629687474703a2f2f7777772e74656c657365632e64652f736572766572706173732f6370732e68746d6c3008060667810c010202304b0603551d1f044430423040a03ea03c863a687474703a2f2f63726c2e736572766572706173732e74656c657365632e64652f726c2f536572766572506173735f436c6173735f322e63726c30819906082b0601050507010104818c308189303306082b060105050730018627687474703a2f2f6f6373702e736572766572706173732e74656c657365632e64652f6f63737072305206082b060105050730028646687474703a2f2f63726c2e736572766572706173732e74656c657365632e64652f6372742f54656c655365635f536572766572506173735f436c6173735f325f43412e636572300c0603551d130101ff04023000301f0603551d1104183016820a2a2e676f766b672e64658208676f766b672e64653082026f060a2b06010401d6790204020482025f0482025b02590076006f5376ac31f03119d89900a45115ff77151c11d902c10029068db2089a37d9130000016957f896900000040300473045022046b42ef57f79c932690c6558eb52f354b8e4f5c49c7dc50616a351dbbe823785022100957c17a3f70a7ee20a920a29bb123e186b425a4c0c4dbd5372ab5163abe88284007600ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb0000016957f89686000004030047304502210085921f55932ee2b42b7b6cd1b9627f9d376485024210f8f4358d60ebc25b6d6d022069f72703fc8d7added3f8cc041aee457d011e22425ecdfbebcfd1b312c0ad6220077005581d4c2169036014aea0b9b573c53f0c0e43878702508172fa3aa1d0713d30c0000016957f897e400000403004830460221009c4b1fdcfde4bacba79665a77da038ab42399578dbc80c9ce21ab5054217edf2022100d23970d124e0f1ee384f6cc2e53d76df6069190dc91b9be5be24219898081ad9007600a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc100000016957f8968c000004030047304502210099ca67064864c67ab92b4f13c11fd8be58453585f80e4e3d9a1d18a191aba1670220603bc43ad9700dd891e1bb135b2cd0fad041a6f63bed0d9c778a3e96d6082f33007600bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed1850000016957f896870000040300473045022100e6810cf7ec2ee244d5ae516246973f46c7710bf075c923b21451abc6622b9dee02202ccd410f907ba8176bcb12198f1b0821cf95a550e2486a0292cadca7a670dac2300d06092a864886f70d01010b05000382010100103ab77dff430d59dcd9d5c94b9c2ea44d829d0a70777c42a137ea627eca87881ce9131f00ea7282f7fe7cd7ac8f154f84622023183aac3f02ce4a5925cfb771961e114b78cec3950c0a4aa7726c01ba69c60cf3a4c68ea63e92f8dd0bf2f1e033bb91c536df9945ba281abae1bde75f920f94df2fa2c2ff708a57291114889e374eb9c8f7da0bb8a0d19bda964b3ac32e174cbb9d956c9693f0a6326a80d7019cbc8e54949981d5bf231f85c6ff5be5bc0fcaeb637bf84a8be424ebe2cefdef4c89d2a4682efda5c8010e432977d26e6f30e7e9ed13f612fea99dbd9799e6460ca780a109ff3dc7a86887479832baac8589aebeadf50759077aadfd2d467d06" ], "tlsSettings": { diff --git a/resources/images/tutorial/cross.svg b/resources/images/tutorial/cross.svg new file mode 100644 index 000000000..2645c4804 --- /dev/null +++ b/resources/images/tutorial/cross.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/resources/images/tutorial/icon_box.svg b/resources/images/tutorial/icon_box.svg new file mode 100644 index 000000000..df5e08865 --- /dev/null +++ b/resources/images/tutorial/icon_box.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/images/tutorial/icon_circle.svg b/resources/images/tutorial/icon_circle.svg new file mode 100644 index 000000000..3aa6a1679 --- /dev/null +++ b/resources/images/tutorial/icon_circle.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/images/tutorial/icon_diamond.svg b/resources/images/tutorial/icon_diamond.svg new file mode 100644 index 000000000..f31b1194c --- /dev/null +++ b/resources/images/tutorial/icon_diamond.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/images/tutorial/icon_star.svg b/resources/images/tutorial/icon_star.svg new file mode 100644 index 000000000..ed3464a6a --- /dev/null +++ b/resources/images/tutorial/icon_star.svg @@ -0,0 +1,4 @@ + + + + diff --git a/resources/jenkins/docker/alpine/Dockerfile b/resources/jenkins/docker/alpine/Dockerfile index f56eb3a30..6e05d8408 100644 --- a/resources/jenkins/docker/alpine/Dockerfile +++ b/resources/jenkins/docker/alpine/Dockerfile @@ -1,7 +1,7 @@ FROM scratch MAINTAINER Governikus KG -ARG version="3.8.0" +ARG version="3.9.0" ARG arch="x86_64" ADD alpine-minirootfs-$version-$arch.tar.gz / diff --git a/resources/jenkins/docker/android/Dockerfile b/resources/jenkins/docker/android/Dockerfile index 94c166f62..495a2064f 100644 --- a/resources/jenkins/docker/android/Dockerfile +++ b/resources/jenkins/docker/android/Dockerfile @@ -7,7 +7,7 @@ RUN echo "[multilib]" >> /etc/pacman.conf && echo 'Include = /etc/pacman.d/mirro RUN chown -R governikus: /var/cache/pacman/pkg/ -ARG JENKINS_SWARM_VERSION=3.13 +ARG JENKINS_SWARM_VERSION=3.15 ARG TINI_VERSION=0.18.0 RUN curl -L -o /sbin/tini https://github.com/krallin/tini/releases/download/v$TINI_VERSION/tini-static-muslc-amd64 && chmod 755 /sbin/tini && \ curl -L -o /swarm-client.jar https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/$JENKINS_SWARM_VERSION/swarm-client-$JENKINS_SWARM_VERSION.jar diff --git a/resources/jenkins/docker/common/Dockerfile b/resources/jenkins/docker/common/Dockerfile index 874fc2794..cfac9fa49 100644 --- a/resources/jenkins/docker/common/Dockerfile +++ b/resources/jenkins/docker/common/Dockerfile @@ -3,7 +3,7 @@ MAINTAINER Governikus KG ENV NAME=Common LABELS=Common -RUN apk --no-cache add cmake make uncrustify py2-pip && pip install python-hglib && apk del py2-pip +RUN apk --no-cache add cmake make uncrustify USER governikus diff --git a/resources/jenkins/docker/docs/Dockerfile b/resources/jenkins/docker/docs/Dockerfile index 3f1f84cfe..5b21207fc 100644 --- a/resources/jenkins/docker/docs/Dockerfile +++ b/resources/jenkins/docker/docs/Dockerfile @@ -3,7 +3,7 @@ MAINTAINER Governikus KG ENV NAME=Docs LABELS=Docs -RUN apk --no-cache add cmake make py2-sphinx py2-setuptools py2-pip py2-hglib icu-libs poppler zziplib texlive-full && \ +RUN apk --no-cache add cmake make py2-sphinx py2-setuptools py2-pip icu-libs poppler zziplib texlive-full && \ pip install doc8 cloud_sptheme USER governikus diff --git a/resources/jenkins/docker/generate.sh b/resources/jenkins/docker/generate.sh index a5648f021..ba380491e 100755 --- a/resources/jenkins/docker/generate.sh +++ b/resources/jenkins/docker/generate.sh @@ -16,21 +16,3 @@ do docker build -t alpine:$i . done - - -################### Arch -cd ../arch -ls archlinux-bootstrap-*.tar.gz >/dev/null -ls busybox* >/dev/null - -echo "Building base Arch ..." -docker build -t arch:latest . -cd .. - -images=(android) -for i in "${images[@]}" -do - echo "Building $i ..." - docker build -t arch:$i -f $i/Dockerfile . -done - diff --git a/resources/jenkins/docker/linux/Dockerfile b/resources/jenkins/docker/linux/Dockerfile index 12b965090..98b209846 100644 --- a/resources/jenkins/docker/linux/Dockerfile +++ b/resources/jenkins/docker/linux/Dockerfile @@ -1,13 +1,13 @@ FROM alpine:swarm MAINTAINER Governikus KG -ENV NAME=Linux LABELS="Linux g++ clang++" +ENV NAME=Linux LABELS="Linux g++ clang++" PACKAGES_DIR=/home/governikus/packages -RUN apk --no-cache add cmake make g++ clang clang-analyzer mercurial ccache gcovr cloc cppcheck pkgconf ninja pcsc-lite-dev binutils-gold \ +RUN apk --no-cache add cmake make g++ clang clang-analyzer ccache cloc cppcheck pkgconf ninja pcsc-lite-dev binutils-gold \ mesa-dev libx11-dev libxkbcommon-dev xcb-util-wm-dev xcb-util-image-dev xcb-util-keysyms-dev \ py2-pip && \ ln -s /usr/libexec/c++-analyzer /usr/local/bin && ln -s /usr/libexec/ccc-analyzer /usr/local/bin && \ - pip install python-hglib && apk del py2-pip + pip install gcovr && apk del py2-pip USER governikus RUN mkdir -p /home/governikus/.ccache && mkdir -p /home/governikus/workspace && mkdir -p /home/governikus/packages diff --git a/resources/jenkins/docker/swarm/Dockerfile b/resources/jenkins/docker/swarm/Dockerfile index 7d63141fe..185e19c54 100644 --- a/resources/jenkins/docker/swarm/Dockerfile +++ b/resources/jenkins/docker/swarm/Dockerfile @@ -1,11 +1,11 @@ FROM alpine:latest MAINTAINER Governikus KG -ARG JENKINS_SWARM_VERSION=3.13 +ARG JENKINS_SWARM_VERSION=3.15 ENV EXECUTOR=3 LABELS= NAME= PASSWORD= RUN adduser governikus -s /bin/sh -D -RUN apk --no-cache add openjdk8-jre tini mercurial wget +RUN apk --no-cache add openjdk8-jre tini mercurial py2-hglib wget RUN wget -O /swarm-client.jar https://repo.jenkins-ci.org/releases/org/jenkins-ci/plugins/swarm-client/$JENKINS_SWARM_VERSION/swarm-client-$JENKINS_SWARM_VERSION.jar ADD swarm.sh / diff --git a/resources/jenkins/docker/swarm/swarm.sh b/resources/jenkins/docker/swarm/swarm.sh index 24afd168d..4a7ac1c00 100755 --- a/resources/jenkins/docker/swarm/swarm.sh +++ b/resources/jenkins/docker/swarm/swarm.sh @@ -5,9 +5,9 @@ name=${NAME:-undefined} executor=${EXECUTOR:-1} labels=${LABELS:-undefined} mode=${MODE:-exclusive} -master=${MASTER:-https://vtf-aajenkins.tf.bos-test.de/} -user=${USER:-aajenkins} -fingerprints=${FINGERPRINTS:-68:21:59:5C:C0:B0:1F:78:FF:23:DE:D4:D8:05:0F:74:38:B2:A5:A4:F2:1B:5B:A7:AA:81:2A:A1:46:A8:EB:3A} +master=${MASTER:-https://ausweisapp-ci.govkg.de/} +user=${USER:-jenkins-swarm} +fingerprints=${FINGERPRINTS:-74:8C:AE:1C:05:99:95:04:66:CC:B1:27:6F:2B:59:E7:1E:64:47:45:D3:C1:E8:5B:E6:E5:1F:BD:98:97:18:FB} /usr/bin/java \ -jar /swarm-client.jar \ diff --git a/resources/jenkins/dsl/Builds/Build_Android.groovy b/resources/jenkins/dsl/Builds/Build_Android.groovy index 8bd5a0273..8a4faabfb 100644 --- a/resources/jenkins/dsl/Builds/Build_Android.groovy +++ b/resources/jenkins/dsl/Builds/Build_Android.groovy @@ -40,6 +40,11 @@ j.with publishers { androidLint('build/dist/build/outputs/lint-results-*.xml') + { + thresholds( + unstableTotal: [all: 14] + ) + } } } @@ -88,6 +93,11 @@ j.with publishers { androidLint('build/dist/build/outputs/lint-results-*.xml') + { + thresholds( + unstableTotal: [all: 12] + ) + } } } diff --git a/resources/jenkins/dsl/Builds/Build_Linux.groovy b/resources/jenkins/dsl/Builds/Build_Linux.groovy index 174295da2..1cc343846 100644 --- a/resources/jenkins/dsl/Builds/Build_Linux.groovy +++ b/resources/jenkins/dsl/Builds/Build_Linux.groovy @@ -33,13 +33,11 @@ j.with ''')) shell('''\ - export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH cd build; make ${MAKE_FLAGS} '''.stripIndent().trim()) shell('''\ export QML2_IMPORT_PATH=$WORKSPACE/libs/build/dist/qml - export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH export ASAN_OPTIONS=detect_leaks=0,new_delete_type_mismatch=0 cd build; ctest --output-on-failure ${MAKE_FLAGS} '''.stripIndent().trim()) diff --git a/resources/jenkins/dsl/Builds/Build_Win32_MSVC.groovy b/resources/jenkins/dsl/Builds/Build_Win32_MSVC.groovy index 138c73966..0c946944b 100644 --- a/resources/jenkins/dsl/Builds/Build_Win32_MSVC.groovy +++ b/resources/jenkins/dsl/Builds/Build_Win32_MSVC.groovy @@ -15,13 +15,13 @@ j.with { batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake ../source -DCMAKE_CXX_COMPILER=clcache -DCMAKE_PREFIX_PATH=%WORKSPACE%/libs/build/dist -GNinja '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 ninja %MAKE_FLAGS% '''.stripIndent().trim()) diff --git a/resources/jenkins/dsl/Builds/Build_Win32_MSVC_MSI.groovy b/resources/jenkins/dsl/Builds/Build_Win32_MSVC_MSI.groovy index 8ea38a303..f2e908229 100644 --- a/resources/jenkins/dsl/Builds/Build_Win32_MSVC_MSI.groovy +++ b/resources/jenkins/dsl/Builds/Build_Win32_MSVC_MSI.groovy @@ -16,19 +16,19 @@ j.with { batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake ../source -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_CXX_COMPILER=clcache -DCMAKE_PREFIX_PATH=%WORKSPACE%/libs/build/dist -GNinja -DWIN_SIGN_KEYSTORE=%WIN_SIGN_KEYSTORE% -DWIN_SIGN_KEYSTORE_PSW=%WIN_SIGN_KEYSTORE_PSW% -DWIN_SIGN_SUBJECT_NAME=%WIN_SIGN_SUBJECT_NAME% '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 ninja %MAKE_FLAGS% package '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 ninja package.sign '''.stripIndent().trim()) } diff --git a/resources/jenkins/dsl/Libraries/Libs_FreeBSD.groovy b/resources/jenkins/dsl/Libraries/Libs_FreeBSD.groovy index 1d4e07954..0f41f9caa 100644 --- a/resources/jenkins/dsl/Libraries/Libs_FreeBSD.groovy +++ b/resources/jenkins/dsl/Libraries/Libs_FreeBSD.groovy @@ -11,7 +11,7 @@ j.with { steps { - shell("cd build; cmake ../source/libs -DCMAKE_BUILD_TYPE=release -DPACKAGES_DIR=\${PACKAGES_DIR}") + shell("cd build; cmake ../source/libs -DCMAKE_BUILD_TYPE=debug -DPACKAGES_DIR=\${PACKAGES_DIR}") shell('cd build; make compress') } diff --git a/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC.groovy b/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC.groovy index bb5309590..10282b89c 100644 --- a/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC.groovy +++ b/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC.groovy @@ -13,13 +13,13 @@ j.with { batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake ../source/libs -DCMAKE_BUILD_TYPE=release -DPACKAGES_DIR=%PACKAGES_DIR% -G"NMake Makefiles" -DWIN_SIGN_KEYSTORE=%WIN_SIGN_KEYSTORE% -DWIN_SIGN_KEYSTORE_PSW=%WIN_SIGN_KEYSTORE_PSW% -DWIN_SIGN_SUBJECT_NAME=%WIN_SIGN_SUBJECT_NAME% '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 nmake compress '''.stripIndent().trim()) } diff --git a/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC_dev.groovy b/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC_dev.groovy index 5bdf1c89a..509611a45 100644 --- a/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC_dev.groovy +++ b/resources/jenkins/dsl/Libraries/Libs_Win32_MSVC_dev.groovy @@ -13,13 +13,13 @@ j.with { batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake ../source/libs -DPACKAGES_DIR=%PACKAGES_DIR% -G"NMake Makefiles" -DWIN_SIGN_KEYSTORE=%WIN_SIGN_KEYSTORE% -DWIN_SIGN_KEYSTORE_PSW=%WIN_SIGN_KEYSTORE_PSW% -DWIN_SIGN_SUBJECT_NAME=%WIN_SIGN_SUBJECT_NAME% '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 nmake compress '''.stripIndent().trim()) } diff --git a/resources/jenkins/dsl/Reviews/Review_Android.groovy b/resources/jenkins/dsl/Reviews/Review_Android.groovy index 0011f3266..5c0fd488a 100644 --- a/resources/jenkins/dsl/Reviews/Review_Android.groovy +++ b/resources/jenkins/dsl/Reviews/Review_Android.groovy @@ -39,6 +39,11 @@ j.with publishers { androidLint('build/dist/build/outputs/lint-results-*.xml') + { + thresholds( + unstableTotal: [all: 14] + ) + } } } @@ -94,6 +99,11 @@ j.with publishers { androidLint('build/dist/build/outputs/lint-results-*.xml') + { + thresholds( + unstableTotal: [all: 12] + ) + } } } diff --git a/resources/jenkins/dsl/Reviews/Review_FreeBSD.groovy b/resources/jenkins/dsl/Reviews/Review_FreeBSD.groovy index b87c995cc..a4f2906d3 100644 --- a/resources/jenkins/dsl/Reviews/Review_FreeBSD.groovy +++ b/resources/jenkins/dsl/Reviews/Review_FreeBSD.groovy @@ -6,7 +6,7 @@ def j = new Review name: 'FreeBSD', libraries: ['FreeBSD'], label: 'FreeBSD', - artifacts: 'tmp/AusweisApp2.*.log', + artifacts: 'tmp/*.log', allowEmptyArtifacts: true, xunit: true, ).generate(this) diff --git a/resources/jenkins/dsl/Reviews/Review_Libs_Win32_MSVC.groovy b/resources/jenkins/dsl/Reviews/Review_Libs_Win32_MSVC.groovy index 5ab33ef00..1df369791 100644 --- a/resources/jenkins/dsl/Reviews/Review_Libs_Win32_MSVC.groovy +++ b/resources/jenkins/dsl/Reviews/Review_Libs_Win32_MSVC.groovy @@ -15,13 +15,13 @@ j.with batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake ../source/libs -DCMAKE_BUILD_TYPE=release -DPACKAGES_DIR=%PACKAGES_DIR% -G"NMake Makefiles" -DWIN_SIGN_KEYSTORE=%WIN_SIGN_KEYSTORE% -DWIN_SIGN_KEYSTORE_PSW=%WIN_SIGN_KEYSTORE_PSW% -DWIN_SIGN_SUBJECT_NAME=%WIN_SIGN_SUBJECT_NAME% '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 nmake compress '''.stripIndent().trim()) } diff --git a/resources/jenkins/dsl/Reviews/Review_Linux.groovy b/resources/jenkins/dsl/Reviews/Review_Linux.groovy index 4c16f547e..f31510079 100644 --- a/resources/jenkins/dsl/Reviews/Review_Linux.groovy +++ b/resources/jenkins/dsl/Reviews/Review_Linux.groovy @@ -7,7 +7,7 @@ def j = new Review name: 'Linux', libraries: ['Linux'], label: 'Linux', - artifacts: 'tmp/AusweisApp2.*.log', + artifacts: 'tmp/*.log', allowEmptyArtifacts: true, xunit: true, jobType: JobType.Matrix @@ -44,13 +44,11 @@ j.with ''')) shell('''\ - export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH cd build; make ${MAKE_FLAGS} '''.stripIndent().trim()) shell('''\ export QML2_IMPORT_PATH=${WORKSPACE}/libs/build/dist/qml - export LD_LIBRARY_PATH=$WORKSPACE/libs/build/dist/lib:$LD_LIBRARY_PATH export ASAN_OPTIONS=detect_leaks=0,new_delete_type_mismatch=0 cd build; ctest --output-on-failure ${MAKE_FLAGS} '''.stripIndent().trim()) diff --git a/resources/jenkins/dsl/Reviews/Review_MacOS.groovy b/resources/jenkins/dsl/Reviews/Review_MacOS.groovy index 9ee6f1956..92cb14398 100644 --- a/resources/jenkins/dsl/Reviews/Review_MacOS.groovy +++ b/resources/jenkins/dsl/Reviews/Review_MacOS.groovy @@ -6,7 +6,7 @@ def j = new Review name: 'MacOS', libraries: ['MacOS'], label: 'MacOS', - artifacts: 'tmp/AusweisApp2.*.log', + artifacts: 'tmp/*.log', allowEmptyArtifacts: true, xunit: true ).generate(this) diff --git a/resources/jenkins/dsl/Reviews/Review_Win32_GNU.groovy b/resources/jenkins/dsl/Reviews/Review_Win32_GNU.groovy index 27034f0e7..0f2ca380e 100644 --- a/resources/jenkins/dsl/Reviews/Review_Win32_GNU.groovy +++ b/resources/jenkins/dsl/Reviews/Review_Win32_GNU.groovy @@ -6,7 +6,7 @@ def j = new Review name: 'Win32_GNU', libraries: ['Win32_GNU'], label: 'Windows', - artifacts: 'tmp/AusweisApp2.*.log', + artifacts: 'tmp/*.log', allowEmptyArtifacts: true, xunit: true ).generate(this) diff --git a/resources/jenkins/dsl/Reviews/Review_Win32_MSVC.groovy b/resources/jenkins/dsl/Reviews/Review_Win32_MSVC.groovy index e114d9108..137ef583b 100644 --- a/resources/jenkins/dsl/Reviews/Review_Win32_MSVC.groovy +++ b/resources/jenkins/dsl/Reviews/Review_Win32_MSVC.groovy @@ -5,7 +5,7 @@ def j = new Review name: 'Win32_MSVC', libraries: ['Win32_MSVC_dev'], label: 'MSVC', - artifacts: 'tmp/AusweisApp2.*.log', + artifacts: 'tmp/*.log', allowEmptyArtifacts: true, xunit: true ).generate(this) @@ -19,13 +19,13 @@ j.with batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake -Werror=dev ../source -DCMAKE_CXX_COMPILER=clcache -DCMAKE_PREFIX_PATH=%WORKSPACE%/libs/build/dist -GNinja '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 ninja %MAKE_FLAGS% '''.stripIndent().trim()) diff --git a/resources/jenkins/dsl/Reviews/Review_Win32_MSVC_MSI.groovy b/resources/jenkins/dsl/Reviews/Review_Win32_MSVC_MSI.groovy index 389fb37d1..fb03f3a28 100644 --- a/resources/jenkins/dsl/Reviews/Review_Win32_MSVC_MSI.groovy +++ b/resources/jenkins/dsl/Reviews/Review_Win32_MSVC_MSI.groovy @@ -17,19 +17,19 @@ j.with batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 cmake -Werror=dev ../source -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_CXX_COMPILER=clcache -DCMAKE_PREFIX_PATH=%WORKSPACE%/libs/build/dist -GNinja -DWIN_SIGN_KEYSTORE=%WIN_SIGN_KEYSTORE% -DWIN_SIGN_KEYSTORE_PSW=%WIN_SIGN_KEYSTORE_PSW% -DWIN_SIGN_SUBJECT_NAME=%WIN_SIGN_SUBJECT_NAME% '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 ninja %MAKE_FLAGS% package '''.stripIndent().trim()) batchFile('''\ cd build - call vcvarsall.bat + call vcvarsall.bat x86 ninja package.sign '''.stripIndent().trim()) } diff --git a/resources/packaging/android/AndroidManifest.xml.apk.in b/resources/packaging/android/AndroidManifest.xml.apk.in index f6dae6227..9e19b92bf 100644 --- a/resources/packaging/android/AndroidManifest.xml.apk.in +++ b/resources/packaging/android/AndroidManifest.xml.apk.in @@ -3,6 +3,12 @@ + + + + + + + diff --git a/resources/packaging/macos/Info.plist b/resources/packaging/macos/Info.plist index 0d5b22260..d09236001 100644 --- a/resources/packaging/macos/Info.plist +++ b/resources/packaging/macos/Info.plist @@ -24,9 +24,9 @@ CFBundlePackageType APPL CFBundleVersion - @VERSION@ + @PROJECT_VERSION@ CFBundleShortVersionString - @VERSION@ + @PROJECT_VERSION@ CFBundleSignature aaii NSHumanReadableCopyright diff --git a/resources/packaging/win/WIX.Texts.de-DE.wxl b/resources/packaging/win/WIX.Texts.de-DE.wxl index 16976e242..5d8271f8f 100644 --- a/resources/packaging/win/WIX.Texts.de-DE.wxl +++ b/resources/packaging/win/WIX.Texts.de-DE.wxl @@ -48,6 +48,6 @@ Installationsoptionen Verknüpfung auf dem Desktop anlegen - Die [ProductName] im System registrieren (Firewall- und Browser-Einstellungen vornehmen) + Notwendige Regeln zur Windows-Firewall hinzufügen Starten der AusweisApp2 diff --git a/resources/packaging/win/WIX.Texts.en-US.wxl b/resources/packaging/win/WIX.Texts.en-US.wxl index 167f3f7f8..7b8dfcaca 100644 --- a/resources/packaging/win/WIX.Texts.en-US.wxl +++ b/resources/packaging/win/WIX.Texts.en-US.wxl @@ -8,6 +8,6 @@ Installation options Create link on desktop - Register the [ProductName] in the system (Firewall and Browser settings) + Add required rules to Windows Firewall Start AusweisApp diff --git a/resources/packaging/win/WIX.template.in b/resources/packaging/win/WIX.template.in index 8694e24ca..84c9f5da1 100644 --- a/resources/packaging/win/WIX.template.in +++ b/resources/packaging/win/WIX.template.in @@ -29,6 +29,7 @@ diff --git a/resources/qml/+mobile/main.qml b/resources/qml/+mobile/main.qml index c062caec5..766513374 100644 --- a/resources/qml/+mobile/main.qml +++ b/resources/qml/+mobile/main.qml @@ -52,6 +52,15 @@ ApplicationWindow { anchors.top: parent.top anchors.right: parent.right anchors.bottom: Constants.bottomNavigation ? navBar.top : parent.bottom + + onReadyChanged: { + splashScreen.hide() + if (!ApplicationModel.currentWorkflow && !settingsModel.showTutorialOnStart) { + navBar.lockedAndHidden = false + } + + feedback.showIfNecessary() + } } Navigation { @@ -106,8 +115,7 @@ ApplicationWindow { x: (appWindow.width - width) / 2 y: (appWindow.height - height) / 2 - property alias ready: contentArea.ready - onReadyChanged: { + function showIfNecessary() { if (ApplicationModel.areStoreFeedbackDialogConditionsMet()) { ApplicationModel.hideFutureStoreFeedbackDialogs() feedback.open() @@ -115,16 +123,14 @@ ApplicationWindow { } } + Connections { + target: plugin + enabled: contentArea.ready + onFireApplicationActivated: feedback.showIfNecessary() + } + SplashScreen { id: splashScreen color: appWindow.color - - property alias ready: contentArea.ready - onReadyChanged: { - splashScreen.hide() - if (!ApplicationModel.currentWorkflow && !settingsModel.showTutorialOnStart) { - navBar.lockedAndHidden = false - } - } } } diff --git a/resources/qml/Governikus/EnterPinView/EnterPinView.qml b/resources/qml/Governikus/EnterPinView/EnterPinView.qml index ca037d611..1dde17b54 100644 --- a/resources/qml/Governikus/EnterPinView/EnterPinView.qml +++ b/resources/qml/Governikus/EnterPinView/EnterPinView.qml @@ -10,7 +10,6 @@ import Governikus.Type.NumberModel 1.0 SectionPage { id: baseItem - property string remoteDeviceId: "" property alias enableTransportPinLink: transportPinLink.enableTransportPinLink signal pinEntered() signal changePinLength() @@ -163,7 +162,7 @@ SectionPage baseItem.pinEntered() break case "REMOTE_PIN": - RemoteServiceModel.connectToServer(remoteDeviceId, pinField.text) + RemoteServiceModel.connectToRememberedServer(pinField.text) baseItem.pinEntered() break } diff --git a/resources/qml/Governikus/FeedbackView/+mobile/Feedback.qml b/resources/qml/Governikus/FeedbackView/+mobile/Feedback.qml index 7f01216d4..9fc14b865 100644 --- a/resources/qml/Governikus/FeedbackView/+mobile/Feedback.qml +++ b/resources/qml/Governikus/FeedbackView/+mobile/Feedback.qml @@ -71,7 +71,7 @@ SectionPage { Loader { readonly property string titleText: qsTr("FAQ") + settingsModel.translationTrigger readonly property string descriptionText: qsTr("Do you have questions how to use AusweisApp2?") + settingsModel.translationTrigger - function onClickFunction() { Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/questions-and-answers/frequently-asked-questions/")) } + function onClickFunction() { Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/qa/frequently-asked-questions/")) } width: parent.width sourceComponent: subMenu } @@ -79,7 +79,7 @@ SectionPage { Loader { readonly property string titleText: qsTr("Support") + settingsModel.translationTrigger readonly property string descriptionText: qsTr("You need further help?") + settingsModel.translationTrigger - function onClickFunction() { Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/questions-and-answers/support/")) } + function onClickFunction() { Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/qa/support/")) } width: parent.width sourceComponent: subMenu } diff --git a/resources/qml/Governikus/Global/+mobile/+android/GButton.qml b/resources/qml/Governikus/Global/+mobile/+android/GButton.qml index 623729878..9784afbb1 100644 --- a/resources/qml/Governikus/Global/+mobile/+android/GButton.qml +++ b/resources/qml/Governikus/Global/+mobile/+android/GButton.qml @@ -8,10 +8,12 @@ import "Utils.js" as Utils * Android style guide for material design is adapted. */ Item { + id: baseItem property alias text: textItem.text property color buttonColor: Constants.blue property int maxWidth: 0 property alias iconSource: icon.source + property bool animationsDisabled: false signal clicked @@ -20,11 +22,11 @@ Item { state: "normal" states: [ - State { name: "normal"; when: !mouseArea.pressed + State { name: "normal"; when: baseItem.animationsDisabled || !mouseArea.pressed PropertyChanges { target: darkLayer; width: 0 } PropertyChanges { target: shadow; verticalOffset: Utils.dp(2) } }, - State { name: "pressed"; when: mouseArea.pressed + State { name: "pressed"; when: !baseItem.animationsDisabled && mouseArea.pressed PropertyChanges { target: darkLayer; width: 2 * rect.width } PropertyChanges { target: shadow; verticalOffset: Utils.dp(8) } } diff --git a/resources/qml/Governikus/Global/+mobile/+ios/GButton.qml b/resources/qml/Governikus/Global/+mobile/+ios/GButton.qml index 9ac38bb1c..c484da6de 100644 --- a/resources/qml/Governikus/Global/+mobile/+ios/GButton.qml +++ b/resources/qml/Governikus/Global/+mobile/+ios/GButton.qml @@ -9,8 +9,9 @@ Rectangle { property alias text: textItem.text property color buttonColor : Constants.blue property int maxWidth: 0 - property int preferedWidth: parent.width - 4 * Constants.component_spacing + property int preferedWidth: Math.max(textItem.implicitWidth + (icon.visible ? (icon.width + icon.anchors.leftMargin) : 0) + (2 * Utils.dp(16)), Utils.dp(88)) property alias iconSource: icon.source + property bool animationsDisabled: false signal clicked @@ -31,11 +32,15 @@ Rectangle { Text { id: textItem - anchors.centerIn: parent + anchors.left: rect.left + anchors.right: rect.right + anchors.verticalCenter: rect.verticalCenter color: enabled ? "white" : "#40000000" + horizontalAlignment: Text.AlignHCenter opacity: mouseArea.containsMouse ? 0.5 : 1 anchors.leftMargin: icon.visible ? icon.width + icon.anchors.leftMargin : 0 font.pixelSize: Utils.dp(16) + font.bold: true } MouseArea{ @@ -50,7 +55,7 @@ Rectangle { x: mouseArea.mouseX - width * 0.5 height: parent.height width: height * 2 - visible: mouseArea.pressed + visible: !rect.animationsDisabled && mouseArea.pressed opacity: 1 gradient: Gradient { GradientStop { position: 0.0; color: Qt.rgba(255,255,255,1) } diff --git a/resources/qml/Governikus/IdentifyView/+mobile/IdentifyController.qml b/resources/qml/Governikus/IdentifyView/+mobile/IdentifyController.qml index 892f6efbc..15c875fea 100644 --- a/resources/qml/Governikus/IdentifyView/+mobile/IdentifyController.qml +++ b/resources/qml/Governikus/IdentifyView/+mobile/IdentifyController.qml @@ -173,7 +173,7 @@ Item { break case "FinalState": navBar.lockedAndHidden = true - if (AuthModel.error) { + if (AuthModel.error && !AuthModel.hasNextWorkflowPending) { showRemoveCardFeedback() firePush(identifyResult) } else { diff --git a/resources/qml/Governikus/IdentifyView/+mobile/IdentifyView.qml b/resources/qml/Governikus/IdentifyView/+mobile/IdentifyView.qml index 9fc8d2b74..058934ab5 100644 --- a/resources/qml/Governikus/IdentifyView/+mobile/IdentifyView.qml +++ b/resources/qml/Governikus/IdentifyView/+mobile/IdentifyView.qml @@ -103,7 +103,7 @@ SectionPage EnterPinView { id: enterPinView - leftTitleBarAction: TitleBarAction { state: "cancel"; onClicked: AuthModel.cancelWorkflow() } + leftTitleBarAction: TitleBarAction { state: "cancel"; onClicked: { firePop(); AuthModel.cancelWorkflow() } } headerTitleBarAction: TitleBarAction { text: qsTr("Identify") + settingsModel.translationTrigger } visible: false @@ -113,7 +113,7 @@ SectionPage } onChangePinLength: { - firePush(changeToTransportPinView) + fireReplace(changeToTransportPinView) } } @@ -174,12 +174,14 @@ SectionPage ResultView { id: changeToTransportPinView - leftTitleBarAction: TitleBarAction { state: "back"; onClicked: firePop() } + leftTitleBarAction: TitleBarAction { state: "back"; onClicked: fireReplace(enterPinView) } headerTitleBarAction: TitleBarAction { text: qsTr("Change transport PIN") + settingsModel.translationTrigger; font.bold: true } resultType: ResultView.Type.IsInfo buttonText: qsTr("Change PIN") + settingsModel.translationTrigger - text: qsTr("You leave the process and are forwarded to the PIN management. Please restart the desired process after the PIN has been changed.") + settingsModel.translationTrigger + text: qsTr("You have to change your transport PIN into a personal PIN to use the online ID function. You are currently leaving the started process and are forwarded to the PIN management. Please restart the desired process after the PIN has been changed.") + settingsModel.translationTrigger onClicked: { + firePop() + AuthModel.setSkipRedirect(true) ChangePinModel.startWorkflow() AuthModel.cancelWorkflowToChangePin() } diff --git a/resources/qml/Governikus/MainView/+mobile/MainView.qml b/resources/qml/Governikus/MainView/+mobile/MainView.qml index 1a0e99926..88c64e479 100644 --- a/resources/qml/Governikus/MainView/+mobile/MainView.qml +++ b/resources/qml/Governikus/MainView/+mobile/MainView.qml @@ -4,10 +4,35 @@ import Governikus.Global 1.0 import Governikus.TitleBar 1.0 import Governikus.Type.ApplicationModel 1.0 - Item { id: baseItem + QtObject { + id: d + + property int testPkiCounter: 0 + + function toggleTestPki() { + d.testPkiCounter += 1 + switch (d.testPkiCounter) { + case 7: + case 8: + case 9: + qmlExtension.showFeedback(10-d.testPkiCounter + qsTr(" more presses to toggle test PKI.") + settingsModel.translationTrigger) + break; + case 10: + settingsModel.useSelfauthenticationTestUri = !settingsModel.useSelfauthenticationTestUri + if(settingsModel.useSelfauthenticationTestUri) { + qmlExtension.showFeedback(qsTr("Test PKI activated.") + settingsModel.translationTrigger) + } else { + qmlExtension.showFeedback(qsTr("Test PKI deactivated.") + settingsModel.translationTrigger) + } + d.testPkiCounter = 0; + break; + } + } + } + Column { readonly property int maxWidth: width - 2 * Constants.pane_padding width: baseItem.width @@ -29,6 +54,13 @@ Item { width: Math.min(maxHeight * ratio, parent.width * 0.4) fillMode: Image.PreserveAspectFit source: "qrc:///images/siteWithLogo.png" + + MouseArea { + anchors.fill: parent + onClicked: { + d.toggleTestPki() + } + } } Text { diff --git a/resources/qml/Governikus/MoreView/MoreView.qml b/resources/qml/Governikus/MoreView/MoreView.qml index bff8f8606..aebacbbe4 100644 --- a/resources/qml/Governikus/MoreView/MoreView.qml +++ b/resources/qml/Governikus/MoreView/MoreView.qml @@ -42,13 +42,13 @@ SectionPage { MoreViewMenuItem { text: qsTr("FAQ") + settingsModel.translationTrigger imageSource: "qrc:///images/iOS/more/icon_mehr_info.svg" - onClicked: Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/questions-and-answers/frequently-asked-questions/")) + onClicked: Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/qa/frequently-asked-questions/")) } MoreViewMenuItem { text: qsTr("Support") + settingsModel.translationTrigger imageSource: "qrc:///images/iOS/more/icon_mehr_fragen.svg" - onClicked: Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/questions-and-answers/support/")) + onClicked: Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/qa/support/")) } MoreViewMenuItem { @@ -60,7 +60,7 @@ SectionPage { Qt.openUrlExternally("market://details?id=com.governikus.ausweisapp2") } else if (Qt.platform.os === "ios") { - Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/questions-and-answers/evaluate-us/")) + Qt.openUrlExternally(qsTr("https://www.ausweisapp.bund.de/en/qa/evaluate-us/")) } } } diff --git a/resources/qml/Governikus/RemoteServiceView/RemoteServicePairingPopup.qml b/resources/qml/Governikus/RemoteServiceView/RemoteServicePairingPopup.qml index 2183be09e..00bf600a0 100644 --- a/resources/qml/Governikus/RemoteServiceView/RemoteServicePairingPopup.qml +++ b/resources/qml/Governikus/RemoteServiceView/RemoteServicePairingPopup.qml @@ -60,7 +60,7 @@ Popup { inputMethodHints: Qt.ImhDigitsOnly validator: RegExpValidator { regExp: /\d\d\d\d/ } onAccepted: { - RemoteServiceModel.connectToServer(deviceId, name.getText(0,4)) + RemoteServiceModel.connectToRememberedServer(name.getText(0,4)) close() } } @@ -71,7 +71,7 @@ Popup { visible: requestInput onClicked: { - RemoteServiceModel.connectToServer(deviceId, name.getText(0,4)) + RemoteServiceModel.connectToRememberedServer(name.getText(0,4)) close() } } diff --git a/resources/qml/Governikus/RemoteServiceView/RemoteServiceViewRemote.qml b/resources/qml/Governikus/RemoteServiceView/RemoteServiceViewRemote.qml index d4cea5154..451ffce82 100644 --- a/resources/qml/Governikus/RemoteServiceView/RemoteServiceViewRemote.qml +++ b/resources/qml/Governikus/RemoteServiceView/RemoteServiceViewRemote.qml @@ -80,7 +80,9 @@ Item { delegate: AvailableDevicesListDelegate { width: searchDeviceList.width onRequestPairing: { - enterPinView.remoteDeviceId = pDeviceId + if (!RemoteServiceModel.rememberServer(pDeviceId)) { + return + } informationPairingPopup.open() } } diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialFooter.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialFooter.qml index d0f3c56d3..164b7fd40 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialFooter.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialFooter.qml @@ -6,11 +6,32 @@ Rectangle { id: baseItem height: Math.max(backToMenu.height, quitTutorial.height) + property alias backRotation: leftArrow.rotation property alias backText: menuText.text + property bool backToMenuActive: true signal menuClicked() signal quitTutorialClicked() + states: [ + State { name: "showBothOptions"; when: baseItem.backToMenuActive + PropertyChanges { target: backToMenu; opacity: 1 } + AnchorChanges { target: quitTutorial; anchors.right: baseItem.right} + AnchorChanges { target: quitTutorial; anchors.horizontalCenter: undefined} + }, + State { name: "showOnlyQuit"; when: !baseItem.backToMenuActive + AnchorChanges { target: quitTutorial; anchors.horizontalCenter: baseItem.horizontalCenter} + AnchorChanges { target: quitTutorial; anchors.right: undefined} + PropertyChanges { target: backToMenu; opacity: 0 } + } + ] + transitions: [ + Transition { + PropertyAnimation { target: backToMenu; property: "opacity"} + AnchorAnimation { duration: 500; easing.type: Easing.InOutQuad } + } + ] + Item { id: backToMenu anchors.left: parent.left @@ -33,6 +54,7 @@ Rectangle { spacing: Constants.component_spacing Image { + id: leftArrow source: "qrc:///images/tutorial/arrows.svg" rotation: -90 anchors.verticalCenter: parent.verticalCenter @@ -51,15 +73,12 @@ Rectangle { color: Constants.white } } - - } Item { id: quitTutorial height: quitRow.height + 2 * Constants.component_spacing width: quitRow.width - anchors.right: parent.right anchors.verticalCenter: parent.verticalCenter MouseArea { @@ -74,7 +93,7 @@ Rectangle { id: quitRow height: quitText.height anchors.verticalCenter: parent.verticalCenter - anchors.right: parent.right + anchors.horizontalCenter: parent.horizontalCenter padding: Constants.component_spacing spacing: Constants.component_spacing @@ -89,7 +108,7 @@ Rectangle { Image { anchors.verticalCenter: parent.verticalCenter - source: "qrc:///images/tutorial/arrows.svg" + source: "qrc:///images/tutorial/cross.svg" height: parent.height width: height * (sourceSize.width / sourceSize.height) diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialHeader.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialHeader.qml index df66c3e97..73f9ad175 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialHeader.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialHeader.qml @@ -9,24 +9,40 @@ Item { property alias headerImageSource: headerImage.source property alias titleText: title.text + property string miniIconSource + property alias miniIconCoordinates: backgroundIcons.model property bool overlapping: true + property real overlappingHeight: overlapping ? height * (4.0/3.0) : height + property bool categoryAbove: true property real initY signal clicked() Image{ id: headerImage width: parent.width - height: overlapping ? parent.height * (4.0/3.0) : parent.height + height: baseItem.overlappingHeight fillMode: Image.Stretch - MouseArea{ + MouseArea { anchors.fill: parent onClicked: baseItem.clicked() } + Repeater { + id: backgroundIcons + Image { + source: baseItem.miniIconSource + width: height + height: 0.125 * baseItem.overlappingHeight + x: modelData.x * baseItem.width + y: modelData.y * baseItem.overlappingHeight + } + } + Text { id: title - anchors.centerIn: parent + anchors.horizontalCenter: parent.horizontalCenter + y: ((categoryAbove ? 0.575 : 0.5) * parent.height) - (0.5 * height) font.bold: true font.pixelSize: Constants.tutorial_header_font_size layer.enabled: true diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialHow.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialHow.qml index 48de0fc36..f03491ae1 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialHow.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialHow.qml @@ -135,10 +135,13 @@ TutorialContent { source: "qrc:///images/tutorial/section_seperator_how.svg" } - Item { + Rectangle { anchors.horizontalCenter: parent.horizontalCenter - width: parent.width + width: parent.width * 0.95 height: methodNfcSection.height + color: Constants.white + border.width: Utils.dp(3) + border.color: Constants.tutorial_blue MouseArea { anchors.fill: parent @@ -213,10 +216,13 @@ TutorialContent { source: "qrc:///images/tutorial/section_seperator_how.svg" } - Item { + Rectangle { anchors.horizontalCenter: parent.horizontalCenter - width: parent.width + width: parent.width * 0.95 height: methodSacDesktopSection.height + color: Constants.white + border.width: Utils.dp(3) + border.color: Constants.tutorial_blue MouseArea { anchors.fill: parent @@ -327,10 +333,13 @@ TutorialContent { source: "qrc:///images/tutorial/section_seperator_how.svg" } - Item { + Rectangle { anchors.horizontalCenter: parent.horizontalCenter - width: parent.width + width: parent.width * 0.95 height: methodSacMobileSection.height + color: Constants.white + border.width: Utils.dp(3) + border.color: Constants.tutorial_blue MouseArea { anchors.fill: parent @@ -430,10 +439,13 @@ TutorialContent { source: "qrc:///images/tutorial/section_seperator_how.svg" } - Item { + Rectangle { anchors.horizontalCenter: parent.horizontalCenter - width: parent.width + width: parent.width * 0.95 height: methodBluetoothSection.height + color: Constants.white + border.width: Utils.dp(3) + border.color: Constants.tutorial_blue MouseArea { anchors.fill: parent diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodBluetooth.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodBluetooth.qml index 292561386..39eac9845 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodBluetooth.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodBluetooth.qml @@ -291,6 +291,7 @@ SectionPage { id: identifyButton iconSource: "qrc:///images/npa.svg" text: qsTr("Identify now") + settingsModel.translationTrigger; + animationsDisabled: true } } } diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodFooter.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodFooter.qml index 93825d00e..8281218c6 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodFooter.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodFooter.qml @@ -9,5 +9,6 @@ TutorialFooter { color: Constants.tutorial_blue anchors.bottom: parent.bottom + backRotation: 180 backText: qsTr("Back") + settingsModel.translationTrigger } diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodNfc.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodNfc.qml index 85b335731..20c9617f7 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodNfc.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodNfc.qml @@ -198,6 +198,7 @@ SectionPage { id: identifyButton iconSource: "qrc:///images/npa.svg" text: qsTr("Identify now") + settingsModel.translationTrigger; + animationsDisabled: true } } } diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacDesktop.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacDesktop.qml index 65d2f599a..b36905ccf 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacDesktop.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacDesktop.qml @@ -234,6 +234,7 @@ SectionPage { buttonColor: "green" anchors.horizontalCenter: parent.horizontalCenter text: qsTr("Start remote service") + settingsModel.translationTrigger + animationsDisabled: true } Image { @@ -258,6 +259,7 @@ SectionPage { id: pairingButton anchors.horizontalCenter: parent.horizontalCenter text: qsTr("Start pairing") + settingsModel.translationTrigger + animationsDisabled: true } Image { @@ -515,6 +517,7 @@ SectionPage { id: identifyButton iconSource: "qrc:///images/npa.svg" text: qsTr("Identify now") + settingsModel.translationTrigger; + animationsDisabled: true } } } diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacMobile.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacMobile.qml index 5af1f67e2..7183fbddd 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacMobile.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialReaderMethodSacMobile.qml @@ -228,6 +228,7 @@ SectionPage { buttonColor: "green" anchors.horizontalCenter: parent.horizontalCenter text: qsTr("Start remote service") + settingsModel.translationTrigger + animationsDisabled: true } Image { @@ -252,6 +253,7 @@ SectionPage { id: pairingButton anchors.horizontalCenter: parent.horizontalCenter text: qsTr("Start pairing") + settingsModel.translationTrigger + animationsDisabled: true } Image { @@ -515,6 +517,7 @@ SectionPage { id: identifyButton iconSource: "qrc:///images/npa.svg" text: qsTr("Identify now") + settingsModel.translationTrigger; + animationsDisabled: true } } } diff --git a/resources/qml/Governikus/TutorialView/+mobile/TutorialView.qml b/resources/qml/Governikus/TutorialView/+mobile/TutorialView.qml index cbcfd4195..3f321ac64 100644 --- a/resources/qml/Governikus/TutorialView/+mobile/TutorialView.qml +++ b/resources/qml/Governikus/TutorialView/+mobile/TutorialView.qml @@ -15,7 +15,10 @@ SectionPage { property var lastVisibleItem property int contentWidth: Constants.is_tablet ? root.width * 0.5 : root.width - leftTitleBarAction: TitleBarAction { state: !topLevelPage ? "back" : ""; onClicked: root.state = "" } + leftTitleBarAction: TitleBarAction { + state: topLevelPage ? "" : "back"; + onClicked: state == "back" ? leaveView() : root.state = "" + } headerTitleBarAction: TitleBarAction { id: header; text: qsTr("Tutorial") + settingsModel.translationTrigger; font.bold: true } onVisibleChanged: { @@ -182,6 +185,7 @@ SectionPage { width: root.width height: (flickable.height / 13.0 ) * 3.0 headerImageSource: "qrc:///images/tutorial/main_menu_what_caret.svg" + categoryAbove: false titleText: qsTr("What?") + settingsModel.translationTrigger initY: 0 z: 40 @@ -193,6 +197,18 @@ SectionPage { root.state = "" } } + + miniIconSource: "qrc:///images/tutorial/icon_circle.svg" + miniIconCoordinates: [ + {"x": 0.0625, "y": 0.5}, + {"x": 0.1875, "y": 0.15625}, + {"x": 0.2, "y": 0.59375}, + {"x": 0.390625, "y": 0.78125}, + {"x": 0.65625, "y": 0.15625}, + {"x": 0.703125, "y": 0.65625}, + {"x": 0.890625, "y": 0.625}, + {"x": 0.90625, "y": 0.3125}, + ] } TutorialWhat { @@ -217,6 +233,18 @@ SectionPage { root.state = "" } } + + miniIconSource: "qrc:///images/tutorial/icon_star.svg" + miniIconCoordinates: [ + {"x": 0.046875, "y": 0.34375}, + {"x": 0.1875, "y": 0.09375}, + {"x": 0.21875, "y": 0.65625}, + {"x": 0.4, "y": 0.62}, + {"x": 0.55, "y": 0.36}, + {"x": 0.65, "y": 0.28125}, + {"x": 0.75, "y": 0.5625}, + {"x": 0.890625, "y": 0.5} + ] } TutorialWhere { @@ -241,6 +269,18 @@ SectionPage { root.state = "" } } + + miniIconSource: "qrc:///images/tutorial/icon_box.svg" + miniIconCoordinates: [ + {"x": 0.03125, "y": 0.125}, + {"x": 0.078125, "y": 0.46875}, + {"x": 0.203125, "y": 0.4375}, + {"x": 0.32, "y": 0.68}, + {"x": 0.64, "y": 0.21875}, + {"x": 0.78125, "y": 0.5625}, + {"x": 0.875, "y": 0.0625}, + {"x": 0.9, "y": 0.6} + ] } TutorialHow { @@ -271,6 +311,18 @@ SectionPage { root.state = "" } } + + miniIconSource: "qrc:///images/tutorial/icon_diamond.svg" + miniIconCoordinates: [ + {"x": 0.046875, "y": 0.46875}, + {"x": 0.14, "y": 0.22}, + {"x": 0.25, "y": 0.71875}, + {"x": 0.62, "y": 0.7}, + {"x": 0.67, "y": 0.24}, + {"x": 0.78125, "y": 0.4375}, + {"x": 0.796875, "y": 0.65625}, + {"x": 0.9375, "y": 0.1875} + ] } TutorialImportant { @@ -291,6 +343,7 @@ SectionPage { : whereContent.visible && flickable.contentY > whereHeader.y - 1? Constants.tutorial_green : Constants.tutorial_orange anchors.bottom: parent.bottom + backToMenuActive: root.state !== "" onMenuClicked: root.state = "" onQuitTutorialClicked: leaveView() diff --git a/resources/translations/ausweisapp2_de.ts b/resources/translations/ausweisapp2_de.ts index 51f0c38d0..0b9574dba 100644 --- a/resources/translations/ausweisapp2_de.ts +++ b/resources/translations/ausweisapp2_de.ts @@ -216,6 +216,53 @@ Bitte legen Sie Ihren Ausweis ein. + + BuildHelper + + Application + Anwendung + + + Application Version + Anwendungsversion + + + Organization + Organisation + + + Organization Domain + Organisation Homepage + + + System + System + + + Kernel + Kernel + + + Architecture + Architektur + + + Device + Gerät + + + VersionCode + Versions-Code + + + Qt Version + Qt-Version + + + OpenSSL Version + OpenSSL-Version + + BusyOverlay @@ -573,7 +620,7 @@ Haben Sie Fragen zur Nutzung der AusweisApp2? - https://www.ausweisapp.bund.de/en/questions-and-answers/frequently-asked-questions/ + https://www.ausweisapp.bund.de/en/qa/frequently-asked-questions/ https://www.ausweisapp.bund.de/fragen-und-antworten/haeufig-gestellte-fragen/ @@ -585,7 +632,7 @@ Benötigen Sie weitere Hilfe? - https://www.ausweisapp.bund.de/en/questions-and-answers/support/ + https://www.ausweisapp.bund.de/en/qa/support/ https://www.ausweisapp.bund.de/fragen-und-antworten/support/ @@ -938,10 +985,6 @@ Change PIN PIN ändern - - You leave the process and are forwarded to the PIN management. Please restart the desired process after the PIN has been changed. - Sie verlassen den Vorgang und werden zur PIN-Verwaltung weitergeleitet. Starten Sie den gewünschten Vorgang bitte nach der PIN-Änderung erneut. - Retry Erneut versuchen @@ -950,6 +993,10 @@ Cancel authentication process Beende Ausweisvorgang + + You have to change your transport PIN into a personal PIN to use the online ID function. You are currently leaving the started process and are forwarded to the PIN management. Please restart the desired process after the PIN has been changed. + Sie müssen Ihre fünfstellige Transport-PIN zunächst in eine persönliche PIN ändern. Sie sind dabei den aktuell laufenden Vorgang zu verlassen und zur PIN-Verwaltung weitergeleitet zu werden. Starten Sie den gewünschten Vorgang bitte nach der PIN-Änderung erneut. + Information @@ -1125,7 +1172,7 @@ FAQ - https://www.ausweisapp.bund.de/en/questions-and-answers/frequently-asked-questions/ + https://www.ausweisapp.bund.de/en/qa/frequently-asked-questions/ https://www.ausweisapp.bund.de/fragen-und-antworten/haeufig-gestellte-fragen/ @@ -1133,7 +1180,7 @@ Support - https://www.ausweisapp.bund.de/en/questions-and-answers/support/ + https://www.ausweisapp.bund.de/en/qa/support/ https://www.ausweisapp.bund.de/fragen-und-antworten/support/ @@ -1141,7 +1188,7 @@ Bewerten - https://www.ausweisapp.bund.de/en/questions-and-answers/evaluate-us/ + https://www.ausweisapp.bund.de/en/qa/evaluate-us/ https://www.ausweisapp.bund.de/fragen-und-antworten/bewerten-sie-uns/ @@ -1282,16 +1329,10 @@ Anderenfalls können Sie nun Ihr Ausweisdokument vom Kartenlesegerät entfernen. <h4>No card reader detected. Please make sure that a card reader is connected.</h4> <p>If you need help or have problems with your card reader click on the "Diagnosis" button for further information. </p> -<p>Please note: It is currently not possible to change your PIN whilst using your smartphone as a card reader. -However, you can change your PIN on your smartphone directly as long as the remote service is disabled. -</p> </html> <html> <h4>Es wurde kein Kartenlesegerät gefunden. Bitte stellen Sie sicher, dass ein Kartenlesegerät angeschlossen ist.</h4> <p>Wenn Sie Hilfe bei der Einrichtung Ihres Kartenlesegerät benötigen, klicken Sie auf "Diagnose".</p> -<p>Beachten Sie: Es ist zurzeit noch nicht möglich, Ihre PIN mithilfe der "Smartphone als Kartenlesegerät"-Funktionalität zu ändern. -Sie können jedoch Ihre PIN direkt am Smartphone ändern solange der Fernzugriff deaktiviert ist. -</p> </html> @@ -3291,16 +3332,16 @@ klicken. governikus::AppQtMainWidget - https://www.ausweisapp.bund.de/en/service/haeufig-gestellte-fragen/ - https://www.ausweisapp.bund.de/service/haeufig-gestellte-fragen/ + https://www.ausweisapp.bund.de/en/qa/frequently-asked-questions/ + https://www.ausweisapp.bund.de/fragen-und-antworten/haeufig-gestellte-fragen/ - https://www.ausweisapp.bund.de/en/feedback/melden-sie-einen-fehler/ - https://www.ausweisapp.bund.de/feedback/melden-sie-einen-fehler/ + https://www.ausweisapp.bund.de/en/qa/report-an-error/ + https://www.ausweisapp.bund.de/fragen-und-antworten/melden-sie-einen-fehler/ - https://www.ausweisapp.bund.de/en/feedback/bewerten-sie-uns/ - https://www.ausweisapp.bund.de/feedback/bewerten-sie-uns/ + https://www.ausweisapp.bund.de/en/qa/evaluate-us/ + https://www.ausweisapp.bund.de/fragen-und-antworten/bewerten-sie-uns/ @@ -3873,10 +3914,6 @@ klicken. Received no data. Keine Daten erhalten. - - An error occurred. Please contact our support at <a href="https://www.ausweisapp.bund.de/en/service/support/">AusweisApp2 Support</a>. - Ein Fehler ist aufgetreten. Bitte kontaktieren Sie unseren Support unter <a href="https://www.ausweisapp.bund.de/service/support/">AusweisApp2 Support</a>. - Cannot start authentication. An operation is already in progress. Die Authentisierung kann nicht gestartet werden. Es läuft bereits eine Operation. @@ -3970,8 +4007,8 @@ klicken. Ein Protokollfehler ist aufgetreten. Bitte überprüfen Sie, dass das Ausweisdokument korrekt aufgelegt ist und versuchen Sie es erneut. Wenn das Problem wieder auftritt kontaktieren Sie bitte unseren Support unter - https://www.ausweisapp.bund.de/en/service/support/ - https://www.ausweisapp.bund.de/service/support/ + https://www.ausweisapp.bund.de/en/qa/support/ + https://www.ausweisapp.bund.de/fragen-und-antworten/support/ AusweisApp2 Support @@ -4074,8 +4111,12 @@ klicken. Fehler bei der Verbindung zum Server. Der Verschlüsselungsalgorithmus oder die Länge des Schlüssels im SSL-Zertifikat des Servers wird nicht unterstützt. Zertifikatsaussteller: %1 - An error occurred. Please contact our support at <a href="https://www.ausweisapp.bund.de/en/service/support/">AusweisApp2 Support</a> or feel free to send us an email at <a href="mailto:support@ausweisapp.de?subject=Log file&body=<Please describe the error>">support@ausweisapp.de</a>. - Es ist ein Fehler aufgetreten. Bitte kontaktieren Sie unseren <a href="https://www.ausweisapp.bund.de/en/service/support/">AusweisApp2 Support</a> oder senden sie uns eine Email an <a href="mailto:support@ausweisapp.de?subject=Protokolldatei&body=<Bitte beschreiben Sie den Fehler>">support@ausweisapp.de</a>. + An error occurred. Please contact our %1support%2. + Es ist ein Fehler aufgetreten. Bitte kontaktieren und Sie unseren %1Support%2. + + + An error occurred. Please contact our %1support%2 or feel free to send us an email. + Es ist ein Fehler aufgetreten. Bitte kontaktieren und Sie unseren %1Support%2 oder senden Sie uns eine Email. @@ -4194,8 +4235,8 @@ klicken. Dateifehler - An error occurred while saving the file. - Beim Speichern der Datei ist ein Fehler aufgetreten. + An error occurred while saving the file: + Während des Speichervorgangs ist ein Fehler aufgetreten: @@ -5020,6 +5061,31 @@ klicken. Save Log Protokoll speichern + + Send email + Email versenden + + + AusweisApp2 error report - %1 + Subject from error report mail + AusweisApp2 Fehlerbericht - %1 + + + Please describe the error that occurred. + Bitte beschreiben Sie den aufgetretenen Fehler. + + + You may want to attach the logfile which can be saved from the error dialog. + Im Fehlerdialog können Sie eine Logdatei speichern um sie an diese Email anzuhängen. + + + Error code + Fehlercode + + + Critical errors: + Kritische Fehler: + governikus::StepShowSelfAuthenticationDataGui @@ -5058,53 +5124,6 @@ klicken. AusweisApp2 %1 ist jetzt verfügbar - Sie haben %2. Wollen Sie die neue Version jetzt herunterladen? - - governikus::VersionInformationModel - - Application Name - Anwendungsname - - - Application Version - Anwendungsversion - - - Organization - Organisation - - - Organization domain - Organisation Homepage - - - VersionCode - Versions-Code - - - System version - Systemversion - - - Kernel - Kernel - - - Architecture - Architektur - - - Device - Gerät - - - Qt Version - Qt-Version - - - OpenSSL Version - OpenSSL-Version - - governikus::WebserviceActivationContext @@ -5151,10 +5170,6 @@ klicken. Would you like to report this error? Möchten Sie diesen Fehler melden? - - https://www.ausweisapp.bund.de/en/feedback/melden-sie-einen-fehler/ - https://www.ausweisapp.bund.de/feedback/melden-sie-einen-fehler/ - Report now Jetzt melden @@ -5163,6 +5178,10 @@ klicken. The connection to the browser was lost. No forwarding was executed. Please try to call the URL again manually: %1 Die Verbindung zum Browser ging verloren. Es konnte keine Weiterleitung durchgeführt werden. Bitte versuchen Sie die URL manuell aufzurufen: %1 + + https://www.ausweisapp.bund.de/en/qa/report-an-error/ + https://www.ausweisapp.bund.de/fragen-und-antworten/melden-sie-einen-fehler/ + governikus::WebserviceActivationHandler @@ -5198,10 +5217,6 @@ klicken. Would you like to report this error? Möchten Sie diesen Fehler melden? - - https://www.ausweisapp.bund.de/en/feedback/melden-sie-einen-fehler/ - https://www.ausweisapp.bund.de/feedback/melden-sie-einen-fehler/ - Report now Jetzt melden @@ -5214,6 +5229,10 @@ klicken. You tried to start an older version (%1) of currently running application. Please open the currently running version (%2)! Sie versuchen eine ältere Version (%1) der aktuell laufenden Anwendung zu starten. Bitte öffnen Sie die aktuell laufende Version (%2)! + + https://www.ausweisapp.bund.de/en/qa/report-an-error/ + https://www.ausweisapp.bund.de/fragen-und-antworten/melden-sie-einen-fehler/ + governikus::WorkflowAuthenticateQtGui diff --git a/resources/travis/build.sh b/resources/travis/build.sh index e32154ccd..7ed37e9ca 100644 --- a/resources/travis/build.sh +++ b/resources/travis/build.sh @@ -3,29 +3,32 @@ set -e . "$(dirname "$0")"/common.sh -for arg in "$@" +for arg in "$CHECK" do case "$arg" in format) ENABLE_FORMAT=true;; docs) ENABLE_DOCS=true;; + build) ENABLE_BUILD=true;; *) echo "Unknown command: $1" && exit 1 esac done alpine_run prepare <<-EOF - mkdir -p /tmp/build/format - mkdir -p /tmp/build/docs + mkdir ~/format + mkdir ~/docs + mkdir ~/app EOF if [ "$ENABLE_FORMAT" = true ]; then alpine_run format <<-EOF - cd /tmp/build/format + set -e + cd ~/format - cmake -Dtools.only=ON ~ + cmake -Dtools.only=ON ~/src make format - cd ~ + cd ~/src git add . git --no-pager diff --staged git diff-index --quiet HEAD @@ -35,10 +38,25 @@ fi if [ "$ENABLE_DOCS" = true ]; then alpine_run docs <<-EOF - cd /tmp/build/docs + set -e + cd ~/docs - cmake -Dtools.only=ON ~ + cmake -Dtools.only=ON ~/src make sdk make notes EOF fi + + +if [ "$ENABLE_BUILD" = true ]; then +alpine_run build <<-EOF + set -e + cd ~/app + + cmake -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER=$COMPILER -DCMAKE_BUILD_TYPE=$TYPE ~/src + cmake --build . + ctest --output-on-failure + src/AusweisApp2 -platform offscreen --help +EOF +fi + diff --git a/resources/travis/common.sh b/resources/travis/common.sh index f929f6434..b883e87f0 100644 --- a/resources/travis/common.sh +++ b/resources/travis/common.sh @@ -1,5 +1,8 @@ readonly ALPINE_ROOT='/mnt/alpine' readonly ALPINE_USER='governikus' +readonly ALPINE_HOME="${ALPINE_ROOT}/home/${ALPINE_USER}" +readonly ALPINE_SRC="${ALPINE_HOME}/src" +readonly ALPINE_CCACHE="${ALPINE_HOME}/.ccache" alpine_run() { local folding="${1:-chroot}" diff --git a/resources/travis/setup.sh b/resources/travis/setup.sh index 7f8c6e2c5..a34f10f9d 100644 --- a/resources/travis/setup.sh +++ b/resources/travis/setup.sh @@ -5,8 +5,8 @@ set -eu readonly CLONE_DIR="${CLONE_DIR:-$(pwd)}" -MINIROOTFS_VERSION="3.8.0" -MINIROOTFS_SHA="ae36d6ea2033131cfc649afa13d7271367c386e7a0dbd5b3d0671a2ede22a2f1" +MINIROOTFS_VERSION="3.9.0" +MINIROOTFS_SHA="f82efed1a80c9af86c38bed10f3541c5588453b97684d767a5a3b0f3fa0e3f09" MINIROOTFS="alpine-minirootfs-${MINIROOTFS_VERSION}-x86_64.tar.gz" MINIROOTFS_URI="http://dl-cdn.alpinelinux.org/alpine/v${MINIROOTFS_VERSION%.*}/releases/x86_64/$MINIROOTFS" @@ -30,11 +30,12 @@ ln -sf /run/shm dev/shm PACKAGES="cmake make ninja git" -for arg in "$@" +for arg in "$CHECK" do case "$arg" in format) PACKAGES="$PACKAGES uncrustify";; docs) PACKAGES="$PACKAGES py2-sphinx py2-setuptools";; + build) PACKAGES="$PACKAGES clang g++ ccache binutils-gold eudev-dev pcsc-lite-dev http-parser-dev openssl-dev qt5-qtsvg-dev qt5-qtquickcontrols2-dev qt5-qtwebsockets-dev qt5-qtconnectivity-dev qt5-qtbase-dev qt5-qttools-dev";; *) echo "Unknown command: $1" && exit 1 esac done @@ -46,7 +47,11 @@ alpine_run packages root <<-EOF apk add $PACKAGES EOF -mount --bind "$CLONE_DIR" "${ALPINE_ROOT}/home/${ALPINE_USER}" +mkdir ${ALPINE_SRC} +mkdir ${ALPINE_CCACHE} +mount --bind "$CLONE_DIR" "${ALPINE_SRC}" +mount --bind "$HOME/.ccache" "${ALPINE_CCACHE}" +chmod 777 "$ALPINE_CCACHE" alpine_run chown root <<-EOF chown -R $ALPINE_USER: /home/${ALPINE_USER} diff --git a/resources/updatable-files/supported-providers.json b/resources/updatable-files/supported-providers.json index 1df3bd6ac..4abfac8db 100644 --- a/resources/updatable-files/supported-providers.json +++ b/resources/updatable-files/supported-providers.json @@ -1,5 +1,4 @@ { - "issueDate": "2018-07-05T12:00:00+1:00", "callcosts" : [ { "prefixes" : ["1371", "1375"], @@ -127,7 +126,7 @@ "subjectUrls": ["https://www.bstu-formulare.de/lip"] }, { - "exclude": ["ios", "android"], + "exclude": ["ios"], "shortName": {"" : "Allianz Maklerportal"}, "address": "https://makler.allianz.de", "homepage": "https://makler.allianz.de", @@ -155,6 +154,18 @@ "tcTokenUrlInfo" : "", "subjectUrls": [] }, + { + "shortName": {"" : "AusweisIDent"}, + "longName": {"" : "AusweisIDent Identifizierungsdienst"}, + "shortDescription": {"": "AusweisIDent ist eine neue Lösung für Unternehmen zur schnellen und günstigen Online-Identifikation neuer Kunden mit der Online-Ausweisfunktion des Personalausweises oder des elektronischen Aufenthaltstitels."}, + "longDescription": {"": "AusweisIDent ergänzt am Markt etablierte Verfahren um die medienbruchfreie und sichere Online-Identifizierung. Nutzer weisen sich mit der Applikation und der Online-Ausweisfunktion des Personalausweises oder des elektronischen Aufenthaltstitels online aus. Das Identifizierungsverfahren wurde von der Bundesdruckerei gemeinsam mit Governikus entwickelt. AusweisIDent eignet sich für die Identifizierung von Personen für eine Web-Anwendung. Über eine Zwei-Faktor-Authentisierung durch den Kunden werden höchste Sicherheitsanforderungen bei der Kundenregistrierung erfüllt. Die Identitätsprüfungen erfolgen gesetzeskonform nach demGesetz zur Förderung der elektronischen Verwaltung (eGovG), dem Gesetz über das Aufspüren von Gewinnen aus schweren Straftaten (GWG), dem Telekommunikationsgesetz (TKG) sowie nach Bundesdatenschutzgesetz (BDSG) und der EUDatenschutzgrundverordnung (EU-DSGVO)."}, + "address": "https://www.ausweisident.de/", + "homepage": "https://www.ausweisident.de/", + "image": "ausweisident_image.jpg", + "icon": "ausweisident_icon.png", + "category": "other", + "subjectUrls": ["https://www.ausweisident.de"] + }, { "exclude": ["ios"], "shortName": {"" : "BAföG Berlin"}, @@ -275,7 +286,7 @@ "exclude": ["ios"], "shortName": {"" : "BAföG Online Sachsen"}, "address": "https://fs.egov.sachsen.de/formserv/findform?shortname=bafoeg&formtecid=11&areashortname=SMWK_bafoeg", - "homepage": "http://www.studieren.sachsen.de/", + "homepage": "https://www.studieren.sachsen.de/", "phone": "+49 351 564-1080", "email": "info@sk.sachsen.de", "postalAddress": "Sächsische Staatskanzlei
Redaktion Amt24 / Bürgerbüro
01095 Dresden", @@ -293,17 +304,6 @@ "postalAddress": "Ministerium für Soziales, Gesundheit, Wissenschaft und Gleichstellung des Landes Schleswig-Holstein
Abteilung VIII 5
Düsternbrooker Weg 104
24105 Kiel", "category": "citizen" }, - { - "exclude": ["ios", "android"], - "shortName": {"" : "bahn.de"}, - "address": "https://www.bahn.de/p/view/meinebahn/login.shtml", - "homepage": "https://www.bahn.de", - "phone": "+49 1806 - 996633", - "email": "reiseportal@bahn.de", - "postalAddress": "DB Vertrieb GmbH
Stephensonstraße 1
60326 Frankfurt am Main", - "category": "other", - "subjectUrls": ["https://www.bahn.de/"] - }, { "shortName": {"" : "Beantragung Schwerbehindertenausweis Bayern"}, "longDescription": {"": "Einen Schwerbehindertenantrag können Sie bei der Landesbehörde Zentrum Bayern Familie und Soziales (ZBFS) mit der Online-Ausweisfunktion komplett papierlos stellen.
Der papierlose Antrag ist ein bedeutender Schritt auf dem Weg zur digitalen Verwaltung – online, schnell und unkompliziert.
Das Online-Verfahren hat weitere Vorteile. Gerade für sehbehinderte Menschen ist die papiergebundene Schriftform ein Hindernis. Digitale Angebote bieten ihnen die Chance, Behördenangelegenheiten ein Stück weit selbständiger erledigen zu können.
Zu 100 Prozent digital – ein bisschen weniger lästiger Papierkram. Digitalisierung ist somit ein Beitrag zur Inklusion."}, @@ -428,7 +428,7 @@ "shortDescription": {"": "Anträge an den Kreis Minden-Lübbecke online erfassen."}, "longDescription": {"": "In unserem Portal können Sie Ihren Antrag an den Kreis Minden-Lübbecke direkt online erfassen und elektronisch übermitteln."}, "address": "https://www.buergerserviceportal.nrw/krz/mindenluebbecke", - "homepage": "http://www.minden-luebbecke.de/", + "homepage": "https://www.minden-luebbecke.de/", "phone": "+49 571 807-0", "email": "info@minden-luebbecke.de", "postalAddress": "Kreis Minden-Lübbecke
Portastraße 13
32423 Minden", @@ -445,7 +445,7 @@ "shortDescription": {"": "Anträge online erfassen und an die Verwaltung weiterleiten."}, "longDescription": {"": "Das Bürgerservice-Portal bietet die Möglichkeit, Anträge an die Verwaltung der Stadt Lage online zu erfassen und elektronisch zur weiteren Bearbeitung weiterzuleiten."}, "address": "https://www.buergerserviceportal.nrw/krz/lage", - "homepage": "http://www.lage.de/", + "homepage": "https://www.lage.de/", "phone": "+49 5232/601300", "email": "Buergerbuero@lage.de", "postalAddress": "Bürgerbüro Lage
Bergstraße 21
32791 Lage", @@ -495,10 +495,10 @@ "subjectUrls": ["https://www.buergerserviceportal.de"] }, { - "exclude": ["ios", "android"], + "exclude": ["ios"], "shortName": {"" : "CosmosDirekt Kundenportal meinCosmosDirekt"}, "longDescription": {"": "Mit der Online-Ausweisfunktion des Personalausweises können Sie sich einfach und sicher am Kundenportal ,mein Cosmos-Direkt' registrieren und anmelden. Im Portal haben Sie die Möglichkeit Ihre Versicherungen zu verwalten. Sie können online einen Antrag für ein Tagesgeldkonto stellen oder auch schnell und einfach Ihre persönlichen Daten, z.B. Ihre Adresse, ändern."}, - "address": "https://www.cosmosdirekt.de/services/mcd-info", + "address": "https://www.cosmosdirekt.de/meincosmosdirekt-registrierung/", "homepage": "https://www.cosmosdirekt.de/", "phone": "+49 681-9 66 68 00", "email": "info@cosmosdirekt.de", @@ -535,20 +535,6 @@ "tcTokenUrlInfo" : "Address is faulty", "subjectUrls": ["https://secure6.datev.de"] }, - { - "exclude": ["ios"], - "shortName": {"" : "Deutsche Post AG - POSTIDENT Verfahren"}, - "longName": {"" : "Deutsche Post AG - POSTIDENT Verfahren"}, - "shortDescription": {"": "Durch das Onlineverfahren POSTIDENT mit dem neuem Personalausweis, können Sie sich schnell und einfach online mit Ihrem neuen Personalausweis identifizieren."}, - "longDescription": {"": "Durch das Onlineverfahren POSTIDENT mit dem neuem Personalausweis, können Sie sich schnell und einfach online mit Ihrem neuen Personalausweis z.B. zur Eröffnung eines Tagesgeldkontos identifizieren: Sie werden hierzu von Ihrer Bank automatisch auf das POSTIDENT Portal geleitet und können sich mithilfe Ihres neuen Personalausweises mit freigeschalteter Online-Ausweisfunktion, einem Kartenlesegerät sowie der AusweisApp2 in wenigen Minuten sicher identifizieren."}, - "address": "https://www.deutschepost.de/de/p/postident/identifizierungsverfahren/postident-npa.html", - "homepage": "https://www.deutschepost.de/de/p/postident.html", - "email": "info@deutschepost.de", - "postalAddress": "Deutsche Post AG
Charles-de-Gaulle-Str. 20
53113 Bonn", - "image": "DeutschePost_image.jpg", - "icon": "DeutschePost_icon.png", - "category": "other" - }, { "shortName": {"" : "Deutsche Rentenversicherung"}, "longDescription": {"": "Mit der Online-Ausweisfunktion im neuen Personalausweis können Sie ...
- auf Informationen Ihres Rentenkontos im Kundenbereich ,eService' sicher zugreifen (z. B. Versicherungsverlauf und Beitragsrechnung),
- Ihre Rentenauskunft online abrufen,
- schnell und einfach Ihre persönlichen Daten ändern (z. B. Ihre Adresse und Bankverbindung)."}, @@ -562,7 +548,7 @@ "subjectUrls": ["https://www.eservice-drv.de"] }, { - "exclude": ["ios", "android"], + "exclude": ["ios"], "shortName": {"" : "eAntrag der Investitionsbank Berlin (IBB)"}, "longDescription": {"": "Im Kundenportal der Investitionsbank Berlin können Sie verschiedene Förder-Produkte durchgängig elektronisch beantragen:
- Berlin Kapital
- IBB Familienbaudarlehen
- IBB Wohnraum modernisieren
- KMU-Fonds über 25.000 Euro
- Liquiditätshilfen BERLIN
- Mikrokredit aus dem KMU-Fonds
- Pro FIT (Projektvorschlagsphase)
- Pro FIT (Frühphasenfinanzierung)
Für die rechtsverbindliche, fristwahrende Antragstellung der Produkte
- GRW
- Innovationsassistent
- PFI - Gemeinschaft
- PFI - KMU
- PFI - Netzwerk
- ProFIT (Projektantragsphase)
gilt aus verwaltungsrechtlichen Anforderungen das Schriftformerfordernis: Die elektronische Antragstellung ist zwingend nachträglich schriftlich zu bestätigen.
Mit der Online-Ausweisfunktion können Sie sich bequem und sicher elektronisch legitimieren und müssen dadurch Ihre Identität weder per Postident-Verfahren noch persönlich vor Ort nachweisen.
Nach Ihrer Legitimierung können Sie über eine persönliche Dokumentenablage die rechtsverbindliche Kommunikation mit Ihrem IBB-Ansprechpartner online – und unabhängig von Öffnungszeiten oder Postwegen – über das Kundenportal erledigen."}, "address": "https://www.ibb.de/de/service/eantrag/eantrag.html", @@ -616,9 +602,9 @@ "subjectUrls": [] }, { - "exclude": ["ios", "android"], + "exclude": ["ios"], "shortName": {"" : "Führungszeugnis und Auskunft aus dem Gewerbezentralregister"}, - "longDescription": {"": "Sie benötigen ein Führungszeugnis oder eine Auskunft aus dem Gewerbezentralregister? Mit dem Personalausweis im Scheckkartenformat können Sie einen Behördengang sparen. Weitere Voraussetzungen sind die freigeschaltete Online-Ausweisfunktion und ein passendes Kartenlesegerät für Ihren Computer. Auf diese Weise kann eindeutig identifiziert werden, wer den Antrag stellt. Ausländische Mitbürger, die keinen deutschen Personalausweis besitzen, können in gleicher Weise die entsprechende Funktion ihres elektronischen Aufenthaltstitels nutzen.
Neben Führungszeugnissen können auch Auskünfte aus dem Gewerbezentralregister über das neue Online-Portal des BfJ beantragt werden. Solche Auskünfte benötigen Unternehmen, die sich in Ausschreibungsverfahren um öffentliche Aufträge bewerben, recht häufig. Auch hier kann das Online-Verfahren den Aufwand erheblich senken."}, + "longDescription": {"": "Sie benötigen ein Führungszeugnis oder eine Auskunft aus dem Gewerbezentralregister? Mit dem Personalausweis im Scheckkartenformat können Sie einen Behördengang sparen. Weitere Voraussetzungen sind die freigeschaltete Online-Ausweisfunktion und ein passender Kartenleser für Ihren Computer. Auf diese Weise kann eindeutig identifiziert werden, wer den Antrag stellt. Ausländische Mitbürger, die keinen deutschen Personalausweis besitzen, können in gleicher Weise die entsprechende Funktion ihres elektronischen Aufenthaltstitels nutzen.
Neben Führungszeugnissen können auch Auskünfte aus dem Gewerbezentralregister über das neue Online-Portal des BfJ beantragt werden. Solche Auskünfte benötigen Unternehmen, die sich in Ausschreibungsverfahren um öffentliche Aufträge bewerben, recht häufig. Auch hier kann das Online-Verfahren den Aufwand erheblich senken."}, "address": "https://www.fuehrungszeugnis.bund.de/", "homepage": "https://www.bundesjustizamt.de", "phone": "+49 228 99 410-40", @@ -716,7 +702,7 @@ { "exclude": ["ios"], "shortName": {"" : "Login Meine VBL"}, - "longDescription": {"": "Bei der VBL können Sie sich mit dem Personalausweis am Kundenportal ,Meine VBL' registrieren und anmelden. Dadurch entfällt der Postversand eines Freischaltcodes - Sie sparen Zeit. Im Kundenkonto können Sie Ihre Vertragsdaten und Ihre persönlichen Daten einsehen und weitere Online-Dienste nutzen, z. B.
- Rentenantrag stellen,
- Beitragserstattung beantragen,
- Kontaktdaten ändern,
- persönliche Mitteilungen von der VBL erhalten."}, + "longDescription": {"": "Bei der VBL können Sie sich mit dem Personalausweis am Kundenportal ,Meine VBL' anmelden. Im Kundenkonto können Sie Ihre Vertragsdaten und Ihre persönlichen Daten einsehen und weitere Online-Dienste nutzen, z. B.
- Rentenantrag stellen,
- Beitragserstattung beantragen,
- Kontaktdaten ändern,
- persönliche Mitteilungen von der VBL erhalten."}, "address": "https://www.vbl.de/de/meine_vbl", "homepage": "https://www.vbl.de/", "phone": "+49 721 93 98 93 1", @@ -767,10 +753,10 @@ }, { "shortName": {"" : "Selbstauskunft - „Meine Daten einsehen“"}, - "longDescription": {"": "Die AusweisApp2 verfügt über die Funktion \"Meine Daten einsehen\". Mit dieser Funktion können die auf dem Personalausweis bzw. dem elektronischen Aufenthaltstitel gespeicherten Daten ausgelesen und angezeigt werden. Hierbei sprechen wir auch von einer sogenannten Selbstauskunft.

Sobald Sie die AusweisApp2 gestartet und ein geeignetes Kartenlesegerät installiert bzw. ein Android-Smartphone verbunden haben, können Sie diese Funktion unter dem Menüpunkt \"Ausweisen\" aufrufen. (Auf Mobilgeräten finden Sie die Ausweis-Auskunft übrigens auch direkt auf der Startseite sowie im Menüeintrag „Ausweisen“.)

Nach Ihrer PIN-Eingabe und erfolgreicher Datenübertragung werden die Daten in der AusweisApp2 dargestellt.

Bei der Selbstauskunft handelt es sich um einen reinen Demonstrationsdienst. Die ausgelesenen Daten werden lediglich zur Anzeige gebracht und nicht weitergegeben.

Bitte beachten Sie, dass Sie auch für diesen Vorgang eine Internetverbindung benötigen. Dies hat folgenden Hintergrund: Der Zugriff auf die Daten des Personalausweises bzw. des elektronischen Aufenthaltstitels ist nur möglich, wenn derjenige, der auf die Daten zugreifen möchte sich selbst zunächst eindeutig identifiziert. Dies geschieht über das sog. Berechtigungszertifikat. Es wird Ihnen immer angezeigt, wer auf Ihre Daten zugreifen möchte. Die Erlaubnis, ein Berechtigungszertifikat zu erhalten, wird einen Diensteanbieter auf Antrag und nach Prüfung bei der Vergabestelle für Berechtigungszertifikate beim Bundesverwaltungsamt erteilt. Um das technische Berechtigungszertifikat anzuzeigen und darüber hinaus eine Gültigkeitsprüfung des Ausweisdokuments durchführen zu können, ist eine Internetverbindung zwingend erforderlich. Aus diesem Grund spricht man auch von der Online-Ausweisfunktion."}, + "longDescription": {"": "Die AusweisApp2 verfügt über die Funktion \"Meine Daten einsehen\". Mit dieser Funktion können die auf dem Personalausweis bzw. dem elektronischen Aufenthaltstitel gespeicherten Daten ausgelesen und angezeigt werden. Hierbei sprechen wir auch von einer sogenannten Selbstauskunft.

Sobald Sie die AusweisApp2 gestartet und ein geeigneter Kartenleser installiert bzw. ein Android-Smartphone verbunden haben, können Sie diese Funktion unter dem Menüpunkt \"Ausweisen\" aufrufen. (Auf Mobilgeräten finden Sie die Ausweis-Auskunft übrigens auch direkt auf der Startseite sowie im Menüeintrag „Ausweisen“.)

Nach Ihrer PIN-Eingabe und erfolgreicher Datenübertragung werden die Daten in der AusweisApp2 dargestellt.

Bei der Selbstauskunft handelt es sich um einen reinen Demonstrationsdienst. Die ausgelesenen Daten werden lediglich zur Anzeige gebracht und nicht weitergegeben.

Bitte beachten Sie, dass Sie auch für diesen Vorgang eine Internetverbindung benötigen. Dies hat folgenden Hintergrund: Der Zugriff auf die Daten des Personalausweises bzw. des elektronischen Aufenthaltstitels ist nur möglich, wenn derjenige, der auf die Daten zugreifen möchte sich selbst zunächst eindeutig identifiziert. Dies geschieht über das sog. Berechtigungszertifikat. Es wird Ihnen immer angezeigt, wer auf Ihre Daten zugreifen möchte. Die Erlaubnis, ein Berechtigungszertifikat zu erhalten, wird einen Diensteanbieter auf Antrag und nach Prüfung bei der Vergabestelle für Berechtigungszertifikate beim Bundesverwaltungsamt erteilt. Um das technische Berechtigungszertifikat anzuzeigen und darüber hinaus eine Gültigkeitsprüfung des Ausweisdokuments durchführen zu können, ist eine Internetverbindung zwingend erforderlich. Aus diesem Grund spricht man auch von der Online-Ausweisfunktion."}, "address": "https://www.ausweisapp.bund.de/ausweisapp2/ausprobieren-meine-daten-einsehen/", "homepage": "https://www.ausweisapp.bund.de/", - "phone": "+49 1805 - 348743", + "phone": "+49 421 - 204 95 995", "email": "support@ausweisapp.de", "postalAddress": "Governikus GmbH & Co. KG
- im Auftrag des Bundesministeriums des Innern, für Bau und Heimat -
Hochschulring 4
D-28359 Bremen", "image": "Selbstauskunft.jpg", diff --git a/resources/updatable-files/supported-readers.json b/resources/updatable-files/supported-readers.json index 943d56a9e..8e094441c 100644 --- a/resources/updatable-files/supported-readers.json +++ b/resources/updatable-files/supported-readers.json @@ -4,7 +4,7 @@ { "VendorId": "0x0000", "ProductId": "0x0000", - "Name": "Smartphone als Kartenlesegerät", + "Name": "Smartphone als Kartenleser", "Pattern": "^NFC.*", "Icon": "img_RemoteReader.png", "IconWithNPA": "img_RemoteReader_mit_ausweis.png", @@ -181,7 +181,7 @@ "VendorId": "0x04E6", "ProductId": "0x512B", "Name": "SDI011 Contactless Reader", - "Pattern": "SDI011 (USB )?(Smart Card|Contactless) Reader", + "Pattern": "SDI011 Contactless Reader|SDI011 USB Smart Card Reader(\\(1\\)|\\(2\\))", "Icon": "img_Identive_SDI011.png", "IconWithNPA": "img_Identive_SDI011_mit_ausweis.png", "Drivers": @@ -199,21 +199,16 @@ [ { "Platforms": [{"os": "win", "max": "6.1"}], - "DE": "Bitte beachten Sie, dass das Kartenlesegerät nur mit der SDI011-generic-version funktioniert. Nach der Installation ist ein Neustart erforderlich.", + "DE": "Bitte beachten Sie, dass der Kartenleser nur mit der SDI011-generic-version funktioniert. Nach der Installation ist ein Neustart erforderlich.", "EN": "Please note that the card reader only works with the SDI011-generic-version. A reboot is required after the installation of the driver." }, { "Platforms":[{"os": "win", "min": "6.2"}], - "DE": "Bitte beachten Sie, dass das Kartenlesegerät nur mit der SDI011-nPA-version funktioniert. Nach der Installation ist ein Neustart erforderlich.", + "DE": "Bitte beachten Sie, dass der Kartenleser nur mit der SDI011-nPA-version funktioniert. Nach der Installation ist ein Neustart erforderlich.", "EN": "Please note that the card reader only works with the SDI011-nPA-version. A reboot is required after the installation of the driver." }, { - "Platforms": [{"os": "mac", "max": "10.12"}], - "DE": "Der Status des Kartenlesegeräts wird nach der Treiberinstallation und einem Neustart zwar als 'Treiber installiert' angezeigt, allerdings tritt bei der PIN-Eingabe ein Protokollfehler auf.", - "EN": "Once the driver is installed and the system is re-booted, the card reader state will be shown as 'Driver installed'. However, upon entering the PIN a protocol error occurs." - }, - { - "Platforms": [{"os": "mac", "min":"10.13"}], + "Platforms": [{"os": "mac"}], "DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.", "EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system." } @@ -242,15 +237,16 @@ [ { "Platforms": [{"os": "win"}], - "DE": "Das Kartenlesegerät funktioniert nur mit der SCL011-nPA-version. Nach der Installation ist ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert nur mit der SCL011-nPA-version. Nach der Installation ist ein Neustart erforderlich.", "EN": "The cardreader works only with the SCL011-nPA-version. A reboot is required after the installation of the driver." }, { "Platforms": [{"os": "mac"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } - ] + ], + "Internal information": "Unter macOS funktioniert nur NFC A. Reader wird als unterstützt markiert, da zertifiziert." }, { @@ -313,7 +309,7 @@ "VendorId": "0x04E6", "ProductId": "0x5720", "Name": "Identiv Cloud 4700 F", - "Pattern": "(Identiv CLOUD 4700 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4700 F Dual Interface Reader)", + "Pattern": "(Identive CLOUD 4700 F Contactless Reader( 0| 1)|Identiv uTrust 4700 F Dual Interface Reader\\(2\\))", "Icon": "img_Identive_Cloud_4700_F.png", "IconWithNPA": "img_Identive_Cloud_4700_F_mit_ausweis.png", "Drivers": @@ -335,7 +331,7 @@ [ { "Platforms": [{"os": "win"}, {"os": "mac"}], - "DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE":"Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } ] @@ -345,7 +341,7 @@ "VendorId": "0x04E6", "ProductId": "0x5724", "Name": "Identiv Cloud 4701 F", - "Pattern": "(Identiv CLOUD 4701 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4701 F Dual Interface Reader)", + "Pattern": "(Identiv CLOUD 4701 F Contactless Reader( 0| 1)|Identiv uTrust 4701 F Dual Interface Reader)", "Icon": "img_Identive_Cloud_4701_F.png", "IconWithNPA": "img_Identive_Cloud_4701_F_mit_ausweis.png", "Drivers": @@ -367,7 +363,7 @@ [ { "Platforms": [{"os": "win"}, {"os": "mac"}], - "DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE":"Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } ] @@ -395,7 +391,7 @@ [ { "Platforms": [{"os": "win"}], - "DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE":"Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." }, { @@ -410,7 +406,7 @@ "VendorId": "0x072F", "ProductId": "0x223B", "Name": "ACS ACR1252U", - "Pattern": "ACS ACR1252 1S CL Reader PICC 0|ACS ACR1252 Dual Reader(\\(1\\)|\\(2\\))", + "Pattern": "ACS ACR1252 1S CL Reader PICC 0|ACS ACR1252 Dual Reader\\(2\\)", "Icon": "img_ACS_ACR1252U.png", "IconWithNPA": "img_ACS_ACR1252U_mit_ausweis.png", "Drivers": @@ -428,7 +424,7 @@ [ { "Platforms": [{"os": "win"}], - "DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE":"Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." }, { @@ -465,7 +461,12 @@ "Information": [ { - "Platforms":[{"os": "win"}, {"os": "mac"}], + "Platforms":[{"os": "win"}], + "DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Beachten Sie bei der Auswahl, dass nur der \"X-CHIP WINDOWS BU & RU driver\" funktioniert.", + "EN": "It is necessary to install the drivers from the manufacturer. Please note that only the driver named \"X-CHIP WINDOWS BU & RU driver\" works with this card reader." + }, + { + "Platforms":[{"os": "mac"}], "DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.", "EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system." } @@ -486,16 +487,26 @@ "URL": "https://www.hidglobal.de/drivers" }, { - "Platforms": [{"os": "mac"}], + "Platforms": [{"os": "mac", "min": "10.12"}], "URL": "https://www.hidglobal.de/drivers" } ], "Information": [ { - "Platforms":[{"os": "win"}, {"os": "mac"}], - "DE":"Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", - "EN":"The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." + "Platforms":[{"os": "win"}], + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." + }, + { + "Platforms":[{"os": "mac", "max": "10.11"}], + "DE": "Der Kartenleser funktioniert nicht mit dem installierten CCID Treiber des Systems. Es existiert kein Treiber vom Hersteller.", + "EN": "The card reader is not compatible with the installed CCID driver of the operating system. The manufacturer does not provide a driver." + }, + { + "Platforms":[{"os": "mac", "min": "10.12"}], + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber.", + "EN": "The card reader is compatible with the installed system driver." } ] }, @@ -553,7 +564,12 @@ "Information": [ { - "Platforms":[{"os": "win"}, {"os": "mac"}], + "Platforms":[{"os": "win"}], + "DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite. Beachten Sie bei der Auswahl, dass nur der \"X-CHIP WINDOWS BU & RU driver\" funktioniert.", + "EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system. Please note that only the driver named \"X-CHIP WINDOWS BU & RU driver\" works with this card reader." + }, + { + "Platforms":[{"os": "mac"}], "DE": "Es ist notwendig, die Treiber vom Hersteller zu installieren. Dazu folgen Sie bitte dem jeweiligen Link für Ihr Betriebssystem zur Herstellerseite.", "EN": "It is necessary to install the drivers from the manufacturer. Please follow the relevant link for your operating system." } @@ -564,7 +580,7 @@ "VendorId": "0x076B", "ProductId": "0x5422", "Name": "OMNIKEY 5422", - "Pattern": "HID Global OMNIKEY 5422(CL)? Smartcard Reader 0|HID Global OMNIKEY Smartcard Reader (\\(1\\)|\\(2\\))", + "Pattern": "HID Global OMNIKEY 5422CL Smartcard Reader 0|HID Global OMNIKEY Smartcard Reader (\\(1\\)|\\(2\\))", "Icon": "img_HID_Omnikey_542x.png", "IconWithNPA": "img_HID_Omnikey_542x_mit_ausweis.png", "Drivers": @@ -578,12 +594,12 @@ [ { "Platforms": [{"os": "win"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." }, { "Platforms": [{"os": "mac"}, {"max": "10.12"}], - "DE": "Das Kartenlesegerät funktioniert nicht mit dem systemseitig installierten Treiber. Es existiert kein Treiber vom Hersteller", + "DE": "Der Kartenleser funktioniert nicht mit dem systemseitig installierten Treiber. Es existiert kein Treiber vom Hersteller", "EN": "The card reader not operates with the driver automatically installed by the system. There is no driver from the manufacturer" } ] @@ -629,18 +645,18 @@ [ { "Platforms": [{"os": "win"}], - "URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#windows10" + "URL": "https://supportportal.gemalto.com/csm?id=kb_article_view&sys_kb_id=8f07753f37854fc0cc47261953990e04&sysparm_article=KB0016422" }, { "Platforms": [{"os": "mac"}], - "URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#macosxdrivers" + "URL": "https://supportportal.gemalto.com/csm?id=kb_article_view&sys_kb_id=43a9b1f337c54fc0cc47261953990e8c&sysparm_article=KB0016424" } ], "Information": [ { "Platforms":[{"os": "win"}, {"os":"mac"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } ] @@ -657,18 +673,18 @@ [ { "Platforms": [{"os": "win"}], - "URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#windows10" + "URL": "https://supportportal.gemalto.com/csm?id=kb_article_view&sys_kb_id=8f07753f37854fc0cc47261953990e04&sysparm_article=KB0016422" }, { "Platforms": [{"os": "mac"}], - "URL": "http://support.gemalto.com/index.php?id=prox-du_prox-su#macosxdrivers" + "URL": "https://supportportal.gemalto.com/csm?id=kb_article_view&sys_kb_id=43a9b1f337c54fc0cc47261953990e8c&sysparm_article=KB0016424" } ], "Information": [ { "Platforms": [{"os": "win"}, {"os": "mac"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } ] @@ -697,7 +713,7 @@ }, { "Platforms": [{"os": "mac"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } ] @@ -726,7 +742,7 @@ }, { "Platforms": [{"os": "mac"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Falls Sie jedoch den Treiber von der Webseite des Herstellers installieren möchten, ist anschließend ein Neustart erforderlich.", "EN": "The card reader operates with the driver automatically installed by the system. In case you prefer to install the driver from the manufacturer's webseite, a reboot is required." } ] @@ -783,7 +799,7 @@ [ { "Platforms": [{"os": "win"}, {"os": "mac"}], - "DE": "Das Kartenlesegerät funktioniert mit dem systemseitig installierten Treiber. Es ist kein Treiber vom Hersteller vorhanden.", + "DE": "Der Kartenleser funktioniert mit dem systemseitig installierten Treiber. Es ist kein Treiber vom Hersteller vorhanden.", "EN": "The card reader operates with the driver automatically installed by the system. There is no driver from the manufacturer." } ] diff --git a/src/CommandLineParser.cpp b/src/CommandLineParser.cpp index f007d4c80..880261f2c 100644 --- a/src/CommandLineParser.cpp +++ b/src/CommandLineParser.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CommandLineParser.h" @@ -29,6 +29,7 @@ CommandLineParser::CommandLineParser() : mParser() , mOptionKeepLog(QStringLiteral("keep"), QStringLiteral("Keep log file.")) , mOptionNoLogFile(QStringLiteral("no-logfile"), QStringLiteral("Disable log file.")) + , mOptionNoLogHandler(QStringLiteral("no-loghandler"), QStringLiteral("Disable default log handler.")) , mOptionShowWindow(QStringLiteral("show"), QStringLiteral("Show window on startup.")) , mOptionProxy(QStringLiteral("no-proxy"), QStringLiteral("Disable system proxy.")) , mOptionUi(QStringLiteral("ui"), QStringLiteral("Use given UI plugin."), UILoader::getInstance().getDefault().join(QLatin1Char(','))) @@ -51,6 +52,7 @@ void CommandLineParser::addOptions() mParser.addOption(mOptionKeepLog); mParser.addOption(mOptionNoLogFile); + mParser.addOption(mOptionNoLogHandler); #if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS) && !defined(Q_OS_WINRT) mParser.addOption(mOptionShowWindow); @@ -83,6 +85,11 @@ void CommandLineParser::parse(QCoreApplication* pApp) logHandler->setLogfile(false); } + if (mParser.isSet(mOptionNoLogHandler)) + { + logHandler->setUseHandler(false); + } + #if !defined(Q_OS_ANDROID) && !defined(Q_OS_IOS) && !defined(Q_OS_WINRT) if (mParser.isSet(mOptionShowWindow)) { diff --git a/src/CommandLineParser.h b/src/CommandLineParser.h index 276d520c8..de2a0c945 100644 --- a/src/CommandLineParser.h +++ b/src/CommandLineParser.h @@ -1,7 +1,7 @@ /* * \brief Provides and parses command line options. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -18,6 +18,7 @@ class CommandLineParser QCommandLineParser mParser; const QCommandLineOption mOptionKeepLog; const QCommandLineOption mOptionNoLogFile; + const QCommandLineOption mOptionNoLogHandler; const QCommandLineOption mOptionShowWindow; const QCommandLineOption mOptionProxy; const QCommandLineOption mOptionUi; diff --git a/src/activation/base/ActivationContext.cpp b/src/activation/base/ActivationContext.cpp index 080d701a6..7351037ab 100644 --- a/src/activation/base/ActivationContext.cpp +++ b/src/activation/base/ActivationContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ActivationContext.h" diff --git a/src/activation/base/ActivationContext.h b/src/activation/base/ActivationContext.h index ef458afd1..ad66aa28f 100644 --- a/src/activation/base/ActivationContext.h +++ b/src/activation/base/ActivationContext.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/base/ActivationHandler.cpp b/src/activation/base/ActivationHandler.cpp index 12f804b9f..76901531b 100644 --- a/src/activation/base/ActivationHandler.cpp +++ b/src/activation/base/ActivationHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ActivationHandler.h" @@ -66,6 +66,11 @@ const QVector& ActivationHandler::getInstances() } +void ActivationHandler::onApplicationActivated() +{ +} + + bool ActivationHandler::isPlugIn(const QJsonObject& pJson) { return pJson.value(QStringLiteral("IID")).toString() == QLatin1String("governikus.ActivationHandler"); diff --git a/src/activation/base/ActivationHandler.h b/src/activation/base/ActivationHandler.h index a02bdc54d..e5a066635 100644 --- a/src/activation/base/ActivationHandler.h +++ b/src/activation/base/ActivationHandler.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -69,6 +69,9 @@ class ActivationHandler virtual bool start() = 0; virtual void stop() = 0; + public Q_SLOTS: + virtual void onApplicationActivated(); + Q_SIGNALS: void fireShowUserInformation(const QString& pErrorMessage = QString()); void fireShowUiRequest(UiModule pModule); diff --git a/src/activation/customscheme/CustomSchemeActivationContext.cpp b/src/activation/customscheme/CustomSchemeActivationContext.cpp index 53c7edb27..dbf9d514b 100644 --- a/src/activation/customscheme/CustomSchemeActivationContext.cpp +++ b/src/activation/customscheme/CustomSchemeActivationContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CustomSchemeActivationContext.h" diff --git a/src/activation/customscheme/CustomSchemeActivationContext.h b/src/activation/customscheme/CustomSchemeActivationContext.h index 077fccf3c..1c487adbc 100644 --- a/src/activation/customscheme/CustomSchemeActivationContext.h +++ b/src/activation/customscheme/CustomSchemeActivationContext.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/customscheme/CustomSchemeActivationHandler.cpp b/src/activation/customscheme/CustomSchemeActivationHandler.cpp index 5f73e2cc9..0fcc050d5 100644 --- a/src/activation/customscheme/CustomSchemeActivationHandler.cpp +++ b/src/activation/customscheme/CustomSchemeActivationHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CustomSchemeActivationHandler.h" diff --git a/src/activation/customscheme/CustomSchemeActivationHandler.h b/src/activation/customscheme/CustomSchemeActivationHandler.h index ee128a760..451e97e9b 100644 --- a/src/activation/customscheme/CustomSchemeActivationHandler.h +++ b/src/activation/customscheme/CustomSchemeActivationHandler.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/intent/AusweisApp2Service.java b/src/activation/intent/AusweisApp2Service.java index dd8203d04..2fbe39653 100644 --- a/src/activation/intent/AusweisApp2Service.java +++ b/src/activation/intent/AusweisApp2Service.java @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ package com.governikus.ausweisapp2; diff --git a/src/activation/intent/IntentActivationContext.cpp b/src/activation/intent/IntentActivationContext.cpp index b7b9e039a..d10c2e28d 100644 --- a/src/activation/intent/IntentActivationContext.cpp +++ b/src/activation/intent/IntentActivationContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "IntentActivationContext.h" diff --git a/src/activation/intent/IntentActivationContext.h b/src/activation/intent/IntentActivationContext.h index e376a61dd..298f96a51 100644 --- a/src/activation/intent/IntentActivationContext.h +++ b/src/activation/intent/IntentActivationContext.h @@ -2,7 +2,7 @@ * \brief Implementation of ActivationContext for Intent * based activation on Android systems. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/intent/IntentActivationHandler.cpp b/src/activation/intent/IntentActivationHandler.cpp index 3a063dae8..4c831835c 100644 --- a/src/activation/intent/IntentActivationHandler.cpp +++ b/src/activation/intent/IntentActivationHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "IntentActivationHandler.h" @@ -17,27 +17,6 @@ using namespace governikus; Q_DECLARE_LOGGING_CATEGORY(activation) -#ifdef Q_OS_ANDROID - -JNIEXPORT void JNICALL Java_com_governikus_ausweisapp2_MainActivity_triggerActivation(JNIEnv* env, jobject obj, jstring lastIntent) -{ - Q_UNUSED(env) - Q_UNUSED(obj) - if (lastIntent != nullptr) - { - QString lastIntentString = QAndroidJniObject("java/lang/String", "(Ljava/lang/String;)V", lastIntent).toString(); - if (!lastIntentString.isNull()) - { - auto handler = ActivationHandler::getInstance(); - Q_ASSERT(handler); - handler->onIntent(QUrl(lastIntentString)); - } - } -} - - -#endif - void IntentActivationHandler::onIntent(const QUrl& pUrl) { @@ -52,12 +31,6 @@ void IntentActivationHandler::onIntent(const QUrl& pUrl) bool IntentActivationHandler::start() { #ifdef Q_OS_ANDROID - const QString& intent = QAndroidJniObject::callStaticObjectMethod("com/governikus/ausweisapp2/MainActivity", "getStoredIntent").toString(); - if (!intent.isNull()) - { - onIntent(intent); - } - return true; #else @@ -71,3 +44,15 @@ bool IntentActivationHandler::start() void IntentActivationHandler::stop() { } + + +void IntentActivationHandler::onApplicationActivated() +{ +#ifdef Q_OS_ANDROID + const QString& intent = QAndroidJniObject::callStaticObjectMethod("com/governikus/ausweisapp2/MainActivity", "fetchStoredIntent").toString(); + if (!intent.isNull()) + { + onIntent(intent); + } +#endif +} diff --git a/src/activation/intent/IntentActivationHandler.h b/src/activation/intent/IntentActivationHandler.h index 0883a716c..3db1d286d 100644 --- a/src/activation/intent/IntentActivationHandler.h +++ b/src/activation/intent/IntentActivationHandler.h @@ -1,22 +1,11 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once #include "ActivationHandler.h" -#ifdef Q_OS_ANDROID -#include - - -extern "C" -{ -JNIEXPORT void JNICALL Java_com_governikus_ausweisapp2_MainActivity_triggerActivation(JNIEnv* env, jobject obj, jstring lastIntent); -} -#endif - - namespace governikus { @@ -32,10 +21,6 @@ class IntentActivationHandler Q_PLUGIN_METADATA(IID "governikus.ActivationHandler" FILE "metadata.json") Q_INTERFACES(governikus::ActivationHandler) -#ifdef Q_OS_ANDROID - friend void ::Java_com_governikus_ausweisapp2_MainActivity_triggerActivation(JNIEnv*, jobject, jstring); -#endif - private: void onIntent(const QUrl& pUrl); @@ -44,6 +29,7 @@ class IntentActivationHandler virtual bool start() override; virtual void stop() override; + virtual void onApplicationActivated() override; }; } // namespace governikus diff --git a/src/activation/intent/MainActivity.java b/src/activation/intent/MainActivity.java index d5644cd7d..401d819cd 100644 --- a/src/activation/intent/MainActivity.java +++ b/src/activation/intent/MainActivity.java @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ package com.governikus.ausweisapp2; @@ -24,6 +24,7 @@ public class MainActivity extends QtActivity private static final String LOG_TAG = AusweisApp2Service.LOG_TAG; private static Intent cIntent; + private static boolean cStartedByAuth; private NfcForegroundDispatcher mNfcForegroundDispatcher; private static class NfcForegroundDispatcher @@ -74,7 +75,7 @@ void disable() // required by IntentActivationHandler -> MainActivityAccessor - public static String getStoredIntent() + public static String fetchStoredIntent() { if (cIntent == null) { @@ -82,17 +83,15 @@ public static String getStoredIntent() return null; } - return cIntent.getDataString(); + String url = cIntent.getDataString(); + cIntent = null; + return url; } public static boolean isStartedByAuth() { - if (cIntent == null) - { - return false; - } - return cIntent.getAction().equals("android.intent.action.VIEW"); + return cStartedByAuth; } @@ -102,6 +101,7 @@ public void onCreate(Bundle savedInstanceState) Log.d(LOG_TAG, "onCreate (initial invocation of application): " + getIntent()); super.onCreate(savedInstanceState); cIntent = getIntent(); + cStartedByAuth = "android.intent.action.VIEW".equals(cIntent.getAction()); // register the broadcast receiver after loading the C++ library in super.onCreate() AndroidBluetoothReceiver.register(this); @@ -117,8 +117,8 @@ protected void onNewIntent(Intent newIntent) { Log.d(LOG_TAG, "onNewIntent (subsequent invocation of application): " + newIntent); super.onNewIntent(newIntent); - - triggerActivation(newIntent.getDataString()); + cIntent = newIntent; + cStartedByAuth = "android.intent.action.VIEW".equals(cIntent.getAction()); } @@ -176,5 +176,4 @@ public boolean isTablet() } - private native void triggerActivation(String lastIntent); } diff --git a/src/activation/intent/UpdateReceiver.java b/src/activation/intent/UpdateReceiver.java new file mode 100644 index 000000000..375213032 --- /dev/null +++ b/src/activation/intent/UpdateReceiver.java @@ -0,0 +1,69 @@ +/* + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +package com.governikus.ausweisapp2; + +import java.io.File; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +public class UpdateReceiver extends BroadcastReceiver +{ + private static final String LOG_TAG = AusweisApp2Service.LOG_TAG; + + + @Override + public void onReceive(Context context, Intent intent) + { + if (!intent.getAction().equals(Intent.ACTION_MY_PACKAGE_REPLACED)) + { + return; + } + + Log.d(LOG_TAG, "New app version received. Clear app cache."); + + try + { + deleteDir(context.getCacheDir()); + } + catch (Exception e) + { + Log.e(LOG_TAG, e.toString()); + } + } + + + private static boolean deleteDir(File file) + { + if (file == null) + { + return false; + } + + if (file.isFile()) + { + return file.delete(); + } + + if (file.isDirectory()) + { + for (File child : file.listFiles()) + { + if (!deleteDir(child)) + { + Log.d(LOG_TAG, "Failed to delete " + child); + return false; + } + } + return file.delete(); + } + + return false; + } + + +} diff --git a/src/activation/internal/InternalActivationContext.cpp b/src/activation/internal/InternalActivationContext.cpp index cd999b238..77b274fff 100644 --- a/src/activation/internal/InternalActivationContext.cpp +++ b/src/activation/internal/InternalActivationContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "InternalActivationContext.h" diff --git a/src/activation/internal/InternalActivationContext.h b/src/activation/internal/InternalActivationContext.h index e741bf3ff..63dafb625 100644 --- a/src/activation/internal/InternalActivationContext.h +++ b/src/activation/internal/InternalActivationContext.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/internal/InternalActivationHandler.cpp b/src/activation/internal/InternalActivationHandler.cpp index e5c7f41f7..7eefd0d8d 100644 --- a/src/activation/internal/InternalActivationHandler.cpp +++ b/src/activation/internal/InternalActivationHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "InternalActivationHandler.h" diff --git a/src/activation/internal/InternalActivationHandler.h b/src/activation/internal/InternalActivationHandler.h index c50fb0873..072b87dd2 100644 --- a/src/activation/internal/InternalActivationHandler.h +++ b/src/activation/internal/InternalActivationHandler.h @@ -1,7 +1,7 @@ /*! * \brief ActivationHandler for Internal usage like JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/webservice/Template.cpp b/src/activation/webservice/Template.cpp index 805c899ba..0138d53c8 100644 --- a/src/activation/webservice/Template.cpp +++ b/src/activation/webservice/Template.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "Template.h" diff --git a/src/activation/webservice/Template.h b/src/activation/webservice/Template.h index 800dcc28c..4d575ff6f 100644 --- a/src/activation/webservice/Template.h +++ b/src/activation/webservice/Template.h @@ -1,7 +1,7 @@ /*! * A simple template renderer. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/webservice/WebserviceActivationContext.cpp b/src/activation/webservice/WebserviceActivationContext.cpp index 3343cdbea..b05519347 100644 --- a/src/activation/webservice/WebserviceActivationContext.cpp +++ b/src/activation/webservice/WebserviceActivationContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WebserviceActivationContext.h" @@ -102,7 +102,7 @@ bool WebserviceActivationContext::sendErrorPage(http_status pStatusCode, const G htmlTemplate.setContextParameter(QStringLiteral("ERROR_MESSAGE_LABEL"), tr("Error message")); htmlTemplate.setContextParameter(QStringLiteral("ERROR_MESSAGE"), pStatus.toErrorDescription(true)); htmlTemplate.setContextParameter(QStringLiteral("REPORT_HEADER"), tr("Would you like to report this error?")); - htmlTemplate.setContextParameter(QStringLiteral("REPORT_LINK"), tr("https://www.ausweisapp.bund.de/en/feedback/melden-sie-einen-fehler/")); + htmlTemplate.setContextParameter(QStringLiteral("REPORT_LINK"), tr("https://www.ausweisapp.bund.de/en/qa/report-an-error/")); htmlTemplate.setContextParameter(QStringLiteral("REPORT_BUTTON"), tr("Report now")); QByteArray htmlPage = htmlTemplate.render().toUtf8(); diff --git a/src/activation/webservice/WebserviceActivationContext.h b/src/activation/webservice/WebserviceActivationContext.h index 5a0fd0a94..ed8084815 100644 --- a/src/activation/webservice/WebserviceActivationContext.h +++ b/src/activation/webservice/WebserviceActivationContext.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/activation/webservice/WebserviceActivationHandler.cpp b/src/activation/webservice/WebserviceActivationHandler.cpp index e5360b2de..897dfb908 100644 --- a/src/activation/webservice/WebserviceActivationHandler.cpp +++ b/src/activation/webservice/WebserviceActivationHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WebserviceActivationHandler.h" @@ -122,7 +122,7 @@ void WebserviceActivationHandler::onNewRequest(const QSharedPointer htmlTemplate.setContextParameter(QStringLiteral("ERROR_MESSAGE_LABEL"), tr("Error message")); htmlTemplate.setContextParameter(QStringLiteral("ERROR_MESSAGE"), tr("Unknown request: %1").arg(url.toString())); htmlTemplate.setContextParameter(QStringLiteral("REPORT_HEADER"), tr("Would you like to report this error?")); - htmlTemplate.setContextParameter(QStringLiteral("REPORT_LINK"), tr("https://www.ausweisapp.bund.de/en/feedback/melden-sie-einen-fehler/")); + htmlTemplate.setContextParameter(QStringLiteral("REPORT_LINK"), tr("https://www.ausweisapp.bund.de/en/qa/report-an-error/")); htmlTemplate.setContextParameter(QStringLiteral("REPORT_BUTTON"), tr("Report now")); QByteArray htmlPage = htmlTemplate.render().toUtf8(); diff --git a/src/activation/webservice/WebserviceActivationHandler.h b/src/activation/webservice/WebserviceActivationHandler.h index 70dcd394c..ff1910eea 100644 --- a/src/activation/webservice/WebserviceActivationHandler.h +++ b/src/activation/webservice/WebserviceActivationHandler.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/autostart_helper/main.mm b/src/autostart_helper/main.mm index cf49470dc..b42cca663 100644 --- a/src/autostart_helper/main.mm +++ b/src/autostart_helper/main.mm @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/src/card/base/Apdu.cpp b/src/card/base/Apdu.cpp index ef1e0ddbe..358f27f80 100644 --- a/src/card/base/Apdu.cpp +++ b/src/card/base/Apdu.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Apdu.h" diff --git a/src/card/base/Apdu.h b/src/card/base/Apdu.h index c28c35919..a5787adf7 100644 --- a/src/card/base/Apdu.h +++ b/src/card/base/Apdu.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/Card.cpp b/src/card/base/Card.cpp index 2b2e5af5c..1a12ec2d7 100644 --- a/src/card/base/Card.cpp +++ b/src/card/base/Card.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Card.h" diff --git a/src/card/base/Card.h b/src/card/base/Card.h index 2446f709f..95b4bdb2c 100644 --- a/src/card/base/Card.h +++ b/src/card/base/Card.h @@ -1,7 +1,7 @@ /*! * \brief Class representing a smart card * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/CardConnection.cpp b/src/card/base/CardConnection.cpp index 48bcce7f6..eb8706b54 100644 --- a/src/card/base/CardConnection.cpp +++ b/src/card/base/CardConnection.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnection.h" diff --git a/src/card/base/CardConnection.h b/src/card/base/CardConnection.h index 6c506ba0d..7bc8dd8fd 100644 --- a/src/card/base/CardConnection.h +++ b/src/card/base/CardConnection.h @@ -1,7 +1,7 @@ /*! * \brief Contains a card connection object * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -167,6 +167,10 @@ class CardConnection { connect(command, &BaseCardCommand::commandDone, this, [this](QSharedPointer pCommand){ mPacePinSuccessful = pCommand->getReturnCode() == CardReturnCode::OK; + if (!mPacePinSuccessful) + { + mPaceCanSuccessful = false; + } }); } diff --git a/src/card/base/CardConnectionWorker.cpp b/src/card/base/CardConnectionWorker.cpp index d034adc0d..2e9804121 100644 --- a/src/card/base/CardConnectionWorker.cpp +++ b/src/card/base/CardConnectionWorker.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnectionWorker.h" @@ -81,7 +81,12 @@ CardReturnCode CardConnectionWorker::transmit(const CommandApdu& pCommandApdu, R if (mSecureMessaging) { - CommandApdu securedCommandApdu = mSecureMessaging->encrypt(pCommandApdu); + const CommandApdu securedCommandApdu = mSecureMessaging->encrypt(pCommandApdu); + if (securedCommandApdu.getBuffer().isEmpty()) + { + return CardReturnCode::COMMAND_FAILED; + } + ResponseApdu securedResponseApdu; returnCode = mReader->getCard()->transmit(securedCommandApdu, securedResponseApdu); if (!mSecureMessaging->decrypt(securedResponseApdu, pResponseApdu)) diff --git a/src/card/base/CardConnectionWorker.h b/src/card/base/CardConnectionWorker.h index 544a7eed5..9a7e52707 100644 --- a/src/card/base/CardConnectionWorker.h +++ b/src/card/base/CardConnectionWorker.h @@ -1,7 +1,7 @@ /*! * \brief Worker for \ref CardConnection that will do the job in \ref ReaderManagerWorker * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/CardInfo.cpp b/src/card/base/CardInfo.cpp index 844fa1340..c7ffe6231 100644 --- a/src/card/base/CardInfo.cpp +++ b/src/card/base/CardInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief CardInfo holds smart card information, such as the type and some contained data structure (currently only the EF.CardAccess). * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardInfo.h" diff --git a/src/card/base/CardInfo.h b/src/card/base/CardInfo.h index ecb724a3a..97210ad30 100644 --- a/src/card/base/CardInfo.h +++ b/src/card/base/CardInfo.h @@ -1,7 +1,7 @@ /*! * \brief Contains the CardInfo and the CardInfoFactory * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/CardOperationResult.h b/src/card/base/CardOperationResult.h index 809dd5cd4..abd2ee35c 100644 --- a/src/card/base/CardOperationResult.h +++ b/src/card/base/CardOperationResult.h @@ -1,7 +1,7 @@ /*! * \brief Generic class representing the result of a card operation, or an error. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/CommandApdu.cpp b/src/card/base/CommandApdu.cpp index 0bacd6fe2..6d4342c31 100644 --- a/src/card/base/CommandApdu.cpp +++ b/src/card/base/CommandApdu.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CommandApdu.h" diff --git a/src/card/base/CommandApdu.h b/src/card/base/CommandApdu.h index b2fc5f4f0..d210bd7bd 100644 --- a/src/card/base/CommandApdu.h +++ b/src/card/base/CommandApdu.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/Commands.cpp b/src/card/base/Commands.cpp index fae93d0f2..02cd8d3cf 100644 --- a/src/card/base/Commands.cpp +++ b/src/card/base/Commands.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Commands.h" diff --git a/src/card/base/Commands.h b/src/card/base/Commands.h index 63257fa56..0b532ee36 100644 --- a/src/card/base/Commands.h +++ b/src/card/base/Commands.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/DestroyPaceChannel.cpp b/src/card/base/DestroyPaceChannel.cpp index 13c7a28dc..df00cda60 100644 --- a/src/card/base/DestroyPaceChannel.cpp +++ b/src/card/base/DestroyPaceChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "DestroyPaceChannel.h" diff --git a/src/card/base/DestroyPaceChannel.h b/src/card/base/DestroyPaceChannel.h index fb9a27a2c..4bea18cb1 100644 --- a/src/card/base/DestroyPaceChannel.h +++ b/src/card/base/DestroyPaceChannel.h @@ -1,7 +1,7 @@ /*! * \brief Data object for creation of card command DestroyPACEChannel * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/EstablishPaceChannel.cpp b/src/card/base/EstablishPaceChannel.cpp index 23dbc582f..16a8ebc7b 100644 --- a/src/card/base/EstablishPaceChannel.cpp +++ b/src/card/base/EstablishPaceChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "EstablishPaceChannel.h" diff --git a/src/card/base/EstablishPaceChannel.h b/src/card/base/EstablishPaceChannel.h index a2020dcd8..528940f8f 100644 --- a/src/card/base/EstablishPaceChannel.h +++ b/src/card/base/EstablishPaceChannel.h @@ -1,7 +1,7 @@ /*! * \brief Data object for output of card command EstablishPaceChannel * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/EstablishPaceChannelOutput.cpp b/src/card/base/EstablishPaceChannelOutput.cpp index 0dd931129..bc2deee07 100644 --- a/src/card/base/EstablishPaceChannelOutput.cpp +++ b/src/card/base/EstablishPaceChannelOutput.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "EstablishPaceChannelOutput.h" diff --git a/src/card/base/EstablishPaceChannelOutput.h b/src/card/base/EstablishPaceChannelOutput.h index c235c9cc8..334acdc07 100644 --- a/src/card/base/EstablishPaceChannelOutput.h +++ b/src/card/base/EstablishPaceChannelOutput.h @@ -1,7 +1,7 @@ /*! * \brief Data object for output of card command EstablishPaceChannel * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/EstablishPaceChannelParser.cpp b/src/card/base/EstablishPaceChannelParser.cpp index 5a02d3336..a702d901f 100644 --- a/src/card/base/EstablishPaceChannelParser.cpp +++ b/src/card/base/EstablishPaceChannelParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "EstablishPaceChannelParser.h" diff --git a/src/card/base/EstablishPaceChannelParser.h b/src/card/base/EstablishPaceChannelParser.h index 66613945b..ef1d461fb 100644 --- a/src/card/base/EstablishPaceChannelParser.h +++ b/src/card/base/EstablishPaceChannelParser.h @@ -1,7 +1,7 @@ /*! * \brief Parser to decapsulation EstablishPACEChannel * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/FileRef.cpp b/src/card/base/FileRef.cpp index 67aa182a2..1a462ee92 100644 --- a/src/card/base/FileRef.cpp +++ b/src/card/base/FileRef.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Commands.h" diff --git a/src/card/base/FileRef.h b/src/card/base/FileRef.h index b0178df64..710503606 100644 --- a/src/card/base/FileRef.h +++ b/src/card/base/FileRef.h @@ -1,7 +1,7 @@ /*! * \brief Reference information for files on smart cards. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/GeneralAuthenticateResponse.cpp b/src/card/base/GeneralAuthenticateResponse.cpp index ea17a434f..7216f1274 100644 --- a/src/card/base/GeneralAuthenticateResponse.cpp +++ b/src/card/base/GeneralAuthenticateResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/src/card/base/GeneralAuthenticateResponse.h b/src/card/base/GeneralAuthenticateResponse.h index 8b269a1ec..1149ae207 100644 --- a/src/card/base/GeneralAuthenticateResponse.h +++ b/src/card/base/GeneralAuthenticateResponse.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of GeneralAuthenticate response APDUs. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/InputAPDUInfo.cpp b/src/card/base/InputAPDUInfo.cpp index 1826e37f7..e77de9a3d 100644 --- a/src/card/base/InputAPDUInfo.cpp +++ b/src/card/base/InputAPDUInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "InputAPDUInfo.h" diff --git a/src/card/base/InputAPDUInfo.h b/src/card/base/InputAPDUInfo.h index 5f24ef261..f34a5d5f2 100644 --- a/src/card/base/InputAPDUInfo.h +++ b/src/card/base/InputAPDUInfo.h @@ -1,7 +1,7 @@ /*! * \brief Holds the data of an InputAPDUInfo element. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CommandApdu.h" diff --git a/src/card/base/PersoSimWorkaround.h b/src/card/base/PersoSimWorkaround.h index 6b7414f42..b7849355e 100644 --- a/src/card/base/PersoSimWorkaround.h +++ b/src/card/base/PersoSimWorkaround.h @@ -1,7 +1,7 @@ /*! * \brief This class is only to mark it as a workaround for working with the PersoSim. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/PinModify.cpp b/src/card/base/PinModify.cpp index 2ae40662f..9d751f2a2 100644 --- a/src/card/base/PinModify.cpp +++ b/src/card/base/PinModify.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PinModify.h" diff --git a/src/card/base/PinModify.h b/src/card/base/PinModify.h index b3f83fc96..51a17b345 100644 --- a/src/card/base/PinModify.h +++ b/src/card/base/PinModify.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/PinModifyOutput.cpp b/src/card/base/PinModifyOutput.cpp index 9089c980d..28d8c3fdd 100644 --- a/src/card/base/PinModifyOutput.cpp +++ b/src/card/base/PinModifyOutput.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PinModifyOutput.h" diff --git a/src/card/base/PinModifyOutput.h b/src/card/base/PinModifyOutput.h index 3b1dea55f..bb2c5be25 100644 --- a/src/card/base/PinModifyOutput.h +++ b/src/card/base/PinModifyOutput.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/Reader.cpp b/src/card/base/Reader.cpp index 773b19f83..16f09fd5c 100644 --- a/src/card/base/Reader.cpp +++ b/src/card/base/Reader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/card/base/Reader.h b/src/card/base/Reader.h index d782d8654..1352aa0d1 100644 --- a/src/card/base/Reader.h +++ b/src/card/base/Reader.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/ReaderFilter.cpp b/src/card/base/ReaderFilter.cpp index 074400c76..21f02faa5 100644 --- a/src/card/base/ReaderFilter.cpp +++ b/src/card/base/ReaderFilter.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderFilter.h" diff --git a/src/card/base/ReaderFilter.h b/src/card/base/ReaderFilter.h index 03e8ea5a2..a6f344a55 100644 --- a/src/card/base/ReaderFilter.h +++ b/src/card/base/ReaderFilter.h @@ -1,7 +1,7 @@ /*! * \brief A configured filter used to retrieve readers * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/ReaderInfo.cpp b/src/card/base/ReaderInfo.cpp index 347a3b465..7766765c6 100644 --- a/src/card/base/ReaderInfo.cpp +++ b/src/card/base/ReaderInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderInfo.h" diff --git a/src/card/base/ReaderInfo.h b/src/card/base/ReaderInfo.h index 1fbf46a3b..82a7adf06 100644 --- a/src/card/base/ReaderInfo.h +++ b/src/card/base/ReaderInfo.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/ReaderManager.cpp b/src/card/base/ReaderManager.cpp index 94cf339fd..a803e8fa5 100644 --- a/src/card/base/ReaderManager.cpp +++ b/src/card/base/ReaderManager.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderManager.h" @@ -151,6 +151,14 @@ void ReaderManager::stopScanAll() } +bool ReaderManager::isScanRunning() +{ + bool running = false; + QMetaObject::invokeMethod(mWorker.data(), &ReaderManagerWorker::isScanRunning, Qt::BlockingQueuedConnection, &running); + return running; +} + + QVector ReaderManager::getPlugInInfos() const { const QMutexLocker mutexLocker(&mMutex); diff --git a/src/card/base/ReaderManager.h b/src/card/base/ReaderManager.h index 688325398..314dc266c 100644 --- a/src/card/base/ReaderManager.h +++ b/src/card/base/ReaderManager.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -55,6 +55,11 @@ class ReaderManager */ void stopScanAll(); + /*! + * Queries if any plugin is currently scanning + */ + bool isScanRunning(); + /*! * Stops started scan for devices. * Be aware that some plugins don't finish the whole scan if you diff --git a/src/card/base/ReaderManagerPlugIn.cpp b/src/card/base/ReaderManagerPlugIn.cpp index 5233f914a..47508bd41 100644 --- a/src/card/base/ReaderManagerPlugIn.cpp +++ b/src/card/base/ReaderManagerPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderManagerPlugIn.h" @@ -11,15 +11,18 @@ ReaderManagerPlugIn::ReaderManagerPlugIn(ReaderManagerPlugInType pPlugInType, bool pAvailable, bool pPlugInEnabled) : mInfo(pPlugInType, pPlugInEnabled, pAvailable) + , mScanRunning(false) { } void ReaderManagerPlugIn::startScan(bool /*pAutoConnect*/) { + mScanRunning = true; } void ReaderManagerPlugIn::stopScan() { + mScanRunning = false; } diff --git a/src/card/base/ReaderManagerPlugIn.h b/src/card/base/ReaderManagerPlugIn.h index 973f11cca..acc6d10af 100644 --- a/src/card/base/ReaderManagerPlugIn.h +++ b/src/card/base/ReaderManagerPlugIn.h @@ -2,7 +2,7 @@ * \brief PlugIn to control different kinds of reader managers that will be used in \ref ReaderManager. * If you implement a class of this PlugIn you need to register it in \ref ReaderManager, otherwise it won't be used. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -24,6 +24,9 @@ class ReaderManagerPlugIn Q_OBJECT ReaderManagerPlugInInfo mInfo; + private: + bool mScanRunning; + protected: void setReaderInfoEnabled(bool pEnabled) { @@ -69,6 +72,12 @@ class ReaderManagerPlugIn } + bool isScanRunning() const + { + return mScanRunning; + } + + virtual QList getReaders() const = 0; diff --git a/src/card/base/ReaderManagerPlugInInfo.cpp b/src/card/base/ReaderManagerPlugInInfo.cpp index 2f0cd5c7d..416f283c1 100644 --- a/src/card/base/ReaderManagerPlugInInfo.cpp +++ b/src/card/base/ReaderManagerPlugInInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderManagerPlugInInfo.h" diff --git a/src/card/base/ReaderManagerPlugInInfo.h b/src/card/base/ReaderManagerPlugInInfo.h index cfd16a70e..199c3d737 100644 --- a/src/card/base/ReaderManagerPlugInInfo.h +++ b/src/card/base/ReaderManagerPlugInInfo.h @@ -1,7 +1,7 @@ /*! * \brief Data object providing information about a reader manager plug-in. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/ReaderManagerWorker.cpp b/src/card/base/ReaderManagerWorker.cpp index fbb071643..1f06af536 100644 --- a/src/card/base/ReaderManagerWorker.cpp +++ b/src/card/base/ReaderManagerWorker.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderManagerWorker.h" @@ -130,6 +130,21 @@ void ReaderManagerWorker::stopScan(ReaderManagerPlugInType pType) } +bool ReaderManagerWorker::isScanRunning() const +{ + Q_ASSERT(QObject::thread() == QThread::currentThread()); + + for (const auto& plugin : qAsConst(mPlugIns)) + { + if (plugin->isScanRunning()) + { + return true; + } + } + return false; +} + + QVector ReaderManagerWorker::getPlugInInfos() const { Q_ASSERT(QObject::thread() == QThread::currentThread()); diff --git a/src/card/base/ReaderManagerWorker.h b/src/card/base/ReaderManagerWorker.h index 13232bbab..e3fc0071b 100644 --- a/src/card/base/ReaderManagerWorker.h +++ b/src/card/base/ReaderManagerWorker.h @@ -1,7 +1,7 @@ /*! * \brief Worker implementation of ReaderManger thread * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -35,6 +35,7 @@ class ReaderManagerWorker Q_INVOKABLE void startScan(ReaderManagerPlugInType pType, bool pAutoConnect); Q_INVOKABLE void stopScan(ReaderManagerPlugInType pType); + Q_INVOKABLE bool isScanRunning() const; Q_INVOKABLE QVector getPlugInInfos() const; Q_INVOKABLE QVector getReaderInfos(const ReaderFilter& pFilter = ReaderFilter()) const; diff --git a/src/card/base/ResponseApdu.cpp b/src/card/base/ResponseApdu.cpp index eb0fec73d..465d9d7b1 100644 --- a/src/card/base/ResponseApdu.cpp +++ b/src/card/base/ResponseApdu.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ResponseApdu.h" diff --git a/src/card/base/ResponseApdu.h b/src/card/base/ResponseApdu.h index a165ceb29..1ce161321 100644 --- a/src/card/base/ResponseApdu.h +++ b/src/card/base/ResponseApdu.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/SecureMessagingResponse.cpp b/src/card/base/SecureMessagingResponse.cpp index 55aaa3440..32a643603 100644 --- a/src/card/base/SecureMessagingResponse.cpp +++ b/src/card/base/SecureMessagingResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "SecureMessagingResponse.h" diff --git a/src/card/base/SecureMessagingResponse.h b/src/card/base/SecureMessagingResponse.h index 2a27a6159..816160939 100644 --- a/src/card/base/SecureMessagingResponse.h +++ b/src/card/base/SecureMessagingResponse.h @@ -1,7 +1,7 @@ /*! * \brief Response APDU for SecureMessaging * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/SmartCardDefinitions.cpp b/src/card/base/SmartCardDefinitions.cpp index e714255f3..90052d9a3 100644 --- a/src/card/base/SmartCardDefinitions.cpp +++ b/src/card/base/SmartCardDefinitions.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SmartCardDefinitions.h" diff --git a/src/card/base/SmartCardDefinitions.h b/src/card/base/SmartCardDefinitions.h index 0e1e673a0..a80f5c2a6 100644 --- a/src/card/base/SmartCardDefinitions.h +++ b/src/card/base/SmartCardDefinitions.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/ASN1TemplateUtil.cpp b/src/card/base/asn1/ASN1TemplateUtil.cpp index 13b65eb33..105cac032 100644 --- a/src/card/base/asn1/ASN1TemplateUtil.cpp +++ b/src/card/base/asn1/ASN1TemplateUtil.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/ASN1TemplateUtil.h b/src/card/base/asn1/ASN1TemplateUtil.h index a1ef6b4ab..7dbf69f3a 100644 --- a/src/card/base/asn1/ASN1TemplateUtil.h +++ b/src/card/base/asn1/ASN1TemplateUtil.h @@ -1,7 +1,7 @@ /*! * \brief Utility template functions for encoding and decoding of ASN.1 types * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/ASN1Util.cpp b/src/card/base/asn1/ASN1Util.cpp index 26bfcd4a8..0b14cd2ac 100644 --- a/src/card/base/asn1/ASN1Util.cpp +++ b/src/card/base/asn1/ASN1Util.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/src/card/base/asn1/ASN1Util.h b/src/card/base/asn1/ASN1Util.h index 4497b7f0c..b8df4acf7 100644 --- a/src/card/base/asn1/ASN1Util.h +++ b/src/card/base/asn1/ASN1Util.h @@ -1,7 +1,7 @@ /*! * \brief Utility functions, templates and other ASN.1 related helper stuff * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/AccessRoleAndRight.cpp b/src/card/base/asn1/AccessRoleAndRight.cpp index f579714e7..933c20797 100644 --- a/src/card/base/asn1/AccessRoleAndRight.cpp +++ b/src/card/base/asn1/AccessRoleAndRight.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "AccessRoleAndRight.h" diff --git a/src/card/base/asn1/AccessRoleAndRight.h b/src/card/base/asn1/AccessRoleAndRight.h index 4dcd55eec..5373a5465 100644 --- a/src/card/base/asn1/AccessRoleAndRight.h +++ b/src/card/base/asn1/AccessRoleAndRight.h @@ -6,7 +6,7 @@ * or otherwise they complain about the qHash() function for AccessRight not being * found. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/AuthenticatedAuxiliaryData.cpp b/src/card/base/asn1/AuthenticatedAuxiliaryData.cpp index a67590583..25ae8bec3 100644 --- a/src/card/base/asn1/AuthenticatedAuxiliaryData.cpp +++ b/src/card/base/asn1/AuthenticatedAuxiliaryData.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AuthenticatedAuxiliaryData.h" diff --git a/src/card/base/asn1/AuthenticatedAuxiliaryData.h b/src/card/base/asn1/AuthenticatedAuxiliaryData.h index c6217fcfd..a4134fec2 100644 --- a/src/card/base/asn1/AuthenticatedAuxiliaryData.h +++ b/src/card/base/asn1/AuthenticatedAuxiliaryData.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of AuthenticatedAuxiliaryData. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/CVCertificate.cpp b/src/card/base/asn1/CVCertificate.cpp index 70bc8fb5a..735cb3007 100644 --- a/src/card/base/asn1/CVCertificate.cpp +++ b/src/card/base/asn1/CVCertificate.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CVCertificate.h" diff --git a/src/card/base/asn1/CVCertificate.h b/src/card/base/asn1/CVCertificate.h index 3979315d8..9d6dbc010 100644 --- a/src/card/base/asn1/CVCertificate.h +++ b/src/card/base/asn1/CVCertificate.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of Card Verifiable Certificate, CVC. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/CVCertificateBody.cpp b/src/card/base/asn1/CVCertificateBody.cpp index 52eea5e53..d0e88dd6a 100644 --- a/src/card/base/asn1/CVCertificateBody.cpp +++ b/src/card/base/asn1/CVCertificateBody.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CVCertificateBody.h" diff --git a/src/card/base/asn1/CVCertificateBody.h b/src/card/base/asn1/CVCertificateBody.h index 3730de4c6..7f747a841 100644 --- a/src/card/base/asn1/CVCertificateBody.h +++ b/src/card/base/asn1/CVCertificateBody.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/CVCertificateChain.cpp b/src/card/base/asn1/CVCertificateChain.cpp index 8ee579043..7eef8e494 100644 --- a/src/card/base/asn1/CVCertificateChain.cpp +++ b/src/card/base/asn1/CVCertificateChain.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CVCertificateChain.h" diff --git a/src/card/base/asn1/CVCertificateChain.h b/src/card/base/asn1/CVCertificateChain.h index 6abcde412..32a266854 100644 --- a/src/card/base/asn1/CVCertificateChain.h +++ b/src/card/base/asn1/CVCertificateChain.h @@ -5,7 +5,7 @@ * (The holder is equivalent to the Subject-DN, the authority reference * is equivalent to the Issuer-DN.) * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/CVCertificateChainBuilder.cpp b/src/card/base/asn1/CVCertificateChainBuilder.cpp index dba14f3ce..7d4e04575 100644 --- a/src/card/base/asn1/CVCertificateChainBuilder.cpp +++ b/src/card/base/asn1/CVCertificateChainBuilder.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CVCertificateChainBuilder.h" diff --git a/src/card/base/asn1/CVCertificateChainBuilder.h b/src/card/base/asn1/CVCertificateChainBuilder.h index 549c71f16..e9ce8d5f5 100644 --- a/src/card/base/asn1/CVCertificateChainBuilder.h +++ b/src/card/base/asn1/CVCertificateChainBuilder.h @@ -1,7 +1,7 @@ /*! * \brief Builder for CVC chains. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/CertificateDescription.cpp b/src/card/base/asn1/CertificateDescription.cpp index 7489269d6..cc22299da 100644 --- a/src/card/base/asn1/CertificateDescription.cpp +++ b/src/card/base/asn1/CertificateDescription.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CertificateDescription.h" diff --git a/src/card/base/asn1/CertificateDescription.h b/src/card/base/asn1/CertificateDescription.h index a8c1668a6..cb65bf50f 100644 --- a/src/card/base/asn1/CertificateDescription.h +++ b/src/card/base/asn1/CertificateDescription.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of ASN.1 type CertificateDescription with OpenSSL * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/ChainBuilder.h b/src/card/base/asn1/ChainBuilder.h index deb347551..dcc2bfbb5 100644 --- a/src/card/base/asn1/ChainBuilder.h +++ b/src/card/base/asn1/ChainBuilder.h @@ -5,7 +5,7 @@ * * All found chains are returned by the function /ref ChainBuilder::getChains(). * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/Chat.cpp b/src/card/base/asn1/Chat.cpp index 2955f3a9b..f1c89f14f 100644 --- a/src/card/base/asn1/Chat.cpp +++ b/src/card/base/asn1/Chat.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/Chat.h b/src/card/base/asn1/Chat.h index 2c237db78..9a8adb187 100644 --- a/src/card/base/asn1/Chat.h +++ b/src/card/base/asn1/Chat.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of Certificate Holder Authorization Template, CHAT. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/ChipAuthenticationInfo.cpp b/src/card/base/asn1/ChipAuthenticationInfo.cpp index d59f4ec65..ef19e03e3 100644 --- a/src/card/base/asn1/ChipAuthenticationInfo.cpp +++ b/src/card/base/asn1/ChipAuthenticationInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/ChipAuthenticationInfo.h b/src/card/base/asn1/ChipAuthenticationInfo.h index 32236a206..4d773f379 100644 --- a/src/card/base/asn1/ChipAuthenticationInfo.h +++ b/src/card/base/asn1/ChipAuthenticationInfo.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of ChipAuthenticationInfo * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/EFCardSecurity.cpp b/src/card/base/asn1/EFCardSecurity.cpp index 13a908bbe..2ec254a51 100644 --- a/src/card/base/asn1/EFCardSecurity.cpp +++ b/src/card/base/asn1/EFCardSecurity.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/EFCardSecurity.h b/src/card/base/asn1/EFCardSecurity.h index b0b68d694..18482a525 100644 --- a/src/card/base/asn1/EFCardSecurity.h +++ b/src/card/base/asn1/EFCardSecurity.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of EFCardSecurity * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/card/base/asn1/EcdsaPublicKey.cpp b/src/card/base/asn1/EcdsaPublicKey.cpp index 5210cef41..2f2caa076 100644 --- a/src/card/base/asn1/EcdsaPublicKey.cpp +++ b/src/card/base/asn1/EcdsaPublicKey.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/EcdsaPublicKey.h b/src/card/base/asn1/EcdsaPublicKey.h index ac2d6c653..db9c15753 100644 --- a/src/card/base/asn1/EcdsaPublicKey.h +++ b/src/card/base/asn1/EcdsaPublicKey.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/KnownOIDs.cpp b/src/card/base/asn1/KnownOIDs.cpp index d2229d9d6..261081984 100644 --- a/src/card/base/asn1/KnownOIDs.cpp +++ b/src/card/base/asn1/KnownOIDs.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "KnownOIDs.h" diff --git a/src/card/base/asn1/KnownOIDs.h b/src/card/base/asn1/KnownOIDs.h index 2381c2be7..e09385f11 100644 --- a/src/card/base/asn1/KnownOIDs.h +++ b/src/card/base/asn1/KnownOIDs.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/PaceInfo.cpp b/src/card/base/asn1/PaceInfo.cpp index 98ed8c811..27d09ce08 100644 --- a/src/card/base/asn1/PaceInfo.cpp +++ b/src/card/base/asn1/PaceInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/card/base/asn1/PaceInfo.h b/src/card/base/asn1/PaceInfo.h index 106ae899e..5f7a5702d 100644 --- a/src/card/base/asn1/PaceInfo.h +++ b/src/card/base/asn1/PaceInfo.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of PACEInfo * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/SecurityInfo.cpp b/src/card/base/asn1/SecurityInfo.cpp index d6d2a5b06..a14f7ec26 100644 --- a/src/card/base/asn1/SecurityInfo.cpp +++ b/src/card/base/asn1/SecurityInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/SecurityInfo.h b/src/card/base/asn1/SecurityInfo.h index 3fccf2caf..81e312966 100644 --- a/src/card/base/asn1/SecurityInfo.h +++ b/src/card/base/asn1/SecurityInfo.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of SecurityInfo * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/SecurityInfos.cpp b/src/card/base/asn1/SecurityInfos.cpp index d64b7cff4..60667de1b 100644 --- a/src/card/base/asn1/SecurityInfos.cpp +++ b/src/card/base/asn1/SecurityInfos.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ASN1TemplateUtil.h" diff --git a/src/card/base/asn1/SecurityInfos.h b/src/card/base/asn1/SecurityInfos.h index 4170ee4a9..55f896976 100644 --- a/src/card/base/asn1/SecurityInfos.h +++ b/src/card/base/asn1/SecurityInfos.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of SecurityInfos * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/asn1/SignatureChecker.cpp b/src/card/base/asn1/SignatureChecker.cpp index 28944d533..89aead0f9 100644 --- a/src/card/base/asn1/SignatureChecker.cpp +++ b/src/card/base/asn1/SignatureChecker.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/SignatureChecker.h" diff --git a/src/card/base/asn1/SignatureChecker.h b/src/card/base/asn1/SignatureChecker.h index 80ad385fc..098310e40 100644 --- a/src/card/base/asn1/SignatureChecker.h +++ b/src/card/base/asn1/SignatureChecker.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/BaseCardCommand.cpp b/src/card/base/command/BaseCardCommand.cpp index c0989a8e0..8b89df433 100644 --- a/src/card/base/command/BaseCardCommand.cpp +++ b/src/card/base/command/BaseCardCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "BaseCardCommand.h" @@ -45,7 +45,7 @@ void BaseCardCommand::execute() Q_ASSERT(QObject::thread() == QThread::currentThread()); internalExecute(); - qDebug(card) << metaObject()->className() << "| ReturnCode of internal execute:" << mReturnCode; + qCDebug(card) << metaObject()->className() << "| ReturnCode of internal execute:" << mReturnCode; // A "Command" is created by CardConnection::call() in Main-Thread and moved to ReaderManager-Thread. // The internal execution of a command will be self-sufficient until it has finished. After the diff --git a/src/card/base/command/BaseCardCommand.h b/src/card/base/command/BaseCardCommand.h index 90b043dfc..101049a5f 100644 --- a/src/card/base/command/BaseCardCommand.h +++ b/src/card/base/command/BaseCardCommand.h @@ -1,7 +1,7 @@ /*! * \brief Holds some basic card control commands * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/CreateCardConnectionCommand.cpp b/src/card/base/command/CreateCardConnectionCommand.cpp index cd554fc30..232f3b349 100644 --- a/src/card/base/command/CreateCardConnectionCommand.cpp +++ b/src/card/base/command/CreateCardConnectionCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CreateCardConnectionCommand.h" diff --git a/src/card/base/command/CreateCardConnectionCommand.h b/src/card/base/command/CreateCardConnectionCommand.h index f792a3cd9..9940089f2 100644 --- a/src/card/base/command/CreateCardConnectionCommand.h +++ b/src/card/base/command/CreateCardConnectionCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command implementation for asynchronous CardConnection creation * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/DestroyPaceChannelCommand.cpp b/src/card/base/command/DestroyPaceChannelCommand.cpp index 78c684e5d..2302c65f8 100644 --- a/src/card/base/command/DestroyPaceChannelCommand.cpp +++ b/src/card/base/command/DestroyPaceChannelCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnection.h" diff --git a/src/card/base/command/DestroyPaceChannelCommand.h b/src/card/base/command/DestroyPaceChannelCommand.h index 9361731c1..a4cbb5e8d 100644 --- a/src/card/base/command/DestroyPaceChannelCommand.h +++ b/src/card/base/command/DestroyPaceChannelCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command to destroy a Pace channel. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/DidAuthenticateEAC1Command.cpp b/src/card/base/command/DidAuthenticateEAC1Command.cpp index f0b810e18..8c4be371c 100644 --- a/src/card/base/command/DidAuthenticateEAC1Command.cpp +++ b/src/card/base/command/DidAuthenticateEAC1Command.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "BaseCardCommand.h" diff --git a/src/card/base/command/DidAuthenticateEAC1Command.h b/src/card/base/command/DidAuthenticateEAC1Command.h index eebe45f77..934273e63 100644 --- a/src/card/base/command/DidAuthenticateEAC1Command.h +++ b/src/card/base/command/DidAuthenticateEAC1Command.h @@ -1,7 +1,7 @@ /*! * \brief Command to perform the DID Authenticate EAC1 process. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/DidAuthenticateEAC2Command.cpp b/src/card/base/command/DidAuthenticateEAC2Command.cpp index d62a7c7bb..f53f57866 100644 --- a/src/card/base/command/DidAuthenticateEAC2Command.cpp +++ b/src/card/base/command/DidAuthenticateEAC2Command.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DidAuthenticateEAC2Command.h" diff --git a/src/card/base/command/DidAuthenticateEAC2Command.h b/src/card/base/command/DidAuthenticateEAC2Command.h index 35f460642..ff36d3385 100644 --- a/src/card/base/command/DidAuthenticateEAC2Command.h +++ b/src/card/base/command/DidAuthenticateEAC2Command.h @@ -1,7 +1,7 @@ /*! * \brief Command to perform the DID Authenticate EAC2 process. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/EstablishPaceChannelCommand.cpp b/src/card/base/command/EstablishPaceChannelCommand.cpp index c4ea8e547..67eca9e2f 100644 --- a/src/card/base/command/EstablishPaceChannelCommand.cpp +++ b/src/card/base/command/EstablishPaceChannelCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "EstablishPaceChannelCommand.h" diff --git a/src/card/base/command/EstablishPaceChannelCommand.h b/src/card/base/command/EstablishPaceChannelCommand.h index 9c689b264..ad86568a3 100644 --- a/src/card/base/command/EstablishPaceChannelCommand.h +++ b/src/card/base/command/EstablishPaceChannelCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command to change the PIN of a card. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/SetEidPinCommand.cpp b/src/card/base/command/SetEidPinCommand.cpp index e2d94b6af..5b22f4a34 100644 --- a/src/card/base/command/SetEidPinCommand.cpp +++ b/src/card/base/command/SetEidPinCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "SetEidPinCommand.h" diff --git a/src/card/base/command/SetEidPinCommand.h b/src/card/base/command/SetEidPinCommand.h index e4c722f06..7ab7cd8eb 100644 --- a/src/card/base/command/SetEidPinCommand.h +++ b/src/card/base/command/SetEidPinCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command to set the Eid PIN of a card. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/TransmitCommand.cpp b/src/card/base/command/TransmitCommand.cpp index e9c35730e..459a10c37 100644 --- a/src/card/base/command/TransmitCommand.cpp +++ b/src/card/base/command/TransmitCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TransmitCommand.h" diff --git a/src/card/base/command/TransmitCommand.h b/src/card/base/command/TransmitCommand.h index 2ea235a81..bd3610171 100644 --- a/src/card/base/command/TransmitCommand.h +++ b/src/card/base/command/TransmitCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command to transmit data to/from the card. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/UnblockPinCommand.cpp b/src/card/base/command/UnblockPinCommand.cpp index b27d4f94c..e3962e03f 100644 --- a/src/card/base/command/UnblockPinCommand.cpp +++ b/src/card/base/command/UnblockPinCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "UnblockPinCommand.h" diff --git a/src/card/base/command/UnblockPinCommand.h b/src/card/base/command/UnblockPinCommand.h index fbfb5521d..318da120b 100644 --- a/src/card/base/command/UnblockPinCommand.h +++ b/src/card/base/command/UnblockPinCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command to unblock the PIN of a card. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/command/UpdateRetryCounterCommand.cpp b/src/card/base/command/UpdateRetryCounterCommand.cpp index 74746ef83..b3d8d7df2 100644 --- a/src/card/base/command/UpdateRetryCounterCommand.cpp +++ b/src/card/base/command/UpdateRetryCounterCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "UpdateRetryCounterCommand.h" diff --git a/src/card/base/command/UpdateRetryCounterCommand.h b/src/card/base/command/UpdateRetryCounterCommand.h index 9c2d152e9..ae25ecbf8 100644 --- a/src/card/base/command/UpdateRetryCounterCommand.h +++ b/src/card/base/command/UpdateRetryCounterCommand.h @@ -1,7 +1,7 @@ /*! * \brief Command to update the retry counter of a card. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/CipherMac.cpp b/src/card/base/pace/CipherMac.cpp index 977943b0a..7172ba4a8 100644 --- a/src/card/base/pace/CipherMac.cpp +++ b/src/card/base/pace/CipherMac.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/CipherMac.h" diff --git a/src/card/base/pace/CipherMac.h b/src/card/base/pace/CipherMac.h index 917a7871c..1738f3a57 100644 --- a/src/card/base/pace/CipherMac.h +++ b/src/card/base/pace/CipherMac.h @@ -1,7 +1,7 @@ /*! * \brief CMAC implementation to be used in PACE protocol. See TR 03110. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/DomainParameterMapping.h b/src/card/base/pace/DomainParameterMapping.h index e5dc89b74..a713c7011 100644 --- a/src/card/base/pace/DomainParameterMapping.h +++ b/src/card/base/pace/DomainParameterMapping.h @@ -1,7 +1,7 @@ /*! * \brief Mapping protocol for PACE domain parameters. For details see TR 03110. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/EstablishPaceChannelCode.h b/src/card/base/pace/EstablishPaceChannelCode.h index 0bed38d2f..4ea69770b 100644 --- a/src/card/base/pace/EstablishPaceChannelCode.h +++ b/src/card/base/pace/EstablishPaceChannelCode.h @@ -1,7 +1,7 @@ /*! * \brief EstablishPaceChannel error code definitions * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/KeyAgreement.cpp b/src/card/base/pace/KeyAgreement.cpp index ce52502b8..8518fafc1 100644 --- a/src/card/base/pace/KeyAgreement.cpp +++ b/src/card/base/pace/KeyAgreement.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/card/base/pace/KeyAgreement.h b/src/card/base/pace/KeyAgreement.h index 9b69e6477..d8aebc3ab 100644 --- a/src/card/base/pace/KeyAgreement.h +++ b/src/card/base/pace/KeyAgreement.h @@ -1,7 +1,7 @@ /*! * \brief the key agreement protocol use in PACE. For details see TR 03110. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/KeyDerivationFunction.cpp b/src/card/base/pace/KeyDerivationFunction.cpp index fbf6566e8..3d2aa93d8 100644 --- a/src/card/base/pace/KeyDerivationFunction.cpp +++ b/src/card/base/pace/KeyDerivationFunction.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/KeyDerivationFunction.h" diff --git a/src/card/base/pace/KeyDerivationFunction.h b/src/card/base/pace/KeyDerivationFunction.h index 07427ed05..a6d203967 100644 --- a/src/card/base/pace/KeyDerivationFunction.h +++ b/src/card/base/pace/KeyDerivationFunction.h @@ -1,7 +1,7 @@ /*! * \brief Creates key according to TR 03110 Part 3 chapters A.2.3 ff. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/PaceHandler.cpp b/src/card/base/pace/PaceHandler.cpp index 5d743b6e3..8e5c77d38 100644 --- a/src/card/base/pace/PaceHandler.cpp +++ b/src/card/base/pace/PaceHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/PaceHandler.h" diff --git a/src/card/base/pace/PaceHandler.h b/src/card/base/pace/PaceHandler.h index 468b2a0e7..1b557279c 100644 --- a/src/card/base/pace/PaceHandler.h +++ b/src/card/base/pace/PaceHandler.h @@ -1,7 +1,7 @@ /*! * \brief Handler for the PACE protocol. See TR-03110. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/SecureMessaging.cpp b/src/card/base/pace/SecureMessaging.cpp index 96b2b3839..f8b4c4712 100644 --- a/src/card/base/pace/SecureMessaging.cpp +++ b/src/card/base/pace/SecureMessaging.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" @@ -91,7 +91,7 @@ CommandApdu SecureMessaging::encrypt(const CommandApdu& pCommandApdu) if (!isInitialized()) { qCCritical(card) << "SecureMessaging not successfully initialized"; - return pCommandApdu; + return QByteArray(); } ++mSendSequenceCounter; diff --git a/src/card/base/pace/SecureMessaging.h b/src/card/base/pace/SecureMessaging.h index 1671e6412..b61b4a71e 100644 --- a/src/card/base/pace/SecureMessaging.h +++ b/src/card/base/pace/SecureMessaging.h @@ -1,7 +1,7 @@ /*! * \brief Implements TR-03110 v2 part3 --> Secure Messaging. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/SymmetricCipher.cpp b/src/card/base/pace/SymmetricCipher.cpp index f13e6a507..f3bfeae15 100644 --- a/src/card/base/pace/SymmetricCipher.cpp +++ b/src/card/base/pace/SymmetricCipher.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/SymmetricCipher.h" diff --git a/src/card/base/pace/SymmetricCipher.h b/src/card/base/pace/SymmetricCipher.h index f778c6b45..1df7de5c9 100644 --- a/src/card/base/pace/SymmetricCipher.h +++ b/src/card/base/pace/SymmetricCipher.h @@ -1,7 +1,7 @@ /*! * \brief Symmetric decryption method used for PACE. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/ec/EcUtil.h b/src/card/base/pace/ec/EcUtil.h index 34deb6ed1..8c25f5fb4 100644 --- a/src/card/base/pace/ec/EcUtil.h +++ b/src/card/base/pace/ec/EcUtil.h @@ -1,7 +1,7 @@ /*! * \brief Elliptic curve utility. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/ec/EcdhGenericMapping.cpp b/src/card/base/pace/ec/EcdhGenericMapping.cpp index 75342d17d..441422fdc 100644 --- a/src/card/base/pace/ec/EcdhGenericMapping.cpp +++ b/src/card/base/pace/ec/EcdhGenericMapping.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/src/card/base/pace/ec/EcdhGenericMapping.h b/src/card/base/pace/ec/EcdhGenericMapping.h index fc6fc404e..8ed196895 100644 --- a/src/card/base/pace/ec/EcdhGenericMapping.h +++ b/src/card/base/pace/ec/EcdhGenericMapping.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/ec/EcdhKeyAgreement.cpp b/src/card/base/pace/ec/EcdhKeyAgreement.cpp index 9fbd42a8b..861e677ba 100644 --- a/src/card/base/pace/ec/EcdhKeyAgreement.cpp +++ b/src/card/base/pace/ec/EcdhKeyAgreement.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/KnownOIDs.h" diff --git a/src/card/base/pace/ec/EcdhKeyAgreement.h b/src/card/base/pace/ec/EcdhKeyAgreement.h index 683a0d19d..533f8f6bc 100644 --- a/src/card/base/pace/ec/EcdhKeyAgreement.h +++ b/src/card/base/pace/ec/EcdhKeyAgreement.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/base/pace/ec/EllipticCurveFactory.cpp b/src/card/base/pace/ec/EllipticCurveFactory.cpp index e63c1a033..cb8e37270 100644 --- a/src/card/base/pace/ec/EllipticCurveFactory.cpp +++ b/src/card/base/pace/ec/EllipticCurveFactory.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/src/card/base/pace/ec/EllipticCurveFactory.h b/src/card/base/pace/ec/EllipticCurveFactory.h index ded5c98db..3f0f44cce 100644 --- a/src/card/base/pace/ec/EllipticCurveFactory.h +++ b/src/card/base/pace/ec/EllipticCurveFactory.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/AndroidBluetoothAdapter.cpp b/src/card/bluetooth/AndroidBluetoothAdapter.cpp index b06434138..bf1b84aca 100644 --- a/src/card/bluetooth/AndroidBluetoothAdapter.cpp +++ b/src/card/bluetooth/AndroidBluetoothAdapter.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "AndroidBluetoothAdapter.h" diff --git a/src/card/bluetooth/AndroidBluetoothAdapter.h b/src/card/bluetooth/AndroidBluetoothAdapter.h index 9b2d9b469..18c23b33e 100644 --- a/src/card/bluetooth/AndroidBluetoothAdapter.h +++ b/src/card/bluetooth/AndroidBluetoothAdapter.h @@ -1,7 +1,7 @@ /*! * \brief This class accesses the java class android.bluetooth.BluetoothAdapter * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/AndroidBluetoothReceiver.java b/src/card/bluetooth/AndroidBluetoothReceiver.java index 9971d493d..09afb71b8 100644 --- a/src/card/bluetooth/AndroidBluetoothReceiver.java +++ b/src/card/bluetooth/AndroidBluetoothReceiver.java @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ package com.governikus.ausweisapp2; @@ -98,7 +98,14 @@ public void onReceive(Context context, Intent intent) BluetoothAdapterState currentState = BluetoothAdapterState.forInt(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1)); Log.d(LOG_TAG, "state changed " + previousState + " -> " + currentState); - bluetoothAdapterStateChanged(previousState.getValue(), currentState.getValue()); + try + { + bluetoothAdapterStateChanged(previousState.getValue(), currentState.getValue()); + } + catch (UnsatisfiedLinkError e) + { + Log.w(LOG_TAG, "Cannot notify native core since it has been unloaded: " + e.getMessage()); + } } diff --git a/src/card/bluetooth/BluetoothCard.cpp b/src/card/bluetooth/BluetoothCard.cpp index ec0459854..778ef61db 100644 --- a/src/card/bluetooth/BluetoothCard.cpp +++ b/src/card/bluetooth/BluetoothCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothCard.h" diff --git a/src/card/bluetooth/BluetoothCard.h b/src/card/bluetooth/BluetoothCard.h index 3796a3f90..8be668ccb 100644 --- a/src/card/bluetooth/BluetoothCard.h +++ b/src/card/bluetooth/BluetoothCard.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of Card object for Bluetooth * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/BluetoothDebug.cpp b/src/card/bluetooth/BluetoothDebug.cpp index 8b1b0163d..3e37d8f85 100644 --- a/src/card/bluetooth/BluetoothDebug.cpp +++ b/src/card/bluetooth/BluetoothDebug.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothDebug.h" diff --git a/src/card/bluetooth/BluetoothDebug.h b/src/card/bluetooth/BluetoothDebug.h index cf127ebc4..e8589bb93 100644 --- a/src/card/bluetooth/BluetoothDebug.h +++ b/src/card/bluetooth/BluetoothDebug.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of debug output for various Qt Bluetooth classes. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/BluetoothDeviceUtil.h b/src/card/bluetooth/BluetoothDeviceUtil.h index d36763bdb..30cf51bf4 100644 --- a/src/card/bluetooth/BluetoothDeviceUtil.h +++ b/src/card/bluetooth/BluetoothDeviceUtil.h @@ -1,7 +1,7 @@ /*! * \brief Utility function for determination of unique Bluetooth device ids. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/BluetoothReader.cpp b/src/card/bluetooth/BluetoothReader.cpp index e6b17cb25..6bf48cdc0 100644 --- a/src/card/bluetooth/BluetoothReader.cpp +++ b/src/card/bluetooth/BluetoothReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothCard.h" diff --git a/src/card/bluetooth/BluetoothReader.h b/src/card/bluetooth/BluetoothReader.h index 4a6b05156..9deba5881 100644 --- a/src/card/bluetooth/BluetoothReader.h +++ b/src/card/bluetooth/BluetoothReader.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of Reader object for Bluetooth based card reader. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/BluetoothReaderManagerPlugIn.cpp b/src/card/bluetooth/BluetoothReaderManagerPlugIn.cpp index 20ae62908..2bf5f1b96 100644 --- a/src/card/bluetooth/BluetoothReaderManagerPlugIn.cpp +++ b/src/card/bluetooth/BluetoothReaderManagerPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothReaderManagerPlugIn.h" @@ -28,7 +28,6 @@ BluetoothReaderManagerPlugIn::BluetoothReaderManagerPlugIn() , mReaders() , mReadersDiscoveredInCurrentScan() , mTimerIdDiscoverPairedDevices(0) - , mScanInProgress(false) { connect(&mDeviceDiscoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered, this, &BluetoothReaderManagerPlugIn::onDeviceDiscovered); connect(&mDeviceDiscoveryAgent, &QBluetoothDeviceDiscoveryAgent::finished, this, &BluetoothReaderManagerPlugIn::onDeviceDiscoveryFinished); @@ -81,7 +80,7 @@ void BluetoothReaderManagerPlugIn::startScan(bool /*pAutoConnect*/) mDeviceDiscoveryAgent.start(); } - setScanInProgress(true); + setScanRunning(true); } @@ -110,27 +109,34 @@ void BluetoothReaderManagerPlugIn::stopScan() qCWarning(bluetooth) << "Bluetooth device discovery not running"; } - setScanInProgress(false); + setScanRunning(false); } -void BluetoothReaderManagerPlugIn::setScanInProgress(bool pScanInProgress) +void BluetoothReaderManagerPlugIn::setScanRunning(bool pScanRunning) { - if (mScanInProgress != pScanInProgress) + if (isScanRunning() != pScanRunning) { - mScanInProgress = pScanInProgress; - onScanInProgressChanged(); + if (pScanRunning) + { + ReaderManagerPlugIn::startScan(false); + } + else + { + ReaderManagerPlugIn::stopScan(); + } + onScanRunningChanged(); } } -void BluetoothReaderManagerPlugIn::onScanInProgressChanged() +void BluetoothReaderManagerPlugIn::onScanRunningChanged() { const auto& values = mReaders.values(); for (BluetoothReader* const reader : values) { const bool connected = reader->getReaderInfo().isConnected(); - if (mScanInProgress && !connected) + if (isScanRunning() && !connected) { /* * Workaround for pairing problem on Android: @@ -146,7 +152,7 @@ void BluetoothReaderManagerPlugIn::onScanInProgressChanged() reader->connectReader(); }); } - else if (connected && !mScanInProgress) + else if (connected && !isScanRunning()) { reader->disconnectReader(); } @@ -237,7 +243,7 @@ void BluetoothReaderManagerPlugIn::onDeviceInitialized(const QBluetoothDeviceInf mReaders.insert(deviceId, reader); connect(device.data(), &CyberJackWaveDevice::fireDisconnected, this, &BluetoothReaderManagerPlugIn::onDeviceDisconnected); - if (mScanInProgress) + if (isScanRunning()) { mPendingConnections.insert(reader->getName(), 1); @@ -278,7 +284,7 @@ void BluetoothReaderManagerPlugIn::onDeviceDisconnected(const QBluetoothDeviceIn void BluetoothReaderManagerPlugIn::onDeviceDiscoveryFinished() { - if (mScanInProgress) + if (isScanRunning()) { mDeviceDiscoveryAgent.start(); return; diff --git a/src/card/bluetooth/BluetoothReaderManagerPlugIn.h b/src/card/bluetooth/BluetoothReaderManagerPlugIn.h index 11ecd724f..3f8256dcc 100644 --- a/src/card/bluetooth/BluetoothReaderManagerPlugIn.h +++ b/src/card/bluetooth/BluetoothReaderManagerPlugIn.h @@ -1,7 +1,7 @@ /*! * \brief Implements the ReaderManagerPlugIn with Qt'S Bluetooth API. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -37,12 +37,11 @@ class BluetoothReaderManagerPlugIn QMap mPendingConnections; QStringList mReadersDiscoveredInCurrentScan; int mTimerIdDiscoverPairedDevices; - bool mScanInProgress; void onRemoveReader(const QString& pDeviceId); void timerEvent(QTimerEvent* event) override; - void setScanInProgress(bool pScanInProgress); - void onScanInProgressChanged(); + void setScanRunning(bool pScanRunning); + void onScanRunningChanged(); QVector deviceIdsForReaderName(const QString& pReaderName); diff --git a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p.h b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p.h index 183281b4f..ec6c011bf 100644 --- a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p.h +++ b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p.h @@ -1,7 +1,7 @@ /*! * \brief Private implementation part of the ReaderManagerPlugIn with Qt'S Bluetooth API. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_android.cpp b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_android.cpp index e0fdc6627..32abbcd92 100644 --- a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_android.cpp +++ b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_android.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "AndroidBluetoothAdapter.h" diff --git a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_generic.cpp b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_generic.cpp index a5b0c2ba1..dd0df4f26 100644 --- a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_generic.cpp +++ b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_generic.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothReaderManagerPlugIn_p.h" diff --git a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_ios.mm b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_ios.mm index 11fc430a4..556ba5902 100644 --- a/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_ios.mm +++ b/src/card/bluetooth/BluetoothReaderManagerPlugIn_p_ios.mm @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothReaderManagerPlugIn_p.h" diff --git a/src/card/bluetooth/CyberJackWaveDevice.cpp b/src/card/bluetooth/CyberJackWaveDevice.cpp index 002a7fede..8af5bb53e 100644 --- a/src/card/bluetooth/CyberJackWaveDevice.cpp +++ b/src/card/bluetooth/CyberJackWaveDevice.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothDebug.h" diff --git a/src/card/bluetooth/CyberJackWaveDevice.h b/src/card/bluetooth/CyberJackWaveDevice.h index c42825fe6..cab17e071 100644 --- a/src/card/bluetooth/CyberJackWaveDevice.h +++ b/src/card/bluetooth/CyberJackWaveDevice.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of a Reiner SCT cyberJack wave device. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/NotificationEnabler.cpp b/src/card/bluetooth/NotificationEnabler.cpp index 86254f71c..c87a17a5d 100644 --- a/src/card/bluetooth/NotificationEnabler.cpp +++ b/src/card/bluetooth/NotificationEnabler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "NotificationEnabler.h" diff --git a/src/card/bluetooth/NotificationEnabler.h b/src/card/bluetooth/NotificationEnabler.h index cfa111ba7..7c01517be 100644 --- a/src/card/bluetooth/NotificationEnabler.h +++ b/src/card/bluetooth/NotificationEnabler.h @@ -6,7 +6,7 @@ * * For details see the Qt documentation on QLowEnergyService and topic "Service Interaction". * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/SynchronousBtCall.cpp b/src/card/bluetooth/SynchronousBtCall.cpp index c497cbd02..0a03d5351 100644 --- a/src/card/bluetooth/SynchronousBtCall.cpp +++ b/src/card/bluetooth/SynchronousBtCall.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "SynchronousBtCall.h" diff --git a/src/card/bluetooth/SynchronousBtCall.h b/src/card/bluetooth/SynchronousBtCall.h index 720e61a2f..5d25f52ed 100644 --- a/src/card/bluetooth/SynchronousBtCall.h +++ b/src/card/bluetooth/SynchronousBtCall.h @@ -2,7 +2,7 @@ * \brief Helper class to make a synchronous call to a Bluetooth device, i.e. * send the request data and wait for the response data to arrive. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothIDs.cpp b/src/card/bluetooth/messages/BluetoothIDs.cpp index 35da8c3a9..2de5a9357 100644 --- a/src/card/bluetooth/messages/BluetoothIDs.cpp +++ b/src/card/bluetooth/messages/BluetoothIDs.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothIDs.h" diff --git a/src/card/bluetooth/messages/BluetoothIDs.h b/src/card/bluetooth/messages/BluetoothIDs.h index b249d4013..e0b5aff0d 100644 --- a/src/card/bluetooth/messages/BluetoothIDs.h +++ b/src/card/bluetooth/messages/BluetoothIDs.h @@ -1,7 +1,7 @@ /*! * \brief Add message and parameter types of bluetooth SIM ACCESS spec * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessage.cpp b/src/card/bluetooth/messages/BluetoothMessage.cpp index 6788a3e26..7cb73d31e 100644 --- a/src/card/bluetooth/messages/BluetoothMessage.cpp +++ b/src/card/bluetooth/messages/BluetoothMessage.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessage.h" diff --git a/src/card/bluetooth/messages/BluetoothMessage.h b/src/card/bluetooth/messages/BluetoothMessage.h index 09cb95be6..a910bdd62 100644 --- a/src/card/bluetooth/messages/BluetoothMessage.h +++ b/src/card/bluetooth/messages/BluetoothMessage.h @@ -1,7 +1,7 @@ /*! * \brief Implements a message of SIM ACCESS profile. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageConnectResponse.cpp b/src/card/bluetooth/messages/BluetoothMessageConnectResponse.cpp index 0d0257b08..ad60e0c3b 100644 --- a/src/card/bluetooth/messages/BluetoothMessageConnectResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageConnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessageConnectResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageConnectResponse.h b/src/card/bluetooth/messages/BluetoothMessageConnectResponse.h index 20dfa71c9..0d759342c 100644 --- a/src/card/bluetooth/messages/BluetoothMessageConnectResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessageConnectResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageCreator.cpp b/src/card/bluetooth/messages/BluetoothMessageCreator.cpp index e0cb8d991..ff3962a71 100644 --- a/src/card/bluetooth/messages/BluetoothMessageCreator.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageCreator.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/card/bluetooth/messages/BluetoothMessageCreator.h b/src/card/bluetooth/messages/BluetoothMessageCreator.h index 69a989e41..e9bfb3799 100644 --- a/src/card/bluetooth/messages/BluetoothMessageCreator.h +++ b/src/card/bluetooth/messages/BluetoothMessageCreator.h @@ -1,7 +1,7 @@ /*! * \brief Provides an easy to use API to create requests. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.cpp b/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.cpp index 0ae5e34fd..4cae6fa17 100644 --- a/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessageDisconnectResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.h b/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.h index 5ea1d5c4c..d28c12188 100644 --- a/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessageDisconnectResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageParser.cpp b/src/card/bluetooth/messages/BluetoothMessageParser.cpp index 9fedd5397..3b97dff55 100644 --- a/src/card/bluetooth/messages/BluetoothMessageParser.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageConnectResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageParser.h b/src/card/bluetooth/messages/BluetoothMessageParser.h index 107072187..ba3ac6fa2 100644 --- a/src/card/bluetooth/messages/BluetoothMessageParser.h +++ b/src/card/bluetooth/messages/BluetoothMessageParser.h @@ -1,7 +1,7 @@ /*! * \brief Parses messages of bluetooth SIM ACCESS protocol. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.cpp b/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.cpp index a39537bcc..ff84419af 100644 --- a/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessagePowerSimOffResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.h b/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.h index ce89e59d9..56ae7076a 100644 --- a/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessagePowerSimOffResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.cpp b/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.cpp index bce1ad33a..8e4e9cbd6 100644 --- a/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothIDs.h" diff --git a/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.h b/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.h index 41debe551..8e52eb3f1 100644 --- a/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessagePowerSimOnResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.cpp b/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.cpp index 4e1621bfe..39ca39dfb 100644 --- a/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessageResetSimResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.h b/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.h index 44f55a914..016fbea2e 100644 --- a/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessageResetSimResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.cpp b/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.cpp index f048ab090..19f1cc67a 100644 --- a/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageSetTransportProtocolResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.h b/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.h index 6fbb25036..8e0807e25 100644 --- a/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessageSetTransportProtocolResponse.h @@ -1,7 +1,7 @@ /*! * \brief Store information of SetTransportProtocolResponse. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageStatusInd.cpp b/src/card/bluetooth/messages/BluetoothMessageStatusInd.cpp index 6f823d7a0..c34252e43 100644 --- a/src/card/bluetooth/messages/BluetoothMessageStatusInd.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageStatusInd.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageStatusInd.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageStatusInd.h b/src/card/bluetooth/messages/BluetoothMessageStatusInd.h index dc5237324..ce7d2d503 100644 --- a/src/card/bluetooth/messages/BluetoothMessageStatusInd.h +++ b/src/card/bluetooth/messages/BluetoothMessageStatusInd.h @@ -1,7 +1,7 @@ /*! * \brief Implements special BluetoothMessage for StatusInd. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.cpp b/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.cpp index 2e472b739..ea9439b90 100644 --- a/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessageTransferApduResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.h b/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.h index e7abd42f7..d54c2be0f 100644 --- a/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessageTransferApduResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.cpp b/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.cpp index 04cf87bd2..5bbfa7ceb 100644 --- a/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.cpp +++ b/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageTransferCardReaderStatusResponse.h" diff --git a/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.h b/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.h index bc6b62025..ea820947e 100644 --- a/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.h +++ b/src/card/bluetooth/messages/BluetoothMessageTransferCardReaderStatusResponse.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/BluetoothUtils.cpp b/src/card/bluetooth/messages/BluetoothUtils.cpp index 94289776a..d695afb3d 100644 --- a/src/card/bluetooth/messages/BluetoothUtils.cpp +++ b/src/card/bluetooth/messages/BluetoothUtils.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothUtils.h" diff --git a/src/card/bluetooth/messages/BluetoothUtils.h b/src/card/bluetooth/messages/BluetoothUtils.h index db0f4f705..919f975a7 100644 --- a/src/card/bluetooth/messages/BluetoothUtils.h +++ b/src/card/bluetooth/messages/BluetoothUtils.h @@ -1,7 +1,7 @@ /*! * \brief Some helper utils for bluetooth messages. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.cpp index ceaa5fdaa..99c21113d 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageParameter.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.h index 3a03370d1..531690c0e 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameter.h @@ -1,7 +1,7 @@ /*! * \brief Implements message parameter of SIM ACCESS spec. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.cpp index 02f252104..d7d33380c 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageParameterApduResponse.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.h index e28aae125..5d0323579 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterApduResponse.h @@ -1,7 +1,7 @@ /*! * \brief Implements special BluetoothMessageParameter for TransferApduResponse. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.cpp index 5de8f4a3d..5c79fa115 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/parameter/BluetoothMessageParameterCardReaderStatus.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.h index fdcc2ccad..f7b02a4c8 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterCardReaderStatus.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.cpp index aa9dfd922..9e2410ab5 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageParameterConnectionStatus.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.h index 4dd7a9d61..a44c1842a 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterConnectionStatus.h @@ -1,7 +1,7 @@ /*! * \brief Implements special BluetoothMessageParameter for ConnectionStatus. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.cpp index 48d63e4b7..d67fd9fb1 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageParameterMaxMsgSize.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.h index b756871bc..ccfa08496 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterMaxMsgSize.h @@ -1,7 +1,7 @@ /*! * \brief Implements special BluetoothMessageParameter for MaxMsgSize. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.cpp index 538b044a4..8728a1ff1 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageParameterResultCode.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.h index b603c7ddd..4e725be02 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterResultCode.h @@ -1,7 +1,7 @@ /*! * \brief Implements special BluetoothMessageParameter for ResultCode. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.cpp b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.cpp index dfbd7ed9c..598943dfc 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.cpp +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "BluetoothMessageParameterStatusChange.h" diff --git a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.h b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.h index 26a424b57..d0ccb24a3 100644 --- a/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.h +++ b/src/card/bluetooth/messages/parameter/BluetoothMessageParameterStatusChange.h @@ -1,7 +1,7 @@ /*! * \brief Implements special BluetoothMessageParameter for StatusChange. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/drivers/ReaderDetector.cpp b/src/card/drivers/ReaderDetector.cpp index 820613ecf..857f19360 100644 --- a/src/card/drivers/ReaderDetector.cpp +++ b/src/card/drivers/ReaderDetector.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" diff --git a/src/card/drivers/ReaderDetector.h b/src/card/drivers/ReaderDetector.h index e6b4db496..2795d0034 100644 --- a/src/card/drivers/ReaderDetector.h +++ b/src/card/drivers/ReaderDetector.h @@ -2,7 +2,7 @@ * \brief Interface specifying classes that can detect the attached card reader * devices on a specific platform. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/drivers/ReaderDetector_generic.cpp b/src/card/drivers/ReaderDetector_generic.cpp index 9a8c8afcd..ad5d74315 100644 --- a/src/card/drivers/ReaderDetector_generic.cpp +++ b/src/card/drivers/ReaderDetector_generic.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" diff --git a/src/card/drivers/ReaderDetector_linux.cpp b/src/card/drivers/ReaderDetector_linux.cpp index 65f01a73c..9f85f0ec1 100644 --- a/src/card/drivers/ReaderDetector_linux.cpp +++ b/src/card/drivers/ReaderDetector_linux.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" diff --git a/src/card/drivers/ReaderDetector_osx.cpp b/src/card/drivers/ReaderDetector_osx.cpp index 194e6158c..d5908bb3e 100644 --- a/src/card/drivers/ReaderDetector_osx.cpp +++ b/src/card/drivers/ReaderDetector_osx.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" diff --git a/src/card/drivers/ReaderDetector_win.cpp b/src/card/drivers/ReaderDetector_win.cpp index 90ef0d363..dd47b57f0 100644 --- a/src/card/drivers/ReaderDetector_win.cpp +++ b/src/card/drivers/ReaderDetector_win.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" diff --git a/src/card/nfc/NfcCard.cpp b/src/card/nfc/NfcCard.cpp index 474294361..e71e8cc39 100644 --- a/src/card/nfc/NfcCard.cpp +++ b/src/card/nfc/NfcCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "NfcCard.h" diff --git a/src/card/nfc/NfcCard.h b/src/card/nfc/NfcCard.h index e38c0a020..db2ae427d 100644 --- a/src/card/nfc/NfcCard.h +++ b/src/card/nfc/NfcCard.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref Card for NFC. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/nfc/NfcReader.cpp b/src/card/nfc/NfcReader.cpp index ab5a425d1..09b4a0946 100644 --- a/src/card/nfc/NfcReader.cpp +++ b/src/card/nfc/NfcReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnectionWorker.h" diff --git a/src/card/nfc/NfcReader.h b/src/card/nfc/NfcReader.h index 70fe04fcf..8e160be2c 100644 --- a/src/card/nfc/NfcReader.h +++ b/src/card/nfc/NfcReader.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref Reader for NFC. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/nfc/NfcReaderManagerPlugIn.cpp b/src/card/nfc/NfcReaderManagerPlugIn.cpp index 206ec302e..bf65015d6 100644 --- a/src/card/nfc/NfcReaderManagerPlugIn.cpp +++ b/src/card/nfc/NfcReaderManagerPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "NfcReader.h" diff --git a/src/card/nfc/NfcReaderManagerPlugIn.h b/src/card/nfc/NfcReaderManagerPlugIn.h index 3b6dabcb7..16ac62b7b 100644 --- a/src/card/nfc/NfcReaderManagerPlugIn.h +++ b/src/card/nfc/NfcReaderManagerPlugIn.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref ReaderManagerPlugIn for NFC on Android. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/pcsc/PcscCard.cpp b/src/card/pcsc/PcscCard.cpp index 34f5e3ee3..add8b08ec 100644 --- a/src/card/pcsc/PcscCard.cpp +++ b/src/card/pcsc/PcscCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscCard.h" diff --git a/src/card/pcsc/PcscCard.h b/src/card/pcsc/PcscCard.h index 59e84120e..7b4e8389d 100644 --- a/src/card/pcsc/PcscCard.h +++ b/src/card/pcsc/PcscCard.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of card object for PC/SC * * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/pcsc/PcscReader.cpp b/src/card/pcsc/PcscReader.cpp index c5cb8c0b9..b97ae1bc9 100644 --- a/src/card/pcsc/PcscReader.cpp +++ b/src/card/pcsc/PcscReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscCard.h" diff --git a/src/card/pcsc/PcscReader.h b/src/card/pcsc/PcscReader.h index 5991a5b95..e4e7c8ffd 100644 --- a/src/card/pcsc/PcscReader.h +++ b/src/card/pcsc/PcscReader.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref Reader for PCSC. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/pcsc/PcscReaderFeature.cpp b/src/card/pcsc/PcscReaderFeature.cpp index 1260af4db..05731b984 100644 --- a/src/card/pcsc/PcscReaderFeature.cpp +++ b/src/card/pcsc/PcscReaderFeature.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscReaderFeature.h" diff --git a/src/card/pcsc/PcscReaderFeature.h b/src/card/pcsc/PcscReaderFeature.h index 5a47500d0..a9d5ec47f 100644 --- a/src/card/pcsc/PcscReaderFeature.h +++ b/src/card/pcsc/PcscReaderFeature.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/pcsc/PcscReaderManagerPlugIn.cpp b/src/card/pcsc/PcscReaderManagerPlugIn.cpp index 901255787..5e1571413 100644 --- a/src/card/pcsc/PcscReaderManagerPlugIn.cpp +++ b/src/card/pcsc/PcscReaderManagerPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscReaderManagerPlugIn.h" @@ -65,6 +65,7 @@ void PcscReaderManagerPlugIn::startScan(bool pAutoConnect) { mTimerId = startTimer(500); } + ReaderManagerPlugIn::startScan(pAutoConnect); } @@ -86,6 +87,7 @@ void PcscReaderManagerPlugIn::stopScan() } } updateReaders(); + ReaderManagerPlugIn::stopScan(); } diff --git a/src/card/pcsc/PcscReaderManagerPlugIn.h b/src/card/pcsc/PcscReaderManagerPlugIn.h index 1e24f45ea..a22004170 100644 --- a/src/card/pcsc/PcscReaderManagerPlugIn.h +++ b/src/card/pcsc/PcscReaderManagerPlugIn.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref ReaderManagerPlugIn for PCSC. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/pcsc/PcscReaderPaceCapability.cpp b/src/card/pcsc/PcscReaderPaceCapability.cpp index be3402d8b..b6a0c7f11 100644 --- a/src/card/pcsc/PcscReaderPaceCapability.cpp +++ b/src/card/pcsc/PcscReaderPaceCapability.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscReaderPaceCapability.h" diff --git a/src/card/pcsc/PcscReaderPaceCapability.h b/src/card/pcsc/PcscReaderPaceCapability.h index 9a8c06588..1bc1b8e93 100644 --- a/src/card/pcsc/PcscReaderPaceCapability.h +++ b/src/card/pcsc/PcscReaderPaceCapability.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/card/pcsc/PcscUtils.cpp b/src/card/pcsc/PcscUtils.cpp index c82ec9a52..18093ce95 100644 --- a/src/card/pcsc/PcscUtils.cpp +++ b/src/card/pcsc/PcscUtils.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscUtils.h" diff --git a/src/card/pcsc/PcscUtils.h b/src/card/pcsc/PcscUtils.h index b59527532..8fc82c4c5 100644 --- a/src/card/pcsc/PcscUtils.h +++ b/src/card/pcsc/PcscUtils.h @@ -2,7 +2,7 @@ * \brief toString method for PCSC_RETURNCODE and platform dependent * typedefs for PCSC types. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/CallCost.cpp b/src/configuration/CallCost.cpp index ea19e189e..2a6a6bf76 100644 --- a/src/configuration/CallCost.cpp +++ b/src/configuration/CallCost.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "CallCost.h" diff --git a/src/configuration/CallCost.h b/src/configuration/CallCost.h index 584846e43..94392f1c1 100644 --- a/src/configuration/CallCost.h +++ b/src/configuration/CallCost.h @@ -1,7 +1,7 @@ /*! * \brief Phone call cost representation * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/LanguageString.cpp b/src/configuration/LanguageString.cpp index 54296e1fa..da0207cfe 100644 --- a/src/configuration/LanguageString.cpp +++ b/src/configuration/LanguageString.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "LanguageString.h" diff --git a/src/configuration/LanguageString.h b/src/configuration/LanguageString.h index d2301afd0..40cff3af7 100644 --- a/src/configuration/LanguageString.h +++ b/src/configuration/LanguageString.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/ProviderConfiguration.cpp b/src/configuration/ProviderConfiguration.cpp index 6b297c26d..310d34779 100644 --- a/src/configuration/ProviderConfiguration.cpp +++ b/src/configuration/ProviderConfiguration.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderConfiguration.h" diff --git a/src/configuration/ProviderConfiguration.h b/src/configuration/ProviderConfiguration.h index 1e7550d15..9c41abf86 100644 --- a/src/configuration/ProviderConfiguration.h +++ b/src/configuration/ProviderConfiguration.h @@ -1,7 +1,7 @@ /*! * \brief Provides information of provider json. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/ProviderConfigurationInfo.cpp b/src/configuration/ProviderConfigurationInfo.cpp index 5307800e5..a4d727d2d 100644 --- a/src/configuration/ProviderConfigurationInfo.cpp +++ b/src/configuration/ProviderConfigurationInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderConfigurationInfo.h" diff --git a/src/configuration/ProviderConfigurationInfo.h b/src/configuration/ProviderConfigurationInfo.h index fe1dbc37f..59be01b19 100644 --- a/src/configuration/ProviderConfigurationInfo.h +++ b/src/configuration/ProviderConfigurationInfo.h @@ -1,7 +1,7 @@ /*! * \brief Class to provide information about providers. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -78,19 +78,19 @@ class ProviderConfigurationInfo bool operator ==(const InternalInfo& pOther) const { - return mShortName == pOther.mShortName || - mLongName == pOther.mLongName || - mShortDescription == pOther.mShortDescription || - mLongDescription == pOther.mLongDescription || - mAddress == pOther.mAddress || - mHomepage == pOther.mHomepage || - mCategory == pOther.mCategory || - mPhone == pOther.mPhone || - mEmail == pOther.mEmail || - mPostalAddress == pOther.mPostalAddress || - mIcon == pOther.mIcon || - mImage == pOther.mImage || - mTcTokenUrl == pOther.mTcTokenUrl || + return mShortName == pOther.mShortName && + mLongName == pOther.mLongName && + mShortDescription == pOther.mShortDescription && + mLongDescription == pOther.mLongDescription && + mAddress == pOther.mAddress && + mHomepage == pOther.mHomepage && + mCategory == pOther.mCategory && + mPhone == pOther.mPhone && + mEmail == pOther.mEmail && + mPostalAddress == pOther.mPostalAddress && + mIcon == pOther.mIcon && + mImage == pOther.mImage && + mTcTokenUrl == pOther.mTcTokenUrl && mClientUrl == pOther.mClientUrl; } diff --git a/src/configuration/ProviderConfigurationParser.cpp b/src/configuration/ProviderConfigurationParser.cpp index 717f8ef50..2830271ca 100644 --- a/src/configuration/ProviderConfigurationParser.cpp +++ b/src/configuration/ProviderConfigurationParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderConfigurationParser.h" diff --git a/src/configuration/ProviderConfigurationParser.h b/src/configuration/ProviderConfigurationParser.h index a4d866a70..f95b78d1e 100644 --- a/src/configuration/ProviderConfigurationParser.h +++ b/src/configuration/ProviderConfigurationParser.h @@ -1,7 +1,7 @@ /*! * \brief Parser for provider configuration files * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/ReaderConfiguration.cpp b/src/configuration/ReaderConfiguration.cpp index c4f6c0a27..28120f819 100644 --- a/src/configuration/ReaderConfiguration.cpp +++ b/src/configuration/ReaderConfiguration.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderConfiguration.h" diff --git a/src/configuration/ReaderConfiguration.h b/src/configuration/ReaderConfiguration.h index c320f2444..d681edba8 100644 --- a/src/configuration/ReaderConfiguration.h +++ b/src/configuration/ReaderConfiguration.h @@ -1,7 +1,7 @@ /*! * \brief Class to store configuration data about available card readers. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/ReaderConfigurationInfo.cpp b/src/configuration/ReaderConfigurationInfo.cpp index ec03012b1..a4798126b 100644 --- a/src/configuration/ReaderConfigurationInfo.cpp +++ b/src/configuration/ReaderConfigurationInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderConfigurationInfo.h" diff --git a/src/configuration/ReaderConfigurationInfo.h b/src/configuration/ReaderConfigurationInfo.h index 5715f4c30..e385c3af9 100644 --- a/src/configuration/ReaderConfigurationInfo.h +++ b/src/configuration/ReaderConfigurationInfo.h @@ -1,7 +1,7 @@ /*! * \brief Class to provide information about available card readers. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/configuration/ReaderConfigurationParser.cpp b/src/configuration/ReaderConfigurationParser.cpp index d50e95ccd..426d15e62 100644 --- a/src/configuration/ReaderConfigurationParser.cpp +++ b/src/configuration/ReaderConfigurationParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderConfigurationParser.h" diff --git a/src/configuration/ReaderConfigurationParser.h b/src/configuration/ReaderConfigurationParser.h index 211a328bf..42b5dc91e 100644 --- a/src/configuration/ReaderConfigurationParser.h +++ b/src/configuration/ReaderConfigurationParser.h @@ -1,7 +1,7 @@ /*! * \brief Parser for reader configuration files * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/CertificateChecker.cpp b/src/core/CertificateChecker.cpp index 1e0df6cfc..8bc252af8 100644 --- a/src/core/CertificateChecker.cpp +++ b/src/core/CertificateChecker.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CertificateChecker.h" diff --git a/src/core/CertificateChecker.h b/src/core/CertificateChecker.h index 510735341..2a888118e 100644 --- a/src/core/CertificateChecker.h +++ b/src/core/CertificateChecker.h @@ -1,7 +1,7 @@ /*! * \brief Contains the definition of the CertificateChecker class. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/DiagnosisAntivirusDetection.cpp b/src/core/DiagnosisAntivirusDetection.cpp index 19b25076e..bfe96ff81 100644 --- a/src/core/DiagnosisAntivirusDetection.cpp +++ b/src/core/DiagnosisAntivirusDetection.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisAntivirusDetection.h" @@ -70,13 +70,40 @@ void DiagnosisAntivirusDetection::onFinished(int exitCode, QProcess::ExitStatus return; } - QString output = QString::fromUtf8(mProcess->readAllStandardOutput()); + const QString& output = QString::fromUtf8(mProcess->readAllStandardOutput()); + parseAntivirInfos(output); +} + + +#endif + + +#if defined(Q_OS_WIN) +void DiagnosisAntivirusDetection::onError(QProcess::ProcessError pError) +{ + qDebug() << "Error calling process:" << pError; + Q_EMIT fireDetectionFailed(); +} + + +#endif + + +const QVector >& DiagnosisAntivirusDetection::getAntivirusInformations() const +{ + return mAntivirInfos; +} + + +void DiagnosisAntivirusDetection::parseAntivirInfos(const QString& pAntivirInfos) +{ + mAntivirInfos.clear(); QString displayName; QString lastUpdate; QString exePath; - const auto& lines = output.split(QStringLiteral("\r\n")); + const auto& lines = pAntivirInfos.split(QStringLiteral("\n")); for (const auto& line : lines) { const QString& trimmedLine = line.trimmed(); @@ -116,24 +143,4 @@ void DiagnosisAntivirusDetection::onFinished(int exitCode, QProcess::ExitStatus } -#endif - - -#if defined(Q_OS_WIN) -void DiagnosisAntivirusDetection::onError(QProcess::ProcessError pError) -{ - qDebug() << "Error calling process:" << pError; - Q_EMIT fireDetectionFailed(); -} - - -#endif - - -const QVector >& DiagnosisAntivirusDetection::getAntivirusInformations() const -{ - return mAntivirInfos; -} - - #include "moc_DiagnosisAntivirusDetection.cpp" diff --git a/src/core/DiagnosisAntivirusDetection.h b/src/core/DiagnosisAntivirusDetection.h index 7fb1a9689..4842856b1 100644 --- a/src/core/DiagnosisAntivirusDetection.h +++ b/src/core/DiagnosisAntivirusDetection.h @@ -1,7 +1,7 @@ /*! * \brief Class for retrieving informations about installed antivirus software on windows. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -10,6 +10,8 @@ #include #include +class test_DiagnosisAntivirusDetection; + namespace governikus { @@ -49,10 +51,13 @@ class DiagnosisAntivirusDetection Q_OBJECT private: + friend class ::test_DiagnosisAntivirusDetection; + #if defined(Q_OS_WIN) QSharedPointer mProcess; #endif QVector > mAntivirInfos; + void parseAntivirInfos(const QString& pAntivirInfos); private Q_SLOTS: #if defined(Q_OS_WIN) diff --git a/src/core/DiagnosisConnectionTest.cpp b/src/core/DiagnosisConnectionTest.cpp index 7cf16dc27..9e6faa751 100644 --- a/src/core/DiagnosisConnectionTest.cpp +++ b/src/core/DiagnosisConnectionTest.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisConnectionTest.h" diff --git a/src/core/DiagnosisConnectionTest.h b/src/core/DiagnosisConnectionTest.h index 01b2a5f17..8bab98be9 100644 --- a/src/core/DiagnosisConnectionTest.h +++ b/src/core/DiagnosisConnectionTest.h @@ -3,7 +3,7 @@ * to establish a connection to a test server with and without the proxy and providing the * results to the DiagnosisModel. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/DiagnosisFirewallDetection.cpp b/src/core/DiagnosisFirewallDetection.cpp index 719aef6bc..804911357 100644 --- a/src/core/DiagnosisFirewallDetection.cpp +++ b/src/core/DiagnosisFirewallDetection.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisFirewallDetection.h" diff --git a/src/core/DiagnosisFirewallDetection.h b/src/core/DiagnosisFirewallDetection.h index d1c68949a..f69c51c4c 100644 --- a/src/core/DiagnosisFirewallDetection.h +++ b/src/core/DiagnosisFirewallDetection.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/DiagnosisItem.cpp b/src/core/DiagnosisItem.cpp index f70786ee4..f5740516b 100644 --- a/src/core/DiagnosisItem.cpp +++ b/src/core/DiagnosisItem.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisItem.h" diff --git a/src/core/DiagnosisItem.h b/src/core/DiagnosisItem.h index bb065cc3e..ff0970f49 100644 --- a/src/core/DiagnosisItem.h +++ b/src/core/DiagnosisItem.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/DiagnosisModel.cpp b/src/core/DiagnosisModel.cpp index 4022010c0..d1195c864 100644 --- a/src/core/DiagnosisModel.cpp +++ b/src/core/DiagnosisModel.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisModel.h" @@ -123,17 +123,34 @@ void DiagnosisModel::insertPcScComponentList(const QVector pParentItem) +{ + if (pParentItem->childCount() <= 0) + { + return; + } + + beginRemoveRows(pIndex, 0, pParentItem->childCount() - 1); + pParentItem->clearChildren(); + endRemoveRows(); +} + + void DiagnosisModel::onReaderInfosChanged() { - beginResetModel(); - mReaderItem->clearChildren(); + auto itemModelIndex = index(2, 0); + removeChildItems(itemModelIndex, mReaderItem); const auto& readerInfos = mContext->getReaderInfos(); if (readerInfos.isEmpty()) { + beginInsertRows(itemModelIndex, 0, 0); mReaderItem->addChild(QSharedPointer::create(tr("Not recognised"))); + endInsertRows(); + return; } + beginInsertRows(itemModelIndex, 0, readerInfos.size() - 1); for (const ReaderInfo& info : readerInfos) { auto readerName = QSharedPointer::create(info.getName()); @@ -153,15 +170,16 @@ void DiagnosisModel::onReaderInfosChanged() readerName->addChild(retryCounter); } } - endResetModel(); + endInsertRows(); } void DiagnosisModel::onPcscInfoChanged() { - beginResetModel(); - mPcScItem->clearChildren(); + auto itemModelIndex = index(3, 0); + removeChildItems(itemModelIndex, mPcScItem); + beginInsertRows(itemModelIndex, 0, 2); auto pcscVersion = QSharedPointer::create(tr("Version: %1").arg(mContext->getPcscVersion())); mPcScItem->addChild(pcscVersion); @@ -172,29 +190,27 @@ void DiagnosisModel::onPcscInfoChanged() auto driverItem = QSharedPointer::create(tr("Driver")); mPcScItem->addChild(driverItem); insertPcScComponentList(mContext->getPcscDrivers(), driverItem); - endResetModel(); + endInsertRows(); } void DiagnosisModel::onRemoteInfosChanged() { - beginResetModel(); - - const ScopeGuard guard([this] { - endResetModel(); - }); - - mPairedDevices->clearChildren(); + auto itemModelIndex = index(4, 0); + removeChildItems(itemModelIndex, mPairedDevices); const RemoteServiceSettings& settings = Env::getSingleton()->getRemoteServiceSettings(); const auto& trustedCertificates = settings.getTrustedCertificates(); if (trustedCertificates.isEmpty()) { + beginInsertRows(itemModelIndex, 0, 0); mPairedDevices->addChild(QSharedPointer::create(tr("No devices paired"))); + endInsertRows(); return; } + beginInsertRows(itemModelIndex, 0, trustedCertificates.size() - 1); for (const auto& cert : trustedCertificates) { const auto& info = settings.getRemoteInfo(cert); @@ -220,13 +236,16 @@ void DiagnosisModel::onRemoteInfosChanged() deviceName->addChild(deviceInfo); } } + endInsertRows(); } void DiagnosisModel::onTimestampChanged() { - beginResetModel(); - mTimestampItem->clearChildren(); + auto itemModelIndex = index(9, 0); + removeChildItems(itemModelIndex, mTimestampItem); + + beginInsertRows(itemModelIndex, 0, 0); QDateTime timestampValue = mContext->getTimestamp(); if (!timestampValue.isValid()) { @@ -237,15 +256,17 @@ void DiagnosisModel::onTimestampChanged() QString timestamp = LanguageLoader::getInstance().getUsedLocale().toString(timestampValue, tr("d. MMMM yyyy, hh:mm:ss AP")); mTimestampItem->addChild(QSharedPointer::create(timestamp)); } - endResetModel(); + endInsertRows(); } void DiagnosisModel::onNetworkInfoChanged() { - beginResetModel(); - mNetworkInterfaces->clearChildren(); + auto itemModelIndex = index(5, 0); + removeChildItems(itemModelIndex, mNetworkInterfaces); + const auto& networkInterfaces = mContext->getNetworkInterfaces(); + beginInsertRows(itemModelIndex, 0, networkInterfaces.size() - 1); for (const auto& interface : networkInterfaces) { const auto& interfaceName = QSharedPointer::create(interface.humanReadableName()); @@ -270,16 +291,18 @@ void DiagnosisModel::onNetworkInfoChanged() } } } - endResetModel(); + endInsertRows(); } void DiagnosisModel::onConnectionTestDone() { - beginResetModel(); - mNetworkConnectionTest->clearChildren(); + auto itemModelIndex = index(6, 0); + removeChildItems(itemModelIndex, mNetworkConnectionTest); + if (mConnectionTest.getIsProxySet()) { + beginInsertRows(itemModelIndex, 0, 2); auto proxy = QSharedPointer::create(tr("Proxy")); mNetworkConnectionTest->addChild(proxy); @@ -308,6 +331,7 @@ void DiagnosisModel::onConnectionTestDone() } else { + beginInsertRows(itemModelIndex, 0, 1); mNetworkConnectionTest->addChild(QSharedPointer::create(tr("No Proxy Found"))); } @@ -319,22 +343,24 @@ void DiagnosisModel::onConnectionTestDone() { mNetworkConnectionTest->addChild(QSharedPointer::create(tr("Connection test without proxy: Failed"))); } - endResetModel(); + endInsertRows(); } void DiagnosisModel::onAntivirusInformationChanged() { - beginResetModel(); - mInstalledAntivirus->clearChildren(); + auto itemModelIndex = index(7, 0); + removeChildItems(itemModelIndex, mInstalledAntivirus); const auto& antivirusInfos = mAntivirusDetection.getAntivirusInformations(); if (antivirusInfos.isEmpty()) { + beginInsertRows(itemModelIndex, 0, 0); mInstalledAntivirus->addChild(QSharedPointer::create(tr("No Antivirus software detected."))); } else { + beginInsertRows(itemModelIndex, 0, antivirusInfos.size() - 1); for (const auto& info : antivirusInfos) { auto antivirusName = QSharedPointer::create(info->getDisplayName()); @@ -347,16 +373,18 @@ void DiagnosisModel::onAntivirusInformationChanged() antivirusName->addChild(QSharedPointer::create(tr("Executable path: %1").arg(info->getExePath()))); } } - endResetModel(); + endInsertRows(); } void DiagnosisModel::onAntivirusDetectionFailed() { - beginResetModel(); - mInstalledAntivirus->clearChildren(); + auto itemModelIndex = index(7, 0); + removeChildItems(itemModelIndex, mInstalledAntivirus); + + beginInsertRows(itemModelIndex, 0, 0); mInstalledAntivirus->addChild(QSharedPointer::create(tr("Antivirus detection failed."))); - endResetModel(); + endInsertRows(); } @@ -368,9 +396,10 @@ const QString DiagnosisModel::boolToString(bool pBoolean) void DiagnosisModel::onFirewallInformationReady() { - beginResetModel(); - mWindowsFirewall->clearChildren(); + auto itemModelIndex = index(8, 0); + removeChildItems(itemModelIndex, mWindowsFirewall); + beginInsertRows(itemModelIndex, 0, 2); auto installedFirewalls = mFirewallDetection.getDetectedFirewalls(); if (installedFirewalls.isEmpty()) { @@ -434,16 +463,18 @@ void DiagnosisModel::onFirewallInformationReady() } profiles->addChild(QSharedPointer::create(tr("Warning: The current firewall status can be obscured by additional Group Policies on your system, often set by system administrators."))); - endResetModel(); + endInsertRows(); } void DiagnosisModel::onFirewallInformationFailed() { - beginResetModel(); - mWindowsFirewall->clearChildren(); + auto itemModelIndex = index(8, 0); + removeChildItems(itemModelIndex, mWindowsFirewall); + + beginInsertRows(itemModelIndex, 0, 0); mWindowsFirewall->addChild(QSharedPointer::create(tr("An error occurred while trying to gather firewall information. Please check the log for more information."))); - endResetModel(); + endInsertRows(); } diff --git a/src/core/DiagnosisModel.h b/src/core/DiagnosisModel.h index a6c5ecae9..1dc177864 100644 --- a/src/core/DiagnosisModel.h +++ b/src/core/DiagnosisModel.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -45,6 +45,7 @@ class DiagnosisModel void initAppVersionInfo(); void insertPcScComponentList(const QVector& pComponents, const QSharedPointer& pParentItem); + void removeChildItems(QModelIndex pIndex, QSharedPointer pParentItem); static const QString boolToString(bool pBoolean); private Q_SLOTS: diff --git a/src/core/SelfAuthenticationData.cpp b/src/core/SelfAuthenticationData.cpp index b562be909..a1955fe07 100644 --- a/src/core/SelfAuthenticationData.cpp +++ b/src/core/SelfAuthenticationData.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfAuthenticationData.h" diff --git a/src/core/SelfAuthenticationData.h b/src/core/SelfAuthenticationData.h index b52092fde..10cd64140 100644 --- a/src/core/SelfAuthenticationData.h +++ b/src/core/SelfAuthenticationData.h @@ -1,7 +1,7 @@ /*! * \brief Parses self authentication data from JSON data and provides its content. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/SignalHandler.cpp b/src/core/SignalHandler.cpp index 2c4a4bd09..a2949211c 100644 --- a/src/core/SignalHandler.cpp +++ b/src/core/SignalHandler.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SignalHandler.h" diff --git a/src/core/SignalHandler.h b/src/core/SignalHandler.h index 0f6643b39..8cfa18bb9 100644 --- a/src/core/SignalHandler.h +++ b/src/core/SignalHandler.h @@ -1,7 +1,7 @@ /* * \brief Implements signal handler for unix and windows. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -45,7 +45,7 @@ class SignalHandler #elif defined(Q_OS_WIN) private: - static BOOL __RPC_CALLEE ctrlHandler(DWORD pCtrlType); + static BOOL WINAPI ctrlHandler(DWORD pCtrlType); #endif private Q_SLOTS: diff --git a/src/core/SignalHandler_bsd_linux_osx.cpp b/src/core/SignalHandler_bsd_linux_osx.cpp index 0f3bbc59a..0a0c8f631 100644 --- a/src/core/SignalHandler_bsd_linux_osx.cpp +++ b/src/core/SignalHandler_bsd_linux_osx.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "SignalHandler.h" @@ -27,7 +27,7 @@ void SignalHandler::initUnix() if (::socketpair(AF_UNIX, SOCK_STREAM, 0, cSignalSocketPair)) { - qCritical(system) << "** Failed to set up socket pair for signaling! **"; + qCCritical(system) << "** Failed to set up socket pair for signaling! **"; return; } diff --git a/src/core/SignalHandler_win.cpp b/src/core/SignalHandler_win.cpp index 02108fc0b..64ad3cc67 100644 --- a/src/core/SignalHandler_win.cpp +++ b/src/core/SignalHandler_win.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "SignalHandler.h" @@ -16,7 +16,7 @@ using namespace governikus; Q_DECLARE_LOGGING_CATEGORY(system) -BOOL __RPC_CALLEE SignalHandler::ctrlHandler(DWORD pCtrlType) +BOOL WINAPI SignalHandler::ctrlHandler(DWORD pCtrlType) { qCWarning(system) << "Got signal:" << pCtrlType; diff --git a/src/core/TcToken.cpp b/src/core/TcToken.cpp index 8c7e5c0b1..5b508a814 100644 --- a/src/core/TcToken.cpp +++ b/src/core/TcToken.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/TcToken.h b/src/core/TcToken.h index 63ffc5a20..71ffbf52f 100644 --- a/src/core/TcToken.h +++ b/src/core/TcToken.h @@ -1,7 +1,7 @@ /*! * \brief Parses TCTokens from XML data and provides its content. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/context/AuthContext.cpp b/src/core/context/AuthContext.cpp index 0c53c919b..e08910133 100644 --- a/src/core/context/AuthContext.cpp +++ b/src/core/context/AuthContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AuthContext.h" @@ -17,6 +17,7 @@ AuthContext::AuthContext(const QSharedPointer& pActivationCon : WorkflowContext() , mTcTokenNotFound(true) , mErrorReportedToServer(false) + , mSkipRedirect(false) , mActivationContext(pActivationContext) , mTcTokenUrl() , mTcToken() diff --git a/src/core/context/AuthContext.h b/src/core/context/AuthContext.h index b1336543a..137940382 100644 --- a/src/core/context/AuthContext.h +++ b/src/core/context/AuthContext.h @@ -1,7 +1,7 @@ /*! * \brief Authentication context. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -55,6 +55,7 @@ class AuthContext bool mTcTokenNotFound; bool mErrorReportedToServer; + bool mSkipRedirect; QSharedPointer mActivationContext; QUrl mTcTokenUrl; @@ -120,6 +121,18 @@ class AuthContext } + bool isSkipRedirect() const + { + return mSkipRedirect; + } + + + void setSkipRedirect(bool pSkipRedirect) + { + mSkipRedirect = pSkipRedirect; + } + + QList getCertificateList() const { return mCertificates.values(); diff --git a/src/core/context/ChangePinContext.cpp b/src/core/context/ChangePinContext.cpp index cd826452d..acae9aa31 100644 --- a/src/core/context/ChangePinContext.cpp +++ b/src/core/context/ChangePinContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ChangePinContext.h" diff --git a/src/core/context/ChangePinContext.h b/src/core/context/ChangePinContext.h index 67f57e0c2..583d7c08e 100644 --- a/src/core/context/ChangePinContext.h +++ b/src/core/context/ChangePinContext.h @@ -1,7 +1,7 @@ /*! * \brief Context for changing the Pin. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/context/DiagnosisContext.cpp b/src/core/context/DiagnosisContext.cpp index 9fbb79f9d..22d8be7c4 100644 --- a/src/core/context/DiagnosisContext.cpp +++ b/src/core/context/DiagnosisContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisContext.h" diff --git a/src/core/context/DiagnosisContext.h b/src/core/context/DiagnosisContext.h index 2ac40af84..5e3010dff 100644 --- a/src/core/context/DiagnosisContext.h +++ b/src/core/context/DiagnosisContext.h @@ -1,7 +1,7 @@ /*! * \brief Contains information collected by the diagnosis functionality. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/context/RemoteServiceContext.cpp b/src/core/context/RemoteServiceContext.cpp index 65527fd5c..02efa69f1 100644 --- a/src/core/context/RemoteServiceContext.cpp +++ b/src/core/context/RemoteServiceContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServiceContext.h" diff --git a/src/core/context/RemoteServiceContext.h b/src/core/context/RemoteServiceContext.h index 831348eb6..7118a7540 100644 --- a/src/core/context/RemoteServiceContext.h +++ b/src/core/context/RemoteServiceContext.h @@ -1,7 +1,7 @@ /*! * \brief Remote service context. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/context/SelfAuthContext.cpp b/src/core/context/SelfAuthContext.cpp index f56992e1f..3af5d4318 100644 --- a/src/core/context/SelfAuthContext.cpp +++ b/src/core/context/SelfAuthContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfAuthContext.h" diff --git a/src/core/context/SelfAuthContext.h b/src/core/context/SelfAuthContext.h index 6dc63a348..8374bb86c 100644 --- a/src/core/context/SelfAuthContext.h +++ b/src/core/context/SelfAuthContext.h @@ -1,7 +1,7 @@ /*! * \brief Self authentication context. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/context/WorkflowContext.cpp b/src/core/context/WorkflowContext.cpp index 5924e9a23..d0cf9e0c8 100644 --- a/src/core/context/WorkflowContext.cpp +++ b/src/core/context/WorkflowContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowContext.h" @@ -42,6 +42,7 @@ WorkflowContext::WorkflowContext() , mWorkflowFinished(false) , mWorkflowCancelled(false) , mCanAllowedMode(false) + , mNextWorkflowPending(false) { connect(this, &WorkflowContext::fireCancelWorkflow, this, &WorkflowContext::onWorkflowCancelled); } @@ -407,3 +408,19 @@ void WorkflowContext::setCanAllowedMode(bool pCanAllowedMode) mCanAllowedMode = pCanAllowedMode; Q_EMIT fireCanAllowedModeChanged(); } + + +bool WorkflowContext::hasNextWorkflowPending() const +{ + return mNextWorkflowPending; +} + + +void WorkflowContext::setNextWorkflowPending(bool pNextWorkflowPending) +{ + if (pNextWorkflowPending != mNextWorkflowPending) + { + mNextWorkflowPending = pNextWorkflowPending; + Q_EMIT fireNextWorkflowPending(); + } +} diff --git a/src/core/context/WorkflowContext.h b/src/core/context/WorkflowContext.h index f771d1ed5..52d39caaf 100644 --- a/src/core/context/WorkflowContext.h +++ b/src/core/context/WorkflowContext.h @@ -1,7 +1,7 @@ /*! * \brief Workflow context. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -50,6 +50,7 @@ class WorkflowContext bool mWorkflowFinished; bool mWorkflowCancelled; bool mCanAllowedMode; + bool mNextWorkflowPending; private Q_SLOTS: void onWorkflowCancelled(); @@ -70,6 +71,8 @@ class WorkflowContext void fireCancelWorkflow(); void fireAbortCardSelection(); + void fireNextWorkflowPending(); + public: WorkflowContext(); @@ -143,6 +146,9 @@ class WorkflowContext bool isCanAllowedMode() const; void setCanAllowedMode(bool pCanAllowedMode); + + bool hasNextWorkflowPending() const; + void setNextWorkflowPending(bool pNextWorkflowPending); }; } // namespace governikus diff --git a/src/core/controller/AppController.cpp b/src/core/controller/AppController.cpp index 87b5e2035..e84ba88f0 100644 --- a/src/core/controller/AppController.cpp +++ b/src/core/controller/AppController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AppController.h" @@ -140,6 +140,11 @@ bool AppController::eventFilter(QObject* pObj, QEvent* pEvent) } #endif + if (pEvent->type() == QEvent::ApplicationActivated) + { + Q_EMIT fireApplicationActivated(); + } + return QObject::eventFilter(pObj, pEvent); } @@ -163,9 +168,10 @@ bool AppController::start() for (const auto& handler : ActivationHandler::getInstances()) { + connect(this, &AppController::fireApplicationActivated, handler, &ActivationHandler::onApplicationActivated); connect(handler, &ActivationHandler::fireShowUserInformation, this, &AppController::fireShowUserInformation); connect(handler, &ActivationHandler::fireShowUiRequest, this, &AppController::fireShowUi); - connect(handler, &ActivationHandler::fireAuthenticationRequest, this, &AppController::onAuthenticationRequest); + connect(handler, &ActivationHandler::fireAuthenticationRequest, this, &AppController::onAuthenticationRequest, Qt::QueuedConnection); if (!handler->start()) { @@ -266,6 +272,7 @@ void AppController::onChangePinRequested() if (mWaitingRequest.isNull()) { qDebug() << "PIN change enqueued"; + mActiveController->getContext()->setNextWorkflowPending(true); const auto& context = QSharedPointer::create(true); mWaitingRequest.reset(new WorkflowRequest(Action::PIN, context)); @@ -473,6 +480,7 @@ void AppController::onUiPlugin(UIPlugIn* pPlugin) connect(this, &AppController::fireHideUi, pPlugin, &UIPlugIn::onHideUi); connect(this, &AppController::fireShowUserInformation, pPlugin, &UIPlugIn::fireShowUserInformation); connect(this, &AppController::fireShowReaderSettings, pPlugin, &UIPlugIn::onShowReaderSettings); + connect(this, &AppController::fireApplicationActivated, pPlugin, &UIPlugIn::fireApplicationActivated); connect(this, &AppController::fireUiDomination, pPlugin, &UIPlugIn::onUiDomination); connect(this, &AppController::fireUiDominationReleased, pPlugin, &UIPlugIn::onUiDominationReleased); diff --git a/src/core/controller/AppController.h b/src/core/controller/AppController.h index 21c5973f8..ba59dce9d 100644 --- a/src/core/controller/AppController.h +++ b/src/core/controller/AppController.h @@ -1,7 +1,7 @@ /*! * \brief Controller of the whole program. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -72,6 +72,7 @@ class AppController final #ifndef QT_NO_NETWORKPROXY void fireProxyAuthenticationRequired(const QNetworkProxy& pProxy, QAuthenticator* pAuthenticator); #endif + void fireApplicationActivated(); void fireUiDomination(const UIPlugIn* pUi, const QString& pInformation, bool pAccepted); void fireUiDominationReleased(); diff --git a/src/core/controller/AuthController.cpp b/src/core/controller/AuthController.cpp index ce1db0367..b5bb4c420 100644 --- a/src/core/controller/AuthController.cpp +++ b/src/core/controller/AuthController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "controller/AuthController.h" @@ -8,6 +8,7 @@ #include "states/CompositeStatePace.h" #include "states/CompositeStateProcessCvcsAndSetRights.h" #include "states/FinalState.h" +#include "states/StateActivateStoreFeedbackDialog.h" #include "states/StateCheckRefreshAddress.h" #include "states/StateCleanUpReaderManager.h" #include "states/StateClearPacePasswords.h" @@ -67,6 +68,7 @@ AuthController::AuthController(QSharedPointer pContext) auto sSendDisconnectResponse = addState(); auto sStartPaosResponse = addState(); auto sCheckRefreshAddress = addState(); + auto sActivateStoreFeedbackDialog = addState(); auto sWriteHistory = addState(); auto sRedirectBrowser = addState(); auto sUpdateRetryCounterFinal = addState(); @@ -165,9 +167,12 @@ AuthController::AuthController(QSharedPointer pContext) sCleanUpReaderManager->addTransition(sCleanUpReaderManager, &AbstractState::fireContinue, sCheckRefreshAddress); sCleanUpReaderManager->addTransition(sCleanUpReaderManager, &AbstractState::fireAbort, sCheckRefreshAddress); - sCheckRefreshAddress->addTransition(sCheckRefreshAddress, &AbstractState::fireContinue, sWriteHistory); + sCheckRefreshAddress->addTransition(sCheckRefreshAddress, &AbstractState::fireContinue, sActivateStoreFeedbackDialog); sCheckRefreshAddress->addTransition(sCheckRefreshAddress, &AbstractState::fireAbort, sRedirectBrowser); + sActivateStoreFeedbackDialog->addTransition(sActivateStoreFeedbackDialog, &AbstractState::fireContinue, sWriteHistory); + sActivateStoreFeedbackDialog->addTransition(sActivateStoreFeedbackDialog, &AbstractState::fireAbort, sWriteHistory); + sWriteHistory->addTransition(sWriteHistory, &AbstractState::fireContinue, sSendWhitelistSurvey); sWriteHistory->addTransition(sWriteHistory, &AbstractState::fireAbort, sRedirectBrowser); diff --git a/src/core/controller/AuthController.h b/src/core/controller/AuthController.h index e1b86651f..fc430dde4 100644 --- a/src/core/controller/AuthController.h +++ b/src/core/controller/AuthController.h @@ -1,7 +1,7 @@ /*! * \brief Controller for the authentication process. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/controller/ChangePinController.cpp b/src/core/controller/ChangePinController.cpp index 2f14d43a5..9c767b46c 100644 --- a/src/core/controller/ChangePinController.cpp +++ b/src/core/controller/ChangePinController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ChangePinController.h" diff --git a/src/core/controller/ChangePinController.h b/src/core/controller/ChangePinController.h index 36804a5b8..39f6f92e9 100644 --- a/src/core/controller/ChangePinController.h +++ b/src/core/controller/ChangePinController.h @@ -1,7 +1,7 @@ /*! * \brief Controller for the PIN changing process. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/controller/DiagnosisController.cpp b/src/core/controller/DiagnosisController.cpp index 28429f9a8..65b29893c 100644 --- a/src/core/controller/DiagnosisController.cpp +++ b/src/core/controller/DiagnosisController.cpp @@ -1,34 +1,55 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisController.h" #include "ReaderManager.h" +#include #include #include #include using namespace governikus; +Q_DECLARE_LOGGING_CATEGORY(diagnosis) DiagnosisController::DiagnosisController(const QSharedPointer& pContext, QObject* pParent) : QObject(pParent) , mContext(pContext) , mWatcherPcscInfo() + , mScanHasToBeStopped(false) { connect(&mWatcherPcscInfo, &QFutureWatcher::finished, this, &DiagnosisController::onPcscInfoRetrieved); + + const auto& readerManager = Env::getSingleton(); + connect(readerManager, &ReaderManager::fireReaderEvent, this, &DiagnosisController::onFireReaderEvent); } DiagnosisController::~DiagnosisController() { + if (mScanHasToBeStopped) + { + qCDebug(diagnosis) << "Stopping scans."; + const auto& readerManager = Env::getSingleton(); + readerManager->stopScanAll(); + mScanHasToBeStopped = false; + } } void DiagnosisController::run() { + const auto& readerManager = Env::getSingleton(); + if (!readerManager->isScanRunning()) + { + qCDebug(diagnosis) << "Scan not running, starting scan ourself and stop it afterwards."; + readerManager->startScanAll(true); + mScanHasToBeStopped = true; + } + mWatcherPcscInfo.setFuture(QtConcurrent::run(&DiagnosisController::retrievePcscInfo)); collectInterfaceInformation(); } @@ -46,8 +67,7 @@ void DiagnosisController::checkDone() { if (mWatcherPcscInfo.isFinished()) { - mContext->setReaderInfos(Env::getSingleton()->getReaderInfos()); - mContext->setTimestamp(QDateTime::currentDateTime()); + onFireReaderEvent(); } } @@ -91,3 +111,10 @@ DiagnosisController::PcscInfo DiagnosisController::retrievePcscInfo() return result; } + + +void DiagnosisController::onFireReaderEvent() +{ + mContext->setReaderInfos(Env::getSingleton()->getReaderInfos()); + mContext->setTimestamp(QDateTime::currentDateTime()); +} diff --git a/src/core/controller/DiagnosisController.h b/src/core/controller/DiagnosisController.h index d3ceea2ae..be5f1abac 100644 --- a/src/core/controller/DiagnosisController.h +++ b/src/core/controller/DiagnosisController.h @@ -1,7 +1,7 @@ /*! * \brief Controller for retrieving and presenting diagnosis info. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -30,6 +30,7 @@ class DiagnosisController private: QSharedPointer mContext; QFutureWatcher mWatcherPcscInfo; + bool mScanHasToBeStopped; void checkDone(); @@ -47,6 +48,7 @@ class DiagnosisController private Q_SLOTS: void onPcscInfoRetrieved(); + void onFireReaderEvent(); }; diff --git a/src/core/controller/DiagnosisController_generic.cpp b/src/core/controller/DiagnosisController_generic.cpp index afb0d9733..900f95181 100644 --- a/src/core/controller/DiagnosisController_generic.cpp +++ b/src/core/controller/DiagnosisController_generic.cpp @@ -1,7 +1,7 @@ /*! * \brief Generic implementation of the controller for retrieving and presenting diagnosis info. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/controller/DiagnosisController_osx.cpp b/src/core/controller/DiagnosisController_osx.cpp index 577319a58..c88c133e8 100644 --- a/src/core/controller/DiagnosisController_osx.cpp +++ b/src/core/controller/DiagnosisController_osx.cpp @@ -1,7 +1,7 @@ /*! * \brief Mac OS X specific implementation of the controller for retrieving and presenting diagnosis info. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/controller/DiagnosisController_win.cpp b/src/core/controller/DiagnosisController_win.cpp index 362eefb99..f44296f96 100644 --- a/src/core/controller/DiagnosisController_win.cpp +++ b/src/core/controller/DiagnosisController_win.cpp @@ -1,7 +1,7 @@ /*! * \brief Windows specific implementation of the controller for retrieving and presenting diagnosis info. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/controller/RemoteServiceController.cpp b/src/core/controller/RemoteServiceController.cpp index e16a46e26..f9a866ee5 100644 --- a/src/core/controller/RemoteServiceController.cpp +++ b/src/core/controller/RemoteServiceController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "controller/RemoteServiceController.h" diff --git a/src/core/controller/RemoteServiceController.h b/src/core/controller/RemoteServiceController.h index 5040f30dc..5242e09c4 100644 --- a/src/core/controller/RemoteServiceController.h +++ b/src/core/controller/RemoteServiceController.h @@ -1,7 +1,7 @@ /*! * \brief Controller for the remote service process. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/controller/SelfAuthController.cpp b/src/core/controller/SelfAuthController.cpp index 7e52c372c..8f73fddcd 100644 --- a/src/core/controller/SelfAuthController.cpp +++ b/src/core/controller/SelfAuthController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "controller/SelfAuthController.h" @@ -8,6 +8,7 @@ #include "states/CompositeStatePace.h" #include "states/CompositeStateProcessCvcsAndSetRights.h" #include "states/FinalState.h" +#include "states/StateActivateStoreFeedbackDialog.h" #include "states/StateCheckError.h" #include "states/StateCheckRefreshAddress.h" #include "states/StateCleanUpReaderManager.h" @@ -67,6 +68,7 @@ SelfAuthController::SelfAuthController(QSharedPointer pContext) auto sStartPaosResponse = addState(); auto sCheckErrorEpilogue = addState(); auto sCheckRefreshAddress = addState(); + auto sActivateStoreFeedbackDialog = addState(); auto sWriteHistory = addState(); auto sSendWhitelistSurvey = addState(); auto sGetSelfAuthenticationData = addState(); @@ -166,9 +168,12 @@ SelfAuthController::SelfAuthController(QSharedPointer pContext) sCheckErrorEpilogue->addTransition(sCheckErrorEpilogue, &AbstractState::fireContinue, sCheckRefreshAddress); sCheckErrorEpilogue->addTransition(sCheckErrorEpilogue, &AbstractState::fireAbort, sFinal); - sCheckRefreshAddress->addTransition(sCheckRefreshAddress, &AbstractState::fireContinue, sWriteHistory); + sCheckRefreshAddress->addTransition(sCheckRefreshAddress, &AbstractState::fireContinue, sActivateStoreFeedbackDialog); sCheckRefreshAddress->addTransition(sCheckRefreshAddress, &AbstractState::fireAbort, sFinal); + sActivateStoreFeedbackDialog->addTransition(sActivateStoreFeedbackDialog, &AbstractState::fireContinue, sWriteHistory); + sActivateStoreFeedbackDialog->addTransition(sActivateStoreFeedbackDialog, &AbstractState::fireAbort, sWriteHistory); + sWriteHistory->addTransition(sWriteHistory, &AbstractState::fireContinue, sGetSelfAuthenticationData); sWriteHistory->addTransition(sWriteHistory, &AbstractState::fireAbort, sGetSelfAuthenticationData); diff --git a/src/core/controller/SelfAuthController.h b/src/core/controller/SelfAuthController.h index 220c2e165..bc4118a5c 100644 --- a/src/core/controller/SelfAuthController.h +++ b/src/core/controller/SelfAuthController.h @@ -1,7 +1,7 @@ /*! * \brief Controller for the self authentication process. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/controller/WorkflowController.cpp b/src/core/controller/WorkflowController.cpp index f2761833e..3867c2c7d 100644 --- a/src/core/controller/WorkflowController.cpp +++ b/src/core/controller/WorkflowController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "controller/WorkflowController.h" diff --git a/src/core/controller/WorkflowController.h b/src/core/controller/WorkflowController.h index 98abdb88b..b93303317 100644 --- a/src/core/controller/WorkflowController.h +++ b/src/core/controller/WorkflowController.h @@ -1,7 +1,7 @@ /*! * \brief Base class for controllers controlling a workflow (using a state machine). * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/ElementDetector.cpp b/src/core/paos/ElementDetector.cpp index bd6a8bbb3..795d1f8d6 100644 --- a/src/core/paos/ElementDetector.cpp +++ b/src/core/paos/ElementDetector.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ElementDetector.h" diff --git a/src/core/paos/ElementDetector.h b/src/core/paos/ElementDetector.h index e0a1184cf..b5e50d0bd 100644 --- a/src/core/paos/ElementDetector.h +++ b/src/core/paos/ElementDetector.h @@ -1,7 +1,7 @@ /** * \brief Example class * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/PaosHandler.cpp b/src/core/paos/PaosHandler.cpp index b39212c05..82ce51613 100644 --- a/src/core/paos/PaosHandler.cpp +++ b/src/core/paos/PaosHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidList.h" diff --git a/src/core/paos/PaosHandler.h b/src/core/paos/PaosHandler.h index 43be2c39d..e75609406 100644 --- a/src/core/paos/PaosHandler.h +++ b/src/core/paos/PaosHandler.h @@ -1,7 +1,7 @@ /*! * \brief Generic Handler to detect and parse paos types. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/PaosMessage.cpp b/src/core/paos/PaosMessage.cpp index d56d279ca..9394bafcf 100644 --- a/src/core/paos/PaosMessage.cpp +++ b/src/core/paos/PaosMessage.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PaosMessage.h" diff --git a/src/core/paos/PaosMessage.h b/src/core/paos/PaosMessage.h index 0a3d15967..201cb53f1 100644 --- a/src/core/paos/PaosMessage.h +++ b/src/core/paos/PaosMessage.h @@ -1,7 +1,7 @@ /*! * \brief object represents one paos type * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/PaosType.cpp b/src/core/paos/PaosType.cpp index 92ab86745..01af523cf 100644 --- a/src/core/paos/PaosType.cpp +++ b/src/core/paos/PaosType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PaosType.h" diff --git a/src/core/paos/PaosType.h b/src/core/paos/PaosType.h index 05d4fcc10..e319f1525 100644 --- a/src/core/paos/PaosType.h +++ b/src/core/paos/PaosType.h @@ -1,7 +1,7 @@ /*! * \brief All possible paos types * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/RequestType.cpp b/src/core/paos/RequestType.cpp index f1fcfda93..1e64662c8 100644 --- a/src/core/paos/RequestType.cpp +++ b/src/core/paos/RequestType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "RequestType.h" diff --git a/src/core/paos/RequestType.h b/src/core/paos/RequestType.h index 9f45d6a53..3901bb1aa 100644 --- a/src/core/paos/RequestType.h +++ b/src/core/paos/RequestType.h @@ -1,7 +1,7 @@ /*! * \brief Represents a PAOS request type according to ISOCommon.xsd * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/ResponseType.cpp b/src/core/paos/ResponseType.cpp index 85e2f153e..b229f6b5b 100644 --- a/src/core/paos/ResponseType.cpp +++ b/src/core/paos/ResponseType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ResponseType.h" diff --git a/src/core/paos/ResponseType.h b/src/core/paos/ResponseType.h index 3a03e2bb3..d395593cc 100644 --- a/src/core/paos/ResponseType.h +++ b/src/core/paos/ResponseType.h @@ -1,7 +1,7 @@ /*! * \brief Represents a PAOS response type according to ISOCommon.xsd * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/paos/element/ConnectionHandle.cpp b/src/core/paos/element/ConnectionHandle.cpp index 2e422d134..a93282c95 100644 --- a/src/core/paos/element/ConnectionHandle.cpp +++ b/src/core/paos/element/ConnectionHandle.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ConnectionHandle.h" diff --git a/src/core/paos/element/ConnectionHandle.h b/src/core/paos/element/ConnectionHandle.h index 1c9549cf1..b03bcaf0c 100644 --- a/src/core/paos/element/ConnectionHandle.h +++ b/src/core/paos/element/ConnectionHandle.h @@ -1,7 +1,7 @@ /*! * \brief Object hold the paos connection handle. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/element/ConnectionHandleParser.cpp b/src/core/paos/element/ConnectionHandleParser.cpp index 5208af034..b97ce02b3 100644 --- a/src/core/paos/element/ConnectionHandleParser.cpp +++ b/src/core/paos/element/ConnectionHandleParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ConnectionHandleParser.h" diff --git a/src/core/paos/element/ConnectionHandleParser.h b/src/core/paos/element/ConnectionHandleParser.h index c6d3d2bb7..f8c494f02 100644 --- a/src/core/paos/element/ConnectionHandleParser.h +++ b/src/core/paos/element/ConnectionHandleParser.h @@ -1,7 +1,7 @@ /*! * \brief Parse an XML connection handle from given stream. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/element/Eac1InputType.cpp b/src/core/paos/element/Eac1InputType.cpp index 0e3f3e170..c8779ceeb 100644 --- a/src/core/paos/element/Eac1InputType.cpp +++ b/src/core/paos/element/Eac1InputType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Eac1InputType.h" diff --git a/src/core/paos/element/Eac1InputType.h b/src/core/paos/element/Eac1InputType.h index a70d8f198..76101b292 100644 --- a/src/core/paos/element/Eac1InputType.h +++ b/src/core/paos/element/Eac1InputType.h @@ -1,7 +1,7 @@ /*! * \brief Store information of Eac1InputType. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/element/Eac2InputType.cpp b/src/core/paos/element/Eac2InputType.cpp index 00213d9ab..22f38996f 100644 --- a/src/core/paos/element/Eac2InputType.cpp +++ b/src/core/paos/element/Eac2InputType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Eac2InputType.h" diff --git a/src/core/paos/element/Eac2InputType.h b/src/core/paos/element/Eac2InputType.h index 8e7acfe5d..5c4f6a97d 100644 --- a/src/core/paos/element/Eac2InputType.h +++ b/src/core/paos/element/Eac2InputType.h @@ -1,7 +1,7 @@ /*! * \brief Store information of Eac2InputType. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/element/ElementParser.cpp b/src/core/paos/element/ElementParser.cpp index 865e0a1a3..fbd79af14 100644 --- a/src/core/paos/element/ElementParser.cpp +++ b/src/core/paos/element/ElementParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ElementParser.h" diff --git a/src/core/paos/element/ElementParser.h b/src/core/paos/element/ElementParser.h index e3e8f14dc..63024cd26 100644 --- a/src/core/paos/element/ElementParser.h +++ b/src/core/paos/element/ElementParser.h @@ -1,7 +1,7 @@ /*! * \brief Base class for all XML element parser. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/element/SupportedApi.cpp b/src/core/paos/element/SupportedApi.cpp index 19c773186..2f46319e9 100644 --- a/src/core/paos/element/SupportedApi.cpp +++ b/src/core/paos/element/SupportedApi.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SupportedApi.h" diff --git a/src/core/paos/element/SupportedApi.h b/src/core/paos/element/SupportedApi.h index f43aea503..c3a28f289 100644 --- a/src/core/paos/element/SupportedApi.h +++ b/src/core/paos/element/SupportedApi.h @@ -1,7 +1,7 @@ /*! * \brief XML element for "SupportedAPI". See TR-03112-7. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/element/UserAgent.cpp b/src/core/paos/element/UserAgent.cpp index 5c09d0eac..0dcffaadf 100644 --- a/src/core/paos/element/UserAgent.cpp +++ b/src/core/paos/element/UserAgent.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "UserAgent.h" diff --git a/src/core/paos/element/UserAgent.h b/src/core/paos/element/UserAgent.h index 4afae4622..de52eade3 100644 --- a/src/core/paos/element/UserAgent.h +++ b/src/core/paos/element/UserAgent.h @@ -1,7 +1,7 @@ /* * \brief Provides UserAgent information for PAOS elements. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/DidAuthenticateResponseEac1.cpp b/src/core/paos/invoke/DidAuthenticateResponseEac1.cpp index c2255d2cd..c354946e6 100644 --- a/src/core/paos/invoke/DidAuthenticateResponseEac1.cpp +++ b/src/core/paos/invoke/DidAuthenticateResponseEac1.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DidAuthenticateResponseEac1.h" diff --git a/src/core/paos/invoke/DidAuthenticateResponseEac1.h b/src/core/paos/invoke/DidAuthenticateResponseEac1.h index f1597adec..5863d0fe8 100644 --- a/src/core/paos/invoke/DidAuthenticateResponseEac1.h +++ b/src/core/paos/invoke/DidAuthenticateResponseEac1.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for DIDAuthenticateResponseEAC1. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/DidAuthenticateResponseEac2.cpp b/src/core/paos/invoke/DidAuthenticateResponseEac2.cpp index 36302f30c..ba18d106e 100644 --- a/src/core/paos/invoke/DidAuthenticateResponseEac2.cpp +++ b/src/core/paos/invoke/DidAuthenticateResponseEac2.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DidAuthenticateResponseEac2.h" diff --git a/src/core/paos/invoke/DidAuthenticateResponseEac2.h b/src/core/paos/invoke/DidAuthenticateResponseEac2.h index 45040412d..9529c0561 100644 --- a/src/core/paos/invoke/DidAuthenticateResponseEac2.h +++ b/src/core/paos/invoke/DidAuthenticateResponseEac2.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for DIDAuthenticateResponseEAC2. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/DidListResponse.cpp b/src/core/paos/invoke/DidListResponse.cpp index c067625dd..5f6ec00c3 100644 --- a/src/core/paos/invoke/DidListResponse.cpp +++ b/src/core/paos/invoke/DidListResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DidListResponse.h" diff --git a/src/core/paos/invoke/DidListResponse.h b/src/core/paos/invoke/DidListResponse.h index 904f00756..8c5ae51c1 100644 --- a/src/core/paos/invoke/DidListResponse.h +++ b/src/core/paos/invoke/DidListResponse.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for DIDListResponse. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/DisconnectResponse.cpp b/src/core/paos/invoke/DisconnectResponse.cpp index fcc7b7a1f..c4d5ff758 100644 --- a/src/core/paos/invoke/DisconnectResponse.cpp +++ b/src/core/paos/invoke/DisconnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DisconnectResponse.h" diff --git a/src/core/paos/invoke/DisconnectResponse.h b/src/core/paos/invoke/DisconnectResponse.h index 440e868d0..7d8e63c21 100644 --- a/src/core/paos/invoke/DisconnectResponse.h +++ b/src/core/paos/invoke/DisconnectResponse.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for DisconnectResponse. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/InitializeFrameworkResponse.cpp b/src/core/paos/invoke/InitializeFrameworkResponse.cpp index 05c20388f..92107e727 100644 --- a/src/core/paos/invoke/InitializeFrameworkResponse.cpp +++ b/src/core/paos/invoke/InitializeFrameworkResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "InitializeFrameworkResponse.h" diff --git a/src/core/paos/invoke/InitializeFrameworkResponse.h b/src/core/paos/invoke/InitializeFrameworkResponse.h index 16bee0862..368786031 100644 --- a/src/core/paos/invoke/InitializeFrameworkResponse.h +++ b/src/core/paos/invoke/InitializeFrameworkResponse.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for InitializeFrameworkResponse. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/PaosCreator.cpp b/src/core/paos/invoke/PaosCreator.cpp index e5aaa8bcb..f111886c9 100644 --- a/src/core/paos/invoke/PaosCreator.cpp +++ b/src/core/paos/invoke/PaosCreator.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PaosCreator.h" diff --git a/src/core/paos/invoke/PaosCreator.h b/src/core/paos/invoke/PaosCreator.h index 8c91d8410..ef10181d7 100644 --- a/src/core/paos/invoke/PaosCreator.h +++ b/src/core/paos/invoke/PaosCreator.h @@ -1,7 +1,7 @@ /*! * \brief Base class to create a PaosMessage. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/StartPaos.cpp b/src/core/paos/invoke/StartPaos.cpp index c506760fa..fd81ed768 100644 --- a/src/core/paos/invoke/StartPaos.cpp +++ b/src/core/paos/invoke/StartPaos.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StartPaos.h" diff --git a/src/core/paos/invoke/StartPaos.h b/src/core/paos/invoke/StartPaos.h index 1ab981ba1..837033545 100644 --- a/src/core/paos/invoke/StartPaos.h +++ b/src/core/paos/invoke/StartPaos.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for StartPaos. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/invoke/TransmitResponse.cpp b/src/core/paos/invoke/TransmitResponse.cpp index 711a40dd5..03d08c548 100644 --- a/src/core/paos/invoke/TransmitResponse.cpp +++ b/src/core/paos/invoke/TransmitResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TransmitResponse.h" diff --git a/src/core/paos/invoke/TransmitResponse.h b/src/core/paos/invoke/TransmitResponse.h index f951e0b34..f85fffda8 100644 --- a/src/core/paos/invoke/TransmitResponse.h +++ b/src/core/paos/invoke/TransmitResponse.h @@ -1,7 +1,7 @@ /*! * \brief Generate information for TransmitResponse. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/DidAuthenticateEac1.cpp b/src/core/paos/retrieve/DidAuthenticateEac1.cpp index dd1d6d502..f77dc0265 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac1.cpp +++ b/src/core/paos/retrieve/DidAuthenticateEac1.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/src/core/paos/retrieve/DidAuthenticateEac1.h b/src/core/paos/retrieve/DidAuthenticateEac1.h index 069eb638e..3677dfcad 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac1.h +++ b/src/core/paos/retrieve/DidAuthenticateEac1.h @@ -1,7 +1,7 @@ /*! * \brief Class represents the retrieved PAOS EAC1InputType. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/paos/retrieve/DidAuthenticateEac1Parser.cpp b/src/core/paos/retrieve/DidAuthenticateEac1Parser.cpp index 2a2708d49..e77af5db2 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac1Parser.cpp +++ b/src/core/paos/retrieve/DidAuthenticateEac1Parser.cpp @@ -1,7 +1,7 @@ /*! * \brief Parser for the PAOS DidAuthenticateEac1 element. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/src/core/paos/retrieve/DidAuthenticateEac1Parser.h b/src/core/paos/retrieve/DidAuthenticateEac1Parser.h index 041840231..218ee034c 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac1Parser.h +++ b/src/core/paos/retrieve/DidAuthenticateEac1Parser.h @@ -1,7 +1,7 @@ /*! * \brief Parser for the PAOS DidAuthenticateEac1 element. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/DidAuthenticateEac2.cpp b/src/core/paos/retrieve/DidAuthenticateEac2.cpp index 7a409d99f..1247e0ad9 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac2.cpp +++ b/src/core/paos/retrieve/DidAuthenticateEac2.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEac2.h" diff --git a/src/core/paos/retrieve/DidAuthenticateEac2.h b/src/core/paos/retrieve/DidAuthenticateEac2.h index 569ca1a31..04e5dd497 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac2.h +++ b/src/core/paos/retrieve/DidAuthenticateEac2.h @@ -1,7 +1,7 @@ /*! * \brief Class represents the retrieved PAOS EAC2InputType. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/DidAuthenticateEac2Parser.cpp b/src/core/paos/retrieve/DidAuthenticateEac2Parser.cpp index 866131ff7..bcf073e2b 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac2Parser.cpp +++ b/src/core/paos/retrieve/DidAuthenticateEac2Parser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEac2Parser.h" diff --git a/src/core/paos/retrieve/DidAuthenticateEac2Parser.h b/src/core/paos/retrieve/DidAuthenticateEac2Parser.h index f633bdf19..e8617e4ef 100644 --- a/src/core/paos/retrieve/DidAuthenticateEac2Parser.h +++ b/src/core/paos/retrieve/DidAuthenticateEac2Parser.h @@ -1,7 +1,7 @@ /*! * \brief Parse information for DidAuthenticateEac2. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/DidAuthenticateEacAdditional.cpp b/src/core/paos/retrieve/DidAuthenticateEacAdditional.cpp index 3c46a57a4..1077939b6 100644 --- a/src/core/paos/retrieve/DidAuthenticateEacAdditional.cpp +++ b/src/core/paos/retrieve/DidAuthenticateEacAdditional.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DidAuthenticateEacAdditional.h" diff --git a/src/core/paos/retrieve/DidAuthenticateEacAdditional.h b/src/core/paos/retrieve/DidAuthenticateEacAdditional.h index 99b414b55..be1e8f718 100644 --- a/src/core/paos/retrieve/DidAuthenticateEacAdditional.h +++ b/src/core/paos/retrieve/DidAuthenticateEacAdditional.h @@ -1,7 +1,7 @@ /*! * \brief Class to hold information of DIDAuthenticateEACAdditional. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.cpp b/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.cpp index 774840b38..d4943b58b 100644 --- a/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.cpp +++ b/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEacAdditionalParser.h" diff --git a/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.h b/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.h index 6b0d34894..090c9a788 100644 --- a/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.h +++ b/src/core/paos/retrieve/DidAuthenticateEacAdditionalParser.h @@ -1,7 +1,7 @@ /*! * \brief Parse information for DidAuthenticateEacAdditional. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/DidList.cpp b/src/core/paos/retrieve/DidList.cpp index 77957b3cc..92707dff9 100644 --- a/src/core/paos/retrieve/DidList.cpp +++ b/src/core/paos/retrieve/DidList.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DidList.h" diff --git a/src/core/paos/retrieve/DidList.h b/src/core/paos/retrieve/DidList.h index 8a9996429..20a45a412 100644 --- a/src/core/paos/retrieve/DidList.h +++ b/src/core/paos/retrieve/DidList.h @@ -1,7 +1,7 @@ /*! * \brief Class represents the retrieved PAOS DIDList. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/Disconnect.cpp b/src/core/paos/retrieve/Disconnect.cpp index d0d7a61c7..3b26c83b2 100644 --- a/src/core/paos/retrieve/Disconnect.cpp +++ b/src/core/paos/retrieve/Disconnect.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Disconnect.h" diff --git a/src/core/paos/retrieve/Disconnect.h b/src/core/paos/retrieve/Disconnect.h index 62c8aea1a..31b7db872 100644 --- a/src/core/paos/retrieve/Disconnect.h +++ b/src/core/paos/retrieve/Disconnect.h @@ -1,7 +1,7 @@ /*! * \brief Class represents the retrieved PAOS Disconnect. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/InitializeFramework.cpp b/src/core/paos/retrieve/InitializeFramework.cpp index daae5b242..a257d2f27 100644 --- a/src/core/paos/retrieve/InitializeFramework.cpp +++ b/src/core/paos/retrieve/InitializeFramework.cpp @@ -1,7 +1,7 @@ /*! * \brief Class represents the retrieved PAOS InitializeFramework * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/PaosType.h" diff --git a/src/core/paos/retrieve/InitializeFramework.h b/src/core/paos/retrieve/InitializeFramework.h index 24e574229..d6d560b50 100644 --- a/src/core/paos/retrieve/InitializeFramework.h +++ b/src/core/paos/retrieve/InitializeFramework.h @@ -1,7 +1,7 @@ /*! * \brief Class to parse InitializeFramework from server. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/PaosParser.cpp b/src/core/paos/retrieve/PaosParser.cpp index 124d55d8a..cfa7e0351 100644 --- a/src/core/paos/retrieve/PaosParser.cpp +++ b/src/core/paos/retrieve/PaosParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PaosParser.h" diff --git a/src/core/paos/retrieve/PaosParser.h b/src/core/paos/retrieve/PaosParser.h index dbd96d437..981cc43fb 100644 --- a/src/core/paos/retrieve/PaosParser.h +++ b/src/core/paos/retrieve/PaosParser.h @@ -1,7 +1,7 @@ /*! * \brief Base class for PAOS message parsers. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/StartPaosResponse.cpp b/src/core/paos/retrieve/StartPaosResponse.cpp index 451a90eb2..0c021fb44 100644 --- a/src/core/paos/retrieve/StartPaosResponse.cpp +++ b/src/core/paos/retrieve/StartPaosResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StartPaosResponse.h" diff --git a/src/core/paos/retrieve/StartPaosResponse.h b/src/core/paos/retrieve/StartPaosResponse.h index 22a984179..998b3f438 100644 --- a/src/core/paos/retrieve/StartPaosResponse.h +++ b/src/core/paos/retrieve/StartPaosResponse.h @@ -1,7 +1,7 @@ /*! * \brief Class represents the retrieved PAOS StartPaosResponse * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/Transmit.cpp b/src/core/paos/retrieve/Transmit.cpp index 2960acb53..23e5a1757 100644 --- a/src/core/paos/retrieve/Transmit.cpp +++ b/src/core/paos/retrieve/Transmit.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Transmit.h" diff --git a/src/core/paos/retrieve/Transmit.h b/src/core/paos/retrieve/Transmit.h index 21b2c5567..672c0b24a 100644 --- a/src/core/paos/retrieve/Transmit.h +++ b/src/core/paos/retrieve/Transmit.h @@ -1,7 +1,7 @@ /*! * \brief Transmit objects hold a transmit request and provide access to the transmitted data via member functions. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/paos/retrieve/TransmitParser.cpp b/src/core/paos/retrieve/TransmitParser.cpp index 4ff66623c..5c9cf066b 100644 --- a/src/core/paos/retrieve/TransmitParser.cpp +++ b/src/core/paos/retrieve/TransmitParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TransmitParser.h" diff --git a/src/core/paos/retrieve/TransmitParser.h b/src/core/paos/retrieve/TransmitParser.h index 9605b6555..cd3aa3895 100644 --- a/src/core/paos/retrieve/TransmitParser.h +++ b/src/core/paos/retrieve/TransmitParser.h @@ -1,7 +1,7 @@ /*! * \brief Parser for the PAOS Transmit element. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/AbstractGenericState.h b/src/core/states/AbstractGenericState.h index ea93e4e53..e57ad526c 100644 --- a/src/core/states/AbstractGenericState.h +++ b/src/core/states/AbstractGenericState.h @@ -4,7 +4,7 @@ * We cannot parameterize the super class AbstractState because Qt does not * support template classes. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/AbstractState.cpp b/src/core/states/AbstractState.cpp index 234d8d595..5240c8fac 100644 --- a/src/core/states/AbstractState.cpp +++ b/src/core/states/AbstractState.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AbstractState.h" diff --git a/src/core/states/AbstractState.h b/src/core/states/AbstractState.h index be6325325..e77bc3494 100644 --- a/src/core/states/AbstractState.h +++ b/src/core/states/AbstractState.h @@ -1,7 +1,7 @@ /*! * \brief Base class for all states taken by the state machine. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/CompositeStatePace.cpp b/src/core/states/CompositeStatePace.cpp index 542792f44..3025266ef 100644 --- a/src/core/states/CompositeStatePace.cpp +++ b/src/core/states/CompositeStatePace.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "CompositeStatePace.h" diff --git a/src/core/states/CompositeStatePace.h b/src/core/states/CompositeStatePace.h index 56495dfaa..fbd7fd65a 100644 --- a/src/core/states/CompositeStatePace.h +++ b/src/core/states/CompositeStatePace.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/CompositeStateProcessCvcsAndSetRights.cpp b/src/core/states/CompositeStateProcessCvcsAndSetRights.cpp index a3a931beb..42576078d 100644 --- a/src/core/states/CompositeStateProcessCvcsAndSetRights.cpp +++ b/src/core/states/CompositeStateProcessCvcsAndSetRights.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "CompositeStateProcessCvcsAndSetRights.h" diff --git a/src/core/states/CompositeStateProcessCvcsAndSetRights.h b/src/core/states/CompositeStateProcessCvcsAndSetRights.h index 11fb144a6..ea1faa9e2 100644 --- a/src/core/states/CompositeStateProcessCvcsAndSetRights.h +++ b/src/core/states/CompositeStateProcessCvcsAndSetRights.h @@ -1,7 +1,7 @@ /*! * \brief Composite state for selecting a card. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/CompositeStateSelectCard.cpp b/src/core/states/CompositeStateSelectCard.cpp index 357fbd2ae..4e567282e 100644 --- a/src/core/states/CompositeStateSelectCard.cpp +++ b/src/core/states/CompositeStateSelectCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "CompositeStateSelectCard.h" diff --git a/src/core/states/CompositeStateSelectCard.h b/src/core/states/CompositeStateSelectCard.h index f30cce84c..21b02e2cb 100644 --- a/src/core/states/CompositeStateSelectCard.h +++ b/src/core/states/CompositeStateSelectCard.h @@ -1,7 +1,7 @@ /*! * \brief Composite state for selecting a card. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/FinalState.cpp b/src/core/states/FinalState.cpp index a90d06463..47ef352b3 100644 --- a/src/core/states/FinalState.cpp +++ b/src/core/states/FinalState.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "states/FinalState.h" diff --git a/src/core/states/FinalState.h b/src/core/states/FinalState.h index af0389e4a..77c0dce43 100644 --- a/src/core/states/FinalState.h +++ b/src/core/states/FinalState.h @@ -1,7 +1,7 @@ /*! * \brief A final state which blocks the state machine before termination. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateActivateStoreFeedbackDialog.cpp b/src/core/states/StateActivateStoreFeedbackDialog.cpp new file mode 100644 index 000000000..486d3b453 --- /dev/null +++ b/src/core/states/StateActivateStoreFeedbackDialog.cpp @@ -0,0 +1,29 @@ +/* + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +#include "StateActivateStoreFeedbackDialog.h" + +#include "asn1/AccessRoleAndRight.h" +#include "AppSettings.h" + +using namespace governikus; + + +StateActivateStoreFeedbackDialog::StateActivateStoreFeedbackDialog(const QSharedPointer& pContext) + : AbstractGenericState(pContext, false) +{ +} + + +void StateActivateStoreFeedbackDialog::run() +{ +#if defined(Q_OS_ANDROID) + auto& settings = Env::getSingleton()->getGeneralSettings(); + if (getContext()->getStatus().isNoError() && settings.askForStoreFeedback()) + { + settings.setRequestStoreFeedback(true); + } +#endif + Q_EMIT fireContinue(); +} diff --git a/src/core/states/StateActivateStoreFeedbackDialog.h b/src/core/states/StateActivateStoreFeedbackDialog.h new file mode 100644 index 000000000..cc4f807a6 --- /dev/null +++ b/src/core/states/StateActivateStoreFeedbackDialog.h @@ -0,0 +1,27 @@ +/* + * \brief Activates store the feedback dialog after a successful + * authentication. + * + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +#pragma once + +#include "context/AuthContext.h" +#include "states/AbstractGenericState.h" + + +namespace governikus +{ + +class StateActivateStoreFeedbackDialog + : public AbstractGenericState +{ + Q_OBJECT + friend class StateBuilder; + + explicit StateActivateStoreFeedbackDialog(const QSharedPointer& pContext); + virtual void run() override; +}; + +} // namespace governikus diff --git a/src/core/states/StateBuilder.h b/src/core/states/StateBuilder.h index 1ec71ac52..fcc588123 100644 --- a/src/core/states/StateBuilder.h +++ b/src/core/states/StateBuilder.h @@ -1,7 +1,7 @@ /*! * \brief Builder for states. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateCertificateDescriptionCheck.cpp b/src/core/states/StateCertificateDescriptionCheck.cpp index df67a0942..4c59d8233 100644 --- a/src/core/states/StateCertificateDescriptionCheck.cpp +++ b/src/core/states/StateCertificateDescriptionCheck.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateCertificateDescriptionCheck.h" diff --git a/src/core/states/StateCertificateDescriptionCheck.h b/src/core/states/StateCertificateDescriptionCheck.h index 9fcc0d58d..d71dafdee 100644 --- a/src/core/states/StateCertificateDescriptionCheck.h +++ b/src/core/states/StateCertificateDescriptionCheck.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateChangePin.cpp b/src/core/states/StateChangePin.cpp index 63c729936..2b5638898 100644 --- a/src/core/states/StateChangePin.cpp +++ b/src/core/states/StateChangePin.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderManager.h" diff --git a/src/core/states/StateChangePin.h b/src/core/states/StateChangePin.h index 5e20a47b0..eb7f21905 100644 --- a/src/core/states/StateChangePin.h +++ b/src/core/states/StateChangePin.h @@ -1,7 +1,7 @@ /*! * \brief Controller for the state changing the PIN. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateCheckCertificates.cpp b/src/core/states/StateCheckCertificates.cpp index f26a87f3f..0819ccb51 100644 --- a/src/core/states/StateCheckCertificates.cpp +++ b/src/core/states/StateCheckCertificates.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateCheckCertificates.h" diff --git a/src/core/states/StateCheckCertificates.h b/src/core/states/StateCheckCertificates.h index 2486ad0b8..f221299f1 100644 --- a/src/core/states/StateCheckCertificates.h +++ b/src/core/states/StateCheckCertificates.h @@ -3,7 +3,7 @@ * (i.e. those stored in the AuthContext) are in the CertificateDescription * extension of the eService certificate. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateCheckError.cpp b/src/core/states/StateCheckError.cpp index 40aa2f139..69a76ee2e 100644 --- a/src/core/states/StateCheckError.cpp +++ b/src/core/states/StateCheckError.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateCheckError.h" diff --git a/src/core/states/StateCheckError.h b/src/core/states/StateCheckError.h index 6206ac499..276576308 100644 --- a/src/core/states/StateCheckError.h +++ b/src/core/states/StateCheckError.h @@ -2,7 +2,7 @@ * \brief Helper state to decide whether an error has been occurred that should * be reported to the user. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateCheckRefreshAddress.cpp b/src/core/states/StateCheckRefreshAddress.cpp index 2240adc67..0b6a87ba7 100644 --- a/src/core/states/StateCheckRefreshAddress.cpp +++ b/src/core/states/StateCheckRefreshAddress.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateCheckRefreshAddress.h" diff --git a/src/core/states/StateCheckRefreshAddress.h b/src/core/states/StateCheckRefreshAddress.h index da3a00dcf..462c31d54 100644 --- a/src/core/states/StateCheckRefreshAddress.h +++ b/src/core/states/StateCheckRefreshAddress.h @@ -2,7 +2,7 @@ * \brief Calls the RefreshAddress of TcToken and checks the certificates. * After that it will set RedirectAddress in WorkflowContext. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateCleanUpReaderManager.cpp b/src/core/states/StateCleanUpReaderManager.cpp index 1bea3eacb..fe0e465ce 100644 --- a/src/core/states/StateCleanUpReaderManager.cpp +++ b/src/core/states/StateCleanUpReaderManager.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "StateCleanUpReaderManager.h" diff --git a/src/core/states/StateCleanUpReaderManager.h b/src/core/states/StateCleanUpReaderManager.h index 91e2f4edc..357b4a170 100644 --- a/src/core/states/StateCleanUpReaderManager.h +++ b/src/core/states/StateCleanUpReaderManager.h @@ -2,7 +2,7 @@ * \brief Performs clean up of the ReaderManager, * e.g. disconnects all readers, clears the card connection, ... * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateClearPacePasswords.cpp b/src/core/states/StateClearPacePasswords.cpp index 282cfe280..bba9bcc6b 100644 --- a/src/core/states/StateClearPacePasswords.cpp +++ b/src/core/states/StateClearPacePasswords.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateClearPacePasswords.h" diff --git a/src/core/states/StateClearPacePasswords.h b/src/core/states/StateClearPacePasswords.h index 0a9669031..641006fbb 100644 --- a/src/core/states/StateClearPacePasswords.h +++ b/src/core/states/StateClearPacePasswords.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateConnectCard.cpp b/src/core/states/StateConnectCard.cpp index 459466d64..e9098cd28 100644 --- a/src/core/states/StateConnectCard.cpp +++ b/src/core/states/StateConnectCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnection.h" diff --git a/src/core/states/StateConnectCard.h b/src/core/states/StateConnectCard.h index caadbe82b..940275c05 100644 --- a/src/core/states/StateConnectCard.h +++ b/src/core/states/StateConnectCard.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateDestroyPace.cpp b/src/core/states/StateDestroyPace.cpp index 7d4464298..19fe8a50c 100644 --- a/src/core/states/StateDestroyPace.cpp +++ b/src/core/states/StateDestroyPace.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ @@ -9,7 +9,7 @@ using namespace governikus; StateDestroyPace::StateDestroyPace(const QSharedPointer& pContext) - : AbstractGenericState(pContext) + : AbstractGenericState(pContext, false) { } diff --git a/src/core/states/StateDestroyPace.h b/src/core/states/StateDestroyPace.h index 2ba44e111..e5c985645 100644 --- a/src/core/states/StateDestroyPace.h +++ b/src/core/states/StateDestroyPace.h @@ -1,7 +1,7 @@ /*! * \brief Controller for the step that tries to destroy an existing PACE connection. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateDidAuthenticateEac1.cpp b/src/core/states/StateDidAuthenticateEac1.cpp index 23861c4a8..e2d59ce67 100644 --- a/src/core/states/StateDidAuthenticateEac1.cpp +++ b/src/core/states/StateDidAuthenticateEac1.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/CVCertificateChainBuilder.h" diff --git a/src/core/states/StateDidAuthenticateEac1.h b/src/core/states/StateDidAuthenticateEac1.h index 205ab6d98..c2d2d1fff 100644 --- a/src/core/states/StateDidAuthenticateEac1.h +++ b/src/core/states/StateDidAuthenticateEac1.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateDidAuthenticateEac2.cpp b/src/core/states/StateDidAuthenticateEac2.cpp index 00e227704..a27f11f7f 100644 --- a/src/core/states/StateDidAuthenticateEac2.cpp +++ b/src/core/states/StateDidAuthenticateEac2.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/CVCertificate.h" diff --git a/src/core/states/StateDidAuthenticateEac2.h b/src/core/states/StateDidAuthenticateEac2.h index f2e8b06cc..3e4df1a99 100644 --- a/src/core/states/StateDidAuthenticateEac2.h +++ b/src/core/states/StateDidAuthenticateEac2.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateDidList.cpp b/src/core/states/StateDidList.cpp index 6e197abb8..9947bacdb 100644 --- a/src/core/states/StateDidList.cpp +++ b/src/core/states/StateDidList.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/DidListResponse.h" diff --git a/src/core/states/StateDidList.h b/src/core/states/StateDidList.h index 2ef0498a6..ebf206a9b 100644 --- a/src/core/states/StateDidList.h +++ b/src/core/states/StateDidList.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateEACAdditionalInputType.cpp b/src/core/states/StateEACAdditionalInputType.cpp index 7b2c1f270..19b15712d 100644 --- a/src/core/states/StateEACAdditionalInputType.cpp +++ b/src/core/states/StateEACAdditionalInputType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateEACAdditionalInputType.h" diff --git a/src/core/states/StateEACAdditionalInputType.h b/src/core/states/StateEACAdditionalInputType.h index fa2461e40..a21152ebd 100644 --- a/src/core/states/StateEACAdditionalInputType.h +++ b/src/core/states/StateEACAdditionalInputType.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateEditAccessRights.cpp b/src/core/states/StateEditAccessRights.cpp index bd92082c9..3cbef70bb 100644 --- a/src/core/states/StateEditAccessRights.cpp +++ b/src/core/states/StateEditAccessRights.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEditAccessRights.h" diff --git a/src/core/states/StateEditAccessRights.h b/src/core/states/StateEditAccessRights.h index 728d104dc..a3b757762 100644 --- a/src/core/states/StateEditAccessRights.h +++ b/src/core/states/StateEditAccessRights.h @@ -2,7 +2,7 @@ * * \brief This state waits for editing of the effective CHAT * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateEnterNewPacePin.cpp b/src/core/states/StateEnterNewPacePin.cpp index e10ba3dd7..5c437590e 100644 --- a/src/core/states/StateEnterNewPacePin.cpp +++ b/src/core/states/StateEnterNewPacePin.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEnterNewPacePin.h" diff --git a/src/core/states/StateEnterNewPacePin.h b/src/core/states/StateEnterNewPacePin.h index 0d5f04c18..cc216b2e1 100644 --- a/src/core/states/StateEnterNewPacePin.h +++ b/src/core/states/StateEnterNewPacePin.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateEnterPacePassword.cpp b/src/core/states/StateEnterPacePassword.cpp index b9ad811fc..1ea922f55 100644 --- a/src/core/states/StateEnterPacePassword.cpp +++ b/src/core/states/StateEnterPacePassword.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEnterPacePassword.h" diff --git a/src/core/states/StateEnterPacePassword.h b/src/core/states/StateEnterPacePassword.h index 9d3b648ea..6c3681059 100644 --- a/src/core/states/StateEnterPacePassword.h +++ b/src/core/states/StateEnterPacePassword.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateEstablishPaceChannel.cpp b/src/core/states/StateEstablishPaceChannel.cpp index d4101a95c..2b8abdb2d 100644 --- a/src/core/states/StateEstablishPaceChannel.cpp +++ b/src/core/states/StateEstablishPaceChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/states/StateEstablishPaceChannel.h b/src/core/states/StateEstablishPaceChannel.h index cd73208b9..50f422f9e 100644 --- a/src/core/states/StateEstablishPaceChannel.h +++ b/src/core/states/StateEstablishPaceChannel.h @@ -2,7 +2,7 @@ * \brief Controller for the step that tries to establish a PACE * connection using the card's Pin. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateExtractCvcsFromEac1InputType.cpp b/src/core/states/StateExtractCvcsFromEac1InputType.cpp index 2382561c5..8e7e25623 100644 --- a/src/core/states/StateExtractCvcsFromEac1InputType.cpp +++ b/src/core/states/StateExtractCvcsFromEac1InputType.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateExtractCvcsFromEac1InputType.h" diff --git a/src/core/states/StateExtractCvcsFromEac1InputType.h b/src/core/states/StateExtractCvcsFromEac1InputType.h index edf3516b8..11d82377c 100644 --- a/src/core/states/StateExtractCvcsFromEac1InputType.h +++ b/src/core/states/StateExtractCvcsFromEac1InputType.h @@ -1,7 +1,7 @@ /*! * \brief State to process InputType of EAC1. Extract certificates and set it to context. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateGenericSendReceive.cpp b/src/core/states/StateGenericSendReceive.cpp index 4a77ca2a5..7f5ced0f1 100644 --- a/src/core/states/StateGenericSendReceive.cpp +++ b/src/core/states/StateGenericSendReceive.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateGenericSendReceive.h" diff --git a/src/core/states/StateGenericSendReceive.h b/src/core/states/StateGenericSendReceive.h index d6e071b96..c7732b48c 100644 --- a/src/core/states/StateGenericSendReceive.h +++ b/src/core/states/StateGenericSendReceive.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateGetSelfAuthenticationData.cpp b/src/core/states/StateGetSelfAuthenticationData.cpp index db2584eb7..f3ad48552 100644 --- a/src/core/states/StateGetSelfAuthenticationData.cpp +++ b/src/core/states/StateGetSelfAuthenticationData.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateGetSelfAuthenticationData.h" diff --git a/src/core/states/StateGetSelfAuthenticationData.h b/src/core/states/StateGetSelfAuthenticationData.h index e7068a235..19a5567cc 100644 --- a/src/core/states/StateGetSelfAuthenticationData.h +++ b/src/core/states/StateGetSelfAuthenticationData.h @@ -1,7 +1,7 @@ /*! * \brief get the xml data from the given url * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateGetTcToken.cpp b/src/core/states/StateGetTcToken.cpp index 2a4229946..11acdd484 100644 --- a/src/core/states/StateGetTcToken.cpp +++ b/src/core/states/StateGetTcToken.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateGetTcToken.h" diff --git a/src/core/states/StateGetTcToken.h b/src/core/states/StateGetTcToken.h index 7c4b75162..c40213802 100644 --- a/src/core/states/StateGetTcToken.h +++ b/src/core/states/StateGetTcToken.h @@ -1,7 +1,7 @@ /*! * \brief State machine state: Get TCToken. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateInitializeFramework.cpp b/src/core/states/StateInitializeFramework.cpp index 856546afb..fd046f964 100644 --- a/src/core/states/StateInitializeFramework.cpp +++ b/src/core/states/StateInitializeFramework.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/InitializeFrameworkResponse.h" diff --git a/src/core/states/StateInitializeFramework.h b/src/core/states/StateInitializeFramework.h index 81285c8a2..9cca069a3 100644 --- a/src/core/states/StateInitializeFramework.h +++ b/src/core/states/StateInitializeFramework.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateLoadTcTokenUrl.cpp b/src/core/states/StateLoadTcTokenUrl.cpp index 92b1d69be..490489a82 100644 --- a/src/core/states/StateLoadTcTokenUrl.cpp +++ b/src/core/states/StateLoadTcTokenUrl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/core/states/StateLoadTcTokenUrl.h b/src/core/states/StateLoadTcTokenUrl.h index 8b8fd7cb9..f5dd3b06d 100644 --- a/src/core/states/StateLoadTcTokenUrl.h +++ b/src/core/states/StateLoadTcTokenUrl.h @@ -1,7 +1,7 @@ /*! * \brief Loads the tcTokenUrl for triggering the self authentication from secure storage * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateMaintainCardConnection.cpp b/src/core/states/StateMaintainCardConnection.cpp index 597d67e57..9050a1cf7 100644 --- a/src/core/states/StateMaintainCardConnection.cpp +++ b/src/core/states/StateMaintainCardConnection.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateMaintainCardConnection.h" diff --git a/src/core/states/StateMaintainCardConnection.h b/src/core/states/StateMaintainCardConnection.h index eb20f45ea..01ebe6c0a 100644 --- a/src/core/states/StateMaintainCardConnection.h +++ b/src/core/states/StateMaintainCardConnection.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateParseTcTokenUrl.cpp b/src/core/states/StateParseTcTokenUrl.cpp index e537d4031..db36d6574 100644 --- a/src/core/states/StateParseTcTokenUrl.cpp +++ b/src/core/states/StateParseTcTokenUrl.cpp @@ -1,7 +1,7 @@ /*! * \brief Parse tcTokenURL from GET query. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateParseTcTokenUrl.h" diff --git a/src/core/states/StateParseTcTokenUrl.h b/src/core/states/StateParseTcTokenUrl.h index f6bfbbd3c..7085c6f44 100644 --- a/src/core/states/StateParseTcTokenUrl.h +++ b/src/core/states/StateParseTcTokenUrl.h @@ -1,7 +1,7 @@ /*! * \brief Implements the parsing of TcTokenUrl in header of browser request. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StatePreVerification.cpp b/src/core/states/StatePreVerification.cpp index 50efa4914..4ed0af636 100644 --- a/src/core/states/StatePreVerification.cpp +++ b/src/core/states/StatePreVerification.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StatePreVerification.h" diff --git a/src/core/states/StatePreVerification.h b/src/core/states/StatePreVerification.h index 595cdb5d1..72c3793d9 100644 --- a/src/core/states/StatePreVerification.h +++ b/src/core/states/StatePreVerification.h @@ -1,7 +1,7 @@ /* * \brief Performs the pre-verification of cvcs. If the pre-verification succeeds the cvc chain is set to the authentication model. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StatePrepareChangePin.cpp b/src/core/states/StatePrepareChangePin.cpp index 055bb5e4a..8bf9052ea 100644 --- a/src/core/states/StatePrepareChangePin.cpp +++ b/src/core/states/StatePrepareChangePin.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StatePrepareChangePin.h" diff --git a/src/core/states/StatePrepareChangePin.h b/src/core/states/StatePrepareChangePin.h index f9ab4c3ca..659eec51a 100644 --- a/src/core/states/StatePrepareChangePin.h +++ b/src/core/states/StatePrepareChangePin.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StatePreparePace.cpp b/src/core/states/StatePreparePace.cpp index 6f1c5c3cc..51f16f74e 100644 --- a/src/core/states/StatePreparePace.cpp +++ b/src/core/states/StatePreparePace.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StatePreparePace.h" @@ -64,7 +64,7 @@ void StatePreparePace::run() return; } } - // FALLTHROUGH + Q_FALLTHROUGH(); default: { diff --git a/src/core/states/StatePreparePace.h b/src/core/states/StatePreparePace.h index cb1769caf..5b9dd6224 100644 --- a/src/core/states/StatePreparePace.h +++ b/src/core/states/StatePreparePace.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateProcessCertificatesFromEac2.cpp b/src/core/states/StateProcessCertificatesFromEac2.cpp index 6e6373d80..757bdb2c7 100644 --- a/src/core/states/StateProcessCertificatesFromEac2.cpp +++ b/src/core/states/StateProcessCertificatesFromEac2.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateProcessCertificatesFromEac2.h" diff --git a/src/core/states/StateProcessCertificatesFromEac2.h b/src/core/states/StateProcessCertificatesFromEac2.h index d5edc6494..0b2eae040 100644 --- a/src/core/states/StateProcessCertificatesFromEac2.h +++ b/src/core/states/StateProcessCertificatesFromEac2.h @@ -1,7 +1,7 @@ /*! * \brief State to process certificates from EAC2. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateProcessing.cpp b/src/core/states/StateProcessing.cpp index c35f7e64f..b485ef9ac 100644 --- a/src/core/states/StateProcessing.cpp +++ b/src/core/states/StateProcessing.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateProcessing.h" diff --git a/src/core/states/StateProcessing.h b/src/core/states/StateProcessing.h index cf5ed669f..cb146f420 100644 --- a/src/core/states/StateProcessing.h +++ b/src/core/states/StateProcessing.h @@ -1,7 +1,7 @@ /*! * \brief Sends a HTTP-Processing to the browser. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateRedirectBrowser.cpp b/src/core/states/StateRedirectBrowser.cpp index 366b9ac90..290618fd2 100644 --- a/src/core/states/StateRedirectBrowser.cpp +++ b/src/core/states/StateRedirectBrowser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateRedirectBrowser.h" @@ -22,7 +22,12 @@ StateRedirectBrowser::StateRedirectBrowser(const QSharedPointer void StateRedirectBrowser::run() { - if (getContext()->isTcTokenNotFound()) + if (getContext()->isSkipRedirect()) + { + qDebug() << "Skipping redirect, Workflow pending"; + Q_EMIT fireContinue(); + } + else if (getContext()->isTcTokenNotFound()) { sendErrorPage(HTTP_STATUS_NOT_FOUND); } diff --git a/src/core/states/StateRedirectBrowser.h b/src/core/states/StateRedirectBrowser.h index c6a743157..b6ed65a57 100644 --- a/src/core/states/StateRedirectBrowser.h +++ b/src/core/states/StateRedirectBrowser.h @@ -1,7 +1,7 @@ /*! * \brief Send a redirect to the browser. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateSelectPasswordId.cpp b/src/core/states/StateSelectPasswordId.cpp index 9560a5056..bfbb8ce24 100644 --- a/src/core/states/StateSelectPasswordId.cpp +++ b/src/core/states/StateSelectPasswordId.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateSelectPasswordId.h" diff --git a/src/core/states/StateSelectPasswordId.h b/src/core/states/StateSelectPasswordId.h index 0649e2ea2..d23c1ccda 100644 --- a/src/core/states/StateSelectPasswordId.h +++ b/src/core/states/StateSelectPasswordId.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateSelectReader.cpp b/src/core/states/StateSelectReader.cpp index e13a5d265..0d054c340 100644 --- a/src/core/states/StateSelectReader.cpp +++ b/src/core/states/StateSelectReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "StateSelectReader.h" diff --git a/src/core/states/StateSelectReader.h b/src/core/states/StateSelectReader.h index 31330cd99..98ab9b8f4 100644 --- a/src/core/states/StateSelectReader.h +++ b/src/core/states/StateSelectReader.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateSendWhitelistSurvey.cpp b/src/core/states/StateSendWhitelistSurvey.cpp index 181b35e2c..bed1e9c40 100644 --- a/src/core/states/StateSendWhitelistSurvey.cpp +++ b/src/core/states/StateSendWhitelistSurvey.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateSendWhitelistSurvey.h" diff --git a/src/core/states/StateSendWhitelistSurvey.h b/src/core/states/StateSendWhitelistSurvey.h index 16df5f561..7cdd3e49b 100644 --- a/src/core/states/StateSendWhitelistSurvey.h +++ b/src/core/states/StateSendWhitelistSurvey.h @@ -2,7 +2,7 @@ * \brief Allows the user to send a survey after a successful authentication * on Android. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateShowSelfInfo.cpp b/src/core/states/StateShowSelfInfo.cpp index 32afbaa14..a17e7f099 100644 --- a/src/core/states/StateShowSelfInfo.cpp +++ b/src/core/states/StateShowSelfInfo.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateShowSelfInfo.h" diff --git a/src/core/states/StateShowSelfInfo.h b/src/core/states/StateShowSelfInfo.h index 22051e6a3..3e3278d1b 100644 --- a/src/core/states/StateShowSelfInfo.h +++ b/src/core/states/StateShowSelfInfo.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateStartPaos.cpp b/src/core/states/StateStartPaos.cpp index 4e0a2223d..92969a991 100644 --- a/src/core/states/StateStartPaos.cpp +++ b/src/core/states/StateStartPaos.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnection.h" diff --git a/src/core/states/StateStartPaos.h b/src/core/states/StateStartPaos.h index a9b1cb1d2..eea88895b 100644 --- a/src/core/states/StateStartPaos.h +++ b/src/core/states/StateStartPaos.h @@ -1,7 +1,7 @@ /*! * \brief State machine state: Start PAOS. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateStartPaosResponse.cpp b/src/core/states/StateStartPaosResponse.cpp index e24e3ce46..3bafdbb3c 100644 --- a/src/core/states/StateStartPaosResponse.cpp +++ b/src/core/states/StateStartPaosResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateStartPaosResponse.h" diff --git a/src/core/states/StateStartPaosResponse.h b/src/core/states/StateStartPaosResponse.h index 75e380448..10f3a1bed 100644 --- a/src/core/states/StateStartPaosResponse.h +++ b/src/core/states/StateStartPaosResponse.h @@ -1,7 +1,7 @@ /*! * \brief State to process StartPaosResponse from Server. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateTransmit.cpp b/src/core/states/StateTransmit.cpp index 35311ec9e..7ef36a287 100644 --- a/src/core/states/StateTransmit.cpp +++ b/src/core/states/StateTransmit.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnection.h" diff --git a/src/core/states/StateTransmit.h b/src/core/states/StateTransmit.h index d7f209562..73b6c7119 100644 --- a/src/core/states/StateTransmit.h +++ b/src/core/states/StateTransmit.h @@ -1,7 +1,7 @@ /*! * \brief Process received transmits. Send it to the card and create a response. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateUnfortunateCardPosition.cpp b/src/core/states/StateUnfortunateCardPosition.cpp index 3c753e4b9..c1ca4a1a5 100644 --- a/src/core/states/StateUnfortunateCardPosition.cpp +++ b/src/core/states/StateUnfortunateCardPosition.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateUnfortunateCardPosition.h" diff --git a/src/core/states/StateUnfortunateCardPosition.h b/src/core/states/StateUnfortunateCardPosition.h index 36f72377b..cb4a105fa 100644 --- a/src/core/states/StateUnfortunateCardPosition.h +++ b/src/core/states/StateUnfortunateCardPosition.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateUpdateRetryCounter.cpp b/src/core/states/StateUpdateRetryCounter.cpp index 70839a9f1..638905588 100644 --- a/src/core/states/StateUpdateRetryCounter.cpp +++ b/src/core/states/StateUpdateRetryCounter.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateUpdateRetryCounter.h" @@ -36,11 +36,11 @@ void StateUpdateRetryCounter::run() void StateUpdateRetryCounter::onUpdateRetryCounterDone(QSharedPointer pCommand) { - qDebug(statemachine) << "StateUpdateRetryCounter::onUpdateRetryCounterDone()"; + qCDebug(statemachine) << "StateUpdateRetryCounter::onUpdateRetryCounterDone()"; if (pCommand->getReturnCode() != CardReturnCode::OK) { - qCritical(statemachine) << "An error occurred while communicating with the card reader, cannot determine retry counter, abort state"; + qCCritical(statemachine) << "An error occurred while communicating with the card reader, cannot determine retry counter, abort state"; getContext()->resetCardConnection(); Q_EMIT fireAbort(); return; diff --git a/src/core/states/StateUpdateRetryCounter.h b/src/core/states/StateUpdateRetryCounter.h index 97862594d..6cc5fa9f3 100644 --- a/src/core/states/StateUpdateRetryCounter.h +++ b/src/core/states/StateUpdateRetryCounter.h @@ -2,7 +2,7 @@ * \brief Controller for the step that updates the retry * counter of a card. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateVerifyRetryCounter.cpp b/src/core/states/StateVerifyRetryCounter.cpp index a0405782a..df2d2e363 100644 --- a/src/core/states/StateVerifyRetryCounter.cpp +++ b/src/core/states/StateVerifyRetryCounter.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateVerifyRetryCounter.h" diff --git a/src/core/states/StateVerifyRetryCounter.h b/src/core/states/StateVerifyRetryCounter.h index 8be7cb140..8ee1943e9 100644 --- a/src/core/states/StateVerifyRetryCounter.h +++ b/src/core/states/StateVerifyRetryCounter.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/StateWriteHistory.cpp b/src/core/states/StateWriteHistory.cpp index eb504e842..54469a19a 100644 --- a/src/core/states/StateWriteHistory.cpp +++ b/src/core/states/StateWriteHistory.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StateWriteHistory.h" diff --git a/src/core/states/StateWriteHistory.h b/src/core/states/StateWriteHistory.h index c4b2b85ab..b6c5c85b2 100644 --- a/src/core/states/StateWriteHistory.h +++ b/src/core/states/StateWriteHistory.h @@ -2,7 +2,7 @@ * * \brief Writes the history entry . * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateChangePinRemote.cpp b/src/core/states/remote_service/StateChangePinRemote.cpp index f29b5fc38..8dde9f3c9 100644 --- a/src/core/states/remote_service/StateChangePinRemote.cpp +++ b/src/core/states/remote_service/StateChangePinRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateChangePinRemote.h" diff --git a/src/core/states/remote_service/StateChangePinRemote.h b/src/core/states/remote_service/StateChangePinRemote.h index 7b4b32d37..8bcba0988 100644 --- a/src/core/states/remote_service/StateChangePinRemote.h +++ b/src/core/states/remote_service/StateChangePinRemote.h @@ -1,7 +1,7 @@ /*! * \brief This state executes the remote message IfdModifyPin. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateChangePinResponse.cpp b/src/core/states/remote_service/StateChangePinResponse.cpp index 0bd009227..aabcbef24 100644 --- a/src/core/states/remote_service/StateChangePinResponse.cpp +++ b/src/core/states/remote_service/StateChangePinResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateChangePinResponse.h" diff --git a/src/core/states/remote_service/StateChangePinResponse.h b/src/core/states/remote_service/StateChangePinResponse.h index f97633a1b..ba38a1318 100644 --- a/src/core/states/remote_service/StateChangePinResponse.h +++ b/src/core/states/remote_service/StateChangePinResponse.h @@ -1,7 +1,7 @@ /*! * \brief This state executes the remote message IfdModifyPin. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateEnterNewPacePinRemote.cpp b/src/core/states/remote_service/StateEnterNewPacePinRemote.cpp index 28a71b567..2267b775b 100644 --- a/src/core/states/remote_service/StateEnterNewPacePinRemote.cpp +++ b/src/core/states/remote_service/StateEnterNewPacePinRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEnterNewPacePinRemote.h" diff --git a/src/core/states/remote_service/StateEnterNewPacePinRemote.h b/src/core/states/remote_service/StateEnterNewPacePinRemote.h index ee4babb4f..dcc13985c 100644 --- a/src/core/states/remote_service/StateEnterNewPacePinRemote.h +++ b/src/core/states/remote_service/StateEnterNewPacePinRemote.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateEnterPacePasswordRemote.cpp b/src/core/states/remote_service/StateEnterPacePasswordRemote.cpp index db3714ec1..39749d6be 100644 --- a/src/core/states/remote_service/StateEnterPacePasswordRemote.cpp +++ b/src/core/states/remote_service/StateEnterPacePasswordRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEnterPacePasswordRemote.h" diff --git a/src/core/states/remote_service/StateEnterPacePasswordRemote.h b/src/core/states/remote_service/StateEnterPacePasswordRemote.h index 7dd383986..f8e800446 100644 --- a/src/core/states/remote_service/StateEnterPacePasswordRemote.h +++ b/src/core/states/remote_service/StateEnterPacePasswordRemote.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateEstablishPaceChannelRemote.cpp b/src/core/states/remote_service/StateEstablishPaceChannelRemote.cpp index 8e8130bbc..d4e2c1fb9 100644 --- a/src/core/states/remote_service/StateEstablishPaceChannelRemote.cpp +++ b/src/core/states/remote_service/StateEstablishPaceChannelRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEstablishPaceChannelRemote.h" diff --git a/src/core/states/remote_service/StateEstablishPaceChannelRemote.h b/src/core/states/remote_service/StateEstablishPaceChannelRemote.h index da36c20bb..25c6fbd65 100644 --- a/src/core/states/remote_service/StateEstablishPaceChannelRemote.h +++ b/src/core/states/remote_service/StateEstablishPaceChannelRemote.h @@ -1,7 +1,7 @@ /*! * \brief This state executes the remote message PACE channel establish. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateEstablishPaceChannelResponse.cpp b/src/core/states/remote_service/StateEstablishPaceChannelResponse.cpp index baa9332d2..521cef3ab 100644 --- a/src/core/states/remote_service/StateEstablishPaceChannelResponse.cpp +++ b/src/core/states/remote_service/StateEstablishPaceChannelResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateEstablishPaceChannelResponse.h" diff --git a/src/core/states/remote_service/StateEstablishPaceChannelResponse.h b/src/core/states/remote_service/StateEstablishPaceChannelResponse.h index 90ac02248..6748b1309 100644 --- a/src/core/states/remote_service/StateEstablishPaceChannelResponse.h +++ b/src/core/states/remote_service/StateEstablishPaceChannelResponse.h @@ -1,7 +1,7 @@ /*! * \brief This state executes the remote message PACE channel establish. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StatePrepareChangePinRemote.cpp b/src/core/states/remote_service/StatePrepareChangePinRemote.cpp index 473499b93..4dcb2fb14 100644 --- a/src/core/states/remote_service/StatePrepareChangePinRemote.cpp +++ b/src/core/states/remote_service/StatePrepareChangePinRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StatePrepareChangePinRemote.h" diff --git a/src/core/states/remote_service/StatePrepareChangePinRemote.h b/src/core/states/remote_service/StatePrepareChangePinRemote.h index 6c0c2fdc4..478102827 100644 --- a/src/core/states/remote_service/StatePrepareChangePinRemote.h +++ b/src/core/states/remote_service/StatePrepareChangePinRemote.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StatePreparePaceRemote.cpp b/src/core/states/remote_service/StatePreparePaceRemote.cpp index 2330ca3fc..1d88b5a59 100644 --- a/src/core/states/remote_service/StatePreparePaceRemote.cpp +++ b/src/core/states/remote_service/StatePreparePaceRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "StatePreparePaceRemote.h" diff --git a/src/core/states/remote_service/StatePreparePaceRemote.h b/src/core/states/remote_service/StatePreparePaceRemote.h index 7ad348cb3..36b506013 100644 --- a/src/core/states/remote_service/StatePreparePaceRemote.h +++ b/src/core/states/remote_service/StatePreparePaceRemote.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateProcessRemoteMessages.cpp b/src/core/states/remote_service/StateProcessRemoteMessages.cpp index 7068b892f..68a959966 100644 --- a/src/core/states/remote_service/StateProcessRemoteMessages.cpp +++ b/src/core/states/remote_service/StateProcessRemoteMessages.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateProcessRemoteMessages.h" diff --git a/src/core/states/remote_service/StateProcessRemoteMessages.h b/src/core/states/remote_service/StateProcessRemoteMessages.h index 317fe6808..5e826a462 100644 --- a/src/core/states/remote_service/StateProcessRemoteMessages.h +++ b/src/core/states/remote_service/StateProcessRemoteMessages.h @@ -2,7 +2,7 @@ * \brief This state allows the processing of ordenary remote messages in the * background and handles special PACE messages. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateStartRemoteService.cpp b/src/core/states/remote_service/StateStartRemoteService.cpp index d2b1818b2..f2529c04b 100644 --- a/src/core/states/remote_service/StateStartRemoteService.cpp +++ b/src/core/states/remote_service/StateStartRemoteService.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateStartRemoteService.h" diff --git a/src/core/states/remote_service/StateStartRemoteService.h b/src/core/states/remote_service/StateStartRemoteService.h index fb8789090..681b555d8 100644 --- a/src/core/states/remote_service/StateStartRemoteService.h +++ b/src/core/states/remote_service/StateStartRemoteService.h @@ -1,7 +1,7 @@ /*! * \brief Start the remote service. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/core/states/remote_service/StateStopRemoteService.cpp b/src/core/states/remote_service/StateStopRemoteService.cpp index 2ca53bbdd..cc8ce1d29 100644 --- a/src/core/states/remote_service/StateStopRemoteService.cpp +++ b/src/core/states/remote_service/StateStopRemoteService.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "StateStopRemoteService.h" diff --git a/src/core/states/remote_service/StateStopRemoteService.h b/src/core/states/remote_service/StateStopRemoteService.h index 5b56f2c55..9deee036d 100644 --- a/src/core/states/remote_service/StateStopRemoteService.h +++ b/src/core/states/remote_service/StateStopRemoteService.h @@ -1,7 +1,7 @@ /*! * \brief Stop the remote service. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/export/PdfCreator.cpp b/src/export/PdfCreator.cpp index 4d5be9b9a..60320db2c 100644 --- a/src/export/PdfCreator.cpp +++ b/src/export/PdfCreator.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "PdfCreator.h" diff --git a/src/export/PdfCreator.h b/src/export/PdfCreator.h index 08fa545d3..6d402edf9 100644 --- a/src/export/PdfCreator.h +++ b/src/export/PdfCreator.h @@ -1,7 +1,7 @@ /*! * \brief Tool to create PDF-Documents. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/export/PdfExporter.cpp b/src/export/PdfExporter.cpp index 657cc539c..713328e5c 100644 --- a/src/export/PdfExporter.cpp +++ b/src/export/PdfExporter.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "PdfExporter.h" diff --git a/src/export/PdfExporter.h b/src/export/PdfExporter.h index 4b65f6512..8b3228308 100644 --- a/src/export/PdfExporter.h +++ b/src/export/PdfExporter.h @@ -1,7 +1,7 @@ /*! * \brief Tool to export data of history or selfauthentication result. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/file_provider/Downloader.cpp b/src/file_provider/Downloader.cpp index a069defab..ee3c2c15a 100644 --- a/src/file_provider/Downloader.cpp +++ b/src/file_provider/Downloader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "Downloader.h" @@ -77,7 +77,7 @@ void Downloader::onSslHandshakeDone() if (!Env::getSingleton()->checkUpdateServerCertificate(*mCurrentReply)) { const QString& textForLog = mCurrentRequest->url().fileName(); - qCritical(fileprovider).nospace() << "Untrusted certificate found [" << textForLog << "]: " << cfg.peerCertificate(); + qCCritical(fileprovider).nospace() << "Untrusted certificate found [" << textForLog << "]: " << cfg.peerCertificate(); mCurrentReply->abort(); } } diff --git a/src/file_provider/Downloader.h b/src/file_provider/Downloader.h index d4c85fefd..a364dd22c 100644 --- a/src/file_provider/Downloader.h +++ b/src/file_provider/Downloader.h @@ -2,7 +2,7 @@ * \brief Generic class that allows to download files from a server to the * local application cache. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/file_provider/FileProvider.cpp b/src/file_provider/FileProvider.cpp index 7e40636d1..6e884321e 100644 --- a/src/file_provider/FileProvider.cpp +++ b/src/file_provider/FileProvider.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "FileProvider.h" diff --git a/src/file_provider/FileProvider.h b/src/file_provider/FileProvider.h index a15fdfd01..ae8ecd32c 100644 --- a/src/file_provider/FileProvider.h +++ b/src/file_provider/FileProvider.h @@ -1,7 +1,7 @@ /*! * \brief Class that holds a table of the UpdatableFile instances currently in use. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/file_provider/UpdatableFile.cpp b/src/file_provider/UpdatableFile.cpp index bca3f9ef9..d1cc81665 100644 --- a/src/file_provider/UpdatableFile.cpp +++ b/src/file_provider/UpdatableFile.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "UpdatableFile.h" diff --git a/src/file_provider/UpdatableFile.h b/src/file_provider/UpdatableFile.h index fbbaadaa5..e638769ce 100644 --- a/src/file_provider/UpdatableFile.h +++ b/src/file_provider/UpdatableFile.h @@ -4,7 +4,7 @@ * This class also handles the synchronization of the local cache with the content * provided by a server. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/BreakPropertyBindingDiagnosticLogFilter.cpp b/src/global/BreakPropertyBindingDiagnosticLogFilter.cpp index ce3788b1b..e158b7404 100644 --- a/src/global/BreakPropertyBindingDiagnosticLogFilter.cpp +++ b/src/global/BreakPropertyBindingDiagnosticLogFilter.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "BreakPropertyBindingDiagnosticLogFilter.h" diff --git a/src/global/BreakPropertyBindingDiagnosticLogFilter.h b/src/global/BreakPropertyBindingDiagnosticLogFilter.h index 7b7728c70..e7d8287f4 100644 --- a/src/global/BreakPropertyBindingDiagnosticLogFilter.h +++ b/src/global/BreakPropertyBindingDiagnosticLogFilter.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/BuildHelper.cpp b/src/global/BuildHelper.cpp index df8fca3ac..44eff10f3 100644 --- a/src/global/BuildHelper.cpp +++ b/src/global/BuildHelper.cpp @@ -1,9 +1,11 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "BuildHelper.h" +#include "DeviceInfo.h" + #ifdef Q_OS_ANDROID #include "VersionNumber.h" @@ -12,6 +14,9 @@ #include #endif +#include +#include + using namespace governikus; #ifdef Q_OS_ANDROID @@ -144,3 +149,58 @@ QByteArrayList BuildHelper::getAppCertificates(const QString& pPackageName) #endif + +QVector > BuildHelper::getInformationHeader() +{ +#if OPENSSL_VERSION_NUMBER < 0x10100000L + #define OpenSSL_version SSLeay_version + #define OPENSSL_VERSION SSLEAY_VERSION +#endif + + QVector > data; + const auto& add = [&data](const char* pKey, const QString& pStr) + { + data << qMakePair(QLatin1String(pKey), pStr); + }; + + add(QT_TR_NOOP("Application"), QCoreApplication::applicationName()); + add(QT_TR_NOOP("Application Version"), QCoreApplication::applicationVersion()); + add(QT_TR_NOOP("Organization"), QCoreApplication::organizationName()); + add(QT_TR_NOOP("Organization Domain"), QCoreApplication::organizationDomain()); + + add(QT_TR_NOOP("System"), QSysInfo::prettyProductName()); + add(QT_TR_NOOP("Kernel"), QSysInfo::kernelVersion()); + + QString architecture = QSysInfo::currentCpuArchitecture(); +#ifdef Q_OS_ANDROID + if (architecture != QSysInfo::buildCpuArchitecture()) + { + architecture += QStringLiteral(" (%1)").arg(QSysInfo::buildCpuArchitecture()); + } +#endif + add(QT_TR_NOOP("Architecture"), architecture); + +#ifdef Q_OS_ANDROID + add(QT_TR_NOOP("Device"), DeviceInfo::getPrettyInfo()); + add(QT_TR_NOOP("VersionCode"), QString::number(getVersionCode())); +#else + add(QT_TR_NOOP("Device"), DeviceInfo::getName()); +#endif + + add(QT_TR_NOOP("Qt Version"), QString::fromLatin1(qVersion())); + add(QT_TR_NOOP("OpenSSL Version"), QString::fromLatin1(OpenSSL_version(OPENSSL_VERSION))); + + return data; +} + + +void BuildHelper::processInformationHeader(const std::function& pFunc, bool pTranslate) +{ + const auto& info = getInformationHeader(); + + for (const auto& entry : info) + { + const auto& key = entry.first; + pFunc(pTranslate ? tr(key.data()) : QString(key), entry.second); + } +} diff --git a/src/global/BuildHelper.h b/src/global/BuildHelper.h index 7f3035750..8b7e41abb 100644 --- a/src/global/BuildHelper.h +++ b/src/global/BuildHelper.h @@ -1,28 +1,36 @@ /* * \brief Helper to get build date and time. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once -#include +#include +#include +#include +#include #ifdef Q_OS_ANDROID #include #endif +#include + namespace governikus { class BuildHelper { + Q_DECLARE_TR_FUNCTIONS(BuildHelper) + private: BuildHelper() = delete; ~BuildHelper() = delete; public: - static const char* getDateTime(); + static QVector > getInformationHeader(); + static void processInformationHeader(const std::function& pFunc, bool pTranslate = true); #ifdef Q_OS_ANDROID diff --git a/src/global/CardReturnCode.cpp b/src/global/CardReturnCode.cpp index b05aa449d..65192178d 100644 --- a/src/global/CardReturnCode.cpp +++ b/src/global/CardReturnCode.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardReturnCode.h" diff --git a/src/global/CardReturnCode.h b/src/global/CardReturnCode.h index 1c6fb9fea..0fdaaae4f 100644 --- a/src/global/CardReturnCode.h +++ b/src/global/CardReturnCode.h @@ -1,7 +1,7 @@ /*! * \brief Global error code definitions * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/DeviceInfo.cpp b/src/global/DeviceInfo.cpp index 78c76bc37..895a93c1e 100644 --- a/src/global/DeviceInfo.cpp +++ b/src/global/DeviceInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "DeviceInfo.h" diff --git a/src/global/DeviceInfo.h b/src/global/DeviceInfo.h index 02a46c1ce..6ef8ed1f5 100644 --- a/src/global/DeviceInfo.h +++ b/src/global/DeviceInfo.h @@ -2,7 +2,7 @@ * \brief Implements a wrapper for different APIs to get * device information like android device name. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/ECardApiResult.cpp b/src/global/ECardApiResult.cpp index efea78047..f2efee601 100644 --- a/src/global/ECardApiResult.cpp +++ b/src/global/ECardApiResult.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ECardApiResult.h" @@ -580,7 +580,7 @@ GlobalStatus ECardApiResult::toStatus() const { return GlobalStatus::Code::No_Error; } - // FALLTHROUGH + Q_FALLTHROUGH(); case Major::Error: return GlobalStatus(toStatus(getMinor()), message, toStatus(d->mOrigin)); diff --git a/src/global/ECardApiResult.h b/src/global/ECardApiResult.h index b4b8f482a..e3d05ae26 100644 --- a/src/global/ECardApiResult.h +++ b/src/global/ECardApiResult.h @@ -1,7 +1,7 @@ /*! * \brief Status representation according to TR-03112-6 "eCard-API-Framework" * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/EnumHelper.h b/src/global/EnumHelper.h index 3437faedb..116d9b969 100644 --- a/src/global/EnumHelper.h +++ b/src/global/EnumHelper.h @@ -1,7 +1,7 @@ /*! * \brief Helper class to provide a QMetaObject handler for enumerations. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/Env.cpp b/src/global/Env.cpp index d2e8689f2..a3802a10e 100644 --- a/src/global/Env.cpp +++ b/src/global/Env.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "Env.h" diff --git a/src/global/Env.h b/src/global/Env.h index 378b577b2..f4885c17f 100644 --- a/src/global/Env.h +++ b/src/global/Env.h @@ -1,7 +1,7 @@ /* * \brief Runtime environment to create (mockable) objects. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/FileDestination.h b/src/global/FileDestination.h index c6177abc1..79d229095 100644 --- a/src/global/FileDestination.h +++ b/src/global/FileDestination.h @@ -1,7 +1,7 @@ /* * \brief Little helper that will abstract pathes of underlying systems * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/FuncUtils.h b/src/global/FuncUtils.h index 8722e4030..69305c70c 100644 --- a/src/global/FuncUtils.h +++ b/src/global/FuncUtils.h @@ -1,7 +1,7 @@ /*! * \brief Template functions that allow to map and filter over QVectors. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/GlobalStatus.cpp b/src/global/GlobalStatus.cpp index 1ee38bffd..e059eadb7 100644 --- a/src/global/GlobalStatus.cpp +++ b/src/global/GlobalStatus.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "GlobalStatus.h" @@ -86,13 +86,15 @@ QString GlobalStatus::toErrorDescription(const bool pSimplifiedVersion) const { if (pSimplifiedVersion && isMessageMasked()) { -#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) - return tr("An error occurred. Please contact our support at AusweisApp2 Support."); + const QString supportUrl = tr("https://www.ausweisapp.bund.de/en/qa/support/"); + const QString hyperlink = QStringLiteral("").arg(supportUrl); +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) + QString message = tr("An error occurred. Please contact our %1support%2.").arg(hyperlink, QStringLiteral("")); #else - return tr("An error occurred. Please contact our support at AusweisApp2 Support or feel free to send us an email at \">support@ausweisapp.de."); - + QString message = tr("An error occurred. Please contact our %1support%2 or feel free to send us an email.").arg(hyperlink, QStringLiteral("")); #endif + return message; } return toErrorDescriptionInternal(); } @@ -255,7 +257,7 @@ QString GlobalStatus::toErrorDescriptionInternal() const case Code::Card_Unexpected_Transmit_Status: return QStringLiteral("%1 %3.").arg( tr("A protocol error occurred. Please make sure that your ID card is placed correctly on the card reader and try again. If the problem occurs again, please contact our support at"), - tr("https://www.ausweisapp.bund.de/en/service/support/"), + tr("https://www.ausweisapp.bund.de/en/qa/support/"), tr("AusweisApp2 Support")); case Code::Card_Invalid_Pin: diff --git a/src/global/GlobalStatus.h b/src/global/GlobalStatus.h index 8ca12c79f..2d17c416b 100644 --- a/src/global/GlobalStatus.h +++ b/src/global/GlobalStatus.h @@ -1,7 +1,7 @@ /*! * \brief A global mapping for errors * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/Initializer.cpp b/src/global/Initializer.cpp index 41ebbf330..8089d68a5 100644 --- a/src/global/Initializer.cpp +++ b/src/global/Initializer.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "Initializer.h" diff --git a/src/global/Initializer.h b/src/global/Initializer.h index 8b66e7d2b..0209db854 100644 --- a/src/global/Initializer.h +++ b/src/global/Initializer.h @@ -1,7 +1,7 @@ /* * \brief Initializer to register a lambda that will be executed if QCoreApplication is ready. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/LanguageLoader.cpp b/src/global/LanguageLoader.cpp index cabaedc1b..62131ad78 100644 --- a/src/global/LanguageLoader.cpp +++ b/src/global/LanguageLoader.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "LanguageLoader.h" diff --git a/src/global/LanguageLoader.h b/src/global/LanguageLoader.h index 2ed4a392c..43a96004f 100644 --- a/src/global/LanguageLoader.h +++ b/src/global/LanguageLoader.h @@ -1,7 +1,7 @@ /* * \brief Loads translation files for different languages. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/LogCategories.cpp b/src/global/LogCategories.cpp index e95d429e3..373512bd5 100644 --- a/src/global/LogCategories.cpp +++ b/src/global/LogCategories.cpp @@ -2,7 +2,7 @@ * \brief Definition of all logging categories. * * \see Q_LOGGING_CATEGORY - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include @@ -26,6 +26,7 @@ Q_LOGGING_CATEGORY(cli, "cli") Q_LOGGING_CATEGORY(stdinput, "stdinput") Q_LOGGING_CATEGORY(activation, "activation") Q_LOGGING_CATEGORY(fileprovider, "fileprovider") +Q_LOGGING_CATEGORY(diagnosis, "diagnosis") /*! * Logging category for all security relevant messages, diff --git a/src/global/LogHandler.cpp b/src/global/LogHandler.cpp index 1fc70bd75..c3579dd04 100644 --- a/src/global/LogHandler.cpp +++ b/src/global/LogHandler.cpp @@ -1,18 +1,27 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "LogHandler.h" #include "BreakPropertyBindingDiagnosticLogFilter.h" +#include "ScopeGuard.h" #include "SingletonHelper.h" +#include #include +#include using namespace governikus; defineSingleton(LogHandler) +Q_DECLARE_LOGGING_CATEGORY(fileprovider) +Q_DECLARE_LOGGING_CATEGORY(securestorage) +Q_DECLARE_LOGGING_CATEGORY(configuration) + +#define LOGCAT(name) QString::fromLatin1(name().categoryName()) + #if !defined(Q_OS_ANDROID) && !defined(QT_USE_JOURNALD) #define ENABLE_MESSAGE_PATTERN @@ -24,11 +33,14 @@ LogHandler::LogHandler() , mEnvPattern(!qEnvironmentVariableIsEmpty("QT_MESSAGE_PATTERN")) , mFunctionFilenameSize(74) , mBacklogPosition(0) - , mMessagePattern(QStringLiteral("%{category} %{time yyyy.MM.dd hh:mm:ss.zzz} %{if-debug} %{endif}%{if-info}I%{endif}%{if-warning}W%{endif}%{if-critical}C%{endif}%{if-fatal}F%{endif} %{function}(%{file}:%{line}) %{message}")) + , mCriticalLog(false) + , mCriticalLogWindow(10) + , mCriticalLogIgnore({LOGCAT(fileprovider), LOGCAT(securestorage), LOGCAT(configuration)}) + , mMessagePattern(QStringLiteral("%{category} %{time yyyy.MM.dd hh:mm:ss.zzz} %{threadid} %{if-debug} %{endif}%{if-info}I%{endif}%{if-warning}W%{endif}%{if-critical}C%{endif}%{if-fatal}F%{endif} %{function}(%{file}:%{line}) %{message}")) , mDefaultMessagePattern(QStringLiteral("%{if-category}%{category}: %{endif}%{message}")) // as defined in qlogging.cpp - , mLogFileTemplate(QDir::tempPath() + QStringLiteral("/AusweisApp2.XXXXXX.log")) // if you change value you need to adjust getOtherLogfiles() - , mLogFile(mLogFileTemplate) + , mLogFile(getLogFileTemplate()) , mHandler(nullptr) + , mUseHandler(true) , mFilePrefix("/src/") , mMutex() { @@ -50,6 +62,13 @@ LogHandler& LogHandler::getInstance() } +QString LogHandler::getLogFileTemplate() +{ + // if you change value you need to adjust getOtherLogfiles() + return QDir::tempPath() % QLatin1Char('/') % QCoreApplication::applicationName() % QStringLiteral(".XXXXXX.log"); +} + + void LogHandler::reset() { const QMutexLocker mutexLocker(&mMutex); @@ -71,6 +90,9 @@ void LogHandler::init() mLogFile.open(); } mHandler = qInstallMessageHandler(&LogHandler::messageHandler); + + // Avoid deadlock with subsequent logging of this call. + QMetaObject::invokeMethod(this, &LogHandler::removeOldLogfiles, Qt::QueuedConnection); } } @@ -97,17 +119,17 @@ void LogHandler::logToFile(const QString& pOutput) } -QByteArray LogHandler::getBacklog() +QByteArray LogHandler::readLogFile(qint64 pStart, qint64 pLength) { - const QMutexLocker mutexLocker(&mMutex); - if (mLogFile.isOpen() && mLogFile.isReadable()) { const auto currentPos = mLogFile.pos(); - mLogFile.seek(mBacklogPosition); - const auto backlog = mLogFile.readAll(); - mLogFile.seek(currentPos); - return backlog; + const ScopeGuard resetPosition([this, currentPos] { + mLogFile.seek(currentPos); + }); + + mLogFile.seek(pStart); + return pLength > 0 ? mLogFile.read(pLength) : mLogFile.readAll(); } if (useLogfile()) @@ -119,6 +141,47 @@ QByteArray LogHandler::getBacklog() } +QByteArray LogHandler::getBacklog(bool pAll) +{ + const QMutexLocker mutexLocker(&mMutex); + return readLogFile(pAll ? 0 : mBacklogPosition); +} + + +QByteArray LogHandler::getCriticalLogWindow() +{ + const QMutexLocker mutexLocker(&mMutex); + + if (mCriticalLog) + { + const auto first = qAsConst(mCriticalLogWindow).first(); + const auto last = qAsConst(mCriticalLogWindow).last(); + return readLogFile(first.mPosition, last.mPosition - first.mPosition + last.mLength); + } + + return QByteArray(); +} + + +bool LogHandler::hasCriticalLog() const +{ + return mCriticalLog; +} + + +int LogHandler::getCriticalLogCapacity() const +{ + return mCriticalLogWindow.capacity(); +} + + +void LogHandler::setCriticalLogCapacity(int pSize) +{ + const QMutexLocker mutexLocker(&mMutex); + mCriticalLogWindow.setCapacity(pSize); +} + + QDateTime LogHandler::getFileDate(const QFileInfo& pInfo) { const auto& dateTime = pInfo.birthTime(); @@ -141,6 +204,8 @@ void LogHandler::resetBacklog() { const QMutexLocker mutexLocker(&mMutex); mBacklogPosition = mLogFile.pos(); + mCriticalLog = false; + mCriticalLogWindow.clear(); } @@ -255,21 +320,45 @@ void LogHandler::handleMessage(QtMsgType pType, const QMessageLogContext& pConte const QLatin1Char lineBreak('\n'); #endif - QString logMsg = qFormatLogMessage(pType, ctx, message) + lineBreak; + const QString logMsg = qFormatLogMessage(pType, ctx, message) + lineBreak; + handleLogWindow(pType, pContext.category, logMsg); logToFile(logMsg); + if (Q_LIKELY(mUseHandler)) + { #ifdef ENABLE_MESSAGE_PATTERN - mHandler(pType, ctx, message); + mHandler(pType, ctx, message); #else - qSetMessagePattern(mDefaultMessagePattern); - mHandler(pType, ctx, pMsg); + qSetMessagePattern(mDefaultMessagePattern); + mHandler(pType, ctx, pMsg); #endif + } Q_EMIT fireRawLog(pMsg, QString::fromLatin1(pContext.category)); Q_EMIT fireLog(logMsg); } +void LogHandler::handleLogWindow(QtMsgType pType, const char* pCategory, const QString& pMsg) +{ + if (!useLogfile()) + { + return; + } + + if (mCriticalLog && mCriticalLogWindow.isFull()) + { + return; + } + else if (pType == QtCriticalMsg && !mCriticalLogIgnore.contains(QLatin1String(pCategory))) + { + mCriticalLog = true; + } + + mCriticalLogWindow.append({mLogFile.pos(), pMsg.size()}); +} + + bool LogHandler::copy(const QString& pDest) { if (pDest.trimmed().isEmpty()) @@ -287,7 +376,7 @@ QFileInfoList LogHandler::getOtherLogfiles() const QDir tmpPath = QDir::temp(); tmpPath.setSorting(QDir::Time); tmpPath.setFilter(QDir::Files); - tmpPath.setNameFilters(QStringList({QStringLiteral("AusweisApp2.*.log")})); + tmpPath.setNameFilters(QStringList({QCoreApplication::applicationName() + QStringLiteral(".*.log")})); QFileInfoList list = tmpPath.entryInfoList(); list.removeAll(mLogFile); @@ -296,12 +385,28 @@ QFileInfoList LogHandler::getOtherLogfiles() const } +void LogHandler::removeOldLogfiles() +{ + const auto& threshold = QDateTime::currentDateTime().addDays(-14); + const QFileInfoList& logfileInfos = getOtherLogfiles(); + for (const QFileInfo& entry : logfileInfos) + { + if (entry.fileTime(QFileDevice::FileModificationTime) < threshold) + { + const auto result = QFile::remove(entry.absoluteFilePath()); + qDebug() << "Auto-remove old log file:" << entry.absoluteFilePath() << '|' << result; + } + } +} + + bool LogHandler::removeOtherLogfiles() { const auto otherLogFiles = getOtherLogfiles(); for (const auto& entry : otherLogFiles) { - qDebug() << "Remove old log file:" << entry.absoluteFilePath() << "|" << QFile::remove(entry.absoluteFilePath()); + const auto result = QFile::remove(entry.absoluteFilePath()); + qDebug() << "Remove old log file:" << entry.absoluteFilePath() << '|' << result; } return !otherLogFiles.isEmpty(); @@ -316,7 +421,7 @@ void LogHandler::setLogfile(bool pEnable) { if (!mLogFile.isOpen()) { - mLogFile.setFileTemplate(mLogFileTemplate); + mLogFile.setFileTemplate(getLogFileTemplate()); mLogFile.open(); } } @@ -327,6 +432,8 @@ void LogHandler::setLogfile(bool pEnable) mLogFile.close(); mLogFile.remove(); mBacklogPosition = 0; + mCriticalLog = false; + mCriticalLogWindow.clear(); } mLogFile.setFileTemplate(QString()); } @@ -339,6 +446,18 @@ bool LogHandler::useLogfile() const } +void LogHandler::setUseHandler(bool pEnable) +{ + mUseHandler = pEnable; +} + + +bool LogHandler::useHandler() const +{ + return mUseHandler; +} + + void LogHandler::messageHandler(QtMsgType pType, const QMessageLogContext& pContext, const QString& pMsg) { getInstance().handleMessage(pType, pContext, pMsg); diff --git a/src/global/LogHandler.h b/src/global/LogHandler.h index d9e5e9264..4cc8f4dca 100644 --- a/src/global/LogHandler.h +++ b/src/global/LogHandler.h @@ -1,13 +1,14 @@ /* * \brief Logging handler of QtMessageHandler * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once #include "Env.h" +#include #include #include #include @@ -32,14 +33,25 @@ class LogHandler friend class Env; friend class ::test_LogHandler; + struct LogWindowEntry + { + qint64 mPosition; + qint64 mLength; + }; + private: + static QString getLogFileTemplate(); + const bool mEnvPattern; const int mFunctionFilenameSize; qint64 mBacklogPosition; + bool mCriticalLog; + QContiguousCache mCriticalLogWindow; + QStringList mCriticalLogIgnore; const QString mMessagePattern, mDefaultMessagePattern; - const QString mLogFileTemplate; QTemporaryFile mLogFile; QtMessageHandler mHandler; + bool mUseHandler; const QByteArray mFilePrefix; QMutex mMutex; @@ -51,6 +63,9 @@ class LogHandler QString getPaddedLogMsg(const QMessageLogContext& pContext, const QString& pMsg); void handleMessage(QtMsgType pType, const QMessageLogContext& pContext, const QString& pMsg); + void handleLogWindow(QtMsgType pType, const char* pCategory, const QString& pMsg); + void removeOldLogfiles(); + QByteArray readLogFile(qint64 pStart, qint64 pLength = -1); static void messageHandler(QtMsgType pType, const QMessageLogContext& pContext, const QString& pMsg); friend QDebug operator<<(QDebug, const LogHandler&); @@ -73,7 +88,11 @@ class LogHandler void setAutoRemove(bool pRemove); bool copy(const QString& pDest); void resetBacklog(); - QByteArray getBacklog(); + QByteArray getBacklog(bool pAll = false); + QByteArray getCriticalLogWindow(); + bool hasCriticalLog() const; + int getCriticalLogCapacity() const; + void setCriticalLogCapacity(int pSize); static QDateTime getFileDate(const QFileInfo& pInfo); QDateTime getCurrentLogfileDate() const; @@ -81,6 +100,8 @@ class LogHandler bool removeOtherLogfiles(); void setLogfile(bool pEnable); bool useLogfile() const; + void setUseHandler(bool pEnable); + bool useHandler() const; Q_SIGNALS: /** diff --git a/src/global/Randomizer.cpp b/src/global/Randomizer.cpp index 6a81a1c04..ed78961f6 100644 --- a/src/global/Randomizer.cpp +++ b/src/global/Randomizer.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "Randomizer.h" diff --git a/src/global/Randomizer.h b/src/global/Randomizer.h index 07c410681..ecd28d795 100644 --- a/src/global/Randomizer.h +++ b/src/global/Randomizer.h @@ -1,7 +1,7 @@ /*! * \brief Helper to get a Randomizer. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/ResourceLoader.cpp b/src/global/ResourceLoader.cpp index 9ac3e9b3e..76b71c248 100644 --- a/src/global/ResourceLoader.cpp +++ b/src/global/ResourceLoader.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ResourceLoader.h" @@ -52,8 +52,8 @@ void ResourceLoader::init() } #endif - bool loaded = QResource::registerResource(path); - qDebug() << "Register resource:" << path << "|" << loaded; + const auto loaded = QResource::registerResource(path); + qDebug() << "Register resource:" << path << '|' << loaded; if (loaded) { mLoadedResources << path; @@ -66,7 +66,8 @@ void ResourceLoader::shutdown() { for (const auto& path : qAsConst(mLoadedResources)) { - qDebug() << "Unregister resource:" << path << "|" << QResource::unregisterResource(path); + const auto result = QResource::unregisterResource(path); + qDebug() << "Unregister resource:" << path << '|' << result; } mLoadedResources.clear(); } diff --git a/src/global/ResourceLoader.h b/src/global/ResourceLoader.h index 0aa489d74..8548370af 100644 --- a/src/global/ResourceLoader.h +++ b/src/global/ResourceLoader.h @@ -1,7 +1,7 @@ /* * \brief Handler to load and manage resources and resource files. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/ScopeGuard.cpp b/src/global/ScopeGuard.cpp index 8a91cfa42..ca3c031f6 100644 --- a/src/global/ScopeGuard.cpp +++ b/src/global/ScopeGuard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ScopeGuard.h" diff --git a/src/global/ScopeGuard.h b/src/global/ScopeGuard.h index 1489f19f0..8f2e68f8c 100644 --- a/src/global/ScopeGuard.h +++ b/src/global/ScopeGuard.h @@ -1,7 +1,7 @@ /*! * \brief Calls a lambda once the object is destroyed * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/SingletonHelper.h b/src/global/SingletonHelper.h index afd433f6c..b8223f338 100644 --- a/src/global/SingletonHelper.h +++ b/src/global/SingletonHelper.h @@ -2,7 +2,7 @@ * \brief Helper to introduce a Singleton. * Be aware to use this helper in .cpp file only! * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/UsbId.cpp b/src/global/UsbId.cpp index 1ac8f6687..fcb7c71ad 100644 --- a/src/global/UsbId.cpp +++ b/src/global/UsbId.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "UsbId.h" diff --git a/src/global/UsbId.h b/src/global/UsbId.h index dec096631..4efb841bc 100644 --- a/src/global/UsbId.h +++ b/src/global/UsbId.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/VersionInfo.cpp b/src/global/VersionInfo.cpp index a3e411395..6aa06e255 100644 --- a/src/global/VersionInfo.cpp +++ b/src/global/VersionInfo.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "VersionInfo.h" diff --git a/src/global/VersionInfo.h b/src/global/VersionInfo.h index 43deeb32a..b37610045 100644 --- a/src/global/VersionInfo.h +++ b/src/global/VersionInfo.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/global/VersionNumber.cpp b/src/global/VersionNumber.cpp index 38e353124..df70a4aa9 100644 --- a/src/global/VersionNumber.cpp +++ b/src/global/VersionNumber.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "VersionNumber.h" diff --git a/src/global/VersionNumber.h b/src/global/VersionNumber.h index 367980667..630ef5564 100644 --- a/src/global/VersionNumber.h +++ b/src/global/VersionNumber.h @@ -1,7 +1,7 @@ /*! * \brief Extension to QVersionNumber. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/main.cpp b/src/main.cpp index 899010c90..837c30ac8 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,11 +1,10 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "controller/AppController.h" #include "CommandLineParser.h" #include "global/BuildHelper.h" -#include "global/DeviceInfo.h" #include "global/LogHandler.h" #include "SignalHandler.h" @@ -14,7 +13,6 @@ #include #include #include -#include #include #include @@ -113,21 +111,11 @@ static inline void printInfo() qCDebug(init) << "Logging to" << *Env::getSingleton(); qCInfo(init) << "##################################################"; - qCInfo(init) << "### ApplicationName:" << QCoreApplication::applicationName(); - qCInfo(init) << "### ApplicationVersion:" << QCoreApplication::applicationVersion(); - qCInfo(init) << "### OrganizationName:" << QCoreApplication::organizationName(); - qCInfo(init) << "### OrganizationDomain:" << QCoreApplication::organizationDomain(); - qCInfo(init) << "### System:" << QSysInfo::prettyProductName(); - qCInfo(init) << "### Kernel:" << QSysInfo::kernelVersion(); - qCInfo(init) << "### Architecture:" << QSysInfo::currentCpuArchitecture(); -#ifdef Q_OS_ANDROID - qCInfo(init) << "### Device:" << DeviceInfo::getPrettyInfo(); - qCInfo(init) << "### VersionCode:" << BuildHelper::getVersionCode(); -#else - qCInfo(init) << "### Devicename:" << DeviceInfo::getName(); -#endif - qCInfo(init) << "### Qt Version:" << qVersion(); - qCInfo(init) << "### OpenSSL Version:" << QSslSocket::sslLibraryVersionString(); + const auto& info = BuildHelper::getInformationHeader(); + for (const auto& entry : info) + { + qCInfo(init).noquote().nospace() << "### " << entry.first << ": " << entry.second; + } qCInfo(init) << "##################################################"; #if OPENSSL_VERSION_NUMBER < 0x10100000L diff --git a/src/network/DatagramHandler.cpp b/src/network/DatagramHandler.cpp index 4b0026b9d..0dada3f14 100644 --- a/src/network/DatagramHandler.cpp +++ b/src/network/DatagramHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "DatagramHandler.h" diff --git a/src/network/DatagramHandler.h b/src/network/DatagramHandler.h index 0bb694812..472e6baad 100644 --- a/src/network/DatagramHandler.h +++ b/src/network/DatagramHandler.h @@ -1,7 +1,7 @@ /*! * \brief Provides an interface to send and receive datagrams over UDP. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/DatagramHandlerImpl.cpp b/src/network/DatagramHandlerImpl.cpp index f1eee24b1..422979ae8 100644 --- a/src/network/DatagramHandlerImpl.cpp +++ b/src/network/DatagramHandlerImpl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "DatagramHandlerImpl.h" @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -39,6 +40,7 @@ quint16 DatagramHandlerImpl::cPort = PortFile::cDefaultPort; DatagramHandlerImpl::DatagramHandlerImpl(bool pListen, quint16 pPort) : DatagramHandler() , mSocket(new QUdpSocket) + , mMulticastLock() , mUsedPort(pPort) , mPortFile(QStringLiteral("udp")) { @@ -62,6 +64,7 @@ DatagramHandlerImpl::DatagramHandlerImpl(bool pListen, quint16 pPort) } else if (mSocket->bind(mUsedPort)) { + mMulticastLock.reset(new MulticastLock); mUsedPort = mSocket->localPort(); // if user provides 0, we need to overwrite it with real value mPortFile.handlePort(mUsedPort); qCDebug(network) << "Bound on port:" << mUsedPort; @@ -193,12 +196,13 @@ void DatagramHandlerImpl::onReadyRead() { while (mSocket->hasPendingDatagrams()) { - QByteArray datagram; - QHostAddress addr; - - datagram.resize(static_cast(mSocket->pendingDatagramSize())); - mSocket->readDatagram(datagram.data(), datagram.size(), &addr); - - Q_EMIT fireNewMessage(datagram, addr); + const QNetworkDatagram& datagram = mSocket->receiveDatagram(); + if (!datagram.isValid()) + { + qCCritical(network) << "Cannot read datagram"; + Q_ASSERT(false); + continue; + } + Q_EMIT fireNewMessage(datagram.data(), datagram.senderAddress()); } } diff --git a/src/network/DatagramHandlerImpl.h b/src/network/DatagramHandlerImpl.h index 7692312c3..114cd7568 100644 --- a/src/network/DatagramHandlerImpl.h +++ b/src/network/DatagramHandlerImpl.h @@ -1,13 +1,13 @@ /*! * \brief Provides an UDP socket to send and receive datagrams. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once #include "DatagramHandler.h" - +#include "MulticastLock.h" #include "PortFile.h" #include @@ -28,6 +28,7 @@ class DatagramHandlerImpl friend struct QtSharedPointer::CustomDeleter; QScopedPointer mSocket; + QScopedPointer mMulticastLock; quint16 mUsedPort; PortFile mPortFile; diff --git a/src/network/HttpRequest.cpp b/src/network/HttpRequest.cpp index 6b95aac93..bd2f02f08 100644 --- a/src/network/HttpRequest.cpp +++ b/src/network/HttpRequest.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpRequest.h" diff --git a/src/network/HttpRequest.h b/src/network/HttpRequest.h index b9653f681..ee052a5d8 100644 --- a/src/network/HttpRequest.h +++ b/src/network/HttpRequest.h @@ -1,7 +1,7 @@ /*! * \brief Class to parse http request. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/HttpResponse.cpp b/src/network/HttpResponse.cpp index 4984e9f4f..85e6eb6b9 100644 --- a/src/network/HttpResponse.cpp +++ b/src/network/HttpResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpResponse.h" diff --git a/src/network/HttpResponse.h b/src/network/HttpResponse.h index c654f4833..7ed9e45fc 100644 --- a/src/network/HttpResponse.h +++ b/src/network/HttpResponse.h @@ -1,7 +1,7 @@ /*! * \brief Class to create http response. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/HttpServer.cpp b/src/network/HttpServer.cpp index 5e52f1f8d..c88d25760 100644 --- a/src/network/HttpServer.cpp +++ b/src/network/HttpServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpServer.h" diff --git a/src/network/HttpServer.h b/src/network/HttpServer.h index db58632b6..161d1dca6 100644 --- a/src/network/HttpServer.h +++ b/src/network/HttpServer.h @@ -1,7 +1,7 @@ /*! * \brief Provide a HTTP server. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/HttpServerRequestor.cpp b/src/network/HttpServerRequestor.cpp index 9d3ae0efd..ed4a24ca7 100644 --- a/src/network/HttpServerRequestor.cpp +++ b/src/network/HttpServerRequestor.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpServerRequestor.h" diff --git a/src/network/HttpServerRequestor.h b/src/network/HttpServerRequestor.h index 654768d3f..a9caefe13 100644 --- a/src/network/HttpServerRequestor.h +++ b/src/network/HttpServerRequestor.h @@ -1,7 +1,7 @@ /* * \brief Sends one time GET requests to server. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/HttpServerStatusParser.cpp b/src/network/HttpServerStatusParser.cpp index d8a62d477..aa9814b31 100644 --- a/src/network/HttpServerStatusParser.cpp +++ b/src/network/HttpServerStatusParser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpServerStatusParser.h" diff --git a/src/network/HttpServerStatusParser.h b/src/network/HttpServerStatusParser.h index 9f63452ae..dabf4eff5 100644 --- a/src/network/HttpServerStatusParser.h +++ b/src/network/HttpServerStatusParser.h @@ -1,7 +1,7 @@ /*! * \brief Sends a status request to given url:port and tries to detect details and server header. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/MulticastLock.cpp b/src/network/MulticastLock.cpp new file mode 100644 index 000000000..030813237 --- /dev/null +++ b/src/network/MulticastLock.cpp @@ -0,0 +1,62 @@ +/*! + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +#include "MulticastLock.h" + +#include +#include + +#if defined(Q_OS_ANDROID) + #include + #include + #include +#endif + +Q_DECLARE_LOGGING_CATEGORY(network) + +using namespace governikus; + + +MulticastLock::MulticastLock() +{ +#if defined(Q_OS_ANDROID) + invokeJniMethod("acquire"); +#endif +} + + +MulticastLock::~MulticastLock() +{ +#if defined(Q_OS_ANDROID) + invokeJniMethod("release"); +#endif +} + + +void MulticastLock::invokeJniMethod(const char* pMethodName) +{ +#if defined(Q_OS_ANDROID) + QAndroidJniEnvironment env; + const QAndroidJniObject context(QtAndroid::androidContext()); + if (!context.isValid()) + { + qCCritical(network) << "Cannot determine android context."; + return; + } + + QAndroidJniObject::callStaticMethod("com/governikus/ausweisapp2/MulticastLockJniBridgeUtil", + pMethodName, + "(Landroid/content/Context;)V", + context.object()); + + if (env->ExceptionCheck()) + { + qCCritical(network) << "Cannot call MulticastLockJniBridgeUtil." << pMethodName << "()"; + env->ExceptionDescribe(); + env->ExceptionClear(); + } +#else + Q_UNUSED(pMethodName); +#endif +} diff --git a/src/network/MulticastLock.h b/src/network/MulticastLock.h new file mode 100644 index 000000000..909845f25 --- /dev/null +++ b/src/network/MulticastLock.h @@ -0,0 +1,21 @@ +/*! + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +#pragma once + +namespace governikus +{ + +class MulticastLock +{ + private: + void invokeJniMethod(const char* pMethodName); + + public: + MulticastLock(); + ~MulticastLock(); +}; + + +} // namespace governikus diff --git a/src/network/MulticastLockJniBridgeUtil.java b/src/network/MulticastLockJniBridgeUtil.java new file mode 100644 index 000000000..808f1205a --- /dev/null +++ b/src/network/MulticastLockJniBridgeUtil.java @@ -0,0 +1,45 @@ +/* + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +package com.governikus.ausweisapp2; + +import android.content.Context; +import android.net.wifi.WifiManager; +import android.util.Log; + + +public final class MulticastLockJniBridgeUtil +{ + private static final String LOG_TAG = AusweisApp2Service.LOG_TAG; + + private static WifiManager.MulticastLock cLock; + + + private MulticastLockJniBridgeUtil() + { + } + + + public static synchronized void acquire(Context pContext) + { + if (cLock == null) + { + WifiManager wifi = (WifiManager) pContext.getSystemService(Context.WIFI_SERVICE); + cLock = wifi.createMulticastLock("AusweisApp2"); + cLock.setReferenceCounted(true); + } + + cLock.acquire(); + Log.d(LOG_TAG, "Multicast lock: " + cLock.toString()); + } + + + public static synchronized void release(Context pContext) + { + cLock.release(); + Log.d(LOG_TAG, "Multicast lock released."); + } + + +} diff --git a/src/network/NetworkManager.cpp b/src/network/NetworkManager.cpp index f69be19f6..ab63db39c 100644 --- a/src/network/NetworkManager.cpp +++ b/src/network/NetworkManager.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "NetworkManager.h" diff --git a/src/network/NetworkManager.h b/src/network/NetworkManager.h index b588bcaa9..804fae0e0 100644 --- a/src/network/NetworkManager.h +++ b/src/network/NetworkManager.h @@ -1,7 +1,7 @@ /* * \brief Wrapper around QNetworkAccessManager * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/NetworkReplyError.cpp b/src/network/NetworkReplyError.cpp index efa9bf94a..20193566e 100644 --- a/src/network/NetworkReplyError.cpp +++ b/src/network/NetworkReplyError.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "NetworkReplyError.h" diff --git a/src/network/NetworkReplyError.h b/src/network/NetworkReplyError.h index b3bc2e163..6df94bf90 100644 --- a/src/network/NetworkReplyError.h +++ b/src/network/NetworkReplyError.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/NetworkReplyTimeout.cpp b/src/network/NetworkReplyTimeout.cpp index 7d74a0f9b..b3ea57716 100644 --- a/src/network/NetworkReplyTimeout.cpp +++ b/src/network/NetworkReplyTimeout.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "NetworkReplyTimeout.h" diff --git a/src/network/NetworkReplyTimeout.h b/src/network/NetworkReplyTimeout.h index 796cd527e..2fd447cd5 100644 --- a/src/network/NetworkReplyTimeout.h +++ b/src/network/NetworkReplyTimeout.h @@ -1,7 +1,7 @@ /*! * \brief Utility class to set a timeout on a QNetworkReply * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/PortFile.cpp b/src/network/PortFile.cpp index b7f702dcc..0398560f9 100644 --- a/src/network/PortFile.cpp +++ b/src/network/PortFile.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "PortFile.h" diff --git a/src/network/PortFile.h b/src/network/PortFile.h index 262fc5413..91abb3b61 100644 --- a/src/network/PortFile.h +++ b/src/network/PortFile.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/TlsChecker.cpp b/src/network/TlsChecker.cpp index 5a012b2c5..6a3361cc8 100644 --- a/src/network/TlsChecker.cpp +++ b/src/network/TlsChecker.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TlsChecker.h" @@ -209,6 +209,12 @@ QString TlsChecker::toString(QSsl::KeyAlgorithm pKeyAlgorithm) case QSsl::KeyAlgorithm::Ec: return QStringLiteral("Ec"); + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 13, 0)) + case QSsl::KeyAlgorithm::Dh: + return QStringLiteral("Dh"); + +#endif } return QStringLiteral("Unknown (%1)").arg(pKeyAlgorithm); diff --git a/src/network/TlsChecker.h b/src/network/TlsChecker.h index a3253e33a..d6a55769a 100644 --- a/src/network/TlsChecker.h +++ b/src/network/TlsChecker.h @@ -1,7 +1,7 @@ /*! * \brief Helper to check certificates and other security stuff of TLS/SSL. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/UrlUtil.cpp b/src/network/UrlUtil.cpp index f389df286..2796e7fd8 100644 --- a/src/network/UrlUtil.cpp +++ b/src/network/UrlUtil.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/network/UrlUtil.h b/src/network/UrlUtil.h index 708613d6d..35a0c23cd 100644 --- a/src/network/UrlUtil.h +++ b/src/network/UrlUtil.h @@ -1,6 +1,6 @@ /*! * \brief Helper to convert \ref Result to Redirect-Result-String and some other URL stuff. - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/network/WifiInfo.cpp b/src/network/WifiInfo.cpp index 62f4980a2..d6173a551 100644 --- a/src/network/WifiInfo.cpp +++ b/src/network/WifiInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "WifiInfo.h" diff --git a/src/network/WifiInfo.h b/src/network/WifiInfo.h index 45ef35d73..4e3b6cc89 100644 --- a/src/network/WifiInfo.h +++ b/src/network/WifiInfo.h @@ -1,7 +1,7 @@ /*! * \brief Provides information about the Wifi status * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/network/WifiInfo.java b/src/network/WifiInfo.java index 5cfcbaf38..0cdc55eb6 100644 --- a/src/network/WifiInfo.java +++ b/src/network/WifiInfo.java @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ package com.governikus.ausweisapp2; diff --git a/src/network/WifiInfo_android.cpp b/src/network/WifiInfo_android.cpp index a54519f5b..32a45598b 100644 --- a/src/network/WifiInfo_android.cpp +++ b/src/network/WifiInfo_android.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "WifiInfo.h" diff --git a/src/network/WifiInfo_generic.cpp b/src/network/WifiInfo_generic.cpp index e2b37cb98..c11b28644 100644 --- a/src/network/WifiInfo_generic.cpp +++ b/src/network/WifiInfo_generic.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "WifiInfo.h" diff --git a/src/network/WifiInfo_ios.mm b/src/network/WifiInfo_ios.mm index 0e1fcd426..37ae76908 100644 --- a/src/network/WifiInfo_ios.mm +++ b/src/network/WifiInfo_ios.mm @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "WifiInfo.h" diff --git a/src/remote_device/DataChannel.cpp b/src/remote_device/DataChannel.cpp index b44d6ae75..2f9a90d94 100644 --- a/src/remote_device/DataChannel.cpp +++ b/src/remote_device/DataChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "DataChannel.h" diff --git a/src/remote_device/DataChannel.h b/src/remote_device/DataChannel.h index 6930e23e4..dc08f234b 100644 --- a/src/remote_device/DataChannel.h +++ b/src/remote_device/DataChannel.h @@ -2,7 +2,7 @@ * \brief Interface modelling a component that can send and receive data blocks in the form * of QByteArray objects. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteClient.cpp b/src/remote_device/RemoteClient.cpp index 7e2870f5e..4aef4559d 100644 --- a/src/remote_device/RemoteClient.cpp +++ b/src/remote_device/RemoteClient.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteClient.h" @@ -13,7 +13,7 @@ RemoteClient::~RemoteClient() } -QVector > RemoteClient::getRemoteDevices() const +QVector > RemoteClient::getAnnouncingRemoteDevices() const { return QVector >(); } @@ -23,3 +23,9 @@ void RemoteClient::requestRemoteDevices() { Q_EMIT fireRemoteDevicesInfo(QVector >()); } + + +QStringList RemoteClient::getConnectedDeviceIDs() const +{ + return QStringList(); +} diff --git a/src/remote_device/RemoteClient.h b/src/remote_device/RemoteClient.h index d5402795e..4b3bc915c 100644 --- a/src/remote_device/RemoteClient.h +++ b/src/remote_device/RemoteClient.h @@ -2,7 +2,7 @@ * \brief An interface for RemoteClientImpl, meant to omit the * dependency between card_base and remote_device. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -46,8 +46,9 @@ class RemoteClient Q_INVOKABLE virtual void establishConnection(const QSharedPointer& pEntry, const QString& pPsk) = 0; - virtual QVector > getRemoteDevices() const; + virtual QVector > getAnnouncingRemoteDevices() const; Q_INVOKABLE virtual void requestRemoteDevices(); + virtual QStringList getConnectedDeviceIDs() const; virtual QVector getConnectedDeviceInfos() = 0; }; diff --git a/src/remote_device/RemoteClientImpl.cpp b/src/remote_device/RemoteClientImpl.cpp index 3cc3468da..0e12b03dc 100644 --- a/src/remote_device/RemoteClientImpl.cpp +++ b/src/remote_device/RemoteClientImpl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteClientImpl.h" @@ -223,6 +223,7 @@ void RemoteClientImpl::establishConnection(const QSharedPointeronConnectRequest(pEntry->getRemoteDeviceDescriptor(), pPsk); @@ -230,7 +231,7 @@ void RemoteClientImpl::establishConnection(const QSharedPointer > RemoteClientImpl::getRemoteDevices() const +QVector > RemoteClientImpl::getAnnouncingRemoteDevices() const { return mRemoteDeviceList->getRemoteDevices(); } @@ -242,6 +243,12 @@ void RemoteClientImpl::requestRemoteDevices() } +QStringList RemoteClientImpl::getConnectedDeviceIDs() const +{ + return mConnectedDeviceIds; +} + + QVector RemoteClientImpl::getConnectedDeviceInfos() { RemoteServiceSettings& settings = Env::getSingleton()->getRemoteServiceSettings(); diff --git a/src/remote_device/RemoteClientImpl.h b/src/remote_device/RemoteClientImpl.h index f6792466d..fa4c152d4 100644 --- a/src/remote_device/RemoteClientImpl.h +++ b/src/remote_device/RemoteClientImpl.h @@ -1,7 +1,7 @@ /*! * \brief Send RemoteReaderDiscoverCmds and maintain a list of responsive peers. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -62,8 +62,9 @@ class RemoteClientImpl Q_INVOKABLE virtual void establishConnection(const QSharedPointer& pEntry, const QString& pPsk) override; - virtual QVector > getRemoteDevices() const override; + virtual QVector > getAnnouncingRemoteDevices() const override; Q_INVOKABLE virtual void requestRemoteDevices() override; + virtual QStringList getConnectedDeviceIDs() const override; virtual QVector getConnectedDeviceInfos() override; }; diff --git a/src/remote_device/RemoteConnector.cpp b/src/remote_device/RemoteConnector.cpp index c8b602e2a..3d940f33a 100644 --- a/src/remote_device/RemoteConnector.cpp +++ b/src/remote_device/RemoteConnector.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteConnector.h" diff --git a/src/remote_device/RemoteConnector.h b/src/remote_device/RemoteConnector.h index a9979f5a3..462a75d43 100644 --- a/src/remote_device/RemoteConnector.h +++ b/src/remote_device/RemoteConnector.h @@ -1,7 +1,7 @@ /*! * \brief Module that creates and manages connections from a remote client to a remote server. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteConnectorImpl.cpp b/src/remote_device/RemoteConnectorImpl.cpp index 0b297d4e4..567331588 100644 --- a/src/remote_device/RemoteConnectorImpl.cpp +++ b/src/remote_device/RemoteConnectorImpl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteConnectorImpl.h" @@ -306,6 +306,7 @@ void RemoteConnectorImpl::onConnectRequest(const RemoteDeviceDescriptor& pRemote connect(newRequest.data(), &ConnectRequest::fireConnectionCreated, this, &RemoteConnectorImpl::onConnectionCreated); connect(newRequest.data(), &ConnectRequest::fireConnectionError, this, &RemoteConnectorImpl::onConnectionError); connect(newRequest.data(), &ConnectRequest::fireConnectionTimeout, this, &RemoteConnectorImpl::onConnectionTimeout); + qCDebug(remote_device) << "Request connection."; newRequest->start(); } diff --git a/src/remote_device/RemoteConnectorImpl.h b/src/remote_device/RemoteConnectorImpl.h index b68d7f4f7..6d9978b2c 100644 --- a/src/remote_device/RemoteConnectorImpl.h +++ b/src/remote_device/RemoteConnectorImpl.h @@ -1,7 +1,7 @@ /*! * \brief Module that creates and manages connections from a remote client to a remote server. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteDeviceDescriptor.cpp b/src/remote_device/RemoteDeviceDescriptor.cpp index eba85220b..1632ae829 100644 --- a/src/remote_device/RemoteDeviceDescriptor.cpp +++ b/src/remote_device/RemoteDeviceDescriptor.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDeviceDescriptor.h" @@ -86,8 +86,7 @@ RemoteDeviceDescriptor::RemoteDeviceDescriptorData* RemoteDeviceDescriptor::crea } -RemoteDeviceDescriptor::RemoteDeviceDescriptor(const Discovery& pDiscovery, - const QHostAddress& pHostAddress) +RemoteDeviceDescriptor::RemoteDeviceDescriptor(const Discovery& pDiscovery, const QHostAddress& pHostAddress) : d(createRemoteDeviceDescriptorData(pDiscovery, pHostAddress)) { } diff --git a/src/remote_device/RemoteDeviceDescriptor.h b/src/remote_device/RemoteDeviceDescriptor.h index 60492cbcd..0419bcdcd 100644 --- a/src/remote_device/RemoteDeviceDescriptor.h +++ b/src/remote_device/RemoteDeviceDescriptor.h @@ -2,7 +2,7 @@ * \brief Information needed to display a remote device in the GUI and to open * a websocket connection to it. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -47,9 +47,7 @@ class RemoteDeviceDescriptor public: RemoteDeviceDescriptor() = default; - - RemoteDeviceDescriptor(const Discovery& pDiscovery, - const QHostAddress& pHostAddress); + RemoteDeviceDescriptor(const Discovery& pDiscovery, const QHostAddress& pHostAddress); ~RemoteDeviceDescriptor() = default; diff --git a/src/remote_device/RemoteDeviceList.cpp b/src/remote_device/RemoteDeviceList.cpp index a8c4ae6e9..583034a1c 100644 --- a/src/remote_device/RemoteDeviceList.cpp +++ b/src/remote_device/RemoteDeviceList.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDeviceList.h" @@ -89,13 +89,13 @@ QVector > RemoteDeviceList::getRemoteDevic } -RemoteDeviceListImpl::RemoteDeviceListImpl(int pCheckInterval, int pTimeout) - : RemoteDeviceList(pCheckInterval, pTimeout) +RemoteDeviceListImpl::RemoteDeviceListImpl(int pCheckInterval, int pReaderResponsiveTimeout) + : RemoteDeviceList(pCheckInterval, pReaderResponsiveTimeout) , mTimer() - , mTimeout(pTimeout) - , mList() + , mReaderResponsiveTimeout(pReaderResponsiveTimeout) + , mResponsiveList() { - connect(&mTimer, &QTimer::timeout, this, &RemoteDeviceListImpl::onRemoveUnresponsiveRemoteReaders); + connect(&mTimer, &QTimer::timeout, this, &RemoteDeviceListImpl::onProcessUnresponsiveRemoteReaders); mTimer.setInterval(pCheckInterval); } @@ -108,7 +108,7 @@ RemoteDeviceListImpl::~RemoteDeviceListImpl() void RemoteDeviceListImpl::update(const RemoteDeviceDescriptor& pDescriptor) { - for (const QSharedPointer& entry : qAsConst(mList)) + for (const QSharedPointer& entry : qAsConst(mResponsiveList)) { if (entry->containsEquivalent(pDescriptor)) { @@ -118,7 +118,7 @@ void RemoteDeviceListImpl::update(const RemoteDeviceDescriptor& pDescriptor) } const auto& newDevice = QSharedPointer::create(pDescriptor); - mList.append(newDevice); + mResponsiveList += newDevice; if (!mTimer.isActive()) { @@ -131,31 +131,31 @@ void RemoteDeviceListImpl::update(const RemoteDeviceDescriptor& pDescriptor) void RemoteDeviceListImpl::clear() { - mList.clear(); + mResponsiveList.clear(); } QVector > RemoteDeviceListImpl::getRemoteDevices() const { - return mList; + return mResponsiveList; } -void RemoteDeviceListImpl::onRemoveUnresponsiveRemoteReaders() +void RemoteDeviceListImpl::onProcessUnresponsiveRemoteReaders() { - const QTime threshold(QTime::currentTime().addMSecs(-mTimeout)); - QMutableVectorIterator > i(mList); + const QTime threshold(QTime::currentTime().addMSecs(-mReaderResponsiveTimeout)); + QMutableVectorIterator > i(mResponsiveList); while (i.hasNext()) { - const QSharedPointer& pEntry = i.next(); - if (pEntry->getLastSeen() < threshold) + const QSharedPointer& entry = i.next(); + if (entry->getLastSeen() < threshold) { i.remove(); - Q_EMIT fireDeviceVanished(pEntry); + Q_EMIT fireDeviceVanished(entry); } } - if (mList.isEmpty()) + if (mResponsiveList.isEmpty()) { mTimer.stop(); } diff --git a/src/remote_device/RemoteDeviceList.h b/src/remote_device/RemoteDeviceList.h index 17cd251c5..735d25820 100644 --- a/src/remote_device/RemoteDeviceList.h +++ b/src/remote_device/RemoteDeviceList.h @@ -1,7 +1,7 @@ /*! * \brief Interface for RemoteDeviceList * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -63,14 +63,14 @@ class RemoteDeviceListImpl private: QTimer mTimer; - const int mTimeout; - QVector > mList; + const int mReaderResponsiveTimeout; + QVector > mResponsiveList; private Q_SLOTS: - void onRemoveUnresponsiveRemoteReaders(); + void onProcessUnresponsiveRemoteReaders(); public: - RemoteDeviceListImpl(int pCheckInterval = 1000, int pTimeout = 5000); + RemoteDeviceListImpl(int pCheckInterval = 1000, int pReaderResponsiveTimeout = 5000); virtual ~RemoteDeviceListImpl() override; virtual void update(const RemoteDeviceDescriptor& pDescriptor) override; diff --git a/src/remote_device/RemoteDeviceModel.cpp b/src/remote_device/RemoteDeviceModel.cpp index 7d4b9f167..566149572 100644 --- a/src/remote_device/RemoteDeviceModel.cpp +++ b/src/remote_device/RemoteDeviceModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDeviceModel.h" @@ -334,27 +334,42 @@ void RemoteDeviceModel::constructReaderList() if (mShowPairedReaders) { - const QVector >& foundDevices = remoteClient->getRemoteDevices(); + const QVector >& announcingDevices = remoteClient->getAnnouncingRemoteDevices(); for (const auto& pairedReader : qAsConst(mPairedReaders)) { - bool found = false; + bool networkVisible = false; bool supported = true; - for (const auto& foundDevice : foundDevices) + for (const auto& announcingDevice : announcingDevices) { - if (foundDevice && foundDevice->getRemoteDeviceDescriptor().getIfdId() == pairedReader.getFingerprint()) + if (announcingDevice && announcingDevice->getRemoteDeviceDescriptor().getIfdId() == pairedReader.getFingerprint()) { - found = true; - supported = foundDevice->getRemoteDeviceDescriptor().isSupported(); + networkVisible = true; + supported = announcingDevice->getRemoteDeviceDescriptor().isSupported(); break; } } + if (!networkVisible) + { + const QStringList& connectedDeviceIDs = remoteClient->getConnectedDeviceIDs(); + for (const auto& id : connectedDeviceIDs) + { + if (id == pairedReader.getFingerprint()) + { + networkVisible = true; + supported = true; + + break; + } + } + } + auto newEntry = RemoteDeviceModelEntry(pairedReader.getName() , pairedReader.getFingerprint() , true - , found + , networkVisible , supported , pairedReader.getLastConnected()); mAllRemoteReaders.append(newEntry); @@ -363,9 +378,9 @@ void RemoteDeviceModel::constructReaderList() if (mShowUnpairedReaders) { - const QVector >& remoteDevices = remoteClient->getRemoteDevices(); + const QVector >& announcingRemoteDevices = remoteClient->getAnnouncingRemoteDevices(); - for (auto deviceListEntry : remoteDevices) + for (auto deviceListEntry : announcingRemoteDevices) { if (!mPairedReaders.contains(deviceListEntry->getRemoteDeviceDescriptor().getIfdId())) { diff --git a/src/remote_device/RemoteDeviceModel.h b/src/remote_device/RemoteDeviceModel.h index 93ffdc593..09588a3cc 100644 --- a/src/remote_device/RemoteDeviceModel.h +++ b/src/remote_device/RemoteDeviceModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the remote device table * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteDispatcher.cpp b/src/remote_device/RemoteDispatcher.cpp index 8895ca994..f338f1cc6 100644 --- a/src/remote_device/RemoteDispatcher.cpp +++ b/src/remote_device/RemoteDispatcher.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDispatcher.h" diff --git a/src/remote_device/RemoteDispatcher.h b/src/remote_device/RemoteDispatcher.h index 5feea398a..646165eed 100644 --- a/src/remote_device/RemoteDispatcher.h +++ b/src/remote_device/RemoteDispatcher.h @@ -3,7 +3,7 @@ * \brief An interface for RemoteHandleImpl, meant to omit the * dependency between card_base and remote_device. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteDispatcherClient.cpp b/src/remote_device/RemoteDispatcherClient.cpp index c0747ab46..517cf5083 100644 --- a/src/remote_device/RemoteDispatcherClient.cpp +++ b/src/remote_device/RemoteDispatcherClient.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDispatcherClient.h" diff --git a/src/remote_device/RemoteDispatcherClient.h b/src/remote_device/RemoteDispatcherClient.h index 3ebbec8fc..86f90db08 100644 --- a/src/remote_device/RemoteDispatcherClient.h +++ b/src/remote_device/RemoteDispatcherClient.h @@ -1,7 +1,7 @@ /*! * \brief Class that dispatches incoming and outgoing remote messages. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteDispatcherServer.cpp b/src/remote_device/RemoteDispatcherServer.cpp index c3fc82f44..88d10ddac 100644 --- a/src/remote_device/RemoteDispatcherServer.cpp +++ b/src/remote_device/RemoteDispatcherServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDispatcherServer.h" diff --git a/src/remote_device/RemoteDispatcherServer.h b/src/remote_device/RemoteDispatcherServer.h index 7772a337e..4cb42f4eb 100644 --- a/src/remote_device/RemoteDispatcherServer.h +++ b/src/remote_device/RemoteDispatcherServer.h @@ -1,7 +1,7 @@ /*! * \brief Class that dispatches incoming and outgoing remote messages. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteReaderAdvertiser.cpp b/src/remote_device/RemoteReaderAdvertiser.cpp index 6e7f55591..6da8167dd 100644 --- a/src/remote_device/RemoteReaderAdvertiser.cpp +++ b/src/remote_device/RemoteReaderAdvertiser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteReaderAdvertiser.h" diff --git a/src/remote_device/RemoteReaderAdvertiser.h b/src/remote_device/RemoteReaderAdvertiser.h index 4c93751c1..ff86e8653 100644 --- a/src/remote_device/RemoteReaderAdvertiser.h +++ b/src/remote_device/RemoteReaderAdvertiser.h @@ -3,7 +3,7 @@ * on the server side. According to the concept this is done by * sending the message REMOTE_READER_OFFER as a UDP broadcast. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteServer.cpp b/src/remote_device/RemoteServer.cpp index 780e0da5e..ac2af3eec 100644 --- a/src/remote_device/RemoteServer.cpp +++ b/src/remote_device/RemoteServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServer.h" diff --git a/src/remote_device/RemoteServer.h b/src/remote_device/RemoteServer.h index fe9d9431e..1e0775d6b 100644 --- a/src/remote_device/RemoteServer.h +++ b/src/remote_device/RemoteServer.h @@ -2,7 +2,7 @@ * \brief Remote server service to offer remote readers. * This class controls the advertising over UDP as well as the Websocket connection management. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteServerImpl.cpp b/src/remote_device/RemoteServerImpl.cpp index cadd5a5b5..ff1639d41 100644 --- a/src/remote_device/RemoteServerImpl.cpp +++ b/src/remote_device/RemoteServerImpl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServerImpl.h" diff --git a/src/remote_device/RemoteServerImpl.h b/src/remote_device/RemoteServerImpl.h index e83370877..609d22dcc 100644 --- a/src/remote_device/RemoteServerImpl.h +++ b/src/remote_device/RemoteServerImpl.h @@ -2,7 +2,7 @@ * \brief Remote server service to offer remote readers. * This class controls the advertising over UDP as well as the Websocket connection management. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteTlsServer.cpp b/src/remote_device/RemoteTlsServer.cpp index 26e05b7fb..de29e7aa7 100644 --- a/src/remote_device/RemoteTlsServer.cpp +++ b/src/remote_device/RemoteTlsServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteTlsServer.h" diff --git a/src/remote_device/RemoteTlsServer.h b/src/remote_device/RemoteTlsServer.h index 4ba8ee1c4..6305c2cac 100644 --- a/src/remote_device/RemoteTlsServer.h +++ b/src/remote_device/RemoteTlsServer.h @@ -1,7 +1,7 @@ /*! * \brief QTcpServer with necessary TLS handling of remote device configuration. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/RemoteWebSocketServer.cpp b/src/remote_device/RemoteWebSocketServer.cpp index 47483c3c6..0926f0cab 100644 --- a/src/remote_device/RemoteWebSocketServer.cpp +++ b/src/remote_device/RemoteWebSocketServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteWebSocketServer.h" diff --git a/src/remote_device/RemoteWebSocketServer.h b/src/remote_device/RemoteWebSocketServer.h index 031e9cf5c..aa125ee15 100644 --- a/src/remote_device/RemoteWebSocketServer.h +++ b/src/remote_device/RemoteWebSocketServer.h @@ -1,7 +1,7 @@ /*! * \brief WebSocketServer on the server side of a remote reader scenario. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/ServerMessageHandler.cpp b/src/remote_device/ServerMessageHandler.cpp index c5b28afd1..36deec803 100644 --- a/src/remote_device/ServerMessageHandler.cpp +++ b/src/remote_device/ServerMessageHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ServerMessageHandler.h" diff --git a/src/remote_device/ServerMessageHandler.h b/src/remote_device/ServerMessageHandler.h index a418844be..e3e4dd3db 100644 --- a/src/remote_device/ServerMessageHandler.h +++ b/src/remote_device/ServerMessageHandler.h @@ -1,7 +1,7 @@ /*! * \brief Handler for messages on the server side of a remote reader scenario. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/WebSocketChannel.cpp b/src/remote_device/WebSocketChannel.cpp index b64ab19bc..80bd80190 100644 --- a/src/remote_device/WebSocketChannel.cpp +++ b/src/remote_device/WebSocketChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "WebSocketChannel.h" diff --git a/src/remote_device/WebSocketChannel.h b/src/remote_device/WebSocketChannel.h index de5a4b9e5..a0d8e8e0c 100644 --- a/src/remote_device/WebSocketChannel.h +++ b/src/remote_device/WebSocketChannel.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of DataChannel base on web sockets. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/Discovery.cpp b/src/remote_device/messages/Discovery.cpp index c247f4411..785dd744f 100644 --- a/src/remote_device/messages/Discovery.cpp +++ b/src/remote_device/messages/Discovery.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/Discovery.h b/src/remote_device/messages/Discovery.h index e59947cce..5e98a0754 100644 --- a/src/remote_device/messages/Discovery.h +++ b/src/remote_device/messages/Discovery.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdConnect.cpp b/src/remote_device/messages/IfdConnect.cpp index d509f2a95..b72243798 100644 --- a/src/remote_device/messages/IfdConnect.cpp +++ b/src/remote_device/messages/IfdConnect.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdConnect.h b/src/remote_device/messages/IfdConnect.h index 0d8c7c3db..cef8f791f 100644 --- a/src/remote_device/messages/IfdConnect.h +++ b/src/remote_device/messages/IfdConnect.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdConnectResponse.cpp b/src/remote_device/messages/IfdConnectResponse.cpp index 7e6cb6473..a62528bd0 100644 --- a/src/remote_device/messages/IfdConnectResponse.cpp +++ b/src/remote_device/messages/IfdConnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdConnectResponse.h b/src/remote_device/messages/IfdConnectResponse.h index dfa95e205..e5d694341 100644 --- a/src/remote_device/messages/IfdConnectResponse.h +++ b/src/remote_device/messages/IfdConnectResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdDisconnect.cpp b/src/remote_device/messages/IfdDisconnect.cpp index bcb2e9fb4..965b52211 100644 --- a/src/remote_device/messages/IfdDisconnect.cpp +++ b/src/remote_device/messages/IfdDisconnect.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdDisconnect.h b/src/remote_device/messages/IfdDisconnect.h index 516d3bed5..eacc5d357 100644 --- a/src/remote_device/messages/IfdDisconnect.h +++ b/src/remote_device/messages/IfdDisconnect.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdDisconnectResponse.cpp b/src/remote_device/messages/IfdDisconnectResponse.cpp index 1d7677796..62925a9eb 100644 --- a/src/remote_device/messages/IfdDisconnectResponse.cpp +++ b/src/remote_device/messages/IfdDisconnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdDisconnectResponse.h b/src/remote_device/messages/IfdDisconnectResponse.h index 01a37b0a6..042312e36 100644 --- a/src/remote_device/messages/IfdDisconnectResponse.h +++ b/src/remote_device/messages/IfdDisconnectResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdError.cpp b/src/remote_device/messages/IfdError.cpp index 45d1ea8c1..405c0b557 100644 --- a/src/remote_device/messages/IfdError.cpp +++ b/src/remote_device/messages/IfdError.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdError.h b/src/remote_device/messages/IfdError.h index 22b1765dc..81ba9eed7 100644 --- a/src/remote_device/messages/IfdError.h +++ b/src/remote_device/messages/IfdError.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdEstablishContext.cpp b/src/remote_device/messages/IfdEstablishContext.cpp index 410785098..d8f89d45a 100644 --- a/src/remote_device/messages/IfdEstablishContext.cpp +++ b/src/remote_device/messages/IfdEstablishContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdEstablishContext.h b/src/remote_device/messages/IfdEstablishContext.h index 6921545e8..2edcc1680 100644 --- a/src/remote_device/messages/IfdEstablishContext.h +++ b/src/remote_device/messages/IfdEstablishContext.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdEstablishContextResponse.cpp b/src/remote_device/messages/IfdEstablishContextResponse.cpp index 73b524103..da2e9a20d 100644 --- a/src/remote_device/messages/IfdEstablishContextResponse.cpp +++ b/src/remote_device/messages/IfdEstablishContextResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdEstablishContextResponse.h b/src/remote_device/messages/IfdEstablishContextResponse.h index 13c6a18cc..3a1f3cc6b 100644 --- a/src/remote_device/messages/IfdEstablishContextResponse.h +++ b/src/remote_device/messages/IfdEstablishContextResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdEstablishPaceChannel.cpp b/src/remote_device/messages/IfdEstablishPaceChannel.cpp index 3a47877de..62530c849 100644 --- a/src/remote_device/messages/IfdEstablishPaceChannel.cpp +++ b/src/remote_device/messages/IfdEstablishPaceChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "IfdEstablishPaceChannel.h" diff --git a/src/remote_device/messages/IfdEstablishPaceChannel.h b/src/remote_device/messages/IfdEstablishPaceChannel.h index 7ef4692fd..63d1a140e 100644 --- a/src/remote_device/messages/IfdEstablishPaceChannel.h +++ b/src/remote_device/messages/IfdEstablishPaceChannel.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdEstablishPaceChannelResponse.cpp b/src/remote_device/messages/IfdEstablishPaceChannelResponse.cpp index d8698fb1c..9803fda73 100644 --- a/src/remote_device/messages/IfdEstablishPaceChannelResponse.cpp +++ b/src/remote_device/messages/IfdEstablishPaceChannelResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "IfdEstablishPaceChannelResponse.h" diff --git a/src/remote_device/messages/IfdEstablishPaceChannelResponse.h b/src/remote_device/messages/IfdEstablishPaceChannelResponse.h index bd1f5f0ff..745281971 100644 --- a/src/remote_device/messages/IfdEstablishPaceChannelResponse.h +++ b/src/remote_device/messages/IfdEstablishPaceChannelResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdGetStatus.cpp b/src/remote_device/messages/IfdGetStatus.cpp index e8cb23ccb..f7daebcfe 100644 --- a/src/remote_device/messages/IfdGetStatus.cpp +++ b/src/remote_device/messages/IfdGetStatus.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdGetStatus.h b/src/remote_device/messages/IfdGetStatus.h index 8fad5ffb1..25f0c0a5b 100644 --- a/src/remote_device/messages/IfdGetStatus.h +++ b/src/remote_device/messages/IfdGetStatus.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdModifyPin.cpp b/src/remote_device/messages/IfdModifyPin.cpp index 758bef414..d4421f3c2 100644 --- a/src/remote_device/messages/IfdModifyPin.cpp +++ b/src/remote_device/messages/IfdModifyPin.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "IfdModifyPin.h" diff --git a/src/remote_device/messages/IfdModifyPin.h b/src/remote_device/messages/IfdModifyPin.h index 3ba435b11..97f09b67e 100644 --- a/src/remote_device/messages/IfdModifyPin.h +++ b/src/remote_device/messages/IfdModifyPin.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdModifyPinResponse.cpp b/src/remote_device/messages/IfdModifyPinResponse.cpp index ab7b202da..241dbcda9 100644 --- a/src/remote_device/messages/IfdModifyPinResponse.cpp +++ b/src/remote_device/messages/IfdModifyPinResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "IfdModifyPinResponse.h" diff --git a/src/remote_device/messages/IfdModifyPinResponse.h b/src/remote_device/messages/IfdModifyPinResponse.h index 98e6d7a2f..7463c36c7 100644 --- a/src/remote_device/messages/IfdModifyPinResponse.h +++ b/src/remote_device/messages/IfdModifyPinResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdStatus.cpp b/src/remote_device/messages/IfdStatus.cpp index ecdae084d..a9fdcb9fe 100644 --- a/src/remote_device/messages/IfdStatus.cpp +++ b/src/remote_device/messages/IfdStatus.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdStatus.h b/src/remote_device/messages/IfdStatus.h index 25edd9495..47382cddf 100644 --- a/src/remote_device/messages/IfdStatus.h +++ b/src/remote_device/messages/IfdStatus.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdTransmit.cpp b/src/remote_device/messages/IfdTransmit.cpp index 849e9ddde..2703c6ab9 100644 --- a/src/remote_device/messages/IfdTransmit.cpp +++ b/src/remote_device/messages/IfdTransmit.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdTransmit.h b/src/remote_device/messages/IfdTransmit.h index 15e6ba601..f32d56c4a 100644 --- a/src/remote_device/messages/IfdTransmit.h +++ b/src/remote_device/messages/IfdTransmit.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdTransmitResponse.cpp b/src/remote_device/messages/IfdTransmitResponse.cpp index 18c7c7f61..ac9411ceb 100644 --- a/src/remote_device/messages/IfdTransmitResponse.cpp +++ b/src/remote_device/messages/IfdTransmitResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdTransmitResponse.h b/src/remote_device/messages/IfdTransmitResponse.h index bd81a4f53..2ff0792d4 100644 --- a/src/remote_device/messages/IfdTransmitResponse.h +++ b/src/remote_device/messages/IfdTransmitResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/IfdVersion.cpp b/src/remote_device/messages/IfdVersion.cpp index bba7feb05..3107f59e8 100644 --- a/src/remote_device/messages/IfdVersion.cpp +++ b/src/remote_device/messages/IfdVersion.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/IfdVersion.h b/src/remote_device/messages/IfdVersion.h index 594ffb58d..e12801584 100644 --- a/src/remote_device/messages/IfdVersion.h +++ b/src/remote_device/messages/IfdVersion.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/RemoteMessage.cpp b/src/remote_device/messages/RemoteMessage.cpp index 929fda804..0d70b56c5 100644 --- a/src/remote_device/messages/RemoteMessage.cpp +++ b/src/remote_device/messages/RemoteMessage.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/RemoteMessage.h b/src/remote_device/messages/RemoteMessage.h index c41b765de..033e478ef 100644 --- a/src/remote_device/messages/RemoteMessage.h +++ b/src/remote_device/messages/RemoteMessage.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/messages/RemoteMessageResponse.cpp b/src/remote_device/messages/RemoteMessageResponse.cpp index fe705c45e..9c0d1bb27 100644 --- a/src/remote_device/messages/RemoteMessageResponse.cpp +++ b/src/remote_device/messages/RemoteMessageResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/remote_device/messages/RemoteMessageResponse.h b/src/remote_device/messages/RemoteMessageResponse.h index d4e620eb5..520a0a2ad 100644 --- a/src/remote_device/messages/RemoteMessageResponse.h +++ b/src/remote_device/messages/RemoteMessageResponse.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/plugin/RemoteCard.cpp b/src/remote_device/plugin/RemoteCard.cpp index 6cc2d800f..da6e250ba 100644 --- a/src/remote_device/plugin/RemoteCard.cpp +++ b/src/remote_device/plugin/RemoteCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteCard.h" diff --git a/src/remote_device/plugin/RemoteCard.h b/src/remote_device/plugin/RemoteCard.h index dc95aa2fb..9f36c2f4d 100644 --- a/src/remote_device/plugin/RemoteCard.h +++ b/src/remote_device/plugin/RemoteCard.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref Card for remote reader. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/plugin/RemoteReader.cpp b/src/remote_device/plugin/RemoteReader.cpp index 284024d37..f1270387a 100644 --- a/src/remote_device/plugin/RemoteReader.cpp +++ b/src/remote_device/plugin/RemoteReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteReader.h" diff --git a/src/remote_device/plugin/RemoteReader.h b/src/remote_device/plugin/RemoteReader.h index dd112dedc..729c9d84e 100644 --- a/src/remote_device/plugin/RemoteReader.h +++ b/src/remote_device/plugin/RemoteReader.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref Reader for remote reader. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/remote_device/plugin/RemoteReaderManagerPlugIn.cpp b/src/remote_device/plugin/RemoteReaderManagerPlugIn.cpp index ce7c5a332..2347e2cf6 100644 --- a/src/remote_device/plugin/RemoteReaderManagerPlugIn.cpp +++ b/src/remote_device/plugin/RemoteReaderManagerPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteReaderManagerPlugIn.h" @@ -283,6 +283,7 @@ void RemoteReaderManagerPlugIn::startScan(bool pAutoConnect) mScanTimer.start(); QMetaObject::invokeMethod(remoteClient, &RemoteClient::startDetection, Qt::QueuedConnection); connectToPairedReaders(); + ReaderManagerPlugIn::startScan(pAutoConnect); } @@ -293,4 +294,5 @@ void RemoteReaderManagerPlugIn::stopScan() mScanTimer.stop(); QMetaObject::invokeMethod(remoteClient, &RemoteClient::stopDetection, Qt::QueuedConnection); removeAllDispatchers(); + ReaderManagerPlugIn::stopScan(); } diff --git a/src/remote_device/plugin/RemoteReaderManagerPlugIn.h b/src/remote_device/plugin/RemoteReaderManagerPlugIn.h index 0c7dde162..ccafb8155 100644 --- a/src/remote_device/plugin/RemoteReaderManagerPlugIn.h +++ b/src/remote_device/plugin/RemoteReaderManagerPlugIn.h @@ -1,7 +1,7 @@ /*! * \brief Implementation of \ref ReaderManagerPlugIn for remote reader. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/secure_storage/SecureStorage.cpp b/src/secure_storage/SecureStorage.cpp index 42441d760..d532491ef 100644 --- a/src/secure_storage/SecureStorage.cpp +++ b/src/secure_storage/SecureStorage.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/secure_storage/SecureStorage.h b/src/secure_storage/SecureStorage.h index 310248b04..bd884a515 100644 --- a/src/secure_storage/SecureStorage.h +++ b/src/secure_storage/SecureStorage.h @@ -2,7 +2,7 @@ * \brief Utility class that provides access to the "secure storage" of the application, which contains * the certificates for preverification and update checks. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/secure_storage/TlsConfiguration.cpp b/src/secure_storage/TlsConfiguration.cpp index e5e095b13..6493f97ee 100644 --- a/src/secure_storage/TlsConfiguration.cpp +++ b/src/secure_storage/TlsConfiguration.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "TlsConfiguration.h" diff --git a/src/secure_storage/TlsConfiguration.h b/src/secure_storage/TlsConfiguration.h index 852a82bc7..ac8821087 100644 --- a/src/secure_storage/TlsConfiguration.h +++ b/src/secure_storage/TlsConfiguration.h @@ -1,7 +1,7 @@ /*! * \brief Configuration options for TLS channels * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/services/AppUpdateData.cpp b/src/services/AppUpdateData.cpp index 3efb3f73e..349012c56 100644 --- a/src/services/AppUpdateData.cpp +++ b/src/services/AppUpdateData.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "AppUpdateData.h" diff --git a/src/services/AppUpdateData.h b/src/services/AppUpdateData.h index 2a5dfc7aa..2dda2f156 100644 --- a/src/services/AppUpdateData.h +++ b/src/services/AppUpdateData.h @@ -1,7 +1,7 @@ /*! * \brief Update data implementation for application version. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/services/AppUpdater.cpp b/src/services/AppUpdater.cpp index 0e7e2c8cc..1d77f05bb 100644 --- a/src/services/AppUpdater.cpp +++ b/src/services/AppUpdater.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "AppUpdater.h" diff --git a/src/services/AppUpdater.h b/src/services/AppUpdater.h index daa946aa5..e5e7f7b96 100644 --- a/src/services/AppUpdater.h +++ b/src/services/AppUpdater.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/services/Service.cpp b/src/services/Service.cpp index d926f140f..557df28d1 100644 --- a/src/services/Service.cpp +++ b/src/services/Service.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "Service.h" diff --git a/src/services/Service.h b/src/services/Service.h index eb1903fdb..10fd1180c 100644 --- a/src/services/Service.h +++ b/src/services/Service.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/AbstractSettings.cpp b/src/settings/AbstractSettings.cpp index cc227fa5e..af2fb5a88 100644 --- a/src/settings/AbstractSettings.cpp +++ b/src/settings/AbstractSettings.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/settings/AbstractSettings.h b/src/settings/AbstractSettings.h index 18649cf5e..e51cf55e8 100644 --- a/src/settings/AbstractSettings.h +++ b/src/settings/AbstractSettings.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/AppSettings.cpp b/src/settings/AppSettings.cpp index e559ef6a4..4a9077faf 100644 --- a/src/settings/AppSettings.cpp +++ b/src/settings/AppSettings.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AppSettings.h" diff --git a/src/settings/AppSettings.h b/src/settings/AppSettings.h index 4cb511d72..c30018450 100644 --- a/src/settings/AppSettings.h +++ b/src/settings/AppSettings.h @@ -1,7 +1,7 @@ /*! * \brief Contains the definition of the AppSettings class. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/AutoStart.h b/src/settings/AutoStart.h index 049f75e6a..12383214f 100644 --- a/src/settings/AutoStart.h +++ b/src/settings/AutoStart.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/AutoStart_generic.cpp b/src/settings/AutoStart_generic.cpp index d1507b4af..0e2e596ec 100644 --- a/src/settings/AutoStart_generic.cpp +++ b/src/settings/AutoStart_generic.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AutoStart.h" diff --git a/src/settings/AutoStart_osx.cpp b/src/settings/AutoStart_osx.cpp index f440f8fd0..a922e7d62 100644 --- a/src/settings/AutoStart_osx.cpp +++ b/src/settings/AutoStart_osx.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AutoStart.h" diff --git a/src/settings/AutoStart_win.cpp b/src/settings/AutoStart_win.cpp index 3579ad213..881da42b7 100644 --- a/src/settings/AutoStart_win.cpp +++ b/src/settings/AutoStart_win.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AutoStart.h" diff --git a/src/settings/GeneralSettings.cpp b/src/settings/GeneralSettings.cpp index 134da3d09..772f3f319 100644 --- a/src/settings/GeneralSettings.cpp +++ b/src/settings/GeneralSettings.cpp @@ -1,7 +1,7 @@ /*! * \brief Contains the method definitions of the GeneralSettings class. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "GeneralSettings.h" @@ -79,6 +79,10 @@ GeneralSettings::GeneralSettings() mStoreGeneral->sync(); } +#if defined(QT_NO_DEBUG) && (defined(Q_OS_ANDROID) || defined(Q_OS_IOS)) + setUseSelfauthenticationTestUri(false); +#endif + #ifdef QT_NO_DEBUG // Iterate autostart entries in order to remove broken login items on macos. // This process might take up to 15s per entry. @@ -275,7 +279,7 @@ void GeneralSettings::setLanguage(const QLocale::Language pLanguage) QString GeneralSettings::getSelectedUi() const { - return mStoreGeneral->value(SETTINGS_NAME_SELECTED_UI(), QStringLiteral(DEFAULT_UI)).toString(); + return QStringLiteral(DEFAULT_UI); } @@ -311,15 +315,28 @@ void GeneralSettings::setDeviceSurveyPending(bool pDeviceSurveyPending) } +bool GeneralSettings::askForStoreFeedback() const +{ +#if defined(Q_OS_IOS) + qCWarning(settings) << "STORE FEEDBACK NOT IMPLEMENTED ON IOS"; + return false; + +#else + return !mStoreGeneral->contains(SETTINGS_NAME_REQUEST_STORE_FEEDBACK()); + +#endif +} + + bool GeneralSettings::isRequestStoreFeedback() const { #if defined(Q_OS_IOS) - qCWarning(settings) << "NOT IMPLEMENTED"; + qCWarning(settings) << "STORE FEEDBACK NOT IMPLEMENTED ON IOS"; return false; #else - return mStoreGeneral->value(SETTINGS_NAME_REQUEST_STORE_FEEDBACK(), true).toBool(); + return mStoreGeneral->value(SETTINGS_NAME_REQUEST_STORE_FEEDBACK(), false).toBool(); #endif } @@ -329,11 +346,11 @@ void GeneralSettings::setRequestStoreFeedback(bool pRequest) { #if defined(Q_OS_IOS) Q_UNUSED(pRequest); - qCWarning(settings) << "NOT IMPLEMENTED"; + qCWarning(settings) << "STORE FEEDBACK NOT IMPLEMENTED ON IOS"; return; #else - if (pRequest != isRequestStoreFeedback()) + if (askForStoreFeedback() || pRequest != isRequestStoreFeedback()) { mStoreGeneral->setValue(SETTINGS_NAME_REQUEST_STORE_FEEDBACK(), pRequest); Q_EMIT fireSettingsChanged(); diff --git a/src/settings/GeneralSettings.h b/src/settings/GeneralSettings.h index 70ffb1202..dfb56a864 100644 --- a/src/settings/GeneralSettings.h +++ b/src/settings/GeneralSettings.h @@ -1,7 +1,7 @@ /*! * \brief Contains the definition of the GeneralSettings class. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -87,6 +87,7 @@ class GeneralSettings bool isDeviceSurveyPending() const; void setDeviceSurveyPending(bool pDeviceSurveyPending); + bool askForStoreFeedback() const; bool isRequestStoreFeedback() const; void setRequestStoreFeedback(bool pRequest); diff --git a/src/settings/HistoryInfo.cpp b/src/settings/HistoryInfo.cpp index ca13025e8..d6acef6c4 100644 --- a/src/settings/HistoryInfo.cpp +++ b/src/settings/HistoryInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "HistoryInfo.h" diff --git a/src/settings/HistoryInfo.h b/src/settings/HistoryInfo.h index ada99184f..71129e88c 100644 --- a/src/settings/HistoryInfo.h +++ b/src/settings/HistoryInfo.h @@ -1,7 +1,7 @@ /*! * \brief Represents history settings. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/HistorySettings.cpp b/src/settings/HistorySettings.cpp index feedd8f6e..2b0ff8a4c 100644 --- a/src/settings/HistorySettings.cpp +++ b/src/settings/HistorySettings.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "HistorySettings.h" diff --git a/src/settings/HistorySettings.h b/src/settings/HistorySettings.h index f19f0eeee..d6d7f638e 100644 --- a/src/settings/HistorySettings.h +++ b/src/settings/HistorySettings.h @@ -1,7 +1,7 @@ /*! * \brief Represents history settings. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/KeyPair.cpp b/src/settings/KeyPair.cpp index 59592cdf8..6d5f695c3 100644 --- a/src/settings/KeyPair.cpp +++ b/src/settings/KeyPair.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/src/settings/KeyPair.h b/src/settings/KeyPair.h index db074cea1..7d57b38e8 100644 --- a/src/settings/KeyPair.h +++ b/src/settings/KeyPair.h @@ -1,7 +1,7 @@ /* * \brief Generates a new private/public key with an X509 certificate. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/PreVerificationSettings.cpp b/src/settings/PreVerificationSettings.cpp index 7585ccbaf..17ed462fc 100644 --- a/src/settings/PreVerificationSettings.cpp +++ b/src/settings/PreVerificationSettings.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PreVerificationSettings.h" diff --git a/src/settings/PreVerificationSettings.h b/src/settings/PreVerificationSettings.h index 1ff6df5dc..977b29a50 100644 --- a/src/settings/PreVerificationSettings.h +++ b/src/settings/PreVerificationSettings.h @@ -1,7 +1,7 @@ /*! * \brief Settings to handle PreVerification and the corresponding linked certificates. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/settings/RemoteServiceSettings.cpp b/src/settings/RemoteServiceSettings.cpp index dd14d5536..557419ec5 100644 --- a/src/settings/RemoteServiceSettings.cpp +++ b/src/settings/RemoteServiceSettings.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServiceSettings.h" diff --git a/src/settings/RemoteServiceSettings.h b/src/settings/RemoteServiceSettings.h index 6e31428ea..93fe8c27c 100644 --- a/src/settings/RemoteServiceSettings.h +++ b/src/settings/RemoteServiceSettings.h @@ -1,7 +1,7 @@ /*! * \brief RemoteService settings * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/aidl/AidlBinder.java b/src/ui/aidl/AidlBinder.java index 8f9b6c8ee..9982ddf93 100644 --- a/src/ui/aidl/AidlBinder.java +++ b/src/ui/aidl/AidlBinder.java @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ package com.governikus.ausweisapp2; diff --git a/src/ui/aidl/PskManager.cpp b/src/ui/aidl/PskManager.cpp index e0ff53fe8..e895645cc 100644 --- a/src/ui/aidl/PskManager.cpp +++ b/src/ui/aidl/PskManager.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "PskManager.h" diff --git a/src/ui/aidl/PskManager.h b/src/ui/aidl/PskManager.h index bf56201db..8e2bb51f8 100644 --- a/src/ui/aidl/PskManager.h +++ b/src/ui/aidl/PskManager.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/aidl/UIPlugInAidl.cpp b/src/ui/aidl/UIPlugInAidl.cpp index 99179a9a6..0f9ace3dc 100644 --- a/src/ui/aidl/UIPlugInAidl.cpp +++ b/src/ui/aidl/UIPlugInAidl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInAidl.h" @@ -48,7 +48,7 @@ UIPlugInAidl::UIPlugInAidl() } else { - qWarning(aidl) << "Cannot start AIDL because JSON-API is missing"; + qCWarning(aidl) << "Cannot start AIDL because JSON-API is missing"; } instance = this; @@ -201,7 +201,7 @@ JNIEXPORT void JNICALL Java_com_governikus_ausweisapp2_AidlBinder_aidlSend(JNIEn UIPlugInAidl* plugin = UIPlugInAidl::getInstance(); if (!plugin->isSuccessfullInitialized()) { - qCritical(aidl) << "Cannot call AIDL plugin"; + qCCritical(aidl) << "Cannot call AIDL plugin"; return; } diff --git a/src/ui/aidl/UIPlugInAidl.h b/src/ui/aidl/UIPlugInAidl.h index b2577b89a..1f52c55f7 100644 --- a/src/ui/aidl/UIPlugInAidl.h +++ b/src/ui/aidl/UIPlugInAidl.h @@ -1,7 +1,7 @@ /*! * \brief UIPlugIn implementation of the AIDL UI. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/base/UILoader.cpp b/src/ui/base/UILoader.cpp index c021d6cf1..6e1a391ba 100644 --- a/src/ui/base/UILoader.cpp +++ b/src/ui/base/UILoader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "UILoader.h" diff --git a/src/ui/base/UILoader.h b/src/ui/base/UILoader.h index 3b7b10903..9a74ee9aa 100644 --- a/src/ui/base/UILoader.h +++ b/src/ui/base/UILoader.h @@ -1,7 +1,7 @@ /*! * \brief Loader to initialize UIPlugIns. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/base/UIPlugIn.cpp b/src/ui/base/UIPlugIn.cpp index ad613fb63..cb630d394 100644 --- a/src/ui/base/UIPlugIn.cpp +++ b/src/ui/base/UIPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugIn.h" diff --git a/src/ui/base/UIPlugIn.h b/src/ui/base/UIPlugIn.h index e2a6bf92f..8a1e02fc7 100644 --- a/src/ui/base/UIPlugIn.h +++ b/src/ui/base/UIPlugIn.h @@ -1,7 +1,7 @@ /*! * \brief Abstract layer to UI implementations. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -56,6 +56,7 @@ class UIPlugIn void fireRemoteServiceRequested(); void fireQuitApplicationRequest(); void fireCloseReminderFinished(bool pDontRemindAgain); + void fireApplicationActivated(); void fireShowUserInformation(const QString& pInformationMessage); void fireUiDominationRequest(const UIPlugIn* pUi, const QString& pInformation); diff --git a/src/ui/cli/ConsoleReader.cpp b/src/ui/cli/ConsoleReader.cpp index 89594013c..01815aff8 100644 --- a/src/ui/cli/ConsoleReader.cpp +++ b/src/ui/cli/ConsoleReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ConsoleReader.h" @@ -28,7 +28,7 @@ void ConsoleInputThread::run() QTextStream input(stdin, QIODevice::ReadOnly); const auto& line = input.readLine(); - qDebug(stdinput) << line; + qCDebug(stdinput) << line; Q_EMIT fireText(line); } } diff --git a/src/ui/cli/ConsoleReader.h b/src/ui/cli/ConsoleReader.h index f2cc06c85..12cf272f4 100644 --- a/src/ui/cli/ConsoleReader.h +++ b/src/ui/cli/ConsoleReader.h @@ -1,7 +1,7 @@ /*! * \brief Helper to read stdin in non-blocking mode. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/cli/UIPlugInCli.cpp b/src/ui/cli/UIPlugInCli.cpp index bb8d58cac..7c321c28e 100644 --- a/src/ui/cli/UIPlugInCli.cpp +++ b/src/ui/cli/UIPlugInCli.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInCli.h" diff --git a/src/ui/cli/UIPlugInCli.h b/src/ui/cli/UIPlugInCli.h index defb94a96..ea0bb850f 100644 --- a/src/ui/cli/UIPlugInCli.h +++ b/src/ui/cli/UIPlugInCli.h @@ -1,7 +1,7 @@ /*! * \brief UIPlugIn implementation of CLI. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/common/HelpAction.cpp b/src/ui/common/HelpAction.cpp index 5e5e6f254..5286e283c 100644 --- a/src/ui/common/HelpAction.cpp +++ b/src/ui/common/HelpAction.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "HelpAction.h" diff --git a/src/ui/common/HelpAction.h b/src/ui/common/HelpAction.h index c34ae14b3..c66e65e30 100644 --- a/src/ui/common/HelpAction.h +++ b/src/ui/common/HelpAction.h @@ -2,7 +2,7 @@ * \brief Helper class for mapping object name from f1 widget to help file. * \see AppQtMainWidget::onContentActionClicked() * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/common/PlatformTools.h b/src/ui/common/PlatformTools.h index d30203a49..33c991436 100644 --- a/src/ui/common/PlatformTools.h +++ b/src/ui/common/PlatformTools.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/common/PlatformTools_generic.cpp b/src/ui/common/PlatformTools_generic.cpp index 9f0e02b47..20756cb6e 100644 --- a/src/ui/common/PlatformTools_generic.cpp +++ b/src/ui/common/PlatformTools_generic.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "PlatformTools.h" diff --git a/src/ui/common/PlatformTools_osx.cpp b/src/ui/common/PlatformTools_osx.cpp index 4509c11fb..8e4a8316e 100644 --- a/src/ui/common/PlatformTools_osx.cpp +++ b/src/ui/common/PlatformTools_osx.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "PlatformTools.h" diff --git a/src/ui/common/TrayIcon.cpp b/src/ui/common/TrayIcon.cpp index c4e13a292..660f7dd6d 100644 --- a/src/ui/common/TrayIcon.cpp +++ b/src/ui/common/TrayIcon.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "TrayIcon.h" diff --git a/src/ui/common/TrayIcon.h b/src/ui/common/TrayIcon.h index 45cb2791b..26af8f1b6 100644 --- a/src/ui/common/TrayIcon.h +++ b/src/ui/common/TrayIcon.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/MessageDispatcher.cpp b/src/ui/jsonapi/MessageDispatcher.cpp index 8c0546c13..619f7ce87 100644 --- a/src/ui/jsonapi/MessageDispatcher.cpp +++ b/src/ui/jsonapi/MessageDispatcher.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MessageDispatcher.h" @@ -82,7 +82,7 @@ QByteArray MessageDispatcher::processStateChange(const QString& pState) { if (!mContext.isActiveWorkflow() || pState.isEmpty()) { - qCritical(jsonapi) << "Unexpected condition:" << mContext.getWorkflowContext() << "|" << pState; + qCCritical(jsonapi) << "Unexpected condition:" << mContext.getWorkflowContext() << "|" << pState; return MsgHandlerInternalError(QLatin1String("Unexpected condition")).getOutput(); } @@ -143,7 +143,7 @@ MsgHandler MessageDispatcher::createForCommand(const QJsonObject& pObj) } auto requestType = Enum::fromString(cmd, MsgCmdType::UNDEFINED); - qDebug(jsonapi) << "Process type:" << requestType; + qCDebug(jsonapi) << "Process type:" << requestType; switch (requestType) { case MsgCmdType::UNDEFINED: diff --git a/src/ui/jsonapi/MessageDispatcher.h b/src/ui/jsonapi/MessageDispatcher.h index 19c014cb1..f05bdc2e4 100644 --- a/src/ui/jsonapi/MessageDispatcher.h +++ b/src/ui/jsonapi/MessageDispatcher.h @@ -1,7 +1,7 @@ /*! * \brief Dispatch Messages of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/UIPlugInJsonApi.cpp b/src/ui/jsonapi/UIPlugInJsonApi.cpp index e28b46d8b..7bd931601 100644 --- a/src/ui/jsonapi/UIPlugInJsonApi.cpp +++ b/src/ui/jsonapi/UIPlugInJsonApi.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInJsonApi.h" diff --git a/src/ui/jsonapi/UIPlugInJsonApi.h b/src/ui/jsonapi/UIPlugInJsonApi.h index 1ec112103..54c4b6251 100644 --- a/src/ui/jsonapi/UIPlugInJsonApi.h +++ b/src/ui/jsonapi/UIPlugInJsonApi.h @@ -1,7 +1,7 @@ /*! * \brief UIPlugIn implementation of the Json API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgContext.cpp b/src/ui/jsonapi/messages/MsgContext.cpp index 29bc19c9d..786ae93cb 100644 --- a/src/ui/jsonapi/messages/MsgContext.cpp +++ b/src/ui/jsonapi/messages/MsgContext.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgContext.h" diff --git a/src/ui/jsonapi/messages/MsgContext.h b/src/ui/jsonapi/messages/MsgContext.h index a9ba41d1c..03eafc252 100644 --- a/src/ui/jsonapi/messages/MsgContext.h +++ b/src/ui/jsonapi/messages/MsgContext.h @@ -1,7 +1,7 @@ /*! * \brief Context of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandler.cpp b/src/ui/jsonapi/messages/MsgHandler.cpp index 2f285909e..8ece08ed8 100644 --- a/src/ui/jsonapi/messages/MsgHandler.cpp +++ b/src/ui/jsonapi/messages/MsgHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandler.h" diff --git a/src/ui/jsonapi/messages/MsgHandler.h b/src/ui/jsonapi/messages/MsgHandler.h index 2cffeb8a0..4190250f2 100644 --- a/src/ui/jsonapi/messages/MsgHandler.h +++ b/src/ui/jsonapi/messages/MsgHandler.h @@ -1,7 +1,7 @@ /*! * \brief Base of all messages of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerAccessRights.cpp b/src/ui/jsonapi/messages/MsgHandlerAccessRights.cpp index 21ea8b915..df721d0f9 100644 --- a/src/ui/jsonapi/messages/MsgHandlerAccessRights.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerAccessRights.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerAccessRights.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerAccessRights.h b/src/ui/jsonapi/messages/MsgHandlerAccessRights.h index 1ad542a1e..206bdec78 100644 --- a/src/ui/jsonapi/messages/MsgHandlerAccessRights.h +++ b/src/ui/jsonapi/messages/MsgHandlerAccessRights.h @@ -1,7 +1,7 @@ /*! * \brief Message MsgHandlerAccessRights of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerApiLevel.cpp b/src/ui/jsonapi/messages/MsgHandlerApiLevel.cpp index fde559fee..d12294674 100644 --- a/src/ui/jsonapi/messages/MsgHandlerApiLevel.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerApiLevel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerApiLevel.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerApiLevel.h b/src/ui/jsonapi/messages/MsgHandlerApiLevel.h index 13b6c69ca..f8b8adede 100644 --- a/src/ui/jsonapi/messages/MsgHandlerApiLevel.h +++ b/src/ui/jsonapi/messages/MsgHandlerApiLevel.h @@ -1,7 +1,7 @@ /*! * \brief Message API_LEVEL of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerAuth.cpp b/src/ui/jsonapi/messages/MsgHandlerAuth.cpp index 1402783b4..bc5e59ea0 100644 --- a/src/ui/jsonapi/messages/MsgHandlerAuth.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerAuth.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerAuth.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerAuth.h b/src/ui/jsonapi/messages/MsgHandlerAuth.h index 486d72a8c..988dbec4e 100644 --- a/src/ui/jsonapi/messages/MsgHandlerAuth.h +++ b/src/ui/jsonapi/messages/MsgHandlerAuth.h @@ -1,7 +1,7 @@ /*! * \brief Message Auth of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerBadState.cpp b/src/ui/jsonapi/messages/MsgHandlerBadState.cpp index 9265824a8..57e2832fd 100644 --- a/src/ui/jsonapi/messages/MsgHandlerBadState.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerBadState.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerBadState.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerBadState.h b/src/ui/jsonapi/messages/MsgHandlerBadState.h index 6588a1104..b33288785 100644 --- a/src/ui/jsonapi/messages/MsgHandlerBadState.h +++ b/src/ui/jsonapi/messages/MsgHandlerBadState.h @@ -1,7 +1,7 @@ /*! * \brief Message BadState of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerCertificate.cpp b/src/ui/jsonapi/messages/MsgHandlerCertificate.cpp index eadab4724..31e714ba9 100644 --- a/src/ui/jsonapi/messages/MsgHandlerCertificate.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerCertificate.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerCertificate.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerCertificate.h b/src/ui/jsonapi/messages/MsgHandlerCertificate.h index 459598b30..4a4051ec4 100644 --- a/src/ui/jsonapi/messages/MsgHandlerCertificate.h +++ b/src/ui/jsonapi/messages/MsgHandlerCertificate.h @@ -1,7 +1,7 @@ /*! * \brief Message handler for GET_CERTIFICATE of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterCan.cpp b/src/ui/jsonapi/messages/MsgHandlerEnterCan.cpp index 1f6606fff..c4b2dff7f 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterCan.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerEnterCan.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerEnterCan.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterCan.h b/src/ui/jsonapi/messages/MsgHandlerEnterCan.h index 45755118a..9679d1155 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterCan.h +++ b/src/ui/jsonapi/messages/MsgHandlerEnterCan.h @@ -1,7 +1,7 @@ /*! * \brief Message EnterCan of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterNumber.cpp b/src/ui/jsonapi/messages/MsgHandlerEnterNumber.cpp index c25653c2f..0c150497f 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterNumber.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerEnterNumber.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerEnterNumber.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterNumber.h b/src/ui/jsonapi/messages/MsgHandlerEnterNumber.h index cbfc3215f..6aa5dc328 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterNumber.h +++ b/src/ui/jsonapi/messages/MsgHandlerEnterNumber.h @@ -1,7 +1,7 @@ /*! * \brief Helper handler for EnterCan, EnterPin and EnterPuk of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterPin.cpp b/src/ui/jsonapi/messages/MsgHandlerEnterPin.cpp index 7d9756507..e01ecec09 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterPin.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerEnterPin.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerEnterPin.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterPin.h b/src/ui/jsonapi/messages/MsgHandlerEnterPin.h index 8aafb583f..ee845d4b3 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterPin.h +++ b/src/ui/jsonapi/messages/MsgHandlerEnterPin.h @@ -1,7 +1,7 @@ /*! * \brief Message EnterPin of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterPuk.cpp b/src/ui/jsonapi/messages/MsgHandlerEnterPuk.cpp index dd682ecf2..5cd7f8538 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterPuk.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerEnterPuk.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerEnterPuk.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerEnterPuk.h b/src/ui/jsonapi/messages/MsgHandlerEnterPuk.h index f2a3c0afe..8924e7218 100644 --- a/src/ui/jsonapi/messages/MsgHandlerEnterPuk.h +++ b/src/ui/jsonapi/messages/MsgHandlerEnterPuk.h @@ -1,7 +1,7 @@ /*! * \brief Message EnterPuk of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerInfo.cpp b/src/ui/jsonapi/messages/MsgHandlerInfo.cpp index eae3ad1bb..1c6ffd247 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInfo.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerInfo.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerInfo.h b/src/ui/jsonapi/messages/MsgHandlerInfo.h index 54135a9c6..68e84c62a 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInfo.h +++ b/src/ui/jsonapi/messages/MsgHandlerInfo.h @@ -1,7 +1,7 @@ /*! * \brief Message Info of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerInsertCard.cpp b/src/ui/jsonapi/messages/MsgHandlerInsertCard.cpp index 741c310fd..46509b0e2 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInsertCard.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerInsertCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerInsertCard.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerInsertCard.h b/src/ui/jsonapi/messages/MsgHandlerInsertCard.h index 61591f73a..8b7c85a29 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInsertCard.h +++ b/src/ui/jsonapi/messages/MsgHandlerInsertCard.h @@ -1,7 +1,7 @@ /*! * \brief Message InsertCard of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerInternalError.cpp b/src/ui/jsonapi/messages/MsgHandlerInternalError.cpp index 2293976fd..8c76b1d3e 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInternalError.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerInternalError.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerInternalError.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerInternalError.h b/src/ui/jsonapi/messages/MsgHandlerInternalError.h index 3ff49cee1..513a33652 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInternalError.h +++ b/src/ui/jsonapi/messages/MsgHandlerInternalError.h @@ -1,7 +1,7 @@ /*! * \brief Message INTERNAL_ERROR of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerInvalid.cpp b/src/ui/jsonapi/messages/MsgHandlerInvalid.cpp index 421b03d79..76d320243 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInvalid.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerInvalid.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerInvalid.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerInvalid.h b/src/ui/jsonapi/messages/MsgHandlerInvalid.h index 8bba4f2a2..49030c757 100644 --- a/src/ui/jsonapi/messages/MsgHandlerInvalid.h +++ b/src/ui/jsonapi/messages/MsgHandlerInvalid.h @@ -1,7 +1,7 @@ /*! * \brief Message Invalid of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerReader.cpp b/src/ui/jsonapi/messages/MsgHandlerReader.cpp index e21a0a1b5..0307cd7db 100644 --- a/src/ui/jsonapi/messages/MsgHandlerReader.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerReader.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerReader.h b/src/ui/jsonapi/messages/MsgHandlerReader.h index eab666651..664ba9cb6 100644 --- a/src/ui/jsonapi/messages/MsgHandlerReader.h +++ b/src/ui/jsonapi/messages/MsgHandlerReader.h @@ -1,7 +1,7 @@ /*! * \brief Message Reader of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerReaderList.cpp b/src/ui/jsonapi/messages/MsgHandlerReaderList.cpp index c8e32b6e8..477221600 100644 --- a/src/ui/jsonapi/messages/MsgHandlerReaderList.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerReaderList.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerReaderList.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerReaderList.h b/src/ui/jsonapi/messages/MsgHandlerReaderList.h index 5a44739f0..51617a9b0 100644 --- a/src/ui/jsonapi/messages/MsgHandlerReaderList.h +++ b/src/ui/jsonapi/messages/MsgHandlerReaderList.h @@ -1,7 +1,7 @@ /*! * \brief Message ReaderList of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.cpp b/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.cpp index 30d855fd8..e0349185d 100644 --- a/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.cpp +++ b/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerUnknownCommand.h" diff --git a/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.h b/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.h index 61ea8e216..6a7885ee1 100644 --- a/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.h +++ b/src/ui/jsonapi/messages/MsgHandlerUnknownCommand.h @@ -1,7 +1,7 @@ /*! * \brief MsgHandlerUnknownCommand of JSON API. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/jsonapi/messages/MsgTypes.cpp b/src/ui/jsonapi/messages/MsgTypes.cpp index b038766d3..013ac6a7d 100644 --- a/src/ui/jsonapi/messages/MsgTypes.cpp +++ b/src/ui/jsonapi/messages/MsgTypes.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgTypes.h" diff --git a/src/ui/jsonapi/messages/MsgTypes.h b/src/ui/jsonapi/messages/MsgTypes.h index ba1601b50..33a39a6a6 100644 --- a/src/ui/jsonapi/messages/MsgTypes.h +++ b/src/ui/jsonapi/messages/MsgTypes.h @@ -1,7 +1,7 @@ /*! * \brief Enumerations of message types and additional stuff. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ApplicationModel.cpp b/src/ui/qml/ApplicationModel.cpp index 18066690a..8b697f2b1 100644 --- a/src/ui/qml/ApplicationModel.cpp +++ b/src/ui/qml/ApplicationModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ApplicationModel.h" @@ -255,8 +255,16 @@ bool ApplicationModel::areStoreFeedbackDialogConditionsMet() const return false; } +#ifdef Q_OS_ANDROID + const bool startedByAuth = QAndroidJniObject::callStaticMethod("com/governikus/ausweisapp2/MainActivity", "isStartedByAuth"); + if (startedByAuth) + { + return false; + } +#endif + const auto& settings = Env::getSingleton()->getGeneralSettings(); - return !settings.askForDeviceSurvey() && settings.isRequestStoreFeedback(); + return settings.isRequestStoreFeedback(); } diff --git a/src/ui/qml/ApplicationModel.h b/src/ui/qml/ApplicationModel.h index 4933a8d4d..45677c003 100644 --- a/src/ui/qml/ApplicationModel.h +++ b/src/ui/qml/ApplicationModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the application. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/AuthModel.cpp b/src/ui/qml/AuthModel.cpp index bbb676c69..6fe01429b 100644 --- a/src/ui/qml/AuthModel.cpp +++ b/src/ui/qml/AuthModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "AuthModel.h" @@ -66,3 +66,9 @@ void AuthModel::onDidAuthenticateEac1Changed() } } } + + +void AuthModel::setSkipRedirect(bool pSkipRedirect) +{ + mContext->setSkipRedirect(pSkipRedirect); +} diff --git a/src/ui/qml/AuthModel.h b/src/ui/qml/AuthModel.h index 619ad6aa0..83e125eb3 100644 --- a/src/ui/qml/AuthModel.h +++ b/src/ui/qml/AuthModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the authentication action. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -42,6 +42,8 @@ class AuthModel static AuthModel& getInstance(); + Q_INVOKABLE void setSkipRedirect(bool pSkipRedirect); + public Q_SLOTS: void onDidAuthenticateEac1Changed(); diff --git a/src/ui/qml/CertificateDescriptionModel.cpp b/src/ui/qml/CertificateDescriptionModel.cpp index 61353a080..0a3686bcf 100644 --- a/src/ui/qml/CertificateDescriptionModel.cpp +++ b/src/ui/qml/CertificateDescriptionModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "CertificateDescriptionModel.h" diff --git a/src/ui/qml/CertificateDescriptionModel.h b/src/ui/qml/CertificateDescriptionModel.h index 8be7560e4..1cbce3675 100644 --- a/src/ui/qml/CertificateDescriptionModel.h +++ b/src/ui/qml/CertificateDescriptionModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the CV certificate description. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ChangePinModel.cpp b/src/ui/qml/ChangePinModel.cpp index b668f5189..9c8ac6f9c 100644 --- a/src/ui/qml/ChangePinModel.cpp +++ b/src/ui/qml/ChangePinModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ChangePinModel.h" diff --git a/src/ui/qml/ChangePinModel.h b/src/ui/qml/ChangePinModel.h index fc9ccee9d..5ccf8055d 100644 --- a/src/ui/qml/ChangePinModel.h +++ b/src/ui/qml/ChangePinModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the PIN action. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ChatModel.cpp b/src/ui/qml/ChatModel.cpp index 8b384ec53..f2f5b50b5 100644 --- a/src/ui/qml/ChatModel.cpp +++ b/src/ui/qml/ChatModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the chat. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ChatModel.h" diff --git a/src/ui/qml/ChatModel.h b/src/ui/qml/ChatModel.h index 9c7f7315d..829e71638 100644 --- a/src/ui/qml/ChatModel.h +++ b/src/ui/qml/ChatModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the chat. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ConnectivityManager.cpp b/src/ui/qml/ConnectivityManager.cpp index b5cde455c..d8f2b2b28 100644 --- a/src/ui/qml/ConnectivityManager.cpp +++ b/src/ui/qml/ConnectivityManager.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ConnectivityManager.h" diff --git a/src/ui/qml/ConnectivityManager.h b/src/ui/qml/ConnectivityManager.h index 42c6bde91..3662e2139 100644 --- a/src/ui/qml/ConnectivityManager.h +++ b/src/ui/qml/ConnectivityManager.h @@ -1,7 +1,7 @@ /*! * \brief Utility class providing information about network connectivity status. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/DpiCalculator.h b/src/ui/qml/DpiCalculator.h index a48391809..52e8db185 100644 --- a/src/ui/qml/DpiCalculator.h +++ b/src/ui/qml/DpiCalculator.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/DpiCalculator_android.cpp b/src/ui/qml/DpiCalculator_android.cpp index c61bccf53..e5e02f9b4 100644 --- a/src/ui/qml/DpiCalculator_android.cpp +++ b/src/ui/qml/DpiCalculator_android.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "DpiCalculator.h" diff --git a/src/ui/qml/DpiCalculator_generic.cpp b/src/ui/qml/DpiCalculator_generic.cpp index b8f5ad527..a34184888 100644 --- a/src/ui/qml/DpiCalculator_generic.cpp +++ b/src/ui/qml/DpiCalculator_generic.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "DpiCalculator.h" diff --git a/src/ui/qml/DpiCalculator_ios.mm b/src/ui/qml/DpiCalculator_ios.mm index 1018af920..ad907a4e5 100644 --- a/src/ui/qml/DpiCalculator_ios.mm +++ b/src/ui/qml/DpiCalculator_ios.mm @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "DpiCalculator.h" diff --git a/src/ui/qml/HistoryModel.cpp b/src/ui/qml/HistoryModel.cpp index d42106888..5fcd7ff99 100644 --- a/src/ui/qml/HistoryModel.cpp +++ b/src/ui/qml/HistoryModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the history entries. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "HistoryModel.h" @@ -11,6 +11,7 @@ #include "ProviderModel.h" #include +#include #include using namespace governikus; @@ -113,6 +114,7 @@ HistoryModel::HistoryModel(HistorySettings* pHistorySettings, QObject* pParent) , mHistorySettings(pHistorySettings) , mFilterModel() , mNameFilterModel(pHistorySettings) + , mHistoryModelSearchFilter() { updateConnections(); mFilterModel.setSourceModel(this); @@ -122,6 +124,10 @@ HistoryModel::HistoryModel(HistorySettings* pHistorySettings, QObject* pParent) connect(mHistorySettings.data(), &HistorySettings::fireHistoryInfosChanged, this, &HistoryModel::onHistoryEntriesChanged); connect(mHistorySettings.data(), &HistorySettings::fireEnabledChanged, this, &HistoryModel::fireEnabledChanged); connect(Env::getSingleton(), &ProviderConfiguration::fireUpdated, this, &HistoryModel::onProvidersChanged); + + QQmlEngine::setObjectOwnership(&mFilterModel, QQmlEngine::CppOwnership); + QQmlEngine::setObjectOwnership(&mNameFilterModel, QQmlEngine::CppOwnership); + QQmlEngine::setObjectOwnership(&mHistoryModelSearchFilter, QQmlEngine::CppOwnership); } diff --git a/src/ui/qml/HistoryModel.h b/src/ui/qml/HistoryModel.h index 459a832d9..830019b7d 100644 --- a/src/ui/qml/HistoryModel.h +++ b/src/ui/qml/HistoryModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the history entries. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/HistoryModelSearchFilter.cpp b/src/ui/qml/HistoryModelSearchFilter.cpp index d46560df5..487659d6b 100644 --- a/src/ui/qml/HistoryModelSearchFilter.cpp +++ b/src/ui/qml/HistoryModelSearchFilter.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HistoryModelSearchFilter.h" diff --git a/src/ui/qml/HistoryModelSearchFilter.h b/src/ui/qml/HistoryModelSearchFilter.h index b4bc0a5f6..2200a50c1 100644 --- a/src/ui/qml/HistoryModelSearchFilter.h +++ b/src/ui/qml/HistoryModelSearchFilter.h @@ -1,7 +1,7 @@ /*! * \brief A filter to search the history model * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/LogModel.cpp b/src/ui/qml/LogModel.cpp index 1ffff737d..1ae770a69 100644 --- a/src/ui/qml/LogModel.cpp +++ b/src/ui/qml/LogModel.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "LogModel.h" diff --git a/src/ui/qml/LogModel.h b/src/ui/qml/LogModel.h index 95d393f49..659edf57d 100644 --- a/src/ui/qml/LogModel.h +++ b/src/ui/qml/LogModel.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/LogModel_android.cpp b/src/ui/qml/LogModel_android.cpp index 36181897f..56f31e911 100644 --- a/src/ui/qml/LogModel_android.cpp +++ b/src/ui/qml/LogModel_android.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "LogModel.h" diff --git a/src/ui/qml/LogModel_generic.cpp b/src/ui/qml/LogModel_generic.cpp index 8e6bd4066..e45cd85cc 100644 --- a/src/ui/qml/LogModel_generic.cpp +++ b/src/ui/qml/LogModel_generic.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "LogModel.h" diff --git a/src/ui/qml/NumberModel.cpp b/src/ui/qml/NumberModel.cpp index f92d208d4..a3849ec0c 100644 --- a/src/ui/qml/NumberModel.cpp +++ b/src/ui/qml/NumberModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "NumberModel.h" diff --git a/src/ui/qml/NumberModel.h b/src/ui/qml/NumberModel.h index 3e849c2f9..9d7f46da3 100644 --- a/src/ui/qml/NumberModel.h +++ b/src/ui/qml/NumberModel.h @@ -2,7 +2,7 @@ * \brief Model for accessing PIN, CAN, PUK, according to the * currently active workflow. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ProviderCategoryFilterModel.cpp b/src/ui/qml/ProviderCategoryFilterModel.cpp index 494dd3d31..7493ffd6c 100644 --- a/src/ui/qml/ProviderCategoryFilterModel.cpp +++ b/src/ui/qml/ProviderCategoryFilterModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderCategoryFilterModel.h" diff --git a/src/ui/qml/ProviderCategoryFilterModel.h b/src/ui/qml/ProviderCategoryFilterModel.h index bd151b2cf..610f7d0d2 100644 --- a/src/ui/qml/ProviderCategoryFilterModel.h +++ b/src/ui/qml/ProviderCategoryFilterModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the providers. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ProviderModel.cpp b/src/ui/qml/ProviderModel.cpp index 4291342f2..114aaad8b 100644 --- a/src/ui/qml/ProviderModel.cpp +++ b/src/ui/qml/ProviderModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderModel.h" diff --git a/src/ui/qml/ProviderModel.h b/src/ui/qml/ProviderModel.h index f6466b985..aae2c187e 100644 --- a/src/ui/qml/ProviderModel.h +++ b/src/ui/qml/ProviderModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the providers. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/QmlExtension.h b/src/ui/qml/QmlExtension.h index 20d0ba472..550162c12 100644 --- a/src/ui/qml/QmlExtension.h +++ b/src/ui/qml/QmlExtension.h @@ -1,7 +1,7 @@ /*! * \brief Utility for sharing text. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/QmlExtension_android.cpp b/src/ui/qml/QmlExtension_android.cpp index 522c5e1a5..266198211 100644 --- a/src/ui/qml/QmlExtension_android.cpp +++ b/src/ui/qml/QmlExtension_android.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "QmlExtension.h" diff --git a/src/ui/qml/QmlExtension_generic.cpp b/src/ui/qml/QmlExtension_generic.cpp index 3c395f234..764ba18f8 100644 --- a/src/ui/qml/QmlExtension_generic.cpp +++ b/src/ui/qml/QmlExtension_generic.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "QmlExtension.h" diff --git a/src/ui/qml/QmlExtension_ios.mm b/src/ui/qml/QmlExtension_ios.mm index e9fac3c45..68cce367d 100644 --- a/src/ui/qml/QmlExtension_ios.mm +++ b/src/ui/qml/QmlExtension_ios.mm @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "QmlExtension.h" diff --git a/src/ui/qml/RemoteServiceModel.cpp b/src/ui/qml/RemoteServiceModel.cpp index 330a4743d..f8e693afc 100644 --- a/src/ui/qml/RemoteServiceModel.cpp +++ b/src/ui/qml/RemoteServiceModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServiceModel.h" @@ -7,6 +7,7 @@ #include "AppSettings.h" #include "Env.h" #include "EstablishPaceChannelParser.h" +#include "NumberModel.h" #include "RemoteClientImpl.h" #include "RemoteServiceSettings.h" #include "SingletonHelper.h" @@ -29,6 +30,7 @@ RemoteServiceModel::RemoteServiceModel() , mConnectedClientDeviceName() , mConnectedServerDeviceNames() , mIsSaCPinChangeWorkflow() + , mRememberedServerEntry() { const auto readerManager = Env::getSingleton(); connect(readerManager, &ReaderManager::firePluginAdded, this, &RemoteServiceModel::onEnvironmentChanged); @@ -143,23 +145,32 @@ bool RemoteServiceModel::detectRemoteDevices() } -void RemoteServiceModel::connectToServer(const QString& pDeviceId, const QString& pServerPsk) +void RemoteServiceModel::connectToRememberedServer(const QString& pServerPsk) { - if (!pServerPsk.isEmpty()) + if (!pServerPsk.isEmpty() && !mRememberedServerEntry.isNull()) { RemoteClient* const remoteClient = Env::getSingleton(); connect(remoteClient, &RemoteClient::fireEstablishConnectionDone, this, &RemoteServiceModel::onEstablishConnectionDone); - remoteClient->establishConnection(mAvailableRemoteDevices.getRemoteDeviceListEntry(pDeviceId), pServerPsk); + qDebug() << "Starting to pair."; + remoteClient->establishConnection(mRememberedServerEntry, pServerPsk); } } +bool RemoteServiceModel::rememberServer(const QString& pDeviceId) +{ + mRememberedServerEntry = mAvailableRemoteDevices.getRemoteDeviceListEntry(pDeviceId); + return !mRememberedServerEntry.isNull(); +} + + void RemoteServiceModel::onEstablishConnectionDone(const QSharedPointer& pEntry, const GlobalStatus& pStatus) { Q_UNUSED(pEntry); RemoteClient* const remoteClient = Env::getSingleton(); disconnect(remoteClient, &RemoteClient::fireEstablishConnectionDone, this, &RemoteServiceModel::onEstablishConnectionDone); + qDebug() << "Pairing finished:" << pStatus; if (pStatus.isError()) { Q_EMIT firePairingFailed(); @@ -331,6 +342,8 @@ void RemoteServiceModel::onConnectedDevicesChanged() void RemoteServiceModel::onEstablishPaceChannelMessageUpdated(const QSharedPointer& pMessage) { + Env::getSingleton()->setRequestTransportPin(false); + if (pMessage.isNull() || pMessage->isIncomplete()) { mIsSaCPinChangeWorkflow = false; diff --git a/src/ui/qml/RemoteServiceModel.h b/src/ui/qml/RemoteServiceModel.h index bc60b81a9..fffcb51e1 100644 --- a/src/ui/qml/RemoteServiceModel.h +++ b/src/ui/qml/RemoteServiceModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the remote service component * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -53,6 +53,7 @@ class RemoteServiceModel QString mConnectedClientDeviceName; QString mConnectedServerDeviceNames; bool mIsSaCPinChangeWorkflow; + QSharedPointer mRememberedServerEntry; void onEnvironmentChanged(); QString getErrorMessage(bool pNfcPluginAvailable, bool pNfcPluginEnabled, bool pWifiEnabled) const; @@ -75,7 +76,8 @@ class RemoteServiceModel RemoteDeviceModel* getKnownDevices(); void setDetectRemoteDevices(bool pNewStatus); bool detectRemoteDevices(); - Q_INVOKABLE void connectToServer(const QString& pDeviceId, const QString& pServerPsk); + Q_INVOKABLE bool rememberServer(const QString& pDeviceId); + Q_INVOKABLE void connectToRememberedServer(const QString& pServerPsk); void resetContext(const QSharedPointer& pContext = QSharedPointer()); Q_INVOKABLE void setPairing(bool pEnabled = true); diff --git a/src/ui/qml/SelfAuthModel.cpp b/src/ui/qml/SelfAuthModel.cpp index d68cb764d..d5d57d745 100644 --- a/src/ui/qml/SelfAuthModel.cpp +++ b/src/ui/qml/SelfAuthModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfAuthModel.h" diff --git a/src/ui/qml/SelfAuthModel.h b/src/ui/qml/SelfAuthModel.h index 37eed3c7b..254d0d52a 100644 --- a/src/ui/qml/SelfAuthModel.h +++ b/src/ui/qml/SelfAuthModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the self authentication workflow. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/SettingsModel.cpp b/src/ui/qml/SettingsModel.cpp index e53f13ab6..a61e66245 100644 --- a/src/ui/qml/SettingsModel.cpp +++ b/src/ui/qml/SettingsModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "SettingsModel.h" diff --git a/src/ui/qml/SettingsModel.h b/src/ui/qml/SettingsModel.h index f38333ce2..95662f536 100644 --- a/src/ui/qml/SettingsModel.h +++ b/src/ui/qml/SettingsModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the settings. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/ShareUtil.java b/src/ui/qml/ShareUtil.java index 211e5f57d..bcf2f243c 100644 --- a/src/ui/qml/ShareUtil.java +++ b/src/ui/qml/ShareUtil.java @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ package com.governikus.ausweisapp2; diff --git a/src/ui/qml/StatusBarUtil.cpp b/src/ui/qml/StatusBarUtil.cpp index f3952fbf8..2e44c9bdd 100644 --- a/src/ui/qml/StatusBarUtil.cpp +++ b/src/ui/qml/StatusBarUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Utility for changing the color of the status bar. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "StatusBarUtil.h" diff --git a/src/ui/qml/StatusBarUtil.h b/src/ui/qml/StatusBarUtil.h index 1110a5107..75035e125 100644 --- a/src/ui/qml/StatusBarUtil.h +++ b/src/ui/qml/StatusBarUtil.h @@ -1,7 +1,7 @@ /*! * \brief Utility for changing the color of the status bar. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/UIPlugInQml.cpp b/src/ui/qml/UIPlugInQml.cpp index f3383296d..65546a106 100644 --- a/src/ui/qml/UIPlugInQml.cpp +++ b/src/ui/qml/UIPlugInQml.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInQml.h" @@ -91,7 +91,7 @@ UIPlugInQml::UIPlugInQml() , mTrayIcon() { #if defined(Q_OS_ANDROID) - QGuiApplication::setFont(QFont("Roboto")); + QGuiApplication::setFont(QFont(QStringLiteral("Roboto"))); #endif connect(&mTrayIcon, &TrayIcon::fireShow, this, &UIPlugInQml::show); diff --git a/src/ui/qml/UIPlugInQml.h b/src/ui/qml/UIPlugInQml.h index ce1123fc9..637fa6359 100644 --- a/src/ui/qml/UIPlugInQml.h +++ b/src/ui/qml/UIPlugInQml.h @@ -1,7 +1,7 @@ /*! * \brief UIPlugIn implementation of QML. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/VersionInformationModel.cpp b/src/ui/qml/VersionInformationModel.cpp index ffd5a5e12..686f29b79 100644 --- a/src/ui/qml/VersionInformationModel.cpp +++ b/src/ui/qml/VersionInformationModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Model implementation for version information. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "VersionInformationModel.h" @@ -24,28 +24,10 @@ using namespace governikus; void VersionInformationModel::init() { mData.clear(); - mData += QPair(tr("Application Name"), QCoreApplication::applicationName()); - mData += QPair(tr("Application Version"), QCoreApplication::applicationVersion()); - mData += QPair(tr("Organization"), QCoreApplication::organizationName()); - mData += QPair(tr("Organization domain"), QCoreApplication::organizationDomain()); -#ifdef Q_OS_ANDROID - mData += QPair(tr("VersionCode"), QString::number(BuildHelper::getVersionCode())); -#endif - mData += QPair(tr("System version"), QSysInfo::prettyProductName()); - mData += QPair(tr("Kernel"), QSysInfo::kernelVersion()); - - QString architecture = QSysInfo::currentCpuArchitecture(); - if (architecture != QSysInfo::buildCpuArchitecture()) - { - architecture += QStringLiteral(" (%1)").arg(QSysInfo::buildCpuArchitecture()); - } - mData += QPair(tr("Architecture"), architecture); -#ifdef Q_OS_ANDROID - mData += QPair(tr("Device"), DeviceInfo::getPrettyInfo()); -#endif - mData += QPair(tr("Qt Version"), QString::fromLatin1(qVersion())); - mData += QPair(tr("OpenSSL Version"), QSslSocket::sslLibraryVersionString()); + BuildHelper::processInformationHeader([this](const QString& pKey, const QString& pValue){ + mData += qMakePair(pKey, pValue); + }); } diff --git a/src/ui/qml/VersionInformationModel.h b/src/ui/qml/VersionInformationModel.h index 81e17717e..ba541ea76 100644 --- a/src/ui/qml/VersionInformationModel.h +++ b/src/ui/qml/VersionInformationModel.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/qml/WorkflowModel.cpp b/src/ui/qml/WorkflowModel.cpp index 95ef91bf1..da6ad54e7 100644 --- a/src/ui/qml/WorkflowModel.cpp +++ b/src/ui/qml/WorkflowModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowModel.h" @@ -40,6 +40,7 @@ void WorkflowModel::resetContext(const QSharedPointer& pContext connect(mContext.data(), &WorkflowContext::fireResultChanged, this, &WorkflowModel::fireResultChanged); connect(mContext.data(), &WorkflowContext::fireReaderPlugInTypesChanged, this, &WorkflowModel::fireReaderPlugInTypeChanged); connect(mContext.data(), &WorkflowContext::fireCardConnectionChanged, this, &WorkflowModel::fireIsBasicReaderChanged); + connect(mContext.data(), &WorkflowContext::fireNextWorkflowPending, this, &WorkflowModel::fireNextWorkflowPendingChanged); } /* @@ -154,6 +155,12 @@ bool WorkflowModel::isBasicReader() } +bool WorkflowModel::getNextWorkflowPending() const +{ + return mContext->hasNextWorkflowPending(); +} + + void WorkflowModel::setInitialPluginType() { const GeneralSettings& settings = Env::getSingleton()->getGeneralSettings(); diff --git a/src/ui/qml/WorkflowModel.h b/src/ui/qml/WorkflowModel.h index 339824343..368f3764b 100644 --- a/src/ui/qml/WorkflowModel.h +++ b/src/ui/qml/WorkflowModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the authentication action. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -29,6 +29,7 @@ class WorkflowModel Q_PROPERTY(ReaderManagerPlugInType readerPlugInType READ getReaderPlugInType WRITE setReaderPlugInType NOTIFY fireReaderPlugInTypeChanged) Q_PROPERTY(bool isBasicReader READ isBasicReader NOTIFY fireIsBasicReaderChanged) Q_PROPERTY(QString readerImage MEMBER mReaderImage NOTIFY fireReaderImageChanged) + Q_PROPERTY(bool hasNextWorkflowPending READ getNextWorkflowPending NOTIFY fireNextWorkflowPendingChanged) private: friend class ::test_WorkflowModel; @@ -52,6 +53,8 @@ class WorkflowModel bool isBasicReader(); + bool getNextWorkflowPending() const; + Q_INVOKABLE void startWorkflow(); Q_INVOKABLE void cancelWorkflow(); Q_INVOKABLE void cancelWorkflowOnPinBlocked(); @@ -70,6 +73,7 @@ class WorkflowModel void fireReaderPlugInTypeChanged(); void fireIsBasicReaderChanged(); void fireReaderImageChanged(); + void fireNextWorkflowPendingChanged(); }; diff --git a/src/ui/websocket/UIPlugInWebSocket.cpp b/src/ui/websocket/UIPlugInWebSocket.cpp index 268d5e926..14282c59b 100644 --- a/src/ui/websocket/UIPlugInWebSocket.cpp +++ b/src/ui/websocket/UIPlugInWebSocket.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInWebSocket.h" diff --git a/src/ui/websocket/UIPlugInWebSocket.h b/src/ui/websocket/UIPlugInWebSocket.h index 9c23bf4be..d483f7a90 100644 --- a/src/ui/websocket/UIPlugInWebSocket.h +++ b/src/ui/websocket/UIPlugInWebSocket.h @@ -1,7 +1,7 @@ /*! * \brief UIPlugIn implementation of the Websocket. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/AboutDialog.cpp b/src/ui/widget/AboutDialog.cpp index 3d2a805a9..ef4770776 100644 --- a/src/ui/widget/AboutDialog.cpp +++ b/src/ui/widget/AboutDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "AboutDialog.h" diff --git a/src/ui/widget/AboutDialog.h b/src/ui/widget/AboutDialog.h index beeebb902..37d219803 100644 --- a/src/ui/widget/AboutDialog.h +++ b/src/ui/widget/AboutDialog.h @@ -1,7 +1,7 @@ /*! * \brief Dialog to display information about the application * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/AppQtGui.cpp b/src/ui/widget/AppQtGui.cpp index b436aa180..77bb6360f 100644 --- a/src/ui/widget/AppQtGui.cpp +++ b/src/ui/widget/AppQtGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AppQtGui.h" diff --git a/src/ui/widget/AppQtGui.h b/src/ui/widget/AppQtGui.h index eb1698df4..74260579f 100644 --- a/src/ui/widget/AppQtGui.h +++ b/src/ui/widget/AppQtGui.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/AppQtMainWidget.cpp b/src/ui/widget/AppQtMainWidget.cpp index 223f7e4c1..b1cf0890b 100644 --- a/src/ui/widget/AppQtMainWidget.cpp +++ b/src/ui/widget/AppQtMainWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AppQtMainWidget.h" @@ -518,21 +518,21 @@ void AppQtMainWidget::onChangePinButtonClicked() void AppQtMainWidget::onQuestionActionClicked() { - QString link = tr("https://www.ausweisapp.bund.de/en/service/haeufig-gestellte-fragen/"); + QString link = tr("https://www.ausweisapp.bund.de/en/qa/frequently-asked-questions/"); QDesktopServices::openUrl(QUrl(link)); } void AppQtMainWidget::onSendErrorActionClicked() { - QString link = tr("https://www.ausweisapp.bund.de/en/feedback/melden-sie-einen-fehler/"); + QString link = tr("https://www.ausweisapp.bund.de/en/qa/report-an-error/"); QDesktopServices::openUrl(QUrl(link)); } void AppQtMainWidget::onEvaluateActionClicked() { - QString link = tr("https://www.ausweisapp.bund.de/en/feedback/bewerten-sie-uns/"); + QString link = tr("https://www.ausweisapp.bund.de/en/qa/evaluate-us/"); QDesktopServices::openUrl(QUrl(link)); } diff --git a/src/ui/widget/AppQtMainWidget.h b/src/ui/widget/AppQtMainWidget.h index 5910d1d46..5cec676e4 100644 --- a/src/ui/widget/AppQtMainWidget.h +++ b/src/ui/widget/AppQtMainWidget.h @@ -1,7 +1,7 @@ /*! * \brief Main class for the top level main widget * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/AppStartPage.cpp b/src/ui/widget/AppStartPage.cpp index e59099b4d..aae4f73ac 100644 --- a/src/ui/widget/AppStartPage.cpp +++ b/src/ui/widget/AppStartPage.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AppStartPage.h" diff --git a/src/ui/widget/AppStartPage.h b/src/ui/widget/AppStartPage.h index 9a73de31a..e361338fa 100644 --- a/src/ui/widget/AppStartPage.h +++ b/src/ui/widget/AppStartPage.h @@ -1,7 +1,7 @@ /*! * \brief Main page widget. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/CredentialDialog.cpp b/src/ui/widget/CredentialDialog.cpp index 4587702a7..00cb06d71 100644 --- a/src/ui/widget/CredentialDialog.cpp +++ b/src/ui/widget/CredentialDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CredentialDialog.h" diff --git a/src/ui/widget/CredentialDialog.h b/src/ui/widget/CredentialDialog.h index e51681495..01818c6f1 100644 --- a/src/ui/widget/CredentialDialog.h +++ b/src/ui/widget/CredentialDialog.h @@ -1,7 +1,7 @@ /*! * \brief Show a dialog to fill in proxy credentials. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DeleteHistoryDialog.cpp b/src/ui/widget/DeleteHistoryDialog.cpp index 4d6d46476..8f39c06d3 100644 --- a/src/ui/widget/DeleteHistoryDialog.cpp +++ b/src/ui/widget/DeleteHistoryDialog.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DeleteHistoryDialog.h" diff --git a/src/ui/widget/DeleteHistoryDialog.h b/src/ui/widget/DeleteHistoryDialog.h index adab48e72..56af2846b 100644 --- a/src/ui/widget/DeleteHistoryDialog.h +++ b/src/ui/widget/DeleteHistoryDialog.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DetailDialog.cpp b/src/ui/widget/DetailDialog.cpp index 254add24a..4adafb973 100644 --- a/src/ui/widget/DetailDialog.cpp +++ b/src/ui/widget/DetailDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DetailDialog.h" diff --git a/src/ui/widget/DetailDialog.h b/src/ui/widget/DetailDialog.h index 717409593..053d1551b 100644 --- a/src/ui/widget/DetailDialog.h +++ b/src/ui/widget/DetailDialog.h @@ -1,7 +1,7 @@ /*! * \brief Detail dialog for certificate description * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DetailWidget.cpp b/src/ui/widget/DetailWidget.cpp index 4849a549a..ce950594e 100644 --- a/src/ui/widget/DetailWidget.cpp +++ b/src/ui/widget/DetailWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DetailWidget.h" diff --git a/src/ui/widget/DetailWidget.h b/src/ui/widget/DetailWidget.h index 3575ae9e0..c67e5a74f 100644 --- a/src/ui/widget/DetailWidget.h +++ b/src/ui/widget/DetailWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for cvc description. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DeveloperModeHistoryWidget.cpp b/src/ui/widget/DeveloperModeHistoryWidget.cpp index 1b4ada204..bb5787839 100644 --- a/src/ui/widget/DeveloperModeHistoryWidget.cpp +++ b/src/ui/widget/DeveloperModeHistoryWidget.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "DeveloperModeHistoryWidget.h" diff --git a/src/ui/widget/DeveloperModeHistoryWidget.h b/src/ui/widget/DeveloperModeHistoryWidget.h index cd623aad3..6b2c1f0d7 100644 --- a/src/ui/widget/DeveloperModeHistoryWidget.h +++ b/src/ui/widget/DeveloperModeHistoryWidget.h @@ -1,7 +1,7 @@ /*! * \brief A Widget to display developer mode errors which occurred * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DeveloperSettingsWidget.cpp b/src/ui/widget/DeveloperSettingsWidget.cpp index 4ffa0fe29..1f533bc38 100644 --- a/src/ui/widget/DeveloperSettingsWidget.cpp +++ b/src/ui/widget/DeveloperSettingsWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "DeveloperSettingsWidget.h" diff --git a/src/ui/widget/DeveloperSettingsWidget.h b/src/ui/widget/DeveloperSettingsWidget.h index 7b7731926..45017b989 100644 --- a/src/ui/widget/DeveloperSettingsWidget.h +++ b/src/ui/widget/DeveloperSettingsWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for the developer settings. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DiagnosisDialog.cpp b/src/ui/widget/DiagnosisDialog.cpp index 5938a093d..17dafd064 100644 --- a/src/ui/widget/DiagnosisDialog.cpp +++ b/src/ui/widget/DiagnosisDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisDialog.h" diff --git a/src/ui/widget/DiagnosisDialog.h b/src/ui/widget/DiagnosisDialog.h index ea4ce9348..6e066031f 100644 --- a/src/ui/widget/DiagnosisDialog.h +++ b/src/ui/widget/DiagnosisDialog.h @@ -1,7 +1,7 @@ /*! * \brief Dialog for display the diagnosis information. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/DiagnosisGui.cpp b/src/ui/widget/DiagnosisGui.cpp index 9e8bf2ce5..cfd3f4807 100644 --- a/src/ui/widget/DiagnosisGui.cpp +++ b/src/ui/widget/DiagnosisGui.cpp @@ -1,10 +1,9 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisGui.h" - #include "controller/DiagnosisController.h" using namespace governikus; diff --git a/src/ui/widget/DiagnosisGui.h b/src/ui/widget/DiagnosisGui.h index f9da3e611..6871749ec 100644 --- a/src/ui/widget/DiagnosisGui.h +++ b/src/ui/widget/DiagnosisGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt widget based DiagnosisUi implementation. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/GeneralSettingsWidget.cpp b/src/ui/widget/GeneralSettingsWidget.cpp index 93a26f697..a34d9f1fe 100644 --- a/src/ui/widget/GeneralSettingsWidget.cpp +++ b/src/ui/widget/GeneralSettingsWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "GeneralSettingsWidget.h" diff --git a/src/ui/widget/GeneralSettingsWidget.h b/src/ui/widget/GeneralSettingsWidget.h index 46d98d12d..942d688f8 100644 --- a/src/ui/widget/GeneralSettingsWidget.h +++ b/src/ui/widget/GeneralSettingsWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for the general settings. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/HistoryDetailWidget.cpp b/src/ui/widget/HistoryDetailWidget.cpp index f8abc1c8c..f3f8b6ac3 100644 --- a/src/ui/widget/HistoryDetailWidget.cpp +++ b/src/ui/widget/HistoryDetailWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "HistoryDetailWidget.h" diff --git a/src/ui/widget/HistoryDetailWidget.h b/src/ui/widget/HistoryDetailWidget.h index 82e5c9232..8c8b3f7d9 100644 --- a/src/ui/widget/HistoryDetailWidget.h +++ b/src/ui/widget/HistoryDetailWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for history item. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/HistoryWidget.cpp b/src/ui/widget/HistoryWidget.cpp index 4f00c73f6..3fa21fec3 100644 --- a/src/ui/widget/HistoryWidget.cpp +++ b/src/ui/widget/HistoryWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "HistoryWidget.h" @@ -170,7 +170,7 @@ void HistoryWidget::updateTable() } mUi->historyTableWidget->resizeRowsToContents(); - mUi->historyTableWidget->sortByColumn(dateColumn); // Sort by date + mUi->historyTableWidget->sortByColumn(dateColumn, Qt::AscendingOrder); // Sort by date } diff --git a/src/ui/widget/HistoryWidget.h b/src/ui/widget/HistoryWidget.h index bf1a78392..b3e063e7f 100644 --- a/src/ui/widget/HistoryWidget.h +++ b/src/ui/widget/HistoryWidget.h @@ -1,7 +1,7 @@ /*! * \brief Show history entries. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/LogFileSaveDialog.cpp b/src/ui/widget/LogFileSaveDialog.cpp index ac27bd452..fa8042b5c 100644 --- a/src/ui/widget/LogFileSaveDialog.cpp +++ b/src/ui/widget/LogFileSaveDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "Env.h" @@ -16,13 +16,21 @@ Q_DECLARE_LOGGING_CATEGORY(gui) using namespace governikus; +QString LogFileSaveDialog::generateLogFilename(const QString& pSource) +{ + const QDateTime creationDateTime = pSource.isEmpty() ? Env::getSingleton()->getCurrentLogfileDate() : LogHandler::getFileDate(pSource); + const QString filename = QStringLiteral("%1.%2.log").arg(QCoreApplication::applicationName(), creationDateTime.toString(QStringLiteral("yyyy-MM-dd_HH-mm"))); + + return filename; +} + + QString LogFileSaveDialog::getSaveFileName(QWidget* pParent, const QString& pSource) { Q_ASSERT(mFileDialog.isNull()); const QString caption(QCoreApplication::applicationName() + QStringLiteral(" - ") + tr("Save")); - const QDateTime creationDateTime = pSource.isEmpty() ? Env::getSingleton()->getCurrentLogfileDate() : LogHandler::getFileDate(pSource); - const QString filename = QStringLiteral("AusweisApp2.%1.log").arg(creationDateTime.toString(QStringLiteral("yyyy-MM-dd_HH-mm"))); + const QString filename = generateLogFilename(pSource); const QString directory = QDir::homePath() + QLatin1Char('/') + filename; const QString filter = QStringLiteral("*.log"); @@ -41,37 +49,53 @@ void LogFileSaveDialog::saveLogFile(QWidget* pParent, const QString& pSource) Q_ASSERT(pParent != nullptr); QString filename = getSaveFileName(pParent, pSource); - if (!filename.isEmpty()) // if user does not select "cancel" + + if (!filename.isEmpty()) + { + saveLogFileToFilename(pParent, filename, pSource); + } +} + + +bool LogFileSaveDialog::saveLogFileToFilename(QWidget* pParent, const QString& pFilename, const QString& pSource) +{ + if (pFilename.isEmpty()) { - if (!filename.endsWith(QLatin1String(".log"), Qt::CaseSensitivity::CaseInsensitive) - && !filename.endsWith(QLatin1String(".txt"), Qt::CaseSensitivity::CaseInsensitive)) - { - filename += QStringLiteral(".log"); - } - - qCDebug(gui) << "File location:" << filename; - - if (QFile::exists(filename)) - { - const bool deleted = QFile::remove(filename); - qCDebug(gui) << "Delete file location:" << deleted; - } - - const bool copied = pSource.isEmpty() ? Env::getSingleton()->copy(filename) : QFile::copy(pSource, filename); - qCDebug(gui) << "Copy log to file location:" << copied; - if (!copied) - { - QMessageBox box(pParent); - box.setWindowTitle(QApplication::applicationName() + QStringLiteral(" - ") + tr("File error")); - box.setWindowModality(Qt::ApplicationModal); - box.setIcon(QMessageBox::Warning); - box.setWindowFlags(box.windowFlags() & ~Qt::WindowContextHelpButtonHint); - box.setText(tr("An error occurred while saving the file.")); - box.setStandardButtons(QMessageBox::Ok); - box.button(QMessageBox::Ok)->setFocus(); - box.exec(); - } + return false; } + + QString filename(pFilename); + + if (!filename.endsWith(QLatin1String(".log"), Qt::CaseSensitivity::CaseInsensitive) + && !filename.endsWith(QLatin1String(".txt"), Qt::CaseSensitivity::CaseInsensitive)) + { + filename += QStringLiteral(".log"); + } + + qCDebug(gui) << "File location:" << filename; + + if (QFile::exists(filename)) + { + const bool deleted = QFile::remove(filename); + qCDebug(gui) << "Delete file location:" << deleted; + } + + const bool copied = pSource.isEmpty() ? Env::getSingleton()->copy(filename) : QFile::copy(pSource, filename); + qCDebug(gui) << "Copy log to file location:" << copied; + if (!copied) + { + QMessageBox box(pParent); + box.setWindowTitle(QApplication::applicationName() + QStringLiteral(" - ") + tr("File error")); + box.setWindowModality(Qt::ApplicationModal); + box.setIcon(QMessageBox::Warning); + box.setWindowFlags(box.windowFlags() & ~Qt::WindowContextHelpButtonHint); + box.setText(tr("An error occurred while saving the file:") + QStringLiteral("\n\"%1\"").arg(filename)); + box.setStandardButtons(QMessageBox::Ok); + box.button(QMessageBox::Ok)->setFocus(); + box.exec(); + } + + return copied; } diff --git a/src/ui/widget/LogFileSaveDialog.h b/src/ui/widget/LogFileSaveDialog.h index 8f8d2992a..d6aa981af 100644 --- a/src/ui/widget/LogFileSaveDialog.h +++ b/src/ui/widget/LogFileSaveDialog.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -23,6 +23,8 @@ class LogFileSaveDialog public: void saveLogFile(QWidget* pParent, const QString& pSource = QString()); + bool saveLogFileToFilename(QWidget* pParent, const QString& pFilename, const QString& pSource = QString()); + static QString generateLogFilename(const QString& pSource = QString()); void closeActiveDialogs(); }; diff --git a/src/ui/widget/LogFilesDialog.cpp b/src/ui/widget/LogFilesDialog.cpp index d725ecf1a..6bb06118a 100644 --- a/src/ui/widget/LogFilesDialog.cpp +++ b/src/ui/widget/LogFilesDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "LogFilesDialog.h" diff --git a/src/ui/widget/LogFilesDialog.h b/src/ui/widget/LogFilesDialog.h index 8fb5192ad..ebed48200 100644 --- a/src/ui/widget/LogFilesDialog.h +++ b/src/ui/widget/LogFilesDialog.h @@ -1,7 +1,7 @@ /*! * \brief Dialog for display the old log files. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/PinSettingsInfoWidget.cpp b/src/ui/widget/PinSettingsInfoWidget.cpp index 50a04c6ff..742b59129 100644 --- a/src/ui/widget/PinSettingsInfoWidget.cpp +++ b/src/ui/widget/PinSettingsInfoWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PinSettingsInfoWidget.h" diff --git a/src/ui/widget/PinSettingsInfoWidget.h b/src/ui/widget/PinSettingsInfoWidget.h index 356a58865..52fdb0088 100644 --- a/src/ui/widget/PinSettingsInfoWidget.h +++ b/src/ui/widget/PinSettingsInfoWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for PIN settings information. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/PinSettingsWidget.cpp b/src/ui/widget/PinSettingsWidget.cpp index f542982bc..331a298be 100644 --- a/src/ui/widget/PinSettingsWidget.cpp +++ b/src/ui/widget/PinSettingsWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PinSettingsWidget.h" @@ -558,6 +558,7 @@ void PinSettingsWidget::setUserInputEnabled(bool pEnabled) mUi->oldRandomPinButton->setEnabled(pEnabled); mUi->newRandomPinButton->setEnabled(pEnabled); mUi->repeatNewRandomPinButton->setEnabled(pEnabled); + mUi->pukEdit->setEnabled(pEnabled); } diff --git a/src/ui/widget/PinSettingsWidget.h b/src/ui/widget/PinSettingsWidget.h index 7dc851dec..e23bb2039 100644 --- a/src/ui/widget/PinSettingsWidget.h +++ b/src/ui/widget/PinSettingsWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for the PIN settings. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/PinSettingsWidget.ui b/src/ui/widget/PinSettingsWidget.ui index 56ae84b46..0e4d29987 100644 --- a/src/ui/widget/PinSettingsWidget.ui +++ b/src/ui/widget/PinSettingsWidget.ui @@ -317,9 +317,6 @@ Please note that you can only use the PUK to unblock the eID function. If you ha <h4>No card reader detected. Please make sure that a card reader is connected.</h4> <p>If you need help or have problems with your card reader click on the "Diagnosis" button for further information. </p> -<p>Please note: It is currently not possible to change your PIN whilst using your smartphone as a card reader. -However, you can change your PIN on your smartphone directly as long as the remote service is disabled. -</p> </html> diff --git a/src/ui/widget/ProviderWidget.cpp b/src/ui/widget/ProviderWidget.cpp index 16e0cd162..866ad64b5 100644 --- a/src/ui/widget/ProviderWidget.cpp +++ b/src/ui/widget/ProviderWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderWidget.h" diff --git a/src/ui/widget/ProviderWidget.h b/src/ui/widget/ProviderWidget.h index 187ab2d4c..043b2d42b 100644 --- a/src/ui/widget/ProviderWidget.h +++ b/src/ui/widget/ProviderWidget.h @@ -1,7 +1,7 @@ /*! * \brief The provider page in gui. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/RandomPinDialog.cpp b/src/ui/widget/RandomPinDialog.cpp index f127050f5..dfdb17001 100644 --- a/src/ui/widget/RandomPinDialog.cpp +++ b/src/ui/widget/RandomPinDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "RandomPinDialog.h" diff --git a/src/ui/widget/RandomPinDialog.h b/src/ui/widget/RandomPinDialog.h index a3993c873..2232bccbe 100644 --- a/src/ui/widget/RandomPinDialog.h +++ b/src/ui/widget/RandomPinDialog.h @@ -1,7 +1,7 @@ /*! * \brief Dialog for display the random PIN. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/ReaderDeviceDialog.cpp b/src/ui/widget/ReaderDeviceDialog.cpp index 595e5e233..ef3f5b81d 100644 --- a/src/ui/widget/ReaderDeviceDialog.cpp +++ b/src/ui/widget/ReaderDeviceDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDeviceDialog.h" diff --git a/src/ui/widget/ReaderDeviceDialog.h b/src/ui/widget/ReaderDeviceDialog.h index cc18bfbb9..b1f1f726f 100644 --- a/src/ui/widget/ReaderDeviceDialog.h +++ b/src/ui/widget/ReaderDeviceDialog.h @@ -2,7 +2,7 @@ * \brief Dialog for detecting attached card readers or available * remote card readers. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/ReaderDeviceGui.cpp b/src/ui/widget/ReaderDeviceGui.cpp index 171e23b30..fa04c474c 100644 --- a/src/ui/widget/ReaderDeviceGui.cpp +++ b/src/ui/widget/ReaderDeviceGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDeviceGui.h" diff --git a/src/ui/widget/ReaderDeviceGui.h b/src/ui/widget/ReaderDeviceGui.h index f5cc48f13..b212a8541 100644 --- a/src/ui/widget/ReaderDeviceGui.h +++ b/src/ui/widget/ReaderDeviceGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt widget based ReaderDriverUi implementation. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/ReaderDeviceWidget.cpp b/src/ui/widget/ReaderDeviceWidget.cpp index d3ef52e36..2697c68fa 100644 --- a/src/ui/widget/ReaderDeviceWidget.cpp +++ b/src/ui/widget/ReaderDeviceWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDeviceWidget.h" @@ -253,7 +253,11 @@ void ReaderDeviceWidget::onAdjustReaderNameColumnWidth() const QFontMetrics metrics(QGuiApplication::font()); for (const auto& info : infos) { +#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + const int deviceNameWidth = metrics.horizontalAdvance(info.getName()); +#else const int deviceNameWidth = metrics.width(info.getName()); +#endif if (deviceNameWidth > maxWidth) { maxWidth = deviceNameWidth; diff --git a/src/ui/widget/ReaderDeviceWidget.h b/src/ui/widget/ReaderDeviceWidget.h index 91d0e84c5..90358385d 100644 --- a/src/ui/widget/ReaderDeviceWidget.h +++ b/src/ui/widget/ReaderDeviceWidget.h @@ -2,7 +2,7 @@ * \brief Widget for detecting attached card readers and * suggesting an appropriate driver to be installed. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/ReaderDeviceWidget.ui b/src/ui/widget/ReaderDeviceWidget.ui index 3af32a49d..1633e2a2e 100644 --- a/src/ui/widget/ReaderDeviceWidget.ui +++ b/src/ui/widget/ReaderDeviceWidget.ui @@ -106,7 +106,7 @@ QFrame::StyledPanel - QFrame::Plain + QFrame::Sunken @@ -259,7 +259,7 @@ QFrame::StyledPanel - QFrame::Plain + QFrame::Sunken diff --git a/src/ui/widget/ReaderDriverModel.cpp b/src/ui/widget/ReaderDriverModel.cpp index c2efbb9e3..89d3a9370 100644 --- a/src/ui/widget/ReaderDriverModel.cpp +++ b/src/ui/widget/ReaderDriverModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDriverModel.h" diff --git a/src/ui/widget/ReaderDriverModel.h b/src/ui/widget/ReaderDriverModel.h index caf15da41..d983760cc 100644 --- a/src/ui/widget/ReaderDriverModel.h +++ b/src/ui/widget/ReaderDriverModel.h @@ -1,7 +1,7 @@ /*! * \brief Model implementation for the reader driver table * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/RemotePinInputDialog.cpp b/src/ui/widget/RemotePinInputDialog.cpp index f84caa543..a45c849a6 100644 --- a/src/ui/widget/RemotePinInputDialog.cpp +++ b/src/ui/widget/RemotePinInputDialog.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemotePinInputDialog.h" diff --git a/src/ui/widget/RemotePinInputDialog.h b/src/ui/widget/RemotePinInputDialog.h index b3e85afed..e0a5c1ae2 100644 --- a/src/ui/widget/RemotePinInputDialog.h +++ b/src/ui/widget/RemotePinInputDialog.h @@ -1,7 +1,7 @@ /*! * \brief Dialog for PIN input for device pairing. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/SelfInformationWidget.cpp b/src/ui/widget/SelfInformationWidget.cpp index f49e35285..bdbefbdcd 100644 --- a/src/ui/widget/SelfInformationWidget.cpp +++ b/src/ui/widget/SelfInformationWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfInformationWidget.h" diff --git a/src/ui/widget/SelfInformationWidget.h b/src/ui/widget/SelfInformationWidget.h index 22895a479..5c4fa8e2c 100644 --- a/src/ui/widget/SelfInformationWidget.h +++ b/src/ui/widget/SelfInformationWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for starting the self information workflow. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/SettingsWidget.cpp b/src/ui/widget/SettingsWidget.cpp index e2ecbb658..66cdd92ce 100644 --- a/src/ui/widget/SettingsWidget.cpp +++ b/src/ui/widget/SettingsWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SettingsWidget.h" diff --git a/src/ui/widget/SettingsWidget.h b/src/ui/widget/SettingsWidget.h index 906841a89..85c74f520 100644 --- a/src/ui/widget/SettingsWidget.h +++ b/src/ui/widget/SettingsWidget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for the settings. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/SetupAssistantGui.cpp b/src/ui/widget/SetupAssistantGui.cpp index 5a20bc2e2..a2af51ef8 100644 --- a/src/ui/widget/SetupAssistantGui.cpp +++ b/src/ui/widget/SetupAssistantGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "SetupAssistantGui.h" diff --git a/src/ui/widget/SetupAssistantGui.h b/src/ui/widget/SetupAssistantGui.h index 26226c4eb..08db637ba 100644 --- a/src/ui/widget/SetupAssistantGui.h +++ b/src/ui/widget/SetupAssistantGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt widget based SetupAssistantUi implementation. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/SetupAssistantWizard.cpp b/src/ui/widget/SetupAssistantWizard.cpp index a8280d583..756a94d9a 100644 --- a/src/ui/widget/SetupAssistantWizard.cpp +++ b/src/ui/widget/SetupAssistantWizard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SetupAssistantWizard.h" diff --git a/src/ui/widget/SetupAssistantWizard.h b/src/ui/widget/SetupAssistantWizard.h index dfc32d8c2..d3572c9ee 100644 --- a/src/ui/widget/SetupAssistantWizard.h +++ b/src/ui/widget/SetupAssistantWizard.h @@ -1,7 +1,7 @@ /*! * \brief Setup assistant wizard before application startup. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/UIPlugInWidgets.cpp b/src/ui/widget/UIPlugInWidgets.cpp index 38ae98862..e754288bf 100644 --- a/src/ui/widget/UIPlugInWidgets.cpp +++ b/src/ui/widget/UIPlugInWidgets.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInWidgets.h" diff --git a/src/ui/widget/UIPlugInWidgets.h b/src/ui/widget/UIPlugInWidgets.h index 9c2d850d8..e8628c70f 100644 --- a/src/ui/widget/UIPlugInWidgets.h +++ b/src/ui/widget/UIPlugInWidgets.h @@ -1,7 +1,7 @@ /*! * \brief QWidgets implementation of UIPlugIn. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/UpdateWindow.cpp b/src/ui/widget/UpdateWindow.cpp index 7d3b61617..462102bdb 100644 --- a/src/ui/widget/UpdateWindow.cpp +++ b/src/ui/widget/UpdateWindow.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "UpdateWindow.h" diff --git a/src/ui/widget/UpdateWindow.h b/src/ui/widget/UpdateWindow.h index 251a3682f..0b2ba2f7c 100644 --- a/src/ui/widget/UpdateWindow.h +++ b/src/ui/widget/UpdateWindow.h @@ -1,7 +1,7 @@ /*! * \brief Window for application updates * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/BusyOverlay.cpp b/src/ui/widget/generic/BusyOverlay.cpp index 4199d89b9..bbfec4637 100644 --- a/src/ui/widget/generic/BusyOverlay.cpp +++ b/src/ui/widget/generic/BusyOverlay.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "BusyOverlay.h" diff --git a/src/ui/widget/generic/BusyOverlay.h b/src/ui/widget/generic/BusyOverlay.h index b1cdf22c0..14bbc3b9b 100644 --- a/src/ui/widget/generic/BusyOverlay.h +++ b/src/ui/widget/generic/BusyOverlay.h @@ -1,7 +1,7 @@ /*! * \brief Widget for the settings. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/BusyOverlayContainer.cpp b/src/ui/widget/generic/BusyOverlayContainer.cpp index 273574ab8..3e42ce921 100644 --- a/src/ui/widget/generic/BusyOverlayContainer.cpp +++ b/src/ui/widget/generic/BusyOverlayContainer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "BusyOverlayContainer.h" diff --git a/src/ui/widget/generic/BusyOverlayContainer.h b/src/ui/widget/generic/BusyOverlayContainer.h index c3b588bca..4ebf70b3a 100644 --- a/src/ui/widget/generic/BusyOverlayContainer.h +++ b/src/ui/widget/generic/BusyOverlayContainer.h @@ -1,7 +1,7 @@ /*! * \brief An overlay to show a busy indicator. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ButtonState.h b/src/ui/widget/generic/ButtonState.h index 90bc6f13b..599255bcd 100644 --- a/src/ui/widget/generic/ButtonState.h +++ b/src/ui/widget/generic/ButtonState.h @@ -1,7 +1,7 @@ /*! * \brief Defines the ButtonState enum. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ExclusiveButtonGroup.cpp b/src/ui/widget/generic/ExclusiveButtonGroup.cpp index 17503a40c..0ac32935e 100644 --- a/src/ui/widget/generic/ExclusiveButtonGroup.cpp +++ b/src/ui/widget/generic/ExclusiveButtonGroup.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ExclusiveButtonGroup.h" diff --git a/src/ui/widget/generic/ExclusiveButtonGroup.h b/src/ui/widget/generic/ExclusiveButtonGroup.h index 302cab499..5957f61c5 100644 --- a/src/ui/widget/generic/ExclusiveButtonGroup.h +++ b/src/ui/widget/generic/ExclusiveButtonGroup.h @@ -4,7 +4,7 @@ * Bug in Qt 5.2.1: Buttons in a QButtonGroup cannot be navigated via the Tab key. This * class provides a work-around for simple cases. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/GuiModule.h b/src/ui/widget/generic/GuiModule.h index ecf540eca..585397bc6 100644 --- a/src/ui/widget/generic/GuiModule.h +++ b/src/ui/widget/generic/GuiModule.h @@ -1,7 +1,7 @@ /*! * \brief Defines the GuiModule enum. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/GuiUtils.cpp b/src/ui/widget/generic/GuiUtils.cpp index c9bc40ccb..6408a8874 100644 --- a/src/ui/widget/generic/GuiUtils.cpp +++ b/src/ui/widget/generic/GuiUtils.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "GuiUtils.h" diff --git a/src/ui/widget/generic/GuiUtils.h b/src/ui/widget/generic/GuiUtils.h index 12c5f9aec..0c62b452b 100644 --- a/src/ui/widget/generic/GuiUtils.h +++ b/src/ui/widget/generic/GuiUtils.h @@ -1,7 +1,7 @@ /*! * \brief Gui utility functions. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ListCheckItemWidget.cpp b/src/ui/widget/generic/ListCheckItemWidget.cpp index 2dab1e568..d60a73c31 100644 --- a/src/ui/widget/generic/ListCheckItemWidget.cpp +++ b/src/ui/widget/generic/ListCheckItemWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ListCheckItemWidget.h" diff --git a/src/ui/widget/generic/ListCheckItemWidget.h b/src/ui/widget/generic/ListCheckItemWidget.h index 5e057273c..c044ea562 100644 --- a/src/ui/widget/generic/ListCheckItemWidget.h +++ b/src/ui/widget/generic/ListCheckItemWidget.h @@ -1,7 +1,7 @@ /*! * \brief List item widget for list actions. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ListItem.cpp b/src/ui/widget/generic/ListItem.cpp index e7cf66677..9e3a49eb6 100644 --- a/src/ui/widget/generic/ListItem.cpp +++ b/src/ui/widget/generic/ListItem.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ListItem.h" diff --git a/src/ui/widget/generic/ListItem.h b/src/ui/widget/generic/ListItem.h index 13c46336b..ef0cc2ee4 100644 --- a/src/ui/widget/generic/ListItem.h +++ b/src/ui/widget/generic/ListItem.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ListItemIconLeft.cpp b/src/ui/widget/generic/ListItemIconLeft.cpp index d0952f925..624339310 100644 --- a/src/ui/widget/generic/ListItemIconLeft.cpp +++ b/src/ui/widget/generic/ListItemIconLeft.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ListItemIconLeft.h" diff --git a/src/ui/widget/generic/ListItemIconLeft.h b/src/ui/widget/generic/ListItemIconLeft.h index 1d074e469..a47545214 100644 --- a/src/ui/widget/generic/ListItemIconLeft.h +++ b/src/ui/widget/generic/ListItemIconLeft.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ListItemIconRight.cpp b/src/ui/widget/generic/ListItemIconRight.cpp index a0d570972..644ffee74 100644 --- a/src/ui/widget/generic/ListItemIconRight.cpp +++ b/src/ui/widget/generic/ListItemIconRight.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ListItemIconRight.h" diff --git a/src/ui/widget/generic/ListItemIconRight.h b/src/ui/widget/generic/ListItemIconRight.h index bd169fa8d..0dab030bb 100644 --- a/src/ui/widget/generic/ListItemIconRight.h +++ b/src/ui/widget/generic/ListItemIconRight.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ListItemSubTitle.cpp b/src/ui/widget/generic/ListItemSubTitle.cpp index d6d2db26a..883cfd8a5 100644 --- a/src/ui/widget/generic/ListItemSubTitle.cpp +++ b/src/ui/widget/generic/ListItemSubTitle.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ListItemSubTitle.h" diff --git a/src/ui/widget/generic/ListItemSubTitle.h b/src/ui/widget/generic/ListItemSubTitle.h index 61701157e..b24fb80bd 100644 --- a/src/ui/widget/generic/ListItemSubTitle.h +++ b/src/ui/widget/generic/ListItemSubTitle.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/ListItemTitle.cpp b/src/ui/widget/generic/ListItemTitle.cpp index 93b93366a..5e987fec5 100644 --- a/src/ui/widget/generic/ListItemTitle.cpp +++ b/src/ui/widget/generic/ListItemTitle.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ListItemTitle.h" diff --git a/src/ui/widget/generic/ListItemTitle.h b/src/ui/widget/generic/ListItemTitle.h index c5d98e2d4..e19bad886 100644 --- a/src/ui/widget/generic/ListItemTitle.h +++ b/src/ui/widget/generic/ListItemTitle.h @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/PasswordEdit.cpp b/src/ui/widget/generic/PasswordEdit.cpp index a82007e22..726c1dacc 100644 --- a/src/ui/widget/generic/PasswordEdit.cpp +++ b/src/ui/widget/generic/PasswordEdit.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ @@ -76,13 +76,21 @@ int PasswordEdit::determindeWidth(int pNumChars) // get the display text for a password of length pWidth lineEdit->setText(QString(pNumChars, QLatin1Char('6'))); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + const int displayTextWidth = lineEdit->fontMetrics().horizontalAdvance(lineEdit->displayText()); +#else const int displayTextWidth = lineEdit->fontMetrics().width(lineEdit->displayText()); +#endif // in QLineEdit::sizeHint() the width is calculated as // 17th times the size of 'x' plus some magic margins. // So we calculate this margin by subtraction to set the content size correctly. const int widthHint = lineEdit->sizeHint().width(); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)) + const int margin = widthHint - 17 * lineEdit->fontMetrics().horizontalAdvance(QLatin1Char('x')); +#else const int margin = widthHint - 17 * lineEdit->fontMetrics().width(QLatin1Char('x')); +#endif return margin + displayTextWidth; } diff --git a/src/ui/widget/generic/PasswordEdit.h b/src/ui/widget/generic/PasswordEdit.h index e16de24f0..50756b3c9 100644 --- a/src/ui/widget/generic/PasswordEdit.h +++ b/src/ui/widget/generic/PasswordEdit.h @@ -1,7 +1,7 @@ /*! * \brief Widget for entering a password that uses the password echo mode. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/generic/TabButtonGroup.cpp b/src/ui/widget/generic/TabButtonGroup.cpp index 4e20412fd..237656012 100644 --- a/src/ui/widget/generic/TabButtonGroup.cpp +++ b/src/ui/widget/generic/TabButtonGroup.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TabButtonGroup.h" @@ -126,7 +126,8 @@ bool TabButtonGroup::eventFilter(QObject* pWatched, QEvent* pEvent) case Qt::Key_Up: next = false; - // fall through + Q_FALLTHROUGH(); + case Qt::Key_Left: case Qt::Key_Right: case Qt::Key_Down: diff --git a/src/ui/widget/generic/TabButtonGroup.h b/src/ui/widget/generic/TabButtonGroup.h index a0713cbbb..a3be62c2e 100644 --- a/src/ui/widget/generic/TabButtonGroup.h +++ b/src/ui/widget/generic/TabButtonGroup.h @@ -3,7 +3,7 @@ * * The other classes defined in this header are implementation private. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/AuthenticateStepsWidget.cpp b/src/ui/widget/step/AuthenticateStepsWidget.cpp index 72a822e55..8ec3893f1 100644 --- a/src/ui/widget/step/AuthenticateStepsWidget.cpp +++ b/src/ui/widget/step/AuthenticateStepsWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "AuthenticateStepsWidget.h" diff --git a/src/ui/widget/step/AuthenticateStepsWidget.h b/src/ui/widget/step/AuthenticateStepsWidget.h index a65fc3cd6..3b319b99d 100644 --- a/src/ui/widget/step/AuthenticateStepsWidget.h +++ b/src/ui/widget/step/AuthenticateStepsWidget.h @@ -1,7 +1,7 @@ /*! * \brief A stacked widget containing the widgets for the authentication steps. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/SelfInfoWidget.cpp b/src/ui/widget/step/SelfInfoWidget.cpp index 05bf624eb..9a8de1975 100644 --- a/src/ui/widget/step/SelfInfoWidget.cpp +++ b/src/ui/widget/step/SelfInfoWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfInfoWidget.h" diff --git a/src/ui/widget/step/SelfInfoWidget.h b/src/ui/widget/step/SelfInfoWidget.h index a013128ed..ab04fb4c0 100644 --- a/src/ui/widget/step/SelfInfoWidget.h +++ b/src/ui/widget/step/SelfInfoWidget.h @@ -1,7 +1,7 @@ /*! * \brief A widget displaying the card data retrieved in the self info workflow. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepAdviseUserToRemoveCardGui.cpp b/src/ui/widget/step/StepAdviseUserToRemoveCardGui.cpp index 443ba0697..bcad1425b 100644 --- a/src/ui/widget/step/StepAdviseUserToRemoveCardGui.cpp +++ b/src/ui/widget/step/StepAdviseUserToRemoveCardGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepAdviseUserToRemoveCardGui.h" diff --git a/src/ui/widget/step/StepAdviseUserToRemoveCardGui.h b/src/ui/widget/step/StepAdviseUserToRemoveCardGui.h index f8674cbb9..e770e6939 100644 --- a/src/ui/widget/step/StepAdviseUserToRemoveCardGui.h +++ b/src/ui/widget/step/StepAdviseUserToRemoveCardGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt UI for the advise user to remove card step. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepAuthenticationDoneGui.cpp b/src/ui/widget/step/StepAuthenticationDoneGui.cpp index a082a9cc7..0839cd863 100644 --- a/src/ui/widget/step/StepAuthenticationDoneGui.cpp +++ b/src/ui/widget/step/StepAuthenticationDoneGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepAuthenticationDoneGui.h" diff --git a/src/ui/widget/step/StepAuthenticationDoneGui.h b/src/ui/widget/step/StepAuthenticationDoneGui.h index 49ae60388..ce5fbabe1 100644 --- a/src/ui/widget/step/StepAuthenticationDoneGui.h +++ b/src/ui/widget/step/StepAuthenticationDoneGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt UI for the authentication done step. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepAuthenticationEac1Gui.cpp b/src/ui/widget/step/StepAuthenticationEac1Gui.cpp index c91e77881..4a8124b03 100644 --- a/src/ui/widget/step/StepAuthenticationEac1Gui.cpp +++ b/src/ui/widget/step/StepAuthenticationEac1Gui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepAuthenticationEac1Gui.h" diff --git a/src/ui/widget/step/StepAuthenticationEac1Gui.h b/src/ui/widget/step/StepAuthenticationEac1Gui.h index 1dbc64aa5..63ece51a0 100644 --- a/src/ui/widget/step/StepAuthenticationEac1Gui.h +++ b/src/ui/widget/step/StepAuthenticationEac1Gui.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepAuthenticationEac1Widget.cpp b/src/ui/widget/step/StepAuthenticationEac1Widget.cpp index 08f051535..38bdd805d 100644 --- a/src/ui/widget/step/StepAuthenticationEac1Widget.cpp +++ b/src/ui/widget/step/StepAuthenticationEac1Widget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepAuthenticationEac1Widget.h" diff --git a/src/ui/widget/step/StepAuthenticationEac1Widget.h b/src/ui/widget/step/StepAuthenticationEac1Widget.h index 42ab2152d..2fe2bc2e5 100644 --- a/src/ui/widget/step/StepAuthenticationEac1Widget.h +++ b/src/ui/widget/step/StepAuthenticationEac1Widget.h @@ -1,7 +1,7 @@ /*! * \brief Widget for the desktop StepAuthenticationEac1Gui. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepChooseCardGui.cpp b/src/ui/widget/step/StepChooseCardGui.cpp index 5dc62b8fe..1f7c24189 100644 --- a/src/ui/widget/step/StepChooseCardGui.cpp +++ b/src/ui/widget/step/StepChooseCardGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepChooseCardGui.h" diff --git a/src/ui/widget/step/StepChooseCardGui.h b/src/ui/widget/step/StepChooseCardGui.h index e33b12024..4ae884fd2 100644 --- a/src/ui/widget/step/StepChooseCardGui.h +++ b/src/ui/widget/step/StepChooseCardGui.h @@ -1,7 +1,7 @@ /*! * \brief GUI to select reader/card. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepErrorGui.cpp b/src/ui/widget/step/StepErrorGui.cpp index 2d1a88215..976991677 100644 --- a/src/ui/widget/step/StepErrorGui.cpp +++ b/src/ui/widget/step/StepErrorGui.cpp @@ -1,14 +1,19 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepErrorGui.h" #include "AppQtMainWidget.h" +#include "BuildHelper.h" +#include "EnumHelper.h" +#include "Env.h" #include "generic/GuiUtils.h" #include "LogFileSaveDialog.h" +#include "LogHandler.h" #include +#include #include #include @@ -71,11 +76,16 @@ void StepErrorGui::reportError() if (mMessageBox.isNull()) { mMessageBox = QPointer(new QMessageBox(mMainWidget)); - QPushButton* saveLogButton = nullptr; + QPushButton* sendEmailButton = nullptr; + if (mContext->getStatus().is(GlobalStatus::Code::Card_Unexpected_Transmit_Status) || mContext->getStatus().isMessageMasked()) { - saveLogButton = mMessageBox->addButton(tr("Save Log"), QMessageBox::HelpRole); + if (Env::getSingleton()->useLogfile()) + { + saveLogButton = mMessageBox->addButton(tr("Save Log"), QMessageBox::HelpRole); + } + sendEmailButton = mMessageBox->addButton(tr("Send email"), QMessageBox::HelpRole); } mMessageBox->setWindowTitle(QApplication::applicationName() + QStringLiteral(" - ") + tr("Error")); mMessageBox->setWindowModality(Qt::ApplicationModal); @@ -91,8 +101,18 @@ void StepErrorGui::reportError() { LogFileSaveDialog().saveLogFile(mMessageBox); } + else if (mMessageBox->clickedButton() == sendEmailButton) + { + const GlobalStatus status = mContext->getStatus(); + //: Subject from error report mail + QString mailSubject = tr("AusweisApp2 error report - %1").arg(status.toErrorDescription()); + QString mailBody = generateMailBody(status); + QString url = QStringLiteral("mailto:support@ausweisapp.de?subject=%1&body=%2").arg(mailSubject, mailBody); + + QDesktopServices::openUrl(url); + } } - while (mMessageBox->clickedButton() == saveLogButton); + while (mMessageBox->clickedButton() == saveLogButton || mMessageBox->clickedButton() == sendEmailButton); } Q_EMIT fireUiFinished(); @@ -112,3 +132,41 @@ void StepErrorGui::closeActiveDialogs() mMessageBox->reject(); } } + + +QString StepErrorGui::generateMailBody(const GlobalStatus& pStatus) const +{ + const auto& logHandler = Env::getSingleton(); + QStringList mailBody(tr("Please describe the error that occurred.")); + + if (logHandler->useLogfile()) + { + mailBody << tr("You may want to attach the logfile which can be saved from the error dialog."); + } + + const QString newLine = QStringLiteral("\n"); + mailBody << newLine; + + const auto& systemInfo = BuildHelper::getInformationHeader(); + for (const auto& info : systemInfo) + { + QString first = info.first; + QString second = info.second; + + first.replace(QStringLiteral("&"), QStringLiteral("%26")); + second.replace(QStringLiteral("&"), QStringLiteral("%26")); + + mailBody << first + QStringLiteral(": ") + second; + } + + mailBody << newLine + tr("Error code") + QLatin1Char(':'); + mailBody << getEnumName(pStatus.getStatusCode()); + + if (logHandler->hasCriticalLog()) + { + const QString criticalMessages = QString::fromUtf8(logHandler->getCriticalLogWindow()); + mailBody << newLine + tr("Critical errors:") + newLine + criticalMessages; + } + + return mailBody.join(newLine); +} diff --git a/src/ui/widget/step/StepErrorGui.h b/src/ui/widget/step/StepErrorGui.h index fad95793f..d8089279a 100644 --- a/src/ui/widget/step/StepErrorGui.h +++ b/src/ui/widget/step/StepErrorGui.h @@ -1,7 +1,7 @@ /*! * \brief GUI for step "Error". * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once @@ -35,6 +35,7 @@ class StepErrorGui QSharedPointer mContext; AppQtMainWidget* const mMainWidget; QPointer mMessageBox; + QString generateMailBody(const GlobalStatus& pStatus) const; Q_SIGNALS: void switchedToPinSettings(); diff --git a/src/ui/widget/step/StepGui.cpp b/src/ui/widget/step/StepGui.cpp index ba4353e57..f539dac92 100644 --- a/src/ui/widget/step/StepGui.cpp +++ b/src/ui/widget/step/StepGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepGui.h" diff --git a/src/ui/widget/step/StepGui.h b/src/ui/widget/step/StepGui.h index 291ca8fd0..9fbd8606f 100644 --- a/src/ui/widget/step/StepGui.h +++ b/src/ui/widget/step/StepGui.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepProcessingGui.cpp b/src/ui/widget/step/StepProcessingGui.cpp index 592e339d2..94b28a8e4 100644 --- a/src/ui/widget/step/StepProcessingGui.cpp +++ b/src/ui/widget/step/StepProcessingGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepProcessingGui.h" diff --git a/src/ui/widget/step/StepProcessingGui.h b/src/ui/widget/step/StepProcessingGui.h index 937e0f1ed..e32218d73 100644 --- a/src/ui/widget/step/StepProcessingGui.h +++ b/src/ui/widget/step/StepProcessingGui.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/step/StepShowSelfAuthenticationDataGui.cpp b/src/ui/widget/step/StepShowSelfAuthenticationDataGui.cpp index f55480e3a..202ec9b60 100644 --- a/src/ui/widget/step/StepShowSelfAuthenticationDataGui.cpp +++ b/src/ui/widget/step/StepShowSelfAuthenticationDataGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "StepShowSelfAuthenticationDataGui.h" diff --git a/src/ui/widget/step/StepShowSelfAuthenticationDataGui.h b/src/ui/widget/step/StepShowSelfAuthenticationDataGui.h index 6b9df7f32..831b708f2 100644 --- a/src/ui/widget/step/StepShowSelfAuthenticationDataGui.h +++ b/src/ui/widget/step/StepShowSelfAuthenticationDataGui.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/GenericWorkflowGui.h b/src/ui/widget/workflow/GenericWorkflowGui.h index 33160693f..f5ca88273 100644 --- a/src/ui/widget/workflow/GenericWorkflowGui.h +++ b/src/ui/widget/workflow/GenericWorkflowGui.h @@ -1,7 +1,7 @@ /*! * \brief Generic base class for Qt based WorkflowUi implementations. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/WorkflowAuthenticateQtGui.cpp b/src/ui/widget/workflow/WorkflowAuthenticateQtGui.cpp index cd97785d0..3c8215b1d 100644 --- a/src/ui/widget/workflow/WorkflowAuthenticateQtGui.cpp +++ b/src/ui/widget/workflow/WorkflowAuthenticateQtGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowAuthenticateQtGui.h" diff --git a/src/ui/widget/workflow/WorkflowAuthenticateQtGui.h b/src/ui/widget/workflow/WorkflowAuthenticateQtGui.h index af0daa914..98b5f51e6 100644 --- a/src/ui/widget/workflow/WorkflowAuthenticateQtGui.h +++ b/src/ui/widget/workflow/WorkflowAuthenticateQtGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt widget based WorkflowAuthenticateUi implementation. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/WorkflowChangePinQtGui.cpp b/src/ui/widget/workflow/WorkflowChangePinQtGui.cpp index ecf8806ab..676f78f21 100644 --- a/src/ui/widget/workflow/WorkflowChangePinQtGui.cpp +++ b/src/ui/widget/workflow/WorkflowChangePinQtGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowChangePinQtGui.h" diff --git a/src/ui/widget/workflow/WorkflowChangePinQtGui.h b/src/ui/widget/workflow/WorkflowChangePinQtGui.h index 79bf0b3b9..edfa3c45c 100644 --- a/src/ui/widget/workflow/WorkflowChangePinQtGui.h +++ b/src/ui/widget/workflow/WorkflowChangePinQtGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt widget based WorkflowChangePinUi implementation. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/WorkflowGui.cpp b/src/ui/widget/workflow/WorkflowGui.cpp index 78bd1d3d9..6e35813ad 100644 --- a/src/ui/widget/workflow/WorkflowGui.cpp +++ b/src/ui/widget/workflow/WorkflowGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowGui.h" diff --git a/src/ui/widget/workflow/WorkflowGui.h b/src/ui/widget/workflow/WorkflowGui.h index 8767aa25e..7df9c81a7 100644 --- a/src/ui/widget/workflow/WorkflowGui.h +++ b/src/ui/widget/workflow/WorkflowGui.h @@ -1,7 +1,7 @@ /*! * \brief Base class for Qt based WorkflowUi implementations. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/WorkflowQtWidget.cpp b/src/ui/widget/workflow/WorkflowQtWidget.cpp index 1a0aa7ef4..124f8757f 100644 --- a/src/ui/widget/workflow/WorkflowQtWidget.cpp +++ b/src/ui/widget/workflow/WorkflowQtWidget.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowQtWidget.h" diff --git a/src/ui/widget/workflow/WorkflowQtWidget.h b/src/ui/widget/workflow/WorkflowQtWidget.h index a2bafd623..ad379dde4 100644 --- a/src/ui/widget/workflow/WorkflowQtWidget.h +++ b/src/ui/widget/workflow/WorkflowQtWidget.h @@ -1,7 +1,7 @@ /*! * \brief Base class for workflow Qt GUI widgets. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/WorkflowSelfInfoQtGui.cpp b/src/ui/widget/workflow/WorkflowSelfInfoQtGui.cpp index e9ef92540..11e8606ea 100644 --- a/src/ui/widget/workflow/WorkflowSelfInfoQtGui.cpp +++ b/src/ui/widget/workflow/WorkflowSelfInfoQtGui.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowSelfInfoQtGui.h" diff --git a/src/ui/widget/workflow/WorkflowSelfInfoQtGui.h b/src/ui/widget/workflow/WorkflowSelfInfoQtGui.h index 31a390aaf..87f939364 100644 --- a/src/ui/widget/workflow/WorkflowSelfInfoQtGui.h +++ b/src/ui/widget/workflow/WorkflowSelfInfoQtGui.h @@ -1,7 +1,7 @@ /*! * \brief Qt widget based WorkflowSelfInfoUi implementation. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/ui/widget/workflow/WorkflowWidgetParent.h b/src/ui/widget/workflow/WorkflowWidgetParent.h index 9bbeeaac7..0396b6214 100644 --- a/src/ui/widget/workflow/WorkflowWidgetParent.h +++ b/src/ui/widget/workflow/WorkflowWidgetParent.h @@ -2,7 +2,7 @@ * \brief Enum identifying the containers in the application GUI which can be * parent to a workflow widget. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/whitelist_client/Survey.cpp b/src/whitelist_client/Survey.cpp index a49408d86..9f9226a0e 100644 --- a/src/whitelist_client/Survey.cpp +++ b/src/whitelist_client/Survey.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "Survey.h" diff --git a/src/whitelist_client/Survey.h b/src/whitelist_client/Survey.h index 71def0e9c..a550fd37a 100644 --- a/src/whitelist_client/Survey.h +++ b/src/whitelist_client/Survey.h @@ -2,7 +2,7 @@ * \brief Class holding information about an Android device to be sent to * the whitelist server. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/src/whitelist_client/SurveyHandler.cpp b/src/whitelist_client/SurveyHandler.cpp index a414ee1a2..7e2de16cb 100644 --- a/src/whitelist_client/SurveyHandler.cpp +++ b/src/whitelist_client/SurveyHandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "SurveyHandler.h" diff --git a/src/whitelist_client/SurveyHandler.h b/src/whitelist_client/SurveyHandler.h index 94ccc8733..b3b747c7d 100644 --- a/src/whitelist_client/SurveyHandler.h +++ b/src/whitelist_client/SurveyHandler.h @@ -2,7 +2,7 @@ * \brief Class holding information about an Android device to be sent to * the whitelist server. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/fixture/core/diagnosis/antivir_one_antivirus.txt b/test/fixture/core/diagnosis/antivir_one_antivirus.txt new file mode 100644 index 000000000..0ed47290d --- /dev/null +++ b/test/fixture/core/diagnosis/antivir_one_antivirus.txt @@ -0,0 +1,19 @@ + +__GENUS : 2 +__CLASS : AntiVirusProduct +__SUPERCLASS : +__DYNASTY : AntiVirusProduct +__RELPATH : AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E44-DA132C1ACF46}" +__PROPERTY_COUNT : 6 +__DERIVATION : {} +__SERVER : DESKTOP-DGTBB4H +__NAMESPACE : ROOT\SecurityCenter2 +__PATH : \\DESKTOP-DGTBB4H\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E + 44-DA132C1ACF46}" +displayName : Windows Defender +instanceGuid : {D68DDC3A-831F-4fae-9E44-DA132C1ACF46} +pathToSignedProductExe : windowsdefender:// +pathToSignedReportingExe : %ProgramFiles%\Windows Defender\MsMpeng.exe +productState : 393472 +timestamp : Mon, 26 Nov 2018 10:34:23 GMT +PSComputerName : DESKTOP-DGTBB4H diff --git a/test/fixture/core/diagnosis/antivir_one_antivirus_missing_timestamp.txt b/test/fixture/core/diagnosis/antivir_one_antivirus_missing_timestamp.txt new file mode 100644 index 000000000..9d1cb9a7a --- /dev/null +++ b/test/fixture/core/diagnosis/antivir_one_antivirus_missing_timestamp.txt @@ -0,0 +1,19 @@ + +__GENUS : 2 +__CLASS : AntiVirusProduct +__SUPERCLASS : +__DYNASTY : AntiVirusProduct +__RELPATH : AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E44-DA132C1ACF46}" +__PROPERTY_COUNT : 6 +__DERIVATION : {} +__SERVER : DESKTOP-DGTBB4H +__NAMESPACE : ROOT\SecurityCenter2 +__PATH : \\DESKTOP-DGTBB4H\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E + 44-DA132C1ACF46}" +displayName : Windows Defender +instanceGuid : {D68DDC3A-831F-4fae-9E44-DA132C1ACF46} +pathToSignedProductExe : windowsdefender:// +pathToSignedReportingExe : %ProgramFiles%\Windows Defender\MsMpeng.exe +productState : 393472 +timestamp : +PSComputerName : DESKTOP-DGTBB4H diff --git a/test/fixture/core/diagnosis/antivir_two_antivirus.txt b/test/fixture/core/diagnosis/antivir_two_antivirus.txt new file mode 100644 index 000000000..7dc2ea58b --- /dev/null +++ b/test/fixture/core/diagnosis/antivir_two_antivirus.txt @@ -0,0 +1,38 @@ + +__GENUS : 2 +__CLASS : AntiVirusProduct +__SUPERCLASS : +__DYNASTY : AntiVirusProduct +__RELPATH : AntiVirusProduct.instanceGuid="{13E9CAA5-762A-794E-2DA9-245D5622A105}" +__PROPERTY_COUNT : 6 +__DERIVATION : {} +__SERVER : DESKTOP-DGTBB4H +__NAMESPACE : ROOT\SecurityCenter2 +__PATH : \\DESKTOP-DGTBB4H\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{13E9CAA5-762A-794E-2D + A9-245D5622A105}" +displayName : BullGuard Antivirus +instanceGuid : {13E9CAA5-762A-794E-2DA9-245D5622A105} +pathToSignedProductExe : C:\Program Files\BullGuard Ltd\BullGuard\BullGuard.exe +pathToSignedReportingExe : C:\Program Files\BullGuard Ltd\BullGuard\BgWsc.exe +productState : 266240 +timestamp : Fri, 30 Nov 2018 15:04:13 GMT +PSComputerName : DESKTOP-DGTBB4H + +__GENUS : 2 +__CLASS : AntiVirusProduct +__SUPERCLASS : +__DYNASTY : AntiVirusProduct +__RELPATH : AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E44-DA132C1ACF46}" +__PROPERTY_COUNT : 6 +__DERIVATION : {} +__SERVER : DESKTOP-DGTBB4H +__NAMESPACE : ROOT\SecurityCenter2 +__PATH : \\DESKTOP-DGTBB4H\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E + 44-DA132C1ACF46}" +displayName : Windows Defender +instanceGuid : {D68DDC3A-831F-4fae-9E44-DA132C1ACF46} +pathToSignedProductExe : windowsdefender:// +pathToSignedReportingExe : %ProgramFiles%\Windows Defender\MsMpeng.exe +productState : 393472 +timestamp : Mon, 26 Nov 2018 10:34:23 GMT +PSComputerName : DESKTOP-DGTBB4H diff --git a/test/fixture/core/diagnosis/antivir_two_broken_antivirus.txt b/test/fixture/core/diagnosis/antivir_two_broken_antivirus.txt new file mode 100644 index 000000000..150194b3e --- /dev/null +++ b/test/fixture/core/diagnosis/antivir_two_broken_antivirus.txt @@ -0,0 +1,34 @@ + +__GENUS : 2 +__CLASS : AntiVirusProduct +__SUPERCLASS : +__DYNASTY : AntiVirusProduct +__RELPATH : AntiVirusProduct.instanceGuid="{13E9CAA5-762A-794E-2DA9-245D5622A105}" +__PROPERTY_COUNT : 6 +__DERIVATION : {} +__SERVER : DESKTOP-DGTBB4H +__NAMESPACE : ROOT\SecurityCenter2 +__PATH : \\DESKTOP-DGTBB4H\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{13E9CAA5-762A-794E-2D + A9-245D5622A105}" +displayName : BullGuard Antivirus +instanceGuid : {13E9CAA5-762A-794E-2DA9-245D5622A105} +productState : 266240 +timestamp : Fri, 30 Nov 2018 15:04:13 GMT +PSComputerName : DESKTOP-DGTBB4H + +__GENUS : 2 +__CLASS : AntiVirusProduct +__SUPERCLASS : +__DYNASTY : AntiVirusProduct +__RELPATH : AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E44-DA132C1ACF46}" +__PROPERTY_COUNT : 6 +__DERIVATION : {} +__SERVER : DESKTOP-DGTBB4H +__NAMESPACE : ROOT\SecurityCenter2 +__PATH : \\DESKTOP-DGTBB4H\ROOT\SecurityCenter2:AntiVirusProduct.instanceGuid="{D68DDC3A-831F-4fae-9E + 44-DA132C1ACF46}" +instanceGuid : {D68DDC3A-831F-4fae-9E44-DA132C1ACF46} +pathToSignedProductExe : windowsdefender:// +pathToSignedReportingExe : %ProgramFiles%\Windows Defender\MsMpeng.exe +productState : 393472 +PSComputerName : DESKTOP-DGTBB4H diff --git a/test/fixture/fixture.qrc b/test/fixture/fixture.qrc index 5248394fd..25f2a9b2b 100644 --- a/test/fixture/fixture.qrc +++ b/test/fixture/fixture.qrc @@ -3,6 +3,13 @@ core/invalid.keysize.rsa.der core/invalid.keysize.dsa.der core/invalid.keysize.ec.der + + + core/diagnosis/antivir_one_antivirus.txt + core/diagnosis/antivir_one_antivirus_missing_timestamp.txt + core/diagnosis/antivir_two_broken_antivirus.txt + core/diagnosis/antivir_two_antivirus.txt + core/step/2014_07_03_cvcDescription0.bin core/step/2014_07_03_cvcDescription1.bin core/step/2014_07_03_cvcDescription2.bin diff --git a/test/helper/CliHelper.cpp b/test/helper/CliHelper.cpp index 494cc6985..11363445f 100644 --- a/test/helper/CliHelper.cpp +++ b/test/helper/CliHelper.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CliHelper.h" diff --git a/test/helper/CliHelper.h b/test/helper/CliHelper.h index fe38818c1..d0483a6dd 100644 --- a/test/helper/CliHelper.h +++ b/test/helper/CliHelper.h @@ -1,7 +1,7 @@ /*! * \brief Helper to test app via CliPlugIn. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockActivationContext.cpp b/test/helper/MockActivationContext.cpp index 2212b5dad..6489e9b68 100644 --- a/test/helper/MockActivationContext.cpp +++ b/test/helper/MockActivationContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MockActivationContext.h" diff --git a/test/helper/MockActivationContext.h b/test/helper/MockActivationContext.h index 15b29228c..a2b7a2d33 100644 --- a/test/helper/MockActivationContext.h +++ b/test/helper/MockActivationContext.h @@ -1,7 +1,7 @@ /*! * \brief Mocked ActivationContext for unit tests. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockCard.cpp b/test/helper/MockCard.cpp index e17336e49..2299682e8 100644 --- a/test/helper/MockCard.cpp +++ b/test/helper/MockCard.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MockCard.h" diff --git a/test/helper/MockCard.h b/test/helper/MockCard.h index 4e651cec1..7f67b876a 100644 --- a/test/helper/MockCard.h +++ b/test/helper/MockCard.h @@ -1,7 +1,7 @@ /*! * \brief Card mock for tests * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockCardConnectionWorker.cpp b/test/helper/MockCardConnectionWorker.cpp index 2060413d8..bea5abbbb 100644 --- a/test/helper/MockCardConnectionWorker.cpp +++ b/test/helper/MockCardConnectionWorker.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "MockCardConnectionWorker.h" diff --git a/test/helper/MockCardConnectionWorker.h b/test/helper/MockCardConnectionWorker.h index 65171e74d..a28c3e891 100644 --- a/test/helper/MockCardConnectionWorker.h +++ b/test/helper/MockCardConnectionWorker.h @@ -1,7 +1,7 @@ /*! * \brief CardConnectionWorker mock for tests * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockDataChannel.cpp b/test/helper/MockDataChannel.cpp index 1bfa72a8d..39e611316 100644 --- a/test/helper/MockDataChannel.cpp +++ b/test/helper/MockDataChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "MockDataChannel.h" diff --git a/test/helper/MockDataChannel.h b/test/helper/MockDataChannel.h index 1dfd0f8c9..f2068eced 100644 --- a/test/helper/MockDataChannel.h +++ b/test/helper/MockDataChannel.h @@ -1,7 +1,7 @@ /*! * \brief Data channel mock for tests. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockDownloader.cpp b/test/helper/MockDownloader.cpp index dd4087fb5..f84df9e70 100644 --- a/test/helper/MockDownloader.cpp +++ b/test/helper/MockDownloader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "MockDownloader.h" diff --git a/test/helper/MockDownloader.h b/test/helper/MockDownloader.h index 02fe85501..165a6262f 100644 --- a/test/helper/MockDownloader.h +++ b/test/helper/MockDownloader.h @@ -1,7 +1,7 @@ /*! * \brief MockDownloader of class Downloader, part of \ref Updater and \ref UpdatableFile tests * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/test/helper/MockHttpServer.cpp b/test/helper/MockHttpServer.cpp index 4995b7c57..97cf114ba 100644 --- a/test/helper/MockHttpServer.cpp +++ b/test/helper/MockHttpServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MockHttpServer.h" diff --git a/test/helper/MockHttpServer.h b/test/helper/MockHttpServer.h index a75847a02..7091e8664 100644 --- a/test/helper/MockHttpServer.h +++ b/test/helper/MockHttpServer.h @@ -1,7 +1,7 @@ /*! * \brief Provide a HTTP-Server for tests * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockNetworkManager.cpp b/test/helper/MockNetworkManager.cpp index e5b708cd7..859aca3ed 100644 --- a/test/helper/MockNetworkManager.cpp +++ b/test/helper/MockNetworkManager.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "MockNetworkManager.h" diff --git a/test/helper/MockNetworkManager.h b/test/helper/MockNetworkManager.h index 7ea852d40..dc47d0864 100644 --- a/test/helper/MockNetworkManager.h +++ b/test/helper/MockNetworkManager.h @@ -1,7 +1,7 @@ /*! * \brief Mock \ref NetworkManager for tests * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockNetworkReply.cpp b/test/helper/MockNetworkReply.cpp index 382cff718..beca6b5ec 100644 --- a/test/helper/MockNetworkReply.cpp +++ b/test/helper/MockNetworkReply.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "MockNetworkReply.h" diff --git a/test/helper/MockNetworkReply.h b/test/helper/MockNetworkReply.h index c362d3c0b..bfc068bef 100644 --- a/test/helper/MockNetworkReply.h +++ b/test/helper/MockNetworkReply.h @@ -1,7 +1,7 @@ /*! * \brief Mock a QNetworkReply for tests. * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockReader.cpp b/test/helper/MockReader.cpp index 62492c2be..a2ea2eac0 100644 --- a/test/helper/MockReader.cpp +++ b/test/helper/MockReader.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MockReader.h" diff --git a/test/helper/MockReader.h b/test/helper/MockReader.h index 76a8eefb8..1599de145 100644 --- a/test/helper/MockReader.h +++ b/test/helper/MockReader.h @@ -1,7 +1,7 @@ /*! * \brief Reader mock for tests * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockReaderConfiguration.cpp b/test/helper/MockReaderConfiguration.cpp index c6aff4c01..1fc4b3287 100644 --- a/test/helper/MockReaderConfiguration.cpp +++ b/test/helper/MockReaderConfiguration.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "MockReaderConfiguration.h" diff --git a/test/helper/MockReaderConfiguration.h b/test/helper/MockReaderConfiguration.h index 261bf4898..d3db62864 100644 --- a/test/helper/MockReaderConfiguration.h +++ b/test/helper/MockReaderConfiguration.h @@ -1,7 +1,7 @@ /*! * \brief ReaderConfigurationFile mock for tests * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockReaderDetector.cpp b/test/helper/MockReaderDetector.cpp index c11449342..5a2506ed1 100644 --- a/test/helper/MockReaderDetector.cpp +++ b/test/helper/MockReaderDetector.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "MockReaderDetector.h" diff --git a/test/helper/MockReaderDetector.h b/test/helper/MockReaderDetector.h index 6589cb6a7..32eb92975 100644 --- a/test/helper/MockReaderDetector.h +++ b/test/helper/MockReaderDetector.h @@ -1,7 +1,7 @@ /*! * \brief ReaderDetector mock for tests * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockReaderManagerPlugIn.cpp b/test/helper/MockReaderManagerPlugIn.cpp index 394999ec9..c8e3c9638 100644 --- a/test/helper/MockReaderManagerPlugIn.cpp +++ b/test/helper/MockReaderManagerPlugIn.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/test/helper/MockReaderManagerPlugIn.h b/test/helper/MockReaderManagerPlugIn.h index bc8c81412..d99d960a7 100644 --- a/test/helper/MockReaderManagerPlugIn.h +++ b/test/helper/MockReaderManagerPlugIn.h @@ -1,7 +1,7 @@ /*! * \brief Mock implementation of ReaderManagerPlugIn * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/test/helper/MockRemoteDispatcher.cpp b/test/helper/MockRemoteDispatcher.cpp index 5d84ca4e4..3892f99cd 100644 --- a/test/helper/MockRemoteDispatcher.cpp +++ b/test/helper/MockRemoteDispatcher.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "MockRemoteDispatcher.h" diff --git a/test/helper/MockRemoteDispatcher.h b/test/helper/MockRemoteDispatcher.h index 2d79381b0..dce9313d6 100644 --- a/test/helper/MockRemoteDispatcher.h +++ b/test/helper/MockRemoteDispatcher.h @@ -1,7 +1,7 @@ /*! * \brief Remote dispatcher mock for tests. * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockRemoteServer.cpp b/test/helper/MockRemoteServer.cpp index 2ea16a37e..f6ade750b 100644 --- a/test/helper/MockRemoteServer.cpp +++ b/test/helper/MockRemoteServer.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "MockRemoteServer.h" diff --git a/test/helper/MockRemoteServer.h b/test/helper/MockRemoteServer.h index c0e368681..7ec84645e 100644 --- a/test/helper/MockRemoteServer.h +++ b/test/helper/MockRemoteServer.h @@ -1,7 +1,7 @@ /*! * \brief Provide a RemoteServer for tests * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockSocket.cpp b/test/helper/MockSocket.cpp index 90d2d066b..2258fbb7e 100644 --- a/test/helper/MockSocket.cpp +++ b/test/helper/MockSocket.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MockSocket.h" diff --git a/test/helper/MockSocket.h b/test/helper/MockSocket.h index e0acd68e6..62bbcf066 100644 --- a/test/helper/MockSocket.h +++ b/test/helper/MockSocket.h @@ -1,7 +1,7 @@ /*! * \brief Mock a QAbstractSocket for tests. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockWorkflowAuthenticateUi.h b/test/helper/MockWorkflowAuthenticateUi.h index 79be60f20..c43d7fdc3 100644 --- a/test/helper/MockWorkflowAuthenticateUi.h +++ b/test/helper/MockWorkflowAuthenticateUi.h @@ -1,7 +1,7 @@ /*! * \brief Mock implementation of WorkflowAuthenticateUi. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MockWorkflowChangePinUi.h b/test/helper/MockWorkflowChangePinUi.h index f9d6646ec..93458065f 100644 --- a/test/helper/MockWorkflowChangePinUi.h +++ b/test/helper/MockWorkflowChangePinUi.h @@ -1,7 +1,7 @@ /*! * \brief Mock implementation of WorkflowAuthenticateUi. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/MsgHandlerEnterPassword.cpp b/test/helper/MsgHandlerEnterPassword.cpp index 7706fac29..23f62ad4a 100644 --- a/test/helper/MsgHandlerEnterPassword.cpp +++ b/test/helper/MsgHandlerEnterPassword.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "MsgHandlerEnterPassword.h" diff --git a/test/helper/MsgHandlerEnterPassword.h b/test/helper/MsgHandlerEnterPassword.h index d99ad4355..4ef861d36 100644 --- a/test/helper/MsgHandlerEnterPassword.h +++ b/test/helper/MsgHandlerEnterPassword.h @@ -1,7 +1,7 @@ /*! * \brief Helper static methods for \ref test_MsgHandlerEnterPin, \ref test_MsgHandlerEnterCan and \ref test_MsgHandlerEnterPuk * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/PersoSimController.cpp b/test/helper/PersoSimController.cpp index 88731d031..6e3b83062 100644 --- a/test/helper/PersoSimController.cpp +++ b/test/helper/PersoSimController.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PersoSimController.h" diff --git a/test/helper/PersoSimController.h b/test/helper/PersoSimController.h index 6b1904df4..324af6df6 100644 --- a/test/helper/PersoSimController.h +++ b/test/helper/PersoSimController.h @@ -1,7 +1,7 @@ /*! * \brief Controller for an external PersoSim process. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/TestAuthContext.cpp b/test/helper/TestAuthContext.cpp index e5c7095f1..3bcd1278a 100644 --- a/test/helper/TestAuthContext.cpp +++ b/test/helper/TestAuthContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEac1Parser.h" diff --git a/test/helper/TestAuthContext.h b/test/helper/TestAuthContext.h index d86fe36f5..5e6ada62f 100644 --- a/test/helper/TestAuthContext.h +++ b/test/helper/TestAuthContext.h @@ -1,7 +1,7 @@ /*! * \brief Helper to use AuthContext in an easy way. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/TestFileHelper.cpp b/test/helper/TestFileHelper.cpp index f479e00ab..d1b5bea75 100644 --- a/test/helper/TestFileHelper.cpp +++ b/test/helper/TestFileHelper.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TestFileHelper.h" diff --git a/test/helper/TestFileHelper.h b/test/helper/TestFileHelper.h index 457aecc29..bff805b78 100644 --- a/test/helper/TestFileHelper.h +++ b/test/helper/TestFileHelper.h @@ -1,7 +1,7 @@ /*! * \brief Helper for some file functions. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/helper/WebSocketHelper.cpp b/test/helper/WebSocketHelper.cpp index 27a3f287c..4c14a879f 100644 --- a/test/helper/WebSocketHelper.cpp +++ b/test/helper/WebSocketHelper.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "WebSocketHelper.h" diff --git a/test/helper/WebSocketHelper.h b/test/helper/WebSocketHelper.h index 1c3be7d91..71f9b6221 100644 --- a/test/helper/WebSocketHelper.h +++ b/test/helper/WebSocketHelper.h @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #pragma once diff --git a/test/qml/QmlTestRunner.cpp b/test/qml/QmlTestRunner.cpp index 37f22d42c..467942d2d 100644 --- a/test/qml/QmlTestRunner.cpp +++ b/test/qml/QmlTestRunner.cpp @@ -1,5 +1,5 @@ /* - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ResourceLoader.h" diff --git a/test/qt/activation_webservice/test_Template.cpp b/test/qt/activation_webservice/test_Template.cpp index 10d79473e..f850c7dd6 100644 --- a/test/qt/activation_webservice/test_Template.cpp +++ b/test/qt/activation_webservice/test_Template.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Template * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "Template.h" diff --git a/test/qt/activation_webservice/test_WebserviceActivationContext.cpp b/test/qt/activation_webservice/test_WebserviceActivationContext.cpp index 0fad071e0..a0b7b02fb 100644 --- a/test/qt/activation_webservice/test_WebserviceActivationContext.cpp +++ b/test/qt/activation_webservice/test_WebserviceActivationContext.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref WebserviceActivationContext * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "WebserviceActivationContext.h" diff --git a/test/qt/activation_webservice/test_WebserviceActivationHandler.cpp b/test/qt/activation_webservice/test_WebserviceActivationHandler.cpp index 0d539914c..dd136a3a3 100644 --- a/test/qt/activation_webservice/test_WebserviceActivationHandler.cpp +++ b/test/qt/activation_webservice/test_WebserviceActivationHandler.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref WebserviceActivationHandler * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "WebserviceActivationHandler.h" diff --git a/test/qt/aidl/test_PskManager.cpp b/test/qt/aidl/test_PskManager.cpp index 69b0ed648..ce5a641d8 100644 --- a/test/qt/aidl/test_PskManager.cpp +++ b/test/qt/aidl/test_PskManager.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for PskManager. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "PskManager.h" diff --git a/test/qt/card/asn1/test_AccessRoleAndRight.cpp b/test/qt/card/asn1/test_AccessRoleAndRight.cpp index 30674e17f..6ad2eeb51 100644 --- a/test/qt/card/asn1/test_AccessRoleAndRight.cpp +++ b/test/qt/card/asn1/test_AccessRoleAndRight.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref AccessRoleAndRight * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/AccessRoleAndRight.h" diff --git a/test/qt/card/asn1/test_Asn1BCDDateUtil.cpp b/test/qt/card/asn1/test_Asn1BCDDateUtil.cpp index 5be5c2db8..7149b3d47 100644 --- a/test/qt/card/asn1/test_Asn1BCDDateUtil.cpp +++ b/test/qt/card/asn1/test_Asn1BCDDateUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Asn1BCDDateUtil * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_Asn1IntegerUtil.cpp b/test/qt/card/asn1/test_Asn1IntegerUtil.cpp index 6e623997f..30b2ba00b 100644 --- a/test/qt/card/asn1/test_Asn1IntegerUtil.cpp +++ b/test/qt/card/asn1/test_Asn1IntegerUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Asn1IntegerUtil * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_Asn1ObjectUtil.cpp b/test/qt/card/asn1/test_Asn1ObjectUtil.cpp index bbff1ff9a..0f18440fb 100644 --- a/test/qt/card/asn1/test_Asn1ObjectUtil.cpp +++ b/test/qt/card/asn1/test_Asn1ObjectUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Asn1ObjectUtil * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_Asn1OctetStringUtil.cpp b/test/qt/card/asn1/test_Asn1OctetStringUtil.cpp index fd27bf68f..a6d14fe92 100644 --- a/test/qt/card/asn1/test_Asn1OctetStringUtil.cpp +++ b/test/qt/card/asn1/test_Asn1OctetStringUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Asn1OctetStringUtil * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_Asn1StringUtil.cpp b/test/qt/card/asn1/test_Asn1StringUtil.cpp index e26f9f66b..8b9cda3d5 100644 --- a/test/qt/card/asn1/test_Asn1StringUtil.cpp +++ b/test/qt/card/asn1/test_Asn1StringUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Asn1StringUtil * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_Asn1TypeUtil.cpp b/test/qt/card/asn1/test_Asn1TypeUtil.cpp index e067b3006..8c0aa404d 100644 --- a/test/qt/card/asn1/test_Asn1TypeUtil.cpp +++ b/test/qt/card/asn1/test_Asn1TypeUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Asn1TypeUtil * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_Asn1Util.cpp b/test/qt/card/asn1/test_Asn1Util.cpp index d56487a7a..f56c27090 100644 --- a/test/qt/card/asn1/test_Asn1Util.cpp +++ b/test/qt/card/asn1/test_Asn1Util.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_AuxiliaryAuthenticatedData.cpp b/test/qt/card/asn1/test_AuxiliaryAuthenticatedData.cpp index 9c46fe567..803e3039f 100644 --- a/test/qt/card/asn1/test_AuxiliaryAuthenticatedData.cpp +++ b/test/qt/card/asn1/test_AuxiliaryAuthenticatedData.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref AuxiliaryAuthenticatedData * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_CVCertificate.cpp b/test/qt/card/asn1/test_CVCertificate.cpp index cd9d529d1..a05dd7b05 100644 --- a/test/qt/card/asn1/test_CVCertificate.cpp +++ b/test/qt/card/asn1/test_CVCertificate.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CVCertificate * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/test/qt/card/asn1/test_CVCertificateBody.cpp b/test/qt/card/asn1/test_CVCertificateBody.cpp index 04e223673..81f24b6b1 100644 --- a/test/qt/card/asn1/test_CVCertificateBody.cpp +++ b/test/qt/card/asn1/test_CVCertificateBody.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CVCertificateBody * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_CVCertificateChainBuilder.cpp b/test/qt/card/asn1/test_CVCertificateChainBuilder.cpp index ca93d32e2..fa61a69e1 100644 --- a/test/qt/card/asn1/test_CVCertificateChainBuilder.cpp +++ b/test/qt/card/asn1/test_CVCertificateChainBuilder.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CVCertificateChain * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_CertificateDescription.cpp b/test/qt/card/asn1/test_CertificateDescription.cpp index ca742f642..c31b33e49 100644 --- a/test/qt/card/asn1/test_CertificateDescription.cpp +++ b/test/qt/card/asn1/test_CertificateDescription.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CertificateDescription * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_ChainBuilder.cpp b/test/qt/card/asn1/test_ChainBuilder.cpp index bb61408ec..1242581f9 100644 --- a/test/qt/card/asn1/test_ChainBuilder.cpp +++ b/test/qt/card/asn1/test_ChainBuilder.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ChainBuilder * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_Chat.cpp b/test/qt/card/asn1/test_Chat.cpp index b6a368cb9..5017c5644 100644 --- a/test/qt/card/asn1/test_Chat.cpp +++ b/test/qt/card/asn1/test_Chat.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CHAT * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ASN1Util.h" diff --git a/test/qt/card/asn1/test_ChipAuthenticationInfo.cpp b/test/qt/card/asn1/test_ChipAuthenticationInfo.cpp index 30b9784ee..38f3590a0 100644 --- a/test/qt/card/asn1/test_ChipAuthenticationInfo.cpp +++ b/test/qt/card/asn1/test_ChipAuthenticationInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ChipAuthenticationInfo * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_EcdsaPublicKey.cpp b/test/qt/card/asn1/test_EcdsaPublicKey.cpp index ce8479c61..0b78fd8f3 100644 --- a/test/qt/card/asn1/test_EcdsaPublicKey.cpp +++ b/test/qt/card/asn1/test_EcdsaPublicKey.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref EcdsaPublicKey * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/CVCertificate.h" diff --git a/test/qt/card/asn1/test_KnownOIDs.cpp b/test/qt/card/asn1/test_KnownOIDs.cpp index 59706c547..7c1bdee46 100644 --- a/test/qt/card/asn1/test_KnownOIDs.cpp +++ b/test/qt/card/asn1/test_KnownOIDs.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref KnownOIDs * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/KnownOIDs.h" diff --git a/test/qt/card/asn1/test_PaceInfo.cpp b/test/qt/card/asn1/test_PaceInfo.cpp index a85a61bfd..51ab7d78f 100644 --- a/test/qt/card/asn1/test_PaceInfo.cpp +++ b/test/qt/card/asn1/test_PaceInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PACEInfo * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_SecurityInfo.cpp b/test/qt/card/asn1/test_SecurityInfo.cpp index 1777a7f8d..a236270d8 100644 --- a/test/qt/card/asn1/test_SecurityInfo.cpp +++ b/test/qt/card/asn1/test_SecurityInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref SecurityInfo * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ diff --git a/test/qt/card/asn1/test_SecurityInfos.cpp b/test/qt/card/asn1/test_SecurityInfos.cpp index e602dc705..97c060efe 100644 --- a/test/qt/card/asn1/test_SecurityInfos.cpp +++ b/test/qt/card/asn1/test_SecurityInfos.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref SecurityInfos * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_SignatureChecker.cpp b/test/qt/card/asn1/test_SignatureChecker.cpp index 4d42acb4d..b6703a9a3 100644 --- a/test/qt/card/asn1/test_SignatureChecker.cpp +++ b/test/qt/card/asn1/test_SignatureChecker.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref SignatureChecker * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/asn1/test_efCardAccess.cpp b/test/qt/card/asn1/test_efCardAccess.cpp index 707f53b57..725c766b8 100644 --- a/test/qt/card/asn1/test_efCardAccess.cpp +++ b/test/qt/card/asn1/test_efCardAccess.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/ChipAuthenticationInfo.h" diff --git a/test/qt/card/asn1/test_efCardSecurity.cpp b/test/qt/card/asn1/test_efCardSecurity.cpp index cea0d2a49..1b6ef6944 100644 --- a/test/qt/card/asn1/test_efCardSecurity.cpp +++ b/test/qt/card/asn1/test_efCardSecurity.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/EFCardSecurity.h" diff --git a/test/qt/card/base/command/test_BaseCardCommand.cpp b/test/qt/card/base/command/test_BaseCardCommand.cpp index f198e2a73..4374990ff 100644 --- a/test/qt/card/base/command/test_BaseCardCommand.cpp +++ b/test/qt/card/base/command/test_BaseCardCommand.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref BaseCardCommand * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "command/BaseCardCommand.h" diff --git a/test/qt/card/base/command/test_DestroyPaceChannelCommand.cpp b/test/qt/card/base/command/test_DestroyPaceChannelCommand.cpp index 12a1a6ddb..d6b6d449a 100644 --- a/test/qt/card/base/command/test_DestroyPaceChannelCommand.cpp +++ b/test/qt/card/base/command/test_DestroyPaceChannelCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/DestroyPaceChannelCommand.h" diff --git a/test/qt/card/base/command/test_DidAuthenticateEAC1Command.cpp b/test/qt/card/base/command/test_DidAuthenticateEAC1Command.cpp index 020c2d657..b07e859fe 100644 --- a/test/qt/card/base/command/test_DidAuthenticateEAC1Command.cpp +++ b/test/qt/card/base/command/test_DidAuthenticateEAC1Command.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/DidAuthenticateEAC1Command.h" diff --git a/test/qt/card/base/command/test_EstablishPaceChannelCommand.cpp b/test/qt/card/base/command/test_EstablishPaceChannelCommand.cpp index b4ff885f0..4b7f0fccb 100644 --- a/test/qt/card/base/command/test_EstablishPaceChannelCommand.cpp +++ b/test/qt/card/base/command/test_EstablishPaceChannelCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/EstablishPaceChannelCommand.h" diff --git a/test/qt/card/base/command/test_SetEidPinCommand.cpp b/test/qt/card/base/command/test_SetEidPinCommand.cpp index 36fed52e4..00f4a8c13 100644 --- a/test/qt/card/base/command/test_SetEidPinCommand.cpp +++ b/test/qt/card/base/command/test_SetEidPinCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/SetEidPinCommand.h" diff --git a/test/qt/card/base/command/test_TransmitCommand.cpp b/test/qt/card/base/command/test_TransmitCommand.cpp index ab6d37127..b345c07d5 100644 --- a/test/qt/card/base/command/test_TransmitCommand.cpp +++ b/test/qt/card/base/command/test_TransmitCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/TransmitCommand.h" diff --git a/test/qt/card/base/command/test_UnblockPinCommand.cpp b/test/qt/card/base/command/test_UnblockPinCommand.cpp index 620938bd1..d1bfc3cc0 100644 --- a/test/qt/card/base/command/test_UnblockPinCommand.cpp +++ b/test/qt/card/base/command/test_UnblockPinCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/UnblockPinCommand.h" diff --git a/test/qt/card/base/command/test_UpdRetryCounterCommand.cpp b/test/qt/card/base/command/test_UpdRetryCounterCommand.cpp index 5a06b91f5..cf5149506 100644 --- a/test/qt/card/base/command/test_UpdRetryCounterCommand.cpp +++ b/test/qt/card/base/command/test_UpdRetryCounterCommand.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "command/UpdateRetryCounterCommand.h" diff --git a/test/qt/card/base/test_CardConnection.cpp b/test/qt/card/base/test_CardConnection.cpp index 3b89ea079..d710886d6 100644 --- a/test/qt/card/base/test_CardConnection.cpp +++ b/test/qt/card/base/test_CardConnection.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for the class CardConnection. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "CardConnection.h" diff --git a/test/qt/card/base/test_CardInfo.cpp b/test/qt/card/base/test_CardInfo.cpp index 984dcc806..0071f1d56 100644 --- a/test/qt/card/base/test_CardInfo.cpp +++ b/test/qt/card/base/test_CardInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for \ref CardInfo. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "CardInfo.h" diff --git a/test/qt/card/base/test_CommandApdu.cpp b/test/qt/card/base/test_CommandApdu.cpp index 5efc9a714..5122a5a40 100644 --- a/test/qt/card/base/test_CommandApdu.cpp +++ b/test/qt/card/base/test_CommandApdu.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for the class CommandApdu. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CommandApdu.h" diff --git a/test/qt/card/base/test_Commands.cpp b/test/qt/card/base/test_Commands.cpp index b4559849e..27d918cea 100644 --- a/test/qt/card/base/test_Commands.cpp +++ b/test/qt/card/base/test_Commands.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for the class Commands. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "Commands.h" diff --git a/test/qt/card/base/test_PinModify.cpp b/test/qt/card/base/test_PinModify.cpp index cc9f34cbc..55c178013 100644 --- a/test/qt/card/base/test_PinModify.cpp +++ b/test/qt/card/base/test_PinModify.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/base/test_PinModifyOutput.cpp b/test/qt/card/base/test_PinModifyOutput.cpp index a31c9626e..708ed60cd 100644 --- a/test/qt/card/base/test_PinModifyOutput.cpp +++ b/test/qt/card/base/test_PinModifyOutput.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/base/test_Reader.cpp b/test/qt/card/base/test_Reader.cpp index d8146d752..9b0aa2263 100644 --- a/test/qt/card/base/test_Reader.cpp +++ b/test/qt/card/base/test_Reader.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Reader * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "Reader.h" diff --git a/test/qt/card/base/test_ResponseApdu.cpp b/test/qt/card/base/test_ResponseApdu.cpp index 027c795b5..ffc8577ea 100644 --- a/test/qt/card/base/test_ResponseApdu.cpp +++ b/test/qt/card/base/test_ResponseApdu.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Apdu * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ResponseApdu.h" diff --git a/test/qt/card/bluetooth/test_BluetoothMessage.cpp b/test/qt/card/bluetooth/test_BluetoothMessage.cpp index 44a4a5598..c7c604cc3 100644 --- a/test/qt/card/bluetooth/test_BluetoothMessage.cpp +++ b/test/qt/card/bluetooth/test_BluetoothMessage.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref BluetoothMessage * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessageStatusInd.h" diff --git a/test/qt/card/bluetooth/test_BluetoothMessageParameterCardReaderStatus.cpp b/test/qt/card/bluetooth/test_BluetoothMessageParameterCardReaderStatus.cpp index 10f11b0a7..79a020639 100644 --- a/test/qt/card/bluetooth/test_BluetoothMessageParameterCardReaderStatus.cpp +++ b/test/qt/card/bluetooth/test_BluetoothMessageParameterCardReaderStatus.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref BluetoothMessageParameterCardReaderStatus * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/parameter/BluetoothMessageParameterCardReaderStatus.h" diff --git a/test/qt/card/bluetooth/test_BluetoothMessageParameterMaxMsgSize.cpp b/test/qt/card/bluetooth/test_BluetoothMessageParameterMaxMsgSize.cpp index 9c2cddf18..2aa00a7d7 100644 --- a/test/qt/card/bluetooth/test_BluetoothMessageParameterMaxMsgSize.cpp +++ b/test/qt/card/bluetooth/test_BluetoothMessageParameterMaxMsgSize.cpp @@ -1,6 +1,6 @@ /*! * \brief Unit tests for \ref BluetoothMessageParameterMaxMsgSize * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/parameter/BluetoothMessageParameterMaxMsgSize.h" diff --git a/test/qt/card/bluetooth/test_BluetoothMessageParser.cpp b/test/qt/card/bluetooth/test_BluetoothMessageParser.cpp index 10d772a56..905479dfc 100644 --- a/test/qt/card/bluetooth/test_BluetoothMessageParser.cpp +++ b/test/qt/card/bluetooth/test_BluetoothMessageParser.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref BluetoothMessageParser * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/BluetoothMessageParser.h" diff --git a/test/qt/card/pace/test_CipherMAC.cpp b/test/qt/card/pace/test_CipherMAC.cpp index b3075b3ce..b191b9615 100644 --- a/test/qt/card/pace/test_CipherMAC.cpp +++ b/test/qt/card/pace/test_CipherMAC.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/KnownOIDs.h" diff --git a/test/qt/card/pace/test_EcUtil.cpp b/test/qt/card/pace/test_EcUtil.cpp index 40ce8e87e..ca5a6c90d 100644 --- a/test/qt/card/pace/test_EcUtil.cpp +++ b/test/qt/card/pace/test_EcUtil.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/ec/EcUtil.h" diff --git a/test/qt/card/pace/test_EcdhKeyAgreement.cpp b/test/qt/card/pace/test_EcdhKeyAgreement.cpp index d95e973c1..411a9ce24 100644 --- a/test/qt/card/pace/test_EcdhKeyAgreement.cpp +++ b/test/qt/card/pace/test_EcdhKeyAgreement.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for the EcdhKeyAgreement * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/ec/EcdhKeyAgreement.h" diff --git a/test/qt/card/pace/test_EllipticCurveFactory.cpp b/test/qt/card/pace/test_EllipticCurveFactory.cpp index 0ecd33211..63cfc6450 100644 --- a/test/qt/card/pace/test_EllipticCurveFactory.cpp +++ b/test/qt/card/pace/test_EllipticCurveFactory.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/ec/EllipticCurveFactory.h" diff --git a/test/qt/card/pace/test_KeyDerivationFunction.cpp b/test/qt/card/pace/test_KeyDerivationFunction.cpp index 64ec90708..5a388c879 100644 --- a/test/qt/card/pace/test_KeyDerivationFunction.cpp +++ b/test/qt/card/pace/test_KeyDerivationFunction.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/KnownOIDs.h" diff --git a/test/qt/card/pace/test_PaceHandler.cpp b/test/qt/card/pace/test_PaceHandler.cpp index dda548204..cab6dbced 100644 --- a/test/qt/card/pace/test_PaceHandler.cpp +++ b/test/qt/card/pace/test_PaceHandler.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for the PaceHandler * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "pace/PaceHandler.h" diff --git a/test/qt/card/pace/test_SymmetricCipher.cpp b/test/qt/card/pace/test_SymmetricCipher.cpp index ba1318268..c5ccca108 100644 --- a/test/qt/card/pace/test_SymmetricCipher.cpp +++ b/test/qt/card/pace/test_SymmetricCipher.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/KnownOIDs.h" diff --git a/test/qt/card/pcsc/test_PcscUtils.cpp b/test/qt/card/pcsc/test_PcscUtils.cpp index 079a431c3..f96b11e50 100644 --- a/test/qt/card/pcsc/test_PcscUtils.cpp +++ b/test/qt/card/pcsc/test_PcscUtils.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PcscUtils * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscUtils.h" diff --git a/test/qt/card/pcsc/test_pcscReaderFeature.cpp b/test/qt/card/pcsc/test_pcscReaderFeature.cpp index bd05ef8f8..52475e58c 100644 --- a/test/qt/card/pcsc/test_pcscReaderFeature.cpp +++ b/test/qt/card/pcsc/test_pcscReaderFeature.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PcscReaderFeature * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscReaderFeature.h" diff --git a/test/qt/card/pcsc/test_pcscReaderPaceCapability.cpp b/test/qt/card/pcsc/test_pcscReaderPaceCapability.cpp index 8625d5d74..2c3ffb84e 100644 --- a/test/qt/card/pcsc/test_pcscReaderPaceCapability.cpp +++ b/test/qt/card/pcsc/test_pcscReaderPaceCapability.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PcscReaderPaceCapability * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PcscReaderPaceCapability.h" diff --git a/test/qt/card/test_EstablishPaceChannel.cpp b/test/qt/card/test_EstablishPaceChannel.cpp index 938e54ab4..b7729fd0a 100644 --- a/test/qt/card/test_EstablishPaceChannel.cpp +++ b/test/qt/card/test_EstablishPaceChannel.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for card EstablishPaceChannelBuilder * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/test_EstablishPaceChannelOutput.cpp b/test/qt/card/test_EstablishPaceChannelOutput.cpp index e53fd2678..152d46a36 100644 --- a/test/qt/card/test_EstablishPaceChannelOutput.cpp +++ b/test/qt/card/test_EstablishPaceChannelOutput.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for card EstablishPACEChannelOutput * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/test_EstablishPaceChannelParser.cpp b/test/qt/card/test_EstablishPaceChannelParser.cpp index 18daefb59..fd11d30f1 100644 --- a/test/qt/card/test_EstablishPaceChannelParser.cpp +++ b/test/qt/card/test_EstablishPaceChannelParser.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for \ref EstablishPaceChannelParser * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "EstablishPaceChannelParser.h" diff --git a/test/qt/card/test_GeneralAuthenticateResponse.cpp b/test/qt/card/test_GeneralAuthenticateResponse.cpp index 865728852..a7da31663 100644 --- a/test/qt/card/test_GeneralAuthenticateResponse.cpp +++ b/test/qt/card/test_GeneralAuthenticateResponse.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for GeneralAuthenticate response APDUs * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/card/test_MSEBuilder.cpp b/test/qt/card/test_MSEBuilder.cpp index 69540b0f2..75574d97c 100644 --- a/test/qt/card/test_MSEBuilder.cpp +++ b/test/qt/card/test_MSEBuilder.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "Commands.h" diff --git a/test/qt/card/test_ReaderManager.cpp b/test/qt/card/test_ReaderManager.cpp index a16a9ca73..cc63ac91f 100644 --- a/test/qt/card/test_ReaderManager.cpp +++ b/test/qt/card/test_ReaderManager.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderManager.h" diff --git a/test/qt/card/test_SecureMessaging.cpp b/test/qt/card/test_SecureMessaging.cpp index 4fcb17cd0..93ddbd547 100644 --- a/test/qt/card/test_SecureMessaging.cpp +++ b/test/qt/card/test_SecureMessaging.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include @@ -92,6 +92,17 @@ class test_SecureMessaging } + void testNotInitialized() + { + const QByteArray empty; + QByteArray data; + const CommandApdu command(static_cast(0x10), static_cast(0x10), static_cast(0x20), static_cast(0x30), data, CommandApdu::NO_LE); + SecureMessaging n(empty, empty, empty); + CommandApdu commandApdu = n.encrypt(command); + QCOMPARE(commandApdu.getBuffer(), QByteArray()); + } + + void testCommandChainingCLA() { QByteArray data; diff --git a/test/qt/card/test_SecureMessagingResponse.cpp b/test/qt/card/test_SecureMessagingResponse.cpp index bb967da0b..50fb734e0 100644 --- a/test/qt/card/test_SecureMessagingResponse.cpp +++ b/test/qt/card/test_SecureMessagingResponse.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests for SecureMessagingResponse * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/cli/test_UIPlugInCli.cpp b/test/qt/cli/test_UIPlugInCli.cpp index 74dac3213..c3b135818 100644 --- a/test/qt/cli/test_UIPlugInCli.cpp +++ b/test/qt/cli/test_UIPlugInCli.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref UIPlugInCli * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CliHelper.h" diff --git a/test/qt/configuration/test_ProviderConfiguration.cpp b/test/qt/configuration/test_ProviderConfiguration.cpp index b999d3ea9..5f1ada2f2 100644 --- a/test/qt/configuration/test_ProviderConfiguration.cpp +++ b/test/qt/configuration/test_ProviderConfiguration.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ProviderConfiguration * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderConfiguration.h" @@ -10,9 +10,9 @@ #include - using namespace governikus; +Q_DECLARE_METATYPE(ProviderConfigurationInfo) class test_ProviderConfiguration : public QObject @@ -164,6 +164,120 @@ class test_ProviderConfiguration } + void testProviderHosts_data() + { + QTest::addColumn("provider"); + + const auto& providers = Env::getSingleton()->getProviderConfigurationInfos(); + for (const auto& provider : providers) + { + QTest::newRow(provider.getShortName().toString().toUtf8().constData()) << provider; + } + + } + + + void testProviderHosts() + { + QFETCH(ProviderConfigurationInfo, provider); + + const auto& address = QUrl(provider.getAddress()); + QVERIFY(!address.host().isEmpty()); + QCOMPARE(address.scheme(), QString("https")); + + const auto& homepage = QUrl(provider.getHomepage()); + QVERIFY(!homepage.host().isEmpty()); + QCOMPARE(homepage.scheme(), QString("https")); + + if (!provider.getTcTokenUrl().isEmpty()) + { + const auto& tcTokenUrl = QUrl(provider.getTcTokenUrl()); + QVERIFY(!tcTokenUrl.host().isEmpty()); + QCOMPARE(tcTokenUrl.scheme(), QString("https")); + } + + if (!provider.getClientUrl().isEmpty()) + { + const auto& clientUrl = QUrl(provider.getClientUrl()); + QVERIFY(!clientUrl.host().isEmpty()); + QCOMPARE(clientUrl.scheme(), QString("https")); + } + + const auto& subjectUrls = provider.getSubjectUrls(); + for (const auto& url : subjectUrls) + { + if (!url.isEmpty()) + { + const auto& subjectUrl = QUrl(url); + QVERIFY(!subjectUrl.host().isEmpty()); + QCOMPARE(subjectUrl.scheme(), QString("https")); + } + } + } + + + void testProvidersAreEqual() + { + const ProviderConfigurationInfo provider1( + /* short name */ QStringLiteral("Provider"), + /* long name */ QStringLiteral("Provider - long name"), + /* short description */ QStringLiteral("Provider description short"), + /* long description */ QStringLiteral("Provider description long"), + /* address */ QStringLiteral("https://www.homepage.com/form/"), + /* homepage */ QStringLiteral("https://www.homepage.com/"), + /* category */ QStringLiteral("CategoryA"), + /* phone */ QStringLiteral("0421 123456"), + /* email */ QStringLiteral("abc@def.de"), + /* postal address */ QStringLiteral("Am Fallturm 9\n28359 Bremen"), + /* icon */ QString(), + /* image */ QString(), + /* tcTokenUrl */ QStringLiteral("https://npa.allianz.de/azservice/NpaEIDService/nparef/-wnf"), + /* clientUrl */ QStringLiteral("https://www.bva.bund.de/bafoeg-online/Bafoeg/flow/anmeld"), + /* subjectUrls */ QStringList({QStringLiteral("https://npa.allianz.de/bla1"), QStringLiteral("https://npa.allianz.de/bla1")}) + ); + + const ProviderConfigurationInfo provider2( + /* short name */ QStringLiteral("Provider"), + /* long name */ QStringLiteral("Provider - long name"), + /* short description */ QStringLiteral("Provider description short"), + /* long description */ QStringLiteral("Provider description long"), + /* address */ QStringLiteral("https://www.homepage.com/form/"), + /* homepage */ QStringLiteral("https://www.homepage.com/"), + /* category */ QStringLiteral("CategoryB"), + /* phone */ QStringLiteral("0421 123456"), + /* email */ QStringLiteral("abc@def.de"), + /* postal address */ QStringLiteral("Am Fallturm 9\n28359 Bremen"), + /* icon */ QString(), + /* image */ QString(), + /* tcTokenUrl */ QStringLiteral("https://npa.allianz.de/azservice/NpaEIDService/nparef/-wnf"), + /* clientUrl */ QStringLiteral("https://www.bva.bund.de/bafoeg-online/Bafoeg/flow/anmeld"), + /* subjectUrls */ QStringList({QStringLiteral("https://npa.allianz.de/bla1"), QStringLiteral("https://npa.allianz.de/bla1")}) + ); + + const ProviderConfigurationInfo provider3( + /* short name */ QStringLiteral("Provider"), + /* long name */ QStringLiteral("Provider - long name"), + /* short description */ QStringLiteral("Provider description short"), + /* long description */ QStringLiteral("Provider description long"), + /* address */ QStringLiteral("https://www.homepage.com/form/"), + /* homepage */ QStringLiteral("https://www.homepage.com/"), + /* category */ QStringLiteral("CategoryB"), + /* phone */ QStringLiteral("0421 123456"), + /* email */ QStringLiteral("abc@def.de"), + /* postal address */ QStringLiteral("Am Fallturm 9\n28359 Bremen"), + /* icon */ QString(), + /* image */ QString(), + /* tcTokenUrl */ QStringLiteral("https://npa.allianz.de/azservice/NpaEIDService/nparef/-wnf"), + /* clientUrl */ QStringLiteral("https://www.bva.bund.de/bafoeg-online/Bafoeg/flow/anmeld"), + /* subjectUrls */ QStringList({QStringLiteral("https://npa.allianz.de/bla1"), QStringLiteral("https://npa.allianz.de/bla1")}) + ); + + QVERIFY(provider1 == provider1); + QVERIFY(!(provider1 == provider2)); + QVERIFY(provider2 == provider3); + } + + }; QTEST_GUILESS_MAIN(test_ProviderConfiguration) diff --git a/test/qt/configuration/test_ProviderConfigurationParser.cpp b/test/qt/configuration/test_ProviderConfigurationParser.cpp index 07ebe1c18..af297f642 100644 --- a/test/qt/configuration/test_ProviderConfigurationParser.cpp +++ b/test/qt/configuration/test_ProviderConfigurationParser.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ProviderConfigurationParser * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderConfigurationParser.h" @@ -250,12 +250,12 @@ class test_ProviderConfigurationParser { QTest::addColumn("count"); - const int desktop = 59; + const int desktop = 58; QTest::newRow("win") << desktop; QTest::newRow("mac") << desktop; QTest::newRow("linux") << desktop; - QTest::newRow("android") << 54; - QTest::newRow("ios") << 14; + QTest::newRow("android") << desktop; + QTest::newRow("ios") << 15; } diff --git a/test/qt/configuration/test_ReaderConfiguration.cpp b/test/qt/configuration/test_ReaderConfiguration.cpp index f54cef3aa..435d41c7f 100644 --- a/test/qt/configuration/test_ReaderConfiguration.cpp +++ b/test/qt/configuration/test_ReaderConfiguration.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ReaderConfiguration * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderConfiguration.h" @@ -72,7 +72,7 @@ class test_ReaderConfiguration QTest::addColumn("readerIcon"); QTest::addColumn("readerPattern"); - QTest::newRow("Remote Cardreader") << UsbId(0x0000, 0x0000) << "NFC-abcdef1234567890" << QStringLiteral("Smartphone als Kartenleseger\u00E4t") << "img_RemoteReader" << "^NFC.*"; + QTest::newRow("Remote Cardreader") << UsbId(0x0000, 0x0000) << "NFC-abcdef1234567890" << QStringLiteral("Smartphone als Kartenleser") << "img_RemoteReader" << "^NFC.*"; QTest::newRow("REINER SCT cyberJack RFID komfort") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort" << "REINER SCT cyberJack RFID komfort" << "img_Reiner_SCT_cyberjack_RFID_komfort" << "REINER SCT cyberJack RFID komfort"; QTest::newRow("REINER SCT cyberJack RFID standard") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard" << "img_Reiner_SCT_cyberjack_RFID_standard" << "REINER SCT cyberJack RFID standard"; @@ -81,17 +81,17 @@ class test_ReaderConfiguration QTest::newRow("KOBIL IDToken") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken" << "img_KOBIL_ID_Token" << "KOBIL (Systems )?IDToken"; - QTest::newRow("SCM SDI011") << UsbId(0x04E6, 0x512B) << "SDI011 Contactless Reader" << "SDI011 Contactless Reader" << "img_Identive_SDI011" << "SDI011 (USB )?(Smart Card|Contactless) Reader"; + QTest::newRow("SCM SDI011") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader" << "SDI011 Contactless Reader" << "img_Identive_SDI011" << "SDI011 Contactless Reader|SDI011 USB Smart Card Reader(\\(1\\)|\\(2\\))"; QTest::newRow("SCM SCL011") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader" << "SCL01x Contactless Reader" << "img_Identive_SCL011" << "^(SCM Microsystems Inc. )?SCL011 Contactless Reader( 0)?$"; QTest::newRow("ACS-ACR1281U") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U" << "img_ACS_ACR1281U" << "ACS ACR1281 PICC Reader( 0)?"; - QTest::newRow("ACS-ACR1252U") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U" << "img_ACS_ACR1252U" << R"(ACS ACR1252 1S CL Reader PICC 0|ACS ACR1252 Dual Reader(\(1\)|\(2\)))"; + QTest::newRow("ACS-ACR1252U") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U" << "img_ACS_ACR1252U" << "ACS ACR1252 1S CL Reader PICC 0|ACS ACR1252 Dual Reader\\(2\\)"; QTest::newRow("OMNIKEY 5021") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL" << "img_HID_Omnikey_Mobile_Reader_502X_CL" << "OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \\(076B:5340\\) 5021 CL"; QTest::newRow("OMNIKEY 5022") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL" << "img_HID_Omnikey_Mobile_Reader_502X_CL" << "HID Global OMNIKEY 5022 Smart Card Reader 0|HID Global OMNIKEY 5022 Smart Card Reader"; QTest::newRow("OMNIKEY 5321 v2") << UsbId(0x076B, 0x5321) << "OOMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2" << "img_HID_Global_OMNIKEY_5321_V2" << R"(OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \(076B:5321\) 5321(\(1\)|\(2\)))"; QTest::newRow("OMNIKEY 5421") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421" << "img_HID_Omnikey_542x" << R"(OMNIKEY CardMan 5x21-CL 0|OMNIKEY CardMan \(076B:5421\) 5421(\(1\)|\(2\)))"; - QTest::newRow("OMNIKEY 5422") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422" << "img_HID_Omnikey_542x" << R"(HID Global OMNIKEY 5422(CL)? Smartcard Reader 0|HID Global OMNIKEY Smartcard Reader (\(1\)|\(2\)))"; + QTest::newRow("OMNIKEY 5422") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422" << "img_HID_Omnikey_542x" << R"(HID Global OMNIKEY 5422CL Smartcard Reader 0|HID Global OMNIKEY Smartcard Reader (\(1\)|\(2\)))"; QTest::newRow("FEIG OBID myAXXESS RFID-Reader") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader" << "img_FEIG_myAXXES_basic" << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430"; @@ -100,8 +100,8 @@ class test_ReaderConfiguration QTest::newRow("Identiv-SCL-3711") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711" << "img_Identive_SCL3711" << "(SCM Microsystems SCL3711 reader & NFC device 0|SCL3711 reader and NFC device)"; QTest::newRow("Identiv-Cloud-3700-F") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F" << "img_Identive_Cloud_3700_F" << "(Identiv CLOUD 3700 F Contactless Reader 0|Identiv uTrust 3700 F CL Reader)"; - QTest::newRow("Identiv-Cloud-4700-F") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 0" << "Identiv Cloud 4700 F" << "img_Identive_Cloud_4700_F" << "(Identiv CLOUD 4700 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4700 F Dual Interface Reader)"; - QTest::newRow("Identiv-Cloud-4701-F") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 0" << "Identiv Cloud 4701 F" << "img_Identive_Cloud_4701_F" << "(Identiv CLOUD 4701 F Contact(less)? Reader( 0| 1)|Identiv uTrust 4701 F Dual Interface Reader)"; + QTest::newRow("Identiv-Cloud-4700-F") << UsbId(0x04E6, 0x5720) << "Identive CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F" << "img_Identive_Cloud_4700_F" << "(Identive CLOUD 4700 F Contactless Reader( 0| 1)|Identiv uTrust 4700 F Dual Interface Reader\\(2\\))"; + QTest::newRow("Identiv-Cloud-4701-F") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 0" << "Identiv Cloud 4701 F" << "img_Identive_Cloud_4701_F" << "(Identiv CLOUD 4701 F Contactless Reader( 0| 1)|Identiv uTrust 4701 F Dual Interface Reader)"; QTest::newRow("Cherry-TC-1200-data") << UsbId(0x046A, 0x0091) << "Cherry TC 1200" << "Cherry TC-1200" << "img_Cherry_TC_1200" << "(Cherry TC 1200($|[^-])|TC 12xx-CL 0|Cherry SC Reader \\(046A:0091\\))"; QTest::newRow("Cherry-TC-1300-data") << UsbId(0x046A, 0x0092) << "Cherry TC 1300" << "Cherry TC-1300" << "img_Cherry_TC_1300" << "(Cherry TC 1300|Cherry Smartcard Terminal TC 13xx-CL 0|Cherry SC Reader \\(046A:0092\\))"; @@ -138,296 +138,104 @@ class test_ReaderConfiguration QTest::newRow("UU") << UsbId(0xFFFF, 0xFFFF) << "crap" << "crap"; - QTest::newRow("Remote Cardreader") << UsbId(0x0000, 0x0000) << "NFC-abcdef1234567890" << QStringLiteral("Smartphone als Kartenleseger\u00E4t"); - - QTest::newRow("REINER SCT cyberJack RFID komfort-windows-7-32") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort USB 1" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-windows-7-64") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort USB 1" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-windows-8.1") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort USB 1" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-windows-10.0") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort USB 1" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-macosx-10.11") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-macosx-10.12") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-macosx-10.13") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort" << "REINER SCT cyberJack RFID komfort"; - QTest::newRow("REINER SCT cyberJack RFID komfort-macosx-10.14") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort" << "REINER SCT cyberJack RFID komfort"; - - QTest::newRow("REINER SCT cyberJack RFID standard-windows-7.32") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard USB 1" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-windows-7.64") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard USB 1" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-windows-8.1") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard USB 1" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-windows-10.0") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard USB 1" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.11") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.12") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.13") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard"; - QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.14") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard"; - - QTest::newRow("REINER SCT cyberJack RFID basis-windows-7.32") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-windows-7.64") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-windows-8.1") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-windows-10.0") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.11") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.12") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.13") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis"; - QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.14") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis"; - - QTest::newRow("REINER SCT cyberJack wave-windows-7.32") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-windows-7.64") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-windows-8.1") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-windows-10.0") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-macosx-10.11") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-macosx-10.12") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-macosx-10.13") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave"; - QTest::newRow("REINER SCT cyberJack wave-macosx-10.14") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave"; - - QTest::newRow("KOBIL IDToken-windows-7.32") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-windows-7.64") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-windows-8.1") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-windows-10") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-macosx-10.11") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-macosx-10.12") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-macosx-10.13") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken"; - QTest::newRow("KOBIL IDToken-macosx-10.14") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken"; - - QTest::newRow("SCM SDI011-windows-7.32-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-7.32-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-7.64-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-7.64-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-8.1-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-8.1-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-10-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-windows-10-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.11-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.11-2") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.12-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.12-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.13-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.13-2") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.14-1") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader"; - QTest::newRow("SCM SDI011-macosx-10.14-2") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader"; - - QTest::newRow("SCM SCL011-windows-7.32") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-windows-7.64") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-windows-8.1") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-windows-10") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-macosx-10.11") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-macosx-10.12") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-macosx-10.13") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader"; - QTest::newRow("SCM SCL011-macosx-10.14") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader"; - - QTest::newRow("ACS-ACR1281U-windows-7.32") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-windows-7.64") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-windows-8.1") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-windows-10") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-macosx-10.11") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-macosx-10.12") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-macosx-10.13") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U"; - QTest::newRow("ACS-ACR1281U-macosx-10.14") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U"; - - QTest::newRow("ACS-ACR1252U-windows-7.32-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-windows-7.32-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0"; - QTest::newRow("ACS-ACR1252U-windows-7.64-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-windows-7.64-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0"; - QTest::newRow("ACS-ACR1252U-windows-8.1-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-windows-8.1-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0"; - QTest::newRow("ACS-ACR1252U-windows-10-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-windows-10-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0"; - QTest::newRow("ACS-ACR1252U-macosx-10.11-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.11-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.12-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.12-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.13-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.13-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.14-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252U"; - QTest::newRow("ACS-ACR1252U-macosx-10.14-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U"; - - QTest::newRow("OMNIKEY 5021-windows-7.32") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-windows-7.64") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-windows-8.1") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-windows-10") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-macosx-10.11") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-macosx-10.12") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-macosx-10.13") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL"; - QTest::newRow("OMNIKEY 5021-macosx-10.14") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL"; - - QTest::newRow("OMNIKEY 5022-windows-7.32") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-windows-7.64") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-windows-8.1") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-windows-10") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-macosx-10.11") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-macosx-10.12") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-macosx-10.13") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL"; - QTest::newRow("OMNIKEY 5022-macosx-10.14") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL"; - - QTest::newRow("OMNIKEY 5321 v2-windows-7.32-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5321 v2-windows-7.32-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-windows-7.64-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5321 v2-windows-7.64-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-windows-8.1-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5321 v2-windows-8.1-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-windows-10.1-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5321 v2-windows-10.1-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.11-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.11-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.12-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.12-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.13-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.13-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.14-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2"; - QTest::newRow("OMNIKEY 5321 v2-macosx-10.14-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2"; - - QTest::newRow("OMNIKEY 5421-windows-7.1-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5421-windows-7.1-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-windows-8.1-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5421-windows-8.1-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-windows-10.1-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; - QTest::newRow("OMNIKEY 5421-windows-10.1-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.11-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.11-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.12-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.12-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.13-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.13-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.14-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421"; - QTest::newRow("OMNIKEY 5421-macosx-10.14-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421"; - - QTest::newRow("OMNIKEY 5422-windows-7.32-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422 Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-7.32-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-7.64-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422 Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-7.64-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-8.1-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422 Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-8.1-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-10.1-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422 Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5422-windows-10.1-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5421-macosx-10.13-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY Smartcard Reader (1)" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5421-macosx-10.13-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY Smartcard Reader (2)" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5421-macosx-10.14-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY Smartcard Reader (1)" << "OMNIKEY 5422"; - QTest::newRow("OMNIKEY 5421-macosx-10.14-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY Smartcard Reader (2)" << "OMNIKEY 5422"; - - QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-7.32") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader"; - QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-7.64") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader"; - QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-8.1") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader"; - QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-10.1") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader"; - - QTest::newRow("Gemalto-Prox-DU-windows-7.32-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0"; - QTest::newRow("Gemalto-Prox-DU-windows-7.32-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-7.64-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0"; - QTest::newRow("Gemalto-Prox-DU-windows-7.64-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-8.1-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0"; - QTest::newRow("Gemalto-Prox-DU-windows-8.1-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-10-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0"; - QTest::newRow("Gemalto-Prox-DU-windows-10-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0l" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.11-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.11-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(2)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.12-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.12-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(2)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.13-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.13-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(2)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.14-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID"; - QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.14-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(2)" << "Prox-DU HID"; - - QTest::newRow("Gemalto-Prox-SU-windows-7.32-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0"; - QTest::newRow("Gemalto-Prox-SU-windows-7.32-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-7.64-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0"; - QTest::newRow("Gemalto-Prox-SU-windows-7.64-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-8.1-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0"; - QTest::newRow("Gemalto-Prox-SU-windows-8.1-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-10-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0"; - QTest::newRow("Gemalto-Prox-SU-windows-10-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.11-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.11-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.12-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.12-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.13-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.13-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.14-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless"; - QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.14-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless"; - - QTest::newRow("Identiv-SCL-3711-windows-7.32") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711"; - QTest::newRow("Identiv-SCL-3711-windows-7.64") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711"; - QTest::newRow("Identiv-SCL-3711-windows-8.1") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711"; - QTest::newRow("Identiv-SCL-3711-windows-10") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711"; - - QTest::newRow("Identiv-Cloud-3700-F-windows-7.32") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-windows-7.64") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-windows-8.1") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-windows-10") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-macosx-10.11") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-macosx-10.12") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-macosx-10.13") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F"; - QTest::newRow("Identiv-Cloud-3700-F-macosx-10.14") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F"; - - QTest::newRow("Identiv-Cloud-4700-F-windows-7.32-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-7.32-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-7.64-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-7.64-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-8.1-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-8.1-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-10-1") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contact Reader 0" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-10-2") << UsbId(0x04E6, 0x5720) << "Identiv CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.12-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.12-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.13-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.13-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.14-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F"; - QTest::newRow("Identiv-Cloud-4700-F-macosx-10.14-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv Cloud 4700 F"; - - QTest::newRow("Identiv-Cloud-4700-F-windows-7.32-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-windows-7.32-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4700-F-windows-7.64-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-windows-7.64-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-windows-8.1-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-windows-8.1-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-windows-10-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-windows-10-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.11-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.11-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.12-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.12-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.13-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.13-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.14-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F"; - QTest::newRow("Identiv-Cloud-4701-F-macosx-10.14-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F"; - - QTest::newRow("Cherry-TC-1200-windows-7-64") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx-CL 0" << "Cherry TC-1200"; - QTest::newRow("Cherry-TC-1200-windows-8.1-1") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx-CL 0" << "Cherry TC-1200"; - QTest::newRow("Cherry-TC-1200-windows-10-1") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx 0" << "Cherry Smartcard Terminal TC 12xx 0"; - QTest::newRow("Cherry-TC-1200-windows-10-2") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx-CL 0" << "Cherry TC-1200"; - QTest::newRow("Cherry-TC-1200-macosx-10.13") << UsbId(0x046A, 0x0091) << "Cherry SC Reader (046A:0091)" << "Cherry TC-1200"; - QTest::newRow("Cherry-TC-1200-macosx-10.14") << UsbId(0x046A, 0x0091) << "Cherry SC Reader (046A:0091)" << "Cherry TC-1200"; + QTest::newRow("Remote Cardreader") << UsbId(0x0000, 0x0000) << "NFC-abcdef1234567890" << QStringLiteral("Smartphone als Kartenleser"); + + QTest::newRow("REINER SCT cyberJack RFID komfort-windows-7-10") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort USB 1" << "REINER SCT cyberJack RFID komfort"; + QTest::newRow("REINER SCT cyberJack RFID komfort-macosx-10.11-10.14") << UsbId(0x0C4B, 0x0501) << "REINER SCT cyberJack RFID komfort" << "REINER SCT cyberJack RFID komfort"; + + QTest::newRow("REINER SCT cyberJack RFID standard-windows-7-10") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard USB 1" << "REINER SCT cyberJack RFID standard"; + QTest::newRow("REINER SCT cyberJack RFID standard-macosx-10.11-10.14") << UsbId(0x0C4B, 0x0500) << "REINER SCT cyberJack RFID standard" << "REINER SCT cyberJack RFID standard"; + + QTest::newRow("REINER SCT cyberJack RFID basis-windows-7-10") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis 0" << "REINER SCT cyberJack RFID basis"; + QTest::newRow("REINER SCT cyberJack RFID basis-macosx-10.11-10.14") << UsbId(0x0C4B, 0x9102) << "REINER SCT cyberJack RFID basis" << "REINER SCT cyberJack RFID basis"; + + QTest::newRow("REINER SCT cyberJack wave-windows-7-10") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave 0" << "REINER SCT cyberJack wave"; + QTest::newRow("REINER SCT cyberJack wave-macosx-10.11-10.14") << UsbId(0x0C4B, 0x0505) << "REINER SCT cyberJack wave" << "REINER SCT cyberJack wave"; + + QTest::newRow("KOBIL IDToken-windows-7-10") << UsbId(0x0D46, 0x301D) << "KOBIL IDToken 0" << "KOBIL IDToken"; + QTest::newRow("KOBIL IDToken-macosx-10.11-10.14") << UsbId(0x0D46, 0x301D) << "KOBIL Systems IDToken" << "KOBIL IDToken"; + + QTest::newRow("SCM SDI011-windows-7-10-1") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Contactless Reader 0" << "SDI011 Contactless Reader"; + QTest::newRow("SCM SDI011-windows-7-10-2") << UsbId(0x04E6, 0x512B) << "SCM Microsystems Inc. SDI011 Smart Card Reader 0" << "SCM Microsystems Inc. SDI011 Smart Card Reader 0"; + QTest::newRow("SCM SDI011-macosx-10.11-10.14") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(1)" << "SDI011 Contactless Reader"; + QTest::newRow("SCM SDI011-macosx-10.11-10.14") << UsbId(0x04E6, 0x512B) << "SDI011 USB Smart Card Reader(2)" << "SDI011 Contactless Reader"; + + QTest::newRow("SCM SCL011-windows-7-10") << UsbId(0x04E6, 0x5292) << "SCM Microsystems Inc. SCL011 Contactless Reader 0" << "SCL01x Contactless Reader"; + QTest::newRow("SCM SCL011-macosx-10.11-10.14") << UsbId(0x04E6, 0x5292) << "SCL011 Contactless Reader" << "SCL01x Contactless Reader"; + + QTest::newRow("ACS-ACR1281U-windows-7-10") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader 0" << "ACS ACR1281U"; + QTest::newRow("ACS-ACR1281U-macosx-10.11-10.14") << UsbId(0x072F, 0x0901) << "ACS ACR1281 PICC Reader" << "ACS ACR1281U"; + + QTest::newRow("ACS-ACR1252U-windows-7-10-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader PICC 0" << "ACS ACR1252U"; + QTest::newRow("ACS-ACR1252U-windows-7-10-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 1S CL Reader SAM 0" << "ACS ACR1252 1S CL Reader SAM 0"; + QTest::newRow("ACS-ACR1252U-macosx-10.11-10.14-1") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(1)" << "ACS ACR1252 Dual Reader(1)"; + QTest::newRow("ACS-ACR1252U-macosx-10.11-10.14-2") << UsbId(0x072F, 0x223B) << "ACS ACR1252 Dual Reader(2)" << "ACS ACR1252U"; + + QTest::newRow("OMNIKEY 5021-windows-7-10") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5021-CL"; + QTest::newRow("OMNIKEY 5021-macosx-10.11-10.14") << UsbId(0x076B, 0x5340) << "OMNIKEY CardMan (076B:5340) 5021 CL" << "OMNIKEY 5021-CL"; + + QTest::newRow("OMNIKEY 5022-windows-7-10") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader 0" << "OMNIKEY 5022-CL"; + QTest::newRow("OMNIKEY 5022-macosx-10.11-10.14") << UsbId(0x076B, 0x5022) << "HID Global OMNIKEY 5022 Smart Card Reader" << "OMNIKEY 5022-CL"; + + QTest::newRow("OMNIKEY 5321 v2-windows-7-10-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; + QTest::newRow("OMNIKEY 5321 v2-windows-7-10-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5321 v2"; + QTest::newRow("OMNIKEY 5321 v2-macosx-10.11-10.11-1") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(1)" << "OMNIKEY 5321 v2"; + QTest::newRow("OMNIKEY 5321 v2-macosx-10.11-10.14-2") << UsbId(0x076B, 0x5321) << "OMNIKEY CardMan (076B:5321) 5321(2)" << "OMNIKEY 5321 v2"; + + QTest::newRow("OMNIKEY 5421-windows-7-10-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21 0" << "OMNIKEY CardMan 5x21 0"; + QTest::newRow("OMNIKEY 5421-windows-7-10-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan 5x21-CL 0" << "OMNIKEY 5421"; + QTest::newRow("OMNIKEY 5421-macosx-10.11-10.14-1") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(1)" << "OMNIKEY 5421"; + QTest::newRow("OMNIKEY 5421-macosx-10.11-10.14-2") << UsbId(0x076B, 0x5421) << "OMNIKEY CardMan (076B:5421) 5421(2)" << "OMNIKEY 5421"; + + QTest::newRow("OMNIKEY 5422-windows-7-10-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422 Smartcard Reader 0" << "HID Global OMNIKEY 5422 Smartcard Reader 0"; + QTest::newRow("OMNIKEY 5422-windows-7-10-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY 5422CL Smartcard Reader 0" << "OMNIKEY 5422"; + QTest::newRow("OMNIKEY 5421-macosx-10.13-10.14-1") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY Smartcard Reader (1)" << "OMNIKEY 5422"; + QTest::newRow("OMNIKEY 5421-macosx-10.13-10.14-2") << UsbId(0x076B, 0x5422) << "HID Global OMNIKEY Smartcard Reader (2)" << "OMNIKEY 5422"; + + QTest::newRow("FEIG OBID myAXXESS RFID-Reader-windows-7-10") << UsbId(0x0AB1, 0x0003) << "FEIG ELECTRONIC GmbH OBID myAXXESS basic Slot:CL 358334430" << "OBID RFID-Reader"; + + QTest::newRow("Gemalto-Prox-DU-windows-7-10-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contactless_10900383 0" << "Prox-DU HID"; + QTest::newRow("Gemalto-Prox-DU-windows-7-10-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox-DU Contact_10900383 0" << "Gemalto Prox-DU Contact_10900383 0"; + QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.11-10.14-1") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(1)" << "Prox-DU HID"; + QTest::newRow("Gemalto-Prox-DU-windows-macosx-10.11-10.14-2") << UsbId(0x08E6, 0x5503) << "Gemalto Prox Dual USB PC Link Reader(2)" << "Prox-DU HID"; + + QTest::newRow("Gemalto-Prox-SU-windows-7-10-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contactless_10800004 0" << "Gemalto Prox-SU Contactless"; + QTest::newRow("Gemalto-Prox-SU-windows-7-10-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox-SU Contact_10800004 0" << "Gemalto Prox-SU Contact_10800004 0"; + QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.11-10.14-1") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(1)" << "Gemalto Prox-SU Contactless"; + QTest::newRow("Gemalto-Prox-SU-windows-macosx-10.11-10.14-2") << UsbId(0x08E6, 0x5504) << "Gemalto Prox SU USB PC LinkReader(2)" << "Gemalto Prox-SU Contactless"; + + QTest::newRow("Identiv-SCL-3711-windows-7-10") << UsbId(0x04E6, 0x5591) << "SCM Microsystems SCL3711 reader & NFC device 0" << "Identiv SCL3711"; + + QTest::newRow("Identiv-Cloud-3700-F-windows-7-10") << UsbId(0x04E6, 0x5790) << "Identiv CLOUD 3700 F Contactless Reader 0" << "Identiv Cloud 3700 F"; + QTest::newRow("Identiv-Cloud-3700-F-macosx-10.11-10.14") << UsbId(0x04E6, 0x5790) << "Identiv uTrust 3700 F CL Reader" << "Identiv Cloud 3700 F"; + + QTest::newRow("Identiv-Cloud-4700-F-windows-7-10-1") << UsbId(0x04E6, 0x5720) << "Identive CLOUD 4700 F Contact Reader 0" << "Identive CLOUD 4700 F Contact Reader 0"; + QTest::newRow("Identiv-Cloud-4700-F-windows-7-10-2") << UsbId(0x04E6, 0x5720) << "Identive CLOUD 4700 F Contactless Reader 0" << "Identiv Cloud 4700 F"; + QTest::newRow("Identiv-Cloud-4700-F-windows-7-10-3") << UsbId(0x04E6, 0x5720) << "Identive CLOUD 4700 F Contactless Reader 1" << "Identiv Cloud 4700 F"; + QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-10.14-1") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(2)" << "Identiv Cloud 4700 F"; + QTest::newRow("Identiv-Cloud-4700-F-macosx-10.11-10.14-2") << UsbId(0x04E6, 0x5720) << "Identiv uTrust 4700 F Dual Interface Reader(1)" << "Identiv uTrust 4700 F Dual Interface Reader(1)"; + + QTest::newRow("Identiv-Cloud-4701-F-windows-7-10-1") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contact Reader 0" << "Identiv CLOUD 4701 F Contact Reader 0"; + QTest::newRow("Identiv-Cloud-4701-F-windows-7-10-2") << UsbId(0x04E6, 0x5724) << "Identiv CLOUD 4701 F Contactless Reader 1" << "Identiv Cloud 4701 F"; + QTest::newRow("Identiv-Cloud-4701-F-macosx-10.11-10.14-1") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(1)" << "Identiv Cloud 4701 F"; + QTest::newRow("Identiv-Cloud-4701-F-macosx-10.11-10.14-2") << UsbId(0x04E6, 0x5724) << "Identiv uTrust 4701 F Dual Interface Reader(2)" << "Identiv Cloud 4701 F"; + + QTest::newRow("Cherry-TC-1200-windows-7-10-1") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx-CL 0" << "Cherry TC-1200"; + QTest::newRow("Cherry-TC-1200-windows-10") << UsbId(0x046A, 0x0091) << "Cherry Smartcard Terminal TC 12xx 0" << "Cherry Smartcard Terminal TC 12xx 0"; + QTest::newRow("Cherry-TC-1200-macosx-10.13-10.14") << UsbId(0x046A, 0x0091) << "Cherry SC Reader (046A:0091)" << "Cherry TC-1200"; QTest::newRow("Cherry-TC-1200-linux") << UsbId(0x046A, 0x0091) << "Cherry TC 1200" << "Cherry TC-1200"; - QTest::newRow("Cherry-TC-1300-windows-7-64") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx 0" << "Cherry Smartcard Terminal TC 13xx 0"; - QTest::newRow("Cherry-TC-1300-windows-7-64") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx-CL 0" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-windows-8.1-1") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx 0" << "Cherry Smartcard Terminal TC 13xx 0"; - QTest::newRow("Cherry-TC-1300-windows-8.1-2") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx-CL 0" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-windows-10-1") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx 0" << "Cherry Smartcard Terminal TC 13xx 0"; - QTest::newRow("Cherry-TC-1300-windows-10-2") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx-CL 0" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.11-1") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(1)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.11-2") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(2)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.12-1") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(1)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.12-2") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(2)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.13-1") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(1)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.13-2") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(2)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.14-1") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(1)" << "Cherry TC-1300"; - QTest::newRow("Cherry-TC-1300-macosx-10.14-2") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(2)" << "Cherry TC-1300"; + QTest::newRow("Cherry-TC-1300-windows-7-10-1") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx-CL 0" << "Cherry TC-1300"; + QTest::newRow("Cherry-TC-1300-windows-7-10-2") << UsbId(0x046A, 0x0092) << "Cherry Smartcard Terminal TC 13xx 0" << "Cherry Smartcard Terminal TC 13xx 0"; + QTest::newRow("Cherry-TC-1300-macosx-10.11-10.14-1") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(1)" << "Cherry TC-1300"; + QTest::newRow("Cherry-TC-1300-macosx-10.11-10.14-2") << UsbId(0x046A, 0x0092) << "Cherry SC Reader (046A:0092)(2)" << "Cherry TC-1300"; QTest::newRow("Cherry-TC-1300-linux") << UsbId(0x046A, 0x0092) << "Cherry TC 1300" << "Cherry TC-1300"; - QTest::newRow("Cherry-ST-1275-windows-7.32-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0"; - QTest::newRow("Cherry-ST-1275-windows-7.32-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275"; - QTest::newRow("Cherry-ST-1275-windows-7.64-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0"; - QTest::newRow("Cherry-ST-1275-windows-7.64-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275"; - QTest::newRow("Cherry-ST-1275-windows-8.1-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0"; - QTest::newRow("Cherry-ST-1275-windows-8.1-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275"; - QTest::newRow("Cherry-ST-1275-windows-10.1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0"; - QTest::newRow("Cherry-ST-1275-windows-10.2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275"; - - QTest::newRow("Signotec Omega Pad-windows-7.32") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-windows-7.64") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-windows-8.1") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-windows-10") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-macosx-10.11") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-macosx-10.12") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-macosx-10.13") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad"; - QTest::newRow("Signotec Omega Pad-macosx-10.14") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad"; + QTest::newRow("Cherry-ST-1275-windows-7-10-1") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X 0" << "Cherry SmartTerminal XX7X 0"; + QTest::newRow("Cherry-ST-1275-windows-7-10-2") << UsbId(0x046A, 0x0072) << "Cherry SmartTerminal XX7X-RF 0" << "Cherry ST-1275"; + + QTest::newRow("Signotec Omega Pad-windows-7-10") << UsbId(0x2133, 0x010B) << "NXP PR533 0" << "Signotec Omega Pad"; + QTest::newRow("Signotec Omega Pad-macosx-10.11-10.14") << UsbId(0x2133, 0x010B) << "NXP PR533" << "Signotec Omega Pad"; } diff --git a/test/qt/configuration/test_ReaderConfigurationEntryParser.cpp b/test/qt/configuration/test_ReaderConfigurationEntryParser.cpp index e7a9e0880..6fec98f5b 100644 --- a/test/qt/configuration/test_ReaderConfigurationEntryParser.cpp +++ b/test/qt/configuration/test_ReaderConfigurationEntryParser.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ReaderConfigurationParser * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderConfigurationParser.h" diff --git a/test/qt/configuration/test_ReaderConfigurationParser.cpp b/test/qt/configuration/test_ReaderConfigurationParser.cpp index b5b1c2112..21b34ec24 100644 --- a/test/qt/configuration/test_ReaderConfigurationParser.cpp +++ b/test/qt/configuration/test_ReaderConfigurationParser.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ReaderDetector * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderConfigurationParser.h" diff --git a/test/qt/core/context/test_AuthContext.cpp b/test/qt/core/context/test_AuthContext.cpp index 6a4b3dbdd..68e07a62a 100644 --- a/test/qt/core/context/test_AuthContext.cpp +++ b/test/qt/core/context/test_AuthContext.cpp @@ -1,7 +1,7 @@ /*! * \brief Test for the chat administration in authentication context. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "TestAuthContext.h" diff --git a/test/qt/core/context/test_ChangePinContext.cpp b/test/qt/core/context/test_ChangePinContext.cpp index 29c533b5d..7ed9dea38 100644 --- a/test/qt/core/context/test_ChangePinContext.cpp +++ b/test/qt/core/context/test_ChangePinContext.cpp @@ -1,7 +1,7 @@ /*! * \brief Test for \ref ChangePinContext. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "context/ChangePinContext.h" diff --git a/test/qt/core/context/test_DiagnosisContext.cpp b/test/qt/core/context/test_DiagnosisContext.cpp index 202a5979c..0c889f64c 100644 --- a/test/qt/core/context/test_DiagnosisContext.cpp +++ b/test/qt/core/context/test_DiagnosisContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "context/DiagnosisContext.h" diff --git a/test/qt/core/context/test_RemoteServiceContext.cpp b/test/qt/core/context/test_RemoteServiceContext.cpp index 2ef11d14c..3887142aa 100644 --- a/test/qt/core/context/test_RemoteServiceContext.cpp +++ b/test/qt/core/context/test_RemoteServiceContext.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for the class \ref RemoteServiceContext. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "context/RemoteServiceContext.h" diff --git a/test/qt/core/context/test_WorkflowContext.cpp b/test/qt/core/context/test_WorkflowContext.cpp index 80a77b812..86b2f5d5f 100644 --- a/test/qt/core/context/test_WorkflowContext.cpp +++ b/test/qt/core/context/test_WorkflowContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "context/WorkflowContext.h" diff --git a/test/qt/core/controller/test_ChangePinController.cpp b/test/qt/core/controller/test_ChangePinController.cpp index bf13912dd..773161632 100644 --- a/test/qt/core/controller/test_ChangePinController.cpp +++ b/test/qt/core/controller/test_ChangePinController.cpp @@ -1,7 +1,7 @@ /*! * \brief Test for the Change PIN functionality. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "controller/ChangePinController.h" diff --git a/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC1.cpp b/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC1.cpp index 6321ffea5..c4cb8870c 100644 --- a/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC1.cpp +++ b/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC1.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DidAuthenticateEAC1 * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/DidAuthenticateResponseEac1.h" diff --git a/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC2.cpp b/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC2.cpp index ac1ada198..8f35446e5 100644 --- a/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC2.cpp +++ b/test/qt/core/paos/invoke/test_DidAuthenticateResponseEAC2.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DidAuthenticateEAC2 * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/DidAuthenticateResponseEac2.h" diff --git a/test/qt/core/paos/invoke/test_DisconnectResponse.cpp b/test/qt/core/paos/invoke/test_DisconnectResponse.cpp index 478aa16f2..0fe66ffe0 100644 --- a/test/qt/core/paos/invoke/test_DisconnectResponse.cpp +++ b/test/qt/core/paos/invoke/test_DisconnectResponse.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DisconnectResponse * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CardReturnCode.h" diff --git a/test/qt/core/paos/invoke/test_PaosCreator.cpp b/test/qt/core/paos/invoke/test_PaosCreator.cpp index 4141a0211..77add0099 100644 --- a/test/qt/core/paos/invoke/test_PaosCreator.cpp +++ b/test/qt/core/paos/invoke/test_PaosCreator.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PaosCreator * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/PaosCreator.h" diff --git a/test/qt/core/paos/invoke/test_StartPaos.cpp b/test/qt/core/paos/invoke/test_StartPaos.cpp index 8954899fd..ab1a57bf8 100644 --- a/test/qt/core/paos/invoke/test_StartPaos.cpp +++ b/test/qt/core/paos/invoke/test_StartPaos.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StartPaos * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/StartPaos.h" diff --git a/test/qt/core/paos/invoke/test_TransmitResponse.cpp b/test/qt/core/paos/invoke/test_TransmitResponse.cpp index 0c0f07f43..d0cebc215 100644 --- a/test/qt/core/paos/invoke/test_TransmitResponse.cpp +++ b/test/qt/core/paos/invoke/test_TransmitResponse.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref TransmitResponse * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/invoke/TransmitResponse.h" diff --git a/test/qt/core/paos/retrieve/test_DidAuthenticateEac1.cpp b/test/qt/core/paos/retrieve/test_DidAuthenticateEac1.cpp index ddcbd89d8..191ca1f84 100644 --- a/test/qt/core/paos/retrieve/test_DidAuthenticateEac1.cpp +++ b/test/qt/core/paos/retrieve/test_DidAuthenticateEac1.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \DidAuthenticateEac1 * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEac1.h" diff --git a/test/qt/core/paos/retrieve/test_DidAuthenticateEac2.cpp b/test/qt/core/paos/retrieve/test_DidAuthenticateEac2.cpp index 60252e682..50a754e61 100644 --- a/test/qt/core/paos/retrieve/test_DidAuthenticateEac2.cpp +++ b/test/qt/core/paos/retrieve/test_DidAuthenticateEac2.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \DidAuthenticateEac1 * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEac2.h" diff --git a/test/qt/core/paos/retrieve/test_DidAuthenticateEacAdditional.cpp b/test/qt/core/paos/retrieve/test_DidAuthenticateEacAdditional.cpp index 5018026c3..445d797ab 100644 --- a/test/qt/core/paos/retrieve/test_DidAuthenticateEacAdditional.cpp +++ b/test/qt/core/paos/retrieve/test_DidAuthenticateEacAdditional.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \DidAuthenticateEACAdditionalInputType * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/DidAuthenticateEacAdditional.h" diff --git a/test/qt/core/paos/retrieve/test_InitializeFramework.cpp b/test/qt/core/paos/retrieve/test_InitializeFramework.cpp index f7a7b3991..1d4aaa483 100644 --- a/test/qt/core/paos/retrieve/test_InitializeFramework.cpp +++ b/test/qt/core/paos/retrieve/test_InitializeFramework.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \InitializeFramework * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/InitializeFramework.h" diff --git a/test/qt/core/paos/retrieve/test_StartPAOSResponse.cpp b/test/qt/core/paos/retrieve/test_StartPAOSResponse.cpp index 593669b5e..dbdfd7b9d 100644 --- a/test/qt/core/paos/retrieve/test_StartPAOSResponse.cpp +++ b/test/qt/core/paos/retrieve/test_StartPAOSResponse.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \InitializeFramework * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/StartPaosResponse.h" diff --git a/test/qt/core/paos/retrieve/test_transmit.cpp b/test/qt/core/paos/retrieve/test_transmit.cpp index 323f82fed..d7d2f2f01 100644 --- a/test/qt/core/paos/retrieve/test_transmit.cpp +++ b/test/qt/core/paos/retrieve/test_transmit.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \transmit * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/retrieve/Transmit.h" diff --git a/test/qt/core/paos/test_PaosMessage.cpp b/test/qt/core/paos/test_PaosMessage.cpp index bceccf403..c5c94a1ca 100644 --- a/test/qt/core/paos/test_PaosMessage.cpp +++ b/test/qt/core/paos/test_PaosMessage.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PaosMessage * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/PaosMessage.h" diff --git a/test/qt/core/paos/test_RequestType.cpp b/test/qt/core/paos/test_RequestType.cpp index 5dfbf73a7..94daa80f1 100644 --- a/test/qt/core/paos/test_RequestType.cpp +++ b/test/qt/core/paos/test_RequestType.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RequestType * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/core/paos/test_UserAgent.cpp b/test/qt/core/paos/test_UserAgent.cpp index 66cf9712f..5f2e14ad3 100644 --- a/test/qt/core/paos/test_UserAgent.cpp +++ b/test/qt/core/paos/test_UserAgent.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref UserAgent * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "paos/element/UserAgent.h" diff --git a/test/qt/core/paos/test_paoshandler.cpp b/test/qt/core/paos/test_paoshandler.cpp index c154e9ddb..6ff84dfc8 100644 --- a/test/qt/core/paos/test_paoshandler.cpp +++ b/test/qt/core/paos/test_paoshandler.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/core/states/test_StateCertificateDescriptionCheck.cpp b/test/qt/core/states/test_StateCertificateDescriptionCheck.cpp index aae38a3ec..2ee403b59 100644 --- a/test/qt/core/states/test_StateCertificateDescriptionCheck.cpp +++ b/test/qt/core/states/test_StateCertificateDescriptionCheck.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateCertificateDescriptionCheck.h" diff --git a/test/qt/core/states/test_StateChangePin.cpp b/test/qt/core/states/test_StateChangePin.cpp index 624b76cce..ea8718fb5 100644 --- a/test/qt/core/states/test_StateChangePin.cpp +++ b/test/qt/core/states/test_StateChangePin.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StateChangePin * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateChangePin.h" diff --git a/test/qt/core/states/test_StateChangePinRemote.cpp b/test/qt/core/states/test_StateChangePinRemote.cpp index 3bb0d4042..284da930d 100644 --- a/test/qt/core/states/test_StateChangePinRemote.cpp +++ b/test/qt/core/states/test_StateChangePinRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/remote_service/StateChangePinRemote.h" diff --git a/test/qt/core/states/test_StateCheckRefreshAddress.cpp b/test/qt/core/states/test_StateCheckRefreshAddress.cpp index aadd87965..cf10be91a 100644 --- a/test/qt/core/states/test_StateCheckRefreshAddress.cpp +++ b/test/qt/core/states/test_StateCheckRefreshAddress.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateCheckRefreshAddress.h" diff --git a/test/qt/core/states/test_StateConnectCard.cpp b/test/qt/core/states/test_StateConnectCard.cpp index 1951de088..df9ee30d6 100644 --- a/test/qt/core/states/test_StateConnectCard.cpp +++ b/test/qt/core/states/test_StateConnectCard.cpp @@ -1,7 +1,7 @@ /*! * \brief unit tests for \ref StateConnectCard * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateConnectCard.h" diff --git a/test/qt/core/states/test_StateDestroyPace.cpp b/test/qt/core/states/test_StateDestroyPace.cpp index bf82a4424..9ee11ee0f 100644 --- a/test/qt/core/states/test_StateDestroyPace.cpp +++ b/test/qt/core/states/test_StateDestroyPace.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateDestroyPace.h" diff --git a/test/qt/core/states/test_StateDidAuthenticateEac1.cpp b/test/qt/core/states/test_StateDidAuthenticateEac1.cpp index 5cf18aaac..a97138a3f 100644 --- a/test/qt/core/states/test_StateDidAuthenticateEac1.cpp +++ b/test/qt/core/states/test_StateDidAuthenticateEac1.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit test for \ref StateDidAuthenticateEac1 * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateDidAuthenticateEac1.h" diff --git a/test/qt/core/states/test_StateEstablishPaceChannel.cpp b/test/qt/core/states/test_StateEstablishPaceChannel.cpp index 29de8d406..0fdab7771 100644 --- a/test/qt/core/states/test_StateEstablishPaceChannel.cpp +++ b/test/qt/core/states/test_StateEstablishPaceChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateEstablishPaceChannel.h" diff --git a/test/qt/core/states/test_StateEstablishPaceChannelRemote.cpp b/test/qt/core/states/test_StateEstablishPaceChannelRemote.cpp index 9411a9a5c..87ad151f9 100644 --- a/test/qt/core/states/test_StateEstablishPaceChannelRemote.cpp +++ b/test/qt/core/states/test_StateEstablishPaceChannelRemote.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/remote_service/StateEstablishPaceChannelRemote.h" diff --git a/test/qt/core/states/test_StateExtractCvcsFromEac1InputType.cpp b/test/qt/core/states/test_StateExtractCvcsFromEac1InputType.cpp index 94b5b8493..57774922e 100644 --- a/test/qt/core/states/test_StateExtractCvcsFromEac1InputType.cpp +++ b/test/qt/core/states/test_StateExtractCvcsFromEac1InputType.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests the StateExtractCvcsFromEac1InputType * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateExtractCvcsFromEac1InputType.h" diff --git a/test/qt/core/states/test_StateGenericSendReceive.cpp b/test/qt/core/states/test_StateGenericSendReceive.cpp index 461d5b4ae..70d3b24e6 100644 --- a/test/qt/core/states/test_StateGenericSendReceive.cpp +++ b/test/qt/core/states/test_StateGenericSendReceive.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "Env.h" diff --git a/test/qt/core/states/test_StateGetTcToken.cpp b/test/qt/core/states/test_StateGetTcToken.cpp index b01012525..2692cf408 100644 --- a/test/qt/core/states/test_StateGetTcToken.cpp +++ b/test/qt/core/states/test_StateGetTcToken.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StateGetTcToken * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateGetTcToken.h" diff --git a/test/qt/core/states/test_StateInitializeFramework.cpp b/test/qt/core/states/test_StateInitializeFramework.cpp index 08ceb31ef..75267de8c 100644 --- a/test/qt/core/states/test_StateInitializeFramework.cpp +++ b/test/qt/core/states/test_StateInitializeFramework.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateBuilder.h" diff --git a/test/qt/core/states/test_StatePreVerification.cpp b/test/qt/core/states/test_StatePreVerification.cpp index 154784140..2b29cfb3c 100644 --- a/test/qt/core/states/test_StatePreVerification.cpp +++ b/test/qt/core/states/test_StatePreVerification.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StatePreVerification * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StatePreVerification.h" diff --git a/test/qt/core/states/test_StateProcessCertificatesFromEac2.cpp b/test/qt/core/states/test_StateProcessCertificatesFromEac2.cpp index 56757e629..71a80ce8b 100644 --- a/test/qt/core/states/test_StateProcessCertificatesFromEac2.cpp +++ b/test/qt/core/states/test_StateProcessCertificatesFromEac2.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StatePreVerification * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateProcessCertificatesFromEac2.h" diff --git a/test/qt/core/states/test_StateProcessRemoteMessages.cpp b/test/qt/core/states/test_StateProcessRemoteMessages.cpp index 82f9d0feb..8d2c42883 100644 --- a/test/qt/core/states/test_StateProcessRemoteMessages.cpp +++ b/test/qt/core/states/test_StateProcessRemoteMessages.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/remote_service/StateProcessRemoteMessages.h" diff --git a/test/qt/core/states/test_StateRedirectBrowser.cpp b/test/qt/core/states/test_StateRedirectBrowser.cpp index a967fcf32..df0108e3a 100644 --- a/test/qt/core/states/test_StateRedirectBrowser.cpp +++ b/test/qt/core/states/test_StateRedirectBrowser.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateRedirectBrowser.h" diff --git a/test/qt/core/states/test_StateSelectPasswordId.cpp b/test/qt/core/states/test_StateSelectPasswordId.cpp index e5f45d746..cff4412e8 100644 --- a/test/qt/core/states/test_StateSelectPasswordId.cpp +++ b/test/qt/core/states/test_StateSelectPasswordId.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests the StateSelectPasswordId * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateSelectPasswordId.h" diff --git a/test/qt/core/states/test_StateSelectReader.cpp b/test/qt/core/states/test_StateSelectReader.cpp index 1b7197a6d..4590ad607 100644 --- a/test/qt/core/states/test_StateSelectReader.cpp +++ b/test/qt/core/states/test_StateSelectReader.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests the StateSelectReader * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateSelectReader.h" diff --git a/test/qt/core/states/test_StateStartPaosResponse.cpp b/test/qt/core/states/test_StateStartPaosResponse.cpp index f4923952a..5d13618dd 100644 --- a/test/qt/core/states/test_StateStartPaosResponse.cpp +++ b/test/qt/core/states/test_StateStartPaosResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/core/states/test_StateStartRemoteService.cpp b/test/qt/core/states/test_StateStartRemoteService.cpp index a5cd4afcb..18a5b49e8 100644 --- a/test/qt/core/states/test_StateStartRemoteService.cpp +++ b/test/qt/core/states/test_StateStartRemoteService.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/remote_service/StateStartRemoteService.h" diff --git a/test/qt/core/states/test_StateStopRemoteService.cpp b/test/qt/core/states/test_StateStopRemoteService.cpp index 57cb611e6..f831707a5 100644 --- a/test/qt/core/states/test_StateStopRemoteService.cpp +++ b/test/qt/core/states/test_StateStopRemoteService.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/remote_service/StateStopRemoteService.h" diff --git a/test/qt/core/states/test_StateTransmit.cpp b/test/qt/core/states/test_StateTransmit.cpp index 6c1d15bd0..3d2238bd2 100644 --- a/test/qt/core/states/test_StateTransmit.cpp +++ b/test/qt/core/states/test_StateTransmit.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StateTransmit * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateTransmit.h" diff --git a/test/qt/core/states/test_StateUpdRetryCounter.cpp b/test/qt/core/states/test_StateUpdRetryCounter.cpp index c906a1854..edc23d3ab 100644 --- a/test/qt/core/states/test_StateUpdRetryCounter.cpp +++ b/test/qt/core/states/test_StateUpdRetryCounter.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref StateUpdateRetryCounter * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "states/StateUpdateRetryCounter.h" diff --git a/test/qt/core/states/test_TermsOfUsage.cpp b/test/qt/core/states/test_TermsOfUsage.cpp index 37eb6d4e6..34493d2d5 100644 --- a/test/qt/core/states/test_TermsOfUsage.cpp +++ b/test/qt/core/states/test_TermsOfUsage.cpp @@ -1,7 +1,7 @@ /*! * \brief Tests the Terms of Usage of CertificateDescription * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "asn1/CertificateDescription.h" diff --git a/test/qt/core/test_CertificateChecker.cpp b/test/qt/core/test_CertificateChecker.cpp index 34d8c5f89..b6bb4ef4e 100644 --- a/test/qt/core/test_CertificateChecker.cpp +++ b/test/qt/core/test_CertificateChecker.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CertificateChecker * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "CertificateChecker.h" diff --git a/test/qt/core/test_DiagnosisAntivirusDetection.cpp b/test/qt/core/test_DiagnosisAntivirusDetection.cpp new file mode 100644 index 000000000..734154ebd --- /dev/null +++ b/test/qt/core/test_DiagnosisAntivirusDetection.cpp @@ -0,0 +1,126 @@ +/*! + * \brief Unit tests for \ref DiagnosisAntivirusDetection + * + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +#include "DiagnosisAntivirusDetection.h" + +#include "TestFileHelper.h" + +#include + +using namespace governikus; + +class test_DiagnosisAntivirusDetection + : public QObject +{ + Q_OBJECT + QSharedPointer mAntivirusDetection; + + private: + const QString mTestFileLocation = QStringLiteral(":/core/diagnosis/"); + QString getTestData(const QString& pFilename) + { + QString filePath = mTestFileLocation + pFilename; + QByteArray rawData = TestFileHelper::readFile(filePath); + return QString::fromUtf8(rawData); + } + + + private Q_SLOTS: + void init() + { + mAntivirusDetection.reset(new DiagnosisAntivirusDetection); + } + + + void cleanup() + { + mAntivirusDetection.clear(); + } + + + void test_parsingNullAntivirusInformation() + { + QSignalSpy spy(mAntivirusDetection.data(), &DiagnosisAntivirusDetection::fireAntivirusInformationChanged); + QVERIFY(mAntivirusDetection->getAntivirusInformations().empty()); + QCOMPARE(spy.count(), 0); + mAntivirusDetection->parseAntivirInfos(""); + QVERIFY(mAntivirusDetection->getAntivirusInformations().empty()); + QCOMPARE(spy.count(), 1); + } + + + void test_parsingOneAntivirusInformation() + { + QSignalSpy spy(mAntivirusDetection.data(), &DiagnosisAntivirusDetection::fireAntivirusInformationChanged); + QVERIFY(mAntivirusDetection->getAntivirusInformations().empty()); + QCOMPARE(spy.count(), 0); + + const QString& fileContent = getTestData(QStringLiteral("antivir_one_antivirus.txt")); + mAntivirusDetection->parseAntivirInfos(fileContent); + auto antivirusInfos = mAntivirusDetection->getAntivirusInformations(); + QVERIFY(!antivirusInfos.empty()); + QCOMPARE(antivirusInfos[0]->getDisplayName(), QString("Windows Defender")); + QCOMPARE(antivirusInfos[0]->getLastUpdate(), QString("Mon, 26 Nov 2018 10:34:23 GMT")); + QCOMPARE(antivirusInfos[0]->getExePath(), QString("windowsdefender://")); + QCOMPARE(spy.count(), 1); + } + + + void test_parsingOneAntivirusInformationMissingTimestamp() + { + QSignalSpy spy(mAntivirusDetection.data(), &DiagnosisAntivirusDetection::fireAntivirusInformationChanged); + QVERIFY(mAntivirusDetection->getAntivirusInformations().empty()); + QCOMPARE(spy.count(), 0); + + const QString& fileContent = getTestData(QStringLiteral("antivir_one_antivirus_missing_timestamp.txt")); + mAntivirusDetection->parseAntivirInfos(fileContent); + auto antivirusInfos = mAntivirusDetection->getAntivirusInformations(); + QVERIFY(!antivirusInfos.empty()); + QCOMPARE(antivirusInfos[0]->getDisplayName(), QString("Windows Defender")); + QCOMPARE(antivirusInfos[0]->getLastUpdate(), QString("")); + QCOMPARE(antivirusInfos[0]->getExePath(), QString("windowsdefender://")); + QCOMPARE(spy.count(), 1); + } + + + void test_parsingTwoAntivirusInformation() + { + QSignalSpy spy(mAntivirusDetection.data(), &DiagnosisAntivirusDetection::fireAntivirusInformationChanged); + QVERIFY(mAntivirusDetection->getAntivirusInformations().empty()); + QCOMPARE(spy.count(), 0); + + const QString& fileContent = getTestData(QStringLiteral("antivir_two_antivirus.txt")); + mAntivirusDetection->parseAntivirInfos(fileContent); + auto antivirusInfos = mAntivirusDetection->getAntivirusInformations(); + QVERIFY(!antivirusInfos.empty()); + QCOMPARE(antivirusInfos[0]->getDisplayName(), QString("BullGuard Antivirus")); + QCOMPARE(antivirusInfos[0]->getLastUpdate(), QString("Fri, 30 Nov 2018 15:04:13 GMT")); + QCOMPARE(antivirusInfos[0]->getExePath(), QString("C:\\Program Files\\BullGuard Ltd\\BullGuard\\BullGuard.exe")); + QCOMPARE(antivirusInfos[1]->getDisplayName(), QString("Windows Defender")); + QCOMPARE(antivirusInfos[1]->getLastUpdate(), QString("Mon, 26 Nov 2018 10:34:23 GMT")); + QCOMPARE(antivirusInfos[1]->getExePath(), QString("windowsdefender://")); + QCOMPARE(spy.count(), 1); + } + + + void test_parsingTwoBrokenAntivirusInformation() + { + QSignalSpy spy(mAntivirusDetection.data(), &DiagnosisAntivirusDetection::fireAntivirusInformationChanged); + QVERIFY(mAntivirusDetection->getAntivirusInformations().empty()); + QCOMPARE(spy.count(), 0); + + const QString& fileContent = getTestData(QStringLiteral("antivir_two_broken_antivirus.txt")); + mAntivirusDetection->parseAntivirInfos(fileContent); + auto antivirusInfos = mAntivirusDetection->getAntivirusInformations(); + QVERIFY(antivirusInfos.empty()); + QCOMPARE(spy.count(), 1); + } + + +}; + +QTEST_GUILESS_MAIN(test_DiagnosisAntivirusDetection) +#include "test_DiagnosisAntivirusDetection.moc" diff --git a/test/qt/core/test_DiagnosisConnectionTest.cpp b/test/qt/core/test_DiagnosisConnectionTest.cpp index 352480904..4f9ca445d 100644 --- a/test/qt/core/test_DiagnosisConnectionTest.cpp +++ b/test/qt/core/test_DiagnosisConnectionTest.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DiagnosisConnectionTest * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisConnectionTest.h" diff --git a/test/qt/core/test_DiagnosisModel.cpp b/test/qt/core/test_DiagnosisModel.cpp index 82409d6cf..b66a9a552 100644 --- a/test/qt/core/test_DiagnosisModel.cpp +++ b/test/qt/core/test_DiagnosisModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DiagnosisModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "DiagnosisModel.h" diff --git a/test/qt/core/test_SelfAuthenticationData.cpp b/test/qt/core/test_SelfAuthenticationData.cpp index 87741e990..11d4f6616 100644 --- a/test/qt/core/test_SelfAuthenticationData.cpp +++ b/test/qt/core/test_SelfAuthenticationData.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref SelfAuthenticationData * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfAuthenticationData.h" diff --git a/test/qt/core/test_TcToken.cpp b/test/qt/core/test_TcToken.cpp index 6db737586..cc820dfd7 100644 --- a/test/qt/core/test_TcToken.cpp +++ b/test/qt/core/test_TcToken.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref TcToken * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "TcToken.h" diff --git a/test/qt/drivers/test_ReaderDetector.cpp b/test/qt/drivers/test_ReaderDetector.cpp index 2d1a53983..042b959e5 100644 --- a/test/qt/drivers/test_ReaderDetector.cpp +++ b/test/qt/drivers/test_ReaderDetector.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ReaderDetector * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDetector.h" diff --git a/test/qt/export/test_PdfExporter.cpp b/test/qt/export/test_PdfExporter.cpp index 1ee4c5832..e103e759f 100644 --- a/test/qt/export/test_PdfExporter.cpp +++ b/test/qt/export/test_PdfExporter.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PdfExporter * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "PdfExporter.h" diff --git a/test/qt/file_provider/test_Downloader.cpp b/test/qt/file_provider/test_Downloader.cpp index d87fd1053..a627cdc6e 100644 --- a/test/qt/file_provider/test_Downloader.cpp +++ b/test/qt/file_provider/test_Downloader.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for class \ref Downloader * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "Downloader.h" diff --git a/test/qt/file_provider/test_FileProvider.cpp b/test/qt/file_provider/test_FileProvider.cpp index 63e470edc..fc1de51b5 100644 --- a/test/qt/file_provider/test_FileProvider.cpp +++ b/test/qt/file_provider/test_FileProvider.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "FileProvider.h" diff --git a/test/qt/file_provider/test_UpdatableFile.cpp b/test/qt/file_provider/test_UpdatableFile.cpp index 5e0c401dc..023c6106f 100644 --- a/test/qt/file_provider/test_UpdatableFile.cpp +++ b/test/qt/file_provider/test_UpdatableFile.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "UpdatableFile.h" diff --git a/test/qt/global/test_BuildHelper.cpp b/test/qt/global/test_BuildHelper.cpp new file mode 100644 index 000000000..2006f3ba4 --- /dev/null +++ b/test/qt/global/test_BuildHelper.cpp @@ -0,0 +1,50 @@ +/*! + * \brief Unit tests for \ref BuildHelper + * + * \copyright Copyright (c) 2019 Governikus GmbH & Co. KG, Germany + */ + +#include "BuildHelper.h" + +#include +#include + +using namespace governikus; + +class test_BuildHelper + : public QObject +{ + Q_OBJECT + + private: +#ifdef Q_OS_ANDROID + const int mExpectedSize = 11; +#else + const int mExpectedSize = 10; +#endif + + private Q_SLOTS: + void processInformationHeader() + { + QStringList list; + BuildHelper::processInformationHeader([&list](const QString& pKey, const QString&){ + list << pKey; + }); + QCOMPARE(list.size(), mExpectedSize); + } + + + void getInformationHeader() + { + const auto& info = BuildHelper::getInformationHeader(); + + QCOMPARE(info.size(), mExpectedSize); + QCOMPARE(info.first().first, QLatin1String("Application")); + QCOMPARE(info.last().first, QLatin1String("OpenSSL Version")); + } + + +}; + +QTEST_GUILESS_MAIN(test_BuildHelper) +#include "test_BuildHelper.moc" diff --git a/test/qt/global/test_CardReturnCode.cpp b/test/qt/global/test_CardReturnCode.cpp index 08cde515f..5e3e482dd 100644 --- a/test/qt/global/test_CardReturnCode.cpp +++ b/test/qt/global/test_CardReturnCode.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for return codes. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardReturnCode.h" diff --git a/test/qt/global/test_DeviceInfo.cpp b/test/qt/global/test_DeviceInfo.cpp index 7af58d51a..2785dafd8 100644 --- a/test/qt/global/test_DeviceInfo.cpp +++ b/test/qt/global/test_DeviceInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DeviceInfo * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/global/test_ECardApiResult.cpp b/test/qt/global/test_ECardApiResult.cpp index dddc5a0cb..2f1423c5a 100644 --- a/test/qt/global/test_ECardApiResult.cpp +++ b/test/qt/global/test_ECardApiResult.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "CardReturnCode.h" diff --git a/test/qt/global/test_EnumHelper.cpp b/test/qt/global/test_EnumHelper.cpp index 06a3e2094..7f5f6b4cd 100644 --- a/test/qt/global/test_EnumHelper.cpp +++ b/test/qt/global/test_EnumHelper.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for EnumHelper. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "EnumHelper.h" diff --git a/test/qt/global/test_Env.cpp b/test/qt/global/test_Env.cpp index 7e2cac1c2..ce4a0ee1f 100644 --- a/test/qt/global/test_Env.cpp +++ b/test/qt/global/test_Env.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Env * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "Env.h" diff --git a/test/qt/global/test_FileDestination.cpp b/test/qt/global/test_FileDestination.cpp index e694893e3..3bfe51caa 100644 --- a/test/qt/global/test_FileDestination.cpp +++ b/test/qt/global/test_FileDestination.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref FileDestination * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "FileDestination.h" diff --git a/test/qt/global/test_FuncUtils.cpp b/test/qt/global/test_FuncUtils.cpp index e68e29230..a36f2ed5e 100644 --- a/test/qt/global/test_FuncUtils.cpp +++ b/test/qt/global/test_FuncUtils.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref FuncUtils * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "FuncUtils.h" diff --git a/test/qt/global/test_GlobalStatus.cpp b/test/qt/global/test_GlobalStatus.cpp index 9ec3c99a0..cb04b94c6 100644 --- a/test/qt/global/test_GlobalStatus.cpp +++ b/test/qt/global/test_GlobalStatus.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref GlobalStatus. * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "GlobalStatus.h" diff --git a/test/qt/global/test_Initializer.cpp b/test/qt/global/test_Initializer.cpp index 2160d36a0..2a800cb29 100644 --- a/test/qt/global/test_Initializer.cpp +++ b/test/qt/global/test_Initializer.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Initializer * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "Initializer.h" diff --git a/test/qt/global/test_LanguageLoader.cpp b/test/qt/global/test_LanguageLoader.cpp index 6abd8a16b..1dea6b627 100644 --- a/test/qt/global/test_LanguageLoader.cpp +++ b/test/qt/global/test_LanguageLoader.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref LanguageLoader * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "LanguageLoader.h" diff --git a/test/qt/global/test_LogHandler.cpp b/test/qt/global/test_LogHandler.cpp index 6a4058ac6..605a2bf27 100644 --- a/test/qt/global/test_LogHandler.cpp +++ b/test/qt/global/test_LogHandler.cpp @@ -1,13 +1,23 @@ /*! * \brief Unit tests for \ref LogHandler * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "LogHandler.h" #include +#ifndef Q_OS_WIN +#include +#include +#include +#endif + +Q_DECLARE_LOGGING_CATEGORY(fileprovider) +Q_DECLARE_LOGGING_CATEGORY(securestorage) +Q_DECLARE_LOGGING_CATEGORY(configuration) + using namespace governikus; class test_LogHandler @@ -15,6 +25,26 @@ class test_LogHandler { Q_OBJECT + void fakeLastModifiedAndLastAccessTime(const QString& pPath) + { + #ifdef Q_OS_WIN + Q_UNUSED(pPath); + #else + struct timeval tv[2]; + + struct timeval& accessTime = tv[0]; + gettimeofday(&accessTime, nullptr); + + struct timeval& modifyTime = tv[1]; + gettimeofday(&modifyTime, nullptr); + + time_t fiveteenDays = 60 * 60 * 24 * 15; + modifyTime.tv_sec -= fiveteenDays; + utimes(pPath.toLatin1().constData(), tv); + #endif + } + + private Q_SLOTS: void initTestCase() { @@ -25,6 +55,8 @@ class test_LogHandler void cleanup() { Env::getSingleton()->resetBacklog(); + Env::getSingleton()->setUseHandler(true); + Env::getSingleton()->setLogfile(true); } @@ -132,6 +164,8 @@ class test_LogHandler { const auto& logger = Env::getSingleton(); logger->resetBacklog(); + logger->setUseHandler(false); + QVERIFY(!logger->useHandler()); QVERIFY(logger->useLogfile()); // will backlog @@ -168,6 +202,156 @@ class test_LogHandler } + void removeUpOldLogfiles() + { + #ifdef Q_OS_WIN + QSKIP("File time stamp mocking unimplemented on windows"); + #endif + + const auto& logger = Env::getSingleton(); + + const auto& initialFiles = logger->getOtherLogfiles(); + QTemporaryFile tmp(LogHandler::getLogFileTemplate()); + QVERIFY(tmp.open()); + tmp.fileName(); // touch it + const auto& filesWithMock = logger->getOtherLogfiles(); + QVERIFY(filesWithMock.size() > initialFiles.size()); + + logger->removeOldLogfiles(); + QVERIFY(tmp.exists()); + QCOMPARE(filesWithMock.size(), logger->getOtherLogfiles().size()); + + fakeLastModifiedAndLastAccessTime(tmp.fileName()); + logger->removeOldLogfiles(); + QCOMPARE(logger->getOtherLogfiles().size(), initialFiles.size()); + QVERIFY(!tmp.exists()); + } + + + void removeUpMultipleOldLogfilesWithInit() + { + #ifdef Q_OS_WIN + QSKIP("File time stamp mocking unimplemented on windows"); + #endif + + const auto& logger = Env::getSingleton(); + logger->reset(); + + const auto& initialFiles = logger->getOtherLogfiles(); + QTemporaryFile tmp1(LogHandler::getLogFileTemplate()); + QVERIFY(tmp1.open()); + tmp1.fileName(); // touch it + + QTemporaryFile tmp2(LogHandler::getLogFileTemplate()); + QVERIFY(tmp2.open()); + tmp2.fileName(); // touch it + + const auto& filesWithMock = logger->getOtherLogfiles(); + QVERIFY(filesWithMock.size() > initialFiles.size()); + + fakeLastModifiedAndLastAccessTime(tmp1.fileName()); + fakeLastModifiedAndLastAccessTime(tmp2.fileName()); + logger->init(); + QTRY_COMPARE(logger->getOtherLogfiles().size(), initialFiles.size()); + QVERIFY(!tmp1.exists()); + QVERIFY(!tmp2.exists()); + } + + + void getCriticalLogWindow() + { + const auto& logger = Env::getSingleton(); + logger->setCriticalLogCapacity(3); + + QVERIFY(!logger->hasCriticalLog()); + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + for (int i = 0; i < 10; ++i) + { + qDebug() << "debug dummy"; + } + QVERIFY(!logger->hasCriticalLog()); + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + + qWarning() << "warning dummy"; + qInfo() << "info dummy"; + QVERIFY(!logger->hasCriticalLog()); + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + + qCritical() << "critical dummy"; + QVERIFY(logger->hasCriticalLog()); + + auto window = logger->getCriticalLogWindow(); + QVERIFY(window.size() > 0); + QVERIFY(!window.contains("debug dummy")); + QVERIFY(window.contains("warning dummy")); + QVERIFY(window.contains("info dummy")); + QVERIFY(window.contains("critical dummy")); + + qDebug() << "debug dummy"; + qCritical() << "critical 2 dummy"; + QVERIFY(!window.contains("debug dummy")); + QVERIFY(window.contains("warning dummy")); + QVERIFY(window.contains("info dummy")); + QVERIFY(window.contains("critical dummy")); + QVERIFY(!window.contains("critical 2 dummy")); + + logger->resetBacklog(); + QVERIFY(!logger->hasCriticalLog()); + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + } + + + void getCriticalLogWindowIgnore() + { + const auto& logger = Env::getSingleton(); + logger->setCriticalLogCapacity(4); + + QVERIFY(!logger->hasCriticalLog()); + qCCritical(securestorage) << "do not log 1"; + qCCritical(securestorage) << "do not log 2"; + qCCritical(fileprovider) << "do not log 3"; + qCCritical(configuration) << "do not log 4"; + QVERIFY(!logger->hasCriticalLog()); + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + + qCritical() << "critical dummy"; + auto window = logger->getCriticalLogWindow(); + QVERIFY(logger->hasCriticalLog()); + QVERIFY(window.size() > 0); + QVERIFY(!window.contains("do not log 1")); + QVERIFY(window.contains("do not log 2")); + QVERIFY(window.contains("do not log 3")); + QVERIFY(window.contains("do not log 4")); + QVERIFY(window.contains("critical dummy")); + } + + + void getCriticalLogWindowWithoutLogfile() + { + const auto& logger = Env::getSingleton(); + logger->setCriticalLogCapacity(10); + QCOMPARE(logger->getCriticalLogCapacity(), 10); + logger->setLogfile(false); + + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + QVERIFY(!logger->hasCriticalLog()); + + qCritical() << "critical dummy"; + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + QVERIFY(!logger->hasCriticalLog()); + + logger->setLogfile(true); + qCritical() << "critical dummy"; + QVERIFY(logger->getCriticalLogWindow().contains("critical dummy")); + QVERIFY(logger->hasCriticalLog()); + + logger->setLogfile(false); + logger->setLogfile(true); + QCOMPARE(logger->getCriticalLogWindow(), QByteArray()); + QVERIFY(!logger->hasCriticalLog()); + } + + }; QTEST_GUILESS_MAIN(test_LogHandler) diff --git a/test/qt/global/test_Randomizer.cpp b/test/qt/global/test_Randomizer.cpp index c04f387de..5c610bd41 100644 --- a/test/qt/global/test_Randomizer.cpp +++ b/test/qt/global/test_Randomizer.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref Randomizer * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "Randomizer.h" diff --git a/test/qt/global/test_ResourceLoader.cpp b/test/qt/global/test_ResourceLoader.cpp index 73997b19e..005ed00c7 100644 --- a/test/qt/global/test_ResourceLoader.cpp +++ b/test/qt/global/test_ResourceLoader.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ResourceLoader * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ResourceLoader.h" diff --git a/test/qt/global/test_ScopeGuard.cpp b/test/qt/global/test_ScopeGuard.cpp index 4ada370db..fcbb97bf2 100644 --- a/test/qt/global/test_ScopeGuard.cpp +++ b/test/qt/global/test_ScopeGuard.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ScopeGuard * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ScopeGuard.h" diff --git a/test/qt/global/test_VersionInfo.cpp b/test/qt/global/test_VersionInfo.cpp index 67e856828..20afa3040 100644 --- a/test/qt/global/test_VersionInfo.cpp +++ b/test/qt/global/test_VersionInfo.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include diff --git a/test/qt/global/test_VersionNumber.cpp b/test/qt/global/test_VersionNumber.cpp index c871b6b14..879da93c5 100644 --- a/test/qt/global/test_VersionNumber.cpp +++ b/test/qt/global/test_VersionNumber.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref VersionNumber. * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "VersionNumber.h" diff --git a/test/qt/jsonapi/test_Message.cpp b/test/qt/jsonapi/test_Message.cpp index 7de401617..1a5256900 100644 --- a/test/qt/jsonapi/test_Message.cpp +++ b/test/qt/jsonapi/test_Message.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MessageDispatcher * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "MessageDispatcher.h" diff --git a/test/qt/jsonapi/test_MsgContext.cpp b/test/qt/jsonapi/test_MsgContext.cpp index 2a8ccbc8f..6abf7557a 100644 --- a/test/qt/jsonapi/test_MsgContext.cpp +++ b/test/qt/jsonapi/test_MsgContext.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgContext * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgContext.h" diff --git a/test/qt/jsonapi/test_MsgHandler.cpp b/test/qt/jsonapi/test_MsgHandler.cpp index 83ef2849e..5e1de12e7 100644 --- a/test/qt/jsonapi/test_MsgHandler.cpp +++ b/test/qt/jsonapi/test_MsgHandler.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandler * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandler.h" diff --git a/test/qt/jsonapi/test_MsgHandlerAccessRights.cpp b/test/qt/jsonapi/test_MsgHandlerAccessRights.cpp index 432892de5..86ba07fe7 100644 --- a/test/qt/jsonapi/test_MsgHandlerAccessRights.cpp +++ b/test/qt/jsonapi/test_MsgHandlerAccessRights.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerAccessRights * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerAccessRights.h" diff --git a/test/qt/jsonapi/test_MsgHandlerApiLevel.cpp b/test/qt/jsonapi/test_MsgHandlerApiLevel.cpp index 56ec22612..9644bab35 100644 --- a/test/qt/jsonapi/test_MsgHandlerApiLevel.cpp +++ b/test/qt/jsonapi/test_MsgHandlerApiLevel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerApiLevel * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerApiLevel.h" diff --git a/test/qt/jsonapi/test_MsgHandlerAuth.cpp b/test/qt/jsonapi/test_MsgHandlerAuth.cpp index 14b3a5ad5..1d128eae5 100644 --- a/test/qt/jsonapi/test_MsgHandlerAuth.cpp +++ b/test/qt/jsonapi/test_MsgHandlerAuth.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerAuth * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerAuth.h" diff --git a/test/qt/jsonapi/test_MsgHandlerCertificate.cpp b/test/qt/jsonapi/test_MsgHandlerCertificate.cpp index 9e9aca43f..c6732a78e 100644 --- a/test/qt/jsonapi/test_MsgHandlerCertificate.cpp +++ b/test/qt/jsonapi/test_MsgHandlerCertificate.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerCertificate * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerCertificate.h" diff --git a/test/qt/jsonapi/test_MsgHandlerEnterCan.cpp b/test/qt/jsonapi/test_MsgHandlerEnterCan.cpp index a6903f5e6..c19b3be0b 100644 --- a/test/qt/jsonapi/test_MsgHandlerEnterCan.cpp +++ b/test/qt/jsonapi/test_MsgHandlerEnterCan.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerEnterCan * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerEnterCan.h" diff --git a/test/qt/jsonapi/test_MsgHandlerEnterPin.cpp b/test/qt/jsonapi/test_MsgHandlerEnterPin.cpp index 7abdd6769..5b3d528d7 100644 --- a/test/qt/jsonapi/test_MsgHandlerEnterPin.cpp +++ b/test/qt/jsonapi/test_MsgHandlerEnterPin.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerEnterPin * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerEnterPin.h" diff --git a/test/qt/jsonapi/test_MsgHandlerEnterPuk.cpp b/test/qt/jsonapi/test_MsgHandlerEnterPuk.cpp index 42f69ad42..4cce0e048 100644 --- a/test/qt/jsonapi/test_MsgHandlerEnterPuk.cpp +++ b/test/qt/jsonapi/test_MsgHandlerEnterPuk.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerEnterPuk * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerEnterPuk.h" diff --git a/test/qt/jsonapi/test_MsgHandlerInsertCard.cpp b/test/qt/jsonapi/test_MsgHandlerInsertCard.cpp index a131dd589..ecf7fad7c 100644 --- a/test/qt/jsonapi/test_MsgHandlerInsertCard.cpp +++ b/test/qt/jsonapi/test_MsgHandlerInsertCard.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerInsertCard * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerInsertCard.h" diff --git a/test/qt/jsonapi/test_MsgHandlerInternalError.cpp b/test/qt/jsonapi/test_MsgHandlerInternalError.cpp index 7c87beae2..3d8863151 100644 --- a/test/qt/jsonapi/test_MsgHandlerInternalError.cpp +++ b/test/qt/jsonapi/test_MsgHandlerInternalError.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerInternalError * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerInternalError.h" diff --git a/test/qt/jsonapi/test_MsgHandlerReader.cpp b/test/qt/jsonapi/test_MsgHandlerReader.cpp index 9ede58d04..c2a80e9cc 100644 --- a/test/qt/jsonapi/test_MsgHandlerReader.cpp +++ b/test/qt/jsonapi/test_MsgHandlerReader.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerReader * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerReader.h" diff --git a/test/qt/jsonapi/test_MsgHandlerReaderList.cpp b/test/qt/jsonapi/test_MsgHandlerReaderList.cpp index 23767e06c..666690252 100644 --- a/test/qt/jsonapi/test_MsgHandlerReaderList.cpp +++ b/test/qt/jsonapi/test_MsgHandlerReaderList.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref MsgHandlerReaderList * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/MsgHandlerReader.h" diff --git a/test/qt/network/test_DatagramHandlerImpl.cpp b/test/qt/network/test_DatagramHandlerImpl.cpp index 6fe279d15..23e8988bc 100644 --- a/test/qt/network/test_DatagramHandlerImpl.cpp +++ b/test/qt/network/test_DatagramHandlerImpl.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref DatagramHandlerImpl * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "DatagramHandlerImpl.h" diff --git a/test/qt/network/test_HttpRequest.cpp b/test/qt/network/test_HttpRequest.cpp index 7d5aef30b..f612cfc41 100644 --- a/test/qt/network/test_HttpRequest.cpp +++ b/test/qt/network/test_HttpRequest.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref HttpResponse * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpRequest.h" diff --git a/test/qt/network/test_HttpResponse.cpp b/test/qt/network/test_HttpResponse.cpp index 00a704df5..6c61988fd 100644 --- a/test/qt/network/test_HttpResponse.cpp +++ b/test/qt/network/test_HttpResponse.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref HttpResponse * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpResponse.h" diff --git a/test/qt/network/test_HttpServer.cpp b/test/qt/network/test_HttpServer.cpp index 424a7f695..e22b2cc4b 100644 --- a/test/qt/network/test_HttpServer.cpp +++ b/test/qt/network/test_HttpServer.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref HttpResponse * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "HttpServer.h" diff --git a/test/qt/network/test_NetworkManager.cpp b/test/qt/network/test_NetworkManager.cpp index e20fe0445..527c33d85 100644 --- a/test/qt/network/test_NetworkManager.cpp +++ b/test/qt/network/test_NetworkManager.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref NetworkManager * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "NetworkManager.h" diff --git a/test/qt/network/test_PortFile.cpp b/test/qt/network/test_PortFile.cpp index 9721d932f..291fe3255 100644 --- a/test/qt/network/test_PortFile.cpp +++ b/test/qt/network/test_PortFile.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PortFile * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "PortFile.h" diff --git a/test/qt/network/test_TlsChecker.cpp b/test/qt/network/test_TlsChecker.cpp index c4a550660..6cc91aac6 100644 --- a/test/qt/network/test_TlsChecker.cpp +++ b/test/qt/network/test_TlsChecker.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CertificateChecker * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "TlsChecker.h" diff --git a/test/qt/network/test_UrlUtil.cpp b/test/qt/network/test_UrlUtil.cpp index b914e66d6..2f8feaa36 100644 --- a/test/qt/network/test_UrlUtil.cpp +++ b/test/qt/network/test_UrlUtil.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref UrlUtil * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "UrlUtil.h" diff --git a/test/qt/network/test_WifiInfo.cpp b/test/qt/network/test_WifiInfo.cpp index 45e4bb7ab..9d2544550 100644 --- a/test/qt/network/test_WifiInfo.cpp +++ b/test/qt/network/test_WifiInfo.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref WifiInfo * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "WifiInfo.h" diff --git a/test/qt/qml/test_AuthModel.cpp b/test/qt/qml/test_AuthModel.cpp index ac238019f..bafab3877 100644 --- a/test/qt/qml/test_AuthModel.cpp +++ b/test/qt/qml/test_AuthModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref AuthModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "AuthModel.h" diff --git a/test/qt/qml/test_ChangePinModel.cpp b/test/qt/qml/test_ChangePinModel.cpp index 1088de3db..b02eee4aa 100644 --- a/test/qt/qml/test_ChangePinModel.cpp +++ b/test/qt/qml/test_ChangePinModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ChangePinModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "ChangePinModel.h" diff --git a/test/qt/qml/test_ChatModel.cpp b/test/qt/qml/test_ChatModel.cpp index 22eb80d05..e9a881040 100644 --- a/test/qt/qml/test_ChatModel.cpp +++ b/test/qt/qml/test_ChatModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ChatModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "ChatModel.h" diff --git a/test/qt/qml/test_ConnectivityManager.cpp b/test/qt/qml/test_ConnectivityManager.cpp index 85938bae3..4c5503c97 100644 --- a/test/qt/qml/test_ConnectivityManager.cpp +++ b/test/qt/qml/test_ConnectivityManager.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ConnectivityManager * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "ConnectivityManager.h" diff --git a/test/qt/qml/test_LogModel.cpp b/test/qt/qml/test_LogModel.cpp index 91a481fd2..e3c620f87 100644 --- a/test/qt/qml/test_LogModel.cpp +++ b/test/qt/qml/test_LogModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref LogModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "LogModel.h" diff --git a/test/qt/qml/test_NumberModel.cpp b/test/qt/qml/test_NumberModel.cpp index 78eb706e4..1272e9d44 100644 --- a/test/qt/qml/test_NumberModel.cpp +++ b/test/qt/qml/test_NumberModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref NumberModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "NumberModel.h" @@ -270,7 +270,7 @@ class test_NumberModel model.mContext = context; QCOMPARE(model.getInputError(), QStringLiteral("%1 %3.").arg( tr("A protocol error occurred. Please make sure that your ID card is placed correctly on the card reader and try again. If the problem occurs again, please contact our support at"), - tr("https://www.ausweisapp.bund.de/en/service/support/"), + tr("https://www.ausweisapp.bund.de/en/qa/support/"), tr("AusweisApp2 Support"))); QVERIFY(model.hasError()); diff --git a/test/qt/qml/test_ProviderCategoryFilterModel.cpp b/test/qt/qml/test_ProviderCategoryFilterModel.cpp index b388e8539..86030c31c 100644 --- a/test/qt/qml/test_ProviderCategoryFilterModel.cpp +++ b/test/qt/qml/test_ProviderCategoryFilterModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ProviderCategoryFilterModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderCategoryFilterModel.h" diff --git a/test/qt/qml/test_ProviderModel.cpp b/test/qt/qml/test_ProviderModel.cpp index 344790a5b..48a2f4c35 100644 --- a/test/qt/qml/test_ProviderModel.cpp +++ b/test/qt/qml/test_ProviderModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ProviderModel * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "ProviderModel.h" diff --git a/test/qt/qml/test_QmlFileStructure.cpp b/test/qt/qml/test_QmlFileStructure.cpp index e16ed26d1..b9e950fdd 100644 --- a/test/qt/qml/test_QmlFileStructure.cpp +++ b/test/qt/qml/test_QmlFileStructure.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "ResourceLoader.h" diff --git a/test/qt/qml/test_RemoteServiceModel.cpp b/test/qt/qml/test_RemoteServiceModel.cpp index 0933b6b1e..c151014c6 100644 --- a/test/qt/qml/test_RemoteServiceModel.cpp +++ b/test/qt/qml/test_RemoteServiceModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ProviderModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServiceModel.h" diff --git a/test/qt/qml/test_SelfAuthModel.cpp b/test/qt/qml/test_SelfAuthModel.cpp index 749cd4cfb..7d47da304 100644 --- a/test/qt/qml/test_SelfAuthModel.cpp +++ b/test/qt/qml/test_SelfAuthModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref SelfAuthModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "SelfAuthModel.h" diff --git a/test/qt/qml/test_WorkflowModel.cpp b/test/qt/qml/test_WorkflowModel.cpp index 83ef44e04..fab17a3d1 100644 --- a/test/qt/qml/test_WorkflowModel.cpp +++ b/test/qt/qml/test_WorkflowModel.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref WorkflowModel * - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "WorkflowModel.h" diff --git a/test/qt/remote_device/messages/test_Discovery.cpp b/test/qt/remote_device/messages/test_Discovery.cpp index c9e6adf02..b42653a3b 100644 --- a/test/qt/remote_device/messages/test_Discovery.cpp +++ b/test/qt/remote_device/messages/test_Discovery.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/Discovery.h" diff --git a/test/qt/remote_device/messages/test_IfdConnect.cpp b/test/qt/remote_device/messages/test_IfdConnect.cpp index 67009cf5a..fdca65858 100644 --- a/test/qt/remote_device/messages/test_IfdConnect.cpp +++ b/test/qt/remote_device/messages/test_IfdConnect.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdConnect.h" diff --git a/test/qt/remote_device/messages/test_IfdConnectResponse.cpp b/test/qt/remote_device/messages/test_IfdConnectResponse.cpp index b41451835..216aa7524 100644 --- a/test/qt/remote_device/messages/test_IfdConnectResponse.cpp +++ b/test/qt/remote_device/messages/test_IfdConnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdConnectResponse.h" diff --git a/test/qt/remote_device/messages/test_IfdDisconnect.cpp b/test/qt/remote_device/messages/test_IfdDisconnect.cpp index dbe5dc76a..13849edec 100644 --- a/test/qt/remote_device/messages/test_IfdDisconnect.cpp +++ b/test/qt/remote_device/messages/test_IfdDisconnect.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdDisconnect.h" diff --git a/test/qt/remote_device/messages/test_IfdDisconnectResponse.cpp b/test/qt/remote_device/messages/test_IfdDisconnectResponse.cpp index 1fa61d986..afc034b18 100644 --- a/test/qt/remote_device/messages/test_IfdDisconnectResponse.cpp +++ b/test/qt/remote_device/messages/test_IfdDisconnectResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdDisconnectResponse.h" diff --git a/test/qt/remote_device/messages/test_IfdError.cpp b/test/qt/remote_device/messages/test_IfdError.cpp index 474a084f5..d65cefa07 100644 --- a/test/qt/remote_device/messages/test_IfdError.cpp +++ b/test/qt/remote_device/messages/test_IfdError.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdError.h" diff --git a/test/qt/remote_device/messages/test_IfdEstablishContext.cpp b/test/qt/remote_device/messages/test_IfdEstablishContext.cpp index 01d80d69b..a4cd10545 100644 --- a/test/qt/remote_device/messages/test_IfdEstablishContext.cpp +++ b/test/qt/remote_device/messages/test_IfdEstablishContext.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdEstablishContext.h" diff --git a/test/qt/remote_device/messages/test_IfdEstablishContextResponse.cpp b/test/qt/remote_device/messages/test_IfdEstablishContextResponse.cpp index c5d759d93..d18c30d78 100644 --- a/test/qt/remote_device/messages/test_IfdEstablishContextResponse.cpp +++ b/test/qt/remote_device/messages/test_IfdEstablishContextResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdEstablishContextResponse.h" diff --git a/test/qt/remote_device/messages/test_IfdEstablishPaceChannel.cpp b/test/qt/remote_device/messages/test_IfdEstablishPaceChannel.cpp index 2989a0988..6137456a1 100644 --- a/test/qt/remote_device/messages/test_IfdEstablishPaceChannel.cpp +++ b/test/qt/remote_device/messages/test_IfdEstablishPaceChannel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdEstablishPaceChannel.h" diff --git a/test/qt/remote_device/messages/test_IfdEstablishPaceChannelResponse.cpp b/test/qt/remote_device/messages/test_IfdEstablishPaceChannelResponse.cpp index e5d776f89..0d710f88a 100644 --- a/test/qt/remote_device/messages/test_IfdEstablishPaceChannelResponse.cpp +++ b/test/qt/remote_device/messages/test_IfdEstablishPaceChannelResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdEstablishPaceChannelResponse.h" diff --git a/test/qt/remote_device/messages/test_IfdGetStatus.cpp b/test/qt/remote_device/messages/test_IfdGetStatus.cpp index bc1cb1d39..178d7cead 100644 --- a/test/qt/remote_device/messages/test_IfdGetStatus.cpp +++ b/test/qt/remote_device/messages/test_IfdGetStatus.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdGetStatus.h" diff --git a/test/qt/remote_device/messages/test_IfdModifyPin.cpp b/test/qt/remote_device/messages/test_IfdModifyPin.cpp index fe1351f50..ae84b3146 100644 --- a/test/qt/remote_device/messages/test_IfdModifyPin.cpp +++ b/test/qt/remote_device/messages/test_IfdModifyPin.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdModifyPin.h" diff --git a/test/qt/remote_device/messages/test_IfdModifyPinResponse.cpp b/test/qt/remote_device/messages/test_IfdModifyPinResponse.cpp index 8ce451eb0..474f9ddc0 100644 --- a/test/qt/remote_device/messages/test_IfdModifyPinResponse.cpp +++ b/test/qt/remote_device/messages/test_IfdModifyPinResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdModifyPinResponse.h" diff --git a/test/qt/remote_device/messages/test_IfdStatus.cpp b/test/qt/remote_device/messages/test_IfdStatus.cpp index 6987088ed..2f9669eb8 100644 --- a/test/qt/remote_device/messages/test_IfdStatus.cpp +++ b/test/qt/remote_device/messages/test_IfdStatus.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdStatus.h" diff --git a/test/qt/remote_device/messages/test_IfdTransmit.cpp b/test/qt/remote_device/messages/test_IfdTransmit.cpp index 850d7866e..ad9ae9da6 100644 --- a/test/qt/remote_device/messages/test_IfdTransmit.cpp +++ b/test/qt/remote_device/messages/test_IfdTransmit.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdTransmit.h" diff --git a/test/qt/remote_device/messages/test_IfdTransmitResponse.cpp b/test/qt/remote_device/messages/test_IfdTransmitResponse.cpp index 48d9259de..7bc383597 100644 --- a/test/qt/remote_device/messages/test_IfdTransmitResponse.cpp +++ b/test/qt/remote_device/messages/test_IfdTransmitResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdTransmitResponse.h" diff --git a/test/qt/remote_device/messages/test_IfdVersion.cpp b/test/qt/remote_device/messages/test_IfdVersion.cpp index 42bdcb373..46d4358b4 100644 --- a/test/qt/remote_device/messages/test_IfdVersion.cpp +++ b/test/qt/remote_device/messages/test_IfdVersion.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/IfdVersion.h" diff --git a/test/qt/remote_device/messages/test_RemoteMessage.cpp b/test/qt/remote_device/messages/test_RemoteMessage.cpp index 9ad8cd687..8ef18c36d 100644 --- a/test/qt/remote_device/messages/test_RemoteMessage.cpp +++ b/test/qt/remote_device/messages/test_RemoteMessage.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/RemoteMessage.h" diff --git a/test/qt/remote_device/messages/test_RemoteMessageResponse.cpp b/test/qt/remote_device/messages/test_RemoteMessageResponse.cpp index fba387b4d..04e54d85c 100644 --- a/test/qt/remote_device/messages/test_RemoteMessageResponse.cpp +++ b/test/qt/remote_device/messages/test_RemoteMessageResponse.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "messages/RemoteMessageResponse.h" diff --git a/test/qt/remote_device/test_RemoteClientImpl.cpp b/test/qt/remote_device/test_RemoteClientImpl.cpp index d8fce1d73..c2d4445e8 100644 --- a/test/qt/remote_device/test_RemoteClientImpl.cpp +++ b/test/qt/remote_device/test_RemoteClientImpl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteClientImpl.h" diff --git a/test/qt/remote_device/test_RemoteConnector.cpp b/test/qt/remote_device/test_RemoteConnector.cpp index 3f774042c..66642b2af 100644 --- a/test/qt/remote_device/test_RemoteConnector.cpp +++ b/test/qt/remote_device/test_RemoteConnector.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteConnector * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteConnectorImpl.h" diff --git a/test/qt/remote_device/test_RemoteDeviceDescriptor.cpp b/test/qt/remote_device/test_RemoteDeviceDescriptor.cpp index c5aed4992..56e730ac2 100644 --- a/test/qt/remote_device/test_RemoteDeviceDescriptor.cpp +++ b/test/qt/remote_device/test_RemoteDeviceDescriptor.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDeviceDescriptor.h" diff --git a/test/qt/remote_device/test_RemoteDeviceListImpl.cpp b/test/qt/remote_device/test_RemoteDeviceListImpl.cpp index 710902a8e..f07af511c 100644 --- a/test/qt/remote_device/test_RemoteDeviceListImpl.cpp +++ b/test/qt/remote_device/test_RemoteDeviceListImpl.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDeviceList.h" diff --git a/test/qt/remote_device/test_RemoteDeviceModel.cpp b/test/qt/remote_device/test_RemoteDeviceModel.cpp index 441af213f..1e7b88505 100644 --- a/test/qt/remote_device/test_RemoteDeviceModel.cpp +++ b/test/qt/remote_device/test_RemoteDeviceModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDeviceModel.h" diff --git a/test/qt/remote_device/test_RemoteDisp.cpp b/test/qt/remote_device/test_RemoteDisp.cpp index 9a3765549..3d7d17926 100644 --- a/test/qt/remote_device/test_RemoteDisp.cpp +++ b/test/qt/remote_device/test_RemoteDisp.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteDispatcher * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteDispatcherClient.h" diff --git a/test/qt/remote_device/test_RemoteReaderAdvertiser.cpp b/test/qt/remote_device/test_RemoteReaderAdvertiser.cpp index ffd6b32f3..bcc748c8d 100644 --- a/test/qt/remote_device/test_RemoteReaderAdvertiser.cpp +++ b/test/qt/remote_device/test_RemoteReaderAdvertiser.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteReaderAdvertiserImpl * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteReaderAdvertiser.h" diff --git a/test/qt/remote_device/test_RemoteReaderManagerPlugin.cpp b/test/qt/remote_device/test_RemoteReaderManagerPlugin.cpp index 3c99902d4..88c077594 100644 --- a/test/qt/remote_device/test_RemoteReaderManagerPlugin.cpp +++ b/test/qt/remote_device/test_RemoteReaderManagerPlugin.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteReaderManagerPlugIn * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "plugin/RemoteReaderManagerPlugIn.h" diff --git a/test/qt/remote_device/test_RemoteServerImpl.cpp b/test/qt/remote_device/test_RemoteServerImpl.cpp index fcaa6b0c4..bd29a5578 100644 --- a/test/qt/remote_device/test_RemoteServerImpl.cpp +++ b/test/qt/remote_device/test_RemoteServerImpl.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteServerImpl * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServerImpl.h" diff --git a/test/qt/remote_device/test_RemoteTlsServer.cpp b/test/qt/remote_device/test_RemoteTlsServer.cpp index 327cf2e69..083f0a951 100644 --- a/test/qt/remote_device/test_RemoteTlsServer.cpp +++ b/test/qt/remote_device/test_RemoteTlsServer.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteTlsServer * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteTlsServer.h" diff --git a/test/qt/remote_device/test_RemoteWebSocketServer.cpp b/test/qt/remote_device/test_RemoteWebSocketServer.cpp index 8e98023a0..536f510b3 100644 --- a/test/qt/remote_device/test_RemoteWebSocketServer.cpp +++ b/test/qt/remote_device/test_RemoteWebSocketServer.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteWebSocketServer * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteWebSocketServer.h" diff --git a/test/qt/remote_device/test_ServerMessageHandler.cpp b/test/qt/remote_device/test_ServerMessageHandler.cpp index b85d102ad..fda093456 100644 --- a/test/qt/remote_device/test_ServerMessageHandler.cpp +++ b/test/qt/remote_device/test_ServerMessageHandler.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref ServerMessageHandlerImpl * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ServerMessageHandler.h" diff --git a/test/qt/securestorage/test_SecureStorage.cpp b/test/qt/securestorage/test_SecureStorage.cpp index e7683f0a9..05091ea81 100644 --- a/test/qt/securestorage/test_SecureStorage.cpp +++ b/test/qt/securestorage/test_SecureStorage.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref SecureStorage * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include @@ -167,7 +167,7 @@ class test_SecureStorage QTest::addColumn("expiryDate"); QTest::newRow("production") << 0 << "appl.governikus-asp.de" << "TeleSec ServerPass Class 2 CA" << "2020-12-06T23:59:59Z"; - QTest::newRow("ci") << 1 << "*.tf.bos-test.de" << "govkgrootca" << "2018-12-29T09:59:02Z"; + QTest::newRow("ci") << 1 << "*.govkg.de" << "TeleSec ServerPass Class 2 CA" << "2021-03-12T23:59:59Z"; } diff --git a/test/qt/securestorage/test_TlsConfiguration.cpp b/test/qt/securestorage/test_TlsConfiguration.cpp index 83659f561..4b5ee908b 100644 --- a/test/qt/securestorage/test_TlsConfiguration.cpp +++ b/test/qt/securestorage/test_TlsConfiguration.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref TlsConfiguration * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "TlsConfiguration.h" diff --git a/test/qt/services/test_AppUpdatr.cpp b/test/qt/services/test_AppUpdatr.cpp index 8b57424a2..bc182c85a 100644 --- a/test/qt/services/test_AppUpdatr.cpp +++ b/test/qt/services/test_AppUpdatr.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref AppUpdater * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "AppUpdater.h" @@ -24,28 +24,28 @@ const char* test_jsonData = "{" " \"date\": \"2017-10-25T15:20:25\"," " \"platform\": \"mac\"," " \"version\": \"1.13.3+284-default-a2f3eafc47e9\"," - " \"url\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+284-default-a2f3eafc47e9.dmg\"," + " \"url\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+284-default-a2f3eafc47e9.dmg\"," " \"size\": 16531848," - " \"checksum\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+284-default-a2f3eafc47e9.dmg.sha256\"," - " \"notes\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/ReleaseNotes.html#1.13.3+284-default-a2f3eafc47e9\"" + " \"checksum\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+284-default-a2f3eafc47e9.dmg.sha256\"," + " \"notes\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/ReleaseNotes.html#1.13.3+284-default-a2f3eafc47e9\"" " }" ", {" " \"date\": \"2017-10-25T15:20:25\"," " \"platform\": \"win\"," " \"version\": \"1.13.3+285-default-8b1156a4acc5\"," - " \"url\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+285-default-8b1156a4acc5.msi\"," + " \"url\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+285-default-8b1156a4acc5.msi\"," " \"size\": 17633280," - " \"checksum\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+285-default-8b1156a4acc5.msi.sha256\"," - " \"notes\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/ReleaseNotes.html#1.13.3+285-default-8b1156a4acc5\"" + " \"checksum\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+285-default-8b1156a4acc5.msi.sha256\"," + " \"notes\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/ReleaseNotes.html#1.13.3+285-default-8b1156a4acc5\"" " }" ", {" " \"date\": \"2017-10-25T15:20:25\"," " \"platform\": \"src\"," " \"version\": \"1.13.3+277-default-54ea820b42b0.tar.gz\"," - " \"url\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+277-default-54ea820b42b0.tar.gz\"," + " \"url\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+277-default-54ea820b42b0.tar.gz\"," " \"size\": 8687552," - " \"checksum\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+277-default-54ea820b42b0.tar.gz.sha256\"," - " \"notes\": \"https://vtf-aajenkins.tf.bos-test.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/ReleaseNotes.html#1.13.3+277-default-54ea820b42b0.tar.gz\"" + " \"checksum\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/AusweisApp2-1.13.3+277-default-54ea820b42b0.tar.gz.sha256\"," + " \"notes\": \"https://ausweisapp-ci.govkg.de/job/default_Appcast/lastSuccessfulBuild/artifact/build/ReleaseNotes.html#1.13.3+277-default-54ea820b42b0.tar.gz\"" " }" "" " ]" diff --git a/test/qt/settings/test_GeneralSettings.cpp b/test/qt/settings/test_GeneralSettings.cpp index eafa7b6bb..d23a7c15b 100644 --- a/test/qt/settings/test_GeneralSettings.cpp +++ b/test/qt/settings/test_GeneralSettings.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref GeneralSettings * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include @@ -205,9 +205,12 @@ class test_GeneralSettings #if defined(Q_OS_IOS) QCOMPARE(mSettings->isRequestStoreFeedback(), false); #else - QCOMPARE(mSettings->isRequestStoreFeedback(), true); + QCOMPARE(mSettings->isRequestStoreFeedback(), false); #endif + mSettings->setRequestStoreFeedback(true); + mSettings->save(); + QCOMPARE(mSettings->isRequestStoreFeedback(), true); mSettings->setRequestStoreFeedback(false); mSettings->save(); QCOMPARE(mSettings->isRequestStoreFeedback(), false); diff --git a/test/qt/settings/test_HistorySettings.cpp b/test/qt/settings/test_HistorySettings.cpp index 4ffc136d6..d7718dd18 100644 --- a/test/qt/settings/test_HistorySettings.cpp +++ b/test/qt/settings/test_HistorySettings.cpp @@ -4,7 +4,7 @@ * All tests end with _QTEST to be able to identify them later. * All original history entry from AusweisApp2 do not have this. * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "HistorySettings.h" diff --git a/test/qt/settings/test_KeyPair.cpp b/test/qt/settings/test_KeyPair.cpp index c425d7c54..41488647b 100644 --- a/test/qt/settings/test_KeyPair.cpp +++ b/test/qt/settings/test_KeyPair.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref CertificateGenerator * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "KeyPair.h" diff --git a/test/qt/settings/test_PreVerificationSettings.cpp b/test/qt/settings/test_PreVerificationSettings.cpp index 12a986a7f..312eab076 100644 --- a/test/qt/settings/test_PreVerificationSettings.cpp +++ b/test/qt/settings/test_PreVerificationSettings.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref PreVerificationSettings * - * \copyright Copyright (c) 2014-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2014-2019 Governikus GmbH & Co. KG, Germany */ #include "PreVerificationSettings.h" diff --git a/test/qt/settings/test_RemoteServiceSettings.cpp b/test/qt/settings/test_RemoteServiceSettings.cpp index 6bdc81e4a..bc5b9c123 100644 --- a/test/qt/settings/test_RemoteServiceSettings.cpp +++ b/test/qt/settings/test_RemoteServiceSettings.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref RemoteSertviceSettings * - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "RemoteServiceSettings.h" diff --git a/test/qt/websocket/test_UIPlugInWebSocket.cpp b/test/qt/websocket/test_UIPlugInWebSocket.cpp index a88d3b7e3..2a9b7055a 100644 --- a/test/qt/websocket/test_UIPlugInWebSocket.cpp +++ b/test/qt/websocket/test_UIPlugInWebSocket.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref UIPlugInWebSocket * - * \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2016-2019 Governikus GmbH & Co. KG, Germany */ #include "UIPlugInWebSocket.h" diff --git a/test/qt/whitelist_client/test_Survey.cpp b/test/qt/whitelist_client/test_Survey.cpp index 177517faf..3b6dc0c5c 100644 --- a/test/qt/whitelist_client/test_Survey.cpp +++ b/test/qt/whitelist_client/test_Survey.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2018-2019 Governikus GmbH & Co. KG, Germany */ #include "Survey.h" diff --git a/test/qt/widget/test_HelpAction.cpp b/test/qt/widget/test_HelpAction.cpp index 64e877b1d..23e339c0d 100644 --- a/test/qt/widget/test_HelpAction.cpp +++ b/test/qt/widget/test_HelpAction.cpp @@ -1,7 +1,7 @@ /*! * \brief Unit tests for \ref HelpAction * - * \copyright Copyright (c) 2015-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2015-2019 Governikus GmbH & Co. KG, Germany */ #include "TestFileHelper.h" diff --git a/test/qt/widget/test_ReaderDriverModel.cpp b/test/qt/widget/test_ReaderDriverModel.cpp index 5e02e4ac3..004c58584 100644 --- a/test/qt/widget/test_ReaderDriverModel.cpp +++ b/test/qt/widget/test_ReaderDriverModel.cpp @@ -1,5 +1,5 @@ /*! - * \copyright Copyright (c) 2017-2018 Governikus GmbH & Co. KG, Germany + * \copyright Copyright (c) 2017-2019 Governikus GmbH & Co. KG, Germany */ #include "ReaderDriverModel.h" diff --git a/uncrustify.cfg b/uncrustify.cfg index 34033120e..051385043 100644 --- a/uncrustify.cfg +++ b/uncrustify.cfg @@ -1,4 +1,4 @@ -# Uncrustify-0.67_f +# Uncrustify-0.68_f newlines = lf input_tab_size = 4 output_tab_size = 4 @@ -35,6 +35,7 @@ sp_paren_paren = remove sp_cparen_oparen = ignore sp_balance_nested_parens = false sp_paren_brace = remove +sp_brace_brace = ignore sp_before_ptr_star = remove sp_before_unnamed_ptr_star = remove sp_between_ptr_star = remove @@ -50,6 +51,7 @@ sp_after_byref = force sp_after_byref_func = force sp_before_byref_func = remove sp_after_type = force +sp_after_decltype = ignore sp_before_template_paren = ignore sp_template_angle = remove sp_before_angle = remove @@ -63,8 +65,8 @@ sp_angle_shift = remove sp_permit_cpp11_shift = false sp_before_sparen = force sp_inside_sparen = remove -sp_inside_sparen_close = remove sp_inside_sparen_open = ignore +sp_inside_sparen_close = remove sp_after_sparen = remove sp_sparen_brace = remove sp_invariant_paren = ignore @@ -88,6 +90,8 @@ sp_before_mdatype_commas = ignore sp_between_mdatype_commas = ignore sp_paren_comma = force sp_before_ellipsis = ignore +sp_type_ellipsis = ignore +sp_paren_ellipsis = ignore sp_after_class_colon = force sp_before_class_colon = remove sp_after_constr_colon = ignore @@ -100,6 +104,9 @@ sp_after_cast = add sp_inside_paren_cast = ignore sp_cpp_cast_paren = remove sp_sizeof_paren = remove +sp_sizeof_ellipsis = ignore +sp_sizeof_ellipsis_paren = ignore +sp_decltype_paren = ignore sp_after_tag = remove sp_inside_braces_enum = remove sp_inside_braces_struct = remove @@ -131,6 +138,7 @@ sp_func_call_user_paren_paren = ignore sp_func_class_paren = remove sp_func_class_paren_empty = ignore sp_return_paren = remove +sp_return_brace = ignore sp_attribute_paren = ignore sp_defined_paren = ignore sp_throw_paren = remove @@ -214,6 +222,7 @@ sp_after_noexcept = ignore force_tab_after_define = false indent_columns = 4 indent_continue = 8 +indent_continue_class_head = 0 indent_single_newlines = false indent_param = 0 indent_with_tabs = 2 @@ -308,7 +317,9 @@ nl_func_leave_one_liners = false nl_cpp_lambda_leave_one_liners = true nl_if_leave_one_liners = false nl_while_leave_one_liners = false +nl_for_leave_one_liners = false nl_oc_msg_leave_one_liner = false +nl_oc_mdef_brace = ignore nl_oc_block_brace = ignore nl_oc_interface_brace = ignore nl_oc_implementation_brace = ignore @@ -365,9 +376,9 @@ nl_synchronized_brace = ignore nl_multi_line_cond = false nl_multi_line_define = false nl_before_case = true -nl_before_throw = ignore nl_after_case = true nl_case_colon_brace = ignore +nl_before_throw = ignore nl_namespace_brace = force nl_template_class = ignore nl_class_brace = force @@ -441,8 +452,6 @@ nl_before_do = ignore nl_after_do = ignore nl_ds_struct_enum_cmt = false nl_ds_struct_enum_close_brace = false -nl_before_func_class_def = 0 -nl_before_func_class_proto = 0 nl_class_colon = force nl_constr_colon = ignore nl_namespace_two_to_one_liner = false @@ -455,12 +464,15 @@ nl_split_for_one_liner = false nl_split_while_one_liner = false nl_max = 3 nl_max_blank_in_func = 2 +nl_before_func_body_proto = 0 +nl_before_func_body_def = 0 +nl_before_func_class_proto = 0 +nl_before_func_class_def = 0 nl_after_func_proto = 0 nl_after_func_proto_group = 0 nl_after_func_class_proto = 0 nl_after_func_class_proto_group = 0 -nl_before_func_body_def = 0 -nl_before_func_body_proto = 0 +nl_class_leave_one_liner_groups = false nl_after_func_body = 3 nl_after_func_body_class = 0 nl_after_func_body_one_liner = 0 @@ -479,6 +491,7 @@ nl_after_try_catch_finally = 0 nl_around_cs_property = 0 nl_between_get_set = 0 nl_property_brace = ignore +nl_inside_namespace = 0 eat_blanks_after_open_brace = false eat_blanks_before_close_brace = false nl_remove_extra_newlines = 0 @@ -511,6 +524,8 @@ align_func_params_span = 0 align_func_params_thresh = 0 align_func_params_gap = 0 align_same_func_call_params = false +align_same_func_call_params_span = 0 +align_same_func_call_params_thresh = 0 align_var_def_span = 0 align_var_def_star_style = 0 align_var_def_amp_style = 0 @@ -522,6 +537,7 @@ align_var_def_attribute = false align_var_def_inline = false align_assign_span = 0 align_assign_thresh = 0 +align_assign_decl_func = 0 align_enum_equ_span = 0 align_enum_equ_thresh = 0 align_var_class_span = 0 @@ -538,6 +554,7 @@ align_typedef_star_style = 0 align_typedef_amp_style = 0 align_right_cmt_span = 0 align_right_cmt_mix = false +align_right_cmt_same_level = false align_right_cmt_gap = 0 align_right_cmt_at_col = 0 align_func_proto_span = 0 @@ -564,10 +581,10 @@ cmt_indent_multi = true cmt_c_group = false cmt_c_nl_start = false cmt_c_nl_end = false +cmt_cpp_to_c = false cmt_cpp_group = false cmt_cpp_nl_start = false cmt_cpp_nl_end = false -cmt_cpp_to_c = false cmt_star_cont = false cmt_sp_before_star_cont = 0 cmt_sp_after_star_cont = 0 @@ -587,10 +604,10 @@ mod_full_brace_function = ignore mod_full_brace_if = force mod_full_brace_if_chain = false mod_full_brace_if_chain_only = false -mod_full_brace_nl = 0 -mod_full_brace_nl_block_rem_mlcond = false mod_full_brace_while = ignore mod_full_brace_using = ignore +mod_full_brace_nl = 0 +mod_full_brace_nl_block_rem_mlcond = false mod_paren_on_return = ignore mod_pawn_semicolon = false mod_full_paren_if_bool = false @@ -607,6 +624,7 @@ mod_sort_include = true mod_move_case_break = true mod_case_brace = ignore mod_remove_empty_return = false +mod_enum_last_comma = ignore mod_sort_oc_properties = false mod_sort_oc_property_class_weight = 0 mod_sort_oc_property_thread_safe_weight = 0 @@ -641,5 +659,5 @@ warn_level_tabs_found_in_verbatim_string_literals = 2 macro-open ASN1_ITEM_TEMPLATE macro-close ASN1_ITEM_TEMPLATE_END set PRIVATE Q_SIGNALS -# option(s) with 'not default' value: 151 +# option(s) with 'not default' value: 157 #