--- a/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonemesshandler.h Mon Nov 09 10:36:19 2009 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonemesshandler.h Thu Jan 14 10:44:58 2010 +0200
@@ -11,7 +11,7 @@
*
* Contributors:
*
-* Description:
+* Description:
*
*/
@@ -31,6 +31,7 @@
#include "cmmphonetreceiver.h"
#include "nokiatsy_internal_variation.h"
#include "muiccoperationbase.h"
+#include "cmmuiccmesshandler.h"
// CONSTANTS
//None
@@ -125,8 +126,46 @@
TInt ProcessUiccMsg(
TInt aTraId,
TInt aStatus,
+ TUint8 aDetails,
const TDesC8& aFileData );
+ /**
+ * Checks if "Refresh Done" will be sent to UICC
+ * @param TInt aError : Error value during re-reading
+ */
+ void SmsCachingCompleted( TInt aError );
+
+ /**
+ * Checks if "Refresh Done" will be sent to UICC
+ * @param TInt aError : Error value during re-reading
+ */
+ void ServiceTableCachingCompleted( TInt aError );
+
+ /**
+ * Checks if "Refresh Done" will be sent to UICC
+ * @param TUint aError : Error value during re-reading
+ */
+ void CallForwFlagsCachingCompleted( TUint aError );
+
+ /**
+ * Checks if "Refresh Done" will be sent to UICC
+ * @param aError : Error value during re-reading
+ * @return refresh ongoing, True or False.
+ */
+ TBool OplRulesCachingCompleted( TInt aError );
+
+ /**
+ * Checks if "Refresh Done" will be sent to UICC
+ * @param aError : Error value during re-reading
+ */
+ void PnnRecordCachingCompleted( TUint8 aError );
+
+ /**
+ * Checks if "Refresh Done" will be sent to UICC
+ * @param aError : Error value during re-reading
+ */
+ void OnsNameCachingCompleted( TUint8 aError );
+
protected:
/**
@@ -194,6 +233,118 @@
*/
void ConstructL( CMmMessageRouter* aMessageRouter );
+ /**
+ * Read request for EFest
+ * @return KErrNone or error code
+ */
+ TInt UiccReadEfEstReq();
+
+ /**
+ * Handles response for EFest reading in case of getting
+ * ACL status
+ * @param aStatus status of the operation
+ * @param aFileData content of the EFest
+ * @return none
+ */
+ void UiccGetAclStatusReadEfEstResp(
+ TInt aStatus,
+ const TDesC8& aFileData );
+
+ /**
+ * Handles response for EFest reading in case of setting
+ * ACL status
+ * @param aStatus status of the operation
+ * @param aFileData content of the EFest
+ * @return none
+ */
+ void UiccSetAclStatusReadEfEstResp(
+ TInt aStatus,
+ const TDesC8& aFileData );
+
+ /**
+ * Write request for EFest
+ * @param aOldAclState old ACL state
+ * @return KErrNone or error code
+ */
+ TInt UiccSetAclStatusWriteEfEstReq( TUint8 aOldAclState );
+
+ /**
+ * Handles response for EFest writing in case of setting
+ * ACL status
+ * @param aStatus status of the operation
+ * @return none
+ */
+ void UiccSetAclStatusWriteEfEstResp(
+ TInt aStatus );
+
+ /**
+ * Read request for EFacl
+ * @return KErrNone or error code
+ */
+ TInt UiccReadAclReq();
+
+ /**
+ * Handles response for EFacl reading
+ * @param aStatus status of the operation
+ * @param aFileData content of the EFacl
+ * @return none
+ */
+ void UiccReadAclResp(
+ TInt aStatus,
+ const TDesC8& aFileData );
+
+ /**
+ * Encrypt from ACL to CDesC8ArrayFlat.
+ * @param const TDesC8& aTlv
+ * @param TInt aTotalEntries
+ * @return CDesC8ArrayFlat*
+ */
+ CDesC8ArrayFlat* DecodeACL(
+ const TDesC8& aTlv,
+ TInt aTotalEntries) const;
+
+ /**
+ * Sends number of ACL index to the client.
+ * @return none
+ */
+ void CompleteEnumerateAPNEntries();
+
+ /**
+ * Completes APN entry reading
+ * @param TUint8 aIndex
+ * @return none
+ */
+ void CompleteGetAPNName( TUint8 aIndex );
+
+ /**
+ * Deletes APN entry from internal cache and writes
+ * the change to EFacl
+ * @param TUint8 aIndex index to be deleted
+ * @return KErrNone or error code
+ */
+ TInt UiccDeleteApnEntry( TInt aIndex );
+
+ /**
+ * Writes APN entries from internal cache to the EFAcl
+ * @param TUint8 aIndex index to be deleted
+ * @return KErrNone or error code
+ */
+ TInt UiccWriteEfAclReq();
+
+ /**
+ * Handles response for EFAcl writing
+ * @param aStatus status of the operation
+ * @return none
+ */
+ void UiccWriteEfAclResp( TInt aStatus );
+
+ /**
+ * Calculate total length of ACL.
+ * @param CDesC8ArrayFlat* aApnList
+ * @return TUint16 Total legtn of ACL.
+ */
+ TUint16 ACLLength( CDesC8ArrayFlat* aApnList ) const;
+
private:
/**
@@ -205,7 +356,8 @@
KRefreshCallForwardingFlags = 0x02,
KRefreshOplRules = 0x04,
KRefreshPnnRecord = 0x08,
- KRefreshOnsName = 0x10
+ KRefreshOnsName = 0x10,
+ KRefreshServiceTable = 0x20
};
/**
@@ -270,6 +422,34 @@
TInt aStatus,
const TDesC8& aFileData );
+ /**
+ * Handle UICC_REFRESH_IND ISI message
+ * @param aIsiMessage ISI message
+ * @return void
+ */
+ void UiccRefreshInd( const TIsiReceiveC &aIsiMessage );
+
+ /**
+ * Handle UICC_REFRESH_RESP ISI message
+ * @param aIsiMessage ISI message
+ * @return void
+ */
+ void UiccRefreshResp( const TIsiReceiveC &aIsiMessage );
+
+ /**
+ * Create UICC_REFRESH_REQ ISI message
+ * @param aStatus Status
+ * @return Symbian error code
+ */
+ TInt UiccRefreshReq( TUint8 aStatus );
+
+ /** Complete rerfesh handling
+ * @param aIsiMessage ISI message
+ * @return void
+ */
+ void HandleUiccRefresh( const TIsiReceiveC &aIsiMessage );
+
+
//ATTRIBUTES
public:
//none
@@ -335,6 +515,14 @@
// Keeps track if any errors happened during re-reading of cached files
TBool iRefreshError;
+
+ // Flag for refresh completing
+ TBool iCompleteRefresfDone;
+
+ // Stores temporarily ACL status going to be set
+ RMobilePhone::TAPNControlListServiceStatus iAclStatus;
+
+ TInt iOngoingAclIpc;
};
#endif // CMMPHONEMESSHANDLER_H