diff --git a/.travis.yml b/.travis.yml index b7fb89d..a1f76aa 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 1e4d104..581cccc 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 59b7e5a..fad0d6c 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 c3db5f7..d1a1bfa 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 89a1895..bfab901 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 7737992..03538c0 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 cc49d59..1d08808 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 c009456..0b602c0 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 d6f13b2..a43c7c4 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 0000000..f3ff314 --- /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 0000000..fbb9b64 --- /dev/null +++ b/docs/installation/CommunicationModel_de.pdf @@ -0,0 +1,486 @@ +%PDF-1.4 +%âãÏÓ +1 0 obj + << + /Title () + /Author () + /Subject () + /Keywords () + /Creator (yExport 1.5) + /Producer (org.freehep.graphicsio.pdf.YPDFGraphics2D 1.5) + /CreationDate (D:20190314162821+01'00') + /ModDate (D:20190314162821+01'00') + /Trapped /False + >> +endobj +2 0 obj + << + /Type /Catalog + /Pages 3 0 R + /ViewerPreferences 4 0 R + /OpenAction [5 0 R /Fit] + >> +endobj +4 0 obj + << + /FitWindow true + /CenterWindow false + >> +endobj +5 0 obj + << + /Parent 3 0 R + /Type /Page + /Contents 6 0 R + >> +endobj +6 0 obj + << + /Length 7 0 R + /Filter [/ASCII85Decode /FlateDecode] + >> +stream +Gb"07bDmmlYpD<3YG`ONb288R7KN^+E7KR^$OLorOO`PFrBDE3CRLU2hHAq,"!0?'JK13>8rk"O%s'OJ +H[5T]kC5_Fb9H;huEBDJ,_b5[ibEiJ,emX:QPPCJ)[rokN73ZmrS(aGFG!cCPMjcfDj^FJ'#7]eJ8,GduOg[ +09>7_d,4gC'<69T`Er9(7rRG`LG/Zph-8q0YJ9&nK>7E\0E9LepeQ83D&!#k&q$dk>5e9ncPc4js*b/W +kPeTF]JGkHVN3q#%q#MI-XX8l1G/PLHj@b\$qlYQMi^W^O2hq/` +Eh;=SlT^d7hu+Q_omp(ar7@M)We#PeqY,QUr*J3))qNnN;#cE%nW*YC./tEHrVI,.mIPfPQWc")lefJI +<(lgmpRh8#]"6dtrJtjbo^dPsFP$@Ts2U2sO`RYf`?-<>d$aBkgTi2OlUPf7IDbb@VIa-a+)`hq5>#4K +an[[3RE9Zc5$G)Ki:Tr[:T(n8RXX[c>]N"Vm5]Z.oX['Zr,H]ErR&28>0AI0DU-arEmQ3\j4X>bpte1* +7-hu)?Z"sJ6\g0B>kBRdN9\'$N:[SJO-[cfYhBch5N&qT/Pq!_0QDO0m4i +mP>Z%3r8bo3n22hN)q9tN^)71SNa.'cEi6I.rf6FO,^ou[a%JbN%$]UZ%dY?Y6?kN\39kP#A/SYX+-?iS#?"eb_tr]j7L!4_tSM(rZ-UkC45"rRW4)0 +%tSVk[EdFE7g2$`IH'("Vap&4>RK]-q4P,U.k>a*9,pnd5'l>gO1k(*W@;HZASjWWC6^UJLXIn[H^rV9 +VgGkYCAqB,a.1tX5H'fqIpLJm=Yno_=Oj,CKA%KG%'%P17p_!O/n$h:!D+g +V^G`_[$'H&a4S"\lSg;:`9*H8a!=/#i_8?qL=,2;rKj_F+l+,QY3#4Y_m);GU$+AKiS_0M@iHB%/a)$_ +)<7Y!b]mKDHZ6<6;_*%:4SrqQ+;!Er?lXP0G^Yh+1VRp"d)ZskH+pic*^'epAE`r7En>U&l/BQ64/gU( +DnPhna7J598!N31P[VE`"%R#kGeN.)Ob:J_D+<-H"hk`!6Z's61'-@p!i638$R +X@+Q\V74Xsg=]sd3DXFG/*,esl_$#aj_=D7rT0C=HujDmBbb^A/l+R=Y2VS2+KUFi1e5j?$l`![0ACT? +G0h/no!D#OlTD:9*)Ga$eT\"_[*sNlC#UqsUH:M4CX>60j_8@6&uhKc%C3+R +[5^rD]ui.@f'-+;mIIW:pZU"nWBD+poQ0BGp[nAF%aDtt1m`hq*Nkm%3O@8#k&Trbo?k.p6,k_tHrol3RYt\5\bN;kP%P@;C+ZfN +fANTI@3\>jONpdMX_#s_H*oX'l +ncAX*+7%>/>;4Fp5#D-oHMu--rpVk$qF;(o0p%!Is12-71m%0)s$#r8n(!u<@K!kCNN\T(iP.Ous1&C6 +g``VVU3(MSp1GKBY@@%Fn]Lt5aR48"=9l?!NpEO.oGp/VTga`o3/4$dWqR@!TYaO0;u^"YFC7eEnc2of ++tcBo*r4QN13-\$M6k)t,FT@G&tqfP%EOK)GU1$n"qXD*`99+E +!<)I^7s_oD#U?>_r9?<'S]PE'E7,N]JAF2cB5q#NP4M<1IZE;i8!@h=QsE4ncG`CW*59_eVp5"XcMG@= +Uf,hg[ed6Dg5MfjQ1.Z-kN5F\`]WWs?fK9@E>J(2D`o!Heb$C;YX5TUNid*[Qh0q7V8""$Nq>W&L5kuB +GVG]S)hsMWGc3VmWqfKeEW!riUXRoH9aBL;[b>^\$*$,nZo#tFO7s_Rpu4s.kK$P37[Q#:Smt>F;[VhN +cMJjF5']l<&$4EM5+Ga@',r,qOtZ[+>7%6,oVBTelXcC7N?'Fc'f;iT?a'0;S(ND=Z# +N\`?/"+1Sjp7:n31Y&hg2r<>7bgYNm:cZ3Zf:r>rf[ZmT[4hOM/E9$Ka4^X$Nin5bY.](a"V4er.u%lA +I$Pc;S;aDP3A*EoiP:tZN&ICV,6AF+]1.4UDOI*c:Vfo4CRr#%7h0+Y':,9JTag9@E;>=t:+64W>+^R;um`-1E<3obK^=Gbj\PJ#sI_Pc3Um04Y$H0qjX5-Sc[3 +k9qGDbhkL2RNp,:;TE5eJoQ#mhKBCF#F/0GQogli75FpeT!uT4Yi?:B%Q\l!%`+D73BmXJNQVgJL>iaq +m"aNjHCA&[#X2b?j`(RG>h:q+di%5 +a?+h0iT>^Clu<=!gjF:hXcORh*eN^RW:O'2mcB43?`V3jpj?eOHO)g]A#I9hfWZH/@K,P3bT3VYETiZb +Vr-&pRGbi-q9Gms-`.d7+ZRpZk/T.m(aO[X#Q:<&Bs6P_h[]WC0-/T$GRFW`hR)=AM!stt`ABQuF^(oi +k.-=BMBDL3cQ6!6lp2k3+F;=>3WD(]+#5-Jg^fllE!gQnQU:lbl6EjZR2RlCA/RC>;?)ii$L"mS'lEH6 +m-*rVe]\RL>k*At-7/[PrXOlL-V9D[on<\tnNbqA_n]>hQod#5:C2W@R%Xc%1dJ/so-iH*hr&ihAtWS+ +:bt/d;j*gSfT]ka(4j+M[l(e)@s&tbmrHLCGf33Yg*nDCii9% +N/,`^25^%*gkHC/BA01i]C +g=n2-rae<%L\0Y&/+I5hEE;=l/H4Y('21ECIc>e.0q.eU+H2j!% +d(&t'957ei5G1@K4sS>5IH:>/$X,1O+#$9!kP`;Xg#W*dK(fAjJ?)g9]qC5RJY?Zomm"L;UW'b?!7B?? +q[`CA#?oGa9)et]pU.TF+/:Lfo)=1\P:uA`C`FGTVm2WE*OCsljo#96YhQ11MZ<8/48eYq;Z?KtgbMV4 +B9%*CKE60'nu4OFVeNul8;,4Cn+])=`Mqnrh;-M_q!t-Y0:HQq5?mXM++ErCJ#AS$/Dtu1nA#`]QMX/4fH1H$]$W.O +?bGD`/LKdfO"ss,cO\YMr`G6%gU +U&,t6;oE":(H2O)4WN9f0S([9"M[lk3CXkI:H@Nhn=bnG'5$["^ +hN60+bY]TcbO?B^/WcZrn9u%$8>DJ;!'J_Z1",q1H!o]Q.u"dj)el)XjEJ +ZT\eZ7kkpufa\o`3#g(no>0)iDEBhI)=-&XR@SDe5n3V*fhS0`=V5oOi,"r]\'DT\+*W$M2AlEo`11

G#`A#091GlSUp7?SeF$!dPSoLYA#5[LQRrUdCf"0mn.i[]2mpm@u?hc&e?q+&dqI8^amkFD(DmHO_H>N +T`%8B`'GLK>7![%&r'mqkKUE"D`Ce7YcS%S2'X2P@8jSG&dru;OUlHYI,s(R%G;fu&/.1sXqT-KYnEM7 +]+WHfRPq6h<2++]dWlQo'!Idb(cqj4-gU +;Au2%VS')h?9"iO5/c\_8`B/#rCnSKo6GN!Sj_n4D;(g7N>J*>m7QCB=k-aqA!UkNBl#2n0lVD/hdtU3 +Jbt=PLssCjZa`c&7dX7q06"G:#L*tY&AD1H)WOJ#?>4eYJ)k'e3B!:O^9q^G/5AEQHfRO6/6t]HSc3O, +ji_l;jc/cI^C`!*dQ$jBJ[lKc5DAsS8n&ZY2_ME +D][m2g5YD4kDW\\^[ft@3sel#rJu#SiVu3!efV6ps&fi65O:Qp+qq9BONC\5iB6Xsj':e/q=<_+EBK:B +H#Xf$,8D="oY1:%fCaISBEiNS_1t]gpt6Y>_-gBhs'80Mo60s\i#0Bb%Y`C*$q:R6#J1RtEQnc7X2&q$t)>H-M?U,MkhJ=EZ>B.LV"R+Zf5RIt"7)Etg'Dpk(0X#c.WNq?E02^39u)u&/+%r(4J +mA823+X?EL_u6p&>rZV3\:Y?U`/uF@QL$]Xgc)a?i4jNWHU#HlCF"1*VBh#+:/S(Q(#4l; ++g9%Q>`l[NZZV#8EocfV@`U(4Bnj8]L`2)mX"l)\>[F-(L*9VjF&(I2aQ1kR_eTXhjU-959W)iT"W-k@ +Gua;3.dBr'09$^XhJM(!j;"2nq&uq\]]uZ?Q ++g253k`o4#iUN"2kYhq9l]fe*LPOY.ROXQ_^qlM?QiAN]$RYrsX`lJmEO#/SB1'C*Uq/#> +&_4`(3Q&[)i#8]3_,\'j6&(,m"1tLCm9S+M/)k;=Z-49!Xj(u:80p[d)c^m%2GOlF,+^r<8@1Y>^7h^9 +7:6`I:sp6HYT1_Q7[\hVE3^On/e[^ge;'$>dDSj$BbXKo4d>.A@U-E-o1ln/0Ips884hn1t>;sf+ +B]]#0H[/iGhR:u^l@qb-U,,*a7c\o6E^W:\E=RFP+sN"[YM3e1=+(qur3`83PZOdog+[ng_5QT=#Al$6 +0r'^K)YI7\StrVND=m1AKrl5Of4h!Yh70fmBAs3NkXB,Dd=rmD%EG1Pr3?NDoV1k8D=m1-_k%.f=FL`+D/;FZEV6eV-.@4/0BFm3,A=uWdtVA[#(ARAomK4o)dAKU +BOcl_lcY):D045FST?fGobVE$S+b,-!LDS2c\OSABS`!6djhuomF4Dk>LOQBj_56.#)VRmIr*M!@!f>> +j)DD#_R$J@^-eoPp[KV-'ga0K+0P''&g(B@D=-?\M1N=Q8aG;95(<])9g&-aZVP;9a5_eq?VW8gR[PJo +$&J]>\gR["Y=gg&1s*a6qNf]@^"D&BAAA_OeTB";4HOUf4^2e'A:)mPXj&P6VJ5KnBdCq[Tg&GIOL`EX +k_?SZGLQm=9=&6!>k@EO7Vsufhp+`AgH,1$XctER`GmJ\4[8J'j08I7oC)IH@\s"oqtBccPc_qCP@mYK +/2#Nc75IA2jC8Yq8B=0:mW;=![J#]4K4TmpA/*@[/5n+&L%Ie:IYf_CFHN+S"*;NSQ_M6lpDP,Wc2*Nt +]-:es@;D`KAG3LaT5j#3BPP,\;`p"O:5lfR'N#e-d]OmOj".0"Bj>1]:1E`H;JK.Xed(UqU!I46Aq*1U +W]JteWEN=.?)tGW8[_L(N4"O!-bgqk`\Suk9hAi-cG2P&Er9pW`9aki82Ftk*F$-s=oS!f*I\kp[iUiE +a0&(D-L(>dmr!$e^3mX\q#3Tmieqpd&I)E*$YW1[8mn9I'\ed(86Pe786rY/e5[f`U&r>621uo?7Ngh% +1=>;.>sq&aSfP*h+>NYa,5iHPX3aupV3Qkj[\(]@AUdF$BLj_GDTcb5k-OAQ`FI1HN]p7Z)L[Hc]K6E7 ++g\:K;aF4'HFNblIE,+bWO2P`^]b+i?^`!Il+PNeo\R#&of-d[BPZH9nBdIPH\elgZQWTlaZ$'&+S5CO +Zap]rhQ[`X2L9Ktp)Iap?&VC/R#Q!tQ$:I8q1b$&2[rf56YKGBgd]_;K'GXS1`XfO0IMT(N);MbKcL2: +_fBGJB-iu'l3R()ML,oe>%PV4OVt)).BRkphs3k9;n=C@qkA>d0P29=PTDnB&a-moXN^-H2F.59pdt=< +C*9hbC[TM^QEY,/1"2@$%j!`ogT7t_&Rl.jk%Pb>)4\ZWB>&U'ntk_V_[)Jp:n,jbI7:bL2$XA-NI7WK +J?6qKGTiUNn9mGmTAbp^RIn_064tko#IG.f$r$&4jf6mTtTe<L5+*k`Ck-TSHCK%RX5QhGBu2pKR19Q47]phaUr1:$Fj\'PNH,=a\3VFFH9k.8(UGSo(*)jVq]4b +R>g(*dS.Z")ZV].jSnH2`>()fRYbNg-MXF_:JL:8hC6][KUiO?aY<%oFH7T9/Mn,qO[UcUB?bq5M3^_M +;Z+bu_U;+iQIM%/ilF!@Mku7QA8o1j5OgZ*dg7pFHae./9WhRRq]4'YFe)NYKk%GV[+R:uGAMGZ2S8EDPh%gM\gT-@D%;!Klk7+?4^6a: +qDsIk&C>4dN&51`IHY%/H3aTc$ETZP)1'l0;TI-)W?dTg,,Uj5l1)I;AREg@AIq`*c@\`Z0i%c#drWm%ftb">4T`LpmV9%PC@<>fipL)B^3:T5 +n)B[Xn#kgFVnJ!rV%e9C@84!g&]YKT.m,o4eZSp<'TMS4pNg9GiBq;/eeHhI$1bZES' +m+jO0+k,ja1]4?/qRH"N?->D(h7ictG?9:\'rba(.CZni5)dbD=gp/1l[f2Mm9<6=8br"#JtJ1EV.B\#M/*cZt$algB)P@RH"5T\^Zr\Mi73d)gta* +MkP36SDrJDck(&k(h]D%CWcCsT.gMNr)@+'(&W7mqn1JkJlKs`P?]p2YmSW'Q,kbDkp +N$4[_,,N=^f#Rc'h&jeXp9>m&D<"QfEc^&WN0%^J'W$C)7Fq24;QoX^E1DQd>-A +P*@&qpri3(<@27*_oO8XWr>cf4B+_=e/S'+X:3CqN@"frZJK7!7a=!br2jS>O<.0lme#54a.$eBU +iiO`-JWi)tKf&l>a*tmLf(t+[16V@M#jQn%+pL!:hhH`#gY1\ +Z^.W;#U=>G2q4a#.?8U1HYaptUR2)6R3h9Ip2t!0p:uA5 +egG!GCp\7Ob4gSFWCu\J/Hr7fV/6F^:UF0UccP?')E$9UWf?&@\n-GH)nTl_.J^X@Q6qiB?k5b(r6'O3 +YNguP]K9YOW;;@BQ^:_659'NSgc`[33t5(Ee5*M&>8('c3Pp(YHaYXj0%%/\3p#"&tbJ$+cI +3n:_BB`8fbU.lA3T]a-4):-b9qH.N:gb8,K-!@^/XWguSBLq5X]Ac!4dT=dI=WEk.1cbPUHmI38qh]AGZDo_L8NU1Cft77hH"43.>C5a8\o$DR1uA`s +pmZ[ZM;P.IG39b`NAg%si,=66GL9U5Ki0#`-]l42PVt=t,i.+CWV2I>.gTJFLgu]5Qp++hc@6!M9RWWe +=_7G5$Oa2#foks5Xs'q>aOfD;PpoU$=;5e<`+]D>DU]I<(dMLioW>-f$g0e&'2KT>(FT +0.]5CSQVu&rD7$h0^\?Z,$RJ"8XXoM.%M)KFqUY#'#V*LMajlCXRLgXL*&g]WZjK$^3O:MZ[3#dX5/l7 +MXPBXUs`bF>CX=dqm8&:qfV7oNF=VY)Pcf`?=Ol_^>Q%HN[4u`N=jarHDtlDN,WKQ;KMBZ8[#C7N0>u< +=(@b')Pf40ad?Vj(`g0,.""&09TKj)i2\R>]>b,@6=Y[cH9=#R<5'oW0ol4Z&SWP`%up,'`?)LR?BAa(N"A]30uVhfjHL@a^J*.l#(7^"Ui/5Q.i"Zk#R*S\t&p4eLHk7'fMD1:h%@F8`=!ee#I.'YD/NJP/^L[Pbggb.c,7#!NBZBFeeeu#9u8BL?[&L=h3G%RmS`!kFm0^o-6[bR&Gj@-IbH%_*NRd=Z'O\dfGUoAht;V-GWaPq^$'XD +$]hM`^_/aO2MouFm?UIU24JU>,RfB$6J-,fMpZ]cPCUo*4DYXgk>eu_+Si[*eR:0Zj4Yd0E^%KD! +%E0q9p0GDEm,Ha\RfQW8QgZ(8XBiR)j7[o6;82%pb;ZP]d7PpIm;e/TEo2%#n7]PZ3D81P\Y7[;(]+Pu +&)Da"Ge+ZF?+uT'AG^V`mDjDGh@IdShL$o9^/g;#^;m;9ERTtuGIasHCmURWi2"Xi3(%ssW=>Y;)kb26+b +ij)n)H2/NKar1^,c!I4#g-2UP-n1hRN(BN1e&V'A\::+Ec>!kppQu[G\DAk86b(&#([q-kj1Y>fFRS[D +n!M:h0!-!$h8M.n+1Opa->$:6]J7paOZ?\1XXhO$8PCmlR2C-/-i->pA&[31%@Nd&0MF6+XfP(G5[""3 +k`4(Zca)P:"eS,1Z79@]]`VhPF8bppia"WMmAB`ZYB3dZdf&)/X);(^b1:I8$U*tXHMW^pD0O#Qc(%P8 +mchVBC1-24b7@]3Du+uGq4o*k#gsb+r +r"3;l&+7PGUt^dtjN]ojs1pi-5I`)Hc"jppA')m6'.sX>#1YLk^3lj\gsDCo,./#jM%&Zc<^M$k*$l@C +f!DI%7-g3<'(/c^Go+S[\Q#[L?fa9c[K6*#hg'&-aZa=)^85K`3]#DAblSmRSYA4C.[+8e,OcZrY1^0p +1)o1o;!Vj@tP@jTheQ/,IT48d_7\FI'nG!V7MgXZqT]9djVJTPU$[`nAT-OP,2rFpNhq5+pK +=ih=d/qJ@t[`XU<0-W0299bh&MJlUM/V\I7Dr8,*FE,@oPfiV7:^$,E%`D* +2r0C*.(k@eksY`LDFlK*1W91`+u8Jr],-T:%:,0GH]SMS@[+b`ZKfo'PlcdtYsJoe$d +YSH)PWin[!OV)N.AV+^.mYF\6:lmW5*mi]72JC[%\]]>etP$! +>_QWt\RQATC.7(u`u7D)Z:EMid6^`+3VPT#/E+9BUX^*uLh%6;A*k4X?`1o02&B#gXf29Nb"+5cZM]Z, +?u"t>bY)E>f9`eVbBL%5r-HX>6SO#[CUR!Z2WanRrdOL@]mMDGJ#g!F%mMVRMh\5k"_Jqrf0JYUI&!!- +Em?In\U8_<`DQsrN.P=0S=?UuT +UXck(^?4&+$RisOnBG4Y0h +p1>Od3u1mrKc[C_+s_LX`H:hQC`W2*B(^;tZcf-hob.9V9n/+N%8P1#b9sLX.U@+"e$tY+oM\,]F+jZOjGc6LOBbF(bRRSOJ?CU541n;QA +$-+;`.*^0&mB!KLHkg!C&V.t/,*kgRM(Y@q4XCpj7lr%0)LO(Wr5%6Ujk=/T6,@'la?l:JiEoU$&Nj_7hZ@nTa0+93>+AhAoRI?.+_A/>LI-gesCZq@nXgL0#MH +.0DM/ka:?1NBL/B0.!oIq9jVT5M3I=&d(m38"hn?N8WL#22d5)jlRMkW2;k>U:k(P!LS.'m;ZC\]co`3 +4_cLO50Sg'\;TB%?J./_Q;=p0?ULGl*?eU+qhoWs&P,aas:&r?57R +c>h]U>*4:0nf?+Pe(KVspZpi<@8W**oA9!K2c_bBMXq0acAM=N:+4R\:1hBpJ&q_^WZ4g8IP\<&_(njp +DsF2-,AsZA-N'ZpMdt1PD6]QCO_N5&P-_\'%]MDII+cLQWN(tgf'`[/U'Y@_bU2a>XG4c3P1g>uB,m[I +%0:)4Q4MQQ7D$<]Api"OC90BLZVEY7^CF43`QH]m`@tKEl*V.Kd]+)u4&%bJiX11GM,;A#Z)6_.7CDt[ +M3p+5VY;I\P$,13Lbr-oiNq'0F@iNLI#mMGT0ED+*VeaLqWKcH=]`9o$![JX"c-1#k9PlV(NI<_^=Yp2&=jX*SrY7*:r7c+[1JB^.5aU;&>Z1so*C$HYV%W;/Pm +42EA/e[/@HOZmni`DN(a47oD8mnW,M)irtMDR-)9[.rA-OjF!+Lq2O!R:O>n%8=(fTQE&mPpD>pG0Kp7 +$KgncZ.d*9%7@F2:/QRQa..#JgA)qZ*KDF-jqR!Dm$MB72+ +`Hn=]G2SOY'!_VG<'tggEnLKkPSJ7RSfZO$!)<"#=$!Ds)DA(9jkt6;]eZ19*H9WQA]J%:0tQ^RfaDId +FuYcj=M,*\V8Gp""d^6N5L-V%o8$bfHq/;-1hO3(3-NP]oiI'6A%*;WTfjf^d2EN7&`[Wd9`E/f%Waj= +\*4,l0q'Xc!:6RC7gU/$[ +D7U+!`"sXhlUuRX7u#Ced(TurGqbk.T:)/GDC<7HZttYWP,pUCCN@4 +jEoL`p?q?0K5'd(VXa([75aquh,?C>]5pb2l[*h/EA_OfDPpoJjd)KHH^F8TU%`Pm6LP:mH^FN,p[+Z" +HJiu@m[h_S(n8-(j&c0DQEFu)>>h#=pT[c`7PWJlhKPR;:VG)ZG2Q\H3oB;EHKop9#E@=)dI+/eq2Rs" +ep8c&YYeS"eN)Y?[_3']S*sY$"HM-HLaHr!]aNWiZZX:EAL-8Fmfp56$Tqne`ga$DWQ*%SObji9_:GVB +:K%e+s0d+Ra%lK[UDPM"B"q2pL*K6np*K(O^LMcmT+Jm7-hcrrh@9^[\,<=e'c_],\i/m:-2T=*/8`?<@:,Ca'q># +]U_.k2clQpK@.N_^P^mdo0=FE3V4l-db+JaXLAo4c*Cs%=0nKpCBS-4i7MMQNM0/)Q8Q[!SXa'eji!a> +]U/;miiA#1WE'#7;%kSjX:S/,V62!3pC;Ijii=t11l90[53M[hApe?QGag:VkF1]t$JkE00-S-Q;=r#8 +!]^+ERA!YF1YHZWP4fNj<:Ak6L1596gK3d/etZl-3J,N"GZ)rMI:L-:b#asqO7<\&naNBe^c$Oo&@ft0 +Mm"8/*;X/n2ij0MMJuoH"@VX[[Egl_ikDRc[(_C+H.>TA1hB0W51mY#+gtP6)WU!t@pS+63p?\nN>Ii( +b6)7&2sYA"qI2:^hq"P$:6o\bH*E\>m`Xcj2n@TT>o$YV@BHOt#N*4(?#W`sbM0s^]Tnb4q5/=4dpbG4T!r>[TBSrEg:G9(m.hg`s?@-]c>HT9g$!%XN]S[bE;--Fo*-qFrkA4pkJUW7hYQE +qr$,kOg2gk42-+k.eCr.di7LMX_,XLbR_*=`f3g$?4&q#n4L0TH=p5l'L[U5iuEr`D5*?!Hbrn>$oA9s +M^)ta(5FN4'MZ;0h*pe7icN)ud+<5#BQn?&cCo-QWFqFNQ]uakN7Oi]/d#nC>.sj]4Yk[b:Qeq$G3uMW +&N?qcS`3pDOjD%>*glh2l;KI@.5`bQc1g^ScY+#N2N[N^SWd^Bn204`*!].iJMK3lS\oi@a@3-h=EuCSkIOs-Vg\IDu"H(E/q6i3K +m\.N8X2a]nEAs90Q^R08Tre/[hC^6U_WNi7r:2s*g=f*3olT;6K`"k=p76+B9XmC/Z4I3U;I^`p$ +$8mf*9l\.-;,/1Sa]]B]ntf`Rb4LQ&s)%/)b_t +YICmB5pK<6iZ"W93aIN+e?2.Ye6;5Z`T#7#6(Oa"8\s-"#B`7gmYN'Ig_VhT'uLA7_(S6ZN6CX`]r\7% +N,#eB:LOd_A*p0hSj=5erO:@[rj#">b_'s]_kHOTjaG%]R9BA)1p]bl6roO1B2BKea,dD5a[g1fXtR52 +;6sJM*6Y!QR;M81>nQ"L1ud))lZW7#3F\lC.8#s^D7+4LnGmXTBJTK0B!5>[^`n-+Y'_^FN?L^F%d=AP +8hY/6`>4#ZDA!61AHBbgQY;I8_o'#0oV^7d6`-Sed#5JRCR'&d")b0.WF9o!ln$M+6^YuWk'+0A8I9)H +(T3'Ak3ah4/PY#6GU0ScR?QIbG%n1'SU?q3I5KM9r+*M`ZfG*EfXYHq3]"N\)T3\aB5F4Z'ZuoGKG:uR +9S4Q7`g=+F_J7d=IpHGSl3FjWe)e.]]Q:58ZKUb&>H@Of9\qGpjYs6nb$/,^@I>:9Jn[*p6Z)&] +g*PGQO4c;E`*/XP@l]`WPQ"nT*_qOgk.I7uPXYY>b=0!Fb;%Z]h]rOr#Sm=u*,0Oo]raX`Uhd*)A(BCD +h79j]hsE6M?+3nW.WO'XHdR+W0C">#L5#]Me[,"em[Hg060Z=@qp)!Yil'p!:J;QPh2Tu2Vf6,1aeeLr +]B\+Hqd,k,U2IQOT9sp>\$=L2DP7_BDpjOA`7.L/dtt&J?TVqQNr6iF]5pJ6iLX?4%c"GSEFMi%5X,qT +.c%m99YL6>WMrrDG\O804Y_*UeF&0m2c6KFQlPGIdq`'SL2Q14o93d,ceHT)jnRs/48SNtQsGG.G.u=i +`r(j&S*J2m'soDhP.UX,,lb"APq$o>>,QAD9XO/&;!lqI]9Tr1iaFZ9">Pn3;.]cE/WOp#g9mi_LGjAD +BCrs]U)3UIhU2:L``mNllD^0TiDB&XY'jc_i%C8W:)ZQ!c!$%tp.;1*0HG$J[11U6'Lk9llV;D$3U1dG +U19K!/uhjiPJt1AZ+Gk>V^r8rr+K%m90ZGpAk=e^(3&Z$^Fh-N]m%\I<\X4fV_"L(+$=V3--f\PUd4(a +BGBXK\_906FAdjimTo?=-#R"&QVNtpA5H,>=0^?Ep1OAF88%P#l54E*JWkEhS`UUhI?Cm$a5(X)G"d`' +1pqXkC1E,c%D+-7QrJuEdn([]L=pp`c?cpUAoue"s)ui90ZK;Tl`QHWI8RD4eh5WjPkh-0:SZuc15!:Y +a#kPpOg;GE7lM9G(><3Z.P0V/U8+Tok,W@M#4B:$h:gDC5cr[R)[=%uG/@k(1oXK]UMRaYH<+#fbS&^4 +8,XTh]YE%O>^OFMi+;8D%D!UuXr2IEXY],342,m__,Ps*)[sb?AH2X`mi,kbG^"TKk6JcSDTO0=fWKcC +^Y!F(6@cmSdNXsNiM\9H3H2ERT>tt6i[]2Tma&XVmlC641j=@3E'-@kl^k<4^ZWqX@uCBs9K,5a9g3Gh +47C>Jd3mgWe$IRVEJ)>\-/"l\l#M"If(N&%dj[CJYAZ2 +c%)]F6THPE(N#p3#XrWY0)"rBB>sPm:TIjf?:;NZ8o=?MZZ+;!9[+L`-Ei5Q@JhKSbD_pCj"3#nU9s5k +DS@*:G'^O&ECY77+_lTe$mUpYEAiPA2ne2s>9WK6/3->)GpJ[_`-C>WOo3Bc4^5#saHj;\MH9Fm?aQON +RCC#i=pEI(RmfF4gJT#ZDgL

  • IpC5IPCOU1]0;r\*m8ErCDU%*&eCm(!W[q"l"pSb./Zmk91.41;fU +^X?3*4O0t>?[+)FF%gN=dMM#7`A+-,MnjO.*n/^7cj7ubm4\&lC;W5"f +%iinc'\5@Sn&=lO\7F\K"fN2SgT$W]XfU&+.n[t`<:);Bfu[9i`nE)gmPbWGeOoY'a<:F3(;k'5^;.Rdk*ssYq2BAmmIpQm)R6=4=CG:_erd0_(i%Gb0sGiE]Ad= +PQMH-jb2jN-(.V:d.V+=G*>pe1TXQB,Qi-;MFq8[M';dtEp^;Yj"u[-CgUg<4)M`2Qh0+?g]`,nj\h2q +1mbpU$/r=iE[gTO\)Hr1r^tilR5gW-20JF)l;1iHVI3GO&e-a=:F/c:c61L+eYZSF>]eJaPQ"SE'+M,l +B6^nY%$d_?(8G"`K>T1b;7k8'GO_6KlA"Q6c^R-\'R>doR\E%7fKUs:jf.?&%do$-Qh_S:RLJ[lY0#$4 +?\/Vf=m&)G3AakHTH3$EQ@ucM'\YBNENsqePS2.X./SkPZ=cmPLpLZH%_Q:c0+Y]Xi&t;A@e1uKgC<_a +>=Q+-g7+*JjSG+4c(Pq%-"u%[/R?Gt=a5Y73hQ6ZLRoP;U#Wpuk(f[d"3[gB[8c7onSBkUrs%V63;<5H +SI8PH;r5@Nq=2hYXK9;A-dOm?`VS%j7oY]PV)55h[d9!R>*Z9j.*=6&4^El(QpCcT#qV^elUg.!M/;(jl[<]p(Tll5)`7`HK4 +gZfB:a,hY"r8,<8ld>CuMPp5*5$t,'(D\`9't!$mIds^]lZUQEO/f<^&UjYDDmhd^^23IGF8U0ckZbM; +Epf*&V`=PFWd2uQPi$8kI""R#UPdNPG!ZYK.*AV,`:AqZ-e7@"Z\G+.=/K/oMQ^6Ll-ijlF0dF4\nPn[ +9.[BYQ$GRC$AAVr7G;nLA8NN[]b'Xfp_hO&S\ +2s3be+$3R/fXhcVMtO[7a[cSS)D13fB?bZA41_\O@'h8Q%g^pU>_^oA@9l-I7kkBWH6/s";,U)qj"h%^ +%;aA2Vb]6#H[*[s!^)1AqjTR6XaM^+"\CMJ!;'s,^@jum!',/8c^5N%1f7b9\Suu;he+jR1r_2Plbt`H +Q[X]*aZ +jE_#3Im6[2o#ops,(96p]VIg0DD-\5hU6&_ndeUHBic19/b(8nPh'UPcgM*.m#1]H./r# +/9+'9ZU:ZE8+J="^ml:U(Pu#3nD?S +OH2/#/Xo]:Z>\nhk'9Oi[gRXFP1ScfpF)-uV;^?nICh)i"UDea/AgX1pIoungK!c-S%M=-m5[.8?TpD, +^2!m>l\HGql"A50o1Qu^Po-ORU$Hpa\Y0efgf#SD=-uWGO/J3Ro@N![.O=KA0"4gnTsX,k[\@q+cO]Iscen>gA8t-"f"r?n=1(XZoP!oQVDV$lQ_lY, +/25kG455AhD)C*1Up#\0gH5V:]NCC_k3H>/>f,6+=;oVTiW`#%5KN1;41q=l&^\Obg>P^k_KV\bP\sN] +K:D@ls)X&i[anqF8"'gWDQVGaM2GbfTeH3KA*'OsO3ekKQRV&eEWr&d*0Oeg\#-@u;Qebh=bL8!UZus* +gi$9-qB2$D@217k1s/Wd(3ei,f3+9n,jWPWRWEPij-_h_>.[_#Xn<_#Du^#j][n?8J6C8].K,"1 +h!h2+`VuHA%H1He"@R$,j`:b9+PrfT'RPdaiLR<6Ol.c",(s_k.Z.:Pmd*052UNo-P46E&nP?=^b46?k;q!6q@jU`Et;4 +$c(i)cCnlB_!mms!oqr`aP+*'i*77MqUc7@2Pe)tIL>>n0b'"Q2EGWIF-iEeGM@$CoMHU(U%oa^ +X[lse9q8(2&umD_OZR]iQ)iCOFQo_RQT[%a2;bH;cKZ"3cU+8hmr\JMEJ?@VXP9pW2NH1#Zkn2EGha:! +5d0gV4,0>pfSY$GU$*!2`HLmqn$IIH8_2N18FYuYCD?5?ebT[_gN`HVF$Fin#1&"5_[0bJSHgE-l4`Th +nlBe9]m(KUUI/$]cPhl)RCXj\Q$df5eM?SV>,s?/UUo7H^&j$_7gdI<;Z)E^/j_W1.b[Uuo##T/?Bjk] +%L*/R%Lq)2p=l$a-Z`=[FSd.o$)m]SD,tmUd4`NJAP3iI"T+*_AG"'GN3R94D@Y5:C>d]eC'f1jFXn4X +$L/MaWi,-\p=897^UF.I@jm:!.k%;cO2dpI@:Pjs`h5BnmMO.ZLVf[bY#6*?aP.N"@E'L`pI=968_Y(r +;q_kdR\Zlrg="YVn29ZFpkWqFUpul,j55>+\u974J&0+NLU[+EqJ.ZV:1:TTfs8AA5S;Pk!-R+H +gGK0g?9,d_h&*IM>j>C5A+3HOWRHpZ*J<,"]c<]Y6T2OC@O]IkORga])UQ$7\L6hGWJJ;J"Ih!NA76I* +E?$s<<(7&b;%_T+hHkF?=f*2I^-C1h5AFU'M=Y$8NQjP[^TI'M:nl8Xa4,'' +!UPm]Q2b'$3W.DSn"$Sn_NK_oar6mX/aNDq7)"CKR.:pZXaAW[P)9XSWb,]L>`k/;mUf_rN$9rt7k5cV +\)%#,??!#cYE[/X6bU,5BNE^7L=^Ega'Xj8WT3)/V=B;oNA2ToTN4Qbbr3U]%'?Kcs5iQjn7C5PF`/_K +prbC4?:_-,NoVn5GAPS]Q37H@Eo1:"ro0jh.)m2CfaQ+[CPcMW;aD\Ii\f7oGLZ1kZfnoAZ6`cC[s>(l +(bi*pg&)sj5.8+LCdk`TS=OUR#Nf^E)X)"A@J?3&UD+_DC^?Z\r>_bEZ$H-lDfejXeG6Fgk(P8qJ^StR +XQ(4/BCo9#qSBdQ3#ahV0#nr[p)A+s:Y#d49f)\mWKd.p.)H+I'&J,,)6LaFJQc3)JESC?P?q\8#f+6& +nOqZp;#B=TimO1pdAT%(o./UAeM9$Da:YNlpS$'A +XEu6])ie>bQ"T0QBnQk[)h\[lcC-#1)Dc,o:d?-GCbC/H!["46a3M1H[@95[b-ZldgPkHH,!t=C)TP]j-9#OfEdlu +hDBN<0\.-P`nDH<:T`GRN!;6=D;9mV2]$,?%WU;r0lhT&@$!_?8"p!6fFgNPK.KEN#B$#`lR@rD0:3Ak +jN$'qD4?dt\#J9q5P>meLc>*;;'6omiCu=ikO2SeeBF)`pq0c(i=rHdcqRGS&ofR^-J0\fk0f(EbAmO) +O+7%fXVo2SlhO^?$pUg2nUt*s>V@gI7f:-WX5esm,Mlk[MKm.B)=\3GB%2U=o682NFED_4bO@mNZG2'a +@UY:j9DKN99]`[Qhq'ZXCY:M;9DMXpf-kZY'614CG)Ja^[kNL0GP7IbmC#WLT?6$s!<$;,3FPrCtE +3XA_s;\'g,3@]W@;>%;:J\Q&hr/`d&r[*;G.WK95f[;,(FLDM@l/M3>BeVfDNlB%MhZ!fa^9A-'@3A>P +a3;e3VhPo1Lcb%;Q"Lp2&uMDJMU/6[X'"FW__l8@>r?fNkEli;"/2MUGZ$(BcOtuI!Z0]i`pmu-O^k,VaO$j:fni`6'uVbthpIcn +fP*n3r,U#mdYpHKFLf%oHiD3_,1"ht2].Q^=G5'(lY]X0]<)eHO0%!3_d@DL:gSNYc;DWiK8PkEeD$nq +&bh!:aqhJ+=>"-u,un).HlT\&0NB&Y2IH7tZ!5;Tg5=F\V!2KrB@n`aDL[+]]c#PELSEG0O-WX=0m:=T +oIMJnk>S]Qs+t0D^-t-P<$f\GJ#&>M(@U54G&Uq<<4(_]#IX7H#f]8n-kkG*VO8p0M;/ds#`:V-U22AL +&&Nf"a%7I4@NL:So:XUjiGd=cLrHKh7itI::\CY2a@'jU"a+uYT0@G9M@dYl@h79I4H-ETIrr-r42r5* +,'rs@0?HK7 +oN"u@Y)"=bRT,u5&hJ+=`8+3@dI.5#8IldpDCaHmGp3Pa7^lpgHT@qVl1?WIVc6q=QrRMlS5QC_8Z)BW +D]VZ,P+I+\0[./[aofP_MoT#MBlbXO6USFqAPI&Ahs/^f-arF\e7:(O)&PuoEeMop-4:WEGH18#[\I1! +>![KgV%d1.]"N:u-qB%#lGUk]m"CHb?26$kN!H%T\UVMAT!^X#_qfrT=Xr\OPYBR8eL2YY'o>(_ODZpXGrP_GR(N'BWoF&`h!:H]?3E>9VK+Jjn@STBQ<4o3XlE#7^m@ +1Dkl:R()gqmV;]TQ]CQB3#s@&8Dfo>?X;11',R]HF;R%O"]iq]Xml/UNk%/q''XQQ*4%MrRV\Se2i_o8 +"5o[[?/#oc::u#/ETYMmpn^`!\ai/?VPo;/FPcD]S)N:56,;f*9*n34V0;5S/l"="j0-3(sQgC>.C9( +S[thl7eb9^K].\`$j+ZLiuID;(-h1dY]L0lPcNKDgZ1u]ig +[qR]K9m_Et@2+0F3+C6h[hcH"i&5geq8:gMH/CQa9'2C*PfTddh;W$Em+\a?iX.kh3hlkL;S@5"K`c2s +S)\I79^1)&qRWYJ1Wn[\<:1YA.P=?8::.s\Ne1pCltu=U3K(VW`VHt=d-,a958c:#+5RE;"XiD+"jYIB +`eIn@rjk'`A]>(p#`X(bc-Q:P/S"7`HJianGo"]4nn<,!mi\X_l73F@#a8iXE^LsI"L2Dqf*B:CJGl;$ +9qgUL7pXc<^I7oLNq&D'-+@<./_\c@o":,Dl.5XtaMuA8JO*/(IMp&_C:NiE8JX0-g8p"RDis"N*j%82 +Ta:Dp)RF+JMk5WB$WOq]IdjKlb8bn>R7aka&GiUPoS)hCok7(a;W\AC)C5o6=.#n7"boT'Bm#=^V^le" +ak@nsE8OEM@2,m-Un@I!-)^AaMdKpDCtTB)3-PL/fk`Uc#e;I]N6-OcX:B!9ZDhA]muWL#M09p],R];Z +HDL'^fg_;mbLS6q>bR;EFmQJ?+&sOuT0%:LWUfmj2H`8L$D$aUj%Y +mFah?77hUP(N-AQ%>WeKcbEshB/'oS&?$*Q6-bpK%pb-BB[h?[Si +p!F,C%B.``P9eni3f[K(i3u@$:2cuma(G?_D-0FP,4a\=64Jp>ge3<84$!!80+NBtP5Wc\(IgQ@dDJV1 +R&PDF7(`^a]9fHk;4,!aNa/J=CgJ=`ZAn>d:$Q?B98)Yam9ZNuBmMKu:u+6sL6m]rB9m$1!gADe9>h/a +om2Hk_dlgB'!\$LFYAlNn.N"GjEu3+ed).=%npJk]L9D+3kHK4+d'!70+fZYNPMK^e=1fAI'"Gr+p>$, +lQp#*_Krm`L<\>f!:K=hiG(k(Fj*L3;K"\aW)[#`H\l(CoD'J4>UQSPA-DIAWu'+1/51.^N?p>gX"X:@ +iYUOUq?;efjH_BHbhj9-AZtJ`5?n)l1+^bWX6-QtFL)$L,$%*G;r(a8'&XO%'l9(BdOJlf`sBk@=aV%# +)J9F\*E9qBNQP5/6+dqa:I/_Eqh:`)6D(9>\SeG\n94?[jKA5NeS%pef:A2Bb-L+tB$3H]T+,TC86a.J +\=qQVD%Zb(]G"N5-4Flf2;mKmTNgn_:koMYboC^(Kt^-/^tB8*aGBo +T;_Ok`173<7BtdO.s4`m>,tf>9dlh9Vn):7[Z=HpY>pf_\%Gn:V*fMYMj_u:Z5&1!M/'IZSEbal-Pb25 +AhRtlo^oRk_W=>[<5rcTn1T6)6(N>*j]=0)OPbnfFs'FU+rZd%FE(Z1p5m.>V'G%Xr0fIRXGPZ +AKRf4K2p1Tnk:tXS,t&9kcPsd!/-[%7K+DjGsjk(_BfZWlHkHJ"q5.@.l?-D>6n!7?$&/#YoB^F1]X(u +G=Ojkl_e=>/9j_,@pi=e^0cA`83)]N*A7CFVJHG@Kl! +-1ru1KkX%*->'7"=]nLL<>B+=EqJU]H+gVC1"e33en3V&AZ0./oj--keU<0q'pGESPtQfi/+n?S0o2a- +bk5!JIa-0Yj[lU!4Duekh2]Xi\bJ48W_0JYMgF=A\#`NOoGOR"aoJtF?WDL$>FC<2PkdYT:OAnrddkgg+9n&Lb$G`@E)iLj'^C!fQ`"ZJ/SdEu4[\3/ +A$R.U8"\19Dmb!C[f%t)bsqAS]NF@@nFF/M<2kA"f*C>S;:u^)kI,d+"9_sU;?OTAOi26A`=hh>R%(l;KDg7?"EV*(q5T=lIp+UI1VBI*3@5l^s +h+l^t01X"IhZh[0pq,C&[L*ILof'TnY=e"\f+?XFe=.b;?i0fteD.(H*JEQU^&.mg2]tbI_Vln'T5iY/ +UQ9,,BM[)7\#SXae(b@cjqb)Kgjns;c)i>)j30>=IV60n##snWc*aglQ7BCub')#=81/LnDDb!?Olckt +UPK5:A'BtNM.PLnTSjp#([lY70R;:6+8IhnL-(6^Mu%DgXX1cL.n5;]j_1_X=! +>HGb"2kd:_H)id2Xb'6DWGTtgEU4G-9QSrc\07n1e^3*)Y3+lKdbM8WhFhoW\XE9?gpUo\d`mlPYoI1Y +8nb3@Q>TiZ/Cg!NR&ma!1cNX&.B^2^=b-t1Hr&F,1)IGMlQe;G?qYt/Ru@%s2)im810p`e!RL&B)Q8SU +0*4l"nqaoUE7muYdl"W"Z,WZO!UoEE>O9GoIXPmIgcPCJDVV)=2)dYDZcge'7%q.[X/^.dV5-b*"-PTI +RTiecK&;!LMc(V;FAKfSJ18aFH6Et!9"gYh80pg,c6LSnql[KlAgfJp_d=2rQR7H0WN%d6m^qGHS"\3a +U/a/6,[GXJ9atdJgeUCJo4i0YUV#YXg.\Z[)%+X5>G\n#Qbt[>^3Ijl5SGRN&58>g86`@CbO_'I:rjdT8S2+I8p7]$*7*9)SX0!jBdbKZM +e_CS&k!ncF?#q7Rp[c36n*eqP25!r%lDE0>gpV!96(hN?r4h[@]rJ`H\R5I%WreZ/i.*]rKi^PI[+3%O),nH%_f +2r4=mW`>#+ol'Voc3oVC/Lb,1)LdQli[EL)5SmYlphWhtp$.n);r.-f0`"KO%;QGecF3!MN'O#8cS06P +ETonDO1,8^.sfc#CEuFYXdX[XVT&mps)GU=]Y(M?bGb=OTq$Fo=1iBkT>K0 +9O/8ZoZ8SgLg]^QhA*gb+dums6VrJe&\gW<&fuW8J$>jir\u!58LFhg.RA:b?AlYBT);/,;JbHj,*n#4 +[O0<(5]Ae[?,&>bL*h!V4st7pXn.m9#enDh\Pg4Iha(r#A<%dY"NRpF-0l@eehD2UC#V6<0d;Wi;FT7I +6&:#J-I_+H]U61'VVB618,bp6j]\Jko,-siSR5"*^d?;U2$m\kTF4h`K^NYh;6;;eKDtN\!H`[2N>:@FD723q80/32Hl-C3RSA74>LlPR9-[BKa`HV +4_)BS2^Vt=g)b0Z(%LI'UIV-;fW'+2USf"CBSuNgeg1#DB%RFT._1Xr^eF",Oa=6EhGmG=;X +XsiO0?=4^rZPFI'."47+SVlFDQ,2gh93a-66#>+ViVljTd1VLN@5HJ[mBQ0iNI@EVh"@Njf#T7e$?M5V +fsaZV)AJqkeZ[&*SU7p'XMgs,>(:1S7?fo>@khbPYZ:f'SV3"%(aX.gF`:DC3Y9+Kp1hIJ\sl+JL54gRn#) +#KJG-lo*H#m_7C/oH`::Dt:a0UkX8)9Rh'X!48'8#MrGWO:T-B\U6&E&$.`p>s?3jj^<$arUsF4.bj!um!^I&I`R9g +"0BTLAe'KA@)g0qnq!jl>WsiC+M.c\b-E04I-aouYbGfVd"^MPKj7rkOhfF`aKu@%_qu&kHFLP^]-[Q7Jr9d^&B0oX%at6 +endstream +endobj +7 0 obj + 30549 +endobj +3 0 obj + << + /Parent null + /Type /Pages + /MediaBox [0.0000 0.0000 431.00 434.00] + /Resources 8 0 R + /Kids [5 0 R] + /Count 1 + >> +endobj +9 0 obj + [/PDF /Text /ImageC] +endobj +10 0 obj + << + /S /Transparency + /CS /DeviceRGB + /I true + /K false + >> +endobj +11 0 obj + << + /Alpha1 + << + /ca 1.0000 + /CA 1.0000 + /BM /Normal + /AIS false + >> + >> +endobj +8 0 obj + << + /ProcSet 9 0 R + /ExtGState 11 0 R + >> +endobj +xref +0 12 +0000000000 65535 f +0000000015 00000 n +0000000315 00000 n +0000031292 00000 n +0000000445 00000 n +0000000521 00000 n +0000000609 00000 n +0000031268 00000 n +0000031746 00000 n +0000031462 00000 n +0000031501 00000 n +0000031603 00000 n +trailer +<< + /Size 12 + /Root 2 0 R + /Info 1 0 R +>> +startxref +31819 +%%EOF diff --git a/docs/installation/CommunicationModel_en.graphml b/docs/installation/CommunicationModel_en.graphml new file mode 100644 index 0000000..a5a755c --- /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 0000000..792ff3a --- /dev/null +++ b/docs/installation/CommunicationModel_en.pdf @@ -0,0 +1,468 @@ +%PDF-1.4 +%âãÏÓ +1 0 obj + << + /Title () + /Author () + /Subject () + /Keywords () + /Creator (yExport 1.5) + /Producer (org.freehep.graphicsio.pdf.YPDFGraphics2D 1.5) + /CreationDate (D:20190314163036+01'00') + /ModDate (D:20190314163036+01'00') + /Trapped /False + >> +endobj +2 0 obj + << + /Type /Catalog + /Pages 3 0 R + /ViewerPreferences 4 0 R + /OpenAction [5 0 R /Fit] + >> +endobj +4 0 obj + << + /FitWindow true + /CenterWindow false + >> +endobj +5 0 obj + << + /Parent 3 0 R + /Type /Page + /Contents 6 0 R + >> +endobj +6 0 obj + << + /Length 7 0 R + /Filter [/ASCII85Decode /FlateDecode] + >> +stream +Gb"07]8gIEYpH@3=6'lG`nq;HU]q#?JTHO2)Ze_H+eg^#qu;6@[?d6V4qYm\$7oMj5RP_=iVW!/%s**. +Rrd,1U-0L:i=8Y:TIS=F( +Gr3QprpoNF:qc0Jp9N!d]oD1s55Yq6DiMfPrWV1$r:]1.s3m;/:ODl[./o>TG[#6sqXaBP1Z2X>r=$3] +rO0joB.Q>CDgfPG55YrQOOUEp>EA&AY90u5r37;kH-7(=fj=sKIqZ%Cq8FHT`_bP^ +c?&o2rcmjb!/F+s7(_Wqu#?mV3Xd#qY+nj +e^Aj"rF\]N"Vm5]Z.oX[&/s)E#HrR&28>0AI0DU-arEmQ3\j4X>gpte1* +7-hu)?Z"sJ6\g0B>kBRdN9\'$N:[SJ\!G#9YhBch5N&HHZ2I!_0QDO0m4i +mP>Z%3dUgG3n22hN)q9tN^)71SNa.'cEi6I.rf6FO,^ou[a%JbN%$]UZ%dY?Y6Tl? +IL(#tX`_WAhC@_lkT0,04$?cfiDMr(bm1Aq=]q`i=lQ*;n^]5RJ*`/m92./<05L0.f88 +3Sh$4q6Ld5:F'g$p2ORXXgPh79Ji5bOnn@sHsAg^Bk!rO +4[%chV3N$M36'fL>ea.@,O'J!eVTO,3&TS$9`mO +kb-Xa9-?SFJIKStcF`Ymhf)+/_^9qb8oY.?*G3hPJIZ"g]*(0.jR+ecTX+H[5\K_;X_?7V0F;:]()"^X +@jP<(/%o5[f$5=@aa%&O>Tkc`=pL=t/l/O'mOu>VkF85.:TKl#G'VfXFVX(R#@U>cV`AdhB%V>HIbCUi +["Hq3Q`!i@>j#f9icmN9WkM,cVk*g&:D9@_*o54h>(c6?02F\$P">Q4Bpb_sSYm>4Sd$b-``E**Q-ioW +X2TAQ`$D;O7IRARUP5M(r*!g@ljRUHXE@fhK?gZXf'Kj +q(H*iK.e;K2m73YQZcn]$`M'h%QKE57Wl&tC1M=.bdTd9RBg,_P0k,L@6Mppdd9lnc46@X[DMEstd<0V.V\%ZSlcAUO&-'OM[NiPce++;^nbp9gB^gN;&PTm) +&(i!'=HC2/"Tp>`#AS`jYM]/p+9'8Vs/srnF4GcSbK= +LS-\cdU?q_cSkR%@e&^X`P=^Dq^Xk3"5Fs[HKc`(`t'u5aJ]A#oIO(WAnZc'6buOrB7\N_0ssUU\<]Nf +NbglL[iK&@]DrSjdKZ,8?U-f?""Z$'c@`V@oP/ +T'8elpE!a2Fb3s`7c'P,p'?tm&-iW`kr=U5ig60:9(uhEDj_s.qCoNT]$A8eaNjXu4/>cA +&R4(-Kf7s>H6ms'pUU+JZ8#.%fU"QR7%?]Ycs)RN68a0D&?J^0NaqD/q;o7PHKhW$;s;N')&WrKi[M\K +AM=.QWrbG])*UJF))?$4"&K2qh&&2qi%gK:GT0N?QSd.g]d#a2HbNZS1Mb@=*nM-LqE*,Q(eW`"dK(2&#SlDQq9jjoB)aYWBB?XkSB/X-g0Dou\ai8O:+I\262Ul +"(J@,HPsDqAJeXZUNIr1a_%E6!<)$W2E;(u*"&q7_(X'(P)8rI+ZV#UEX]ieF:$fDk+O]4C>;IB.nP<` +_@OG,k]l^M<\Tl\K3i4,+1&0fV[Am3k/*m]gZU,/G=iNgKKH$Y?/_nc:'7GaF?+;\cc51A2Rk95=RDjk +_bD7kfFLom.&EYN]@#U]Q@_]d7[^UP/)/:4XZgRgT6.YB)COmUZ+<_l3Xo%U1kB(;)ZI6+bu-3Lis3kf +UGf"7FF?u#rDNIe;QD$GcP/nnm6tNWg`Q#Oa>Gd2>/Drtsa6[q$F^(In^P9](Kn=Bal3 +pI=DCV`qE#Z^9Hi7lrnj5!Pg8q/j9`]?A/tO5c``A\QNn;0"STG0hsW30BRl0U#ET]PF,Z\MB'&ZO1Yu +_d"`\FF>Li\YA^^)3be9HVEl!G.>X_YcmigOO9VB&S7%3<7#:>C4bl[;%`\E7Zg4J/L<>7cm+N?`eX-Uk]\4QMl3d/fgiE4^RnEJTTOq0O!(+el,purhsajmNM5&KmO)C(qOk74Tn-$KR3tW +KGm>l#Nbl*%uKbdHO)7=lQ4Ke?2'HMdli@iqfE@b_48D+1aQ5Im$s;^Z%l_Ap8:QVY2SfBA!YI>E"t&Y)sc`0RW.sglZi_@K5qKn<@0$%HY=Ep +f>9\XWCsaJ8EdX?+OAY^#G#0d7sj7D_``+ghUamn*@0E+m,M@&4iEPoE"CW*?2"oc0QfS76f=h;pQ2Vk +LYu8E#7tJp5MSWh?*iBg\?Nk6o_KSU\O6CF\;,Bm<[Z\/mr,^kHBu/#m\)8lC[RmKkXq"baH=)i%#6pA +-ZdtTintOEr)Xm+U!ldS;;iQOI%LW[c/8$h?84tC.h;<8A%@@U*7s-j3q'B)P`FSYg7"('f@/$7n_O'" +d#NP;ijU`!6O,ao\$'SbeJ`J>3PXs@o'VODF1Ye,p.4Gno+-T9s4P+8@KV\86fE9='[t:>rUb9BQfh^, +e,c/S+/@T1/'"_arFtTjLjQui^%=7Dp6#N=1S3.PU)fdW^9D:+*ONt`*KB(-/6YQHKc;q.QG;3m>OoJp +>+YZWEk<#K.UfZX^E[*b1_uY[h?p71ig9PDmCr%[3$`;=eX=LYc(['0[\I>8[/=KXMjEfPf:p5cbBAdZ +4dt>=I%B/=S+1hVqhYpWCGCigHGcJ"jLmec8d1$s0MWnc0S37)c*f$I\C__PPRaWp-!Hp'su +mDh?@P*CF<]_R-pV=mDb1N%*((CSu-:pa)l]M +363HWYi9'jr3fJ"H)n<%4/T@`a"a.Da"Ef6:?PEnTt*m"`8_ekUb3&i8[$oi@7Hl?-C]AdP4Ih0CnLBo +1T`36f^\##h"QhIO8i!tFQ\+]jm,//mP"Q7?Ro*67j(c6R&*;XPPsHZoWt"YY4&>2NY23:lG[BEn5D$\%/_9.Z[^21Cks]S`P8HR9Rjm8<.-A1gXrtqrQE)0L,4:+a1!/- +k_Is`SZ[roV>r-Rf5P9Gq%g*Z=#0Ym[U_A\XWQGkoA.nRQRb4E9Gl@QTX:p"rI!jE/TbB=\bt*k'SRsG +dM=8Xj9hI'gZ8d4rjfXG\O^b[Z/c63b\=Xn_,kfoEeP"hmW.E^SO7GibSQ"=l'^t;O=PlVXr'(-ElNS' +ZV-=M/>gbSb5%4UQ,IY'/']#Q"_6_hNl`$R+]g@9EZd`P2!@30j5=afEQIKf)RhSradk%chu[QHU<+-0 +L:Qn)=5Y^7`T;uNO=Q&QXuM_PJQ'+6,jD0N\6K'cnUe1>O@jPIDW5j$$67KOE0abFDabt6/%pbjRoB.T +@6Wl_j1@fK4hJErb']o;G>WCC\KeZEf]co&72jVW%XOu_h`dG@$5N/2P2[[/=*h%E!-&u=*SP-K\ +j_+f:5,bRM(5F-D3"2:qJR=H)('i`dm[h6,J20AD-0W`>;MG!r4tM_S"4GrH^#Tr!hmO?Gi\2>f7jf*r +MZ[mlKhIo06WsY>a1ON=:S/Ik:Q+8+>fO020P_maNe;;.AJU&pYW*WGiolP.AoZbBm9t#,5nZ#4"$Ki2 +D$opeZjU%W*H'N67h-HcXrr,;4F"RI/Iog=EF<*HlC^qWs6am\$ban)T7$B9L7`Eu+p.u)^>[Eh7\SXQ +g;0_P*I\iFIT7IpmbkK^[7BudCE0#-aFi=X4$XmYQ@p9O_]d@D4!(%6M?@t1\^"[nNH.uZKN0EDYX)J +m"dFR&7.'f`E+$LR_Sfg=ikXA`YX(FA>Ga0iTJ%3Ne74;UV7^RPV37\asp6Ri%_K6_a-nQ1hrE#`\V@s +k;PN'+>juCC+t$r!kS:0?Z8ho@AAR63;i3o0YtrPV$7pD::H;Ud*Bi:Yo60^g +Kcb*@bVo!1$3WoC[=r[`>PIB0C%\e +1:%W=S74ce\ZMdU29.@W^@V*i2u]35s3EaWqSS(Z"2aot5([Q9V^_4o59/k'"-a=Gr[X#l0deW0#QI?f +N'G!os7X$10-/:F0iT]qOm*HbE%rBWj-9/DKbIa1kG\X1L[Y](Pl/MRT("6N*m\qh"k!(%iH<`C^u^PZ +?spp"S/lZ!N7lejXSm]/e:mc^I,KdB5C;<*15!?W#r^Ps7bfsg+G*[E_gU_SIcA8Onnfu8$>8]k6bcU7 +p;,[Cn,]ST[cR="\S0o?9[=?hK?l_]c1>"a])Dk#]`X^NG>b'F^0A7r6XO_Gjk7u0#`]go*T:/"*k/QK +T8]Q:T.t7S\(Q/[E:iZSaSlPe.oB4<^RWms>"sdgGN_Z8fHGgI.2t";k76:dRdqF;a,B`XI8#W3ilX4:I6YdGFGYN@On9&/9^]#3`?!gf;uCD.iB?0i\-Eeb%Id;WG#oLL@:S@BG]Xs +8TR#Ea0"fJ7lD1^[O1sY@NZ1CN=*cVE5'C2K]`@:'V+-`)NZY2iLebZ,#&5[/g&iW\iaCTE$:%'C[`mHf=N>XC'ID@93p./eFq(0oT +a+hk*X\688HJ;6>6aAj?\j.,BboG"BE53hn`ZB*KD=:bHX3a9M%h&mcX4l4H@5G7Ca'B[aO2`-l]!TX. +b7XPR_8@FB`0[jgqQSN9JNkca!%K<^0uh0cj"OJ(X(h-UX^+$AIeimO^Kd@ppNa#B-BA&e0CYf#s$ae> +gc)a?i4o&Eot9-8r10!P3)mK$\(E0dP&V2iYIk5/o#dSj]IFU5/s4JC7)CopCgU^J-.hi!*%s`j1+oNRf*4rl#6"C=JKf=d?ir%tp]Y[oYBnjO4'_:N5afC?)(KipIjAk.C +^%.'B:`f07IB"HoMNgeuh\nLlFVW1dZlTb*.nW6hkp9!T=7WHF`@06%Sf#kr079I28pWm"0M]o4 +E0?MnAZ4W=h7K?TL8Y3dW+G@%d:=ceC/2#ChN?RH>_do16GA4P'mF2fcu8?$Trhqe7Dhe-F&g_ +,r3r6_gB!PHr4EiC0dX14c+<5c1*cWAqN)b%oR"f?k)hIc:CQ9na@J)B\nS$./'""2 +bM0&j[^A"jpHWp(SI(`C,2[I*,8saHA,+$!Lbtj>DQ@JVojpOi?mBteWJ^PF%E"MJN1.K?TT(6XB!eg1 +UHU3^P;F&Q%HMH/gR>s'SMiOZNCt3M(`Pa[]uYpAD)cRiE%K`$O]p+$0,fo#7aGtYJi6@7pPRMAdGn`G +F#9S]EMWK[L!@b/XMKHFlCqp]^`52LbF<42h=Pl*T_PX'Ng91BLFe(rFG.RWr\guD>K(Tlg*Yc] +Uf-(n<@)_kW!Y8.Bt1l%8UPKF\$_.c-\h5aZ-DEJ_Q\o`Y!d`#k#Wo4QC!`W$W*je(G>ht'aS)E&pZ:>dZUa*=%%RN`hh +cppDD,.aY0!j/kc"<8u_4=$\8F0al5\5kql;3cl-Rkp/ZS:S62q+K+BdsI&bX_)uPdToZKJYm,uRJlOG +B@r^k9hi*>MMKUA`42j>&]TGWK@W%&B1Y6Q/;tg[3Jk_i8?#;eE$)U%KZ7G:mI#HkC1j+*lVuqESWZ:i +\g6%/>/ja"c,hV1]$]ZYY:420jpXr,OlHtQ'!p&A,L*%KG&6QkAbjO4GPGb3;dU%'fQGT/Vj%J33YtaUD.&.]IMhhs3k9;n=C@qkA>d0P29=PTDnB&a-mOH(AHraOO#UtYrbgSH[1,t38CqY-lL+09<%3NgpDbW*8houM#:[:8TA_F)X%e(:r&CDqKlGnK6)e&FFk0#BZ$c1b!KlB3(7k@odE1+:lk?\7m?Yt3TA7d!S:"Wd[WrdR7ZG&mP2q3FNjs!`V$Z7pPhNr)8TIPR>g)g!,*\a +RI.s.0]\[Z@qd:bVVeZ8HJjjBV-dX.=8*QE53$B)A'"eW +f'+s#C2NE`6oWY=-1^ZGDU34b@S%;) +LS#Y3g!S\^r3n7onTX\@f%[4C9[!KcC&MtIGteLLLIRo+g5L>Y_+h>[BNQD:og'j7tQ= +^::W;2qkme^7`0Ok2S!3W.^.]f\GZ36!NIRfA?0+#iE7palBA6Mg1&iG9-M9Ff`97?f&K.Ra[o&meLTj +Z$0!)dbVNkj+rmL4?LO4XEF>1%ed%qE;89qgSHFo/nSh]D)Zmtp[5l25?n*!^Cm[@fXm/ln)ERGHP^V7HP^ZG&'l,?d;E`^D5b/6rV+"kpn-a@p^=aA +D-t>8rujK48GjG*H4msOqh'BMgZ-WIhX>bSZKN>Nn]@6Rlco!\;"P,f$_oCQrk@WY&7hZN.Dpt%TlpSa +O8/nfqD^*<@#R%n`/lD$*51sUb047/Oo9u%X@/l]0PXX;QE9AgP_<)C[,tk%X9YcR`!e"/AEPV)@o +Bq:WQU%e9>"Z_+#Qb/AddWDc(%9f/`3fW%,EMD2i)%4&Wd6'-%^G,mEe,KYm/Y4J&po%QD02p6Je=-je +G*0^a*Tra+j!c\.ao;*7N0:8l&@m]3Q&;H;Z;A,V=s-0s]2g.jc*GZu#W\j4?H_=I5bmHG'R_,93H9?M>`HFj^`Z`dA'k-"p?C#e=H"[A+ +$A*nWljfQZUIX;_3]eSQ@?]BtIU\DLSt/o?JUXKF +VcdB3Eb%(P5^u_pfKe##Z1qEFohd$je@OL9lE=D6Q*4/gh?(Fp^=%#3KN>8]rc#N3]:omMd/DI]GlD/C +X3(8ACSgtJ^O1K#?INGld#r8u,R-o6IVU*JTO.0*D(_(PQ0JO;BQ02.9,fA`0*8]&^WlCa"Tmfb9$2_N1S&n/UT?q*Kg(a+*huST/fQT=Y#*PR3d^c;#`I0VW;75JJWEGQVUO/,oO&0('KnJ4s?.*W*fWCsVDVPJ/^? +!5(Vf(<.!t;Ef&N[)L!#Oio,EA_%:*Vi7Z0Qog$0oo?g$j9[/&"rspdougprKD1OlO^Rb*5#>^#>ZcV" +5,bB]#GoP_g)mG$noG?8*iU>724!&CY5;0t1P\b)2B\EVDZ]UUKt:Xdc?Aj*H$Zon.Nk^To.hRkc@9Bj +5;O8p;LX-ODlm48JIe:X*,T3?Zbj>SH*NeSh6!F&rMJj&D95k^ +ietdq-@Aj^Ytgf*jl9@cG^WE,P?q45PA[TTJU2fE7PuJgB<[R!\i7dUO?c@S/[naZ7[$)C^:fUnh0_DL +5TY7p$"PG0OK_A#SPcm"6KH(080GiGXH5[Pm2e$[e!GA,OO!?j[7fXQ!pKjf8g'YkNfZMnV&9n:kXqM` +-?6WVqk)NHTKsB"Oi\q[:7kM@cQnUk'mOMD;hbi0OKI&#!b(`s+b@r1.6f)>YfdWUgkLdPN2=)uW&$Io +>)RQTrUTb)I7;hq8#-rAnO4KX?&_XmW^s8GF' +ohM-t1[p0H+:[AcX9>eS(K,h&]USYSR=VDRG'NW47%pA@abhh],=lAk^'V1u-!Pp1)skXFY4c2U";=qU +oKt:U/*4Ph7l(i(2Z-u)n/"5Vpr^NX?M,#kX/E2MA*>AJ4nY&m?M0Q9T99C"`iH![q=CS`#[]^u^V+s9 +Cem3*[T>V'[\o^K*aUuurP*Z9n8lk;2L]ES)jMR^nBa2Q<1f#;Db?JYYU#_<QKf%1D=D1(jTU)TZj^^K`li]'ipH55A7r?'/@BRj$MSneG=: +g_oq_BtnbnJ_lkrK33P(P'Gp)9_H%Spmg5cT5gpF7iGXS3UY>!Q#XsYX:3ok&]9ZFcgk*pC-"7/=7;Q9 +:l\RG?_O>;:I#VPF]ZUmZd)Y&Wa&?nkbZ&Qc$\q'?/0LFc"aPI"*]s3VV<_LJfa=/&0=qnfFKIfaf*Y% +."$NLZY&23It,AdD1sW%f.XktVf'*]q/Q9SN.XQF2E(LaE+n5nE9fpKW*iOO]pd)][L^ogZU;6--[i(Z +\F:0QgY&Y\7:N;t+'UNt@[RTeX%IW-*`uA[`1!U'B:2c3L-,R-2E@M;iLSV[W:>:Xd*@\X[],H[/,]IN +;/74*h$H%)k*Qt]D8,"r[G`d#_qVcIXD6o5SG7#oj#A&$P[;)TSl@>'1ogC8r6pLZk;Hf"UO^XF?^`hm +,;u>0pO6=h_HCQ%pr[68raFWFeBQ/\XVEhQ8g?oaF^"1(WqeqL$c"4IemajRXgM@ST51RE.JtMU-(Ui/ +CN\]AX'sI\q9/,..hM/c1p%L":#S#3R`4qtoWLLW-5]HO\$\e:;JX7]lbdWB4Mu*S=UMp#U!Qu"gXT3L +a'G=I-t7m6/'nX<$$q^UIM:X:DejhQiA^;7\lrlNk$D`'q"9%09amNZamk/D"LH#4I+)921(g:HM'_]8 +kBHR[q6hB8e8Xo^SsX0\'o+sSgd<1Ji9)6kHY2>+m,>+_eOOBaI0?K3oF]!7O79WPO7:DfO*"Qp=!(j( +66BVH6Q`T4LH]2B_$g7Tdi$=\^W.F^N.+PYljn*k@DDSps#Hu5s-2sMhWYGiFjm0E_]eP$KD:!J1b6Jf +3eauJ2KN5NjGRlOW;f8t*%!3(56am`a%1nC;&^FRSRd!)$5'[He^'_M?cg2]6M,),2.5o&jI[2fe(d#] +k*=<^5;(g#Zdir9TDFFFOj[Ohi"sgWZa+RTlpB%!(4*I6EP#k+C$+3k%]l)!JXO,Dq9AboWS29k@b4OY +hT?_R@&l,Z@6)3eKufkM.mHGbGcUH1WOuTlC9&ms2&CPVc2q*Sq7-%Y-P,512BKaXGD$7lR6ErDcI'UT +pqGu0BJ.h;ZSgbPosn`$218[:V<3?m22h,JlggIZBf:s-r^>IUbaVD[R^51AX?#>l5Im]Ni0MGS:AYt? +mKn9OVe$M\Ik42E#jtj6eK1j&2*p$(."puJ8iX=.J(pN@g7+'dii>lCa^1dt$AIc=hb(C,"P9_8T_u%VODR.tRKI$C#d$*WDD)hbCX.BCG*Ta"X=erZX?$!Qhg'&/KZ#Dts#F6fp2Kqm +_75R#:=5V\Pt;Htbo$l#ag%p-qk[G:bc9OOR^92d29-c74+klTIJ4V/=EA`$LG`.4Y/78#8%2PeH7l<[ +r\?<7S!hWE0lP[T.m2X2CX1::FbF>NnX&k@kh4j;bE:]BZ&:C/(%/6H>:2duEMBVi]YcOlo1OFq%N*jh +(?5,js66;,^=[JMfR;BWGi.@Rb]mN#/#DU/U=di5/uZnK@(W*$Q2k:0ZH-%HpiCG)8%-WOiPLbOb)4`7 +2N:kSg\#R1AL1-.\HFf4]!X#"!@R6T,dgQSaapH_pS.UdPo3\K^Q>574$E5;0M6'N9gf;nX!Y/m:`*'_ +[MG2@=hVZY]*+nh[:P!dc:_Dj/4N#4c=Nu?RdE@794e0f=3eDE461)^(N]2KTkgr0oH'>gJ$S+!D# +NJ?"o_O:3]1N7VsP1K=HhGdY@-d(TVTWN$AeG=HH;_C?oE +#\QK6cFe,!B4'i4=9GfelP"Qi7Q\t[kNf?-oKQQNk@*D7k65G\J\"VMEVW$G=m1l=Zki0\f(@8MF%U-a +NAU4*3n31)I-Pi=]NZ/W:?#ff,#>bg.8-Z3D<:Z\Bi+s.20,R0\ZO\pV8G?@WhHXuM'&WHk`]:k +'tD43$[S)u*2QaQR+n[WqpE!lpTT/D>$ZK?UOSf>i-EoR21*lX=e-O^S?ee0o5Vp)GO9KV=k=pJq>?7. +P]^^VZ9n?Wm`*'=YP;j;XiQ\XNN7bG!IOp%V]S)MAs1bYlfb$^25WlMND'%]>foBWND"25SZ4QRAPM2O +0C!Cc%)$F]lMoDEK`i)U&eqBD;\s'uM)opBAV/s+F4c5I#.A)b4"tRm]-&dB\J*1kn4ImSKGr +(m/`q:8-[Ej1<+M4@MPYMJL=.V15M>Dc?uJf7BqSMBPFGUiosf6I&pr,(HfUAX<1oN2E>6G%HL8@^-M. +9-!!F?cKQbI/So$[K8a>.mOa9icQLT:pPO\(&V5$-.jRHl+4q1(p^^)\!<*578(`^.t+6ENiZu5Gf1FL +Uc^.t?#dZp0cl('Al,\"d4`?j"fB99JC/e_W#SC1i[pSk;Ac;V_nmUHW5t8`M[/Msct'7@q_"2P;sAuh +MFi;1PYI<]NBidj2'6r/"mW+6&=DG.r2%s`pU8VGnLS6n""2J#AuBg;(#$fPD-l(t-nD[)s40fUhF\s1 +4KLK"5n_a2.^$ja@(=Q2hc?iR;:A2rs#n)$?f&eC3mjtU4.ZaoW#Il]jsrF3=q=geaSr?`ab0`'2d/G.$CpBAd!=ZnrKp:(S"`j +GY"fH]4`?:B:+%:F`d-0WmU*t"5I-.g1G^BF^M&dQ8KIRX0&?#f#kQBr$C?DC`\sip`B$iR)nlmCu4_' +CE>^31Q1PZSCuofKPX!3_*sUoBOQePX]:acsY=S>E-_,9Mee++Y&1Rs%O]@Ia#jHldLgYa6MX3S(h[_T?])kt&M+InSB8,J/P+1[=;JCV!-%gt";7ANoA0.=$f_Nbt"Cq!+FKkLq?5["os2 +3/03eLRttKo6k3<^tfOI?,E$jna<%_m#l8!AJo?.j-IjSmo'q?)GPcVV[V?[JROE@0E;gU9dZ"1bEq(d +r%MF_+eGOcnPgLAWtN7_X][cf./2H*75YN`'^[3iph"+U[E!8apPeS#Hdl)(]pTNqE#6R4*q#oaZTKRM +.5XQ`T)B_4\5,K(e>a#b-',lIg+RP7kVA8?^0AdAt1tbnT^<__L +C0`(0YP)>]+`=ATitV40-f`b2E6MuYPPC$)>`o2pWZ4g8DDJOjIBk1HhUG79Y)JMog!Mmr44A%`Z'uAg +C!kq'Zag8MWAh`/Cu^@O28q<91Kic[q04(J7NosHX[_i?4ks3u`!"=h*`gT&mJcOAcUBpR8Hp%-:`7t2 +<(4dK$Ca'J_!/E![']*e`N2YO8d(Mao9,O@27$nZU0;u>6qj$Ue,'eiafO2*6lN+/phVgG/npT1n$2Mj +@O$_T*#RAjFp,d0;@aY-=iD25['$33CK3s49W&V>X#k6$s0J;.b[lo*a)]uHUhn#.OVm8fceqEgCALr8 +B=i=he[+!UP+jh'B&BoOS,1<]f8iQh:%Zo*6F+rLC-GGJ/3(UJRb!?7)=siF.N6cXgn?[/I!82,h09@+ +GEX=AoDR=(ci'lr^uF(9AB-G79X4b%EEirg,tVU5*P=3R>3GH_0q3['L*>5)Vl2kd@nuauZ.d)(s%0J. +CCSrOV`:kja#&:&bDs+iX&^$E]7.Q*cfEM\Z@c4hgfB]Y1YK%#&ThU).W.+1G4pD(h55[:n*]UI"88lBhn+oVGB]A_VS0URqjk*hqme!@:\SfSmcs^o9)K0j",o@(Wc;&nPeo26hBrcmI&dnSZ?1CmM-X)p[6ndrTR1<[4hSBU'(oqOC7HK +fUr2$rV:q0#ihQ0\)4t!LF3Y@YsR>\i6&o9])="i@&i:qiLVo9P[esFDgF[`@D-#lq4&K!*V1sjmlqeg +2R5C"%eH?84pBJpmg5cT5g@>`>LTQd<,P\'c-!(%gcY/XuXi".'UqA`2qkMjP!/sQl(]_g1[>5caA.ZaJuWI`d#kX +08Bs0(Q[CmPCJ.9,Pa"Xp,OgC4OS`L%J+j6TGEO-qd;DI1%W'K)h.FQ,`N0LZ$aG)-^fFR[pi.&13=rf +:[tLMNhn@gDF^2N3/?L!];VRL(uS75B[YZg7+D#(XPkElX_Quk*1:8qW*.R0%Lu*4OEdYYLVmcR]anb_ +gIh2kGF0(]Y$TZc4Q[sGe]03mmBCaGbGsc/ihfj1g%a"u\#Q_!-D>63@ug9E8:B:R[PHlrqpW80P`.h< +lFZ7OD74aNnAiL:#Q1r>3C^Qq=)t+)h"eD,D&0m6IcoO^4s0Vei1ZTdN9T*80RFMcl',(joQTPubQhDg +.4Cu:h*Y'ckA=Kq5a]aNrIu14KN:'IDl)*m`&dZ]`>jjCWdG\Ir`OASH/FHtdX` +\lJ4\=3GHW/^-(sN0jnpU5c!n3DZV:\osZC9ce#V/!"j,/KgKlgt!8389'J85Bof&U/CHF>".c:.?9pr +>R[3%9m2Ak+JL&CGY2h!YBWYsDBuBY#enJ\W_oh))C:<>e>YUh4JaZ%61GXhCj2K1aE^B`U/0qq[:u3R +\BWq\PslmfCFENOns%:NLt4#G;etW5Fa6SrU*8\KF_Z>qV`5H)5_NVRY#0Isg>sd61^Ik+bq*)CBmdt] +*CkPKPjKBn,\ThSQbZ%rc1P-X@X2\VR^:'+F1pqJ2M*\!@;.]M0uYl^ibr`@)=H-g[f,2)^,!>;XeaVr +][\:o'&M)X26p!W#M2]_OrHkSB>Er.0r`k[nf?YuGjCTAK4`i$,e+3n8+@PZdpUP +8@f2*WP9F+mLlMI\/&p^H>Pr=rC=-2p^(AZ4(X:Sp`8WDZ/H2*Hl!iOr:ju`K=:+%m2]_ +>;KIM^!5_A2pP+a,eLT7C[X+9e2*F9btH'.B3%q/dVJPj5euGMnk/F-3j)=VG*(R&aKkXk]\%uo09D.b2`o@lIJo>ORL +P'd"AheiV(F_f:AD[/'d0#,BID@(bRP'E2cXX!#<,=st9rn:'gGi68ehtAKK(J!ki%lh>k]^O6P7g^3Y +^7/I(D.hMdjgTYRIlY8d/?[Z#CDBA,/*-Z5eT?4IE1Zgce1]_TrS+p`Yhol^ZXj:)`[q'LFbbK!Fc`^ukGaF2"DS^I9eXbskS+aT431mVOCiPGmjW8CUV_65Y5!nG +et#uq)0)&BS;8mn]JVeqajoRSD^Df;4Da%k=*+"/0;BgQZF)285hE%4]PU(<3I\'JcMVgdK],%9P88$; +0Ddj1rWYeR52P5IiG\LK/QVm1qRb\C^O7ecIsb1p_`-r3Y]\3d;8XG9K@P;:WA??.#+TIfBBqIul1FFU +S]pG7r]Q1F8\3+$:5j;BkFNaD[cM//kaej1eo`"'[mkHgrI*8s/PX%NSPs,d5@u0[Z2<49@BEPQg@e8< +\a+ES-8es`1:$a"%_O[h%'3:poBu%gpWh`HeuJ0aq,t%5c0Ig?rN*k=fC81084b*WD-`d2W*].j#T)uc<,;*-(a3&DB)04^/NLtbX%:7kQ]mkV+]KC3q]*diGEL+Qa +8l&'-@QV[XAk6RQ:2n%WS!B\'5[*4H7cIUpdOpu31ZZMZn$V@W$Ym%2(&:GloLLVCR`4N%8Qn6q1(),^ +7op)ga2OAPEoad,BfXllY^+-DA!3QtA66;H-PX2.fJuE0k%M+KY"MX-<_9mr\[mQNpD&gC9MP=0 +Wr8Z>I?92i>-$j"F&A_S(Q/MC_(4)FWP=aUjD)SQoZj^E>f>"Fd"^crHGMT//p>4CFtk=[!pK&ZbaXnUMco5)4M8p#Zk2o@\(bX6XkPL5BI33]2O?7!cWXk)GsU2Whl1X3 +2Ye/qcno*?E>6..8*a!la_kpU'h(!IVij[r?YU+/WdMC2%'mLc+8"+Em#0FO04d?3p>%-BME@\OPWXqQ +L95>6c?WD!?rku7<;9P^DWPU<(2N=JW+6.q*\`FZ\GsgWLAmLB=h"5B:[rG]j((h\dNLFn$g'_ +>$V1g.;F(nRZ6R\,i3CjFX)3:b:g*a9$H!rXt,p,e>]Z!71MD=Wd;LVF`c6#/E8m8V8/rYn[C"cTYGdK +DbK:`nl>DsX^sr`K[h%j=''G?i8mtD\Y>rsH;XS$?<-NO`kABXqMp_d5:uV9r!LnXNE2jJ3m-kZ(![>n +\EO?-Z"Eu!s,'P>2?,<)H[4Uq^3_cp=)?cPk?i2Mb*WL:ZNSc5\,BOmjW':](;Jc[T3Cr2o!>bB>T9I%Is9hif]l1!:jl2@3^0+f_a: +cq;&%a^]PQc)M:i'lRd>f#^(XF$B+"hUp)n44Y'`fbLYsoc$-X*ln(Kj5&kQB?bCSZC1?*n&3&?G'jdY@e@B`g:T?]&i98LoP[;)hmJ6:4>)+RG%4JFC*E@Yf#K*eTH'F+%]Z9V* +6gs3kWghqKQ01#P;^Z$Cl7Ui&euTg[W%qFS,m%O8Pp+=^%Eu/XWbM_uAbE"cQDc'4!+n*kUqdd]GT.OL +Mu>fb)T&i)mtfPtWb!^m=*8Ni2"Y,1Sq2DF[-Bim`5:#T=F*fiEaDk*l[sV;j7.t'SN--X%J6pZb\[!8 +oA-gTcjs)Ko2a\:R(?n^euHW4"V(#qRm!J;`:Kq"-N%k']9SfImh2[J;J2#C^=!r!j_[eYfVm*3D +AKoEJkZJNPir1NgiG95sg^aQXjl5L[a)79OdHMI`r"RSej,Vr?Atu\m)0a1?J%,BrlocIj*#:SR=%78< +qh?#S^Z?!2`o^/G8@\OnF/*N1Ft4YR6ro"CLRX<+X\I?>n4rLJs50$_&9)UE'6j;>R"Hf:\lq!r(bGEQ"5l&J^ET*3l?3gWn(fjkhk4nbl-0S)t`8:/f3IkS]M"he>GZ[ +d7Q$GLu*R-TrP,*NQ9H@%:hOQn%2bH;N00VN!!SN?'i/)L+Kqi0[i;_'li%jM2HHi1\A3F`f&8N9<&jf +LPBUTqeaTlP;t-h])?tZ!]"r(bmI)PIl^ma3O5S0fO(]cnY^"*ZfW14DX@ljn7t+n"?hCDRDin@H=h$+nKO-eGl[lAgWA#V%#R-":J3Wn(WMZCEagiK3+LenC#>QT&sG5M/T"Sp +Uo8"]&h71^?ue#M`&M\9D>'"ipjkM5cB/$G9Qs`9kl9kM[BL>risO+urVQ[DV5jCB%G`*L&WN&1#E,IN +?aHosCq(*heWLocs$/ePG78A%2)R[HLMTqhE`#TiG'd4bcS,iJD.V1U"#UX)IF+l=N"eZ>J;u+uS%(pV +#jHWHDDfNuDaFF\l`_BeYjoTObZc04?G,?]2o$$=s$/P:NE4Q1A(A.OHJt+mPL\K2-RMT9-Z@5o/7lKM7F*3*QF0oooQ)F%$lf`9=?GXZbK-eO_/6Ti +]]$_*R*4.G+@ieNgeC;n^QP+PRffiHk'Z3D&U;gGIpL:Ti/P)$'dWX:9#+l:Wn3l7T/_L2Xkmk.-?i=.-4,TJ5a-*IC?fg[!B=^7;JnWsQ3"ADAB%Qb@` +Fqt0:3:ije!-^`fB"4ZUB@7>RT\SD\MTBXNaHc#@J& +^X)n2$*j@+@Y>k=jg*%279OAr&Z7'bm!5pPfeTH$bW)Xk0D_'D(I]#('0:2K`:2kJs8M&^J)?^r7q'`q +Rpl*Nc%mb&>N'mbGr+Frem9@]]G^5Lo2`dck08^+\2U0HFIh;,6]pX$\sD<1Y%<(h4iIn@6C77%`0e\_ +427t36J&MU6C78H\uoW%GgWoMRr':WDHXp'+]7$M#ErUQ72C>6`oHPp4[\[ss2jZ:Z?e;hM,721oe:V. +P9ON#+re2]m3hK_'2U$*'06P3M.6pgNm$LQc8Is?*#MJ@%Kf]!8a8ZTm=$JQKmboh"&Y+51H4Wa(fIL^ +lI1)1D&<*_Y+j0^'\)#3HBp`\l;V-t['>@h\`D +8:@"hO[/s!aoX>+.JM!gF/(tVj56;X%([(QPa2g!_:Lm!PM49(/'t4;#?Tu6"0/N618DJSR +Aka\n0lB%K^LDOrnN/ilLc602?SLMY5I'W&&[n/u(gfCnBnm(^[TC[:-ILM&N8EC74+u,$fjs]578uX[ +=Bmmh*UW>4>@&TK$FSW\aou$TXj,TcGS4Ya[>[I?T)3dK'gD+i +/Xd!'^T^2bU7M%P&7s2EbihRK\R&_Z*W4),q<1,H35IKUBB$@47JFE.V@%#]2r2=PME'prXJJ>239$MA +HD%oAbTi.d&oRh2BN;h'"ZL`II5L1@PbX8s"KH%ZhDFlm@lLKf*o:IWBuBEo\n33eq1eDDS\WtNM79Si +7Po2Vbeup7loO;CI_;l#s7Hh.lMZ)/Gi"KfX?N<56*kh>'+t^2_&%q&P7id4'ejXp6S]3Qg8jelM`>08 +nrm:F/T\Zph<("?mLJC4=VDto"n6Z*L-gK7V*6iIFMg^.lgui;XAfr3c`2tJXOJ^Ma`RRSc,5B]]s`K# +ek%M*%(@i1CJECBf&`r"\n#A8X[>g`-f'ae-*6RW>QA]:j1/ +3BCDA(,&>-$_@:&21c?r_9ISO&jh5[uk^'do(9fmjBPbT/tG!:"b6bEGZmkpV< +2'9StKpF5@\i)uGoV"&q=B40s^k14YiLZ4f\Ga=+K)b&n=(.(Ah+MH`aCs-@V1rL),OO]>!p[DaBY0a& +(Gs>N^IRZsh&L!EK8V!/?E.3RTjKcODmK0Jj3!BU)t(oe#T;D<,GL2o`"=TXVkR33][;\K/Zb!/>UO-Zj_Dm=ESIFfi +Ku:[`LW*ck&fLal&&-ON1.^=(RIV4r#cnt'Bu5\kt%s'u@Tns!5bMMpiOqa@c-V_'9q=1\_rFqdW7%B'JWIO^6V. +[&5s+WZ7jG(+o(8jj;e%6q?)rB@0eh38[aY)GcsM:Bhi\]M!BI=N[*?S=t.c%Dt+%EH.GYks?4^BEWNs +Ibn.E)12,.",@7X><(*TUX=5@T\55l)A#]si`2:cPtMfjK/E9:'MA])PC>HENjg'PJbR!DIo_s,Q1$$. +622Oo>p+E!-^/Z4>BaUfjg2aqW6TH%_r>F@Y,Fo-2'VmuL!FU6I5*lgl-)HpY6?apd5i(,$g/;(K%5/: +0&=*rWQ#N52(DK8qQM%5L%2SDBMI_hjpTu`,nFus\>MLm_kia-\j_k4'kO`4m1@8P%%S@8Uc9_K-;FVY+A:F4bBa,#(pbEO/Q."'DeNG$?l])5^>DL(1JSP64s +Vrnt,`7a;`-c&c-I4h#%T@g3#S=o`uH^0a"$1V/6aI!0XPTVQ>DJ:NRXc/!/&tS^7Yu^jY6gq8B^LH7Y +g'KW:9M5&)nU2I-g[Pa1n*0YOR.iDe#DRjEVqO7H2Yi;.Ng6d>7M&4pO&dZG5b/CS,h]'FEU9t3^KmRT +SlU_tD"_5eL3;Ds+s3^NbYCo^8qak,*;b7Ts.?o6^U;7=&UZTbS.ZueZeeV)?=B)sPR&`5C\T?@,M+@R +gF3_`akLBL8i3N:h,>M^+5)*8<&\)9Fq.J1:!u!I6;D`1Na"C_``"(7L?`(eSJ!+/FB1UP@P+JBVaQ:! +PR(Bh7^`BaNTWP;9P98YM0KV3p2cm];!<'uM3((e![GUm2a8VZ[U+_YHB;^,JE5Rkq4M%&-A&&uBD +PR,krd+#=!,$\_K@n3ZLMYr_&jZDp\hr?cb:A/DL@DZSlbITuNI5'W^31k\Y?\#cR(G)q_>IO;]Iq-E` +]scC=DTX:Y_t%!Bl;^7-3F[+EEL0_&l8#C/G#e6TAK#Q(9,NKMXUdCNJQ#a@eXaW(4;[2F>6>)'chnk`5LT-d^:[hKq#5a3] +Uh-M?R\6K-D@1:e"\k4lo/)-*A>P-;[J1Pp"roEc#fq1L-(?'$H5EXINSeuW%DanBCt,0NY7SE'[rjKggO<:N;mO))9]S>=Bb15314Wd2X?26MX +fo"/X/YXtISb;=`bq,G1e/T0&q/kIZ6+V(.dT7/jFSa_ha!pUO[nb%I]q$aEpTCrF5mkd_'8m+%rgmO@ +9\Qd'8`dPPU_m[GfH=cuNiEBC-u<4S[AP(5/&iMl.=Li))c,._8:U!eU&Cf"-L9'$oH*u('[8<)3^;uV9pj? +mD7O<\$ZT2!quU*[]p3\hDWY@^:8^rO/`SoO_EKWBg\g?-R?9 +M$'>-4c)&;VYIPr`04M,T1d>WAuX)%MmJt:TU=%&N`XgMM*JbbbR_ooBB=/2c`p*mNplk"cdFuQ_na\64oeHcUZ9_AZc\u&q>Mpg^;gMfk*-r&%LFS[[V=>ZRk=jV"[n%"u1$L-6c/fk\AP, +_B\ct)Ogfs2o;3T#Bj`36C +ROmo3Oj?VLm%d4*-E>D@0`&no4+k+H#;jeLXa>o%>B`e&Fp^*@+KI\0I;aAYq-uoYpZk21k2)M-PNFLB +Y"@Z!Y/&Pn;qWCm8Ok:R>^gn,-=%AC&=R]@oXa;0(_83q5\:B@eho83UcC70I\g56TiFBYBS:*J=p'6BdF1C=<#k +F%r+l*ESFOjY#/UCGP^%aKhQBG@bt\nD:<>=69FK-=&bJa>E-O.n:Ch$t&2EUe)N-I"7sf;&khhu6f[m8GHc04TKFdT81sPBK,49q$-k>a&bQ]On;58*hGab#N_KJYF'5 +@9k?.9tDf]d5>VQn%Y;J,fL6fg16(TdNNU(PP/$kdT]d:RHD/Kf8_`$Ff1sLdT]dLRO2l,`AHh@32T8o +X#0(CbP+\ohV2gN:m:&09eO\oBe[)-N.$[W^9>TQMDfdW@84-Bqim[hn1dU+a:n-,I$&9d2;]?1gglpmX$!JJ8EOPbH=sAq.Gb +g7jJ;bRpXWd]C2gkGha]0V0V*$p&=+>60:0)/Z^KM*0f65.u:WDhb=_,G3ad]bj&YM'c)&N;qr+rZQJJJ%E.Q!QX41C_YPk=($75%:2oj,BT@iDaa"[MjXYM%k;!)5iDYG&Vsj3B]VeQCgUl%dETK +.*cA:Pr^LHR>>g*O77#"%S'`'mte<)_:s2]mk&h$Lr`M/;tMPRAr7qak*t-5Gbs0K +=9rrqSr0quDg%kp06M`#e_dZM0Jr]I0c;5J-_Fs>n5>e4$#(`+!q37k$K/[HIRdaG5/8_,i,h)MDWF,1 +BjdrWr+.3H@U%eNU]7]8HtR$BV.jOR(onh4BKBLoXr*\RAE7/cI":len,$-\$pE+]*G?o +)AGuW=V)/:^t`4SNr,CqBG``YJ4]#sp+!4ieQ4MMlVO3ueET,D +Z[cIr!5J@p*(?FMB\cq(+l>XZU<2Ql/L@=BY+1GF!Ah<#@Z-hs=BJ54OliX=gIg:e*(BOA]?u)9rfd)] +)@K'1Y:p42d*OAY&):-2[g5]*=qfW?Sn7r"qQ#e%9NBNR84kB+Ec:VpH)4rs&,(G2b`G.jTIqPX5J-@s +q$9Ra`-SXELa\#$'3VJl@6*.Ansu$;?5*^;`G/<>*B^REI/AqOmalZpZYD_cK4C5QbV.(64FFPVi0/C: +@.F>35NDq7IPTT.K9sMKJgMRYmo+MQ#MoQj>Wsj*,32+aj^(Tt3ZLf$^K$IPZ(>dQ#CNp1QOi:gaZ`mg +/]OsH+A%?9?uF+S4ts#bg@;T`nc<+?&,F#1YH#d$(d6tJ+Hm=e.3JJSOq2s/6U'G//*$g(MF'K@\Of+O +E4).XLE_B,,QR9B$[M4_A&%TNnm*kb(_0`rFdq9nh[>&*qt4c,RIlE,kehF0=G/fNVr-6Fn+PlA:OKR@ +0@n!I]t")X!W?C)nbr&ArZD/:;>rfNXk,c?DMX#-*T`P&7sr;L(rlDZJ,GAVj1kTghn[Tm1&~> +endstream +endobj +7 0 obj + 29153 +endobj +3 0 obj + << + /Parent null + /Type /Pages + /MediaBox [0.0000 0.0000 431.00 434.00] + /Resources 8 0 R + /Kids [5 0 R] + /Count 1 + >> +endobj +9 0 obj + [/PDF /Text /ImageC] +endobj +10 0 obj + << + /S /Transparency + /CS /DeviceRGB + /I true + /K false + >> +endobj +11 0 obj + << + /Alpha1 + << + /ca 1.0000 + /CA 1.0000 + /BM /Normal + /AIS false + >> + >> +endobj +8 0 obj + << + /ProcSet 9 0 R + /ExtGState 11 0 R + >> +endobj +xref +0 12 +0000000000 65535 f +0000000015 00000 n +0000000315 00000 n +0000029896 00000 n +0000000445 00000 n +0000000521 00000 n +0000000609 00000 n +0000029872 00000 n +0000030350 00000 n +0000030066 00000 n +0000030105 00000 n +0000030207 00000 n +trailer +<< + /Size 12 + /Root 2 0 R + /Info 1 0 R +>> +startxref +30423 +%%EOF diff --git a/docs/installation/README.de.rst b/docs/installation/README.de.rst index b6bc769..9207e70 100644 --- a/docs/installation/README.de.rst +++ b/docs/installation/README.de.rst @@ -6,7 +6,9 @@ Windows Der Installer der AusweisApp2 kann über die Kommandozeile gestartet werden, um den Installationsprozess zu konfigurieren und systemweite Standardeinstellungen -vorzugeben. Neben den üblichen Parametern [1]_ enthält das folgende Kommando +vorzugeben. +Der Rückgabewert von msiexec informiert über das Ergebnis der Installation [#msiexecreturnvalues]_. +Neben den üblichen Parametern [#standardarguments]_ enthält das folgende Kommando alle unterstützten Parameter, die im Anschluss erläutert werden. .. code-block:: winbatch @@ -15,7 +17,7 @@ alle unterstützten Parameter, die im Anschluss erläutert werden. INSTALL_ROOT Gibt das Installationsverzeichnis an. Ohne Angabe wird der Ordner - "C:\\Programme (x86)\\AusweisApp2 X.YY.Z" genutzt. + "C:\\Programme (x86)\\AusweisApp2" genutzt. SYSTEMSETTINGS Betrifft die Erstellung von Firewall-Regeln der Windows Firewall. Ohne Angabe @@ -69,7 +71,9 @@ UPDATECHECK false oder true kann diese Ãœberprüfung deaktiviert bzw. aktiviert werden. Die Einstellung kann dann durch den Benutzer in der AusweisApp2 nicht geändert werden. Ohne Angabe ist die Ãœberprüfung aktiviert, der Benutzer kann die - Einstellung jedoch ändern. + Einstellung jedoch ändern. Der UPDATECHECK Parameter beeinflusst weder die + Aktualisierung der Diensteanbieterliste noch die Aktualisierung der + Kartenleserinformationen. ONSCREENKEYBOARD Für die Eingabe von PIN, CAN und PUK kann eine Bildschirmtastatur verwendet @@ -83,7 +87,7 @@ HISTORY von HISTORY auf false oder true kann der Verlauf deaktiviert bzw. aktiviert werden. Der Benutzer kann diese Einstellung anpassen. -Alternativ kann mit Orca [2]_ eine MST-Datei erzeugt werden, die die oben +Alternativ kann mit Orca [#orca]_ eine MST-Datei erzeugt werden, die die oben genannten Parameter definiert. Die Parameter sind in den Tabellen "Directory" und "Property" verfügbar. Ãœbergeben lässt sich die MST-Datei mit dem folgenden Kommando: @@ -143,5 +147,109 @@ common.keylessPassword ONSCREENKEYBOARD history.enable HISTORY ====================== ==================== -.. [1] https://docs.microsoft.com/de-de/windows/desktop/msi/standard-installer-command-line-options -.. [2] https://docs.microsoft.com/de-de/windows/desktop/Msi/orca-exe +.. [#msiexecreturnvalues] https://docs.microsoft.com/de-de/windows/desktop/msi/error-codes +.. [#standardarguments] https://docs.microsoft.com/de-de/windows/desktop/msi/standard-installer-command-line-options +.. [#orca] https://docs.microsoft.com/de-de/windows/desktop/Msi/orca-exe + + + +Anforderungen an die Einsatzumgebung +------------------------------------ + +Rechte für Installation und Ausführung +'''''''''''''''''''''''''''''''''''''' + +Für die Installation der AusweisApp2 sind Administratorrechte erforderlich. + +Die Ausführung der AusweisApp2 erfordert keine Administratorrechte. + + +Verwendete Netzwerk-Ports +''''''''''''''''''''''''' + +In :numref:`porttable_de` werden alle von der AusweisApp2 genutzten Ports +aufgelistet. +Eine schematische Darstellung der einzelnen Verbindungen, die von der +AusweisApp2 genutzt werden, ist in :numref:`communicationmodel_de` dargestellt. + +Die AusweisApp2 startet einen HTTP-Server, der über Port 24727 erreichbar +ist. +Der Server empfängt nur auf der localhost Netzwerkschnittstelle. +Die Erreichbarkeit dieses lokalen Servers ist für die Onlineausweisfunktion +notwendig, da Diensteanbieter mit einem HTTP-Redirect auf den lokalen Server +umleiten um den Ausweisvorgang in der AusweisApp2 fortzuführen (eID1). +Außerdem wird über den Server die Verwendung der AusweisApp2 von anderen +Anwendungen über eine Websocket-Schnittstelle angeboten (SDK-Funktion, eID-SDK). +Daher müssen eingehende lokale Netzwerkverbindungen auf dem TCP Port 24727 +ermöglicht werden. + +Für die Verwendung von der "Smartphone als Kartenleser"-Funktion über WLAN +müssen außerdem Broadcasts auf UDP Port 24727 im lokalen Subnetz empfangen +werden können. +Hierzu muss eventuell die AP Isolation im Router deaktiviert werden. + +.. _communicationmodel_de: +.. figure:: CommunicationModel_de.pdf + + Kommunikationsmodell der AusweisApp2 + +Der Installer der AusweisApp2 bietet die Option, für alle angebotenen +Funktionen der AusweisApp2 die erforderlichen Firewall-Regeln in der +Windows-Firewall zu registrieren. +Erfolgt die Registrierung der Firewall-Regeln nicht, wird der Benutzer bei +einem Verbindungsaufbau der AusweisApp2 mit einem Dialog der Windows-Firewall +aufgefordert, die ausgehenden Datenverbindungen zuzulassen. +Durch Registrierung der Firewall-Regeln während der Installation werden diese +Aufforderungen unterbunden. + +Für die lokalen Verbindungen eID1 und eID-SDK müssen (unter den gängigen +Standardeinstellungen der Windows-Firewall) keine Regeln in der +Windows-Firewall eingetragen werden. + +Die durch den Installer angelegten Regeln werden in Tabelle :numref:`firewalltable_de` +aufgelistet. + + +TLS-Verbindungen +'''''''''''''''' + +Es ist generell nicht möglich, die AusweisApp2 mit einem TLS-Termination-Proxy +zu verwenden, da die übertragenen TLS-Zertifikate über eine Verschränkung mit +dem Berechtigungszertifikat aus der Personalausweis-PKI validiert werden. +CA-Zertifikate im Windows-Truststore werden daher ignoriert. + +.. raw:: latex + + \begin{landscape} + +.. _porttable_de: +.. csv-table:: Netzwerkverbindungen der AusweisApp2 + :header: "Referenz", "Protokoll", "Port", "Richtung", "Optional", "Zweck", "Anmerkungen" + :widths: 8, 8, 8, 8, 8, 35, 25 + + "eID1", TCP, 24727, "eingehend", "Nein", "Online-Ausweisvorgang, eID-Aktivierung [#TR-03124]_", "Nur erreichbar von localhost [#TR-03124]_" + "eID2", TCP, 443, "ausgehend", "Nein", "Online-Ausweisvorgang, Verbindung zum Dienstanbieter, TLS-1-2-Kanal [#TR-03124]_", "TLS-Zertifikate verschränkt mit Berechtigungs-Zertifikat [#TR-03124]_" + "eID3", TCP, 443, "ausgehend", "Nein", "Online-Ausweisvorgang, Verbindung zum eID-Server, TLS-2-Kanal [#TR-03124]_", "TLS-Zertifikate verschränkt mit Berechtigungs-Zertifikat [#TR-03124]_" + "eID-SDK", TCP, 24727, "eingehend", "Nein", "Verwendung der SDK-Schnittstelle", "Nur erreichbar von localhost [#TR-03124]_" + "SaK1", UDP, 24727, "eingehend", "Ja", "Smartphone als Kartenleser, Erkennung [#TR-03112]_", "Broadcasts" + "SaK2", TCP, , "ausgehend", "Ja", "Smartphone als Kartenleser, Verwendung [#TR-03112]_", "Verbindung im lokalen Subnetz" + "Update", TCP, 443, "ausgehend", "Ja", "Updates [#govurl]_ zu Dienstanbietern und Kartenlesegeräten sowie Informationen zu neuen AusweisApp2-Versionen [#updatecheck]_ .", "Die Zertifikate der TLS-Verbindung werden mit in der AusweisApp2 mitgelieferten CA-Zertifikaten validiert. Im Betriebssystem hinterlegte CA-Zertifikate werden ignoriert." + +.. [#TR-03124] Siehe TR-03124 des BSI +.. [#TR-03112] Siehe TR-03112-6 des BSI +.. [#govurl] Erreichbar unter dem URL https://appl.governikus-asp.de/ausweisapp2/ +.. [#updatecheck] Die Ãœberprüfung auf neue AusweisApp2-Versionen kann deaktiviert werden, siehe + Kommandozeilenparameter UPDATECHECK + +.. _firewalltable_de: +.. csv-table:: Firewallregeln der AusweisApp2 + :header: "Name", "Protokoll", "Port", "Richtung", "Umgesetzte Verbindung" + :widths: 25, 15, 15, 15, 30 + :align: left + + "AusweisApp2-Firewall-Rule", TCP, \*, "ausgehend", "eID2, eID3, SaK2, Update" + "AusweisApp2-Firewall-Rule-SaC-In", UDP, 24727, "eingehend", "SaK1" + +.. raw:: latex + + \end{landscape} diff --git a/docs/installation/README.en.rst b/docs/installation/README.en.rst index 290bb75..8c4a040 100644 --- a/docs/installation/README.en.rst +++ b/docs/installation/README.en.rst @@ -5,9 +5,10 @@ Windows ------- Start the installer of AusweisApp2 using the command line to configure the -installation process and preset system-wide default settings. In addition to the -usual arguments [1]_, the following command contains all supported arguments, -which are explained below. +installation process and preset system-wide default settings. +The return value of msiexec indicates the result of the installation [#msiexecreturnvalues]_. +In addition to the usual arguments [#standardarguments]_, the following command +contains all supported arguments, which are explained below. .. code-block:: winbatch @@ -15,7 +16,7 @@ which are explained below. INSTALL_ROOT States the installation directory. If not specified, the folder - "C:\\Program Files (x86)\\AusweisApp2 X.YY.Z" is used. + "C:\\Program Files (x86)\\AusweisApp2" is used. SYSTEMSETTINGS Concerns the settings of firewall rules of the Windows Firewall. When not @@ -64,6 +65,8 @@ UPDATECHECK UPDATECHECK to false or true deactivates or activates the update check respectively. Users are unable to change this setting in the AusweisApp2. Not specified, the update check is activated, but users can adjust the settings. + The UPDATECHECK parameter affects neither updates of the service + provider list nor updates of card reader information. ONSCREENKEYBOARD An on-screen keyboard is available to enter PIN, CAN or PUK. It is deactivated or @@ -76,7 +79,7 @@ HISTORY content). Indicating HISTORY as false or true, the history function is deactivated or activated. Users are able to adjust the settings. -Alternatively, Orca [2]_ can be used to create an MST file that defines the +Alternatively, Orca [#orca]_ can be used to create an MST file that defines the above arguments. The arguments are available in the "Directory" and "Property" tables. The MST file can be transferred with the following command: @@ -132,5 +135,101 @@ common.keylessPassword ONSCREENKEYBOARD history.enable HISTORY ====================== ==================== -.. [1] https://docs.microsoft.com/en-us/windows/desktop/msi/standard-installer-command-line-options -.. [2] https://docs.microsoft.com/en-us/windows/desktop/Msi/orca-exe +.. [#msiexecreturnvalues] https://docs.microsoft.com/en-us/windows/desktop/msi/error-codes +.. [#standardarguments] https://docs.microsoft.com/en-us/windows/desktop/msi/standard-installer-command-line-options +.. [#orca] https://docs.microsoft.com/en-us/windows/desktop/Msi/orca-exe + + +Operational Environment Requirements +------------------------------------ + +Required authorization for installation and execution +''''''''''''''''''''''''''''''''''''''''''''''''''''' + +Administrator privileges are required to install the AusweisApp2. + +The execution of the AusweisApp2 does not require administrator privileges. + +Used network ports +'''''''''''''''''' + +All network ports used by the AusweisApp2 are listed in :numref:`porttable_en`. +:numref:`communicationmodel_en` shows a schematic representation of the +individual connections made by the AusweisApp2. + +The AusweisApp2 starts a HTTP-Server on port 24727. +The server binds only to the localhost network interface. +The availability of the local server is necessary for the online eID function, +because service providers will redirect the user with a HTTP redirect to the +local server to continue the authentication process in the AusweisApp2 (eID1). +The server is also used to offer other local applications to use the +AusweisApp2 via a websocket interface (SDK function, eID-SDK). +Therefore local incoming network connections to TCP Port 24727 must be +permitted. + +Broadcast on UDP port 24727 in the local subnet have to be receivable by the +AusweisApp2 to use the "Smartphone as Card Reader" functionality. +It may be necessary to deactive AP isolation on your router. + +.. _communicationmodel_en: +.. figure:: CommunicationModel_en.pdf + + Communication model of the AusweisApp2 + +The installer of the AusweisApp2 provides an option to register all needed +firewall rules in the Windows Firewall. +If the rules are not registered, the user will be prompted by the Windows +Firewall to allow the outgoing connections once the AusweisApp2 tries to +connect to a server. +These prompts are suppressed by registering the firewall rules during +installation. +No rules have to be added to the Windows Firewall for the local connections +eID1 and eID-SDK (when using the standard settings). + +In table :numref:`firewalltable_en` all firewall rules registered by the +installer are listed. + +TLS connections +''''''''''''''' + +Transmitted TLS certificates are solely validated via the interlacing with +the authorization certificate issued by the german eID PKI. +CA certificates in the Windows truststore are thus ignored. +It is therefore generally not possible to use the AusweisApp2 behind a +TLS termination proxy. + +.. raw:: latex + + \begin{landscape} + +.. _porttable_en: +.. csv-table:: Network connections of the AusweisApp2 + :header: "Reference", "Protocol", "Port", "Direction", "Optional", "Purpose", "Note" + :widths: 8, 8, 8, 8, 8, 35, 25 + + "eID1", TCP, 24727, "incoming", "no", "Online eID function, eID activation [#TR-03124]_", "Only accessible from localhost [#TR-03124]_" + "eID2", TCP, 443, "outgoing", "no", "Online eID function, connection to the service provider, TLS-1-2 channel [#TR-03124]_", "TLS certificates interlaced with authorization certificate [#TR-03124]_" + "eID3", TCP, 443, "outgoing", "no", "Online eID function, connection to eID-Server, TLS-2 channel [#TR-03124]_", "TLS certificates interlaced with authorization certificate [#TR-03124]_" + "eID-SDK", TCP, 24727, "incoming", "no", "Usage of the SDK functionality", "Only accessible from localhost [#TR-03124]_" + "SaC1", UDP, 24727, "incoming", "yes", "Smartphone as Card Reader, detection [#TR-03112]_", "Broadcasts" + "SaC2", TCP, , "outgoing", "yes", "Smartphone as Card Reader, usage [#TR-03112]_", "Connection in local subnet" + "Update", TCP, 443, "outgoing", "yes", "Updates [#govurl]_ of service provider and card reader information as well as informations on new AusweisApp2 versions [#updatecheck]_ .", "TLS certificates will be validated against CA certificates included in the AusweisApp2. CA certificates provided by the OS are ignored." + +.. [#TR-03124] See TR-03124 specification from the BSI +.. [#TR-03112] See TR-03112-6 specifiaction from the BSI +.. [#govurl] All updates are based on the URL https://appl.governikus-asp.de/ausweisapp2/ +.. [#updatecheck] Automatic checks for new AusweisApp2 versions can be deactivated, see commandline parameter + UPDATECHECK. + +.. _firewalltable_en: +.. csv-table:: Firewall rules of the AusweisApp2 + :header: "Name", "Protocol", "Port", "Direction", "Connection reference" + :widths: 25, 15, 15, 15, 30 + :align: left + + "AusweisApp2-Firewall-Rule", TCP, \*, "outgoing", "eID2, eID3, SaC2, Update" + "AusweisApp2-Firewall-Rule-SaC-In", UDP, 24727, "incoming", "SaC1" + +.. raw:: latex + + \end{landscape} diff --git a/docs/installation/conf.py.in b/docs/installation/conf.py.in index 271c0e6..e6308d8 100644 --- a/docs/installation/conf.py.in +++ b/docs/installation/conf.py.in @@ -42,7 +42,7 @@ master_doc = 'index' # General information about the project. project = 'AusweisApp2 Installation' -copyright = '2018, Governikus GmbH & Co. KG' +copyright = '2018-2019, Governikus GmbH & Co. KG' author = 'Governikus GmbH & Co. KG' # The version info for the project you're documenting, acts as replacement for @@ -120,7 +120,8 @@ latex_elements = { # Additional stuff for the LaTeX preamble. 'preamble': ''' -\hypersetup{pdfauthor={Governikus GmbH \& Co. KG}, +\\usepackage{lscape} +\\hypersetup{pdfauthor={Governikus GmbH \& Co. KG}, pdftitle={AusweisApp2}, pdfsubject={Installation}, pdfkeywords={installation}, diff --git a/docs/installation/index.rst b/docs/installation/index.rst index 15bd5d2..44f0463 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -6,7 +6,7 @@ Table of contents \clearpage .. toctree:: - :maxdepth: 2 + :maxdepth: 3 :caption: Installation README.de diff --git a/docs/releasenotes/1.16.2.rst b/docs/releasenotes/1.16.2.rst new file mode 100644 index 0000000..6e1f39e --- /dev/null +++ b/docs/releasenotes/1.16.2.rst @@ -0,0 +1,50 @@ +AusweisApp2 1.16.2 +^^^^^^^^^^^^^^^^^^ + +**Releasedatum:** 15. April 2019 + + + +Anwender +"""""""" + - Der Abbruch-Dialog beim Wechsel in den PIN-Änderungsmodus aus einem + laufenden Ausweisvorgang heraus wird nicht länger angezeigt. + + - Alte Log-Dateien werden unter Android automatisch bereinigt. + + - Gekoppelte Smartphones als Kartenleser (SaK) werden jetzt korrekt als + verfügbar angezeigt, wenn die Verbindung automatisch durch die AA2 + hergestellt wurde. + + - Erklärungstexte der mobilen App wurden verbessert. + + - In der mobilen App erfolgt kein Browser-Redirect mehr, wenn die + Transport-PIN innerhalb eines Ausweisvorgangs in eine 6-stellige PIN + überführt wird. + + - Der Fehlerdialog wurde um die Möglichkeit erweitert, eine Email an den + Support der AusweisApp2 zu senden, mit der Bitte die Protokolldatei + anzuhängen. Die Email enthält automatisch ermittelte Daten zum + verwendeten System sowie die letzten, kritischen Fehlermeldungen. + + - Hinterlegte Daten zu Kartenlesern und Diensteanbietern wurden aktualisiert. + + - Die Versionsnummer der AusweisApp2 ist nicht mehr Teil des + Installationspfads, um Probleme mit Antiviren-Software zu vermeiden. + + - Ein Absturz beim Start einer Authentisierung, wenn die AusweisApp2 + im Hintergrund läuft, ist behoben. + + - Die Erkennung von Smartphones als Kartenleser wurde verbessert. + + - Die Erkennung der Kartenleser in der Diagnose wurde korrigiert. + + - Sonstige kleinere Fehler korrigiert. + + +Entwickler +"""""""""" + - Der Standard-Logger der jeweiligen Plattform kann mittels + Parameter "--no-loghandler" deaktiviert werden. + + - Anleitung "Installation in Firmennetzwerken" wurde erweitert. diff --git a/docs/releasenotes/announce.rst b/docs/releasenotes/announce.rst index 9af78d0..8bd7a82 100644 --- a/docs/releasenotes/announce.rst +++ b/docs/releasenotes/announce.rst @@ -4,10 +4,11 @@ Abkündigungen Mit der Version 1.18.0 der AusweisApp2 wird die Unterstützung folgender Systeme eingestellt. + - OS X 10.11 - x86-Architektur unter Android -Mit der Version 1.16.0 der AusweisApp2 wird die Unterstützung +Mit der Version 1.16.0 der AusweisApp2 wurde die Unterstützung folgender Systeme eingestellt. - OS X 10.10 @@ -15,7 +16,7 @@ folgender Systeme eingestellt. - Android 4.4 -Mit der Version 1.16.0 der AusweisApp2 wird die Unterstützung +Mit der Version 1.16.0 der AusweisApp2 wurde die Unterstützung folgender TLS-Cipher eingestellt. - DHE-DSS-AES256-GCM-SHA384 diff --git a/docs/releasenotes/appcast.rst b/docs/releasenotes/appcast.rst index ecd1d4d..31532dc 100644 --- a/docs/releasenotes/appcast.rst +++ b/docs/releasenotes/appcast.rst @@ -4,6 +4,7 @@ Release Notes .. toctree:: :maxdepth: 1 + 1.16.2 1.16.1 1.16.0 announce diff --git a/docs/releasenotes/conf.py.in b/docs/releasenotes/conf.py.in index 27f74e5..b8b889b 100644 --- a/docs/releasenotes/conf.py.in +++ b/docs/releasenotes/conf.py.in @@ -42,7 +42,7 @@ master_doc = 'index' # General information about the project. project = 'AusweisApp2' -copyright = '2016-2018, Governikus GmbH & Co. KG' +copyright = '2016-2019, Governikus GmbH & Co. KG' author = 'Governikus GmbH & Co. KG' # The version info for the project you're documenting, acts as replacement for diff --git a/docs/releasenotes/issues.rst b/docs/releasenotes/issues.rst index 8a3140e..a8d5b80 100644 --- a/docs/releasenotes/issues.rst +++ b/docs/releasenotes/issues.rst @@ -34,9 +34,3 @@ Die nachfolgende Liste bezieht sich auf die aktuelle Version der AusweisApp2. - Bei der Nutzung eines entfernten Kartenlesegeräts mit aktiviertem Tastaturmodus kann bei einer Authentisierung nicht in die PIN-Änderung gewechselt werden, wenn nur eine 5-stellige PIN vorhanden ist. - - - Bei der Nutzung eines entfernten Kartenlesegeräts mit aktiviertem - Tastaturmodus merkt sich das entfernte Kartenlesegerät fälschlicherweise - die zuletzt ausgewählte Länge der PIN (5/6 Stellen). Ein Neustart des - Fernzugriffs auf dem entfernten Kartenlesegerät setzt die Länge auf - 6 Stellen zurück. diff --git a/docs/releasenotes/singlehtml.conf.py.in b/docs/releasenotes/singlehtml.conf.py.in index 5f22de9..6ffbbe4 100644 --- a/docs/releasenotes/singlehtml.conf.py.in +++ b/docs/releasenotes/singlehtml.conf.py.in @@ -42,7 +42,7 @@ master_doc = 'appcast' # General information about the project. project = 'AusweisApp2' -copyright = '2016-2018, Governikus GmbH & Co. KG' +copyright = '2016-2019, Governikus GmbH & Co. KG' author = 'Governikus GmbH & Co. KG' # The version info for the project you're documenting, acts as replacement for diff --git a/docs/releasenotes/support.rst b/docs/releasenotes/support.rst index 0f920d6..9a41d43 100644 --- a/docs/releasenotes/support.rst +++ b/docs/releasenotes/support.rst @@ -48,9 +48,9 @@ und sollte daher mit allen marktüblichen Browsern verwendet werden können. Im Rahmen der Qualitätssicherung werden die folgenden Browserversionen getestet. - - Firefox 64 + - Firefox 66 - - Chrome 71 + - Chrome 74 - Internet Explorer 11 @@ -116,9 +116,9 @@ folgenden Browser zu verwenden. - Firefox Klar 8 - - Chrome 71 + - Chrome 73 - - Android System WebView 70 + - Android System WebView 73 diff --git a/docs/releasenotes/versions.rst b/docs/releasenotes/versions.rst index 863ec00..c1056bd 100644 --- a/docs/releasenotes/versions.rst +++ b/docs/releasenotes/versions.rst @@ -6,6 +6,7 @@ Versionszweig 1.16 .. toctree:: :maxdepth: 1 + 1.16.2 1.16.1 1.16.0 diff --git a/docs/sdk/conf.py.in b/docs/sdk/conf.py.in index 3473634..44ac321 100644 --- a/docs/sdk/conf.py.in +++ b/docs/sdk/conf.py.in @@ -42,7 +42,7 @@ master_doc = 'index' # General information about the project. project = 'AusweisApp2 SDK' -copyright = '2016-2018, Governikus GmbH & Co. KG' +copyright = '2016-2019, Governikus GmbH & Co. KG' author = 'Governikus GmbH & Co. KG' # The version info for the project you're documenting, acts as replacement for diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index fd9aab6..89c0f8e 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -278,7 +278,14 @@ ELSEIF(APPLE) SET(QT_CONFIGURE_FLAGS ${QT_CONFIGURE_FLAGS} ${QT_CONFIGURE_FLAGS_OTHER} -framework -sdk ${osx_sdk}) ELSEIF(WIN32) IF(MSVC) - SET(QT_PLATFORM win32-msvc2015) + IF(MSVC_TOOLSET_VERSION STREQUAL "140") + SET(QT_PLATFORM win32-msvc2015) + ELSEIF(MSVC_TOOLSET_VERSION STREQUAL "141") + SET(QT_PLATFORM win32-msvc2017) + ELSE() + MESSAGE(FATAL_ERROR "Version of MSVC not supported") + ENDIF() + SET(QT_OPENSSL OPENSSL_LIBS=-llibcrypto\ -llibssl) ELSE() SET(QT_PLATFORM win32-g++) @@ -333,6 +340,8 @@ ExternalProject_Add(qt ${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/qt-Android-Fix-crash.patch && ${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/qt-QObject-Fix-isSignalConnected-when-signals-have-been.patch && ${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/qt-Use-user-provided-session-data-if-available.patch && + ${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/qt-Work-Around-FreeBSD-v12-build.patch && + ${PATCH_CMD} -p1 ${PATCH_OPTIONS} ${PATCHES_DIR}/qt-Linux-Remove-our-use-of-syscall-for-statx-2-and-rena.patch && ${CMAKE_COMMAND} -E touch qtbase/.gitignore CONFIGURE_COMMAND ${QT_ENV} ${QT_CONFIGURE} ${QT_CONFIGURE_FLAGS} ${QT_CONFIGURE_FLAGS_SKIP_MODULES} BUILD_COMMAND ${MAKE} ${MAKE_JOBS} diff --git a/patches/qt-Linux-Remove-our-use-of-syscall-for-statx-2-and-rena.patch b/patches/qt-Linux-Remove-our-use-of-syscall-for-statx-2-and-rena.patch new file mode 100644 index 0000000..3b4a6cf --- /dev/null +++ b/patches/qt-Linux-Remove-our-use-of-syscall-for-statx-2-and-rena.patch @@ -0,0 +1,135 @@ +From f65d3fbf6cc8a50a2b6b1b5632b9b9cf189054f0 Mon Sep 17 00:00:00 2001 +From: Thiago Macieira +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 0000000..46be5b2 --- /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 5d40bc5..27960d4 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 94ce12b..6b29817 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 3204cd6..a816277 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 0000000..2645c48 --- /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 0000000..df5e088 --- /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 0000000..3aa6a16 --- /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 0000000..f31b119 --- /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 0000000..ed3464a --- /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 f56eb3a..6e05d84 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 94c166f..495a206 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 874fc27..cfac9fa 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 3f1f84c..5b21207 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 a5648f0..ba38049 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 12b9650..98b2098 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 7d63141..185e19c 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 24afd16..4a7ac1c 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 8bd5a02..8a4faab 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 174295d..1cc3438 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 138c739..0c94694 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 8ea38a3..f2e9082 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 1d4e079..0f41f9c 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 bb53095..10282b8 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 5bdf1c8..509611a 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 0011f32..5c0fd48 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 b87c995..a4f2906 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 5ab33ef..1df3697 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 4c16f54..f315100 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 9ee6f19..92cb143 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 27034f0..0f2ca38 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 e114d91..137ef58 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 389fb37..fb03f3a 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 f6dae62..9e19b92 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 0d5b222..d092360 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 16976e2..5d8271f 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 167f3f7..7b8dfca 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 8694e24..84c9f5d 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 c062cae..7665133 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 ca037d6..1dde17b 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 7f01216..9fc14b8 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 6237298..9784afb 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 9ac38bb..c484da6 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 892f6ef..15c875f 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 9fc8d2b..058934a 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 1a0e999..88c64e4 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 bff8f86..aebacbb 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 2183be0..00bf600 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 d4cea51..451ffce 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 d0f3c56..164b7fd 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 df66c3e..73f9ad1 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 48de0fc..f03491a 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 2925613..39eac98 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 93825d0..8281218 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 85b3357..20c9617 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 65d2f59..b36905c 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 5af1f67..7183fbd 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 cbcfd41..3f321ac 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 51f0c38..0b9574d 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 e32154c..7ed37e9 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 f929f64..b883e87 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 7f8c6e2..a34f10f 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 1df3bd6..4abfac8 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 943d56a..8e09444 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 f007d4c..880261f 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 276d520..de2a0c9 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 080d701..7351037 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 ef458af..ad66aa2 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 12f804b..7690153 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 a02bdc5..e5a0666 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 53c7edb..dbf9d51 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 077fccf..1c487ad 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 5f73e2c..0fcc050 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 ee128a7..451e97e 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 dd8203d..2fbe396 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 b7b9e03..d10c2e2 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 e376a61..298f96a 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 3a063da..4c83183 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 0883a71..3db1d28 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 d5644cd..401d819 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 @@ public class MainActivity extends QtActivity // required by IntentActivationHandler -> MainActivityAccessor - public static String getStoredIntent() + public static String fetchStoredIntent() { if (cIntent == null) { @@ -82,17 +83,15 @@ public class MainActivity extends QtActivity 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 class MainActivity extends QtActivity 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 @@ public class MainActivity extends QtActivity { 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 class MainActivity extends QtActivity } - 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 0000000..3752130 --- /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 cd999b2..77b274f 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 e741bf3..63dafb6 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 e5c7f41..7eefd0d 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 c50fb08..072b87d 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 805c899..0138d53 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 800dcc2..4d575ff 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 3343cdb..b055193 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 5a0fd0a..ed80848 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 e5360b2..897dfb9 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 70dcd39..ff1910e 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 cf49470..b42cca6 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 ef1e0dd..358f27f 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 c28c359..a5787ad 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 2b2e5af..1a12ec2 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 2446f70..95b4bdb 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 48bcce7..eb8706b 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 6c506ba..7bc8dd8 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 d034adc..2e98041 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 544a7ee..9a7e527 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 844fa13..c7ffe62 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 ecb724a..97210ad 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 809dd5c..abd2ee3 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 0bacd6f..6d4342c 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 b2fc5f4..d210bd7 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 fae93d0..02cd8d3 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 63257fa..0b532ee 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 13c7a28..df00cda 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 fb9a27a..4bea18c 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 23dbc58..16a8ebc 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 a2020dc..528940f 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 0dd9311..bc2deee 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 c235c9c..334acdc 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 5a02d33..a702d90 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 6661394..ef1d461 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 67aa182..1a462ee 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 b0178df..7105036 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 ea17a43..7216f12 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 8b269a1..1149ae2 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 1826e37..e77de9a 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 5f24ef2..f34a5d5 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 6b7414f..b784935 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 2ae4066..9d751f2 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 b3f83fc..51a17b3 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 9089c98..28d8c3f 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 3b1dea5..bb2c5be 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 773b19f..16f09fd 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 d782d86..1352aa0 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 074400c..21f02fa 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 03e8ea5..a6f344a 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 347a3b4..7766765 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 1fbf46a..82a7adf 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 94cf339..a803e8f 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 6883253..314dc26 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 5233f91..47508bd 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 973f11c..acc6d10 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 2f0cd5c..416f283 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 cfd16a7..199c3d7 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 fbb0716..1f06af5 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 13232bb..e3fc007 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 eb0fec7..465d9d7 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 a165ceb..1ce1613 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 55aaa34..32a6436 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 2a27a61..8161609 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 e714255..90052d9 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 0e1e673..a80f5c2 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 13b65eb..105cac0 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 a1ef6b4..7dbf69f 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 26bfcd4..0b14cd2 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 4497b7f..b8df4ac 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 f579714..933c207 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 4dcd55e..5373a54 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 a675905..25ae8be 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 c6217fc..a4134fe 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 70bc8fb..735cb30 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 3979315..9d6dbc0 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 52eea5e..d0e88dd 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 3730de4..7f747a8 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 8ee5790..7eef8e4 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 6abcde4..32a2668 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 dba14f3..7d4e045 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 549c71f..e9ce8d5 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 7489269..cc22299 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 a8c1668..cb65bf5 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 deb3475..dcc2bfb 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 2955f3a..f1c89f1 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 2c237db..9a8adb1 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 d59f4ec..ef19e03 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 32236a2..4d773f3 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 13a908b..2ec254a 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 b0b68d6..18482a5 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 5210cef..2f2caa0 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 ac2d6c6..db9c157 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 d2229d9..2610819 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 2381c2b..e09385f 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 98ed8c8..27d09ce 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 106ae89..5f7a570 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 d6d2a5b..a14f7ec 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 3fccf2c..81e3129 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 d64b7cf..60667de 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 4170ee4..55f8969 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 28944d5..89aead0 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 80ad385..098310e 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 c0989a8..8b89df4 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 90b043d..101049a 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 cd554fc..232f3b3 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 f792a3c..9940089 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 78c684e..2302c65 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 9361731..a4cbb5e 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 f0b810e..8c4be37 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 eebe45f..934273e 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 d62a7c7..f53f578 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 35f4606..ff36d33 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 c4ea8e5..67eca9e 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 9c689b2..ad86568 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 e2d94b6..5b22f4a 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 e4c722f..7ab7cd8 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 e9c3573..459a10c 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 2ea235a..bd36101 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 b27d4f9..e3962e0 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 fbfb552..318da12 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 74746ef..b3d8d7d 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 9c2d152..ae25ecb 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 977943b..7172ba4 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 917a787..1738f3a 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 e5dc89b..a713c70 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 0bed38d..4ea6977 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 ce52502..8518faf 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 9b69e64..d8aebc3 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 fbf6566..3d2aa93 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 07427ed..a6d2039 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 5d743b6..8e5c77d 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 468b2a0..1b55727 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 96b2b38..f8b4c47 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 1671e64..b61b4a7 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 f13e6a5..f3bfeae 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 f778c6b..1df7de5 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 34deb6e..8c25f5f 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 75342d1..441422f 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 fc6fc40..8ed1968 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 9fbd42a..861e677 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 683a0d1..533f8f6 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 e63c1a0..cb8e372 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 ded5c98..3f0f44c 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 b064341..bf1b84a 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 9b2d9b4..18c23b3 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 9971d49..09afb71 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 final class AndroidBluetoothReceiver extends BroadcastReceiver 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 ec04598..778ef61 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 3796a3f..8be668c 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 8b1b016..3e37d8f 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 cf127eb..e8589bb 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 d36763b..30cf51b 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 e6b17cb..6bf48cd 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 4a6b051..9deba58 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 20ae629..2bf5f1b 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 11ecd72..3f8256d 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 183281b..ec6c011 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 e0fdc66..32abbcd 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 a5b0c2b..dd0df4f 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 11fc430..556ba59 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 002a7fe..8af5bb5 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 c42825f..cab17e0 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 86254f7..c87a17a 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 cfa111b..7c01517 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 c497cbd..0a03d53 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 720e61a..5d25f52 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 35da8c3..2de5a93 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 b249d40..e0b5aff 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 6788a3e..7cb73d3 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 09cb95b..a910bdd 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 0d0257b..ad60e0c 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 20dfa71..0d75934 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 e0cb8d9..ff3962a 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 69a989e..e9bfb37 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 0ae5e34..4cae6fa 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 5ea1d5c..d28c121 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 9fedd53..3b97dff 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 1070721..ba3ac6f 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 a39537b..ff84419 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 ce89e59..56ae707 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 bce1ad3..8e4e9cb 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 41debe5..8e52eb3 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 4e1621b..39ca39d 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 44f55a9..016fbea 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 f048ab0..19f1cc6 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 6fbb250..8e0807e 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 6f823d7..c34252e 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 dc52373..ce7d2d5 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 2e472b7..ea9439b 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 e7abd42..d54c2be 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 04cf87b..5bbfa7c 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 bc6b620..ea82094 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 9428977..d695afb 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 db0f4f7..919f975 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 ceaa5fd..99c2111 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 3a03370..531690c 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 02f2521..d7d3338 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 e28aae1..5d03235 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 5de8f4a..5c79fa1 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 fdcc2cc..f7b02a4 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 aa9dfd9..9e2410a 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 4dd7a9d..a44c184 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 48d63e4..d67fd9f 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 b756871..ccfa084 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 538b044..8728a1f 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 b603c7d..4e725be 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 dfbd7ed..598943d 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 26a424b..d0ccb24 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 820613e..857f193 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 e6b4db4..2795d00 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 9a8c8af..ad5d743 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 65f01a7..9f85f0e 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 194e615..d5908bb 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 90ef0d3..dd47b57 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 4742943..e71e8cc 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 e38c0a0..db2ae42 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 ab5a425..09b4a09 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 70fe04f..8e160be 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 206ec30..bf65015 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 3b6dabc..16ac62b 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 34f5e3e..add8b08 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 59e8412..7b4e838 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 c5cb8c0..b97ae1b 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 5991a5b..e4e7c8f 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 1260af4..05731b9 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 5a47500..a9d5ec4 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 9012557..5e15714 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 1e24f45..a220041 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 be3402d..b6a0c7f 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 9a8c065..1bc1b8e 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 c82ec9a..18093ce 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 b595275..8fc82c4 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 ea19e18..2a6a6bf 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 584846e..94392f1 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 54296e1..da0207c 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 d2301af..40cff3a 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 6b297c2..310d347 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 1e7550d..9c41abf 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 5307800..a4d727d 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 fe1dbc3..59be01b 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 717f8ef..2830271 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 a4d866a..f95b78d 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 c4f6c0a..28120f8 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 c320f24..d681edb 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 ec03012..a479812 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 5715f4c..e385c3a 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 d50e95c..426d15e 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 211a328..42b5dc9 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 1e0df6c..8bc252a 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 5107353..2a88811 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 19b2507..bfe96ff 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 7fb1a96..4842856 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 7cf16dc..9e6faa7 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 01b2a5f..8bab98b 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 719aef6..8049113 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 d1c6894..f69c51c 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 f70786e..f574051 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 bb065cc..ff0970f 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 4022010..d1195c8 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 a6c5eca..1dc1778 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 b562be9..a1955fe 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 b52092f..10cd641 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 2c4a4bd..a294921 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 0f6643b..8cfa18b 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 0f3bbc5..0a0c8f6 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 02108fc..64ad3cc 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 8c7e5c0..5b508a8 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 63ffc5a..71ffbf5 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 0c53c91..e089101 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 b133654..1379403 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 cd82645..acae9aa 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 67f57e0..583d7c0 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 9fbb79f..22d8be7 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 2ac40af..5e3010d 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 65527fd..02efa69 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 831348e..7118a75 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 f56992e..3af5d43 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 6dc63a3..8374bb8 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 5924e9a..d0cf9e0 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 f771d1e..52d39ca 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 87b5e20..e84ba88 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 21c5973..ba59dce 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 ce1db03..b5bb4c4 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 e1b8665..fc430dd 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 2f14d43..9c767b4 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 36804a5..39f6f92 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 28429f9..65b2989 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 d3ceea2..be5f1ab 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 afb0d97..900f951 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 577319a..c88c133 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 362eefb..f44296f 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 e16a46e..f9a866e 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 5040f30..5242e09 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 7e52c37..8f73fdd 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 220c2e1..bc4118a 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 f276183..3867c2c 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 98abdb8..b933033 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 bd6a8bb..795d1f8 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 e0a1184..b5e50d0 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 b39212c..82ce516 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 43be2c3..e756094 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 d56d279..9394baf 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 0a3d159..201cb53 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 92ab867..01af523 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 05d4fcc..e319f15 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 f1fcfda..1e64662 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 9f45d6a..3901bb1 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 85e2f15..b229f6b 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 3a03e2b..d395593 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 2e422d1..a93282c 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 1c9549c..b03bcaf 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 5208af0..b97ce02 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 c6d3d2b..f8c494f 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 0e3f3e1..c8779ce 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 a70d8f1..76101b2 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 00213d9..22f3899 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 8e7acfe..5c4f6a9 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 865e0a1..fbd79af 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 e3e8f14..63024cd 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 19c7731..2f46319 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 f43aea5..c3a28f2 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 5c09d0e..0dcffaa 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 4afae46..de52ead 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 c2255d2..c354946 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 f1597ad..5863d0f 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 36302f3..ba18d10 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 4504041..9529c05 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 c067625..5f6ec00 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 904f007..8c5ae51 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 fcc7b7a..c4d5ff7 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 440e868..7d8e63c 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 05c2038..92107e7 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 16bee08..3687860 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 e5aaa8b..f111886 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 8c91d84..ef10181 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 c506760..fd81ed7 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 1ab981b..8370335 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 711a40d..03d08c5 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 f951e0b..f85fffd 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 dd1d6d5..f77dc02 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 069eb63..3677dfc 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 2a2708d..e77af5d 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 0418402..218ee03 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 7a409d9..1247e0a 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 569ca1a..04e5dd4 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 866131f..bcf073e 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 f633bdf..e8617e4 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 3c46a57..1077939 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 99b414b..be1e8f7 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 774840b..d4943b5 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 6b0d348..090c9a7 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 77957b3..92707df 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 8a99964..20a45a4 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 d0d7a61..3b26c83 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 62c8aea..31b7db8 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 daae5b2..a257d2f 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 24e5742..d6d560b 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 124d55d..cfa7e03 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 dbd96d4..981cc43 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 451a90e..0c021fb 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 22a9841..998b3f4 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 2960acb..23e5a17 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 21b2c55..672c0b2 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 4ff6662..5c9cf06 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 9605b65..cd3aa38 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 ea93e4e..e57ad52 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 234d8d5..5240c8f 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 be63253..e77bc34 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 542792f..3025266 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 56495df..fbd7fd6 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 a3a931b..4257607 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 11fb144..ea1faa9 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 357fbd2..4e56728 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 f30cce8..21b02e2 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 a90d064..47ef352 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 af0389e..77c0dce 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 0000000..486d3b4 --- /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 0000000..cc4f807 --- /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 1ec71ac..fcc5881 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 df67a09..4c59d82 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 9fcc0d5..d71dafd 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 63c7299..2b56388 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 5e20a47..eb7f219 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 f26a87f..0819ccb 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 2486ad0..f221299 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 40aa2f1..69a76ee 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 6206ac4..2765763 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 2240adc..0b6a87b 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 da3a00d..462c31d 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 1bea3ea..fe0e465 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 91e2f4e..357b4a1 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 282cfe2..bba9bcc 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 0a96690..641006f 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 459466d..e9098cd 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 caadbe8..940275c 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 7d44642..19fe8a5 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 2ba44e1..e5c9856 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 23861c4..e2d59ce 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 205ab6d..c2d2d1f 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 00e2277..a27f11f 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 f2e8b06..3e4df1a 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 6e197ab..9947bac 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 2ef0498..ebf206a 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 7b2c1f2..19b1571 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 fa2461e..a21152e 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 bd92082..3cbef70 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 728d104..a3b7577 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 e10ba3d..5c43759 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 0d5f04c..cc216b2 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 b9ad811..1ea922f 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 9d3b648..6c36810 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 d4101a9..2b8abdb 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 cd73208..50f422f 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 2382561..8e7e256 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 edf3516..11d8237 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 4a77ca2..7f5ced0 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 d6e071b..c7732b4 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 db2584e..f3ad485 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 e7068a2..19a5567 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 2a42299..11acdd4 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 7c4b751..c402138 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 856546a..fd046f9 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 81285c8..9cca069 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 92b1d69..490489a 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 8b8fd7c..f5dd3b0 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 597d67e..9050a1c 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 eb20f45..01ebe6c 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 e537d40..db36d65 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 f6bfbbd..7085c6f 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 50efa49..4ed0af6 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 595cdb5..72c3793 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 055bb5e..8bf9052 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 f9ab4c3..659eec5 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 6f1c5c3..51f16f7 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 cb1769c..5b9dd62 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 6e6373d..757bdb2 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 d5edc64..0b2eae0 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 c35f7e6..b485ef9 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 cf5ed66..cb146f4 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 366b9ac..290618f 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 c6a7431..b6ed65a 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 9560a50..bfbb8ce 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 0649e2e..d23c1cc 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 e13a5d2..0d054c3 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 31330cd..98ab9b8 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 181b35e..bed1e9c 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 16df5f5..7cdd3e4 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 32afbaa..a17e7f0 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 22051e6..3e3278d 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 4e0a222..92969a9 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 a9b1cb1..eea8889 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 e24e3ce..3bafdbb 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 75e3804..10f3a1b 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 35311ec..7ef36a2 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 d7f2095..73b6c71 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 3c753e4..c1ca4a1 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 36f7237..cb4a105 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 70839a9..6389055 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 9786259..6cc5fa9 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 a040578..df2d2e3 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 8be7cb1..8ee1943 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 eb504e8..54469a1 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 c4b2b85..b6c5c85 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 f29b5fc..8dde9f3 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 7b4b32d..8bcba09 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 0bd0092..aabcbef 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 f97633a..ba38a13 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 28a71b5..2267b77 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 ee4babb..dcc1398 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 db3714e..39749d6 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 7dd3839..f8e8004 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 8e8130b..d4e2c1f 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 da36c20..25c6fbd 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 baa9332..521cef3 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 90ac022..6748b13 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 473499b..4dcb2fb 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 6c0c2fd..4781028 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 2330ca3..1d88b5a 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 7ad348c..36b5060 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 7068b89..68a9599 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 317fe68..5e826a4 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 d2b1818..f2529c0 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 fb87890..681b555 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 2ca53bb..cc8ce1d 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 5b56f2c..9deee03 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 4d5be9b..60320db 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 08fa545..6d402ed 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 657cc53..713328e 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 4b65f65..8b32283 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 a069def..ee3c2c1 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 d4c85fe..a364dd2 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 7e40636..6e88432 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 a15fdfd..ae8ecd3 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 bca3f9e..d1cc816 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 fbbaada..e638769 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 ce3788b..e158b74 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 7b7728c..e7d8287 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 df8fca3..44eff10 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 7f30357..8b7e41a 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 b05aa44..6519217 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 1c6fb9f..0fdaaae 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 78c76bc..895a93c 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 02a46c1..6ef8ed1 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 efea780..f2efee6 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 b4b8f48..e3d05ae 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 3437fae..116d9b9 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 d2e8689..a3802a1 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 378b577..f4885c1 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 c6177ab..79d2290 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 8722e40..69305c7 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 1ee38bf..e059ead 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()) { + 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) - return tr("An error occurred. Please contact our support at AusweisApp2 Support."); - + 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 8ca12c7..2d17c41 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 41ebbf3..8089d68 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 8b66e7d..0209db8 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 cabaedc..62131ad 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 2ed4a39..43a9600 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 e95d429..373512b 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 1fc70bd..c3579dd 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 d9e5e92..4cc8f4d 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 6a81a1c..ed78961 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 07c4106..ecd28d7 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 9ac3e9b..76b71c2 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 0aa489d..8548370 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 8a91cfa..ca3c031 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 1489f19..8f2e68f 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 afd433f..b8223f3 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 1ac8f66..fcb7c71 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 dec0966..4efb841 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 a3e4113..6aa06e2 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 43deeb3..b376100 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 38e3531..df70a4a 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 3679806..630ef55 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 899010c..837c30a 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 4b0026b..0dada3f 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 0bb6948..472e6ba 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 f1eee24..422979a 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 7692312..114cd75 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 6b95aac..bd2f02f 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 b9653f6..ee052a5 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 4984e9f..85e6eb6 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 c654f48..7ed9e45 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 5e52f1f..c88d257 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 db58632..161d1dc 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 9d3ae0e..ed4a24c 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 654768d..a9caefe 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 d8a62d4..aa9814b 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 9f63452..dabf4ef 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 0000000..0308132 --- /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 0000000..909845f --- /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 0000000..808f120 --- /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 f69be19..ab63db3 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 b588bca..804fae0 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 efa9bf9..2019356 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 b3bc2e1..6df94bf 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 7d74a0f..b3ea577 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 796cd52..2fd447c 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 b7f702d..0398560 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 262fc54..91abb3b 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 5a012b2..6a3361c 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 a3253e3..d6a5576 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 f389df2..2796e7f 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 708613d..35a0c23 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 62f4980..d6173a5 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 45ef35d..4e3b6cc 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 5cfcbaf..0cdc55e 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 a54519f..32a4559 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 e2b37cb..c11b286 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 0e1fcd4..37ae769 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 b44d6ae..2f9a90d 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 6930e23..dc08f23 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 7e2870f..4aef455 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 d540279..4b3bc91 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 3cc3468..0e12b03 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 f679246..fa4c152 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 c8b602e..3d940f3 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 a9979f5..462a75d 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 0b297d4..5673315 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 b68d7f4..6d9978b 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 eba8522..1632ae8 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 60492cb..0419bcd 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 a8c4ae6..583034a 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 17cd251..735d258 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 7d4b9f1..5661495 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 93ffdc5..09588a3 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 8895ca9..f338f1c 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 5feea39..646165e 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 c0747ab..517cf50 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 3ebbec8..86f90db 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 c3fc82f..88d10dd 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 7772a33..4cb42f4 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 6e7f555..6da8167 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 4c93751..ff86e86 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 780e0da..ac2af3e 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 fe9d943..1e0775d 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 cadd5a5..ff1639d 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 e833708..609d22d 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 26e05b7..de29e7a 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 4ba8ee1..6305c2c 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 47483c3..0926f0c 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 031e9cf..aa125ee 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 c5b28af..36deec8 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 a418844..e3e4dd3 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 b64ab19..80bd801 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 de5a4b9..a0d8e8e 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 c247f44..785dd74 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 e59947c..5e98a07 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 d509f2a..b722437 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 0d8c7c3..cef8f79 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 7e6cb64..a62528b 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 dfa95e2..e5d6943 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 bcb2e9f..965b522 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 516d3be..eacc5d3 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 1d76777..62925a9 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 01a37b0..042312e 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 45d1ea8..405c0b5 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 22b1765..81ba9ee 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 4107850..d8f89d4 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 6921545..2edcc16 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 73b5241..da2e9a2 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 13c6a18..3a1f3cc 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 3a47877..62530c8 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 7ef4692..63d1a14 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 d8698fb..9803fda 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 bd1f5f0..7452819 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 e8cb23c..f7daebc 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 8fad5ff..25f0c0a 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 758bef4..d4421f3 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 3ba435b..97f09b6 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 ab7b202..241dbcd 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 98e6d7a..7463c36 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 ecdae08..a9fdcb9 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 25edd94..47382cd 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 849e9dd..2703c6a 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 15e6ba6..f32d56c 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 18c7c7f..ac9411c 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 bd81a4f..2ff0792 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 bba7feb..3107f59 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 594ffb5..e128015 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 929fda8..0d70b56 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 c41b765..033e478 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 fe705c4..9c0d1bb 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 d4e620e..520a0a2 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 6cc2d80..da6e250 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 dc95aa2..9f36c2f 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 284024d..f127038 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 dd112de..729c9d8 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 ce7c5a3..2347e2c 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 0c7dde1..ccafb81 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 42441d7..d532491 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 310248b..bd884a5 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 e5e095b..6493f97 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 852a82b..ac88210 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 3efb3f7..349012c 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 2a5dfc7..2dda2f1 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 0e7e2c8..1d77f05 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 daa946a..e5e7f7b 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 d926f14..557df28 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 eb1903f..10fd118 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 cc227fa..af2fb5a 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 18649cf..e51cf55 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 e559ef6..4a9077f 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 4cb511d..c300184 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 049f75e..1238321 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 d1507b4..0e2e596 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 f440f8f..a922e7d 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 3579ad2..881da42 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 134da3d..772f3f3 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 70ffb12..dfb56a8 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 ca13025..d6acef6 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 ada9918..71129e8 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 feedd8f..2b0ff8a 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 f19f0ee..d6d7f63 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 59592cd..6d5f695 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 db074ce..7d57b38 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 7585ccb..17ed462 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 1ff6df5..977b29a 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 dd14d55..557419e 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 6e31428..93fe8c2 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 8f9b6c8..9982ddf 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 e0ff53f..e895645 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 bf56201..8e2bb51 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 99179a9..0f9ace3 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 b2577b8..1f52c55 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 c021d6c..6e1a391 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 3b7b109..9a74ee9 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 ad613fb..cb630d3 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 e2a6bf9..8a1e02f 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 8959401..01815af 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 f2cc06c..12cf272 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 bb8d58c..7c321c2 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 defb94a..ea0bb85 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 5e5e6f2..5286e28 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 c34ae14..c66e65e 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 d30203a..33c9914 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 9f0e02b..20756cb 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 4509c11..8e4a831 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 c4e13a2..660f7dd 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 45cb279..26af8f1 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 8c0546c..619f7ce 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 19c014c..f05bdc2 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 e28b46d..7bd9316 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 1ec1121..54c4b62 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 29bc19c..786ae93 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 a9ba41d..03eafc2 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 2f28590..8ece08e 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 2cffeb8..4190250 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 21ea8b9..df721d0 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 1ad542a..206bdec 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 fde559f..d122946 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 13b6c69..f8b8ade 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 1402783..bc5e59e 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 486d72a..988dbec 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 9265824..57e2832 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 6588a11..b332887 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 eadab47..31e714b 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 459598b..4a4051e 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 1f6606f..c4b2dff 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 4575511..9679d11 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 c25653c..0c15049 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 cbfc321..6aa5dc3 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 7d97565..e01ecec 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 8aafb58..ee845d4 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 dd682ec..5cd7f85 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 f2a3c0a..8924e72 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 eae3ad1..1c6ffd2 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 54135a9..68e84c6 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 741c310..46509b0 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 61591f7..8b7c85a 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 2293976..8c76b1d 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 3ff49ce..513a336 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 421b03d..76d3202 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 8bba4f2..49030c7 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 e21a0a1..0307cd7 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 eab6666..664ba9c 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 c8e32b6..4772216 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 5a44739..51617a9 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 30d855f..e034918 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 61ea8e2..6a7885e 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 b038766..013ac6a 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 ba1601b..33a39a6 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 1806669..8b697f2 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 4933a8d..45677c0 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 bbb676c..6fe0142 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 619ad6a..83e125e 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 61353a0..0a3686b 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 8be7560..1cbce36 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 b668f51..9c8ac6f 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 fc9ccee..5ccf805 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 8b384ec..f2f5b50 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 9c7f731..829e716 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 b5cde45..d8f2b2b 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 42c6bde..3662e21 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 a483918..52e8db1 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 c61bccf..e5e02f9 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 b8f5ad5..a341848 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 1018af9..ad907a4 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 d421068..5fcd7ff 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 459a832..830019b 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 d46560d..487659d 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 b4bc0a5..2200a50 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 1ffff73..1ae770a 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 95d393f..659edf5 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 3618189..56f31e9 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 8e6bd40..e45cd85 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 f92d208..a3849ec 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 3e849c2..9d7f46d 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 494dd3d..7493ffd 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 bd151b2..610f7d0 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 4291342..114aaad 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 f6466b9..aae2c18 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 20d0ba4..550162c 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 522c5e1..2661982 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 3c395f2..764ba18 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 e9fac3c..68cce36 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 330a474..f8e693a 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 bc60b81..fffcb51 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 d68cb76..d5d57d7 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 37eed3c..254d0d5 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 e53f13a..a61e662 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 f38333c..95662f5 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 211e5f5..bcf2f24 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 f3952fb..2e44c9b 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 1110a51..75035e1 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 f338329..65546a1 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 ce1123f..637fa63 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 ffd5a5e..686f29b 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 81e1771..ba541ea 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 95ef91b..da6ad54 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 3398243..368f376 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 268d5e9..14282c5 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 9c23bf4..d483f7a 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 3d2a805..ef47707 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 beeebb9..37d2198 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 b436aa1..77bb636 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 eb1698d..7426057 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 223f7e4..b1cf089 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 5910d1d..5cec676 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 e59099b..aae4f73 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 9a73de3..e361338 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 4587702..00cb06d 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 e516814..01818c6 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 4d6d464..8f39c06 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 adab48e..56af284 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 254add2..4adafb9 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 7174095..053d155 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 4849a54..ce95059 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 3575ae9..c67e5a7 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 1b4ada2..bb57878 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 cd623aa..6b2c1f0 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 4ffa0fe..1f533bc 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 7b77319..45017b9 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 5938a09..17dafd0 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 ea4ce93..6e06603 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 9e8bf2c..cfd3f48 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 f9da3e6..6871749 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 93a26f6..a34d9f1 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 46d98d1..942d688 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 f8abc1c..f3f8b6a 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 82e5c92..8c8b3f7 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 4f00c73..3fa21fe 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 bf1a783..b3e063e 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 ac27bd4..fa8042b 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,40 +49,56 @@ 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()) { - 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(); - } + saveLogFileToFilename(pParent, filename, pSource); } } +bool LogFileSaveDialog::saveLogFileToFilename(QWidget* pParent, const QString& pFilename, const QString& pSource) +{ + if (pFilename.isEmpty()) + { + 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; +} + + void LogFileSaveDialog::closeActiveDialogs() { if (mFileDialog) diff --git a/src/ui/widget/LogFileSaveDialog.h b/src/ui/widget/LogFileSaveDialog.h index 8f8d299..d6aa981 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 d725ecf..6bb0611 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 8fb5192..ebed482 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 50a04c6..742b591 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 356a588..52fdb00 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 f542982..331a298 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 7dc851d..e23bb20 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 56ae84b..0e4d299 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 16e0cd1..866ad64 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 187ab2d..043b2d4 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 f127050..dfdb170 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 a3993c8..2232bcc 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 595e5e2..ef3f5b8 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 cc18bfb..b1f1f72 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 171e23b..fa04c47 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 f5cc48f..b212a85 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 d3ef52e..2697c68 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 91d0e84..9035838 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 3af32a4..1633e2a 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 c2efbb9..89d3a93 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 caf15da..d983760 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 f84caa5..a45c849 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 b3e85af..e0a5c1a 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 f49e352..bdbefbd 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 22895a4..5c4fa8e 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 e2ecbb6..66cdd92 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 906841a..85c74f5 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 5a20bc2..a2af51e 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 26226c4..08db637 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 a8280d5..756a94d 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 dfc32d8..d3572c9 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 38ae988..e754288 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 9c2d850..e8628c7 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 7d3b616..462102b 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 251a368..0b2ba2f 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 4199d89..bbfec46 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 b1cdf22..14bbc3b 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 273574a..3e42ce9 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 c3b588b..4ebf70b 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 90bc6f1..599255b 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 17503a4..0ac3293 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 302cab4..5957f61 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 ecf540e..585397b 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 c9bc40c..6408a88 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 12c5f9a..0c62b45 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 2dab1e5..d60a73c 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 5e05727..c044ea5 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 e7cf666..9e3a49e 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 13c4633..ef0cc2e 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 d0952f9..6243393 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 1d074e4..a475452 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 a0d5709..644ffee 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 bd169fa..0dab030 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 d6d2db2..883cfd8 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 6170115..b24fb80 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 93b9336..5e987fe 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 c5d98e2..e19bad8 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 a82007e..726c1da 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 e16de24..50756b3 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 4e20412..2376560 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 a0713cb..a3be62c 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 72a822e..8ec3893 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 a65fc3c..3b319b9 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 05bf624..9a8de19 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 a013128..ab04fb4 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 443ba06..bcad142 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 f8674cb..e770e69 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 a082a9c..0839cd8 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 49ae603..ce5fbab 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 c91e778..4a8124b 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 1dbc64a..63ece51 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 08f0515..38bdd80 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 42ab215..2fe2bc2 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 5dc62b8..1f7c241 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 e33b120..4ae884f 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 2d1a882..9769916 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 fad9579..d808927 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 ba4353e..f539dac 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 291ca8f..9fbd860 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 592e339..94b28a8 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 937e0f1..e32218d 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 f55480e..202ec9b 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 6b9df7f..831b708 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 3316069..f5ca882 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 cd97785..3c8215b 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 af0daa9..98b5f51 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 ecf8806..676f78f 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 79bf0b3..edfa3c4 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 78bd1d3..6e35813 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 8767aa2..7df9c81 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 1a0aa7e..124f875 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 a2bafd6..ad379dd 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 e9ef925..11e8606 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 31a390a..87f9393 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 9bbeeaa..0396b62 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 a49408d..9f9226a 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 71def0e..a550fd3 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 a414ee1..7e2de16 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 94ccc87..b3b747c 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 0000000..0ed4729 --- /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 0000000..9d1cb9a --- /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 0000000..7dc2ea5 --- /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 0000000..150194b --- /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 5248394..25f2a9b 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 494cc69..1136344 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 fe38818..d0483a6 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 2212b5d..6489e9b 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 15b2922..a2b7a2d 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 e17336e..2299682 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 4e651ce..7f67b87 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 2060413..bea5abb 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 65171e7..a28c3e8 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 1bfa72a..39e6113 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 1dfd0f8..f2068ec 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 dd4087f..f84df9e 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 02fe855..165a626 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 4995b7c..97cf114 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 a75847a..7091e86 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 e5b708c..859aca3 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 7ea852d..dc47d08 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 382cff7..beca6b5 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 c362d3c..bfc068b 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 62492c2..a2ea2ea 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 76a8eef..1599de1 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 c6aff4c..1fc4b32 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 261bf48..d3db628 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 c114493..5a2506e 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 6589cb6..32eb929 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 394999e..c8e3c96 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 bc8c814..d99d960 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 5d84ca4..3892f99 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 2d79381..dce9313 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 2ea16a3..f6ade75 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 c0e3686..7ec8464 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 90d2d06..2258fbb 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 e0acd68..62bbcf0 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 79be60f..c43d7fd 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 f9d6646..9345806 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 7706fac..23f62ad 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 d99ad43..4ef861d 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 88731d0..6e3b830 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 6b1904d..324af6d 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 e5c7095..3bcd127 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 d86fe36..5e6ada6 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 f479e00..d1b5bea 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 457aecc..bff805b 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 27a3f28..4c14a87 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 1c3be7d..71f9b62 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 37f22d4..467942d 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 10d7947..f850c7d 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 0fad071..a0b7b02 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 0d53991..dd136a3 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 69b0ed6..ce5a641 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 30674e1..6ad2eeb 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 5be5c2d..7149b3d 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 6e62399..30b2ba0 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 bbff1ff..0f18440 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 fd27bf6..a6d14fe 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 e26f9f6..8b9cda3 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 e067b30..8c0aa40 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 d56487a..f56c270 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 9c46fe5..803e303 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 cd9d529..a05dd7b 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 04e2236..81f24b6 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 ca93d32..fa61a69 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 ca742f6..c31b33e 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 bb61408..1242581 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 b6a368c..5017c56 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 30b9784..38f3590 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 ce8479c..0b78fd8 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 59706c5..7c1bdee 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 a85a61b..51ab7d7 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 1777a7f..a236270 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 e602dc7..97c060e 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 4d42acb..b6703a9 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 707f53b..725c766 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 cea0d2a..1b6ef69 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 f198e2a..4374990 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 12a1a6d..d6b6d44 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 020c2d6..b07e859 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 b4ff885..4b7f0fc 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 36fed52..00f4a8c 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 ab6d371..b345c07 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 620938b..d1bfc3c 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 5a06b91..cf51495 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 3b89ea0..d710886 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 984dcc8..0071f1d 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 5efc9a7..5122a5a 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 b455984..27d918c 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 cc9f34c..55c1780 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 a31c962..708ed60 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 d8146d7..9b0aa22 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 027c795..ffc8577 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 44a4a55..c7c604c 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 10f11b0..79a0206 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 9c2cddf..2aa00a7 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 10d772a..905479d 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 b3075b3..b191b96 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 40ce8e8..ca5a6c9 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 d95e973..411a9ce 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 0ecd332..63cfc64 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 64ec907..5a388c8 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 dda5482..cab6dbc 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 ba13182..c5ccca1 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 079a431..f96b11e 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 bd05ef8..52475e5 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 8625d5d..2c3ffb8 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 938e54a..b7729fd 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 e53fd26..152d46a 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 18daefb..fd11d30 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 8657288..a7da316 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 69540b0..75574d9 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 a16a9ca..cc63ac9 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 4fcb17c..93ddbd5 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 bb967da..50fb734 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 74dac32..c3b1358 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 b999d3e..5f1ada2 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 07ebe1c..af297f6 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 f54cef3..435d41c 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("Remote Cardreader") << UsbId(0x0000, 0x0000) << "NFC-abcdef1234567890" << QStringLiteral("Smartphone als Kartenleser"); - 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 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.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 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.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 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.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("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.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("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.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 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.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("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.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-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.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("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.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 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.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 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.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 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.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 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.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("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.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("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.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-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.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("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.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-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.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-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.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-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-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("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-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("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("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.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("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 e7a9e08..6fec98f 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 b5b1c21..21b34ec 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 6a4b3db..68e07a6 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 29c533b..7ed9dea 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 202a597..0c889f6 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 2ef11d1..3887142 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 80a77b8..86b2f5d 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 bf13912..7731616 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 6321ffe..c4cb887 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 ac1ada1..8f35446 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 478aa16..0fe66ff 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 4141a02..77add00 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 8954899..ab1a57b 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 0c0f07f..d0cebc2 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 ddcbd89..191ca1f 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 60252e6..50a754e 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 5018026..445d797 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 f7a7b39..1d4aaa4 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 593669b..dbdfd7b 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 323f82f..d7d2f2f 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 bceccf4..c5c94a1 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 5dfbf73..94daa80 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 66cf971..5f2e14a 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 c154e9d..6ff84df 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 aae38a3..2ee403b 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 624b76c..ea8718f 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 3bb0d40..284da93 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 aadd879..cf10be9 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 1951de0..df9ee30 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 bf82a44..9ee11ee 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 5cf18aa..a97138a 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 29de8d4..0fdab77 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 9411a9a..87ad151 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 94b5b84..5777492 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 461d5b4..70d3b24 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 b010125..2692cf4 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 08ceb31..75267de 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 1547841..2b29cfb 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 56757e6..71a80ce 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 82f9d0f..8d2c428 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 a967fcf..df0108e 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 e5f45d7..cff4412 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 1b7197a..4590ad6 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 f492395..5d13618 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 a5cd4af..18a5b49 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 57cb611..f831707 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 6c1d15b..3d2238b 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 c906a18..edc23d3 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 37eb6d4..34493d2 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 34d8c5f..b6bb4ef 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 0000000..734154e --- /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 3524809..4f9ca44 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 82409d6..b66a9a5 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 87741e9..11d4f66 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 6db7375..cc820df 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 2d1a539..042b959 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 1ee4c58..e103e75 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 d87fd10..a627cdc 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 63e470e..fc1de51 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 5e0c401..023c610 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 0000000..2006f3b --- /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 08cde51..5e3e482 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 7af58d5..2785daf 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 dddc5a0..2f1423c 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 06a3e20..7f5f6b4 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 7e2cac1..ce4a0ee 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 e694893..3bfe51c 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 e68e292..a36f2ed 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 9ec3c99..cb04b94 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 2160d36..2a800cb 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 6abd8a1..1dea6b6 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 6a4058a..605a2bf 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 c04f387..5c610bd 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 73997b1..005ed00 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 4ada370..fcbb97b 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 67e8568..20afa30 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 c871b6b..879da93 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 7de4016..1a52569 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 2a8ccbc..6abf755 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 83ef284..5e1de12 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 432892d..86ba07f 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 56ec226..9644bab 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 14b3a5a..1d128ea 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 9e9aca4..c6732a7 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 a6903f5..c19b3be 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 7abdd67..5b3d528 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 42f69ad..4cce0e0 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 a131dd5..ecf7fad 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 7c87bea..3d88631 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 9ede58d..c2a80e9 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 23767e0..6666902 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 6fe279d..23e8988 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 7d5aef3..f612cfc 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 00a704d..6c61988 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 424a7f6..e22b2cc 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 e20fe04..527c33d 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 9721d93..291fe32 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 c4a5506..6cc91aa 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 b914e66..2f8feaa 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 45e4bb7..9d25445 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 ac23801..bafab38 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 1088de3..b02eee4 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 22eb80d..e9a8810 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 85938ba..4c5503c 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 91a481f..e3c620f 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 78eb706..1272e9d 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 b388e85..86030c3 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 344790a..48a2f4c 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 e16ed26..b9e950f 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 0933b6b..c151014 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 749cd4c..7d47da3 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 83ef44e..fab17a3 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 c9e6adf..b42653a 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 67009cf..fdca658 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 b414518..216aa75 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 dbe5dc7..13849ed 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 1fa61d9..afc034b 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 474a084..d65cefa 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 01d80d6..a4cd105 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 c5d759d..d18c30d 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 2989a09..6137456 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 e5d776f..0d710f8 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 bc1cb1d..178d7ce 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 fe1351f..ae84b31 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 8ce451e..474f9dd 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 6987088..2f9669e 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 850d786..ad9ae9d 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 48d9259..7bc3835 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 42bdcb3..46d4358 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 9ad8cd6..8ef18c3 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 fba387b..04e54d8 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 d8fce1d..c2d4445 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 3f77404..66642b2 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 c5aed49..56e730a 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 710902a..f07af51 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 441af21..1e7b885 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 9a37655..3d7d179 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 ffd6b32..bcc748c 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 3c99902..88c0775 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 fcaa6b0..bd29a55 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 327cf2e..083f0a9 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 8e98023..536f510 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 b85d102..fda0934 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 e7683f0..05091ea 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 83659f5..4b5ee90 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 8b57424..bc182c8 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 eafa7b6..d23a7c1 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 4ffc136..d7718dd 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 c425d7c..4148864 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 12a986a..312eab0 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 6bdc81e..bc5b9c1 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 a88d3b7..2a9b705 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 177517f..3b6dc0c 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 64e877b..23e339c 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 5e02e4a..004c585 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 3403312..0513850 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 #