adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationinit3g_adn.h
changeset 0 63b37f68c1ce
child 5 8ccc39f9d787
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/adaptationlayer/tsy/nokiatsy_dll/inc/cmmphonebookoperationinit3g_adn.h	Fri Nov 06 17:28:23 2009 +0000
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+* 
+* Contributors:
+* 
+* Description:
+*
+*/
+
+#ifndef _CMMPHONEBOOK_OPERATION_INIT_3G_ADN_H
+#define _CMMPHONEBOOK_OPERATION_INIT_3G_ADN_H
+
+// INCLUDES
+#include <ctsy/pluginapi/cmmdatapackage.h>
+#include <e32base.h>
+#include "cmmphonebookoperationinit.h"
+#include "muiccoperationbase.h"
+
+
+
+// CONSTANTS
+    // Nonea
+
+// MACROS
+    // None
+
+// DATA TYPES
+    // None
+
+// EXTERNAL DATA STRUCTURES
+    // None
+
+// FUNCTION PROTOTYPES
+    // None
+
+// FORWARD DECLARATION
+#ifdef INTERNAL_RD_USIM_PHONEBOOK_GAS_AND_AAS
+class CAlphaString;
+#endif // INTERNAL_RD_USIM_PHONEBOOK_GAS_AND_AAS
+
+
+// CLASS DECLARATION
+/**
+* CMmPhoneBookOperationInit3G_ADN is used to create and send USIM-specific
+* ADN Phone book Init.
+*/
+
+class CMmPhoneBookOperationInit3G_adn : public CMmPhoneBookOperationInit
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased constructor.
+        * @param CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler:
+        *        pointer to CMmPhoneBookStoreMessHandler class
+        * @param const CMmDataPackage* aDataPackage: data
+        * @return CMmPhoneBookOperationInit*: created object
+        */
+        static CMmPhoneBookOperationInit3G_adn* NewL(    
+                CMmPhoneBookStoreMessHandler* aMmPhoneBookStoreMessHandler,
+                CMmUiccMessHandler* aUiccMessHandler,
+                const CMmDataPackage* aDataPackage // Data
+                );
+
+        /**
+        * Destructor.
+        */
+        ~CMmPhoneBookOperationInit3G_adn();
+
+
+    protected:
+        
+        /**
+        * By default Symbian OS constructor is private.
+        */
+        CMmPhoneBookOperationInit3G_adn();
+
+
+    private:
+
+
+        /**
+        * Class attributes are created in ConstructL.
+        */
+        void ConstructL();
+
+        TInt UICCCreateReq(TInt aIpc, const CMmDataPackage* aDataPackage);
+        TInt UICCInitializeReq3GADN();
+
+        TInt CreateReqFetchTypeFile(
+                TUiccReadLinearFixed &aparams,
+                const TUint8 aFileType);
+        
+        TInt HandleUICCPbRespL(TBool &aComplete,TInt aStatus,const TDesC8 &aFileData,TInt aTransId);
+        TInt HandleUICCPbResp3GADN(const TDesC8 &aFileData, TInt aStatus);
+
+        TInt FetchType1FileFromPBR(const TDesC8 &aFileData);
+        TInt FetchType2FileFromPBR(const TDesC8 &aFileData);
+        TInt FetchType3FileFromPBR(const TDesC8 &aFileData);
+
+        
+        void HandleType1FileResp(const TDesC8& aFileData, TInt aStatus);
+        void HandleType2FileResp(const TDesC8& aFileData, TInt aStatus);
+        void HandleType3FileResp(const TDesC8& aFileData, TInt aStatus);
+        
+        TInt CheckForFileId();
+        TInt CheckForNoOfRecords(TInt aNoOfRecords);
+        TInt CheckForSameType1AndType2Files();
+        TInt CheckRecordSizeForFixedLength(TInt aFileType, TInt aFileId, TInt aRecordLength);
+
+        
+
+    private: // Data
+
+        
+        // keep Track for Curre6gnt Array data to be accessed
+        TUint8 iCurrentArrayCounter;
+
+        // List of Type1 Pbr Files
+        RArray <TPrimitiveTag> iType1FileArray;
+        
+        // List of Type2 Pbr Files
+        RArray <TPrimitiveTag> iType2FileArray;
+        
+        // List of Type3 Pbr Files
+        RArray <TPrimitiveTag> iType3FileArray;
+
+        // no of ANR files type1 per ADN phonebook
+        TInt iType1ANRFiles;
+        
+        // no of ANR files type2 Per ADN phonebook
+        TInt iType2ANRFiles;
+        
+        TInt iType1EmailFiles;
+        
+        TInt iType2EmailFiles;
+        
+        TInt iType1SNEFiles;
+        TInt iType2SNEFiles;
+        
+    };
+
+#endif // _CMMPHONEBOOK_OPERATION_INIT_3G_ADN_H
+
+// End of File
+