18 #include <e32std.h> |
18 #include <e32std.h> |
19 #include <memory> |
19 #include <memory> |
20 |
20 |
21 #include <javausermessages.rsg> |
21 #include <javausermessages.rsg> |
22 |
22 |
|
23 #include <avkon.rsg> |
|
24 #include <AknGlobalConfirmationQuery.h> |
23 #include <stringresourcereader.h> |
25 #include <stringresourcereader.h> |
24 #include <StringLoader.h> |
26 #include <StringLoader.h> |
25 #include <data_caging_path_literals.hrh> |
27 #include <data_caging_path_literals.hrh> |
26 |
28 |
27 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS |
29 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS |
39 #include "javacertstoretoken.h" |
41 #include "javacertstoretoken.h" |
40 #include "javacommonutils.h" |
42 #include "javacommonutils.h" |
41 #include "s60commonutils.h" |
43 #include "s60commonutils.h" |
42 #include "securitycommsmessagedefs.h" |
44 #include "securitycommsmessagedefs.h" |
43 |
45 |
44 #ifdef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
45 #include "confirmquery.h" |
|
46 #else |
|
47 #include <avkon.rsg> |
|
48 #include <AknGlobalConfirmationQuery.h> |
|
49 #endif |
|
50 |
46 |
51 |
47 |
52 //_LIT(KMIDP2TrustRoot, "J2ME MIDP2 Trust Root"); |
48 //_LIT(KMIDP2TrustRoot, "J2ME MIDP2 Trust Root"); |
53 _LIT(KMIDP2TrustRoot, "Java Trust Root"); |
49 _LIT(KMIDP2TrustRoot, "Java Trust Root"); |
54 _LIT(KJavaUserMessagesResourceFileName, "javausermessages.rsc"); |
50 _LIT(KJavaUserMessagesResourceFileName, "javausermessages.rsc"); |
62 |
58 |
63 /** |
59 /** |
64 * |
60 * |
65 */ |
61 */ |
66 CJavaCertStoreImpl::CJavaCertStoreImpl(CJavaCertStoreToken& aToken) |
62 CJavaCertStoreImpl::CJavaCertStoreImpl(CJavaCertStoreToken& aToken) |
67 : CActive(EPriorityNormal),mToken(aToken),mClientStatus(NULL),mState(EInitial),mTempCertData(0) |
63 : CActive(EPriorityNormal),mToken(aToken),mClientStatus(NULL),mState(EInitial),mQuery(0),mTempCertData(0) |
68 { |
64 { |
69 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
70 mQuery.reset(0); |
|
71 #endif |
|
72 } |
65 } |
73 |
66 |
74 /** |
67 /** |
75 * |
68 * |
76 */ |
69 */ |
255 if (!certData->mCanDelete) |
249 if (!certData->mCanDelete) |
256 { |
250 { |
257 User::RequestComplete(pRequestStatus,KErrArgument); |
251 User::RequestComplete(pRequestStatus,KErrArgument); |
258 return; |
252 return; |
259 } |
253 } |
260 |
254 |
261 mState = EPreDeleting; |
255 mState = EPreDeleting; |
262 mTempCertData = certData; |
256 mTempCertData = certData; |
263 HandleDeleteDisableQuery(aStatus, false /* disableCertQuery */); |
257 HandleDeleteDisableQuery(aStatus, false /* disableCertQuery */); |
264 } |
258 } |
265 |
259 |
392 } |
386 } |
393 |
387 |
394 TBool validRequest = validateCertAttrFilter(aFilter); |
388 TBool validRequest = validateCertAttrFilter(aFilter); |
395 if (!validRequest) |
389 if (!validRequest) |
396 { |
390 { |
397 LOG(EJavaSecurity, EInfo, "No certificates matching the filter supplied"); |
391 ELOG(EJavaSecurity,"No certificates matching the filter supplied"); |
398 User::RequestComplete(pRequestStatus,KErrNone); |
392 User::RequestComplete(pRequestStatus,KErrNone); |
399 return; |
393 return; |
400 } |
394 } |
401 |
395 |
402 if (0 < mCertsData.Count()) |
396 if (0 < mCertsData.Count()) |
882 { |
875 { |
883 mClientStatus = &aRequestStatus; |
876 mClientStatus = &aRequestStatus; |
884 SetActive(); |
877 SetActive(); |
885 return; |
878 return; |
886 } |
879 } |
887 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
888 delete mQuery.release(); |
880 delete mQuery.release(); |
889 #endif |
|
890 mState = EInitial; |
881 mState = EInitial; |
891 TRequestStatus* pRequestStatus = &aRequestStatus; |
882 TRequestStatus* pRequestStatus = &aRequestStatus; |
892 User::RequestComplete(pRequestStatus,KErrCancel); |
883 User::RequestComplete(pRequestStatus,KErrCancel); |
893 } |
884 } |
894 |
885 |
901 KJavaUserMessagesResourceFileName); |
892 KJavaUserMessagesResourceFileName); |
902 |
893 |
903 std::auto_ptr<CStringResourceReader> reader(CStringResourceReader::NewL(resourceFileName)); |
894 std::auto_ptr<CStringResourceReader> reader(CStringResourceReader::NewL(resourceFileName)); |
904 std::auto_ptr<HBufC> queryPrompt(reader->ReadResourceString(resourceId).AllocL()); |
895 std::auto_ptr<HBufC> queryPrompt(reader->ReadResourceString(resourceId).AllocL()); |
905 |
896 |
906 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
907 mQuery.reset(CAknGlobalConfirmationQuery::NewL()); |
897 mQuery.reset(CAknGlobalConfirmationQuery::NewL()); |
908 mQuery->ShowConfirmationQueryL(iStatus,queryPrompt->Des(),R_AVKON_SOFTKEYS_OK_CANCEL); |
898 mQuery->ShowConfirmationQueryL(iStatus,queryPrompt->Des(),R_AVKON_SOFTKEYS_OK_CANCEL); |
909 #else |
|
910 int completeStatus = KErrCancel; |
|
911 ConfirmQuery* query = new ConfirmQuery(); |
|
912 QString queryText = QString::fromStdWString( |
|
913 std::wstring((wchar_t*) queryPrompt->Ptr(), |
|
914 queryPrompt->Length())); |
|
915 if (query->accept(queryText)) |
|
916 { |
|
917 completeStatus = KErrNone; |
|
918 } |
|
919 delete query; query = NULL; |
|
920 TRequestStatus* status = &iStatus; |
|
921 User::RequestComplete(status, completeStatus); |
|
922 #endif |
|
923 |
|
924 } |
899 } |
925 |
900 |
926 /** |
901 /** |
927 * |
902 * |
928 */ |
903 */ |
929 void CJavaCertStoreImpl::SendDisableMsg(TInt aStatus) |
904 void CJavaCertStoreImpl::SendDisableMsg(TInt aStatus) |
930 { |
905 { |
931 |
906 |
932 mState = EInitial; |
907 mState = EInitial; |
933 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
934 delete mQuery.release(); |
908 delete mQuery.release(); |
935 #endif |
|
936 mState = EInitial; |
909 mState = EInitial; |
937 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
938 if (EAknSoftkeyOk != aStatus) |
910 if (EAknSoftkeyOk != aStatus) |
939 #else |
|
940 if (KErrNone != aStatus) |
|
941 #endif |
|
942 { |
911 { |
943 User::RequestComplete(mClientStatus,KErrCancel); |
912 User::RequestComplete(mClientStatus,KErrCancel); |
944 return; |
913 return; |
945 } |
914 } |
946 HandleSendingEnableDisableMsg(mClientStatus,EPreDisabling,*mTempCertData); |
915 HandleSendingEnableDisableMsg(mClientStatus,EPreDisabling,*mTempCertData); |
951 */ |
920 */ |
952 void CJavaCertStoreImpl::SendDeleteMsg(TInt aStatus) |
921 void CJavaCertStoreImpl::SendDeleteMsg(TInt aStatus) |
953 { |
922 { |
954 |
923 |
955 mState = EInitial; |
924 mState = EInitial; |
956 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
957 delete mQuery.release(); |
925 delete mQuery.release(); |
958 #endif |
|
959 mState = EInitial; |
926 mState = EInitial; |
960 #ifndef RD_JAVA_S60_RELEASE_10_1_ONWARDS |
|
961 if (EAknSoftkeyOk != aStatus) |
927 if (EAknSoftkeyOk != aStatus) |
962 #else |
|
963 if (KErrNone != aStatus) |
|
964 #endif |
|
965 { |
928 { |
966 User::RequestComplete(mClientStatus,KErrCancel); |
929 User::RequestComplete(mClientStatus,KErrCancel); |
967 return; |
930 return; |
968 } |
931 } |
969 HandleSendingDeleteMsg(mClientStatus,*mTempCertData); |
932 HandleSendingDeleteMsg(mClientStatus,*mTempCertData); |
1007 { |
970 { |
1008 //SendDeleteCommsMsg() operation calls RequestComplete() |
971 //SendDeleteCommsMsg() operation calls RequestComplete() |
1009 //operation in the error situation. |
972 //operation in the error situation. |
1010 return; |
973 return; |
1011 } |
974 } |
1012 aCertDataObj.mDeleted = ETrue; |
975 aCertDataObj.mDeleted = ETrue; |
1013 |
976 |
1014 User::RequestComplete(aRequestStatus,KErrNone); |
977 User::RequestComplete(aRequestStatus,KErrNone); |
1015 } |
978 } |
1016 |
979 |
1017 ///////////////////////////////////////////////////////////////////////////////// |
980 ///////////////////////////////////////////////////////////////////////////////// |