201033
authorhgs
Mon, 23 Aug 2010 13:40:12 +0300
changeset 56 dd6aaa97e7b1
parent 52 bbe4544dfd31
child 59 2709c04a4af5
201033
bearermanagement/mpm/group/mpmserver.mmp
bearermanagement/mpm/inc/mpmconnmonevents.h
bearermanagement/mpm/inc/mpmconnpermquerytimer.h
bearermanagement/mpm/inc/mpmexpirytimer.h
bearermanagement/mpm/inc/mpmexpirytimercallback.h
bearermanagement/mpm/inc/mpmserver.h
bearermanagement/mpm/src/mpmconfirmdlgstarting.cpp
bearermanagement/mpm/src/mpmconnmonevents.cpp
bearermanagement/mpm/src/mpmconnmonreqs.cpp
bearermanagement/mpm/src/mpmconnpermquerytimer.cpp
bearermanagement/mpm/src/mpmexpirytimer.cpp
bearermanagement/mpm/src/mpmiapselection.cpp
bearermanagement/mpm/src/mpmserver.cpp
bearermanagement/mpm/src/mpmserversession.cpp
cmmanager/cmapplsettingsui/cmapplsettingsui.pro
cmmanager/cmapplsettingsui/res/cmapplsettingsui.qrc
cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/res/tst_applsettingsui.qrc
cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/tst_applsettingsui.pro
cmmanager/cpdestinationplugin/cpdestinationplugin.pro
cmmanager/cpdestinationplugin/inc/cpdestinationgroup.h
cmmanager/cpdestinationplugin/res/cpdestinationplugin.qrc
cmmanager/cpdestinationplugin/src/cpadddestinationentryitemdata.cpp
cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp
cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp
cmmanager/cpdestinationplugin/src/cpiapitem.cpp
connectionmonitoring/connectionmonitorui/ROM/ConnectionMonitorUi.iby
connectionmonitoring/connectionmonitorui/ROM/ConnectionMonitorUiResources.iby
connectionmonitoring/connectionmonitorui/aif/ConnectionMonitorUiaif.rss
connectionmonitoring/connectionmonitorui/aif/context_pane_icon.bmp
connectionmonitoring/connectionmonitorui/aif/context_pane_icon_mask.bmp
connectionmonitoring/connectionmonitorui/aif/list_icon.bmp
connectionmonitoring/connectionmonitorui/aif/list_icon_mask.bmp
connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi.rss
connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_caption.rss
connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_reg.rss
connectionmonitoring/connectionmonitorui/group/ConnectionMonitorUI.mmp
connectionmonitoring/connectionmonitorui/group/bld.inf
connectionmonitoring/connectionmonitorui/help/data/xhtml.zip
connectionmonitoring/connectionmonitorui/help/group/bld.inf
connectionmonitoring/connectionmonitorui/help/inc/cmon.hlp.hrh
connectionmonitoring/connectionmonitorui/help/rom/connectionmonitoruihelps_variant.iby
connectionmonitoring/connectionmonitorui/inc/ActiveWrapper.h
connectionmonitoring/connectionmonitorui/inc/ConnectionArray.h
connectionmonitoring/connectionmonitorui/inc/ConnectionInfoBase.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUi.hrh
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiApp.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiAppUi.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiContainer.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiDetailsContainer.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiDetailsView.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiDocument.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiLogger.h
connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiView.h
connectionmonitoring/connectionmonitorui/inc/CsdConnectionInfo.h
connectionmonitoring/connectionmonitorui/inc/EasyWLANConnectionInfo.h
connectionmonitoring/connectionmonitorui/inc/FeatureManagerWrapper.h
connectionmonitoring/connectionmonitorui/inc/GprsConnectionInfo.h
connectionmonitoring/connectionmonitorui/inc/WlanConnectionInfo.h
connectionmonitoring/connectionmonitorui/loc/connectionmonitorui.loc
connectionmonitoring/connectionmonitorui/sis/ConnectionMonitorUI.pkg
connectionmonitoring/connectionmonitorui/src/ActiveWrapper.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionArray.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiApp.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsContainer.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDocument.cpp
connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiView.cpp
connectionmonitoring/connectionmonitorui/src/CsdConnectionInfo.cpp
connectionmonitoring/connectionmonitorui/src/EasyWLANConnectionInfo.cpp
connectionmonitoring/connectionmonitorui/src/FeatureManagerWrapper.cpp
connectionmonitoring/connectionmonitorui/src/GprsConnectionInfo.cpp
connectionmonitoring/connectionmonitorui/src/WlanConnectionInfo.cpp
connectionmonitoring/connmon/connectionmonitor/src/connmoncommsdatcache.cpp
connectionmonitoring/connmon/dataconnectionlogger/inc/dclevent.h
connectionmonitoring/group/bld.inf
connectionutilities/confirmqueries/confirmqueries.pro
connectionutilities/confirmqueries/res/promptdialog.qrc
data/bld.inf
dbcreator/commsdatcreator/Inc/cdcdatamobilitytables.h
dbcreator/commsdatcreator/Inc/cdcdumptables.h
dbcreator/commsdatcreator/Inc/cdclogfilename.h
dbcreator/commsdatcreator/Inc/cdcprocessorbase.h
dbcreator/commsdatcreator/Inc/cdcprocessordn.h
dbcreator/commsdatcreator/Inc/cdcprocessorglobal.h
dbcreator/commsdatcreator/Inc/cdcprocessorlan.h
dbcreator/commsdatcreator/Inc/cdcprocessorpacketdata.h
dbcreator/commsdatcreator/Inc/cdcprocessorvpn.h
dbcreator/commsdatcreator/Inc/cdcprocessorwlan.h
dbcreator/commsdatcreator/Inc/cdcreaderbase.h
dbcreator/commsdatcreator/Inc/cdcreaderxml.h
dbcreator/commsdatcreator/Inc/cdctagcontainer.h
dbcreator/commsdatcreator/Inc/cdcwlandevicesettings.h
dbcreator/commsdatcreator/Inc/cdcwlantables.h
dbcreator/commsdatcreator/Src/cdccommsdatcreator.cpp
dbcreator/commsdatcreator/Src/cdcdatamobilitytables.cpp
dbcreator/commsdatcreator/Src/cdcdumptables.cpp
dbcreator/commsdatcreator/Src/cdcprocessorbase.cpp
dbcreator/commsdatcreator/Src/cdcprocessordn.cpp
dbcreator/commsdatcreator/Src/cdcprocessorglobal.cpp
dbcreator/commsdatcreator/Src/cdcprocessorlan.cpp
dbcreator/commsdatcreator/Src/cdcprocessorpacketdata.cpp
dbcreator/commsdatcreator/Src/cdcprocessorvpn.cpp
dbcreator/commsdatcreator/Src/cdcprocessorwlan.cpp
dbcreator/commsdatcreator/Src/cdcreaderbase.cpp
dbcreator/commsdatcreator/Src/cdcreaderxml.cpp
dbcreator/commsdatcreator/Src/cdctagcontainer.cpp
dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp
dbcreator/commsdatcreator/Src/cdcwlantables.cpp
dbcreator/commsdatcreator/group/cdccommsdatcreator.mmp
dbcreator/commsdatcreator/inc/cdcdatamobilitytables.h
dbcreator/commsdatcreator/inc/cdcdumptables.h
dbcreator/commsdatcreator/inc/cdclogfilename.h
dbcreator/commsdatcreator/inc/cdcprocessorbase.h
dbcreator/commsdatcreator/inc/cdcprocessordn.h
dbcreator/commsdatcreator/inc/cdcprocessorglobal.h
dbcreator/commsdatcreator/inc/cdcprocessorlan.h
dbcreator/commsdatcreator/inc/cdcprocessorpacketdata.h
dbcreator/commsdatcreator/inc/cdcprocessorvpn.h
dbcreator/commsdatcreator/inc/cdcprocessorwlan.h
dbcreator/commsdatcreator/inc/cdcreaderbase.h
dbcreator/commsdatcreator/inc/cdcreaderxml.h
dbcreator/commsdatcreator/inc/cdctagcontainer.h
dbcreator/commsdatcreator/inc/cdcwlandevicesettings.h
dbcreator/commsdatcreator/inc/cdcwlantables.h
dbcreator/commsdatcreator/src/cdccommsdatcreator.cpp
dbcreator/commsdatcreator/src/cdcdatamobilitytables.cpp
dbcreator/commsdatcreator/src/cdcdumptables.cpp
dbcreator/commsdatcreator/src/cdcprocessorbase.cpp
dbcreator/commsdatcreator/src/cdcprocessordn.cpp
dbcreator/commsdatcreator/src/cdcprocessorglobal.cpp
dbcreator/commsdatcreator/src/cdcprocessorlan.cpp
dbcreator/commsdatcreator/src/cdcprocessorpacketdata.cpp
dbcreator/commsdatcreator/src/cdcprocessorvpn.cpp
dbcreator/commsdatcreator/src/cdcprocessorwlan.cpp
dbcreator/commsdatcreator/src/cdcreaderbase.cpp
dbcreator/commsdatcreator/src/cdcreaderxml.cpp
dbcreator/commsdatcreator/src/cdctagcontainer.cpp
dbcreator/commsdatcreator/src/cdcwlandevicesettings.cpp
dbcreator/commsdatcreator/src/cdcwlantables.cpp
dbcreator/conf/bld.inf
package_definition.xml
package_map.xml
--- a/bearermanagement/mpm/group/mpmserver.mmp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/group/mpmserver.mmp	Mon Aug 23 13:40:12 2010 +0300
@@ -50,6 +50,8 @@
 SOURCE            mpmdialogbase.cpp
 SOURCE            mpmdatausagewatcher.cpp
 SOURCE            mpmvpntogglewatcher.cpp
+SOURCE            mpmexpirytimer.cpp
+SOURCE            mpmconnpermquerytimer.cpp
 
 USERINCLUDE       ../inc
 
--- a/bearermanagement/mpm/inc/mpmconnmonevents.h	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmconnmonevents.h	Mon Aug 23 13:40:12 2010 +0300
@@ -293,6 +293,13 @@
         inline TBool DiscardAvailabilityNotification(); 
         
         /**
+        * Returns the setting whether IAP availability notification has been discarded by MPM.
+        * @since 3.2
+        * @return ETrue if availability notifications have been discarded. 
+        */
+        inline TBool AvailabilityNotificationDiscarded();
+        
+        /**
          * Creates preferred carrier available notification when needed.
          * @since 5.1
          * @param aCaller Identifies the calling context
@@ -343,6 +350,9 @@
         // until MPM initiated WLAN scan request has completed. 
         TBool iDiscardAvailabilityNotification;
 
+        // ConnMon's IAP availability event has been discarded.
+        TBool iAvailabilityNotificationDiscarded;
+
 #ifdef _DEBUG 
         TBool iFilterEvents; // by default off. (CBase)
     public:
@@ -378,6 +388,15 @@
     return iDiscardAvailabilityNotification;
     }
 
+// -----------------------------------------------------------------------------
+// CMPMConnMonEvents::AvailabilityNotificationDiscarded
+// -----------------------------------------------------------------------------
+//
+inline TBool CMPMConnMonEvents::AvailabilityNotificationDiscarded()
+    {
+    return iAvailabilityNotificationDiscarded;
+    }
+
 #endif // MPMCONNMONEVENTS_H
 
 // End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/inc/mpmconnpermquerytimer.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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: Declaration of class CMPMConnPermQueryTimer.
+*
+*/
+
+#ifndef MPMCONNPERMQUERYTIMER_H
+#define MPMCONNPERMQUERYTIMER_H
+
+//  INCLUDES
+#include <e32base.h>
+#include "mpmexpirytimercallback.h"
+
+class CMPMServer;
+class CMPMExpiryTimer;
+
+/**
+* Class that implements Connection permission query's cancellation delay timer
+* and callback.
+* @since 5.2
+*/
+class CMPMConnPermQueryTimer : public CBase, public MMPMExpiryTimerCallback
+    {
+
+public:
+
+    /**
+    * New for calling the two-phased constructor.
+    * @since 5.2
+    * @param aServer Pointer to the MPM server object, for callback purposes    
+    * @return Pointer to created object instance
+    */
+    static CMPMConnPermQueryTimer* NewL( CMPMServer* aServer );
+
+    /**
+    * Destructor.
+    * @since 5.2
+    */
+    virtual ~CMPMConnPermQueryTimer();
+
+    /**
+    * Start the timer.
+    * @since 5.2
+    */
+    void StartTimer();
+
+    /**
+    * Dialog expiration timeout callback, inherited from MMPMExpiryTimerCallback.
+    * @since 5.2
+    */
+    void HandleTimedOut();
+    
+private:
+
+    /**
+    * C++ default constructor.
+    * @since 5.2
+    * @param aServer Pointer to the MPM server object, for callback purposes    
+    */
+    CMPMConnPermQueryTimer( CMPMServer* aServer );
+
+    /**
+    * Symbian 2nd phase constructor.
+    * @since 5.2
+    */
+    void ConstructL();
+
+
+private: // data
+
+    /**
+    * Pointer to the MPM Server object. Not own.
+    */
+    CMPMServer* iServer;
+    
+    /**
+    * Pointer to the common MPM expiry timer object.
+    */
+    CMPMExpiryTimer* iExpiryTimer;
+
+    /**
+    * Timeout constant.
+    */
+    static const TInt KTimeout = 10000000; // 10 sec
+
+    };
+
+#endif // MPMCONNPERMQUERYTIMER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/inc/mpmexpirytimer.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  Declaration of class CMPMExpiryTimer.
+*
+*/
+
+#ifndef MPMEXPIRYTIMER_H
+#define MPMEXPIRYTIMER_H
+
+// INCLUDES
+#include <e32base.h>  
+#include <e32std.h>		
+
+#include "mpmexpirytimercallback.h"
+
+/**
+* Class that implements simple microsecond timer and callback.
+* @since 5.2
+*/
+NONSHARABLE_CLASS( CMPMExpiryTimer ): public CTimer
+    {
+public:
+
+    /**
+    * New for calling the two-phased constructor.
+    * @since 5.2
+    * @param aCallback Pointer to the class where callback goes    
+    * @param aTimeout Timeout value in microseconds
+    * @return Pointer to created object instance
+    */
+    static CMPMExpiryTimer* NewL( MMPMExpiryTimerCallback& aCallback,
+            TInt aTimeout);  
+    
+    /**
+    * Starts up the timer.
+    * @since 5.2
+    */
+    void Start();
+    
+private:
+    /**
+    * C++ constructor.
+    * @since 5.2
+    * @param aCallback Pointer to the class where callback goes
+    * @param aTimer Timeout value in microseconds
+    */
+    CMPMExpiryTimer( MMPMExpiryTimerCallback& aCallback,
+            TInt aTimeout );
+
+    /**
+    * ConstructL.       
+    * @since 5.2
+    */
+    void ConstructL();
+
+    /**
+    * RunL. Inherited from CTimer.       
+    * @since 5.2
+    */
+    void RunL();
+
+private:
+    /**
+    * Callback reference.
+    */
+    MMPMExpiryTimerCallback& iCallback;
+    
+    /**
+    * Timeout value in microseconds.
+    */
+    TInt iTimeout;
+    };
+
+#endif // MPMEXPIRYTIMER_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/inc/mpmexpirytimercallback.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,38 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  Declaration of class MMPMExpiryTimerCallback.
+*
+*/
+
+#ifndef MPMEXPIRYTIMERCALLBACK_H
+#define MPMEXPIRYTIMERCALLBACK_H
+
+// INCLUDES
+#include <e32std.h>
+
+/**
+* Callback class for timer expiration.
+* @since 5.2
+*/
+class MMPMExpiryTimerCallback
+    {
+public:
+    /**
+    * Callback function for handling the timeout.
+    * @since 5.2
+    */
+    virtual void HandleTimedOut() = 0;
+    };
+
+#endif // MPMEXPIRYTIMERCALLBACK_H
--- a/bearermanagement/mpm/inc/mpmserver.h	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/inc/mpmserver.h	Mon Aug 23 13:40:12 2010 +0300
@@ -191,6 +191,7 @@
 class CMPMConfirmDlgRoaming;
 class CMPMConfirmDlgStarting;
 class CMPMDefaultConnection;
+class CMPMConnPermQueryTimer;
 
 // CLASS DECLARATION
 /**
@@ -861,6 +862,27 @@
         */
         void SetOfflineWlanQueryResponse( TOfflineWlanQueryResponse aResponse);
 
+        /**
+        * Starts the connection permission query timer.
+        * During the timer, no connection permission query can be initiated.
+        * @since 5.2
+        */
+        void StartConnPermQueryTimer();
+
+        /**
+        * Resets the connection permission query timer.
+        * @since 5.2
+        */
+        void ResetConnPermQueryTimer();
+
+        /**
+        * Returns true if the connection permission query timer is running.
+        * During the timer, no connection permission query can be initiated.
+        * @since 5.2
+        * @return ETrue if timer is running, EFalse otherwise.
+        */
+        TBool IsConnPermQueryTimerOn();
+
     private:
 
         /**
@@ -989,6 +1011,9 @@
 
         // TConnMonIapInfo Info about available IAPs
         TConnMonIapInfo iConnMonIapInfo;
+        
+        // Connection permission query cancellation delay timer
+        CMPMConnPermQueryTimer* iConnPermQueryTimer;
     };
 
 #include "mpmserver.inl"
--- a/bearermanagement/mpm/src/mpmconfirmdlgstarting.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconfirmdlgstarting.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -197,6 +197,9 @@
     {
     MPMLOGSTRING3( "CMPMConfirmDlgStarting<0x%x>::UserSelectedCancel:\
  Complete %d", iConnId, aError )
+    // User cancelled the connection permission query,
+    // don't try again until the timer expires.
+    iServer.StartConnPermQueryTimer();
     iIapSelection.ChooseIapComplete( aError, NULL );
     }
 
--- a/bearermanagement/mpm/src/mpmconnmonevents.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconnmonevents.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -51,7 +51,8 @@
 // 
 CMPMConnMonEvents::CMPMConnMonEvents( CMPMServer& aServer )
     : iMyServer( aServer ),
-      iDiscardAvailabilityNotification( EFalse )
+      iDiscardAvailabilityNotification( EFalse ),
+      iAvailabilityNotificationDiscarded( EFalse )
     {
     }
 
@@ -466,6 +467,7 @@
     if ( ( iAvailableIAPs.Count() > 0 ) && 
          !DiscardAvailabilityNotification() )
         {
+        iAvailabilityNotificationDiscarded = EFalse;
         // Remove temporary blacklistings as fresh availability 
         // info is available.
         // 
@@ -479,6 +481,7 @@
         }
     else
         {
+        iAvailabilityNotificationDiscarded = ETrue;
         MPMLOGSTRING2( "CMPMConnMonEvents::EventL - IAPs count: %d", 
             iAvailableIAPs.Count() )
         MPMLOGSTRING2( 
--- a/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/src/mpmconnmonreqs.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -349,6 +349,12 @@
                         //
                         iParent.IapAvailabilityChange( EConnMon );
                         }
+
+                    if ( iParent.AvailabilityNotificationDiscarded() )
+                        {
+                        MPMLOGSTRING( "CMPMConnMonReqs::RunL: AvailabilityNotificationDiscarded, roaming logic triggered" )
+                        iParent.IapAvailabilityChange( EConnMonEvent );
+                        }
                     }
                 // check which callback function to use
                 // 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/src/mpmconnpermquerytimer.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "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: Implementation of class CMPMConnPermQueryTimer.
+ * This timer is used for preventing excessive connection permission queries,
+ * when the used has cancelled the previous connection permission query.
+ *
+ */
+
+#include "mpmlogger.h"
+#include "mpmserver.h"
+#include "mpmexpirytimer.h"
+#include "mpmconnpermquerytimer.h"
+
+// ---------------------------------------------------------------------------
+// Creates a new object by calling the two-phased constructor.
+// ---------------------------------------------------------------------------
+//
+CMPMConnPermQueryTimer* CMPMConnPermQueryTimer::NewL( CMPMServer* aServer )
+    {
+    MPMLOGSTRING( "CMPMConnPermQueryTimer::NewL" )
+            
+    CMPMConnPermQueryTimer* self = new( ELeave ) CMPMConnPermQueryTimer( aServer );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Default C++ constructor.
+// ---------------------------------------------------------------------------
+//
+CMPMConnPermQueryTimer::CMPMConnPermQueryTimer( CMPMServer* aServer ) :
+    iServer( aServer )
+    {
+    MPMLOGSTRING( "CMPMConnPermQueryTimer::CMPMConnPermQueryTimer" )
+    }
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd phase constructor.
+// ---------------------------------------------------------------------------
+//
+void CMPMConnPermQueryTimer::ConstructL()
+    {
+    MPMLOGSTRING( "CMPMConnPermQueryTimer::ConstructL" )
+    iExpiryTimer = CMPMExpiryTimer::NewL( *this, KTimeout );
+    }
+
+// ---------------------------------------------------------------------------
+// Destructor.
+// ---------------------------------------------------------------------------
+//
+CMPMConnPermQueryTimer::~CMPMConnPermQueryTimer()
+    {
+    MPMLOGSTRING( "CMPMConnPermQueryTimer::~CMPMConnPermQueryTimer" )
+    if ( iExpiryTimer )
+        {
+        iExpiryTimer->Cancel();
+        delete iExpiryTimer;
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Start the timer.
+// ---------------------------------------------------------------------------
+//
+void CMPMConnPermQueryTimer::StartTimer()
+    {
+    MPMLOGSTRING( "CMPMConnPermQueryTimer::StartTimer" )
+    if ( iExpiryTimer )
+        {
+        iExpiryTimer->Cancel();
+        iExpiryTimer->Start();    
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// Handles the timeout.
+// ---------------------------------------------------------------------------
+//
+void CMPMConnPermQueryTimer::HandleTimedOut()
+    {
+    MPMLOGSTRING( "CMPMConnPermQueryTimer::HandleTimedOut" )
+    iServer->ResetConnPermQueryTimer();
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/bearermanagement/mpm/src/mpmexpirytimer.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  Implementation of class CMPMExpiryTimer, a common timer class for MPM.
+*
+*/
+
+#include "mpmexpirytimer.h"
+#include "mpmexpirytimercallback.h"
+
+// ---------------------------------------------------------------------------
+// Constructs and returns the class object.
+// ---------------------------------------------------------------------------
+//
+CMPMExpiryTimer* CMPMExpiryTimer::NewL( MMPMExpiryTimerCallback& aCallback, TInt aTimeout )
+    {
+    CMPMExpiryTimer* self = new( ELeave ) CMPMExpiryTimer( aCallback, aTimeout );
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+// ---------------------------------------------------------------------------
+// Default C++ constructor.
+// ---------------------------------------------------------------------------
+//
+
+CMPMExpiryTimer::CMPMExpiryTimer( MMPMExpiryTimerCallback& aCallback, TInt aTimeout ):
+        CTimer( CActive::EPriorityStandard ),
+        iCallback( aCallback ),
+        iTimeout( aTimeout )
+    {
+    CActiveScheduler::Add( this );
+    }
+
+// ---------------------------------------------------------------------------
+// Symbian 2nd phase constructor.
+// ---------------------------------------------------------------------------
+//
+
+void CMPMExpiryTimer::ConstructL()
+    {
+    CTimer::ConstructL();        
+    }
+
+// ---------------------------------------------------------------------------
+// RunL, from CTimer, starts up the timer.
+// ---------------------------------------------------------------------------
+//
+
+void CMPMExpiryTimer::Start()
+    {
+    After( iTimeout );
+    }
+
+// ---------------------------------------------------------------------------
+// RunL, from CTimer, called when the timer expires.
+// ---------------------------------------------------------------------------
+//
+
+void CMPMExpiryTimer::RunL()
+    {
+    iCallback.HandleTimedOut();
+    }
--- a/bearermanagement/mpm/src/mpmiapselection.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/src/mpmiapselection.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -353,12 +353,12 @@
             if ( iSession->IsConfirmFirstL( validateIapId ) &&
                  !( iSession->MyServer().CommsDatAccess()->IsVirtualIapL( validateIapId ) ))
                 {
-            
-                // Check whether queries are enabled
+                // Check that queries aren't disabled and
+                // enough time has elapsed from the last query cancelled by the user.
                 if ( !( iChooseIapPref.NoteBehaviour()
-                        & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) )
+                        & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
+                     !iSession->MyServer().IsConnPermQueryTimerOn() )
                     {
-                
                     TConnectionId connId = iSession->ConnectionId();
 
                     // Set confirmation type based on roaming status
@@ -512,8 +512,10 @@
              ( iSession->MyServer().CommsDatAccess()->CheckWlanL( validateIapId ) == ENotWlanIap ) &&
              !( iSession->MyServer().CommsDatAccess()->IsVirtualIapL( validateIapId ) ) )
             {
-            // Check whether queries are disabled
-            if ( !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) )
+            // Check that queries aren't disabled and
+            // enough time has elapsed from the last query cancelled by the user.
+            if ( !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
+                 !iSession->MyServer().IsConnPermQueryTimerOn() )
                 {
                 if ( iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMInternationalRoaming )
                     {
@@ -791,8 +793,10 @@
             // to the user in this country
             if ( iSession->MyServer().RoamingWatcher()->RoamingStatus() == EMPMInternationalRoaming )
                 {
-                // Check whether queries are enabled
-                if ( !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) )
+                // Check that queries aren't disabled and
+                // enough time has elapsed from the last query cancelled by the user.
+                if ( !( iChooseIapPref.NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
+                     !iSession->MyServer().IsConnPermQueryTimerOn() )
                     {
                     TConnectionId connId = iSession->ConnectionId();
                                                                     
--- a/bearermanagement/mpm/src/mpmserver.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserver.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -42,6 +42,7 @@
 #include "mpmvpntogglewatcher.h"
 #include "mpmdatausagewatcher.h"
 #include "mpmpropertydef.h"
+#include "mpmconnpermquerytimer.h"
 
 static const TUint32 KUidKmdServer = 0x1000088A;
     
@@ -99,7 +100,8 @@
       iConnUiUtils( NULL ),
       iOfflineMode( ECoreAppUIsNetworkConnectionAllowed ),
       iOfflineWlanQueryResponse( EOfflineResponseUndefined ),      
-      iRoamingToWlanPeriodic( NULL )
+      iRoamingToWlanPeriodic( NULL ),
+      iConnPermQueryTimer( NULL )
     {
     }
 
@@ -270,6 +272,8 @@
     delete iCommsDatAccess;
     
     delete iConnUiUtils;
+    
+    delete iConnPermQueryTimer;
     }
 
 // -----------------------------------------------------------------------------
@@ -383,19 +387,13 @@
         "CMPMServer::AppendBMConnection - aConnId = 0x%x, aSnap = %i",
         aConnId, aSnap )
 
-    // Set the Connection Id, SNAP, Iap Id and connection state
-    // 
-    TConnectionInfo connInfo;
-    connInfo.iConnId = aConnId;
-    connInfo.iSnap   = aSnap;
-    connInfo.iIapId  = aIapId;
-    connInfo.iState  = aState;
-    connInfo.iAppUid = aSession.AppUid();
-
-    // Package into TActiveBMConn //TODO Redundant.. remove the other one.
-    // 
+    // Set the Connection Id, SNAP, Iap Id and connection state, into TActiveBMConn
     TActiveBMConn conn;
-    conn.iConnInfo          = connInfo;
+    conn.iConnInfo.iConnId = aConnId;
+    conn.iConnInfo.iSnap   = aSnap;
+    conn.iConnInfo.iIapId  = aIapId;
+    conn.iConnInfo.iState  = aState;
+    conn.iConnInfo.iAppUid = aSession.AppUid();
 
     TInt index1 = iActiveBMConns.Find( conn, TActiveBMConn::MatchConnInfo );
 
@@ -1482,7 +1480,7 @@
     MPMLOGSTRING( "CMPMServer::StartForcedRoamingToWlan" )
     
     // cancel the periodic object
-    if ( iRoamingToWlanPeriodic != NULL )
+    if ( iRoamingToWlanPeriodic )
         {
         iRoamingToWlanPeriodic->Cancel();
         }
@@ -1554,6 +1552,11 @@
     MPMLOGSTRING( "CMPMServer::StartForcedRoamingToConnectedWlanL" );
     static_cast<CMPMServer*>( aUpdater )->StartForcedRoamingToWlanL( 
             static_cast<CMPMServer*>( aUpdater )->iConnMonIapInfo );
+    // Added also execution of policy based roaming logic because
+    // connections that are in EStarting state, when WLAN signal
+    // gets weak, would remain in WLAN as long as signal is weak. 
+    static_cast<CMPMServer*>( aUpdater )->StartForcedRoamingFromWlanL(
+            static_cast<CMPMServer*>( aUpdater )->iConnMonIapInfo );
     return 0;
     }
 
@@ -2018,6 +2021,61 @@
     iOfflineWlanQueryResponse = aResponse;
     }
 
+// ---------------------------------------------------------------------------
+// CMPMServer::StartConnPermQueryTimer
+// Starts the connection permission query timer.
+// ---------------------------------------------------------------------------
+//
+void CMPMServer::StartConnPermQueryTimer()
+    {
+    MPMLOGSTRING( "CMPMServer::StartConnPermQueryTimer" )
+
+    if ( !iConnPermQueryTimer )
+        {
+        TRAPD( err, iConnPermQueryTimer = CMPMConnPermQueryTimer::NewL( this ) );
+        if ( err == KErrNone )
+            {
+            iConnPermQueryTimer->StartTimer();
+            MPMLOGSTRING( "CMPMServer::StartConnPermQueryTimer: Ok." )
+            }
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CMPMServer::ResetConnPermQueryTimer
+// Resets the connection permission query timer.
+// ---------------------------------------------------------------------------
+//
+void CMPMServer::ResetConnPermQueryTimer()
+    {
+    MPMLOGSTRING( "CMPMServer::ResetConnPermQueryTimer" )
+
+    if ( iConnPermQueryTimer )
+        {
+        delete iConnPermQueryTimer;
+        iConnPermQueryTimer = NULL;
+        MPMLOGSTRING( "CMPMServer::ResetConnPermQueryTimer: Ok." )
+        }
+    }
+
+// ---------------------------------------------------------------------------
+// CMPMServer::IsConnPermQueryTimerOn
+// Tells if the connection permission query timer is on.
+// ---------------------------------------------------------------------------
+//
+TBool CMPMServer::IsConnPermQueryTimerOn()
+    {
+    MPMLOGSTRING( "CMPMServer::IsConnPermQueryTimerOn" )
+
+    TBool retval = EFalse;
+    if ( iConnPermQueryTimer )
+        {
+        retval = ETrue;
+        MPMLOGSTRING( "CMPMServer::IsConnPermQueryTimerOn: Yes." )
+        }
+    return retval;
+    }
+
 // -----------------------------------------------------------------------------
 // TMPMBlackListConnId::Append
 // -----------------------------------------------------------------------------
--- a/bearermanagement/mpm/src/mpmserversession.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/bearermanagement/mpm/src/mpmserversession.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -913,7 +913,10 @@
         //Display confirm dialog only if we are moving to cellular IAP
         if ( MyServer().CommsDatAccess()->CheckWlanL( iMigrateIap ) == ENotWlanIap )
             {
-            if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) )
+            // Check that connection preferences don't deny queries, and
+            // enough time has elapsed from the last query cancelled by the user.
+            if ( !( iIapSelection->MpmConnPref().NoteBehaviour() & TExtendedConnPref::ENoteBehaviourConnDisableQueries ) &&
+                 !MyServer().IsConnPermQueryTimerOn() )
                 {
                 if ( MyServer().RoamingWatcher()->RoamingStatus() == EMPMInternationalRoaming )
                     {
@@ -1015,6 +1018,10 @@
         {
         if( aResponse == EMsgQueryCancelled )
             {
+            // User cancelled the connection permission query,
+            // don't try again until the timer expires.
+            MyServer().StartConnPermQueryTimer();
+            
             if( !aReconnect )
                 {
                 // Send a preferred IAP notification
--- a/cmmanager/cmapplsettingsui/cmapplsettingsui.pro	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cmapplsettingsui/cmapplsettingsui.pro	Mon Aug 23 13:40:12 2010 +0300
@@ -31,6 +31,8 @@
 CONFIG += hb
 RESOURCES = res/cmapplsettingsui.qrc
 
+DOCML += res/cmradiodialog.docml
+
 TRANSLATIONS = cmapplsettingsui.ts
 
 #Store generated files to their own directory
--- a/cmmanager/cmapplsettingsui/res/cmapplsettingsui.qrc	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cmapplsettingsui/res/cmapplsettingsui.qrc	Mon Aug 23 13:40:12 2010 +0300
@@ -1,5 +1,5 @@
 <RCC>
     <qresource prefix="/docml" >
-        <file>cmradiodialog.docml</file>
+        <file alias="cmradiodialog.docml">cmradiodialog.docml.bin</file>
     </qresource>
 </RCC>
--- a/cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/res/tst_applsettingsui.qrc	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/res/tst_applsettingsui.qrc	Mon Aug 23 13:40:12 2010 +0300
@@ -1,5 +1,5 @@
 <RCC>
     <qresource prefix="/docml" >
-        <file>tst_applsettingsui.docml</file>
+        <file alias="tst_applsettingsui.docml">tst_applsettingsui.docml.bin</file>
     </qresource>
 </RCC>
--- a/cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/tst_applsettingsui.pro	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cmapplsettingsui/tsrc/tst_applsettingsui/tst_applsettingsui.pro	Mon Aug 23 13:40:12 2010 +0300
@@ -23,8 +23,9 @@
     inc \
     ../../inc \
     ../../../../inc
-load(hb.prf)
+CONFIG += hb
 RESOURCES = res/tst_applsettingsui.qrc
+DOCML += res/tst_applsettingsui.docml
 MOC_DIR = moc
 
 # Input
@@ -35,10 +36,8 @@
     src/tst_applsettingsui.cpp
 
 symbian*: {
-    CONFIG -= symbian_i18n
     LIBS += -lcmapplsettingsui
     TARGET.UID3 = 0x2002E69A
-    SYMBIAN_PLATFORMS = WINSCW ARMV5
 }
 
 symbian: {
--- a/cmmanager/cpdestinationplugin/cpdestinationplugin.pro	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/cpdestinationplugin.pro	Mon Aug 23 13:40:12 2010 +0300
@@ -25,6 +25,8 @@
 symbian*::LIBS += -lcmmanager
 RESOURCES = res/cpdestinationplugin.qrc
 
+DOCML += res/cpdestinationplugindialogs.docml
+
 # Sources
 HEADERS += inc/cpiapitem.h \
     inc/cpdestinationplugin.h \
--- a/cmmanager/cpdestinationplugin/inc/cpdestinationgroup.h	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/inc/cpdestinationgroup.h	Mon Aug 23 13:40:12 2010 +0300
@@ -12,8 +12,8 @@
 * Contributors:
 *
 * Description:  
-*   CpDestinationGroup contains all destination UI items as well as 
-*   items for uncategorized access points and adding new destinations.
+* CpDestinationGroup contains all destination UI items as well as 
+* items for uncategorized access points and adding new destinations.
 */
  
 #ifndef CPDESTINATIONGROUP_H
@@ -44,7 +44,9 @@
     CpDestinationGroup(CpItemDataHelper &itemDataHelper);
     ~CpDestinationGroup();
     
-    void addDestination(const QString &dest, int destId);
+    void addDestination(
+        const QString &name,
+        QSharedPointer<CmDestinationShim> dest);
     void deleteDestination(int destId);
     CpBearerApPluginInterface *findBearerPlugin(int apId);
     
--- a/cmmanager/cpdestinationplugin/res/cpdestinationplugin.qrc	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/res/cpdestinationplugin.qrc	Mon Aug 23 13:40:12 2010 +0300
@@ -1,5 +1,6 @@
-<RCC>
+<!DOCTYPE RCC>
+<RCC version="1.0">
     <qresource prefix="/docml" >
-        <file>cpdestinationplugindialogs.docml</file>
+        <file alias="cpdestinationplugindialogs.docml">cpdestinationplugindialogs.docml.bin</file>
     </qresource>
 </RCC>
--- a/cmmanager/cpdestinationplugin/src/cpadddestinationentryitemdata.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpadddestinationentryitemdata.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -1,36 +1,41 @@
 /*
- * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of "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:  
- *   Data item for representing "Add Destination" button in UI.
- */
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  
+* Data item for representing "Add Destination" button in UI.
+*/
 
 // System includes
+
 #include <HbInputDialog>
 #include <HbAction>
 #include <HbMessageBox>
 #include <HbPopup>
+
 #include <cpitemdatahelper.h>
 #include <cmdestination_shim.h>
 #include <cmmanager_shim.h>
 
 // User includes
+
 #include "cpadddestinationentryitemdata.h"
 #include "cpdestinationgroup.h"
+
 #include "OstTraceDefinitions.h"
 #ifdef OST_TRACE_COMPILER_IN_USE
 #include "cpadddestinationentryitemdataTraces.h"
 #endif
+
 /*!
     \class  CpAddDestinationEntryItemData
     \brief  This class is a dummy destination. It does not contain 
@@ -48,17 +53,18 @@
 
 
 /*!
-            
     Constructor.
     
     @param[in] itemDataHelper Helper from Control Panel for making connections.
     @param[in] parent Parent object.
  */
-CpAddDestinationEntryItemData::CpAddDestinationEntryItemData(CpItemDataHelper &itemDataHelper,
-                                                             CpDestinationGroup *parent)
-    : CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, itemDataHelper),
+CpAddDestinationEntryItemData::CpAddDestinationEntryItemData(
+    CpItemDataHelper &itemDataHelper,
+    CpDestinationGroup *parent) :
+    CpSettingFormEntryItemData(CpSettingFormEntryItemData::ButtonEntryItem, itemDataHelper),
     mParent(parent),
-    mDialog(0)
+    mDialog(0),
+    mOkAction(NULL)
 {
     OstTraceFunctionEntry0(CPADDDESTINATIONENTRYITEMDATA_CPADDDESTINATIONENTRYITEMDATA_ENTRY);
     OstTraceFunctionExit0(CPADDDESTINATIONENTRYITEMDATA_CPADDDESTINATIONENTRYITEMDATA_EXIT);
@@ -80,6 +86,7 @@
 void CpAddDestinationEntryItemData::onLaunchView()
 {
     OstTraceFunctionEntry0(CPADDDESTINATIONENTRYITEMDATA_ONLAUNCHVIEW_ENTRY);
+    
     mDialog = new HbInputDialog();
     mDialog->setAttribute(Qt::WA_DeleteOnClose);
     mDialog->lineEdit()->setMaxLength(CMManagerShim::CmNameLength);
@@ -89,10 +96,11 @@
     mOkAction = new HbAction(
         hbTrId("txt_common_button_ok"),
         mDialog);
-    bool connected = connect(mOkAction, 
-                             SIGNAL(triggered()), 
-                             this, 
-                             SLOT(setNewDestinationName()));
+    bool connected = connect(
+        mOkAction, 
+        SIGNAL(triggered()), 
+        this, 
+        SLOT(setNewDestinationName()));
     Q_ASSERT(connected);
     HbAction *cancelAction = new HbAction(
         hbTrId("txt_common_button_cancel"),
@@ -100,6 +108,7 @@
     mDialog->addAction(mOkAction);
     mDialog->addAction(cancelAction);
     mDialog->show();
+    
     OstTraceFunctionExit0(CPADDDESTINATIONENTRYITEMDATA_ONLAUNCHVIEW_EXIT);
 }
 
@@ -112,33 +121,37 @@
 void CpAddDestinationEntryItemData::setNewDestinationName()
 {
     OstTraceFunctionEntry0(CPADDDESTINATIONENTRYITEMDATA_SETNEWDESTINATIONNAME_ENTRY);
+    
     QString destinationName = mDialog->value().toString();
-    bool destinationNameInvalid = true;
-    CmManagerShim *cmm = NULL;
-    CmDestinationShim *destination = NULL;
+    bool destinationNameValid = false;
+    QSharedPointer<CmManagerShim> cmm;
+    QSharedPointer<CmDestinationShim> destination;
     
     try {
-        cmm = new CmManagerShim();
-        if (isDestinationNameValid(destinationName, cmm)) {
+        cmm = QSharedPointer<CmManagerShim>(new CmManagerShim());
+        if (isDestinationNameValid(destinationName, cmm.data())) {
             // Destination name OK. Create new destination.
-            destination = cmm->createDestination(destinationName);
-            destinationNameInvalid = false;
+            destination = QSharedPointer<CmDestinationShim>(
+                cmm->createDestination(destinationName));
+            destinationNameValid = true;
         }
     } catch (const std::exception&) {
-        OstTrace0( TRACE_NORMAL, DUP2_CPADDDESTINATIONENTRYITEMDATA_SETNEWDESTINATIONNAME, "CpAddDestinationEntryItemData::setNewDestinationName: exception caught" );
+        OstTrace0(
+            TRACE_NORMAL,
+            DUP2_CPADDDESTINATIONENTRYITEMDATA_SETNEWDESTINATIONNAME,
+            "CpAddDestinationEntryItemData::setNewDestinationName: exception caught");
         return;
     }
 
-    if (!destinationNameInvalid) {
+    if (destinationNameValid) {
         // Update view
         if (mParent != 0) {
-            mParent->addDestination(destinationName, destination->id());
+            mParent->addDestination(destinationName, destination);
         }                
     } else {
         showErrorNote();
     }
-    delete destination;
-    delete cmm;
+    
     OstTraceFunctionExit0(CPADDDESTINATIONENTRYITEMDATA_SETNEWDESTINATIONNAME_EXIT);
 }
 
@@ -163,9 +176,12 @@
     @param[in] cmm Pointer to CmManagerShim for accessing data in commsdat.
     \return true if name is valid.
  */
-bool CpAddDestinationEntryItemData::isDestinationNameValid(const QString dest, CmManagerShim *cmm) const
+bool CpAddDestinationEntryItemData::isDestinationNameValid(
+    const QString dest,
+    CmManagerShim *cmm) const
 {
     OstTraceFunctionEntry0(CPADDDESTINATIONENTRYITEMDATA_ISDESTINATIONNAMEVALID_ENTRY);
+    
     bool retVal = true;
     
     if (dest.length() > 0) {
@@ -173,17 +189,17 @@
         cmm->allDestinations(destinationList);
     
         for (int i = 0; i < destinationList.count(); i ++) {
-            CmDestinationShim *destination = cmm->destination(destinationList[i]);
+            QScopedPointer<CmDestinationShim> destination(
+                cmm->destination(destinationList[i]));
             if (0 == dest.compare(destination->name())) {
                 retVal = false;
-                delete destination;
                 break;
             }
-            delete destination;
         }
     } else {
         retVal = false;
     }
+    
     OstTraceFunctionExit0(CPADDDESTINATIONENTRYITEMDATA_ISDESTINATIONNAMEVALID_EXIT);
     return retVal;
 }
@@ -195,6 +211,7 @@
 void CpAddDestinationEntryItemData::showErrorNote()
 {
     OstTraceFunctionEntry0(CPADDDESTINATIONENTRYITEMDATA_SHOWERRORNOTE_ENTRY);
+    
     // Destination name NOK. Inform user and ask again.
     HbMessageBox *note = new HbMessageBox(HbMessageBox::MessageTypeInformation);
     note->clearActions();
@@ -213,5 +230,6 @@
     Q_ASSERT(connected);                        
     note->addAction(errorOk);
     note->show();
+    
     OstTraceFunctionExit0(CPADDDESTINATIONENTRYITEMDATA_SHOWERRORNOTE_EXIT);
 }
--- a/cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpdestinationentryitem.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -29,6 +29,7 @@
 #include <HbListWidgetItem>
 #include <HbMainWindow>
 #include <HbInstance>
+#include <HbParameterLengthLimiter>
 #include <cppluginutility.h>
 #include <cpitemdatahelper.h>
 #include <cpbasesettingview.h>
@@ -344,7 +345,8 @@
     OstTraceFunctionEntry0(CPDESTINATIONENTRYITEMDATA_CONFIRMDESTINATIONDELETE_ENTRY);
     HbMessageBox *note = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
     note->setAttribute(Qt::WA_DeleteOnClose);
-    note->setText(hbTrId("txt_occ_info_delete_snap").arg(mDestinationName));
+    note->setText(HbParameterLengthLimiter(
+        "txt_occ_info_delete_snap").arg(mDestinationName));
     note->clearActions();
     HbAction *okAction = new HbAction(
         hbTrId("txt_common_button_yes"),
--- a/cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpdestinationgroup.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -12,18 +12,21 @@
 * Contributors:
 *
 * Description:  
-*   CpDestinationGroup contains all destination UI items as well as 
-*   items for uncategorized access points and adding new destinations.
+* CpDestinationGroup contains all destination UI items as well as 
+* items for uncategorized access points and adding new destinations.
 */
 
 // System includes
+
 #include <QDir>
 #include <QPluginLoader>
 #include <QStringList>
+
 #include <HbDataForm>
 #include <HbDataFormModel>
 #include <HbDataFormViewItem>
 #include <HbParameterLengthLimiter>
+
 #include <cpbasesettingview.h>
 #include <cpitemdatahelper.h>
 #include <cpsettingformentryitemdataimpl.h>
@@ -34,9 +37,11 @@
 #include <cmmanagerdefines_shim.h>
 
 // User includes
+
 #include "cpdestinationgroup.h"
 #include "cpdestinationentryitem.h"
 #include "cpadddestinationentryitemdata.h"
+
 #include "OstTraceDefinitions.h"
 #ifdef OST_TRACE_COMPILER_IN_USE
 #include "cpdestinationgroupTraces.h"
@@ -63,14 +68,16 @@
     @param[in] itemDataHelper Helper for connecting signals and slots.
  */
 CpDestinationGroup::CpDestinationGroup(CpItemDataHelper &itemDataHelper) :
-    CpSettingFormItemData(HbDataFormModelItem::GroupItem, 
+    CpSettingFormItemData(
+        HbDataFormModelItem::GroupItem, 
         hbTrId("txt_occ_subhead_destinations_access_points")),
-   mItemDataHelper(&itemDataHelper),
-   mUncategorisedShown(false)
+    mItemDataHelper(&itemDataHelper),
+    mUncategorisedShown(false),
+    mCmManager(new CmManagerShim()),
+    mBearerPlugins(new QList<CpBearerApPluginInterface *>())
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_CPDESTINATIONGROUP_ENTRY);
-    mCmManager = new CmManagerShim();
-    mBearerPlugins = new QList<CpBearerApPluginInterface *>();
+    
     this->loadBearerPlugins();
     
     QList<QSharedPointer<CmDestinationShim> > destinationList;
@@ -90,10 +97,11 @@
         destDataItem->setDestinationName(destinationList.at(i)->name());
         HbIcon destIcon(resolveDestinationIcon(destinationList.at(i)));
         destDataItem->setEntryItemIcon(destIcon);
-        bool connected = connect(destDataItem, 
-                                 SIGNAL(destChanged()), 
-                                 this, 
-                                 SLOT(updateDestinationInformation()));
+        bool connected = connect(
+            destDataItem, 
+            SIGNAL(destChanged()), 
+            this, 
+            SLOT(updateDestinationInformation()));
         Q_ASSERT(connected);
         this->appendChild(destDataItem);
     }
@@ -102,9 +110,14 @@
     createUncategorisedDestination();
     
     // "Add Destination" button
-    CpSettingFormEntryItemData *addDest = new CpAddDestinationEntryItemData(itemDataHelper, this);
-    addDest->setContentWidgetData(QString("text"), hbTrId("txt_occ_button_add_destination"));
+    CpSettingFormEntryItemData *addDest = new CpAddDestinationEntryItemData(
+        itemDataHelper,
+        this);
+    addDest->setContentWidgetData(
+        QString("text"),
+        hbTrId("txt_occ_button_add_destination"));
     this->appendChild(addDest);
+
     OstTraceFunctionExit0(CPDESTINATIONGROUP_CPDESTINATIONGROUP_EXIT);
 }
 
@@ -114,8 +127,10 @@
 CpDestinationGroup::~CpDestinationGroup()
 {
     OstTraceFunctionEntry0(DUP1_CPDESTINATIONGROUP_CPDESTINATIONGROUP_ENTRY);
+    
     delete mBearerPlugins;
     delete mCmManager;
+    
     OstTraceFunctionExit0(DUP1_CPDESTINATIONGROUP_CPDESTINATIONGROUP_EXIT);
 }
 
@@ -123,25 +138,34 @@
     addDestination() creates new destination item to Destinations group item.
     The new destination is shown in the UI immediately.
  */
-void CpDestinationGroup::addDestination(const QString &dest, int destId)
+void CpDestinationGroup::addDestination(
+    const QString &name,
+    QSharedPointer<CmDestinationShim> dest)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_ADDDESTINATION_ENTRY);
     
     // Create UI item for new destination
     CpDestinationEntryItemData *destDataItem;
     destDataItem = new CpDestinationEntryItemData(*mItemDataHelper);
-    destDataItem->setContentWidgetData(QString("text"), dest);
+    destDataItem->setContentWidgetData(QString("text"), name);
     destDataItem->setContentWidgetData(
         QString("additionalText"), 
         hbTrId("txt_occ_dblist_internet_val_no_access_points"));
-    destDataItem->setDestinationId(destId);
-    destDataItem->setDestinationName(dest);
-    connect(destDataItem, SIGNAL(destChanged()), this, SLOT(updateDestinationInformation()));
+    destDataItem->setDestinationId(dest->id());
+    destDataItem->setDestinationName(name);
+    HbIcon destIcon(resolveDestinationIcon(dest));
+    destDataItem->setEntryItemIcon(destIcon);
+    connect(
+        destDataItem,
+        SIGNAL(destChanged()),
+        this,
+        SLOT(updateDestinationInformation()));
     
     // Insert Child to correct position
     QList<QSharedPointer<CmDestinationShim> > destinationList;
     fetchDestinations(destinationList);
     insertChild(destinationList.count() - 1, destDataItem);
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_ADDDESTINATION_EXIT);
 }
 
@@ -151,6 +175,7 @@
 void CpDestinationGroup::deleteDestination(int destId)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_DELETEDESTINATION_ENTRY);
+    
     // "Add Destination" child is removed from count (childCount() -1)
     for (int i = 0; i < this->childCount() - 1; i++) { 
         CpDestinationEntryItemData  *destDataItem = 
@@ -166,6 +191,7 @@
             }
         }
     }
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_DELETEDESTINATION_EXIT);
 }
 
@@ -179,6 +205,7 @@
 CpBearerApPluginInterface *CpDestinationGroup::findBearerPlugin(int apId)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_FINDBEARERPLUGIN_ENTRY);
+    
     CpBearerApPluginInterface *retVal = NULL;
     try {
         CmConnectionMethodShim *cm = mCmManager->connectionMethod(apId);
@@ -193,9 +220,13 @@
         delete cm;
     }
     catch (const std::exception&) {
-        OstTrace0(TRACE_NORMAL, CPDESTINATIONGROUP_FINDBEARERPLUGIN, "CpDestinationGroup::findBearerPlugin: Exception caught");
+        OstTrace0(
+            TRACE_NORMAL,
+            CPDESTINATIONGROUP_FINDBEARERPLUGIN,
+            "CpDestinationGroup::findBearerPlugin: Exception caught");
         // Let return value be NULL.
     }
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_FINDBEARERPLUGIN_EXIT);
     return retVal;
 }
@@ -207,10 +238,11 @@
 void CpDestinationGroup::updateDestinationInformation()
 {
 	OstTraceFunctionEntry0(CPDESTINATIONGROUP_UPDATEDESTINATIONINFORMATION_ENTRY);
+	
 	// "Add Destination" child is removed from count (childCount() -1)
     for (int i = 0; i < childCount() - 1; i++) {
         CpDestinationEntryItemData  *destDataItem = 
-                static_cast<CpDestinationEntryItemData*>(this->childAt(i));
+            static_cast<CpDestinationEntryItemData*>(this->childAt(i));
         
         if (destDataItem->destinationId() == 0) {
             // Uncategrised Iaps
@@ -228,6 +260,7 @@
         destDataItem->setContentWidgetData(QString("additionalText"), iapCount);
         destDataItem->setContentWidgetData(QString("text"), destDataItem->destinationName());
     }
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_UPDATEDESTINATIONINFORMATION_EXIT);
 }
 
@@ -238,6 +271,7 @@
 void CpDestinationGroup::createUncategorisedDestination()
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_CREATEUNCATEGORISEDDESTINATION_ENTRY);
+    
     QList<uint> apList;
     mCmManager->connectionMethod(apList);
     if (apList.count() > 0) {
@@ -263,6 +297,7 @@
         insertChild(destinationList.count(), destDataItem);
         mUncategorisedShown = true;
     }
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_CREATEUNCATEGORISEDDESTINATION_EXIT);
 }
 
@@ -274,6 +309,7 @@
     QList<QSharedPointer<CmDestinationShim> > &destinationList)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_FETCHDESTINATIONS_ENTRY);
+    
     try {
         QList<uint> destArray;
         mCmManager->allDestinations(destArray);
@@ -288,8 +324,12 @@
             }
         }
     } catch (const std::exception&) {
-        OstTrace0(TRACE_NORMAL, CPDESTINATIONGROUP_FETCHDESTINATIONS, "CpDestinationGroup::fetchDestinations: exception caught, Reading destinations");
+        OstTrace0(
+            TRACE_NORMAL,
+            CPDESTINATIONGROUP_FETCHDESTINATIONS,
+            "CpDestinationGroup::fetchDestinations: exception caught, Reading destinations");
     }
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_FETCHDESTINATIONS_EXIT);
 }
 
@@ -301,17 +341,19 @@
 void CpDestinationGroup::loadBearerPlugins()
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_LOADBEARERPLUGINS_ENTRY);
+    
     // Load bearer plugins
     QDir pluginsDir("\\resource\\qt\\plugins\\controlpanel\\bearerap");
     foreach (QString fileName, pluginsDir.entryList(QDir::Files)) {
         
         QPluginLoader loader(pluginsDir.absoluteFilePath(fileName));
         CpBearerApPluginInterface *plugin = 
-                qobject_cast<CpBearerApPluginInterface *>(loader.instance());
+            qobject_cast<CpBearerApPluginInterface *>(loader.instance());
         if (plugin) {
             mBearerPlugins->append(plugin);
         }
-    } 
+    }
+    
     OstTraceFunctionExit0(CPDESTINATIONGROUP_LOADBEARERPLUGINS_EXIT);
 }
 
@@ -323,6 +365,7 @@
 QString CpDestinationGroup::getDestinationAdditionalText(QSharedPointer<CmDestinationShim> destination)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT_ENTRY);
+    
     QString result = "";
     int iapCount = destination->connectionMethodCount();
     int counter = 0;
@@ -340,6 +383,7 @@
     } else {
         result = hbTrId("txt_occ_dblist_internet_val_no_access_points");
     }
+    
     OstTrace0(TRACE_FLOW, CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT_EXIT, "Exit");
     return result;
 }
@@ -352,6 +396,7 @@
 QString CpDestinationGroup::getDestinationAdditionalText(int destinationId)
 {
     OstTraceFunctionEntry0(CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT2_ENTRY);
+    
     QString result = "";
     int iapCount = 0;
     int counter = 0;
@@ -386,6 +431,7 @@
     } else {
         result = hbTrId("txt_occ_dblist_internet_val_no_access_points");
     }
+    
     OstTrace0(TRACE_FLOW, CPDESTINATIONGROUP_GETDESTINATIONADDITIONALTEXT2_EXIT, "Exit");
     return result;
 }
@@ -406,20 +452,25 @@
             case CMManagerShim::SnapPurposeInternet:
                 result = "qtg_small_internet";
                 break;
+                
             case CMManagerShim::SnapPurposeIntranet:
                 result = "qtg_small_intranet";
                 break;
+                
             case CMManagerShim::SnapPurposeMMS:
                 result = "qtg_small_mms";
                 break;
+                
             case CMManagerShim::SnapPurposeOperator:
                 result = "qtg_small_operator";
                 break;
+                
             default:
                 // CMManagerShim::SnapPurposeUnknown
                 result = "qtg_small_favorite";
                 break;
         }
     }
+    
     return result;
 }
--- a/cmmanager/cpdestinationplugin/src/cpiapitem.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/cmmanager/cpdestinationplugin/src/cpiapitem.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -28,6 +28,7 @@
 #include <HbDataFormViewItem>
 #include <HbDataForm>
 #include <HbDataFormModel>
+#include <HbParameterLengthLimiter>
 #include <cpbasesettingview.h>
 #include <cpsettingformitemdata.h>
 #include <cpsettingformentryitemdata.h>
@@ -172,7 +173,8 @@
     HbMessageBox *note = new HbMessageBox(HbMessageBox::MessageTypeQuestion);
     note->clearActions();
     note->setAttribute(Qt::WA_DeleteOnClose);
-    note->setText(hbTrId("txt_occ_info_delete_access_point_1").arg(mIapName));
+    note->setText(HbParameterLengthLimiter(
+        "txt_occ_info_delete_access_point_1").arg(mIapName));
     HbAction *primaryAction = new HbAction(hbTrId("txt_common_button_yes"));
     bool connected = connect(
         primaryAction, 
--- a/connectionmonitoring/connectionmonitorui/ROM/ConnectionMonitorUi.iby	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  IBY file for ConnectionMonitorUi application
- *
-*/
-
- 
-#ifndef __CONNECTIONMONITORUI_IBY__
-#define __CONNECTIONMONITORUI_IBY__
-
-S60_APP_EXE(ConnectionMonitorUi)
-S60_APP_BITMAP(ConnectionMonitorUi)
-S60_APP_AIF_ICONS(ConnectionMonitorUi)
-S60_APP_AIF_RSC(ConnectionMonitorUi)
-
-#endif	// __CONNECTIONMONITORUI_IBY__
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/ROM/ConnectionMonitorUiResources.iby	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  IBY file for those parts of ConnectionMonitorUi that needs localization
- *
-*/
-
-
-#ifndef __CONNECTIONMONITORUIRESOURCES_IBY__
-#define __CONNECTIONMONITORUIRESOURCES_IBY__
-
-S60_APP_RESOURCE(ConnectionMonitorUi)
-S60_APP_CAPTION(ConnectionMonitorUi)
-
-#endif	// __CONNECTIONMONITORUIRESOURCES_IBY__
-
-// End of File
-
--- a/connectionmonitoring/connectionmonitorui/aif/ConnectionMonitorUiaif.rss	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*     
-*
-*/
-
-
-#include <aiftool.rh>
-
-RESOURCE AIF_DATA
-    {
-    app_uid=0x101F84D0;
-    num_icons=2;
-    embeddability=KAppNotEmbeddable;
-    newfile=KAppDoesNotSupportNewFile;
-    }
-
-// End of File
Binary file connectionmonitoring/connectionmonitorui/aif/context_pane_icon.bmp has changed
Binary file connectionmonitoring/connectionmonitorui/aif/context_pane_icon_mask.bmp has changed
Binary file connectionmonitoring/connectionmonitorui/aif/list_icon.bmp has changed
Binary file connectionmonitoring/connectionmonitorui/aif/list_icon_mask.bmp has changed
--- a/connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi.rss	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,422 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*     This file contains all the resources for the ConnectionMonitorUi.
-*
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    CMUI // 4 letter ID
-//
-//  INCLUDES
-
-#include <connectionmonitorui.loc>
-#include <eikon.rh>
-#include "ConnectionMonitorUi.hrh"
-#include <ConnectionMonitorUi.mbg>
-#include <avkon.rsg>
-#include <avkon.rh>
-#include <avkon.mbg>
-#include <avkon.hrh>
-#include <avkon.loc>
-
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-
-//  CONSTANTS
-//#define ?constant   ?value
-
-//  MACROS
-//#define ?macro
-
-//  RESOURCE DEFINITIONS
-
-RESOURCE RSS_SIGNATURE { }
-
-RESOURCE TBUF { buf="ConnectionMonitorUi"; }
-
-RESOURCE EIK_APP_INFO
-    {
-    status_pane = r_connmonui_status_pane;
-    }
-
-RESOURCE STATUS_PANE_APP_MODEL r_connmonui_status_pane
-    {
-    panes =
-        {
-        SPANE_PANE
-            {
-            id = EEikStatusPaneUidTitle;
-            type = EAknCtTitlePane;
-            resource = r_connmonui_title_pane;
-            }
-        };
-    }
-
-RESOURCE TITLE_PANE r_connmonui_title_pane
-    {
-    txt = qtn_cmon_title;
-    }
-
-RESOURCE TBUF r_qtn_cmon_no_active_connections { buf=qtn_cmon_no_active_connections; }
-RESOURCE TBUF r_qtn_cmon_navi_one_active_conn   { buf=qtn_cmon_navi_one_active_conn; }
-RESOURCE TBUF r_qtn_cmon_navi_many_active_conns { buf=qtn_cmon_navi_many_active_conns; }
-
-RESOURCE TBUF r_qtn_set_bearer_data_call    { buf=qtn_set_bearer_data_call; }
-RESOURCE TBUF r_qtn_set_bearer_packet_data  { buf=qtn_set_bearer_packet_data; }
-RESOURCE TBUF r_qtn_cmon_bearer_hscsd       { buf=qtn_cmon_bearer_hscsd; }
-RESOURCE TBUF r_qtn_wlan_sett_bearer_wlan   { buf=qtn_wlan_sett_bearer_wlan; }
-
-
-RESOURCE TBUF r_qtn_cmon_heading_conn_name { buf=qtn_cmon_heading_conn_name; }
-RESOURCE TBUF r_qtn_cmon_heading_bearer { buf=qtn_cmon_heading_bearer; }
-RESOURCE TBUF r_qtn_cmon_heading_status { buf=qtn_cmon_heading_status; }
-RESOURCE TBUF r_qtn_cmon_heading_data_total { buf=qtn_cmon_heading_data_total; }
-RESOURCE TBUF r_qtn_cmon_heading_data_received { buf=qtn_cmon_heading_data_received; }
-RESOURCE TBUF r_qtn_cmon_heading_data_sent { buf=qtn_cmon_heading_data_sent; }
-RESOURCE TBUF r_qtn_cmon_heading_duration { buf=qtn_cmon_heading_duration; }
-RESOURCE TBUF r_qtn_cmon_heading_speed { buf=qtn_cmon_heading_speed; }
-RESOURCE TBUF r_qtn_cmon_heading_csd_number { buf=qtn_cmon_heading_csd_number; }
-RESOURCE TBUF r_qtn_cmon_heading_gprs_apn { buf=qtn_cmon_heading_gprs_apn; }
-RESOURCE TBUF r_qtn_cmon_heading_sharing_info { buf=qtn_cmon_heading_sharing_info; }
-
-RESOURCE TBUF r_qtn_cmon_status_creating { buf=qtn_cmon_status_creating; }
-RESOURCE TBUF r_qtn_cmon_status_idle { buf=qtn_cmon_status_idle; }
-RESOURCE TBUF r_qtn_cmon_status_active { buf=qtn_cmon_status_active; }
-RESOURCE TBUF r_qtn_cmon_status_suspended { buf=qtn_cmon_status_suspended; }
-RESOURCE TBUF r_qtn_cmon_status_closing { buf=qtn_cmon_status_closing; }
-RESOURCE TBUF r_qtn_cmon_status_closed { buf=qtn_cmon_status_closed; }
-
-RESOURCE TBUF r_qtn_cmon_status_details_creating { buf=qtn_cmon_status_details_creating; }
-RESOURCE TBUF r_qtn_cmon_status_details_idle { buf=qtn_cmon_status_details_idle; }
-RESOURCE TBUF r_qtn_cmon_status_details_active { buf=qtn_cmon_status_details_active; }
-RESOURCE TBUF r_qtn_cmon_status_details_suspended { buf=qtn_cmon_status_details_suspended; }
-RESOURCE TBUF r_qtn_cmon_status_details_closing { buf=qtn_cmon_status_details_closing; }
-RESOURCE TBUF r_qtn_cmon_status_details_closed { buf=qtn_cmon_status_details_closed; }
-
-RESOURCE TBUF r_qtn_log_gprs_amount_b { buf=qtn_log_gprs_amount_b; }
-RESOURCE TBUF r_qtn_log_gprs_amount_kb { buf=qtn_log_gprs_amount_kb; }
-RESOURCE TBUF r_qtn_log_gprs_amount_mb { buf=qtn_log_gprs_amount_mb; }
-RESOURCE TBUF r_qtn_log_gprs_amount_gb { buf=qtn_log_gprs_amount_gb; }
-
-RESOURCE TBUF r_qtn_cmon_data_transf_rate_dl { buf=qtn_cmon_data_transf_rate_dl; }
-RESOURCE TBUF r_qtn_cmon_data_transf_rate_ul { buf=qtn_cmon_data_transf_rate_ul; }
-
-RESOURCE TBUF r_qtn_cmon_ul_dl_data_amounts { buf=qtn_cmon_ul_dl_data_amounts; }
-RESOURCE TBUF r_qtn_cmon_navi_nof_connection { buf=qtn_cmon_navi_nof_connection; }
-
-RESOURCE TBUF r_text_calc_decimal_separator { buf=text_calc_decimal_separator; }
-
-RESOURCE TBUF r_qtn_cmon_item_conn_name_modem { buf=qtn_cmon_item_conn_name_modem; }
-
-RESOURCE TBUF r_qtn_cmon_conf_end_single_conn { buf=qtn_cmon_conf_end_single_conn; }
-RESOURCE TBUF r_qtn_cmon_conf_end_all_conns { buf=qtn_cmon_conf_end_all_conns; }
-RESOURCE TBUF r_qtn_cmon_conf_end_modem_conn { buf=qtn_cmon_conf_end_modem_conn; }
-RESOURCE TBUF r_qtn_cmon_duration_over_24h { buf=qtn_cmon_duration_over_24h; }
-RESOURCE TBUF r_qtn_cmon_info_conn_already_end { buf=qtn_cmon_info_conn_already_end; }
-
-RESOURCE TBUF r_qtn_cmon_wlan_singal_strength_low { buf=qtn_cmon_wlan_singal_strength_low; }
-RESOURCE TBUF r_qtn_cmon_wlan_singal_strength_medium { buf=qtn_cmon_wlan_singal_strength_medium; }
-RESOURCE TBUF r_qtn_cmon_wlan_singal_strength_good { buf=qtn_cmon_wlan_singal_strength_good; }
-RESOURCE TBUF r_qtn_cmon_wlan_signal_strength_no_signal
-                            { buf=qtn_cmon_wlan_signal_strength_no_signal; }
-
-RESOURCE TBUF r_qtn_cmon_wlan_newtwork_mode_adhoc { buf=qtn_cmon_wlan_newtwork_mode_adhoc; }
-RESOURCE TBUF r_qtn_cmon_wlan_newtwork_mode_infra { buf=qtn_cmon_wlan_newtwork_mode_infra; }
-
-RESOURCE TBUF r_qtn_cmon_wlan_security_mode_open { buf=qtn_cmon_wlan_security_mode_open; }
-RESOURCE TBUF r_qtn_cmon_wlan_security_mode_wep { buf=qtn_cmon_wlan_security_mode_wep; }
-RESOURCE TBUF r_qtn_cmon_wlan_security_mode_802_1x { buf=qtn_cmon_wlan_security_mode_802_1x; }
-RESOURCE TBUF r_qtn_cmon_wlan_security_mode_wpa { buf=qtn_cmon_wlan_security_mode_wpa; }
-
-RESOURCE TBUF r_qtn_cmon_wlan_tx_power_level { buf=qtn_cmon_wlan_tx_power_level; }
-
-RESOURCE TBUF r_qtn_cmon_heading_wlan_network_name { buf=qtn_cmon_heading_wlan_network_name; }
-RESOURCE TBUF r_qtn_cmon_heading_wlan_signal_strength
-                            { buf=qtn_cmon_heading_wlan_signal_strength; }
-RESOURCE TBUF r_qtn_cmon_heading_wlan_network_mode { buf=qtn_cmon_heading_wlan_network_mode; }
-RESOURCE TBUF r_qtn_cmon_heading_wlan_security_mode { buf=qtn_cmon_heading_wlan_security_mode; }
-RESOURCE TBUF r_qtn_cmon_heading_wlan_tx_power { buf=qtn_cmon_heading_wlan_tx_power; }
-
-RESOURCE TBUF r_qtn_cmon_parameter_unavailable { buf=qtn_cmon_parameter_unavailable; }
-
-RESOURCE TBUF r_qtn_cmon_sharing_app_msg_server { buf=qtn_cmon_sharing_app_msg_server; }
-RESOURCE TBUF r_qtn_cmon_sharing_app_dl_mg { buf=qtn_cmon_sharing_app_dl_mg; }
-RESOURCE TBUF r_qtn_cmon_sharing_app_rss_server { buf=qtn_cmon_sharing_app_rss_server; }
-RESOURCE TBUF r_qtn_cmon_sharing_app_java_midlet { buf=qtn_cmon_sharing_app_java_midlet; }
-RESOURCE TBUF r_qtn_cmon_sharing_app_unknown { buf=qtn_cmon_sharing_app_unknown; }
-RESOURCE TBUF r_qtn_cmon_sharing_app_supl { buf=qtn_cmon_sharing_app_supl; }
-
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_title
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_connectionmonitorui_title
-    {
-    buf = qtn_cmon_title_active_conns;
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_hotkeys
-//
-//----------------------------------------------------
-//
-RESOURCE HOTKEYS r_connectionmonitorui_hotkeys
-    {
-    control=
-        {
-        HOTKEY { command=EAknCmdExit; key='e'; }
-        };
-    }
-
-#ifdef RD_CONTROL_PANEL
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_view_buttons
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_cp_connectionmonitorui_view_buttons
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_back;},
-        CBA_BUTTON {id=EAknSoftkeyDetails; txt=qtn_msk_cmon_details;}
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_view
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_cp_connectionmonitorui_view
-    {
-      hotkeys=r_connectionmonitorui_hotkeys;
-      menubar=r_connectionmonitorui_menubar_view;
-      cba=r_cp_connectionmonitorui_view_buttons;
-    }
-
-#endif // RD_CONTROL_PANEL
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_view_buttons
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_connectionmonitorui_view_buttons
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
-        CBA_BUTTON {id=EAknSoftkeyExit; txt=text_softkey_exit;},
-        CBA_BUTTON {id=EAknSoftkeyDetails; txt=qtn_msk_cmon_details;}
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_view
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_connectionmonitorui_view
-    {
-      hotkeys=r_connectionmonitorui_hotkeys;
-      menubar=r_connectionmonitorui_menubar_view;
-      cba=r_connectionmonitorui_view_buttons;
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_menubar_view
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_BAR r_connectionmonitorui_menubar_view
-    {
-    titles=
-        {
-        MENU_TITLE { menu_pane=r_connectionmonitorui_app_menu; txt="App"; },
-        MENU_TITLE { menu_pane=r_connectionmonitorui_view_menu; txt="View"; }
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_view_menu
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_connectionmonitorui_view_menu
-    {
-    items=
-        {
-        MENU_ITEM { command=EConnectionMonitorUiCmdAppDetails;
-                                txt = qtn_cmon_list_options_details;  flags = EEikMenuItemSpecific;},
-        MENU_ITEM { command=EConnectionMonitorUiCmdAppEndConn;
-                                txt = qtn_cmon_list_options_end_conn; flags = EEikMenuItemSpecific;},
-        MENU_ITEM { command=EConnectionMonitorUiCmdAppEndAll;
-                                txt = qtn_cmon_list_options_end_all; }
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_detailsview
-//
-//----------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_connectionmonitorui_detailsview
-    {
-    hotkeys=r_connectionmonitorui_hotkeys;
-    cba=R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_app_menu
-//
-//----------------------------------------------------
-//
-RESOURCE MENU_PANE r_connectionmonitorui_app_menu
-    {
-    items=
-        {
-        MENU_ITEM { command=EAknCmdHelp; txt = qtn_options_help; },
-        MENU_ITEM { command=EAknCmdExit; txt=qtn_options_exit; }
-        };
-    }
-
-// ICONARRAYS
-
-RESOURCE AKN_ICON_ARRAY r_listbox_icons
-    {
-    bmpfile = APP_BITMAP_DIR"\\ConnectionMonitorUi.mbm";
-    icons =
-        {
-        AKN_ICON
-            {
-            iconId = EMbmConnectionmonitoruiQgn_prop_wml_gprs;
-            maskId = EMbmConnectionmonitoruiQgn_prop_wml_gprs_mask;
-            },
-        AKN_ICON
-            {
-            iconId = EMbmConnectionmonitoruiQgn_prop_wml_csd;
-            maskId = EMbmConnectionmonitoruiQgn_prop_wml_csd_mask;
-            },
-        AKN_ICON
-            {
-            iconId = EMbmConnectionmonitoruiQgn_prop_wml_hscsd;
-            maskId = EMbmConnectionmonitoruiQgn_prop_wml_hscsd_mask;
-            },
-        AKN_ICON
-            {
-            iconId = EMbmConnectionmonitoruiQgn_prop_cmon_gprs_suspended;
-            maskId = EMbmConnectionmonitoruiQgn_prop_cmon_gprs_suspended_mask;
-            }
-        };
-    }
-
-RESOURCE TBUF r_qtn_appl_option_item { buf=qtn_appl_option_item; }
-
-RESOURCE DIALOG r_end_conn_confirmation_query
-    {
-    flags=EGeneralQueryFlags;
-    buttons=R_AVKON_SOFTKEYS_YES_NO__YES;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id = EGeneralQuery;
-            control= AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_qtn_cmon_connection_summary_note_text
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_cmon_connection_summary_note_text { buf =
-    qtn_cmon_summary_heading"\n"qtn_cmon_summary_transferred"\n%0U\n"qtn_cmon_summary_duration"\n%1U"; }
-
-//----------------------------------------------------
-//
-//    r_qtn_cmon_connection_summary_note
-//
-//----------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_cmon_connection_summary_note
-    {
-    flags = EAknInformationNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_EMPTY;
-    items=
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EGeneralNote;
-            control= AVKON_NOTE
-                {
-                layout = ETextualNotificationLayout;
-                singular_label = "";
-                plural_label = "";
-                };
-            }
-        };
-    }
-
-//----------------------------------------------------
-//
-//    r_connectionmonitorui_localisable_app_info
-//
-//----------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_connectionmonitorui_localisable_app_info
-    {
-    short_caption = qtn_apps_cmon_grid;
-    caption_and_icon =
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_apps_cmon_list;
-#ifdef __SCALABLE_ICONS
-        number_of_icons = 1;
-        icon_file = "Z:"APP_BITMAP_DIR"\\connectionmonitorui_aif.mif";
-#else
-        number_of_icons = 2;
-        icon_file =  "Z:"APP_BITMAP_DIR"\\connectionmonitorui_aif.mbm";
-#endif
-        };
-    }
-
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_caption.rss	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*     Caption file for ConnectionMonitorUi.
-*
-*
-*/
-
-
-#include <ConnectionMonitorUi.loc>
-#include <apcaptionfile.rh>
-
-RESOURCE CAPTION_DATA
-    {
-    caption=qtn_apps_cmon_list;
-    shortcaption=qtn_apps_cmon_grid;
-    }
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/data/ConnectionMonitorUi_reg.rss	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:
-*
-*/
-
-
-#include <appinfo.rh>
-#include <connectionmonitorui.rsg>
-#include <data_caging_paths_strings.hrh>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x101F84D0 // Define your application UID here
-
-RESOURCE APP_REGISTRATION_INFO
-    {
-    app_file = "ConnectionMonitorUi";
-
-    localisable_resource_file = APP_RESOURCE_DIR"\\ConnectionMonitorUi";
-    localisable_resource_id = R_CONNECTIONMONITORUI_LOCALISABLE_APP_INFO;
-    embeddability = KAppNotEmbeddable;
-    newfile = KAppDoesNotSupportNewFile;
-
-    }
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/group/ConnectionMonitorUI.mmp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*     This is the project specification file for ConnectionMonitorUi.
-*     
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET        ConnectionMonitorUi.exe
-TARGETTYPE    exe
-
-
-UID  0x100039CE 0x101F84D0
-
-CAPABILITY   CAP_APPLICATION NetworkControl ProtServ
-
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE  ConnectionMonitorUiApp.cpp 
-SOURCE  ConnectionMonitorUiAppUi.cpp
-SOURCE  ConnectionMonitorUiDocument.cpp
-SOURCE  ConnectionMonitorUiContainer.cpp
-SOURCE  ConnectionMonitorUiView.cpp
-SOURCE  ConnectionMonitorUiDetailsView.cpp
-SOURCE  ConnectionMonitorUiDetailsContainer.cpp
-SOURCE  ConnectionInfoBase.cpp
-SOURCE  CsdConnectionInfo.cpp
-SOURCE  GprsConnectionInfo.cpp
-SOURCE  ConnectionArray.cpp
-SOURCE  FeatureManagerWrapper.cpp
-SOURCE  WlanConnectionInfo.cpp
-SOURCE  EasyWLANConnectionInfo.cpp
-SOURCE  ActiveWrapper.cpp
-
-
-START RESOURCE ../data/ConnectionMonitorUi.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END  // RESOURCE
-
-// Component specific internal headers 
-USERINCLUDE			../inc
-
-// ADO-SUBSYSTEM specific internal headers 
-SYSTEMINCLUDE		../../inc
-
-// ADO specific internal headers 
-SYSTEMINCLUDE		../../../inc
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
-APP_LAYER_SYSTEMINCLUDE
-#endif
-
-
-SYSTEMINCLUDE   /epoc32/include/libc
-
-
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib 
-LIBRARY eikcoctl.lib
-LIBRARY avkon.lib
-LIBRARY eikctl.lib
-LIBRARY	bafl.lib
-LIBRARY commonengine.lib
-LIBRARY	connmon.lib
-LIBRARY	estlib.lib
-LIBRARY egul.lib 
-LIBRARY apgrfx.lib
-LIBRARY hlplch.lib
-LIBRARY AknSkins.lib 
-LIBRARY AKNNOTIFY.LIB
-LIBRARY FeatMgr.lib
-LIBRARY commsdat.lib
-LIBRARY cmmanager.lib
-
-DEBUGLIBRARY flogger.lib
-DEBUGLIBRARY efsrv.lib
-
-
-epocstacksize 0x5000
-
-// DEFFILE ?filename
-
-
-START RESOURCE ../data/ConnectionMonitorUi_reg.rss
-DEPENDS connectionmonitorui.rsg
-// Do not change the UID below.
-TARGETPATH /private/10003a3f/apps
-END
-
-
--- a/connectionmonitoring/connectionmonitorui/group/bld.inf	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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: 
-*     
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-// Help exports
-#include "../help/group/bld.inf"
-
-PRJ_EXPORTS
-// export iby files
-../ROM/ConnectionMonitorUi.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(ConnectionMonitorUi.iby)
-../ROM/ConnectionMonitorUiResources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(ConnectionMonitorUiResources.iby)
-
-// export localised loc file
-../loc/connectionmonitorui.loc	MW_LAYER_LOC_EXPORT_PATH(connectionmonitorui.loc)
-
-PRJ_MMPFILES
-./ConnectionMonitorUI.mmp
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-OPTION TARGETFILE ConnectionMonitorUi.mif
-OPTION HEADERFILE ConnectionMonitorUi.mbg
-OPTION SOURCES -c8,1 qgn_prop_wml_gprs.bmp \
-               -c8,1 qgn_prop_wml_csd.bmp \
-               -c8,1 qgn_prop_wml_hscsd.bmp \
-               -c8,1 qgn_prop_empty.bmp \
-               -c8,1 qgn_prop_cmon_gprs_suspended.bmp \
-               -c8,8 qgn_prop_cmon_conn_active.bmp \
-               -c8,8 qgn_prop_cmon_wlan_avail.bmp \
-               -c8,1 qgn_prop_wlan_bearer.bmp \
-               -c8,1 qgn_prop_cmon_wlan_conn.bmp \
-               -c8,1 qgn_indi_wlan_signal_low_add.bmp \
-               -c8,1 qgn_indi_wlan_signal_med_add.bmp \
-               -c8,1 qgn_indi_wlan_signal_good_add.bmp \
-               -c8,1 qgn_indi_wlan_secure_network_add.bmp
-END
-
-PRJ_EXTENSIONS
-START EXTENSION s60/mifconv
-  OPTION TARGETFILE ConnectionMonitorUi_aif.mif
-  OPTION SOURCES -c8,8 qgn_prop_cp_conn_man.bmp
-END
-
-//PRJ_TESTMMPFILES
\ No newline at end of file
Binary file connectionmonitoring/connectionmonitorui/help/data/xhtml.zip has changed
--- a/connectionmonitoring/connectionmonitorui/help/group/bld.inf	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* 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 "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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/cmon.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/cmon.hlp.hrh)
-../rom/connectionmonitoruihelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(connectionmonitoruihelps_variant.iby)
--- a/connectionmonitoring/connectionmonitorui/help/inc/cmon.hlp.hrh	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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 "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:
-*
-*/
-	
-//
-// cmon.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __CMON_HLP_HRH__
-#define __CMON_HLP_HRH__
-
-_LIT(KCMON_HLP_CMON_MAIN_VIEW, "CMON_HLP_CMON_MAIN_VIEW"); // 
-_LIT(KCMON_HLP_CMON_WLAN_VIEW, "CMON_HLP_CMON_WLAN_VIEW"); // 
-
-#endif 
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/help/rom/connectionmonitoruihelps_variant.iby	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  IBY file for ConnectionMonitorUi helps
- *
-*/
-
-
-#ifndef __CONNECTIONMONITORUIHELPS_VARIANT_IBY__
-#define __CONNECTIONMONITORUIHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F84D0\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x101F84D0\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F84D0\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F84D0\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F84D0\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F84D0\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x101F84D0\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x101F84D0\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/inc/ActiveWrapper.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  CActiveWrapper header file
-*
-*/
-
-
-#ifndef __ACTIVE_WRAPPER_H__
-#define __ACTIVE_WRAPPER_H__
-
-//  INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-
-// CONSTANTS
-
-// CLASS DECLARATION
-
-/**
-*  Definition of CActiveWrapper
-*
-*  @since S60 v3.2
-*/
-NONSHARABLE_CLASS( CActiveWrapper ) : public CActive
-    {
-    public:  // Constructors and destructor
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CActiveWrapper* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CActiveWrapper();
-
-    public: // New functions
-
-        /**
-        * Starts the active object and gets the value for a string attribute.
-        * @param aConnectionId Connection id.
-        * @param aConnectionMonitor RConnectionMonitor
-        * @param aAttribute Identifies the attribute to be retrived.
-        * @param aValue On completion, contains the requested string.
-        */
-        void StartGetStringAttribute( TInt const aConnectionId, 
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TUint const aAttribute,
-                            TDes& aValue );
-
-        /**
-        * Starts the active object and gets the value for a TInt attribute.
-        * @param aConnectionId Connection id.
-        * @param aConnectionMonitor RConnectionMonitor
-        * @param aAttribute Identifies the attribute to be retrived.
-        * @param aValue On completion, contains the requested TInt attribute.
-        */
-        void StartGetIntAttribute( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TUint const aAttribute,
-                            TInt& aValue );
-
-        /**
-        * Starts the active object and gets the value for a TUint attribute.
-        * @param aConnectionId Connection id.
-        * @param aConnectionMonitor RConnectionMonitor
-        * @param aAttribute Identifies the attribute to be retrived.
-        * @param aValue On completion, contains the requested TUint attribute.
-        */
-        void StartGetUintAttribute( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TUint const aAttribute,
-                            TUint& aValue );
-
-        /**
-        * Starts the active object and gets the value for a packaged 
-        * attribute (TConnMonClientEnumBuf).
-        * @param aConnectionId Connection id.
-        * @param aConnectionMonitor RConnectionMonitor
-        * @param aValue On completion, contains the requested packaged attribute.
-        */
-        void StartGetConnSharings( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TConnMonClientEnumBuf& aValue );
-
-        /**
-        * Starts the active object and gets the value for a packaged 
-        * attribute (TConnMonTimeBuf).
-        * @param aConnectionId Connection id.
-        * @param aConnectionMonitor RConnectionMonitor
-        * @param aValue On completion, contains the requested packaged attribute.
-        */
-        void StartGetConnTime( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TConnMonTimeBuf& aValue );
-
-        /**
-        * Starts the active object and gets the value for a TInt attribute
-        * for the used Bearer type.
-        * @param aConnectionId Connection id.
-        * @param aConnectionMonitor RConnectionMonitor
-        * @param aAttribute Identifies the attribute to be retrived.
-        * @param aValue On completion, contains the requested TInt attribute.
-        */
-        void StartGetBearerType( TInt const aConnectionId,
-                            RConnectionMonitor& aConnectionMonitor,
-                            TUint const aAttribute,
-                            TInt& aValue );
-
-        /**
-        * Starts the active object and gathers information on 
-        * currently active connections.
-        * @param aConnectionCount On completion, contains the number of active connections.
-        * @param aConnectionMonitor RConnectionMonitor
-        */
-        void StartGetConnectionCount( TUint& aConnectionCount,
-                            RConnectionMonitor& aConnectionMonitor );
-                            
-    public: // Functions from base classes (CActive)
-
-        void DoCancel();
-        void RunL();
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CActiveWrapper();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-    private: // data
-        
-        /**
-        * Own: sync. helper in async. requests
-        */
-        CActiveSchedulerWait    iWait;
-    };
-
-#endif // __ACTIVE_WRAPPER_H__
-
-            
-// End of File
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionArray.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Contains and handles CConnectionInfo instances
-*     
-*
-*/
-
-
-#ifndef CONNECTIONARRAY_H_INCLUDED
-#define CONNECTIONARRAY_H_INCLUDED
-
-// INCLUDES
-#include    "ConnectionInfoBase.h"
-
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-/**
-* Contains and handles CConnectionInfo instances.
-*/
-class CConnectionArray : public CBase, public MDesCArray
-    {
-    public:
-        /**
-        * Constructor.
-        */
-        CConnectionArray();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CConnectionArray();
-
-        /**
-        * Contructs dynamic data members
-        */
-        virtual void ConstructL();
-   
-    public: // from MDesCArray
-        /** 
-        * Returns the number of descriptor elements in a descriptor array.
-        * @return The number of descriptor elements in a descriptor array. 
-        */
-        virtual TInt MdcaCount() const;
-
-        /** 
-        * Indexes into a descriptor array.    
-        * @param aIndex The position of the descriptor element within a 
-        * descriptor array. 
-        * The position is relative to zero; i.e. zero implies the first 
-        * descriptor element in a descriptor array. 
-        * @return A  non-modifiable pointer descriptor representing 
-        * the descriptor element located at position aIndex within a 
-        * descriptor array. 
-        */
-        virtual TPtrC MdcaPoint( TInt aIndex ) const;
-
-    public:
-    
-        /**
-        * Give back a copy of connectionarray. 
-        */
-        virtual CConnectionArray* DeepCopyL();
-    
-        /**
-        * Returns the index of the given connection
-        * @param aConnectionId connection id
-        * @return index value of connection in the array, or -1 if there
-        * is no connection the given Id
-        */
-        TInt GetArrayIndex( TUint aConnectionId ) const;
-
-        /**
-        * Returns the index of the given connection
-        * @param aConnection connection 
-        * @return index value of connection in the array, or -1 if there
-        * is no the given connection 
-        */
-        TInt GetArrayIndex( CConnectionInfoBase* aConnection ) const;
-
-        /**
-        * Add only new connection to the array
-        * @param aConnection the connection to be added to the array
-        */
-        void AppendL( CConnectionInfoBase* aConnection );
-
-        /**
-        * Delete connection from the array
-        * @param aConnectionId id of connection to be removed from the array
-        */
-        void Delete( TUint aConnectionId );
-
-        /**
-        * Delete connection from the array
-        * @param aConnection the connection to be removed from the array
-        */
-        void Delete( CConnectionInfoBase* aConnection );
-
-        /**
-        * Destroys the connection array
-        */
-        void Reset();
-
-        /**
-        * Returns info object of connection given by index value in the array
-        * @param aIndex index value of connection in the array
-        * @return CConnectionInfo* pointer to the connection info object
-        */
-        CConnectionInfoBase* operator[]( TUint aIndex ) const;
-        
-        /**
-        * Returns info object of connection given by index value in the array
-        * Checks the boundaries of array.
-        * @param aIndex index value of connection in the array
-        * @return CConnectionInfoBase* pointer to the connection info object if
-        * the given index is valid, NULL otherwise
-        */
-        CConnectionInfoBase* At( TInt aIndex ) const;
-        
-        /**
-        * Gives back the number of active connections (created or suspended)
-        * @return the number of active connections
-        */
-        TInt NumberOfActiveConnections() const;
-
-        /**
-        * Gives back the number of suspended connections
-        * @return the number of suspended connections
-        */
-        TInt NumberOfSuspendedConnections() const;
-
-    protected:
-        /**
-        * Contains the connections.
-        */
-        CArrayPtrFlat<CConnectionInfoBase>* iConnectionArray;   ///< Owned.
-    };
-
-#endif // CONNECTIONARRAY_H_INCLUDED
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionInfoBase.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,486 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a connection
-*     
-*
-*/
-
-
-#ifndef CONNECTIONINFOBASE_H_INCLUDED
-#define CONNECTIONINFOBASE_H_INCLUDED
-
-// INCLUDES
-#include    <rconnmon.h>
-#include    <stdlib.h>
-#include    <badesca.h>
-#include    <e32std.h>
-#include    <stdlib.h>
-
-// CONSTANTS
-LOCAL_D const TUint KConnectionListItemText = 64;
-LOCAL_D const TUint KDetailsListItemText = 64;
-
-_LIT( KConnectonListItemTextFormat, "%o\t%S\t%S" );
-_LIT( KDetailsListItemTextFormat, "%S\t%S" );  
-
-// FORWARD DECLARATIONS
-
-class CActiveWrapper;
-
-// CLASS DECLARATION
-
-enum TConnectionStatus
-    {
-    EConnectionUninitialized,
-    EConnectionCreating,
-    EConnectionCreated,
-    EConnectionSuspended,
-    EConnectionClosing,
-    EConnectionClosed
-    };
-
-/**
-* Order of icons in icon array of containers
-*/
-enum TIconsOrder
-    {
-    EGprs = 0,
-    ECsd,
-    EHscsd,
-    EEmpty,
-    ESuspended,
-    EWlan
-    };
-
-
-/**
-* Represents a connection.
-*/
-class CConnectionInfoBase : public CBase
-    {
-    public: // Constructors, Desturctor
-                
-        /**
-        * Destructor
-        */
-        virtual ~CConnectionInfoBase();
-
-    protected:
-        /**
-        * Constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aConnectionMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        CConnectionInfoBase( TInt aConnectionId,
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Second phase construction
-        */
-        void ConstructL();
-
-    public: // New functions
-    
-        /**
-        * Give back a copy of connection. 
-        */
-        virtual CConnectionInfoBase* DeepCopyL() = 0;
-    
-
-        /**
-        * Refresh required details of connection. 
-        */
-        virtual void RefreshDetailsL() = 0;
-
-        /**
-        * Refresh iListBoxItemText text, connection ListBox has a reference to
-        * this text.
-        */
-        virtual void RefreshConnectionListBoxItemTextL() = 0;
-
-        /**
-        * Refresh details array of connection. DetailsListBox has a reference
-        * to this array.
-        */
-        virtual void RefreshDetailsArrayL() = 0;
-
-        /**
-        * Called, if the status of connection is changed.
-        */ 
-        void StatusChangedL();
-
-        /**
-        * Gives back the connection is alive or not.
-        * @return ETrue if connection is created or suspended, 
-        * EFalse otherwise
-        */
-        TBool IsAlive() const;
-
-        /**
-        * Gives back the connection is suspended or not.
-        * @return ETrue if connection is suspended, 
-        * EFalse otherwise
-        */
-        TBool IsSuspended() const;
-                
-        /**
-        * @return ETrue if deletion of connection started form CMUI,
-        * EFalse otherwise
-        */
-        TBool GetDeletedFromCMUI() const;
-        
-        /**
-        * Sets status of connection to EConnectionClosing
-        */
-        void SetAllDeletedFromCMUI();        
-        
-        /**
-        * Sets iDeletedFromCMUI to ETrue, means dletion of connection
-        * was established from CMUI
-        */
-        void SetDeletedFromCMUI();        
-        
-        /**
-        * Gives back a pointer to the DetailsArray of connection.
-        * @return CDesCArraySeg* iDetailsArray of connection
-        */
-        CDesCArrayFlat* GetDetailsArray() const;
-
-        /**
-        * Gives back the id of connection
-        * @return the id of connection.
-        */
-        TUint GetConnectionId() const;
-
-        /**
-        * Gives back the icon id of connection 
-        * @return the icon id of connection 
-        */
-        virtual TUint GetIconId() const = 0;
-
-        /**
-        * Gives back the connection is EasyWLAN or not.
-        * @return ETrue if the selected conenction EasyWLAN,
-        * EFalse otherwise
-        */
-        virtual TBool IsEasyWLAN() const { return EFalse; };
-        
-        /**
-        * Gives back current Name of Network ( SSID )
-        * @return iNetworkName
-        */
-        virtual HBufC* GetWlanNetworkNameLC() const { return NULL; };
-
-        /**
-        * Gives back the status of connection 
-        * @return the status of connection 
-        */
-        TConnectionStatus GetStatus() const;
-
-        /**
-        * Refresh status of connection
-        * @param aConnectionStatus new status of connection
-        */
-        void RefreshConnectionStatus( 
-                                   const TInt aConnectionStatus );
-
-        /**
-        * Gives back the name of connection 
-        * @return the name of connection 
-        */
-        HBufC* GetNameLC() const;        
-        
-        /**
-        * Gives back the bearertype of connection 
-        * @return the bearertype of connection 
-        */
-        TConnMonBearerType GetBearerType() const;
-        
-        /**
-        * Gives back a pointer the iListBoxItemText of connection 
-        * @return the iListBoxItemText of connection 
-        */
-        TPtrC GetConnectionListBoxItemText() const;
-
-        /**
-        * Check if connection name is starts with "mRouter" string or not.
-        * ( if this connection is not IR/BT )
-        * @retrun ETrue if starts wiht "mRouter", EFalse otherwise.
-        */
-        TBool CheckMrouterIap();
-    
-    protected:
-        /**
-        * Creates a string for DetailsListBoxItem, title came from resource 
-        * and value from aValueText
-        * @param aResourceId a resource id
-        * @param aValueText the value of text
-        * @retrun  a string consist of resource and value text
-        */
-        HBufC*  ToDetailsListBoxItemTextL( const TUint aResourceId, 
-                                           const HBufC* aValueText ) const;
-
-        /**
-        * Creates a string for DetailsListBoxItem, title came from resource 
-        * and value from aValueText, and Appends to iDetailsArray
-        * @param aResourceId a resource id
-        * @param aValueText the value of text
-        */
-        void  ToDetailsListBoxItemTextWithAppendL( const TUint aResourceId, 
-                                                   const HBufC* aValueText );
-
-        /**
-        * Creates a string for DetailsListBoxItem, title came from resource 
-        * and value from aValueText, and Replaces the given element with it
-        * @param aResourceId a resource id
-        * @param aValueText the value of text
-        */
-        void  ToDetailsListBoxItemTextWithReplaceL( const TUint aResourceId, 
-                                                    const HBufC* aValueText,
-                                                    TInt aIndex );
-
-
-        /**
-        * Creates an array with requrired details of connection to
-        * the listbox which visulaize details of connection. This member
-        * is called at initialization.
-        */
-        virtual void ToArrayDetailsL() = 0;
-
-        /**
-        * Refresh status of connection
-        */
-        void RefreshConnectionStatus();
-
-        /**
-        * Refresh amount of sent and received data of connection
-        */
-        void RefreshSentReceivedDataL();
-
-        /**
-        * Refresh the value of transfer speeds (Up/Down) of connection
-        */
-        void RefreshTransferSpeedsL();
-                        
-        /**
-        * Refresh the duration of connection.
-        */
-        void RefreshDuration();
-        
-        /**
-        * Refresh the applications names which uses the connection
-        * @return the count of applications use connection 
-        *         (from the user point of view)
-        */
-        TInt RefreshAppNamesL();
-        
- 
-     public: // New functions        
-
-        /**
-        * Creates a string from bearer of connection
-        * @return string representation of bearer of connection.
-        */
-        HBufC* ToStringBearerLC() const;
-
-        /**
-        * Creates a string from status of connection
-        * @param aIsDetailsView is ETrue then get localised resources 
-        * to details view otherwise to connections view
-        * @return string representation of status of connection.
-        */
-        HBufC* ToStringStatusLC( TBool aIsDetailsView = ETrue ) const;
-
-        /**
-        * Creates a string from amount of received data 
-        * and sent data combined/summarized.
-        * @return string representation  of summarized of 
-        * Received and Sent data.
-        */
-        HBufC* ToStringTotalTransmittedDataLC() const;
-
-        /**
-        * Creates a string from amount of Sent data
-        * @param aToBeThreeDigit the shown digits numbers limited to three
-        * @return string representation of Sent data.
-        */
-        HBufC* ToStringSentDataLC( TBool aToBeThreeDigit = EFalse ) const;
-
-        /**
-        * Creates a string from amount of Received data
-        * @param aToBeThreeDigit the shown digits numbers limited to three
-        * @return string representation of Received data.
-        */
-        HBufC* ToStringReceivedDataLC( TBool aToBeThreeDigit = EFalse ) const;
-
-        /**
-        * Creates a string from transfer speed Up of connection
-        * @return string representation of transfer speed Up of 
-        * connection.
-        */
-        HBufC* ToStringTransferSpeedUpLC() const;
-
-        /**
-        * Creates a string from transfer speed Down of connection
-        * @return string representation of transfer speed Down of 
-        * connection.
-        */
-        HBufC* ToStringTransferSpeedDownLC() const;
-
-        /**
-        * Creates a string from duraion of the connection.
-        * @return string representation duraion of the connection.
-        */
-        HBufC* ToStringDurationLC() const;
-
-        /**
-        * Remove directional markers from a string.
-        * @param aStringHolder the string which markers has to remove.
-        */
-        void StringMarkerRemoval( HBufC* aStringHolder );
-
-        /**
-        * Remove directional markers from a string.
-        * @param aAppIndex the index of Applicaions names array.
-        * @return string representation of used app. name 
-        */
-        HBufC* ToStringAppNameLC( TInt aAppIndex );
-
-
-    private:
-        /**
-        * Creates a string from aLoadedData, extended with measure
-        * @param aLoadedData the data is converted to string
-        * @param aToBeThreeDigit the shown digits numbers limited to three
-        * @param aArrowChar the character representation of arrow (Up/Down)
-        * @return string representation of loaded data 
-        */
-        HBufC* ToStringLoadedDataLC( TUint aLoadedData, 
-                                     TBool aToBeThreeDigit = EFalse,
-                                     const TUint aArrowChar = 0 ) const;
-
-
-        /**
-        * Creates a string from transfer speed of connection
-        * @param aSpeed the speed is converted to string
-        * @param aArrowChar the character representation of arrow (Up/Down)
-        * @return string representation of transfer speed of 
-        * connection, extended with measure 
-        */
-        HBufC* ToStringTransferSpeedLC( div_t aSpeed, 
-                                        const TUint aArrowChar ) const;
-
-        /**
-        * Called if iConnectionStatus is changed to created. Initializes
-        * changable details of connection.
-        */
-        void InitializeConnectionInfoL();
-
-
-    protected:
-        
-        /**
-        * Used for refreshing details of connection.
-        */
-        RConnectionMonitor* const           iConnectionMonitor;   
-
-        /**
-        * The id of connection, given by RConnectionMonitor.
-        */
-        TUint                               iConnectionId;
-
-        /**
-        * The name of connection
-        */
-        TName                               iConnectionName;    // IAPName
-        
-        /**
-        * BearerType of connection
-        */
-        TConnMonBearerType                  iConnectionBearerType;
-        
-        /**
-        * The status of connection
-        */
-        TConnectionStatus                   iConnectionStatus;
-
-        /**
-        * The amount of Uploaded data
-        */
-        TUint                               iUploaded;
-
-        /**
-        * The amount of Downloaded data
-        */
-        TUint                               iDownloaded;
-
-        /**
-        * The start time of connection
-        */
-        TTime                               iStartTime;
-
-        /**
-        * The duration of connection
-        */
-        TTime                               iDuration;
-
-        /**
-        * Used for calculating speed data
-        */
-        TTime                               iLastSpeedUpdate;
- 
-        /**
-        * The speed of transferring Uploaded data
-        */
-        div_t                               iUpSpeed;
-
-        /**
-        * The speed of transferring Downloaded data
-        */
-        div_t                               iDownSpeed;
-
-        /**
-        * The text of list item.
-        */
-        TBuf<KConnectionListItemText>       iListBoxItemText; 
-
-        /**
-        * Descriptor array, contains details of connection. Owned.
-        */
-        CDesCArrayFlat*                     iDetailsArray;
-        
-        /**
-        * ETrue if deletion of connection started form CMUI, EFalse otherwise
-        */
-        TBool								iDeletedFromCMUI;
-        
-        /**
-        * The names of applications use connection.Owned.
-        */
-        CDesCArrayFlat*                     iAppNames;
-        
-        /**
-        * The active object for info. refreshing. NOT Owned.
-        */
-        CActiveWrapper*                     iActiveWrapper;
-    };
-
-
-#endif //CONNECTIONINFOBASE_H_INCLUDED
-
-// End of File
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUi.hrh	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  resource header file
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUI_HRH
-#define CONNECTIONMONITORUI_HRH
-
-// Command ID-s for Option menu items
-enum TConnectionMonitorUiCommandIds
-    {
-    EConnectionMonitorUiCmdAppDetails = 1,
-    EConnectionMonitorUiCmdAppEndConn,
-    EConnectionMonitorUiCmdAppEndAll
-    };
-
-// Tab view Id-s
-enum TConnectionMonitorUiTabViewId
-    {
-    EConnectionMonitorUiMainViewTab = 2,
-    EConnectionMonitorUiDetailsViewTab
-    };
-
-
-#endif      // CONNECTIONMONITORUI_HRH
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiApp.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  CConnectionMonitorUiApp application class
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUIAPP_H
-#define CONNECTIONMONITORUIAPP_H
-
-// INCLUDES
-#include <aknapp.h>
-
-// CONSTANTS
-// UID of the application
-const TUid KUidConnectionMonitorUi = { 0x101F84D0 };
-
-const TInt KErrUnknownConnectionState   = -50000;
-const TInt KErrCorruptedBearerType      = -50001;
-
-/**
-* Global panic function
-*/
-extern void Panic( TInt aReason );
-
-// CLASS DECLARATION
-
-/**
-* CConnectionMonitorUiApp application class.
-* Provides factory to create concrete document object.
-* 
-*/
-class CConnectionMonitorUiApp : public CAknApplication
-    {
-    public:
-
-    public: // Functions from base classes
-
-    private:
-
-        /**
-        * From CApaApplication, creates CConnectionMonitorUiDocument
-        * @return A pointer to the created document object.
-        */
-        CApaDocument* CreateDocumentL();
-        
-        /**
-        * From CApaApplication, returns application's UID
-        * @return The value of KUidConnectionMonitorUi.
-        */
-        TUid AppDllUid() const;
-
-    };
-
-#endif  // CONNECTIONMONITORUIAPP_H
-
-// End of File
-
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiAppUi.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,312 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Application UI class
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUIAPPUI_H
-#define CONNECTIONMONITORUIAPPUI_H
-
-// INCLUDES
-#include <aknViewAppUi.h>
-#include <aknnavide.h>
-#include <rconnmon.h>
-
-#include "ConnectionMonitorUiLogger.h"
-
-// FORWARD DECLARATIONS
-class CConnectionMonitorUiContainer;
-class CConnectionArray;
-class CConnectionInfoBase;
-
-class CFeatureManagerWrapper;
-class CActiveWrapper;
-
-// CONSTANTS
-
-/**
-* For iPeriodic Timer. The interval between events generated
-* after the initial delay, in microseconds.
-*/
-LOCAL_D const TInt KTickInterval = 1000000;
-
-
-// CLASS DECLARATION
-
-/**
-*
-*/
-class MActiveEventObserverInterface
-    {
-    public:
-        /**
-        * Called if MConnectionMonitorObserver is raised EventL event. 
-        * @param aConnMonEvent The event information.
-        * @param aIndex The index of connection in the iConnectionArray. 
-        */
-        virtual void OnEventL( const CConnMonEventBase& aConnMonEvent,
-                               const TInt aIndex ) = 0;
-
-        /**
-        * Called by iPeriodic. It refreshes details of connections.
-        */
-        virtual void OnTimerEventL() = 0;
-    };
-  
-/**
-*
-*/    
-class MTimerExpiredObserverInterface     
-    {
-    public:
-        /**
-        * Called by iPeriodic.
-        */
-        virtual void OnTimerExpiredL() = 0;   
-        
-        /**
-        * Gives back Timer interval.
-        */
-        virtual TInt GetTickInerval() const = 0; 
-    };
-
-/**
-* Application UI class.
-* Provides support for the following features:
-* - EIKON control architecture
-* - view architecture
-* - status pane
-* 
-*/
-class CConnectionMonitorUiAppUi : public CAknViewAppUi,
-                                  public MConnectionMonitorObserver,
-                                  public MTimerExpiredObserverInterface
-    {
-    public: // Constructors and destructor
-        /**
-        * EPOC default constructor.
-        */      
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */      
-        ~CConnectionMonitorUiAppUi();
-
-    public:
-        /**
-        * Returns pointer to AppUi object.
-        */      
-        static CConnectionMonitorUiAppUi* Static();
-
-        /**
-        * from MConnectionMonitorObserver
-        */
-        void EventL( const CConnMonEventBase &aConnMonEvent );
-
-    public:
-        /**
-        * Register and start connection monitor engine callback notification,
-        * and starts periodic timer.
-        * @param aObserver Observer object
-        */
-        void StartConnEventNotification( 
-                                    MActiveEventObserverInterface* aObserver );
-
-        /**
-        * Stops connection monitor notification and periodic timer
-        * @param aObserver Observer object
-        */
-        void StopConnEventNotification( 
-                                    MActiveEventObserverInterface* aObserver );
-
-        /**
-        * Starts iPeriodic.
-        * @param aInterval Refresh interval
-        */
-        void StartTimerL( const TInt aInterval = KTickInterval );
-
-        /**
-        * Stops iPeriodic.
-        */
-        void StopTimer();
-
-        /**
-        * Timer callback of iPeridoc.
-        */
-        static TInt Tick( TAny* aObject );
-        
-        /**
-        * called by Tick( TAny* aObject ).
-        */
-        TInt Tick();        
-
-        /**
-        * Delete and remove a connection from the View
-        * @param aConnId the id of the currect selected connection
-        * @param aConnInfo pointer to the current selected connection
-        */
-        void DeleteDetailsView( 
-                            TInt aConnId, CConnectionInfoBase* aConnInfo );
-
-#ifdef RD_CONTROL_PANEL
-    
-        /**
-        * This function is used for querying whether the application
-        * is launched in embedded mode or not.
-        * @return ETrue:  The application is launched in embedded mode.
-        *         EFalse: The application is launched in standalone mode.
-        */
-        TBool IsEmbedded() const;
-
-#endif // RD_CONTROL_PANEL        
-
-    protected:
-        /**
-        * from CCoeAppUi, for icon skinning
-        */
-        void HandleForegroundEventL( TBool aForeground );
-
-    private:
-        /**
-        * From MEikMenuObserver
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-        /**
-        * From CEikAppUi, takes care of command handling.
-        * @param aCommand command to be handled
-        */
-        void HandleCommandL( TInt aCommand );
-
-        /**
-        * From CEikAppUi, handles key events.
-        * @param aKeyEvent Event to handled.
-        * @param aType Type of the key event. 
-        * @return Response code ( EKeyWasConsumed, EKeyWasNotConsumed ). 
-        */
-        virtual TKeyResponse HandleKeyEventL(
-                                const TKeyEvent& aKeyEvent, TEventCode aType );
-
-        /**
-        * Called by Tick.
-        */
-        void OnTimerExpiredL( );
-        
-        /**
-        * Gives back Timer interval.
-        */        
-        TInt GetTickInerval() const;         
-        
-        /**
-        * Call one after the other RefreshDetails() function of connections
-        * which are contained by iConnectionArray.
-        */
-        void RefreshAllConnectionsL();
-
-        /**
-        * Creates a CConnectionInfBase class, the given connection id. 
-        * The Dynamic type of the returned class depends on the bearer type 
-        * of the connection.
-        * @params aConnectionId the id of the connection
-		* @params aBearerType the bearer type of the connection
-        * @return CConnectionInfBase instance, The Dynamic type of the returned
-        * class depends on the bearer type of the connection.
-        */
-        CConnectionInfoBase* CreateConnectionInfoL( TUint aConnectionId, TConnMonBearerType aBearerType );
-            
-        /**
-        * Initialize connection array
-        */
-        void InitializeConnectionArrayL();
-        
-        /**
-        * Gets the IAP of Easy Wlan access point
-        */
-        void GetEasyWlanIAPNameL();
-
-        /**
-        * Shows connection summary note.
-        * @param aConnection
-        */        
-        void ShowConnectionSummaryInformationNoteL( 
-        							const CConnectionInfoBase* aConnection );
-    private: // Data
-
-        /**
-        * For refresh details of connections.
-        */
-        RConnectionMonitor              iMonitor;       
-       
-        /**
-        * Contains CConnectionInfoBase instances, which are represents 
-        * the connections in the system.
-        */
-        CConnectionArray*               iConnectionArray; // Owned
-        
-        /**
-        * Timer, to refresh details of connections
-        */
-        CPeriodic*                      iPeriodic;  // Owned
-        
-        /**
-        * Actual observer instance. This observer handles refreshing details
-        * of connection on the screen.
-        */
-        MActiveEventObserverInterface*  iObserver;  // Not owned
-                
-        /**
-        * CFeatureManagerWrapper wraps FeatureManager to eliminate maintenance 
-        * of existance of FeatureManager.
-        * Owned.
-        */
-        CFeatureManagerWrapper*         iFeatureManagerWrapper;
-        
-        /**
-        * The active object for info. refreshing. Owned.
-        */
-        CActiveWrapper*                 iActiveWrapper;
-
-        /**
-        * the name of Easy Wlan access point it there is, otherwise NULL
-        */
-        HBufC*                          iEasyWlanIAPName;        
-                
-        /**
-        * A pointer to actual timer observer instance
-        */
-        MTimerExpiredObserverInterface* iTimerObserver;
-
-        /**
-        * Should the Main View be activeted during HandleForegroundEventL() method
-        */
-        TBool activateMainView;
-        
-        /**
-         * An array to hold the connectionIds in situations when creating
-         * connectionInfo object fails
-         */
-        RArray<TUint> iNewConnectionIdArray;
-        
-        /**
-         * Connections waiting for first event
-         */
-        RArray<TInt> iConnectionsWaitingFirstEvent;
-    };
-
-#endif  // CONNECTIONMONITORUIAPPUI_H
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiContainer.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,207 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  container control class
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUICONTAINER_H
-#define CONNECTIONMONITORUICONTAINER_H
-
-// INCLUDES
-#include <AknUtils.h>
-#include "ConnectionMonitorUiAppUi.h"
-   
-// FORWARD DECLARATIONS
-class CConnectionArray;
-class RConnectionMonitor;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class CActiveWrapper;
-
-// CLASS DECLARATION
-/**
-*  CConnectionMonitorUiContainer  container control class.
-*/
-class CConnectionMonitorUiContainer : public CCoeControl,
-                                      public MActiveEventObserverInterface
-    {
-    public: // Constructors and destructor
-        /**
-        * Constructor
-        * @param aConnectionArray array contains connection infos
-        * @param aMonitor to handlin connection details
-        * @param aActiveWrapper the for refreshing
-        */
-        CConnectionMonitorUiContainer( 
-                                     CConnectionArray* const aConnectionArray,
-                                     RConnectionMonitor* aMonitor,
-                                     CActiveWrapper* aActiveWrapper );
-        
-        /**
-        * Second phase constructor.
-        * @param aSelectedItem index of selected item in the list
-        * @param aRect Frame rectangle for container.        
-        */
-        void ConstructL( TInt aSelectedItem, const TRect& aRect  );
-
-        /**
-        * Destructor.
-        */
-        ~CConnectionMonitorUiContainer();
-
-    public: // Functions from base classes
-    
-        /** 
-        * From CCoeControl, gets the control's help context.
-     	* @param aContext help context.
-        */
-        virtual void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-        /**
-        * From CoeControl OfferKeyEventL.
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType );
-
-        /**
-        * From CoeControl,CountComponentControls.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl, ComponentControl.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl        
-        */
-        void HandleResourceChange( TInt aType ) ;
-        
-    public:  
-        /**
-        * from MActiveEventObserverInterface
-        */
-        void OnEventL( const CConnMonEventBase& aConnMonEvent, 
-                       const TInt aIndex );
-        /**
-        * from MActiveEventObserverInterface
-        */
-        void OnTimerEventL();
-
-        /**
-        * Returns the item index of selected connection
-        * @return index of selected connection
-        */
-        TInt SelectedConnection();
-
-        /**
-        * Close the selected connection.
-        */
-        void EndConnectionL();
-
-        /**
-        * Close all connection
-        */
-        void EndAllConnectionL();
-
-        /**
-        * Returns pointer to the listbox.
-        * @return pointer to the listbox.
-        */
-        CAknDoubleGraphicStyleListBox*  ListBox() const;
-
-        /**
-        * Refresh the content of Navi pane and 
-        * Push it to stack. Called by View DoActivateL()
-        */
-        void PushAndRefreshNaviPaneL();
-
-        /**
-        * Pop and destroy the NaviPane from stack. 
-        * Called by View DoDeactivateL()
-        */
-        void PopNaviPane();
-
-        /**
-        * Called by HandleForegroundEventL, draw all item of list box.
-        */
-        void DrawFirstAllListBoxItem();
-    
-    protected:
-        /**
-        * From CoeControl,SizeChanged.
-        */
-        void SizeChanged();
-        
-        /**
-        * From CoeControl,SizeChanged.
-        */        
-        virtual void FocusChanged(TDrawNow aDrawNow);
-
-    protected: // New functions
-        /**
-        * Sets the icons of listbox
-        */
-        void SetIconsL();
-
-        /**
-        * Gets the title panes.
-        */
-        void GetPanesL();        
-
-    protected: // data
-        /**
-        * List box contains connection items
-        */
-        CAknDoubleGraphicStyleListBox* iListBox;
-        
-        /**
-        * To handling details of connections
-        */
-        RConnectionMonitor* iMonitor;   
-
-        /**
-        * Contins connections info
-        */
-        CConnectionArray* const iConnectionArray;
-
-        /**
-        * Owned. For NaviPane.
-        */
-        CAknNavigationDecorator* iNaviDecorator;
-
-        /**
-        * Not Owned. For NaviPane.
-        */
-        CAknNavigationControlContainer* iNaviPane;
-    
-    private: // data
-
-        /**
-        * ETrue if Wlan connection is supported, EFalse otherwise.
-        */
-        TBool isWlanSupported;
-        
-        /**
-        * The active object for info. refreshing. NOT Owned.
-        */
-        CActiveWrapper* iActiveWrapper;
-    };
-
-#endif // CONNECTIONMONITORUICONTAINER_H
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiDetailsContainer.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  container control class
-*     
-*
-*/
-
-#ifndef CONNECTIONMONITORUIDETAILSCONTAINER_H
-#define CONNECTIONMONITORUIDETAILSCONTAINER_H
-
-// INCLUDES
-#include <aknlists.h>
-#include "ConnectionMonitorUiAppUi.h"
-
-// FORWARD DECLARATIONS
-class CConnectionArray;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class CConnectionMonitorUiDetailsView;
-
-// CLASS DECLARATION
-/**
-*  CConnectionMonitorUiDetailsContainer  container control class.
-*/
-class CConnectionMonitorUiDetailsContainer : 
-                                          public CCoeControl,
-                                          public MActiveEventObserverInterface,
-                                          public MAknNaviDecoratorObserver
-    {
-    public: // Constructors and destructor
-        /**
-        * Constructor
-        * @param aConnectionArray array containing connection list
-        */
-        CConnectionMonitorUiDetailsContainer( 
-                            const CConnectionArray* const aConnectionArray );
-
-        /**
-        * EPOC second-phase constructor.
-        * @param aRect Frame rectangle for container.
-        * @param aParentView ParentView of the container
-        */
-        void ConstructL( const TRect& aRect, 
-                              CConnectionMonitorUiDetailsView* aParentView );
-
-        /**
-        * Destructor.
-        */
-        ~CConnectionMonitorUiDetailsContainer();
-
-    public: // New functions
-        /**
-        * Sets iConnectionInfo and iConnectionId to the selected
-        * connection
-        * @param aConnectionIndex the index of selected connection
-        */
-        void SetSelectedConnectionL( TUint aConnectionIndex );
-
-        /**
-        * Returns pointer to the listbox.
-        * @return pointer to the listbox.
-        */
-        CAknSingleHeadingStyleListBox* ListBox() const;
-
-        /**
-        * Refresh the content of Navi pane and 
-        * Push it to stack. Called by View DoActivateL()
-        */
-        void PushAndRefreshNaviPaneL();
-
-        /**
-        * Pop the NaviPane from stack. Called by View DoDeactivateL()
-        */
-        void PopNaviPane();
-
-
-    public: 
-        /**
-         * Handler for pointer events, when the Navi Pane arrows have been tapped (from MAknNaviDecoratorObserver)
-         *
-         * @param aEventID  The enum indicating wether right or left arrow was tapped
-         */
-        void HandleNaviDecoratorEventL( TInt aEventID ); 
-
-        /**
-        * from MActiveEventObserverInterface
-        */
-        virtual void OnEventL( const CConnMonEventBase& aConnMonEvent,
-                               const TInt aIndex );
-
-        /**
-        * from MActiveEventObserverInterface
-        */
-        void OnTimerEventL();
-
-        /**
-        * From CCoeControl
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType );
-
-        /**
-        * Called by HandleForegroundEventL, draw all item of list box.
-        */
-        void DrawFirstAllListBoxItem();
-
-        /**
-        * From CCoeControl,ComponentControl.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-	    /**
-        * From CCoeControl, used for sclable ui and landscape support.
-        */        
-        void HandleResourceChange( TInt aType );    
-        
-        /**
-        * Gets index of the selected item
-        * @return the index of selected item
-        */
-        TInt GetIndexOfSelectedItem(); 
-        
-        /**
-        * Gets iConnectionInfo of the selected connection
-        * @return CConnectionInfoBase* pointer to the connection info object
-        */
-        CConnectionInfoBase* GetSelectedConnectionInfo() const;
-
-    protected:
-        /**
-        * Gets the title panes.
-        */
-        void GetPanesL();
-
-    private: // Functions from base classes
-        /**
-        * From CoeControl,SizeChanged.
-        */
-        void SizeChanged();
-
-        /**
-        * From CoeControl,CountComponentControls.
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * From CoeControl,SizeChanged.
-        */        
-        virtual void FocusChanged(TDrawNow aDrawNow);        
-
-    protected: // data       
-        /**
-        * Listbox contains details a connection
-        */
-        CAknSingleHeadingStyleListBox* iListBox;
-
-        /**
-        * Refers to the current selected connection
-        */
-        CConnectionInfoBase*            iConnectionInfo;    // Not Owned.
-
-        /**
-        * The index of selected connection
-        */
-        TUint                           iConnectionIndex;
-        
-        /**
-        * A pointer to connections array
-        */
-        const CConnectionArray* const   iConnectionArray; // Not Owned.
-
-        /**
-        * Owned. For NaviPane.
-        */
-        CAknNavigationDecorator*        iNaviDecorator;
-
-        /**
-        * Not Owned. For NaviPane.
-        */
-        CAknNavigationControlContainer* iNaviPane;
-
-        /**
-        * Not Owned. A pointer to DetailsView
-        */
-        CConnectionMonitorUiDetailsView* iParentView; // Not Owned.
-    };
-
-#endif
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiDetailsView.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,154 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  view class
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUIDETAILSVIEW_H
-#define CONNECTIONMONITORUIDETAILSVIEW_H
-
-// INCLUDES
-#include <aknview.h>
-#include <aknlists.h>
-
-// CONSTANTS
-
-/**
-* UID of view
-*/
-const TUid KDetailsViewId = {3};
-
-// FORWARD DECLARATIONS
-class CConnectionMonitorUiDetailsContainer;
-class CConnectionInfo;
-class CConnectionInfoBase;
-class CConnectionArray;
-
-// CLASS DECLARATION
-/**
-*  CConnectionMonitorUiDetailsView view class.
-*/
-class CConnectionMonitorUiDetailsView : public CAknView, 
-                                        public MEikListBoxObserver
-    {
-    public: // Constructors and destructor
-        /**
-        * Constructor 
-        * @param aConnectionArray array containing connection list
-        */
-        CConnectionMonitorUiDetailsView( 
-                               CConnectionArray* const aConnectionArray );
-
-        /**
-        * EPOC second phase constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        ~CConnectionMonitorUiDetailsView();
-
-    public: // Functions from base classes        
-        /**
-        * From CAknView
-        */
-        TUid Id() const;
-
-        /**
-        * From CAknView
-        */
-        void HandleCommandL( TInt aCommand );
-        
-    public: // New functions
-        /**
-        * Call SetSelectedConnection function of iContrainer  
-        * @param aIndex index of connection in the connection array
-        */
-        void SetSelectedConnection( TUint aIndex );
-        
-        /**
-        * Returns index of selected connection 
-        * @return index of selected connection in the connection array
-        */
-        TUint GetSelectedConnection();
-
-        /**
-        * Returns ETrue if the refreshing stopped for the View
-        * @return the staus of View refreshing
-        */
-        TBool GetViewRefreshState();
-
-        /**
-        * Set the View the refreshing status. Stopped or not
-        * @param aViewRefreshState staus of View refreshing
-        */
-        void SetViewRefreshState( TBool aViewRefreshState );
-
-        /**
-        * Closes the Details View.
-        */
-        void CloseViewL();
-
-        /**
-        * Activate the Main View
-        */
-        void ActivateMainViewL();
-
-    protected:
-        /**
-        * From AknView
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId, 
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-
-        /**
-        * From AknView
-        */
-        void DoDeactivate();
-
-        /** 
-        * From MEikListBoxObserver    
-        */
-        void HandleListBoxEventL( CEikListBox* aListBox, 
-                                  TListBoxEvent aEventType );
-
-    private: // Data
-        /**
-        * Container of View
-        */
-        CConnectionMonitorUiDetailsContainer*   iContainer;
-
-        /**
-        * Array contains connections
-        */
-        CConnectionArray* const           iConnectionArray; // Not Owned.
-
-        /**
-        * The index of selected connection
-        */
-        TUint                                   iConnectionId;
-
-        /**
-        * Staus of View refreshing. If the refreshing stopped its ETrue
-        */
-        TBool                                   iViewRefreshState;
-    };
-
-#endif // CONNECTIONMONITORUIDETAILSVIEW_H
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiDocument.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  application class
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUIDOCUMENT_H
-#define CONNECTIONMONITORUIDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-   
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class  CEikAppUi;
-
-// CLASS DECLARATION
-
-/**
-*  CConnectionMonitorUiDocument application class.
-*/
-class CConnectionMonitorUiDocument : public CAknDocument
-    {
-    public: // Constructors and destructor
-        /**
-        * Two-phased constructor.
-        * @param aApp Eikon Application
-        */
-        static CConnectionMonitorUiDocument* NewL(CEikApplication& aApp);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CConnectionMonitorUiDocument();
-
-    public: // New functions
-
-    private:
-
-        /**
-        * EPOC default constructor.
-        * @param aApp Eikon Application
-        */
-        CConnectionMonitorUiDocument(CEikApplication& aApp);
-        void ConstructL();
-
-    private:
-
-        /**
-        * From CEikDocument, create CConnectionMonitorUiAppUi "App UI" object.
-        */
-        CEikAppUi* CreateAppUiL();
-    };
-
-#endif // CONNECTIONMONITORUIDOCUMENT_H
-
-// End of File
-
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiLogger.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,107 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Logging support for R&D purposes
-*
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUILOGGER_H_INCLUDED
-#define CONNECTIONMONITORUILOGGER_H_INCLUDED
-
-// ========== INCLUDE FILES ================================
-
-#include <eikenv.h>
-#include <flogger.h>
-
-// ========== CONSTANTS ====================================
-
-#ifdef _DEBUG
-
-_LIT( KCMUILogDir,              "CMUI");
-_LIT( KCMUILogFile,             "CMUI.txt");
-_LIT(KCMUILogBanner,            "CMUI 0.1.0");
-_LIT(KCMUILogEnterFn,           "CMUI: -> %S");
-_LIT(KCMUILogLeaveFn,           "CMUI: <- %S");
-_LIT(KCMUILogExit,              "CMUI: Application exit");
-_LIT( KCMUILogTimeFormatString, "%H:%T:%S:%*C2");
-
-// ========== MACROS =======================================
-
-#define CMUILOGGER_CREATE             {FCreate();}
-#define CMUILOGGER_DELETE             {RFileLogger::Write(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, KCMUILogExit);}
-#define CMUILOGGER_ENTERFN(a)         {_LIT(temp, a); RFileLogger::WriteFormat(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, KCMUILogEnterFn, &temp);}
-#define CMUILOGGER_LEAVEFN(a)         {_LIT(temp, a); RFileLogger::WriteFormat(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, KCMUILogLeaveFn, &temp);}
-#define CMUILOGGER_WRITE(a)           {_LIT(temp, a); RFileLogger::Write(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, temp);}
-#define CMUILOGGER_WRITE_F(a, b)      {_LIT(temp, a); RFileLogger::WriteFormat(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, temp, b);}
-#define CMUILOGGER_WRITE_TIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KCMUILogTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, buffer); }
-#define CMUILOGGER_WRITEF             FPrint
-
-
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-    RFileLogger::WriteFormat(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, aFmt, list);
-    }
-
-inline void FPrint(const TDesC& aDes)
-    {
-    RFileLogger::WriteFormat(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, aDes);
-    }
-
-inline void FHex(const TUint8* aPtr, TInt aLen)
-    {
-    RFileLogger::HexDump(KCMUILogDir, KCMUILogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen);
-    }
-
-inline void FHex(const TDesC8& aDes)
-    {
-    FHex(aDes.Ptr(), aDes.Length());
-    }
-
-inline void FCreate()
-    {
-    TFileName path(_L("c:\\logs\\"));
-    path.Append(KCMUILogDir);
-    path.Append(_L("\\"));
-    RFs& fs = CEikonEnv::Static()->FsSession();
-    fs.MkDirAll(path);
-    RFileLogger::WriteFormat(KCMUILogDir, KCMUILogFile, EFileLoggingModeOverwrite, KCMUILogBanner);
-    }
-
-#else // ! _DEBUG
-
-inline void FPrint(const TRefByValue<const TDesC> /*aFmt*/, ...) { };
-
-#define CMUILOGGER_CREATE
-#define CMUILOGGER_DELETE
-#define CMUILOGGER_ENTERFN(a)
-#define CMUILOGGER_LEAVEFN(a)
-#define CMUILOGGER_WRITE(a)
-#define CMUILOGGER_WRITE_F(a, b)
-#define CMUILOGGER_WRITEF   1 ? ((void)0) : FPrint
-#define CMUILOGGER_WRITE_TIMESTAMP(a)
-
-#endif // _DEBUG
-
-// ========== DATA TYPES ===================================
-
-// ========== FUNCTION PROTOTYPES ==========================
-
-// ========== FORWARD DECLARATIONS =========================
-
-// ========== CLASS DECLARATION ============================
-
-#endif // CONNECTIONMONITORUILOGGER_H_INCLUDED
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/inc/ConnectionMonitorUiView.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  view class
-*     
-*
-*/
-
-
-#ifndef CONNECTIONMONITORUI_VIEW_H
-#define CONNECTIONMONITORUI_VIEW_H
-
-// INCLUDES
-#include <aknview.h>
-#include <aknlists.h>
-
-// CONSTANTS
-
-// UID of view
-const TUid KConnectionsViewId = {2};
-
-// FORWARD DECLARATIONS
-class CConnectionMonitorUiContainer;
-class CConnectionArray;
-class CActiveWrapper;
-
-// CLASS DECLARATION
-/**
-*  CConnectionMonitorUiView view class.
-*/
-class CConnectionMonitorUiView : public CAknView, public MEikListBoxObserver
-    {
-    public: // Constructors and destructor
-        /**
-        * Constructor
-        * @param aConnectionArray array contains connection infos
-        * @param aMonitor Connection Monitor engine session
-        * @param aActiveWrapper the for refreshing
-        */
-#ifdef RD_CONTROL_PANEL        
-        CConnectionMonitorUiView( CConnectionArray* const aConnectionArray,
-                                  RConnectionMonitor* aMonitor,
-                                  TBool aIsEmbedded,
-                                  CActiveWrapper* aActiveWrapper );
-#else
-        CConnectionMonitorUiView( CConnectionArray* const aConnectionArray,
-                                  RConnectionMonitor* aMonitor,
-                                  CActiveWrapper* aActiveWrapper );
-#endif // RD_CONTROL_PANEL                                  
-
-        /**
-        * EPOC default constructor.
-        */
-        void ConstructL();
-
-        /**
-        * Destructor.
-        */
-        ~CConnectionMonitorUiView();
-
-    public: // Functions from base classes
-        /**
-        * From AknView
-        */
-        TUid Id() const;
-
-        /**
-        * From AknView
-        */
-        void HandleCommandL( TInt aCommand );
-
-        /**
-        * From MEikMenuObserver 
-        * Dynamic handling of menus.
-        */
-        virtual void DynInitMenuPaneL( TInt aResourceId,
-                                       CEikMenuPane* aMenuPane );
-
-        /**
-        * Observe the connection stat and set the right Soft Keys.
-        */
-        void ConnectionKeyObserver() const;
-        
-    protected: 
-        /**
-        * from MEikListBoxObserver    
-        */
-        void HandleListBoxEventL( CEikListBox* aListBox, 
-                                  TListBoxEvent aEventType );
-
-    protected:
-        /**
-        * From AknView
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-
-        /**
-        * From AknView
-        */
-        void DoDeactivate();
-
-        /**
-        * Sets the tile pane to the given resource.
-        * @param aResourceId the id of resource string
-        */
-        void SetTitlePaneTextL( TInt aResourceId );
-
-    private:
-        /**
-        * Brings up details view.
-        */
-        void BringupDetailsViewL();
-        
-        /**
-        * Check if selecred connection is Alilve or not
-        * @return if the selected connection is alive ETrue, oterwise EFalse
-        */
-        TBool IsSelectedConnectionAlive() const;
-        
-        /**
-        * Check if selecred connection is Suspended or not
-        * @return if the selected connection is alive ETrue, oterwise EFalse
-        */
-        TBool IsSelectedConnectionSuspended() const;
-
-    private: // Data   
-        /**
-        * Continer instance of view.
-        */
-        CConnectionMonitorUiContainer*        iContainer; // Owned
-
-        /**
-        * Constant pointe to array of connections.
-        */
-        CConnectionArray* const             iConnectionArray; // Not Owned
-        
-        /**
-        * Pointer to RConnectionMonitor for deleting connection(s).
-        */
-        RConnectionMonitor*                 iMonitor;  // Not Owned
-                
-        /**
-        * ETrue if Help is supported, EFalse otherwise.
-        */
-        TBool isHelpSupported;
-
-#ifdef RD_CONTROL_PANEL
-
-        /**
-        * ETrue:  The application is launched in embedded mode.
-        * EFalse: The application is launched in standalone mode.
-        */
-        TBool iIsEmbedded;
-
-#endif // RD_CONTROL_PANEL
-
-        /**
-        * The active object for info. refreshing. NOT Owned.
-        */
-        CActiveWrapper* iActiveWrapper;
-    };
-
-#endif // CONNECTIONMONITORUI_VIEW_H
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/inc/CsdConnectionInfo.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a connection
-*     
-*
-*/
-
-
-#ifndef CSDCONNECTIONINFO_H_INCLUDED
-#define CSDCONNECTIONINFO_H_INCLUDED
-
-// INCLUDES
-#include    <rconnmon.h>
-#include    <stdlib.h>
-#include    "ConnectionInfoBase.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Represents a connection.
-*/
-class CCsdConnectionInfo : public CConnectionInfoBase     
-    {
-    public: 
-        /**
-        * Static constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        static CCsdConnectionInfo* NewL( TInt aConnectionId, 
-                                  RConnectionMonitor* const aConnectionMonitor,
-                                  TConnMonBearerType aConnectionBearerType,
-                                  CActiveWrapper* aActiveWrapper );
-                
-        /**
-        * Destructor
-        */
-        virtual ~CCsdConnectionInfo();
-    public:
-    
-        /**
-        * Give back a copy of connection. 
-        */
-        virtual CConnectionInfoBase* DeepCopyL();
-    
-        /**
-        * Refresh required details of connection. 
-        */
-        virtual void RefreshDetailsL();
-
-        /**
-        * Refresh iListBoxItemText text, connection ListBox has a reference to
-        * this text.
-        */
-        virtual void RefreshConnectionListBoxItemTextL();
-
-        /**
-        * Refresh details array of connection. DetailsListBox has a reference
-        * to this array.
-        */
-        virtual void RefreshDetailsArrayL();
-
-        /**
-        * Gives back the icon id of connection type
-        * @return the icon id of connection type
-        */
-        virtual TUint GetIconId() const;
-
-    protected:
-        /**
-        * Constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        CCsdConnectionInfo(  TInt aConnectionId, 
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Second phase construction
-        */
-        void ConstructL();
-
-    protected:
-        /**
-        * Creates an array with requrired details of connection to
-        * the listbox which visulaize details of connection. This member
-        * is called at initialization.
-        */
-        virtual void ToArrayDetailsL();
-
-        /**
-        * Creates a string from dialup number of the connection.
-        * @return string representation count of sharigs of the connection.
-        */
-        HBufC* ToStringDialupNumberLC() const;
-
-    private:
-
-    protected: // Data members
-    
-        TBuf<KTelNumber>    iDialupNumber;  ///< DialupNumber of connection
-        
-    };
-
-
-#endif // CSDCONNECTIONINFO_H_INCLUDED
-
-// Enf of File
--- a/connectionmonitoring/connectionmonitorui/inc/EasyWLANConnectionInfo.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,102 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a WLAN connection
-*     
-*
-*/
-
-
-#ifndef EASYWLANCONNECTIONINFO_H_INCLUDED
-#define EASYWLANCONNECTIONINFO_H_INCLUDED
-
-// INCLUDES
-#include "WlanConnectionInfo.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class RConnectionMonitor;
-
-// CLASS DECLARATION
-/**
-* Represents a WLAN connection.
-*/
-class CEasyWlanConnectionInfo : public CWlanConnectionInfo
-    {
-    public:
-        /**
-        * Static constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        static CEasyWlanConnectionInfo* NewL( TInt aConnectionId, 
-                              RConnectionMonitor* const aConnectionMonitor,
-                              TConnMonBearerType aConnectionBearerType,
-                              CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Destructor
-        */
-        virtual ~CEasyWlanConnectionInfo();
-        
-    public:
-        /**
-        * Give back a copy of connection. 
-        */
-        virtual CConnectionInfoBase* DeepCopyL();
-    
-        /**
-        * Refresh iListBoxItemText text, connection ListBox has a 
-        * reference to this text.
-        */
-        virtual void RefreshConnectionListBoxItemTextL();
-
-        /**
-        * Refresh details array of connection. 
-        * DetailsListBox has a reference to this array.
-        */
-        virtual void RefreshDetailsArrayL();
-
-    protected:  // Constructors
-        /**
-        * Constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        CEasyWlanConnectionInfo( TInt aConnectionId, 
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Second phase construction
-        */
-        void ConstructL();
-
-    protected:
-        /**
-        * Creates an array with requrired details of connection to
-        * the listbox which visulaize details of connection. This member
-        * is called at initialization.
-        */
-        virtual void ToArrayDetailsL();
-
-    };
-
-#endif // EASYWLANCONNECTIONINFO_H_INCLUDED
-//End of File.
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/inc/FeatureManagerWrapper.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Declaration of class CFeatureManagerWrapper.
-*
-*/
-
-
-#ifndef FEATURE_MANAGER_WRAPPER_H
-#define FEATURE_MANAGER_WRAPPER_H
-
-// INCLUDE FILES
-#include    <e32base.h>        //CBase
-#include    <featmgr.h>
-
-// CLASS DECLARATION
-
-/**
-* CFeatureManagerWrapper wraps FeatureManager to ease its usage
-*/
-class CFeatureManagerWrapper :  public CBase
-    {  
-   
-   public:
-
-       /**
-       * Destructor. Uninitalize FeatureManager.
-       */
-       virtual ~CFeatureManagerWrapper();
-    
-       /**
-       * Static constructor.
-       */
-       static CFeatureManagerWrapper* NewL();        
-        
-   protected:
-
-       /**
-       * Default constructor.
-       */
-       CFeatureManagerWrapper();
-
-       /**
-       * Second-phase constructor. Initialize FeatureManager
-       */
-       void ConstructL();
-   
-   private:
-
-       /**
-       * Indicates Featuremanger is initialized or not.
-       */
-       TBool iIsFeatureMgrInitialized; 
-    
-    };
-
-#endif
-
-// End of file
--- a/connectionmonitoring/connectionmonitorui/inc/GprsConnectionInfo.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a connection
-*     
-*
-*/
-
-
-#ifndef GPRSCONNECTIONINFO_H_INCLUDED
-#define GPRSCONNECTIONINFO_H_INCLUDED
-
-// INCLUDES
-#include    <rconnmon.h>
-#include    <stdlib.h>
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include    <commsdat.h>
-#else
-#include    <commsdat.h>
-#include    <commsdat_partner.h>
-#endif
-#include    "ConnectionInfoBase.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* Represents a connection.
-*/
-class CGprsConnectionInfo : public CConnectionInfoBase      
-    {
-    public: 
-        /**
-        * Static constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        static CGprsConnectionInfo* NewL( TInt aConnectionId, 
-                                  RConnectionMonitor* const aConnectionMonitor,
-                                  TConnMonBearerType aConnectionBearerType,
-                                  CActiveWrapper* aActiveWrapper );
-                
-        /**
-        * Destructor
-        */
-        virtual ~CGprsConnectionInfo();
-    public:    
-        /**
-        * Give back a copy of connection. 
-        */
-        virtual CConnectionInfoBase* DeepCopyL();
-    
-        /**
-        * Refresh required details of connection. 
-        */
-        virtual void RefreshDetailsL();
-
-        /**
-        * Refresh iListBoxItemText text, connection ListBox has a reference to
-        * this text.
-        */
-        virtual void RefreshConnectionListBoxItemTextL();
-
-        /**
-        * Refresh details array of connection. DetailsListBox has a reference
-        * to this array.
-        */
-        virtual void RefreshDetailsArrayL();
-
-        /**
-        * Gives back the icon id of connection type
-        * @return the icon id of connection type
-        */
-        virtual TUint GetIconId() const;
-
-    protected:
-        /**
-        * Constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        CGprsConnectionInfo( TInt aConnectionId, 
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Second phase construction
-        */
-        void ConstructL();
-
-    protected:
-        /**
-        * Creates an array with requrired details of connection to
-        * the listbox which visulaize details of connection. This member
-        * is called at initialization.
-        */
-        virtual void ToArrayDetailsL();
-
-        /**
-        * Creates a string from Access Point name of the connection.
-        * @return string representation count of Access Point name of 
-        * the connection.
-        */
-        HBufC* ToStringApNameLC() const;
-
-    private:
-
-    protected: // Data members
-    
-        TBuf<CommsDat::KMaxTextLength> iApName;    ///< Used AccessPoint name
-        
-    };
-
-
-#endif // GPRSCONNECTIONINFO_H_INCLUDED
-
-// Enf of File
--- a/connectionmonitoring/connectionmonitorui/inc/WlanConnectionInfo.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a WLAN connection
-*     
-*
-*/
-
-
-#ifndef WLANCONNECTIONINFO_H_INCLUDED
-#define WLANCONNECTIONINFO_H_INCLUDED
-
-// INCLUDES
-#include "ConnectionInfoBase.h"
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class RConnectionMonitor;
-
-// Calibration of WLAN signal strength
-enum TWlanSignalStrength
-    {
-    EWlanSignalStrengthMax = 60,
-    EWlanSignalStrengthGood = 74,
-    EWlanSignalStrengthLow = 87,
-    EWlanSignalStrengthMin = 100,
-    EWlanSignalUnavailable = 9999
-    };
-
-// WLAN Network modes
-enum TWlanNetworkMode
-    {
-    EWlanNetworkModeInfrastructure = 0,
-    EWlanNetworkModeAdHoc,
-    EWlanNetworkModeSecInfrastructure,
-    EWlanNetworkModeUnavailable
-    };
-
-// WLAN security modes
-enum TWlanSecurityMode
-    {
-    EWlanSecurityModeOpenNetwork = 0,
-    EWlanSecurityModeWEP,
-    EWlanSecurityMode8021x,
-    EWlanSecurityModeWPA,
-    EWlanSecurityWpaPsk,
-    EWlanSecurityModeUnavailable
-    };
-
-// CONSTANTS
-
-const TReal32 KDiffOfWlanSignalStrength = 
-                            EWlanSignalStrengthMin - EWlanSignalStrengthMax;
-
-
-// CLASS DECLARATION
-/**
-* Represents a WLAN connection.
-*/
-class CWlanConnectionInfo : public CConnectionInfoBase
-    {
-    public:
-        /**
-        * Static constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aEasyWlanIAPName Name of the Easy WLAN access point
-        * @param aActiveWrapper the for refreshing
-        */
-        static CWlanConnectionInfo* NewL( TInt aConnectionId, 
-                              RConnectionMonitor* const aConnectionMonitor,
-                              TConnMonBearerType aConnectionBearerType,
-                              const HBufC* aEasyWlanIAPName,
-                              CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Destructor
-        */
-        virtual ~CWlanConnectionInfo();
-        
-    public:    
-        /**
-        * Give back a copy of connection. 
-        */
-        virtual CConnectionInfoBase* DeepCopyL();
-    
-        /**
-        * Refreshing all details of connection. Leaves if refreshing 
-        * any of detais is failed.
-        */
-        virtual void RefreshDetailsL();
-
-        /**
-        * Refresh iListBoxItemText text, connection ListBox has a 
-        * reference to this text.
-        */
-        virtual void RefreshConnectionListBoxItemTextL();
-
-        /**
-        * Refresh details array of connection. DetailsListBox has a 
-        * reference to this array.
-        */
-        virtual void RefreshDetailsArrayL();
-
-        /**
-        * Gives back the icon id of connection 
-        * @return the icon id of connection 
-        */
-        virtual TUint GetIconId() const;
-
-        /**
-        * Gives back the connection is EasyWLAN or not.
-        * @return ETrue if the selected conenction EasyWLAN,
-        * EFalse otherwise
-        */
-        virtual TBool IsEasyWLAN() const;
-        
-        /**
-        * Gives back current Name of Network ( SSID )
-        * @return iNetworkName
-        */
-        virtual HBufC* GetWlanNetworkNameLC() const;
-
-        /**
-        * Gives back current SignalStrength
-        * @return iSignalStrength
-        */        
-        TWlanSignalStrength GetWlanSignalStrength() const;
-
-        /**
-        * Gives back current NetworkMode
-        * @return iNetworkMode
-        */
-        TWlanNetworkMode GetWlanNetworkMode() const;
-
-        /**
-        * Gives back current SecurityMode
-        * @return iSecurityMode
-        */        
-        TWlanSecurityMode GetWlanSecurityMode() const;
-
-        /**
-        * Gives back current TxPower
-        * @return iTxPower
-        */        
-        TUint GetWlanTxPower() const;
-
-    protected:  // Constructors
-        /**
-        * Constructor
-        * @param aConnectionId The id of the given connection.
-        * @param aMonitor for refreshing details
-        * @param aConnectionBearerType the bearer type of connection
-        * @param aActiveWrapper the for refreshing
-        */
-        CWlanConnectionInfo( TInt aConnectionId, 
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper );
-
-        /**
-        * Second phase construction
-        */
-        void ConstructL();
-
-    protected:
-        /**
-        * Creates an array with requrired details of connection to
-        * the listbox which visulaize details of connection. This member
-        * is called at initialization.
-        */
-        virtual void ToArrayDetailsL();
-
-        /**
-        * Refreshing NetworkName. Leaves if did not get valid data from
-        * ConnectionMonitor.
-        */
-        void RefreshNetworkNameL();
-        
-        /**
-        * Refreshing SignalStrength. Leaves if did not get valid data from
-        * ConnectionMonitor.
-        */
-        void RefreshSignalStrength();
-
-        /**
-        * Refreshing NetworkMode. Leaves if did not get valid data from
-        * ConnectionMonitor.
-        */
-        void RefreshNetworkMode();
-
-        /**
-        * Refreshing SecurityMode. Leaves if did not get valid data from
-        * ConnectionMonitor.
-        */
-        void RefreshSecurityMode();
-
-        /**
-        * Refreshing TxPower. Leaves if did not get valid data from
-        * ConnectionMonitor.
-        */
-        void RefreshTxPowerL();
-
-        /**
-        * Gives back the string representation of SignalStrength.
-        */
-        HBufC* ToStringSignalStrengthLC() const;
-
-        /**
-        * Gives back the string representation of Mode.
-        */
-        HBufC* ToStringNetworkModeLC() const;
-
-        /**
-        * Gives back the string representation of Security.
-        */
-        HBufC* ToStringSecurityModeLC() const;
-
-        /**
-        * Gives back the string representation of TxPower.
-        */
-        HBufC* ToStringTxPowerLC() const;
-
-    private:
-
-    protected:
-
-        /**
-        * The name of network (SSID)
-        */
-        TName                       iWlanNetworkName;
-        
-        /**
-        * Signale strength of WLAN connection
-        */
-        TWlanSignalStrength         iSignalStrength;
-        
-        /**
-        * Network mode of WLAN conenction
-        */ 
-        TWlanNetworkMode            iNetworkMode;
-    
-        /**
-        * Security mode of WLAN conenction
-        */ 
-        TWlanSecurityMode           iSecurityMode;
-
-        /**
-        * TxPower of WLAN conenction
-        */
-        TUint                        iTxPower;
-        
-        /**
-        * ETrue if the selected conenction EasyWLAN
-        */ 
-        TBool                        iEasyWlan;
-    };
-
-#endif // WLANCONNECTIONINFO_H_INCLUDED
-//End of File.
\ No newline at end of file
--- a/connectionmonitoring/connectionmonitorui/loc/connectionmonitorui.loc	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,762 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Localization texts for ConnectionMonitorUi
-*     
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-//d:Title pane text in main view
-//l:title_pane_t2/opt9
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_title	"Conn. Manager"
-
-//d:No active connection in main view
-//l:main_list_empty_pane
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_no_active_connections	"(no active connections)"
-
-//d:Title pane text in main view.
-//l:navi_navi_text_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_navi_one_active_conn "1 active connection"
-
-//d:Title pane text in main view.
-//l:navi_navi_text_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_navi_many_active_conns "%N active connections"
-
-//d:downloaded / uploaded data amounts with two decimal 
-//d:digits (for GPRS connections)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_ul_dl_data_amounts "%0U / %1U"
-
-//d:duration of the connection over 24h (for CSD and HSCSD connections)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_duration_over_24h  "%0Ud %1U"
-
-//d:Connection status (main view)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_creating    "Creating connection"
-
-//d:Connection status (main view)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_idle    "Idle"
-
-//d:Connection status (main view)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_active  "Active"
-
-//d:Connection status (main view)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_suspended   "On hold"
-
-//d:Connection status (main view)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_closing "Closing connection"
-
-//d:Connection status (main view)
-//l:list_double_graphic_pane_t2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_closed  "Closed"
-
-//d:Connection status (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_details_creating    "Creating connection"
-
-//d:Connection status (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_details_idle    "Idle"
-
-//d:Connection status (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_details_active  "Active"
-
-//d:Connection status (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_details_suspended   "On hold"
-
-//d:Connection status (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_details_closing "Closing connection"
-
-//d:Connection status (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_status_details_closed  "Closed"
-
-//d:The navi pane displays the “serial number” (%1N) of the
-//d:connection in question and the total amount of the 
-//d:connections.
-//l:navi_navi_text_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_navi_nof_connection    "%0N/%1N"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_conn_name  "Name"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_bearer   "Bearer"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_status "Status"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_data_received  "Received"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_data_sent  "Sent"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_duration   "Duration"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_speed      "Speed"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_csd_number "Dial-up no."
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_gprs_apn   "APN"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_heading_sharing_info   "Sharing"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_set_bearer_data_call    "Data call"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_set_bearer_packet_data  "Packet data"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_bearer_hscsd    "High speed GSM"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_log_gprs_amount_b   "%U B"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_log_gprs_amount_kb   "%U kB"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_log_gprs_amount_mb   "%U MB"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_log_gprs_amount_gb   "%U GB"
-
-//d:
-//l:list_double_number_pane_t3
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_data_transf_rate_dl    "%U kB/s"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_sharing_information    "Between %N instances" 
-
-//d:Confirmation query to close selected connection
-//l:popup_note_window
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_conf_end_single_conn "End connection ’%U’?"
-
-//d:Confirmation query to close all connections
-//l:popup_note_window
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_conf_end_all_conns "%N connections active. End all connections?"
-
-//d:Main view menu item
-//l:list_single_pane_t1_cp2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_list_options_details "Details"
-
-//d:Main view menu item
-//l:list_single_pane_t1_cp2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_list_options_end_conn "End connection"
-
-//d:Main view menu item
-//l:list_single_pane_t1_cp2
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_list_options_end_all "End all connections"
-
-//d:Application name
-//l:list_single_large_graphic_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_apps_cmon_list "Conn. manager"
-
-//d:Application name
-//l:cell_app_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_apps_cmon_grid "Conn. manager"
-
-//d:Transferred KBytes
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_data_transf_rate_ul    "%U kB/s"
-
-//d:
-//l:list_single_heading_pane_t1
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_item_conn_name_modem   "Modem connection"
-
-//d:Confirmation query to close modem connection
-//l:popup_note_window
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_conf_end_modem_conn    "End modem connection?"
-
-//d:when user rejects the query, an information note
-//l:popup_note_window
-//w:
-//r:1.0
-//
-
-#define qtn_cmon_info_conn_already_end    "Connection was already closed."
-
-//d:Connection Manager’s Active connections main view
-//l:list_double2_large_graphic_pane
-//w:
-//r:3.0
-//
-#define qtn_cmon_active_data_connections 		"Active data connections"
-
-//d:Connection Manager’s Available WLAN networks main view
-//l:list_double2_large_graphic_pane
-//w:
-//r:3.0
-//
-#define qtn_cmon_available_wlan_networks 		"Available WLAN networks"
-
-//d: WLAN network mode value text,mode, terminal is connected to another terminal or multiple
-//d:terminals (point-to-multipoint) without utilising any physical access points.  
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_newtwork_mode_adhoc 		"Ad-hoc"
-
-//d: WLAN network mode value text, the terminal is connected over WLAN to a physical WLAN access point.
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_newtwork_mode_infra		"Infrastructure"
-
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode 
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_security_mode_wep             	"WEP"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode  
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_security_mode_802_1x           	"802.1x"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode  
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_security_mode_wpa             	"WPA/WPA2"
-
-//d:Title of Active connections main view 
-//l:title_pane_t2/opt9
-//w:
-//r:3.0
-//
-#define qtn_cmon_title_active_conns                	 	"Active data connections"
-
-//d: Title of Available WLAN networks main view
-//l:title_pane_t2/opt9
-//w:
-//r:3.0
-//
-#define qtn_cmon_title_available_wlan               		"Available WLAN networks"
-
-//d: WLAN network bearer type value text 
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_wlan_sett_bearer_wlan            		"Wireless LAN"
-
-//d: WLAN network security mode value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_security_mode_open            	"Open network"
-
-//d: WLAN network name (SSID) detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_network_name               	"Network"
-
-//d: WLAN network signal strength detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_signal_strength            	"Signal"
-
-//d: WLAN network mode detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_network_mode               	"Mode"
-
-//d:WLAN network  Security mode used by the WLAN network detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_security_mode              	"Security"
-
-//d:WLAN network  Current transmit (TX) power level detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_tx_power              	"TX power"
-
-//d:WLAN network  Amount of physical WLAN access points detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_nw_ap_amount          	"Coverage"
-
-//d:WLAN network  Maximum data rate detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_nw_max_rate           	"Max. rate"
-
-//d:WLAN network Amount of physical WLAN access points (AP) in range, if a single AP is in range
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_ap_amount_in_range            	"1 access point"
-
-//d:WLAN network Amount of physical WLAN access points (AP) in range, if multiple APs in range (%N is the amount)
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_ap_amount_in_range_many       	"%N access points"
-
-//d:WLAN network Current transmit (TX) power level in milliwatts (mW
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_tx_power_level                		"%N mW"
-
-//d:WLAN network Maximum data rate in network (of best AP in range)
-//d:in megabits per secondin
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_max_data_rate                 	"%U Mbit/s"
-
-//d: WLAN network signal strength value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_singal_strength_low           	"Low (%N%)"
-
-//d: WLAN network signal strength value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_singal_strength_medium        	"Medium (%N%)"
-
-//d: WLAN network signal strength value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_singal_strength_good          	"Good (%N%)"
-
-//d: WLAN network signal strength text  if the network in question becomes unavailable while
-//d:in details view,
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_no_signal            	"No signal"
-
-//d:Navi pane text in Available WLAN networks main view, if only one network is available. 
-//l:navi_navi_text_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_navi_one_wlan_nw_available         	"1 network available"
-
-//d:Navi pane text in Available WLAN networks main view, if more than one network is available 
-//d:(%N is the amount of networks).
-//l:navi_navi_text_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_navi_many_wlan_nws_available       	"%N networks available"
-
-//d:Navi pane text in Available WLAN networks details view. 
-//d:The navi pane displays the “serial number” (%0N) of the
-//d:network in question and the total amount of the connections
-//d:(%1N) using the navigation text component: %0N/%1N
-//l:navi_navi_text_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_navi_nof_wlan_network       		"%0N/%1N"
-
-//d:Available WLAN networks main view — No networks available
-//l:main_list_empty_pane
-//w:
-//r:3.0
-//
-#define qtn_cmon_no_wlan_networks_available         	"(no available WLAN networks)"
-
-//d:Available WLAN networks main view options menu item. 
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.0
-//
-#define qtn_cmon_options_create_wlan_iap       	"Create internet access point"
-
-//d:Available WLAN networks main view options menu - create internet access point item 
-//d:was selected this confirmation query note is displayed.
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_cmon_quest_create_wlan_iap  "Create internet access point for WLAN network '%U'?"
-
-//d:Available WLAN networks main view options menu - create internet access point item 
-//d:and secure network was selected this information note is poped up.
-//l:popup_note_window
-//w:
-//r:3.0
-//
-#define qtn_cmon_info_wlan_secure_nw_iap_create     	"You can create an internet access point for a secure WLAN network via Connection settings, Access points."
-
-//d:Available WLAN networks main view — One or more networks available, options menu item
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.0
-//
-#define qtn_cmon_options_refresh               		"Refresh"
-
-
-//d: Unavailable attribute (details view)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_parameter_unavailable  "(unavailable)"
-
-//d:
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_data_total  "Total"
-
-
-//d:"Connection summary note" note- info text
-//l:heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_cmon_summary_heading  "Connection summary"
-
-//d:First line topic of "Connection summary note" note
-//d:displays the total transferred data amount (received and sent summarized)
-//l:heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_cmon_summary_transferred "Transferred data:"
-
-//d:Third line topic of "Connection summary note" note,
-//d:displays the duration of the connection
-//l:heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_cmon_summary_duration "Duration:"
-
-//d:Available WLAN networks main view options menu - create internet access point item 
-//d:final confirmation note is poped up when access point item has been created successfully
-//l:popup_note_window
-//w:
-//r:3.1
-//
-#define qtn_cmon_conf_wlan_iap_created	"Internet access point defined for WLAN network '%U'."
-
-//d:Text in middle soft key (opens a view for detailed information)
-//l:control_pane_t3/opt7
-//w:
-//r:3.2
-//
-#define qtn_msk_cmon_details "Details"
-
-//d:The name of the application which uses the connection (MessagingServer)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cmon_sharing_app_msg_server  "Messaging" 
-
-//d:The name of the application which uses the connection (DownaloadMgrServer)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cmon_sharing_app_dl_mg  "Downloads" 
-
-//d:The name of the application which uses the connection (Feeds Server)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cmon_sharing_app_rss_server  "Web Feeds" 
-
-//d:The name of the application which uses the connection (Java MIDlets)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cmon_sharing_app_java_midlet  "Application" 
-
-//d:The name of the application which uses the connection (Unknown instance)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cmon_sharing_app_unknown  "(unknown)" 
-
-//d:The name of the application which uses the connection 
-//d:(SUPL (Secure User Plane Location) server)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_cmon_sharing_app_supl "Positioning server" 
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/sis/ConnectionMonitorUI.pkg	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-;
-; 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 "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: ; Installation file for ConnectionMonitorUi application
-;
-; Installation file for ConnectionMonitorUi application
-; Installation file for ConnectionMonitorUi application
-
-;Languages
-&EN
-
-; Package header
-#{"ConnectionMonitorUi"},(0x101F84D0),0,2,0,TYPE=SA
-
-%{"some vendor"}
-; Unique Vendor name
-:"Unique Vendor NameXXXX"
-
-;Key and certificate
-*"rd-key.pem","rd.cer"
-
-
-; Entries - files to install
-
-"\Epoc32\release\armv5\udeb\CONNECTIONMONITORUI.exe"         -"!:\sys\bin\CONNECTIONMONITORUI.exe"
-"\epoc32\data\Z\Resource\apps\CONNECTIONMONITORUI.rsc"         -"!:\resource\apps\CONNECTIONMONITORUI.rsc"
-"\epoc32\data\Z\private\10003a3f\apps\CONNECTIONMONITORUI_reg.rsc" -"!:\private\10003a3f\import\apps\CONNECTIONMONITORUI_reg.rsc"
--- a/connectionmonitoring/connectionmonitorui/src/ActiveWrapper.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  CActiveWrapper implementation file
-*
-*/
-
-
-#include <e32base.h>
-
-#include "ActiveWrapper.h"
-#include "ConnectionMonitorUiLogger.h"
-
-// LOCAL CONSTANTS AND MACROS
-
-// ---------------------------------------------------------
-// CActiveWrapper::NewL
-//
-// Two-phased constructor.
-// ---------------------------------------------------------
-//
-CActiveWrapper* CActiveWrapper::NewL()
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::NewL()" );
-    
-    CActiveWrapper* self = new ( ELeave ) CActiveWrapper();
-    CleanupStack::PushL( self );
-
-    self->ConstructL();
-    
-    CleanupStack::Pop( self );
-
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::NewL()" );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CActiveWrapper::ConstructL
-//
-// Symbian OS default constructor can leave.
-// ---------------------------------------------------------
-//
-void CActiveWrapper::ConstructL()
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::ConstructL()" );
-
-    CActiveScheduler::Add( this );
-
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::ConstructL()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::CActiveWrapper
-//
-// C++ constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------
-//
-CActiveWrapper::CActiveWrapper() : CActive( CActive::EPriorityStandard )
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::~CActiveWrapper
-//
-// Destructor
-// ---------------------------------------------------------
-//
-CActiveWrapper::~CActiveWrapper()
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::~CActiveWrapper()" );
-    
-    Cancel();
-    
-    CMUILOGGER_WRITE( "CActiveWrapper::~CActiveWrapper Canceled" );
-    
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::~CActiveWrapper()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::RunL
-//
-// From active object framework
-// ---------------------------------------------------------
-//
-void CActiveWrapper::RunL() 
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::RunL()" );
-
-    if ( iWait.IsStarted() )
-        {
-        CMUILOGGER_WRITE( "AsyncStop" );
-
-        iWait.AsyncStop();
-        }
-
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::RunL()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::DoCancel
-//
-// From active object framework
-// ---------------------------------------------------------
-//
-void CActiveWrapper::DoCancel()
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::DoCancel()" );
-
-    if ( iWait.IsStarted() )
-        {
-        CMUILOGGER_WRITE( "AsyncStop" );
-
-        iWait.AsyncStop();
-        }
-
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::DoCancel()" );
-    }
-    
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetStringAttribute
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetStringAttribute( TInt const aConnectionId, 
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TUint const aAttribute,
-                            TDes& aValue )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetStringAttribute()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );
-        aConnectionMonitor->GetStringAttribute( aConnectionId, 0, aAttribute,
-                                                aValue, iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetStringAttribute()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetIntAttribute
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetIntAttribute( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TUint const aAttribute,
-                            TInt& aValue )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetIntAttribute()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );
-        aConnectionMonitor->GetIntAttribute( aConnectionId, 
-                                             0,
-                                             aAttribute,
-                                             aValue,
-                                             iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetIntAttribute()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetUintAttribute
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetUintAttribute( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TUint const aAttribute,
-                            TUint& aValue )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetUintAttribute()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );
-        aConnectionMonitor->GetUintAttribute( aConnectionId,
-                                              0,
-                                              aAttribute,
-                                              aValue,
-                                              iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetUintAttribute()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetConnSharings
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetConnSharings( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TConnMonClientEnumBuf& aValue )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetConnSharings()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );   
-        aConnectionMonitor->GetPckgAttribute( aConnectionId,
-                                              0,
-                                              KClientInfo,
-                                              aValue,
-                                              iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetConnSharings()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetConnTime
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetConnTime( TInt const aConnectionId,
-                            RConnectionMonitor* const aConnectionMonitor,
-                            TConnMonTimeBuf& aValue )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetConnTime()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );   
-        aConnectionMonitor->GetPckgAttribute( aConnectionId,
-                                              0,
-                                              KStartTime,
-                                              aValue,
-                                              iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetConnTime()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetBearerType
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetBearerType( TInt const aConnectionId,
-                            RConnectionMonitor& aConnectionMonitor,
-                            TUint const aAttribute,
-                            TInt& aValue )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetBearerType()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );
-        aConnectionMonitor.GetIntAttribute( aConnectionId, 
-                                            0,
-                                            aAttribute,
-                                            aValue,
-                                            iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetBearerType()" );
-    }
-
-
-// ---------------------------------------------------------
-// CActiveWrapper::StartGetConnectionCount
-//
-// Starts the active object
-// ---------------------------------------------------------
-//
-void CActiveWrapper::StartGetConnectionCount( TUint& aConnectionCount,
-                            RConnectionMonitor& aConnectionMonitor )
-    {
-    CMUILOGGER_ENTERFN( "CActiveWrapper::StartGetConnectionCount()" );
-
-    if ( IsActive() == EFalse )
-        {
-        CMUILOGGER_WRITE( "NOT active" );
-        aConnectionMonitor.GetConnectionCount( aConnectionCount, iStatus );
-        SetActive();
-        iWait.Start();
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Already active" );
-        }
-        
-    CMUILOGGER_LEAVEFN( "CActiveWrapper::StartGetConnectionCount()" );
-    }
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionArray.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Contains and handles CConnectionInfo instances
-*     
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "ConnectionArray.h"
-#include "ConnectionMonitorUiLogger.h"
-
-// CONSTANTS
-/**
-* Count of allowed connections.
-*/
-const TUint KConnArrayGranuality = KConnMonMaxClientUids;   
-
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CConnectionArray::~CConnectionArray
-// ---------------------------------------------------------
-//
-CConnectionArray::~CConnectionArray()
-    {
-    if ( iConnectionArray )
-        {
-        iConnectionArray->ResetAndDestroy();
-        }
-    delete iConnectionArray;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::CConnectionArray
-// ---------------------------------------------------------
-//
-CConnectionArray::CConnectionArray()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::ConstructL
-// ---------------------------------------------------------
-//
-void CConnectionArray::ConstructL()
-    {
-    iConnectionArray = new ( ELeave ) 
-                    CArrayPtrFlat<CConnectionInfoBase>( KConnArrayGranuality );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::MdcaCount
-// ---------------------------------------------------------
-//
-TInt  CConnectionArray::MdcaCount() const
-    {
-    return iConnectionArray->Count();
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::MdcaPoint
-// ---------------------------------------------------------
-//
-TPtrC CConnectionArray::MdcaPoint( TInt aIndex ) const
-    {
-    return ( *iConnectionArray )[aIndex]->GetConnectionListBoxItemText();
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::DeepCopyL
-// ---------------------------------------------------------
-//
-CConnectionArray* CConnectionArray::DeepCopyL()
-	{
-	CConnectionArray* temp = new ( ELeave ) CConnectionArray();
-	CleanupStack::PushL( temp );
-    temp->ConstructL();
-    TInt count = iConnectionArray->Count();
-    CConnectionInfoBase* tempConnInfo = NULL;
-    for ( TInt i = 0; i < count; ++i )
-	    {
-	    tempConnInfo = ( *iConnectionArray )[i]->DeepCopyL();
-		CleanupStack::PushL( tempConnInfo );	    
-	    temp->AppendL( tempConnInfo );
-		CleanupStack::Pop( tempConnInfo );	    
-	    }
-	CleanupStack::Pop( temp );
-	return temp;
-	}
-
-// ---------------------------------------------------------
-// CConnectionArray::GetArrayIndex
-// ---------------------------------------------------------
-//
-TInt CConnectionArray::GetArrayIndex( TUint aConnectionId ) const
-    {
-    CMUILOGGER_WRITE_F( "GetArrayIndex: %d", aConnectionId );
-    TBool found( EFalse );
-    TInt index( 0 );
-    TInt count = iConnectionArray->Count();
-    TUint connectionId( 0 );
-
-    while ( ( index <  count ) && !found  )
-        {
-        connectionId = ( *iConnectionArray )[index]->GetConnectionId();
-        if ( connectionId == aConnectionId )
-            {
-            found = ETrue;
-            }
-        else
-            {
-            ++index;            
-            }
-        }
-
-    CMUILOGGER_WRITE_F( "Found: %d", found );
-
-    return ( found ? index : KErrNotFound );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::GetArrayIndex
-// ---------------------------------------------------------
-//
-TInt CConnectionArray::GetArrayIndex( CConnectionInfoBase* aConnection ) const
-    {
-    CMUILOGGER_WRITE_F( "GetArrayIndex: %d", 
-                       aConnection->GetConnectionId() );
-    TBool found( EFalse );
-    TInt index( 0 );
-    TInt count = iConnectionArray->Count();
-
-    while ( ( index <  count ) && !found  )
-        {
-        if ( ( *iConnectionArray )[index] == aConnection )
-            {
-            found = ETrue;
-            }
-        else
-            {
-            ++index;            
-            }        
-        }
-
-    CMUILOGGER_WRITE_F( "Found: %d", found );
-
-    return ( found ? index : KErrNotFound );        
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::AppendL
-// ---------------------------------------------------------
-//
-void CConnectionArray::AppendL( CConnectionInfoBase* aConnection )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionArray::AppendL" );
-    if ( aConnection )
-        {
-        TUint connectionId = aConnection->GetConnectionId();
-        TInt index = GetArrayIndex( connectionId );
-
-        if ( index == KErrNotFound )
-            {
-            if ( aConnection->GetStatus() != EConnectionClosed &&
-                aConnection->GetStatus() != EConnectionUninitialized )
-                {
-                iConnectionArray->AppendL( aConnection );
-                }
-            }
-        }
-
-    CMUILOGGER_LEAVEFN( "CConnectionArray::AppendL" );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::Delete
-// ---------------------------------------------------------
-//
-void CConnectionArray::Delete( TUint aConnectionId )
-    {
-    CMUILOGGER_WRITE_F( "Deleting connection: %d", aConnectionId );
-    TInt count = iConnectionArray->Count();
-    TUint connectionId( 0 );
-    TBool deleted( EFalse );
-    for ( TInt i = 0; (i < count) && !deleted; ++i )
-        {
-        connectionId = ( *iConnectionArray )[i]->GetConnectionId();
-        if ( connectionId == aConnectionId )
-            {
-            delete ( *iConnectionArray )[i];
-            iConnectionArray->Delete( i );
-            iConnectionArray->Compress();
-            deleted = ETrue;
-            }
-        }
-    CMUILOGGER_WRITE_F( "Found and deleted: %b", deleted );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::Delete
-// ---------------------------------------------------------
-//
-void CConnectionArray::Delete( CConnectionInfoBase* aConnection )
-    {
-    CMUILOGGER_WRITE_F( "Deleting connection: %d", 
-                        aConnection->GetConnectionId() );
-    TInt count = iConnectionArray->Count();
-    TBool deleted( EFalse );
-    for ( TInt i = 0; (i < count) && !deleted; ++i )
-        {
-        if ( ( *iConnectionArray )[i] == aConnection )
-            {
-            delete ( *iConnectionArray )[i];
-            iConnectionArray->Delete( i );
-            iConnectionArray->Compress();
-            deleted = ETrue;
-            }
-        }
-    CMUILOGGER_WRITE_F( "Found and deleted: %b", deleted );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionArray::Reset
-// ---------------------------------------------------------
-//
-void CConnectionArray::Reset()
-    {
-    iConnectionArray->ResetAndDestroy();
-    }
-
-// ---------------------------------------------------------
-// CConnectionArray::operator[]
-// ---------------------------------------------------------
-//
-CConnectionInfoBase* CConnectionArray::operator[]( TUint aIndex ) const
-    {
-    return ( *iConnectionArray )[aIndex];
-    }
-    
-// ---------------------------------------------------------
-// CConnectionArray::At
-// ---------------------------------------------------------
-//
-CConnectionInfoBase* CConnectionArray::At( TInt aIndex ) const
-    {
-    CMUILOGGER_ENTERFN( "CConnectionArray::At()" );
-    CConnectionInfoBase* temp( NULL );
-    TInt count = iConnectionArray->Count();
-    CMUILOGGER_WRITE_F( "count %d", count );
-    
-    if ( count  && ( aIndex < count ) )
-        {
-        temp = ( *iConnectionArray )[aIndex];
-        }
-    
-    CMUILOGGER_LEAVEFN( "CConnectionArray::At()" );
-    return temp;
-    }    
-
-// ---------------------------------------------------------
-// CConnectionArray::NumberOfActiveConnections
-// ---------------------------------------------------------
-//
-TInt CConnectionArray::NumberOfActiveConnections() const 
-    {
-    TInt count( 0 );
-
-    CMUILOGGER_WRITE_F(
-         "NumberOfActiveConnections: all in array: [%d]\n",
-         MdcaCount() );
-
-    // we need to count all and only the open connection
-    for ( TInt i = 0; i < MdcaCount(); ++i )
-        {
-         if ( ( *iConnectionArray )[i]->IsAlive() )
-             {
-             ++count;
-             }
-        }
-
-    CMUILOGGER_WRITE_F( "Active connections: [%d]\n", count );
-    return count;
-    }    
-
-// ---------------------------------------------------------
-// CConnectionArray::NumberOfSuspendedConnections
-// ---------------------------------------------------------
-//
-TInt CConnectionArray::NumberOfSuspendedConnections() const 
-    {
-    TInt count( 0 );
-    
-    CMUILOGGER_WRITE_F(
-         "Number of all connection in array: [%d]\n", MdcaCount() );
-
-    // we need to count all and only the open connection
-    for ( TInt i = 0; i < MdcaCount(); ++i )
-        {
-         if ( ( *iConnectionArray )[i]->IsSuspended() )
-             {
-             ++count;
-             }
-        }
-    
-    CMUILOGGER_WRITE_F( "Suspended connections: [%d]\n", count );
-    return count;
-    }
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionInfoBase.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1201 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a connection
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include <stdlib.h>
-#include <nifvar.h>
-#include <StringLoader.h>
-#include <connectionmonitorui.rsg>
-#include <avkon.rsg>
-#include <AknUtils.h>
-#include <apgcli.h>
-
-#include "ConnectionMonitorUiLogger.h"
-#include "ConnectionInfoBase.h"
-#include "ActiveWrapper.h"
-
-// CONSTANTS
-
-const TUint KUpArrowChar = 0x2191; ///< ASCII code of UpArrow
-const TUint KDownArrowChar = 0x2193; ///< ASCII code of DownArrow
-const TUint KBannedServerUID = 0x101fd9c5; // Banned DHCP server UID
-
-const TInt KFeedsServerUid         = 0x1020728E;
-const TInt KDownloadMgrServerUid   = 0x10008D60;
-const TInt KMessagingServerUid     = 0x1000484b;
-const TInt KJavaVMUid              = 0x102033E6;
-const TInt KSUPLServerUid          = 0x102073CA;
-
-LOCAL_D const TInt KStringsGranularity = 5;
-
-_LIT( KMrouterName, "mRouter"); ///< see CheckMrouteIap
-_LIT( KEmpty, "");      ///< Empty string
-
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::~CConnectionInfoBase
-// ---------------------------------------------------------
-//
-CConnectionInfoBase::~CConnectionInfoBase()
-    {
-    delete iDetailsArray;
-    delete iAppNames;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::CConnectionInfoBase
-// ---------------------------------------------------------
-//
-CConnectionInfoBase::CConnectionInfoBase(
-                           TInt aConnectionId,
-                           RConnectionMonitor* const aConnectionMonitor,
-                           TConnMonBearerType aConnectionBearerType,
-                           CActiveWrapper* aActiveWrapper ) :
-    iConnectionMonitor( aConnectionMonitor ), 
-    iStartTime( NULL ),
-    iDeletedFromCMUI( EFalse ),
-    iActiveWrapper( aActiveWrapper )
-    {
-    CMUILOGGER_WRITE( "CConnectionInfoBase constuctor - start " );
-    iConnectionStatus = EConnectionUninitialized;
-    iConnectionId = aConnectionId;
-    iConnectionBearerType = aConnectionBearerType;
-    iLastSpeedUpdate.UniversalTime();
-    CMUILOGGER_WRITE( "CConnectionInfoBase constuctor - end " );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ConstructL
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::ConstructL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionInfoBase::ConstructL() start" );
-
-    if ( iConnectionBearerType >= EBearerExternalCSD )
-        {
-        StringLoader::Load( iConnectionName,
-                            R_QTN_CMON_ITEM_CONN_NAME_MODEM );
-        }
-    else
-        {
-        iActiveWrapper->StartGetStringAttribute( iConnectionId,
-                                                 iConnectionMonitor,
-                                                 KIAPName,
-                                                 iConnectionName );
-        TInt err( iActiveWrapper->iStatus.Int() );
-        CMUILOGGER_WRITE_F( "CConnectionInfoBase::ConstructL() status: %d",
-                            err );
-        CMUILOGGER_WRITE_F( "iConnectionName : %S", &iConnectionName );
-        CMUILOGGER_WRITE_F( "iConnectionId : %d", iConnectionId );
-        CMUILOGGER_WRITE_F( "iConnectionBearerType : %d", 
-                            ( TInt )iConnectionBearerType );
-        if ( err != KErrNone )
-            {
-            User::Leave( err );
-            }
-        }
-    
-    if ( !iAppNames )
-        {
-        iAppNames = new( ELeave ) CDesCArrayFlat( KStringsGranularity );
-        }
-
-    StatusChangedL();
-    if ( GetStatus() == EConnectionSuspended )
-        {
-        InitializeConnectionInfoL();
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionInfoBase::ConstructL() end" );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::StatusChangedL
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::StatusChangedL()
-    {
-    CMUILOGGER_WRITE( "CConnectionInfoBase::StatusChangedL() start" );
-
-    RefreshConnectionStatus();
-
-    switch ( iConnectionStatus )
-        {
-        case EConnectionCreated:
-            {
-            InitializeConnectionInfoL();
-            break;
-            }
-        case EConnectionSuspended:
-            {
-            RefreshDetailsL();
-            if ( !iDetailsArray )
-                {
-                ToArrayDetailsL();
-                }
-            RefreshDetailsArrayL();
-            break;
-            }
-        case EConnectionClosing:
-        case EConnectionClosed:
-        case EConnectionUninitialized:
-        	{
-        	if ( iDetailsArray ) // if there is details array
-        	    {
-        	    RefreshDetailsArrayL();
-        	    }
-            break;
-        	}
-        case EConnectionCreating:
-        default :
-            {
-            break;
-            }
-        }
-
-    RefreshConnectionListBoxItemTextL();
-
-    CMUILOGGER_WRITE( "CConnectionInfoBase::StatusChangedL() end" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::IsAlive
-// ---------------------------------------------------------
-//
-TBool CConnectionInfoBase::IsAlive() const
-    {
-    TBool alive( EFalse );
-    if ( ( iConnectionStatus == EConnectionSuspended ) ||
-         ( iConnectionStatus == EConnectionCreated ) )
-        {
-        alive = ETrue;
-        }
-    return alive;
-    }
-    
-// ---------------------------------------------------------
-// CConnectionInfoBase::IsSuspended
-// ---------------------------------------------------------
-//
-TBool CConnectionInfoBase::IsSuspended() const
-    {
-    TBool suspended( EFalse );
-    if ( iConnectionStatus == EConnectionSuspended )
-        {
-        suspended = ETrue;
-        }
-    return suspended;
-    }    
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetConnectionId
-// ---------------------------------------------------------
-//
-CDesCArrayFlat* CConnectionInfoBase::GetDetailsArray() const
-    {
-    return iDetailsArray;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetConnectionId
-// ---------------------------------------------------------
-//
-TUint CConnectionInfoBase::GetConnectionId() const
-    {
-    return iConnectionId;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetStatus
-// ---------------------------------------------------------
-//
-TConnectionStatus CConnectionInfoBase::GetStatus() const
-    {
-    return iConnectionStatus;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetName
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::GetNameLC() const
-    {
-    HBufC* name = iConnectionName.AllocLC();
-    return name;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetBearerType
-// ---------------------------------------------------------
-//
-TConnMonBearerType CConnectionInfoBase::GetBearerType() const
-    {
-    return iConnectionBearerType;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetConnectionListBoxItemText
-// ---------------------------------------------------------
-//
-TPtrC CConnectionInfoBase::GetConnectionListBoxItemText() const
-    {
-    return iListBoxItemText;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::RefreshConnectionStatus
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::RefreshConnectionStatus()
-    {
-    TConnectionStatus connStatus( EConnectionUninitialized );
-    iActiveWrapper->StartGetIntAttribute( iConnectionId,
-                                          iConnectionMonitor,
-                                          KConnectionStatus,
-                                          ( ( TInt& )( connStatus ) ) );
-    TInt err( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "RefreshConnectionStatus status : %d",
-                        err );
-    if ( err == KErrNone )
-        {
-        RefreshConnectionStatus( connStatus );
-        }
-    else
-        {
-        iActiveWrapper->Cancel();
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::RefreshConnectionStatus
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::RefreshConnectionStatus(
-                                   const TInt aConnectionStatus )
-    {
-    CMUILOGGER_ENTERFN( "RefreshConnectionStatus" );
-    CMUILOGGER_WRITE_F( "RefreshConnectionStatus aConnectionStatus %d",
-                        ( TInt )aConnectionStatus );
-    CMUILOGGER_WRITE_F( "iConnectionStatus before %d",
-                        ( TInt )iConnectionStatus );
-                        
-
-    if ( ( aConnectionStatus == KLinkLayerOpen ) ||
-          ( ( aConnectionStatus == KConnectionOpen ) &&
-            ( iConnectionBearerType >= EBearerExternalCSD ) ) )
-        {
-        CMUILOGGER_WRITE("1");
-        iConnectionStatus = EConnectionCreated;
-        }
-    else if ( ( aConnectionStatus == KConnectionClosed ) ||
-              ( aConnectionStatus == KLinkLayerClosed ) ) 
-        {
-        CMUILOGGER_WRITE("2");        
-        iConnectionStatus = EConnectionClosed;
-        }
-    else if ( ( ( aConnectionStatus >= KMinAgtProgress ) &&
-               ( aConnectionStatus <= KConnectionOpen ) ) ||
-               ( aConnectionStatus == KStartingSelection ) ||
-               ( aConnectionStatus == KFinishedSelection ) ||
-               ( aConnectionStatus == KConfigDaemonStartingRegistration ) ||
-               ( aConnectionStatus == KConfigDaemonFinishedRegistration ) )
-        // creating
-        {
-        CMUILOGGER_WRITE("5");
-        iConnectionStatus = EConnectionCreating;
-        }
-    else if ( aConnectionStatus == KDataTransferTemporarilyBlocked )
-        {
-        CMUILOGGER_WRITE("6");
-        iConnectionStatus = EConnectionSuspended;
-        }
-    else if ( ( iConnectionStatus == EConnectionCreated ) &&
-              ( ( aConnectionStatus >= KConnectionStartingClose ) &&
-                ( aConnectionStatus < KConnectionClosed ) ||  
-                ( aConnectionStatus == KConfigDaemonFinishedDeregistrationStop ) || 
-                ( aConnectionStatus == KConfigDaemonStartingDeregistration ) ||
-                ( aConnectionStatus == KLinkLayerClosed ) ||
-                ( aConnectionStatus == KConnectionUninitialised )
-              ) )
-        // closing
-        {
-        CMUILOGGER_WRITE("7");        
-        iConnectionStatus = EConnectionClosing;
-        }
-    else if ( ( aConnectionStatus == KConnectionUninitialised ) &&
-             ( iConnectionStatus == EConnectionSuspended ) )
-        { // Back to created from suspended
-        CMUILOGGER_WRITE("4");
-        iConnectionStatus = EConnectionCreated;
-        }
-    else if ( aConnectionStatus == KConnectionUninitialised )
-        {
-        CMUILOGGER_WRITE("3");
-        iConnectionStatus = EConnectionUninitialized;
-        }
-        
-    else
-        {
-        CMUILOGGER_WRITE_F( " else iConnectionStatus  %d",
-                            ( TInt )iConnectionStatus );
-        CMUILOGGER_WRITE_F( "else aConnectionStatus  %d",
-                            ( TInt )aConnectionStatus );
-        
-        CMUILOGGER_WRITE("else");
-        }
-
-
-    CMUILOGGER_WRITE_F( "iConnectionStatus after %d",
-                        ( TInt )iConnectionStatus );
-    CMUILOGGER_LEAVEFN( "RefreshConnectionStatus" );                                                
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::RefreshSentReceivedDataL
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::RefreshSentReceivedDataL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionInfoBase::RefreshSentReceivedDataL" );
-    // Downloaded
-	CMUILOGGER_WRITE("Downloaded before");
-    iActiveWrapper->StartGetUintAttribute( iConnectionId,
-                                           iConnectionMonitor,
-                                           KDownlinkData,
-                                           iDownloaded );
-    TInt errDownload( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "Download status: %d", errDownload );
-    if ( errDownload != KErrNone )
-        {
-        iActiveWrapper->Cancel();
-        User::Leave( errDownload );
-        }
-   	CMUILOGGER_WRITE("Downloaded after");
-    // Uploaded
-	CMUILOGGER_WRITE("Uploaded before");
-    iActiveWrapper->StartGetUintAttribute( iConnectionId,
-                                           iConnectionMonitor,
-                                           KUplinkData,
-                                           iUploaded );
-    TInt errUpload( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "Upload status: %d", errUpload );
-    if ( errUpload != KErrNone )
-        {
-        iActiveWrapper->Cancel();
-        User::Leave( errUpload );
-        }
-	CMUILOGGER_WRITE("Uploaded after");
-
-    CMUILOGGER_LEAVEFN( "CConnectionInfoBase::RefreshSentReceivedDataL" );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::RefreshTransferSpeedsL
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::RefreshTransferSpeedsL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionInfoBase::RefreshTransferSpeedsL" );
-    TUint up = iUploaded;
-    TUint down = iDownloaded;
-
-    RefreshSentReceivedDataL();
-
-    TTime now;
-    now.UniversalTime();
-
-    // 100 * 1/1000sec
-    const TUint KOnesec = 1000;
-    TUint diffTime = I64LOW( now.MicroSecondsFrom( iLastSpeedUpdate ).Int64() /
-                                                        TInt64( 1000 ) );
-
-    if ( iLastSpeedUpdate.Int64() == 0 )
-        {
-        iLastSpeedUpdate = now;
-
-        // speed cannot be calculated at the first time
-        iUpSpeed.quot = 0;
-        iUpSpeed.rem = 0;
-        iDownSpeed.quot = 0;
-        iDownSpeed.rem = 0;
-        }
-    else if ( diffTime > 500 )
-        // at least 1/2sec passed
-        {
-        // bytes/sec
-        div_t upSpeed = div( ( iUploaded - up ) * KOnesec, diffTime );
-        div_t downSpeed = div( ( iDownloaded - down ) * KOnesec, diffTime );
-        // kbytes/sec
-        iUpSpeed = div( upSpeed.quot, 1024 );
-        iDownSpeed = div( downSpeed.quot, 1024 );
-
-        iLastSpeedUpdate = now;
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionInfoBase::RefreshTransferSpeedsL" );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::RefreshDuration
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::RefreshDuration()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionInfoBase::RefreshDuration" );
-    TTime now;
-    now.UniversalTime();
-
-    // passed time since connection established.
-    iDuration = now.MicroSecondsFrom( iStartTime ).Int64();
-    CMUILOGGER_LEAVEFN( "CConnectionInfoBase::RefreshDuration" );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::RefreshAppNamesL
-// ---------------------------------------------------------
-//
-TInt CConnectionInfoBase::RefreshAppNamesL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionInfoBase::RefreshAppNamesL" );
-    
-    TInt sharings( 0 );
-    
-if ( IsAlive() )
-    {
-    if ( iAppNames )
-        {
-        iAppNames->Reset();
-        HBufC* actAppName = NULL;
-        // Check whether it is an internal or external (modem) connection
-        // External (modem) connections does not need application name
-        if ( iConnectionBearerType < EBearerExternalCSD )
-            {
-            TInt count( 0 );
-            TConnMonClientEnumBuf clientBuf;
-            iActiveWrapper->StartGetConnSharings( iConnectionId,
-                                                  iConnectionMonitor,
-                                                  clientBuf );
-            
-            TInt err( iActiveWrapper->iStatus.Int() );
-            CMUILOGGER_WRITE_F( "RefreshSharings status: %d", err );
-            
-            if ( !err )
-                {
-                count = clientBuf().iCount;
-                }
-                
-            CMUILOGGER_WRITE_F( "clientBuf().iCount: %d", count );
-                
-#ifndef __WINS__ // Appl. uid is always zero in emulator
-
-            RApaLsSession appSess;
-            TApaAppInfo appInfo;
-
-            // The connection could be shared by several applications
-            User::LeaveIfError( appSess.Connect() );
-                    
-            TUint i;
-            for ( i = 0; i < count; i++ )
-                {
-                actAppName = NULL;
-                appInfo.iCaption.Zero();
-
-                TInt result = appSess.GetAppInfo( appInfo, 
-                                                  clientBuf().iUid[i] );
-
-                //================================
-                CMUILOGGER_WRITE_F( "result: %d", result ); 
-                CMUILOGGER_WRITE_F( "iClientInfo.iUid[i].iUid: %x", 
-                                    clientBuf().iUid[i].iUid );
-                
-                if ( result != KErrNone )
-                    {
-                    TInt resId = 0;
-                    switch ( clientBuf().iUid[i].iUid )
-                        {
-                        case KMessagingServerUid: // Messaging
-                            {
-                            resId = R_QTN_CMON_SHARING_APP_MSG_SERVER;
-                            break;
-                            }
-                        case KDownloadMgrServerUid: // Downloads
-                            {
-                            resId = R_QTN_CMON_SHARING_APP_DL_MG;
-                            break;
-                            }
-                        case KFeedsServerUid: // Web Feeds
-                            {
-                            resId = R_QTN_CMON_SHARING_APP_RSS_SERVER;
-                            break;
-                            }
-                        case KJavaVMUid: // Application
-                            {
-                            resId = R_QTN_CMON_SHARING_APP_JAVA_MIDLET;
-                            break;
-                            }
-                        case KBannedServerUID:
-                            {   // Forget about DHCP server!
-                            break;
-                            }
-                        case KSUPLServerUid:
-                            {
-                            resId = R_QTN_CMON_SHARING_APP_SUPL;
-                            break;
-                            }
-                        default: // (unknown)
-                            {
-                            resId = R_QTN_CMON_SHARING_APP_UNKNOWN;
-                            break;
-                            }
-                        }
-
-                    if ( resId )
-                        {
-                        actAppName = StringLoader::LoadL( resId );
-                        }
-                    }
-                else
-                    {
-                    actAppName =  HBufC::NewL( appInfo.iCaption.Length() );
-                    TPtr actAppNameBuf = actAppName->Des();
-                    actAppNameBuf.Append( appInfo.iCaption );
-                    }
-
-                if ( actAppName )
-                    {
-                    iAppNames->AppendL( actAppName->Des() );        
-                    delete actAppName;
-                    }
-                }
-
-                iAppNames->Sort();
-                appSess.Close();
-#else
-            TInt countBan( 0 );
-
-            if ( !err )
-                {
-                // remove the DHCP server is not actually 
-                // an owner of the connection
-                for ( TUint tmp = 0; tmp < count; ++tmp )
-                    {
-                    TUid uid = clientBuf().iUid[tmp];
-            
-                    if ( uid.iUid == KBannedServerUID )
-                        {
-                        ++countBan;
-                        }
-                    } // end
-                }
-
-            _LIT( KStrApplication, "Application" );
-            // Give a dummy name of the application
-            for ( TInt i = 0; i < ( count - countBan ); i++ )
-                {
-                iAppNames->AppendL( KStrApplication );
-                }
-
-#endif // __WINS__
-
-            }
-        /* modem connections does not need application name
-        else 
-            {
-            }
-        */
-        sharings = iAppNames->Count();
-        }
-    }
-        
-    CMUILOGGER_LEAVEFN( "CConnectionInfoBase::RefreshAppNamesL" );
-    return sharings;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToDetailsListBoxItemTextL
-// ---------------------------------------------------------
-//
-HBufC*  CConnectionInfoBase::ToDetailsListBoxItemTextL(
-                                                const TUint aResourceId,
-                                                const HBufC* aValueText ) const
-    {
-    CMUILOGGER_ENTERFN( "CConnectionInfoBase::ToDetailsListBoxItemTextL" );
-
-    HBufC* columnName = NULL;
-    if ( aResourceId )
-        {
-        columnName = StringLoader::LoadLC( aResourceId );
-        }
-    else
-        {
-        columnName = KEmpty().AllocLC();
-        }
-
-    HBufC* listBoxItemText = HBufC::NewL( KDetailsListItemText );
-
-    TPtr ptrToListBoxItemText = listBoxItemText->Des();
-
-    ptrToListBoxItemText.Format( KDetailsListItemTextFormat,
-                                 columnName, aValueText );
-    CleanupStack::PopAndDestroy( columnName );
-
-
-    CMUILOGGER_LEAVEFN( "CConnectionInfoBase::ToDetailsListBoxItemTextL" );
-
-    return listBoxItemText;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToDetailsListBoxItemTextWithAppendL
-// ---------------------------------------------------------
-//
-void  CConnectionInfoBase::ToDetailsListBoxItemTextWithAppendL(
-                                                const TUint aResourceId,
-                                                const HBufC* aValueText )
-    {
-    HBufC* listBoxItemText = ToDetailsListBoxItemTextL( aResourceId,
-                                                        aValueText );
-    CleanupStack::PushL( listBoxItemText );
-    CMUILOGGER_WRITE_F( "LISTBOXITEM: %S", listBoxItemText );
-    iDetailsArray->AppendL( *listBoxItemText );
-    CleanupStack::PopAndDestroy( listBoxItemText );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToDetailsListBoxItemTextWithReplaceL
-// ---------------------------------------------------------
-//
-void  CConnectionInfoBase::ToDetailsListBoxItemTextWithReplaceL(
-                                                    const TUint aResourceId,
-                                                    const HBufC* aValueText,
-                                                    TInt aIndex )
-    {
-    CMUILOGGER_ENTERFN
-        ( "CConnectionInfoBase::ToDetailsListBoxItemTextWithReplaceL" );
-    CMUILOGGER_WRITE_F( "aValueText: %S", aValueText );
-
-    if ( /*( iDetailsArray ) && */
-            ( aIndex < iDetailsArray->Count() ) &&
-                ( aIndex > KErrNotFound ) )
-        {
-        HBufC* listBoxItemText = ToDetailsListBoxItemTextL( aResourceId,
-                                                            aValueText );
-        iDetailsArray->Delete( aIndex );
-        CleanupStack::PushL( listBoxItemText );
-        iDetailsArray->InsertL( aIndex, *listBoxItemText );
-        CleanupStack::PopAndDestroy( listBoxItemText );
-        iDetailsArray->Compress();
-        }
-    CMUILOGGER_LEAVEFN
-        ( "CConnectionInfoBase::ToDetailsListBoxItemTextWithReplaceL" );
-
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringBearerLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringBearerLC() const
-    {
-    HBufC* bearer = NULL;
-    TUint resourceId( 0 );
-
-    // Bearer type
-    if ( iConnectionBearerType == EBearerHSCSD ||
-        iConnectionBearerType == EBearerExternalHSCSD )
-        {
-        resourceId = R_QTN_CMON_BEARER_HSCSD;
-
-        }
-    else if ( iConnectionBearerType == EBearerCSD ||
-             iConnectionBearerType == EBearerExternalCSD ||
-             iConnectionBearerType == EBearerWcdmaCSD ||
-             iConnectionBearerType == EBearerExternalWcdmaCSD )
-        {
-        resourceId = R_QTN_SET_BEARER_DATA_CALL;
-        }
-    else if ( iConnectionBearerType == EBearerWLAN )
-        {
-        resourceId = R_QTN_WLAN_SETT_BEARER_WLAN;
-        }
-    else
-        {
-        resourceId = R_QTN_SET_BEARER_PACKET_DATA;
-        }
-
-    bearer = StringLoader::LoadLC( resourceId );
-
-    return bearer;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringStatusLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringStatusLC( TBool aIsDetailsView ) const
-    {
-    HBufC* status = NULL;
-    TUint resourceId( 0 );
-    switch ( iConnectionStatus )
-        {
-        case EConnectionCreated:
-            {
-            if ( iUpSpeed.quot || iUpSpeed.rem ||
-                iDownSpeed.quot || iDownSpeed.rem )
-                {
-                resourceId = aIsDetailsView ? R_QTN_CMON_STATUS_DETAILS_ACTIVE 
-                                            : R_QTN_CMON_STATUS_ACTIVE;
-                }
-            else
-                {
-                resourceId = aIsDetailsView ? R_QTN_CMON_STATUS_DETAILS_IDLE 
-                                            : R_QTN_CMON_STATUS_IDLE;
-                }
-            break;
-            }
-        case EConnectionUninitialized:
-        case EConnectionClosed:
-            {
-            resourceId = aIsDetailsView ? R_QTN_CMON_STATUS_DETAILS_CLOSED 
-                                        : R_QTN_CMON_STATUS_CLOSED;
-            break;
-            }
-        case EConnectionClosing:
-            {
-            resourceId = aIsDetailsView ? R_QTN_CMON_STATUS_DETAILS_CLOSING 
-                                        : R_QTN_CMON_STATUS_CLOSING;
-            break;
-            }
-        case EConnectionSuspended:
-            {
-            resourceId = aIsDetailsView ? R_QTN_CMON_STATUS_DETAILS_SUSPENDED 
-                                        : R_QTN_CMON_STATUS_SUSPENDED;
-            break;
-            }
-        case EConnectionCreating:
-        default :
-            {
-            resourceId = aIsDetailsView ? R_QTN_CMON_STATUS_DETAILS_CREATING 
-                                        : R_QTN_CMON_STATUS_CREATING;
-            break;
-            }
-        }
-
-    status = StringLoader::LoadLC( resourceId );
-
-    return status;
-    }
-    
-    
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringTotalTransmittedDataLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringTotalTransmittedDataLC() const
-    {
-    TUint total = iUploaded + iDownloaded;
-    CMUILOGGER_WRITE_F( "iUploaded : %d", iUploaded );
-    CMUILOGGER_WRITE_F( "iDownloaded : %d", iDownloaded );
-    CMUILOGGER_WRITE_F( "total : %d", total );
-    
-    return ToStringLoadedDataLC( total );
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringSentDataLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringSentDataLC( TBool aToBeThreeDigit ) const
-    {
-    return ToStringLoadedDataLC( iUploaded, aToBeThreeDigit, KUpArrowChar );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringReceivedDataLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringReceivedDataLC( TBool aToBeThreeDigit ) const
-    {
-    return ToStringLoadedDataLC( iDownloaded, aToBeThreeDigit, KDownArrowChar );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringTransferSpeedUpLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringTransferSpeedUpLC() const
-    {
-    return ToStringTransferSpeedLC( iUpSpeed, KUpArrowChar );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringTransferSpeedDownLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringTransferSpeedDownLC() const
-    {
-    return ToStringTransferSpeedLC( iDownSpeed, KDownArrowChar );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringDurationLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringDurationLC() const
-    {
-    const TUint KTimeStringLength = 64;
-    const TUint KTimeFormatBuf = 16;
-    const TUint KDateFormatBuf = 16;
-    _LIT( KDayFormat, "%d" );
-
-
-    TTime now;
-    now.UniversalTime();
-    HBufC* timeString = NULL;
-    
-    TTimeIntervalDays days = NULL;
-    
-    if  ( iStartTime != NULL )
-        {
-        // calculate days passed since connection started
-        days = now.DaysFrom( iStartTime );
-        CMUILOGGER_WRITEF( _L( "ToStringDurationLC days before: %d" ),
-                               days.Int() );
-        }
-    
-    // passed time since connection established.
-    if ( days.Int() <= 0 )
-        // it's still within 1 day
-        {
-        timeString = HBufC::NewLC( KTimeStringLength );
-        TPtr16 tempBuf( timeString->Des() );
-
-        HBufC* temp = StringLoader::LoadLC( R_QTN_TIME_DURAT_LONG_WITH_ZERO );
-
-        iDuration.FormatL( tempBuf, *temp );
-        CleanupStack::PopAndDestroy( temp );
-        }
-    else
-        // more than 1 day
-        {
-        CMUILOGGER_WRITEF( _L( "ToStringDurationLC days after: %d" ),
-                               days.Int() );
-            
-        TBuf<KDateFormatBuf>  dayFormat;
-        dayFormat.Format( KDayFormat, days.Int() );
-
-        // format time format string
-        HBufC* tempFormat = StringLoader::LoadLC(
-                                            R_QTN_TIME_DURAT_SHORT_WITH_ZERO );
-        TBuf<KTimeFormatBuf> tempBuf;
-
-        // format hours:mins
-        iDuration.FormatL( tempBuf, *tempFormat );
-
-        CDesCArrayFlat* strings = new( ELeave ) CDesCArrayFlat( 2 );
-        CleanupStack::PushL( strings );
-
-        strings->AppendL( dayFormat );
-        strings->AppendL( tempBuf );
-
-        timeString = StringLoader::LoadL( R_QTN_CMON_DURATION_OVER_24H,
-                                          *strings );
-
-        CleanupStack::PopAndDestroy( strings );
-        CleanupStack::PopAndDestroy( tempFormat );
-        CleanupStack::PushL( timeString );
-        }
-
-    CMUILOGGER_WRITE_F( "duration time1: %S", timeString );
-    
-    TPtr temp( timeString->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-    CMUILOGGER_WRITE_F( "duration temp: %S", &temp );
-    
-    CMUILOGGER_WRITE_F( "duration time2: %S", timeString );
-    
-
-    return timeString;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::CheckMrouterIap
-// ---------------------------------------------------------
-//
-TBool CConnectionInfoBase::CheckMrouterIap()
-    {
-    CMUILOGGER_ENTERFN( "CheckMrouterIap" );
-    TBool result( ETrue );
-
-    CMUILOGGER_WRITE_F( "IAP name: %S", &iConnectionName );
-    iConnectionName.Trim();
-    if ( iConnectionName.Left(
-                      KMrouterName().Length() ).CompareF( KMrouterName ) )
-        {
-        result = EFalse;
-        }
-    CMUILOGGER_LEAVEFN( "CheckMrouterIap" );
-    return result;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringLoadedDataLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringLoadedDataLC( TUint aLoadedData, 
-                                                  TBool aToBeThreeDigit, 
-                                                  const TUint aArrowChar ) const
-    {
-    const TUint KTransferedBytesFormatBuf = 16;
-    const TUint KTransferedBytesWidth = 10;
-    TUint transferedBytesDecimalPlaces(2);
-    TUint resId;
-    HBufC* loadedTxt = NULL;
-
-    TBuf<KTransferedBytesFormatBuf> buf;
-
-    if ( aLoadedData < 1000 )          // bytes
-        {
-        if ( aToBeThreeDigit ) // added arrow to listbox
-            {
-            _LIT( KUdLinkFormatBytes, "%c%d" );
-
-            buf.Format( KUdLinkFormatBytes, aArrowChar, aLoadedData );
-            }
-        else
-            {
-            _LIT( KUdLinkFormatBytes, "%d" );
-
-            buf.Format( KUdLinkFormatBytes, aLoadedData );
-            }
-        resId = R_QTN_LOG_GPRS_AMOUNT_B;
-        }
-    else
-        {                           // KB, MB, GB
-        TUint denom;
-
-        if ( aLoadedData < 1000 * 1024 )
-            {
-            denom = 1024;
-            resId = R_QTN_LOG_GPRS_AMOUNT_KB;
-            }
-        else if ( aLoadedData < 1000 * 1024 * 1024 )
-            {
-            denom = 1024 * 1024;
-            resId = R_QTN_LOG_GPRS_AMOUNT_MB;
-            }
-        else
-            {
-            denom = 1024 * 1024 * 1024;
-            resId = R_QTN_LOG_GPRS_AMOUNT_GB;
-            }
-
-        TReal value = STATIC_CAST( TReal, aLoadedData ) /
-                      STATIC_CAST( TReal, denom );
-                      
-		if ( aToBeThreeDigit )
-			{
-			if ( value < 10 )	// number of decimal places
-				{
-				transferedBytesDecimalPlaces = 2;
-				}
-			else if ( value < 100 )
-				{
-				transferedBytesDecimalPlaces = 1;
-				}
-			else
-				{
-				transferedBytesDecimalPlaces = 0;
-				}
-			}
-
-		TRealFormat Format( KTransferedBytesWidth, 
-							transferedBytesDecimalPlaces );
-
-        HBufC* number = HBufC::NewLC( KTransferedBytesWidth );
-        number->Des().Num( value, Format );
-
-        if ( aToBeThreeDigit ) // added arrow to listbox
-            {
-            _LIT( KUdFormatLarge, "%c%S" );
-            buf.Format( KUdFormatLarge, aArrowChar, number );
-            }
-        else
-            {
-            _LIT( KUdFormatLarge, "%S" );
-            buf.Format( KUdFormatLarge, number );
-            }
-        CleanupStack::PopAndDestroy( number );
-        }
-
-    loadedTxt = StringLoader::LoadLC( resId, buf );
-
-    TPtr temp( loadedTxt->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-
-    return  loadedTxt;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringTransferSpeedLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringTransferSpeedLC( div_t aSpeed,
-                                               const TUint aArrowChar ) const
-    {
-    const TUint KUpDownSpeedBufSize = 16;
-    _LIT( KUdSpeedFmt, "%c%d%S%02d" );
-
-    TBuf<KUpDownSpeedBufSize> buf;
-    TInt resId;
-
-    HBufC* decSep = StringLoader::LoadLC( R_TEXT_CALC_DECIMAL_SEPARATOR );
-
-    resId = R_QTN_CMON_DATA_TRANSF_RATE_UL;
-    buf.Format( KUdSpeedFmt, aArrowChar, aSpeed.quot, decSep, aSpeed.rem );
-
-    CleanupStack::PopAndDestroy( decSep );
-
-    HBufC* speedTxt = StringLoader::LoadLC( resId, buf );
-
-    TPtr temp( speedTxt->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-
-    return speedTxt;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::InitializeConnectionInfoL
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::InitializeConnectionInfoL()
-    {
-    CMUILOGGER_WRITE( "InitializeConnectionInfoL - start " );
-    TConnMonTimeBuf timeBuf;
-    iActiveWrapper->StartGetConnTime( iConnectionId,
-                                      iConnectionMonitor,
-                                      timeBuf );
-    TInt err( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "IntiConnectionInfo() status: %d", err );
-    if ( err != KErrNone )
-        {
-        User::Leave( err );
-        }
-
-    iStartTime = timeBuf();
-    TDateTime dt = iStartTime.DateTime();
-    CMUILOGGER_WRITE_F( "Day : %d", dt.Day() );
-    CMUILOGGER_WRITE_F( "Hour : %d", dt.Hour() );
-    CMUILOGGER_WRITE_F( "Minute : %d", dt.Minute() );
-    CMUILOGGER_WRITE_F( "Second : %d", dt.Second() );
-    
-    
-    RefreshDetailsL();
-    if ( !iDetailsArray )
-        {
-        ToArrayDetailsL();
-        }
-    CMUILOGGER_WRITE( "InitializeConnectionInfoL - end " );
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::StringMarkerRemoval
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::StringMarkerRemoval( HBufC* aStringHolder )
-    {
-    TPtr bufPtr = aStringHolder->Des();
-    
-    const TText KLRMarker = 0x200E;
-    const TText KRLMarker = 0x200F;
-
-    TBuf<2> markers;
-    markers.Append( KLRMarker );
-    markers.Append( KRLMarker );
-
-    // This function is requested to remove directional markers, because they
-    // cause a display error in languages such Hebrew. Directional markers will
-    // be correctly added later, when the one or two parts of the time string 
-    // are merged, again with StringLoader functions.
-    AknTextUtils::StripCharacters( bufPtr, markers ); 
-    }
-    
-// ---------------------------------------------------------
-// CConnectionInfoBase::ToStringAppNameLC
-// ---------------------------------------------------------
-//
-HBufC* CConnectionInfoBase::ToStringAppNameLC( TInt aAppIndex )
-    {
-    HBufC* appName = ( iAppNames->MdcaPoint( aAppIndex ) ).AllocLC();
-    
-    return appName;
-    }
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::GetDeletedFromCMUI
-// ---------------------------------------------------------
-//
-TBool CConnectionInfoBase::GetDeletedFromCMUI() const
-	{
-	return iDeletedFromCMUI;	
-	}
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::SetAllDeletedFromCMUI
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::SetAllDeletedFromCMUI()
-	{
-	iConnectionStatus = EConnectionClosing;
-	}
-
-// ---------------------------------------------------------
-// CConnectionInfoBase::SetDeletedFromCMUI
-// ---------------------------------------------------------
-//
-void CConnectionInfoBase::SetDeletedFromCMUI()
-	{
-	iConnectionStatus = EConnectionClosing;
-	
-	iDeletedFromCMUI = ETrue;	
-	}
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiApp.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  CConnectionMonitorUiApp application class
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include    <eikstart.h>
-#include    "ConnectionMonitorUiApp.h"
-#include    "ConnectionMonitorUiDocument.h"
-
-// ---------------------------------------------------------
-// Panic
-// ---------------------------------------------------------
-//
-void Panic( TInt aReason )
-    {
-    _LIT( KAppName, "Conn. Monitor" );
-    User::Panic( KAppName, aReason );
-    }
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiApp::AppDllUid()
-// Returns application UID
-// ---------------------------------------------------------
-//
-TUid CConnectionMonitorUiApp::AppDllUid() const
-    {
-    return KUidConnectionMonitorUi;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiApp::CreateDocumentL()
-// Creates CConnectionMonitorUiDocument object
-// ---------------------------------------------------------
-//
-CApaDocument* CConnectionMonitorUiApp::CreateDocumentL()
-    {
-    return CConnectionMonitorUiDocument::NewL( *this );
-    }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-
-
-LOCAL_C CApaApplication* NewApplication()
-    {
-    return new CConnectionMonitorUiApp;
-    }
-
-GLDEF_C TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-// End of File  
-
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiAppUi.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,972 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Application UI class
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include <StringLoader.h>
-#include <aknnotedialog.h>
-#include <AknUtils.h>
-#include <cmmanagerext.h>
-#include <nifvar.h>
-#include <connectionmonitorui.rsg>
-#include "ConnectionMonitorUi.hrh"
-#include "ConnectionMonitorUiAppUi.h"
-#include "ConnectionMonitorUiView.h"
-#include "ConnectionMonitorUiDetailsView.h"
-#include "ConnectionArray.h"
-#include "CsdConnectionInfo.h"
-#include "GprsConnectionInfo.h"
-#include "WlanConnectionInfo.h"
-#include "EasyWLANConnectionInfo.h"
-#include "FeatureManagerWrapper.h"
-#include "ActiveWrapper.h"
-
-
-// CONSTANTS
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ----------------------------------------------------------
-// CConnectionMonitorUiAppUi::ConstructL()
-// ----------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::ConstructL()
-    {
-    CMUILOGGER_CREATE;
-
-    CMUILOGGER_WRITE( "Constructing CConnectionMonitorUiAppUi" );
-
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible);
-
-#ifdef RD_CONTROL_PANEL
-    
-    TBool isEmbeddedApp = IsEmbedded();
-    CMUILOGGER_WRITE_F( "IsEmbedded(): %d", isEmbeddedApp );
-
-#endif // RD_CONTROL_PANEL                                  
-
-    iFeatureManagerWrapper = CFeatureManagerWrapper::NewL();
-    TBool isWlanSupported = FeatureManager::FeatureSupported( 
-                                                    KFeatureIdProtocolWlan );
-          
-   CMUILOGGER_WRITE_F( "isWlanSupported: %b", isWlanSupported );
-
-    // connect to connection monitor engine
-    CMUILOGGER_WRITE( "Connection monitor engine" );
-    iMonitor.ConnectL();
-    CMUILOGGER_WRITE( "Connected" );
-
-    CMUILOGGER_WRITE( "Creating connection array" );
-    iConnectionArray = new ( ELeave ) CConnectionArray();
-    iConnectionArray->ConstructL();
-    
-    iActiveWrapper = CActiveWrapper::NewL(); // start ActiveWrapper
-
-    if ( isWlanSupported )
-        {
-        GetEasyWlanIAPNameL();
-        }
-
-    InitializeConnectionArrayL();
-
-    CMUILOGGER_WRITE( "Created" );
-
-    CMUILOGGER_WRITE( "Creating main view" );
-
-#ifdef RD_CONTROL_PANEL
-    CConnectionMonitorUiView* mainView =
-        new ( ELeave ) CConnectionMonitorUiView( iConnectionArray,
-                                                 &iMonitor,
-                                                 isEmbeddedApp,
-                                                 iActiveWrapper );
-#else
-    CConnectionMonitorUiView* mainView =
-        new ( ELeave ) CConnectionMonitorUiView( iConnectionArray,
-                                                 &iMonitor,
-                                                 iActiveWrapper );
-#endif // RD_CONTROL_PANEL
-
-    CleanupStack::PushL( mainView );
-    CMUILOGGER_WRITE( "Constructing main view" );
-    mainView->ConstructL();
-    CMUILOGGER_WRITE( "Adding main view" );
-    AddViewL( mainView );      // transfer ownership to CAknViewAppUi
-
-    SetDefaultViewL( *mainView );
-    iTimerObserver = this;
-
-    CleanupStack::Pop( mainView );
-    CMUILOGGER_WRITE( "Done" );
-
-    CMUILOGGER_WRITE( "Creating details view" );
-    CConnectionMonitorUiDetailsView* detailsView =
-        new ( ELeave ) CConnectionMonitorUiDetailsView( iConnectionArray );
-    CleanupStack::PushL( detailsView );
-    CMUILOGGER_WRITE( "Constructing details view" );
-    detailsView->ConstructL();
-    CMUILOGGER_WRITE( "Adding details view" );
-    AddViewL( detailsView );      // transfer ownership to CAknViewAppUi
-    CleanupStack::Pop( detailsView );
-    CMUILOGGER_WRITE( "Done" );
-    
-    // from this point we can listen to events of RConnectionMonitor server
-    iMonitor.NotifyEventL( *this );
-    
-    activateMainView = EFalse;
-    }
-
-// ----------------------------------------------------
-// CConnectionMonitorUiAppUi::~CConnectionMonitorUiAppUi()
-// Destructor
-// Frees reserved resources
-// ----------------------------------------------------
-//
-CConnectionMonitorUiAppUi::~CConnectionMonitorUiAppUi()
-    {
-    CMUILOGGER_ENTERFN( "~CConnectionMonitorUiAppUi" );
-
-    StopTimer();
-    delete iConnectionArray;
-    delete iEasyWlanIAPName;
-    delete iActiveWrapper;
-    delete iFeatureManagerWrapper;
-
-    // it's needed because views are still active here
-    // and a call from handleforegroundevent from them
-    // can cause exception in StopConnEventNotificationL
-    iMonitor.CancelNotifications();
-    iMonitor.Close();
-    iNewConnectionIdArray.Close();
-    iConnectionsWaitingFirstEvent.Close();
-    CMUILOGGER_LEAVEFN( "~CConnectionMonitorUiAppUi" );
-
-    CMUILOGGER_DELETE;
-    }
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorUiAppUi::InitializeConnectionArrayL
-// ---------------------------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::InitializeConnectionArrayL()
-    {
-    CMUILOGGER_ENTERFN( "InitializeConnectionArrayL" );
-
-    CConnectionInfoBase* connectionInfo = NULL;
-    TUint connectionNumber( 0 );
-    TUint connectionId( 0 );
-    TUint subConnectionCount;
-
-    TUint wlanConnectionCounter( 0 );
-    TUint wlanConnectionId( 0 );
-    TConnMonBearerType bearerType( EBearerUnknown );
-    RArray<TUint> connIds;
-    RArray<TInt> bearers;
-    CleanupClosePushL( connIds );
-    CleanupClosePushL( bearers );
-
-    iActiveWrapper->StartGetConnectionCount( connectionNumber, iMonitor );
-
-    if ( !iActiveWrapper->iStatus.Int() )
-        {
-        CMUILOGGER_WRITE_F( "Number of connections: %d",
-                            connectionNumber );
-
-        for ( TUint i = 1; i <= connectionNumber; ++i )
-            {
-            iMonitor.GetConnectionInfo( i, connectionId, subConnectionCount );
-            connIds.AppendL( connectionId );
-            
-            iActiveWrapper->StartGetBearerType( connectionId,
-                                                iMonitor,
-                                                KBearer,
-                                                ( TInt& )bearerType );                                           
-            CMUILOGGER_WRITE_F( "status.Int(): %d", 
-                                iActiveWrapper->iStatus.Int() );
-            CMUILOGGER_WRITE_F( "bearerType: %d", ( TInt )bearerType );
-            bearers.AppendL( (TInt)bearerType );
-            
-            if ( bearerType == EBearerWLAN )
-                {
-                wlanConnectionCounter++;
-                wlanConnectionId = connectionId;
-                }
-            }
-        
-        for ( TInt i = 0; i < connectionNumber; i++ )
-            {           
-            if ( bearers[i] != EBearerWLAN || wlanConnectionCounter < 2 || connIds[i] == wlanConnectionId )
-                {
-                TInt err;
-                TRAP(err, connectionInfo = CreateConnectionInfoL( connIds[i], (TConnMonBearerType)bearers[i] ));
-                
-                if ( !err && connectionInfo )
-                    {
-                    CleanupStack::PushL( connectionInfo );
-                    iConnectionArray->AppendL( connectionInfo );
-                    CleanupStack::Pop( connectionInfo );
-                    }
-                else
-                    {
-                    iNewConnectionIdArray.Append( connIds[i] );
-                    }
-                }
-            else
-                {
-                CMUILOGGER_WRITE( "Fake WLAN connection, skipping" );
-                }
-            }
-        }
-    else
-        {
-        CMUILOGGER_WRITE_F( "GetConnectionCount status: %d", 
-                            iActiveWrapper->iStatus.Int() );
-        }
-
-    CleanupStack::Pop( &bearers );
-    bearers.Close();
-    CleanupStack::Pop( &connIds );
-    connIds.Close();
-
-    CMUILOGGER_LEAVEFN( "InitializeConnectionArrayL Done" );
-    }
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorUiAppUi::EventL
-// ---------------------------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::EventL(
-                                       const CConnMonEventBase &aConnMonEvent )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiAppUi::EventL" );
-
-    CMUILOGGER_WRITE_F( "EventL type: %d", aConnMonEvent.EventType() );
-
-    CConnectionInfoBase* connectionInfo = NULL;
-    TInt index( 0 );
-    TConnMonEvent event = ( TConnMonEvent ) aConnMonEvent.EventType();
-    TInt connectionId = aConnMonEvent.ConnectionId();
-
-    CMUILOGGER_WRITE_F( "Connection Id:  %d", connectionId );
-
-    switch ( event )
-        {
-        case EConnMonCreateConnection:
-            {
-            CMUILOGGER_WRITE( "EConnMonCreateConnection" );
-
-            if ( connectionId > 0 )
-                {
-                iConnectionsWaitingFirstEvent.AppendL( connectionId );
-                }
-            break;
-            }
-        case EConnMonDeleteConnection:
-            {
-            CMUILOGGER_WRITE( "EConnMonDeleteConnection" );
-            TInt count = iNewConnectionIdArray.Count();
-            TInt i = 0;
-            TBool newConn = EFalse;
-            
-            for ( TInt cindex = 0; cindex < iConnectionsWaitingFirstEvent.Count(); cindex++ )
-                {
-                if ( iConnectionsWaitingFirstEvent[cindex] == connectionId )
-                    {
-                    newConn = ETrue;
-                    iConnectionsWaitingFirstEvent.Remove(cindex);
-                    break;
-                    }
-                }
-
-            if ( newConn )
-                {
-                // Job done
-                break;
-                }
-                
-            while ( i < count )
-                {
-                if ( iNewConnectionIdArray[i] == connectionId )
-                    {
-                    iNewConnectionIdArray.Remove( i );
-                    CMUILOGGER_WRITE_F( "Removed id %d from array", ( TUint )connectionId );
-                    count--;
-                    }
-                else 
-                    {
-                    i++;
-                    }
-                }
-            
-            index = iConnectionArray->GetArrayIndex( connectionId );
-            if ( index >= 0 )
-                {
-                connectionInfo = ( *iConnectionArray )[index]; 
-            
-                if ( iView->Id() == KDetailsViewId )
-                    {               
-                        // Mark the connection as closed and refresh details view.
-                        // It will change the status there.
-                        connectionInfo->RefreshConnectionStatus( KConnectionClosed );
-                        connectionInfo->RefreshDetailsArrayL();                        
-                    }
-                else // MainView
-                    {
-                    TBool deleting = connectionInfo->GetDeletedFromCMUI();
-                    if ( deleting )
-                        {
-                        ShowConnectionSummaryInformationNoteL( connectionInfo );
-                        }
-                    // Mark the connection as closed. When the timer ticks the next
-                    // time the marked connection is deleted and removed from the main view.
-                    connectionInfo->RefreshConnectionStatus( KConnectionClosed );
-                    }                
-                CMUILOGGER_WRITE_F( "Deleted: %d", connectionId );
-                }
-            break;
-            }
-        case EConnMonConnectionStatusChange:
-            {
-            CMUILOGGER_WRITE( "EConnMonConnectionStatusChange" );
-            
-            TBool newConn = EFalse;
-                
-            for ( TInt cindex = 0; cindex < iConnectionsWaitingFirstEvent.Count(); cindex++ )
-                {
-                if ( iConnectionsWaitingFirstEvent[cindex] == connectionId )
-                    {
-                    newConn = ETrue;
-                    iConnectionsWaitingFirstEvent.Remove(cindex);
-                    break;
-                    }
-                }
-
-            index = iConnectionArray->GetArrayIndex( connectionId );
-
-            if ( newConn || ( index < 0 ) )
-                {
-                if ( connectionId > 0)
-                    {
-                    TConnMonBearerType bearerType( EBearerUnknown );
-                    iActiveWrapper->StartGetBearerType( connectionId,
-                                                        iMonitor,
-                                                        KBearer,
-                                                        ( TInt& )bearerType );  
-                    CMUILOGGER_WRITE_F( "status.Int(): %d", 
-                                        iActiveWrapper->iStatus.Int() );
-                    CMUILOGGER_WRITE_F( "bearerType: %d", ( TInt )bearerType );
-                    if ( bearerType == 0 )
-                        {
-                        if ( connectionId )
-                            {
-                            iNewConnectionIdArray.AppendL( connectionId );
-                            CMUILOGGER_WRITE_F( "id %d added to array", ( TUint )connectionId );
-                            break;
-                            }
-                        }          
-                    
-                    connectionInfo = CreateConnectionInfoL( connectionId, bearerType );
-                    }
-                
-                if ( connectionInfo )
-                    {
-                    CleanupStack::PushL( connectionInfo );
-                    iConnectionArray->AppendL( connectionInfo );
-                    CleanupStack::Pop( connectionInfo );
-                    }
-                }
-            
-            index = iConnectionArray->GetArrayIndex( connectionId );
-            CMUILOGGER_WRITE_F( "Found index :  %d", index );
-
-            if ( index >= 0 )
-                {
-                ( *iConnectionArray )[index]->StatusChangedL();
-                }
-            break;
-            }
-        case EConnMonCreateSubConnection:
-        case EConnMonDeleteSubConnection:
-            {
-            CMUILOGGER_WRITE( "SubConnection" );
-            index = iConnectionArray->GetArrayIndex( connectionId );
-            if ( index >= 0)
-                {
-                ( *iConnectionArray )[index]->RefreshDetailsL();
-                }
-            break;
-            }
-        default:
-            {
-            CMUILOGGER_WRITE( "On event default" );
-            break;
-            }
-        }
-
-    if ( iObserver && ( index >= 0 ) )
-        {
-        CMUILOGGER_WRITE( "EventL calls observer" );
-        iObserver->OnEventL( aConnMonEvent, index );
-        }
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiAppUi::EventL" );
-    }
-
-// ---------------------------------------------------------------------------
-// CConnectionMonitorUiAppUi::Static
-// ---------------------------------------------------------------------------
-//
-CConnectionMonitorUiAppUi* CConnectionMonitorUiAppUi::Static()
-    {
-    return REINTERPRET_CAST( CConnectionMonitorUiAppUi*,
-                             CEikonEnv::Static()->EikAppUi() );
-    }
-
-// ---------------------------------------------------------------------------
-//  CConnectionMonitorUiAppUi::::DynInitMenuPaneL( TInt aResourceId,
-//  CEikMenuPane* aMenuPane )
-//  This function is called by the EIKON framework just before it displays
-//  a menu pane. Its default implementation is empty, and by overriding it,
-//  the application can set the state of menu items dynamically according
-//  to the state of application data.
-// ---------------------------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::DynInitMenuPaneL(
-    TInt /*aResourceId*/, CEikMenuPane* /*aMenuPane*/ )
-    {
-    }
-
-// ----------------------------------------------------
-// CConnectionMonitorUiAppUi::HandleKeyEventL(
-//     const TKeyEvent& aKeyEvent, TEventCode /*aType*/ )
-// ----------------------------------------------------
-//
-TKeyResponse CConnectionMonitorUiAppUi::HandleKeyEventL(
-    const TKeyEvent& /*aKeyEvent*/, TEventCode /*aType*/ )
-    {
-    return EKeyWasNotConsumed;
-    }
-
-// ----------------------------------------------------
-// CConnectionMonitorUiAppUi::HandleCommandL( TInt aCommand )
-// ----------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EEikCmdExit:
-        case EAknCmdExit:
-        case EAknSoftkeyExit:
-            {
-            Exit();
-            break;
-            }
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::StartConnEventNotification
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::StartConnEventNotification(
-                                    MActiveEventObserverInterface* aObserver )
-    {
-    CMUILOGGER_ENTERFN
-        ( "CConnectionMonitorUiAppUi::StartConnEventNotification" );
-
-    iObserver = aObserver;
-
-    CMUILOGGER_LEAVEFN
-        ( "CConnectionMonitorUiAppUi::StartConnEventNotification" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::StopConnEventNotification
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::StopConnEventNotification(
-                                MActiveEventObserverInterface* aObserver )
-    {
-    CMUILOGGER_ENTERFN
-        ( "CConnectionMonitorUiAppUi::StopConnEventNotification" );
-
-    if ( iObserver == aObserver )
-        {
-        iObserver = NULL;
-        }
-
-    CMUILOGGER_LEAVEFN
-        ( "CConnectionMonitorUiAppUi::StopConnEventNotification" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::StartTimerL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::StartTimerL( const TInt aInterval )
-    {
-    CMUILOGGER_WRITE( "Starting timer" );
-
-    if ( !iPeriodic )
-        {
-        iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
-	    CMUILOGGER_WRITE_F( "aInterval  :  %d", aInterval );
-        
-        iPeriodic->Start( aInterval, aInterval,
-                          TCallBack( Tick, this ) );
-        }
-
-    CMUILOGGER_WRITE( "Timer started" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::StopTimer
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::StopTimer()
-    {
-    CMUILOGGER_WRITE( "Stopping timer" );
-    if ( iPeriodic )
-        {
-        CMUILOGGER_WRITE( "Timer existing" );
-        iPeriodic->Cancel();
-        delete iPeriodic;
-        iPeriodic = NULL;
-        }
-
-    CMUILOGGER_WRITE( "Timer stopped" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::Tick
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiAppUi::Tick( TAny* aObject )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiAppUi::Tick(TAny* aObject)" );
-
-    CConnectionMonitorUiAppUi* myself =
-                        static_cast<CConnectionMonitorUiAppUi*>( aObject );
-    myself->Tick();
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiAppUi::Tick(TAny* aObject)" );
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::Tick
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiAppUi::Tick()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiAppUi::Tick()" );
-
-    if ( iTimerObserver )
-        {
-        TInt error( KErrNone );
-
-        TRAP( error, iTimerObserver->OnTimerExpiredL() );
-        CMUILOGGER_WRITE_F( "OnTimerExpiredL error id  :  %d", error );
-
-        // refresh listboxes
-        if ( !error && ( iObserver ) )
-            {
-            CMUILOGGER_WRITE( "Tick !error && ( iObserver )" );
-            TRAP( error, iObserver->OnTimerEventL() );
-            }
-        CMUILOGGER_WRITE( "after Tick !error && ( iObserver )" );
-        }
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiAppUi::Tick()" );
-    return 1;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::OnTimerExpiredL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::OnTimerExpiredL()
-    {
-    CMUILOGGER_WRITE_F( "MdcaCount: %d", iConnectionArray->MdcaCount());
-    // First check if there are connections that need to be deleted.
-    // The conditions for deletion are:
-    // 1. Connection status must be closed
-    // 2. Main view must be active (details view should be shown also for closed connections)
-    // 3. There must not be active request ongoing (otherwise deletion might cause crash)    
-    for(TUint i = 0; i < iConnectionArray->MdcaCount(); i++)
-       {
-       CMUILOGGER_WRITE_F( "i: %d", i );
-       CMUILOGGER_WRITE_F( "Status: %d", (*iConnectionArray)[i]->GetStatus() );
-       CMUILOGGER_WRITE_F( "active: %d", iActiveWrapper->IsActive() );
-       if( (*iConnectionArray)[i]->GetStatus() == EConnectionClosed 
-            && !iActiveWrapper->IsActive()
-            && iView->Id() != KDetailsViewId)
-           {
-           CMUILOGGER_WRITE_F( "Delete conn id: %d", (*iConnectionArray)[i]->GetConnectionId() );
-           iConnectionArray->Delete( (*iConnectionArray)[i]->GetConnectionId() );
-           i--;
-           }
-       }
-    
-    
-    TInt count = iNewConnectionIdArray.Count();
-    if ( count > 0 )
-        {
-        for ( TInt i = 0; i < count; i++ )
-            {
-            TConnMonBearerType bearerType( EBearerUnknown );
-            iActiveWrapper->StartGetBearerType( iNewConnectionIdArray[i],
-                                                iMonitor,
-                                                KBearer,
-                                                ( TInt& )bearerType );  
-            CMUILOGGER_WRITE_F( "status.Int(): %d", 
-                                iActiveWrapper->iStatus.Int() );
-            CMUILOGGER_WRITE_F( "bearerType: %d", ( TInt )bearerType );
-            if ( bearerType == 0 )
-                {
-                continue;
-                }
-            CConnectionInfoBase* connectionInfo = NULL;
-            TInt err;
-            TRAP(err, connectionInfo = CreateConnectionInfoL( iNewConnectionIdArray[i], bearerType ));
-            if ( err )
-                {
-                continue;
-                }
-            
-            
-            if ( connectionInfo )
-                {
-                CleanupStack::PushL( connectionInfo );
-                iConnectionArray->AppendL( connectionInfo );
-                CleanupStack::Pop( connectionInfo );
-                
-                iNewConnectionIdArray.Remove( i );
-                count--;
-                i--;
-                CMUILOGGER_WRITE_F( "Removed index %d from array", ( TInt )i );
-                }
-            
-            }
-        }
-    RefreshAllConnectionsL();
-    if ( iView )
-        {
-        CMUILOGGER_WRITE_F( "iView->Id() %d", iView->Id() );
-        if ( iView->Id() == KConnectionsViewId )
-            {
-            CConnectionMonitorUiView* view =
-                    ( CConnectionMonitorUiView* )iView;
-            view->ConnectionKeyObserver();
-            }
-        }
-    }
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::GetTickInerval
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiAppUi::GetTickInerval() const
-	{
-	return KTickInterval;
-	}    
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::RefreshAllConnectionsL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::RefreshAllConnectionsL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiAppUi::RefreshAllConnectionsL" );
-    TUint index( 0 );
-    CConnectionInfoBase* connection = NULL;
-    if ( iConnectionArray )
-        {
-        TUint count = iConnectionArray->MdcaCount();
-        while ( index < count )
-            {
-            connection = ( *iConnectionArray )[index];
-            // MainView Refresh
-            if ( ( connection->IsAlive() ) && 
-                 ( !connection->IsSuspended() ) )
-                 {
-                 CMUILOGGER_WRITE( "MainView Refresh" );
-                 CMUILOGGER_WRITE_F( "RefreshAllConnectionsL index: %d", 
-                                     index );
-                 CMUILOGGER_WRITE_F( "RefreshAllConnectionsL connId: %d", 
-                                     connection->GetConnectionId() );
-                 connection->RefreshDetailsL();
-                 }
-            // DetailsView Refresh
-            if ( ( connection->IsAlive() && 
-                 ( iView->Id() == KDetailsViewId ) ) )
-                {
-                CMUILOGGER_WRITE( "DetailsView Refresh" );
-                connection->RefreshDetailsArrayL();
-                }
-            connection->RefreshConnectionListBoxItemTextL();
-            count = iConnectionArray->MdcaCount();
-            ++index;
-            }
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiAppUi::RefreshAllConnectionsL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::HandleForegroundEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiAppUi::HandleForegroundEventL" );
-
-    CAknViewAppUi::HandleForegroundEventL( aForeground );
-    if ( aForeground )
-        {
-        CMUILOGGER_WRITE( "Foreground" );
-        if ( activateMainView && iView != NULL && iView->Id() == KDetailsViewId )
-            {
-            ((CConnectionMonitorUiDetailsView*) iView)->ActivateMainViewL();
-            activateMainView = EFalse;
-            }
-            
-        TInt interval( KTickInterval );
-        if ( iTimerObserver )
-  	        {
-	          interval = iTimerObserver->GetTickInerval();	
-	          }
-        StartTimerL( interval );
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Background" );
-        StopTimer();
-        activateMainView = EFalse;
-        }
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiAppUi::HandleForegroundEventL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::CreateConnectionInfoL
-// ---------------------------------------------------------
-//
-CConnectionInfoBase* CConnectionMonitorUiAppUi::CreateConnectionInfoL(
-                                                TUint aConnectionId,
-                                                TConnMonBearerType aBearerType )
-    {
-    CMUILOGGER_ENTERFN( "CreateConnectionInfoL - start " );
-
-    CConnectionInfoBase* connection = NULL;
-
-    if ( aConnectionId > 0 )
-        {
-
-#ifdef  __WINS__
-        if ( aBearerType == EBearerLAN )
-            {
-            aBearerType = EBearerGPRS;
-            }
-#endif
-        switch ( aBearerType )
-            {
-            case EBearerGPRS:
-            case EBearerWCDMA:
-            case EBearerEdgeGPRS:
-            case EBearerExternalGPRS:
-            case EBearerExternalWCDMA:
-            case EBearerExternalEdgeGPRS:
-                {
-                CMUILOGGER_WRITE( "CGprsConnectionInfo" );
-                
-                connection = CGprsConnectionInfo::NewL(
-                        aConnectionId,
-                        &iMonitor,
-                        aBearerType,
-                        iActiveWrapper );
-                break;
-                }
-            case EBearerCSD:
-            case EBearerHSCSD:
-            case EBearerWcdmaCSD:
-            case EBearerExternalCSD:
-            case EBearerExternalHSCSD:
-            case EBearerExternalWcdmaCSD:
-                {
-                CMUILOGGER_WRITE( "CCsdConnectionInfo" );
-
-                connection = CCsdConnectionInfo::NewL(
-                        aConnectionId,
-                        &iMonitor,
-                        aBearerType,
-                        iActiveWrapper );
-                break;
-                }
-            case EBearerWLAN:
-                //case EBearerExternalWLAN:
-                {
-                CMUILOGGER_WRITE( "CWlanConnectionInfo" );
-                
-                connection = CWlanConnectionInfo::NewL(
-                        aConnectionId,
-                        &iMonitor,
-                        aBearerType,
-                        iEasyWlanIAPName,
-                        iActiveWrapper );
-                break;
-                }
-            default :
-                {
-                CMUILOGGER_WRITE( "CreateConnectionInfoL, default" );
-                break;
-                }
-            }
-            CMUILOGGER_WRITE_F( "Connection created: %d", aConnectionId );
-
-        if (  connection && connection->CheckMrouterIap() )
-            {
-            CMUILOGGER_WRITE_F( "Connection deleted: %d", aConnectionId );
-            delete connection;
-            connection = NULL;
-            }
-        }
-    else
-        {
-        CMUILOGGER_WRITE( "Connection id is invalid" );
-        }
-
-    CMUILOGGER_LEAVEFN( "CreateConnectionInfoL - end " );
-
-    return connection;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::GetEasyWlanIAPNameL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::GetEasyWlanIAPNameL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiAppUi::GetEasyWlanIAPNameL" );
-
-    delete iEasyWlanIAPName;
-    iEasyWlanIAPName = NULL;
-
-    RCmManagerExt cmManagerExt;
-    cmManagerExt.OpenL();
-    CleanupClosePushL( cmManagerExt );
-    
-    TUint32 easyWlanId = cmManagerExt.EasyWlanIdL();
-    if ( easyWlanId )
-            {
-            CMUILOGGER_WRITE_F( "easyWlanId %d", easyWlanId );
-            iEasyWlanIAPName = cmManagerExt
-                                .GetConnectionMethodInfoStringL( 
-                                                        easyWlanId, 
-                                                        CMManager::ECmName );
-            CMUILOGGER_WRITE_F( "iEasyWlanIAPName: %S", iEasyWlanIAPName );
-            }
-
-    CleanupStack::PopAndDestroy( &cmManagerExt );
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiAppUi::GetEasyWlanIAPNameL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::ShowConnectionSummaryInformationNoteL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::ShowConnectionSummaryInformationNoteL( 
-										const CConnectionInfoBase* aConnection )
-    {
-    CMUILOGGER_ENTERFN( 
-    	"CConnectionMonitorUiContainer::ShowConnectionSummaryInformationNoteL" );
-    	
- 	HBufC* total = aConnection->ToStringTotalTransmittedDataLC();
-    HBufC* duration = aConnection->ToStringDurationLC();
-    
-    CMUILOGGER_WRITE_F( "total: %S", total );
-    CMUILOGGER_WRITE_F( "duration: %S", duration );
-      	
-    CDesCArrayFlat* strings = new( ELeave ) CDesCArrayFlat( 2 );
-    CleanupStack::PushL( strings );
-
-    strings->AppendL( *total );
-    strings->AppendL( *duration );    	
-    	
-    HBufC* informationText;
-    informationText = StringLoader::LoadLC( R_QTN_CMON_CONNECTION_SUMMARY_NOTE_TEXT, 
-    										*strings );
-    										        
-    CAknNoteDialog* dlg = new ( ELeave ) CAknNoteDialog( 
-    										CAknNoteDialog::ENoTone, 
-    										CAknNoteDialog::TTimeout( 5000000 ) );
-    dlg->PrepareLC( R_QTN_CMON_CONNECTION_SUMMARY_NOTE );
-    dlg->SetTextWrapping( EFalse );
-    
-    TPtr temp( informationText->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-    
-    dlg->SetCurrentLabelL( EGeneralNote, temp ); //SetTextL
-    
-    dlg->RunDlgLD();    
-        
-    CleanupStack::PopAndDestroy( informationText );
-    CleanupStack::PopAndDestroy( strings );
-	CleanupStack::PopAndDestroy( duration );
-	CleanupStack::PopAndDestroy( total );
-    
-    CMUILOGGER_LEAVEFN( 
-    	"CConnectionMonitorUiContainer::ShowConnectionSummaryInformationNoteL" );        
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiAppUi::DeleteDetailsView
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiAppUi::DeleteDetailsView(
-                                            TInt aConnId,
-                                            CConnectionInfoBase* aConnInfo )
-    {
-    CMUILOGGER_WRITE( "CConnectionMonitorUiAppUi::DeleteDetailsView Start" );
-    CMUILOGGER_WRITE_F( "aConnInfo:  %d", aConnInfo );
-    CMUILOGGER_WRITE_F( "aConnId:  %d", aConnId );
-
-	TBool deleting = aConnInfo->GetDeletedFromCMUI();
-    iConnectionArray->Delete( aConnId );
-    
-    CMUILOGGER_WRITE_F( "Deleted: %d", aConnId );
-    CMUILOGGER_WRITE( "CConnectionMonitorUiAppUi::DeleteDetailsView End" );
-    }
-
-#ifdef RD_CONTROL_PANEL
-
-// -----------------------------------------------------------------------------
-// CConnectionMonitorUiAppUi::IsEmbedded
-// -----------------------------------------------------------------------------
-//
-TBool CConnectionMonitorUiAppUi::IsEmbedded() const
-    {
-    return iEikonEnv->StartedAsServerApp();
-    }
-    
-#endif // RD_CONTROL_PANEL 
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiContainer.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,757 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  container control class
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include <aknnavi.h>    //for CNaviPane
-#include <aknnavide.h>  //for CAknNavigationDecorator
-
-#include <AknIconArray.h>
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <AknQueryDialog.h>
-#include <AknsUtils.h>
-#include <AknGlobalNote.h>
-
-#include "ConnectionArray.h"
-#include "ConnectionMonitorUiContainer.h"
-#include "FeatureManagerWrapper.h"
-#include "ActiveWrapper.h"
-
-#include <connectionmonitorui.rsg>
-#include <ConnectionMonitorUi.mbg>
-#include <data_caging_path_literals.hrh>
-
-#include  <hlplch.h>
-#include <csxhelp/cmon.hlp.hrh>
-
-// CONSTANTS 
-/**
-* UID of ConnectionMonitorUi App.
-*/
-LOCAL_D const TUid KUidConnMonUI = { 0x101F84D0 };
-
-
-// CONSTANTS
-// Granularity of the model array.
-/**
-* Granularity of icon array
-*/
-LOCAL_D const TInt KGranularity = 5;
-
-
-_LIT( KEmpty, "");  ///< Empty string
-
-// ROM folder
-_LIT( KDriveZ, "z:" );
-
-// Name of the MBM file containing bitmaps
-_LIT( KConnectionMonitorUiMBMFile, "ConnectionMonitorUi.mbm" );
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiContainer::CConnectionMonitorUiContainer(
-                                  CConnectionArray* const aConnectionArray,
-                                  RConnectionMonitor* aMonitor,
-                                  CActiveWrapper* aActiveWrapper )
-    : CCoeControl(), 
-    iMonitor( aMonitor ),
-    iConnectionArray( aConnectionArray ), 
-    isWlanSupported( EFalse ),
-    iActiveWrapper( aActiveWrapper )
-    {
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::ConstructL
-// EPOC two phased constructor
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::ConstructL( TInt aSelectedItem, const TRect& aRect )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiContainer::ConstructL" );
-
-    CreateWindowL(); 
-    
-    iListBox = new( ELeave ) CAknDoubleGraphicStyleListBox;
-    TInt flags( EAknGenericListBoxFlags );
-    iListBox->ConstructL( this, flags );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-                                               CEikScrollBarFrame::EOff,
-                                               CEikScrollBarFrame::EAuto );
-    iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray
-                                         /*ELbmDoesNotOwnItemArray*/ );
-    iListBox->Model()->SetItemTextArray( iConnectionArray );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    
-    TInt actCount = iConnectionArray->MdcaCount() - 1;
-	
-	if ( actCount > KErrNotFound )
-		{
-		iListBox->SetCurrentItemIndex( aSelectedItem > actCount ? actCount : aSelectedItem );	    
-		}
-
-    SetIconsL();
-
-    HBufC* noConn = StringLoader::LoadLC( R_QTN_CMON_NO_ACTIVE_CONNECTIONS,
-                                          iEikonEnv );
-
-    CListBoxView *lbview = iListBox->View();
-    lbview->SetListEmptyTextL( *noConn );
-    CleanupStack::PopAndDestroy( noConn );
-
-    GetPanesL();
-    SetRect( aRect );    
-    ActivateL();
-
-    isWlanSupported = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan ); 
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiContainer::ConstructL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CConnectionMonitorUiContainer::OfferKeyEventL(
-                                                   const TKeyEvent& aKeyEvent,
-                                                   TEventCode aType )
-    {
-    TKeyResponse result( EKeyWasNotConsumed );
-    if ( aType == EEventKey )
-        {
-        TInt index = iListBox->CurrentItemIndex();
-        if ( ( aKeyEvent.iCode == EKeyBackspace ) && ( index != -1 ) )
-            {
-            if ( !( *iConnectionArray )[index]->IsSuspended() )
-                {
-                EndConnectionL();
-                result = EKeyWasConsumed;
-                }
-            }
-        else
-            {
-            result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            }
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::~CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiContainer::~CConnectionMonitorUiContainer()
-    {
-    delete iListBox;
-    delete iNaviDecorator;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::SizeChanged()
-// Called by framework when the view size is changed
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::CountComponentControls
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiContainer::CountComponentControls() const
-    {
-    return 1; // only iListBox
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::ComponentControl( TInt aIndex ) const
-// ---------------------------------------------------------
-//
-CCoeControl* CConnectionMonitorUiContainer::ComponentControl(
-                                                          TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iListBox;
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::OnEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::OnEventL(
-                                       const CConnMonEventBase& aConnMonEvent,
-                                       const TInt aIndex )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiContainer::OnEventL" );
-    CMUILOGGER_WRITE_F( "OnEventL type: %d", aConnMonEvent.EventType() );
-    CMUILOGGER_WRITE_F( "OnEventL index: %d", aIndex );
-
-    TBool validIndex =( iListBox->Model()->NumberOfItems() > KErrNotFound ) &&
-                      ( aIndex > KErrNotFound ) &&
-                      ( iListBox->Model()->NumberOfItems() >= aIndex );
-
-    if ( aConnMonEvent.ConnectionId() )
-        {
-        switch ( aConnMonEvent.EventType() )
-            {
-            case EConnMonCreateConnection:
-                {
-                CMUILOGGER_WRITE( "OnEventL EConnMonCreateConnection" );
-                iListBox->HandleItemAdditionL();
-                break;
-                }
-            case EConnMonDeleteConnection:
-                {
-                CMUILOGGER_WRITE( "OnEventL EConnMonDeleteConnection" );
-    			CMUILOGGER_WRITE_F( "validIndex: %b", validIndex );
-                
-                if ( validIndex )
-                    {
-                    TBool current
-                        ( aIndex == ( TUint )iListBox->CurrentItemIndex() );
-                    AknListBoxUtils::HandleItemRemovalAndPositionHighlightL(
-                                iListBox, aIndex, ETrue );
-                    }
-                iListBox->UpdateScrollBarsL();
-                break;
-                }
-            case EConnMonConnectionStatusChange:
-            case EConnMonCreateSubConnection:
-            case EConnMonDeleteSubConnection:
-                {
-                CMUILOGGER_WRITE( "OnEventL StatusChange SubConnection" );
-                if ( validIndex )
-                    {
-                    iListBox->DrawItem( aIndex );
-                    }
-                break;
-                }
-            default:
-                {
-                CMUILOGGER_WRITE( "OnEventL default" );
-                break;
-                }
-            }
-        }
-    PushAndRefreshNaviPaneL();
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiContainer::OnEventL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::OnTimerEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::OnTimerEventL()
-    {
-    iListBox->DrawNow();
-    PushAndRefreshNaviPaneL();
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::DrawFirstAllListBoxItem
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::DrawFirstAllListBoxItem()
-    {
-    TInt count = iListBox->Model()->NumberOfItems() - 1;
-    for ( TInt i = count; i > -1; --i )
-        {
-        iListBox->DrawItem( i );
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::SelectedConnection
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiContainer::SelectedConnection()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::EndConnectionL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::EndConnectionL()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiContainer::EndConnectionL " );
-    TInt index = iListBox->CurrentItemIndex();
-    if ( ( index >= 0 ) && ( index < iConnectionArray->MdcaCount() ) )
-        {
-        CConnectionInfoBase* connection = ( *iConnectionArray )[index];
-        TUint connectionId = connection->GetConnectionId();
-        HBufC* connectionName = NULL;
-        HBufC* promptConnectionName = NULL;
-
-        // Get the bearertype of a single connection
-        TConnMonBearerType bearer;
-        bearer = connection->GetBearerType();
-
-        if ( isWlanSupported ) // WLAN ON
-            {
-            if ( ( bearer == EBearerWLAN ) && connection->IsEasyWLAN() )
-                {
-                /* check and load the SSID for EasyWLAN */
-                connectionName = connection->GetWlanNetworkNameLC();
-                CMUILOGGER_WRITE_F( "GetWlanNetworkNameLC: %S",
-                                    connectionName );
-                }
-            else
-                {
-                connectionName = connection->GetNameLC();
-                CMUILOGGER_WRITE_F( "GetNameLC: %S", connectionName );
-                }
-            }
-        else // WLAN OFF
-            {
-            connectionName = connection->GetNameLC();
-            CMUILOGGER_WRITE_F( "GetNameLC: %S", connectionName );
-            }
-
-        if ( bearer >= EBearerExternalCSD )
-            {
-            CMUILOGGER_WRITE( "R_QTN_CMON_CONF_END_MODEM_CONN" );
-            promptConnectionName = StringLoader::LoadLC( 
-                                            R_QTN_CMON_CONF_END_MODEM_CONN );
-            }
-        else
-            {
-            CMUILOGGER_WRITE( "R_QTN_CMON_CONF_END_SINGLE_CONN" );
-            promptConnectionName = StringLoader::LoadLC( 
-                                            R_QTN_CMON_CONF_END_SINGLE_CONN,
-                                            *connectionName );
-            }
-
-        CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-        TInt ret = dlg->ExecuteLD( R_END_CONN_CONFIRMATION_QUERY,
-                                   *promptConnectionName );
-
-        CleanupStack::PopAndDestroy( promptConnectionName );
-        CleanupStack::PopAndDestroy( connectionName );
-        
-        TInt connStatus;
-        iActiveWrapper->StartGetIntAttribute( connectionId,
-                                             iMonitor,
-                                             KConnectionStatus,
-                                             ( ( TInt& )( connStatus ) ) );
-        CMUILOGGER_WRITE_F( "KConnectionStatus status.Int(): %d",
-                            iActiveWrapper->iStatus.Int() );
-        CMUILOGGER_WRITE_F( "KConnectionStatus connStatus: %d",
-                            connStatus );
-        CMUILOGGER_WRITE_F( "ret ret: %d", ret );
-                           
-        if ( ( ret == EAknSoftkeyOk ) || ( ret == EAknSoftkeyYes ) )
-            {
-            if ( KErrNone == iActiveWrapper->iStatus.Int() )
-                {                
-                connection->SetDeletedFromCMUI();
-                
-                connection->RefreshConnectionListBoxItemTextL();
-                DrawFirstAllListBoxItem();
-                
-                iMonitor->SetBoolAttribute( connectionId, 0,
-                                            KConnectionStop, ETrue );
-                CMUILOGGER_WRITE( "after SetBoolAttribute" );                                            
-                }
-            }            
-        else
-            {
-            if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-                {
-                /* It is already closed */
-                /* An information note must be displayed */
-                CAknGlobalNote * note = CAknGlobalNote::NewL();
-                CleanupStack::PushL( note );
-                HBufC* informationText =
-                    StringLoader::LoadLC( R_QTN_CMON_INFO_CONN_ALREADY_END );
-
-                note->ShowNoteL(EAknGlobalInformationNote, *informationText );
-                CleanupStack::PopAndDestroy( informationText );
-                CleanupStack::PopAndDestroy( note );
-                CMUILOGGER_WRITE( "It is already closed" );
-                }
-            }
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiContainer::EndConnectionL " );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::EndAllConnectionL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::EndAllConnectionL()
-    {
-    CMUILOGGER_ENTERFN( "EndAllConnectionL - start" );
-
-    const TInt KOnlyOneConnection = 1;
-    const TInt KFirstConnection = 0;
-	CConnectionArray* tempConnArray =  iConnectionArray->DeepCopyL();	
-	CleanupStack::PushL( tempConnArray );
-	
-    TInt connectionCount = tempConnArray->MdcaCount();
-    HBufC* promptTxt = NULL;
-    if ( connectionCount == KOnlyOneConnection )
-        {
-        HBufC* temp = ( *tempConnArray )[KFirstConnection]->GetNameLC();
-        TName iapName = *temp;
-        CleanupStack::PopAndDestroy( temp );
-        promptTxt = StringLoader::LoadLC( R_QTN_CMON_CONF_END_SINGLE_CONN,
-                                       iapName );
-        }
-    else
-        {
-        promptTxt = StringLoader::LoadLC( R_QTN_CMON_CONF_END_ALL_CONNS,
-                                       connectionCount );
-        TPtr temp( promptTxt->Des() );
-        AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-                                       
-        }
-    CAknQueryDialog* dlg = CAknQueryDialog::NewL();
-    TInt ret = dlg->ExecuteLD( R_END_CONN_CONFIRMATION_QUERY, *promptTxt );
-    CleanupStack::PopAndDestroy( promptTxt );
-
-    CConnectionInfoBase* connection = NULL;
-    TUint connectionId( 0 );
-
-    CMUILOGGER_WRITE_F( "ret: %d", ret );
-
-    /* End connections one by one, First CSD, after GPRS and WLAN. */
-    if ( ( ret == EAknSoftkeyOk ) || ( ret == EAknSoftkeyYes ) )
-        {
-        for ( TUint i = 0; i < iConnectionArray->MdcaCount(); ++i )
-            {
-            connection = ( *iConnectionArray )[i];
-            connection->SetAllDeletedFromCMUI();
-            connection->RefreshConnectionListBoxItemTextL();
-            }
-              
-        DrawFirstAllListBoxItem();
-        
-        TConnMonBearerType bearer;
-        for ( TUint i = 0; i < connectionCount; ++i )
-            {
-            CMUILOGGER_WRITE_F( "i: %d", i );
-
-            connection = ( *tempConnArray )[i];
-
-			bearer = connection->GetBearerType();
-		    switch ( bearer )
-		        {
-		        case EBearerCSD:
-		        case EBearerExternalCSD:
-		        case EBearerWcdmaCSD:
-		        case EBearerExternalWcdmaCSD:
-		        case EBearerHSCSD:
-		        case EBearerExternalHSCSD:
-		            {
-		            connectionId = connection->GetConnectionId();
-	            	iMonitor->SetBoolAttribute( connectionId, 0,
-	                                        	KConnectionStop, ETrue );	
-		            CMUILOGGER_WRITE_F( "CSD i: %d", i );
-		            CMUILOGGER_WRITE_F( "connectionId: %d", connectionId );
-		            break;
-		            }		        
-		        default :
-		            {
-		            break;
-		            }
-		        }
-            }
-            
-        for ( TUint i = 0; i < connectionCount; ++i )
-            {
-            CMUILOGGER_WRITE_F( "i: %d", i );
-
-            connection = ( *tempConnArray )[i];
-
-			bearer = connection->GetBearerType();
-		    switch ( bearer )
-		        {
-                case EBearerGPRS:
-                case EBearerWCDMA:
-                case EBearerEdgeGPRS:
-                case EBearerExternalGPRS:
-                case EBearerExternalWCDMA:
-                case EBearerExternalEdgeGPRS:
-                case EBearerWLAN:
-		            {
-		            connectionId = connection->GetConnectionId();
-	            	iMonitor->SetBoolAttribute( connectionId, 0,
-	                                        	KConnectionStop, ETrue );	
-		            CMUILOGGER_WRITE_F( "GPRS i: %d", i );
-		            CMUILOGGER_WRITE_F( "connectionId: %d", connectionId );
-		            break;
-		            }		        
-		        default :
-		            {
-		            break;
-		            }
-		        }
-            }
-        }
-     else
-        {
-        for ( TUint i = 0; 
-             ( ( i < connectionCount ) && 
-               ( KErrNotFound != iActiveWrapper->iStatus.Int() ) ); ++i )
-            {
-            connection = ( *tempConnArray )[i];
-            connectionId = connection->GetConnectionId();
-        	TInt connStatus;
-        	iActiveWrapper->StartGetIntAttribute( connectionId,
-                                                  iMonitor,
-                                                  KConnectionStatus,
-                                                  ( ( TInt& )( connStatus ) ) );
-            }
-            
-        if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-            {
-            /* It is already closed */
-            /* An information note must be displayed */
-            CAknGlobalNote * note = CAknGlobalNote::NewL();
-            CleanupStack::PushL( note );
-            HBufC* informationText =
-                StringLoader::LoadLC( R_QTN_CMON_INFO_CONN_ALREADY_END );
-
-            note->ShowNoteL(EAknGlobalInformationNote, *informationText );
-            CleanupStack::PopAndDestroy( informationText );
-            CleanupStack::PopAndDestroy( note );
-            CMUILOGGER_WRITE( "It is already closed in All" );
-            }
-        }
-        
-    CleanupStack::PopAndDestroy( tempConnArray );
-        
-    CMUILOGGER_LEAVEFN( "EndAllConnectionL - end" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::ListBox
-// ---------------------------------------------------------
-//
-CAknDoubleGraphicStyleListBox* CConnectionMonitorUiContainer::ListBox() const
-    {
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::SetIconsL()
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::SetIconsL()
-    {
-    CMUILOGGER_ENTERFN( "SetIconsL" );
-    
-    TFileName iconsFileName;
-
-    iconsFileName.Append( KDriveZ );
-
-    iconsFileName.Append( KDC_APP_BITMAP_DIR );
-
-    iconsFileName.Append( KConnectionMonitorUiMBMFile );
-
-    CArrayPtr< CGulIcon >* icons = new( ELeave ) CAknIconArray( KGranularity );
-    CleanupStack::PushL( icons );
-
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-
-    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance,
-                            KAknsIIDQgnPropWmlGprs,
-                            iconsFileName,
-                            EMbmConnectionmonitoruiQgn_prop_wml_gprs,
-                            EMbmConnectionmonitoruiQgn_prop_wml_gprs_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance,
-                            KAknsIIDQgnPropWmlCsd,
-                            iconsFileName,
-                            EMbmConnectionmonitoruiQgn_prop_wml_csd,
-                            EMbmConnectionmonitoruiQgn_prop_wml_csd_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance,
-                        KAknsIIDQgnPropWmlHscsd,
-                        iconsFileName,
-                        EMbmConnectionmonitoruiQgn_prop_wml_hscsd,
-                        EMbmConnectionmonitoruiQgn_prop_wml_hscsd_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance,
-                  KAknsIIDQgnPropEmpty,
-                  iconsFileName,
-                  EMbmConnectionmonitoruiQgn_prop_empty,
-                  EMbmConnectionmonitoruiQgn_prop_empty_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance,
-              KAknsIIDQgnPropWmlSms,
-              iconsFileName,
-              EMbmConnectionmonitoruiQgn_prop_cmon_gprs_suspended,
-              EMbmConnectionmonitoruiQgn_prop_cmon_gprs_suspended_mask ) );
-
-    icons->AppendL( AknsUtils::CreateGulIconL( skinInstance,
-                  KAknsIIDQgnPropWlanBearer,
-                  iconsFileName,
-                  EMbmConnectionmonitoruiQgn_prop_wlan_bearer,
-                  EMbmConnectionmonitoruiQgn_prop_wlan_bearer_mask ) );
-
-    iListBox->ItemDrawer()->FormattedCellData()->SetIconArrayL( icons );
-    CleanupStack::Pop( icons ); // icons
-    CMUILOGGER_LEAVEFN( "SetIconsL" );        
-    
-    }
-
-// ---------------------------------------------------------------------------
-// void CConnectionMonitorUiContainer::HandleResourceChange( TInt aType )
-// Handle resource change events.
-// ---------------------------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::HandleResourceChange( TInt aType )
-    {
-    CMUILOGGER_ENTERFN( "HandleResourceChange" );
-    CMUILOGGER_WRITE_F( "aType: %d", aType );            
-    
-    CCoeControl::HandleResourceChange( aType );
-    
-    if ( aType == KAknsMessageSkinChange )
-        {
-        TInt error( KErrNone );
-        TRAP( error,  SetIconsL() );
-        CMUILOGGER_WRITE_F( "KAknsMessageSkinChange error: %d", error );
-        SizeChanged();
-        }
-        
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, 
-                                           mainPaneRect );        
-        SetRect( mainPaneRect );                
-        DrawNow();                
-        }        
-    CMUILOGGER_LEAVEFN( "HandleResourceChange" );        
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::GetPanesL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::GetPanesL()
-    {
-    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-
-    iNaviPane =  STATIC_CAST( CAknNavigationControlContainer*,
-               statusPane->ControlL( TUid::Uid(EEikStatusPaneUidNavi ) ) );
-
-    PushAndRefreshNaviPaneL();
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::PushAndRefreshNaviPaneL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::PushAndRefreshNaviPaneL()
-    {
-    CMUILOGGER_ENTERFN( "PushAndRefreshNaviPaneL - start" );
-
-    HBufC* textOfNaviPane = NULL;
-    TUint countOfConnection = iConnectionArray->NumberOfActiveConnections();
-    CMUILOGGER_WRITE_F( "countOfConnection: %d", countOfConnection );
-
-    if ( iNaviDecorator )
-        {
-        PopNaviPane();
-        }
-
-    if ( countOfConnection )
-        {
-        if ( countOfConnection == 1 )
-            {
-            textOfNaviPane = StringLoader::LoadLC(
-                                         R_QTN_CMON_NAVI_ONE_ACTIVE_CONN );
-            }
-        else
-            {
-            textOfNaviPane = StringLoader::LoadLC(
-                                            R_QTN_CMON_NAVI_MANY_ACTIVE_CONNS,
-                                            countOfConnection );
-            }
-        }
-    else
-        {
-        textOfNaviPane =  KEmpty().AllocLC();
-        }
-
-    TPtr temp( textOfNaviPane->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-        
-    iNaviDecorator = iNaviPane->CreateNavigationLabelL( *textOfNaviPane );
-    CleanupStack::PopAndDestroy( textOfNaviPane );
-
-    iNaviPane->PushL( *iNaviDecorator );
-    CMUILOGGER_LEAVEFN( "PushAndRefreshNaviPaneL - end" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::PopNaviPane
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::PopNaviPane()
-    {
-    iNaviPane->Pop( iNaviDecorator );
-    delete iNaviDecorator;
-    iNaviDecorator = NULL;
-    }   
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiContainer::FocusChanged" );
-    CCoeControl::FocusChanged( aDrawNow );    
-    if ( iListBox )
-        {
-        iListBox->SetFocus( IsFocused() );
-        }        
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiContainer::FocusChanged" );    
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::GetHelpContext()
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiContainer::GetHelpContext( TCoeHelpContext& aContext) const
-    {
-    aContext.iMajor = KUidConnMonUI;
-    aContext.iContext = KCMON_HLP_CMON_MAIN_VIEW;
-    }
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsContainer.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,584 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  container control class
-*
-*
-*/
-
-// INCLUDE FILES
-#include "ConnectionMonitorUiDetailsContainer.h"
-
-#include <aknnavi.h>    //for CNaviPane
-#include <aknnavide.h>  //for CAknNavigationDecorator
-#include <StringLoader.h>
-#include <connectionmonitorui.rsg>
-
-#include "ConnectionArray.h"
-#include "ConnectionMonitorUiLogger.h"
-#include "ConnectionMonitorUiDetailsView.h"
-#include "ConnectionMonitorUi.hrh"
-
-// CONSTANTS
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::ConstructL( const TRect& aRect )
-// EPOC two phased constructor
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::ConstructL( const TRect& aRect,
-                               CConnectionMonitorUiDetailsView* aParentView )
-    {
-    CMUILOGGER_WRITE( "CConnectionMonitorUiDetailsContainer::ConstructL" );
-    CreateWindowL();
-    
-    iParentView = aParentView;
-    iListBox = new( ELeave ) CAknSingleHeadingStyleListBox;
-    iListBox->SetContainerWindowL( *this );
-    TInt flags = 0;
-    flags |= EAknListBoxViewerFlags | EAknListBoxDisableItemSpecificMenu;
-    iListBox->ConstructL( this, flags );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-                                                 CEikScrollBarFrame::EOff,
-                                                 CEikScrollBarFrame::EAuto );
-
-    CMUILOGGER_WRITE( "Creating connection details array" );
-
-    iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray );
-
-    SetRect( aRect );
-
-    HBufC* noConn = StringLoader::LoadLC( R_QTN_CMON_NO_ACTIVE_CONNECTIONS,
-                                          iEikonEnv );
-    CListBoxView *lbview = iListBox->View();
-    lbview->SetListEmptyTextL( *noConn );
-    CleanupStack::PopAndDestroy( noConn );
-
-
-    GetPanesL();
-
-    ActivateL();
-    CMUILOGGER_WRITE( "CConnectionMonitorUiDetailsContainer::ConstructL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::SetSelectedConnectionL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::SetSelectedConnectionL(
-                                                    TUint aConnectionIndex )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsContainer::SetSelectedConnectionL" );
-    CMUILOGGER_WRITE_F( "aConnectionIndex : %d", &aConnectionIndex );
-    CMUILOGGER_WRITE_F( "iConnectionArray->MdcaCount() : %d",
-                        iConnectionArray->MdcaCount() );
-    
-    CConnectionInfoBase* temp = ( *iConnectionArray ).At( aConnectionIndex );
-    CDesCArrayFlat* tempArray = temp ? temp->GetDetailsArray() : NULL ;
-    if ( tempArray )
-        {
-        iConnectionIndex = aConnectionIndex;
-        iConnectionInfo = temp;
-        iListBox->Model()->SetItemTextArray( tempArray );
-        iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-        iListBox->Reset();
-        iListBox->UpdateScrollBarsL();        
-        }
-    
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsContainer::SetSelectedConnectionL" );    
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::~CConnectionMonitorUiDetailsContainer
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiDetailsContainer::~CConnectionMonitorUiDetailsContainer()
-    {
-    delete iListBox;
-    delete iNaviDecorator;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiContainer::CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiDetailsContainer::CConnectionMonitorUiDetailsContainer(
-                             const CConnectionArray* const aConnectionArray )
-    : iConnectionArray( aConnectionArray )
-    {
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::SizeChanged()
-// Called by framework when the view size is changed
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::CountComponentControls() const
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiDetailsContainer::CountComponentControls() const
-    {
-    return 1; // return nbr of controls inside this container
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::ComponentControl( TInt aIndex ) const
-// ---------------------------------------------------------
-//
-CCoeControl* CConnectionMonitorUiDetailsContainer::ComponentControl(
-                                                       TInt aIndex ) const
-    {
-    switch ( aIndex )
-        {
-        case 0:
-            return iListBox;
-        default:
-            return NULL;
-        }
-    }
-	
-// ----------------------------------------------------------------------------
-// CLogsDetailView::HandleNaviDecoratorEventL
-// Handler for pointer events, when the Navi Pane arrows have been tapped
-// ----------------------------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::HandleNaviDecoratorEventL( TInt aEventID )
-    {
-    switch (aEventID)
-        {
-        case MAknNaviDecoratorObserver::EAknNaviDecoratorEventRightTabArrow:
-            if ( iConnectionIndex < (iConnectionArray->MdcaCount() - 1) ) {
-                SetSelectedConnectionL(iConnectionIndex + 1);
-            }
-            break;
-        
-        case MAknNaviDecoratorObserver::EAknNaviDecoratorEventLeftTabArrow:
-            if ( iConnectionIndex > 0 ) {
-                SetSelectedConnectionL(iConnectionIndex - 1);
-            }
-            break;
-            
-        default:
-            return;
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CConnectionMonitorUiDetailsContainer::OfferKeyEventL(
-                                                   const TKeyEvent& aKeyEvent,
-                                                   TEventCode aType )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsContainer::OfferKeyEventL" );    
-    
-    TKeyResponse result( EKeyWasNotConsumed );
-    TInt index = iConnectionIndex;
-    TInt index_closed = iConnectionIndex;
-    CConnectionInfoBase* connection = NULL;
-    if ( aType == EEventKey )
-        {
-        if ( ( aKeyEvent.iCode == EKeyLeftArrow ) ||
-            ( aKeyEvent.iCode == EKeyRightArrow ) )
-            {
-            
-            TInt dir = 0;
-            switch (aKeyEvent.iCode)
-                {
-                case EKeyLeftArrow:
-                    {
-                    dir = -1;
-                    break;
-                    }
-                case EKeyRightArrow:
-                    {
-                    dir = 1;
-                    break;
-                    }
-                }
-            // Handle mirrored layout by negating the directionality
-            if (AknLayoutUtils::LayoutMirrored())
-                {
-                dir = -1 * dir;
-                }
-                
-            index += dir; 
-            
-            TBool step( EFalse );
-            
-            CMUILOGGER_WRITE_F( "OfferKeyEventL index: %d", index );
-            
-            while ( ( index > -1 ) && ( index < iConnectionArray->MdcaCount()
-                    && !step ) )
-                {
-                connection = ( *iConnectionArray )[index];
-                TBool alive = connection->IsAlive();
-                CMUILOGGER_WRITE_F( "OfferKeyEventL alive: %b", alive );
-
-                if ( alive )
-                    {
-                    if ( ( index_closed > -1 ) && 
-                       ( index_closed < iConnectionArray->MdcaCount() ) )
-                        {
-                        CConnectionInfoBase* connection_closed 
-                                       = ( *iConnectionArray )[index_closed];
-
-                        if ( iParentView->GetViewRefreshState() )
-                             {
-                             step = ETrue;
-                             CConnectionMonitorUiAppUi* appUi =
-                                            (CConnectionMonitorUiAppUi*)
-                                            iEikonEnv->EikAppUi();
-                            appUi->DeleteDetailsView( 
-                                        GetSelectedConnectionInfo()
-                                                        ->GetConnectionId(),
-                                        GetSelectedConnectionInfo() );
-                            appUi->StartTimerL();
-                            iParentView->SetViewRefreshState( EFalse );
-                            if ( index_closed > index )
-                                {
-                                iConnectionInfo = connection;
-                                iConnectionIndex = index;
-                                }
-                            iListBox->Model()->SetItemTextArray(
-                                            connection->GetDetailsArray() );
-                            iListBox->DrawNow();
-                            iListBox->UpdateScrollBarsL();
-                            PushAndRefreshNaviPaneL();
-                            }
-                        else
-                            {
-                            step = ETrue;
-                            iConnectionInfo = connection;
-                            iConnectionIndex = index;
-                            iListBox->Model()->SetItemTextArray(
-                                            connection->GetDetailsArray() );
-                            iListBox->DrawNow();
-                            iListBox->UpdateScrollBarsL();
-                            PushAndRefreshNaviPaneL();
-                            }
-                        }
-                    }
-                else
-                    {                        
-                    index += dir; 
-                    }    
-                }
-            result = iListBox->OfferKeyEventL( aKeyEvent, aType );                
-            }
-        else if ( aKeyEvent.iCode == EKeyDevice3 )
-            // selection key press -> go back to main view
-            {
-            CConnectionMonitorUiAppUi::Static()->ActivateLocalViewL(
-                            TUid::Uid( EConnectionMonitorUiMainViewTab ) );
-            result = EKeyWasConsumed;
-            }
-        else
-            {
-            result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-            }
-        }
-
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsContainer::OfferKeyEventL" );    
-
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::OnEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::OnEventL(
-                                    const CConnMonEventBase& aConnMonEvent,
-                                    const TInt aIndex )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsContainer::OnEventL()" );
-    CMUILOGGER_WRITE_F( "aIndex : %d", aIndex );
-    
-    switch ( aConnMonEvent.EventType() )
-        {
-        case EConnMonDeleteConnection:
-            {
-            // Do nothing
-            }
-            break;            
-        case EConnMonCreateConnection:
-            {
-        CMUILOGGER_WRITE_F( "iConnectionInfo : %d", iConnectionInfo );
-            
-            if ( !iConnectionInfo )
-                {
-                SetSelectedConnectionL( 0 );
-                }
-            break;
-            }
-        default:
-            {
-            if ( !iConnectionInfo )
-                {
-                SetSelectedConnectionL( 0 );
-                }            
-            else if ( ( aIndex == iConnectionIndex ) && ( iConnectionArray->MdcaCount() ) )
-                {
-                iListBox->DrawNow();
-                iListBox->UpdateScrollBarsL();
-                }
-            break;
-            }
-        }
-    PushAndRefreshNaviPaneL();
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsContainer::OnEventL()" );    
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::OnTimerEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::OnTimerEventL()
-    {
-    if ( iConnectionArray->MdcaCount() )
-       {
-        iListBox->DrawNow();
-
-        CMUILOGGER_WRITE_F( "CMUIDW GetStatus() before: %d", 
-                            iConnectionInfo->GetStatus() );
-        if ( iConnectionInfo->GetStatus() == EConnectionClosing )
-            {
-            CConnectionMonitorUiAppUi* tempApUi = 
-                        CConnectionMonitorUiAppUi::Static();
-            iConnectionInfo->StatusChangedL();
-            }
-        CMUILOGGER_WRITE_F( "CMUIDW GetStatus() after: %d",
-                            iConnectionInfo->GetStatus() );
-        }
-    PushAndRefreshNaviPaneL();
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::DrawFirstAllListBoxItem
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::DrawFirstAllListBoxItem()
-    {
-    TInt count = iListBox->Model()->NumberOfItems() - 1;
-    for ( TInt i = count; i > -1; --i )
-        {
-        iListBox->DrawItem( i );
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::ListBox
-// ---------------------------------------------------------
-//
-CAknSingleHeadingStyleListBox*
-                        CConnectionMonitorUiDetailsContainer::ListBox() const
-    {
-    return iListBox;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::GetPanesL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::GetPanesL()
-    {
-    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-
-    iNaviPane =  STATIC_CAST( CAknNavigationControlContainer*,
-                  statusPane->ControlL( TUid::Uid(EEikStatusPaneUidNavi ) ) );
-
-    PushAndRefreshNaviPaneL();
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::PushAndRefreshNaviPaneL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::PushAndRefreshNaviPaneL()
-    {
-    TUint countOfConnection = iConnectionArray->MdcaCount();
-    
-    CMUILOGGER_WRITE_F( "countOfConnection : %d", countOfConnection );
-    
-    if ( ( iConnectionIndex > countOfConnection ) && // spec. index update
-         ( countOfConnection == 0 ) )
-        {
-        iConnectionIndex = iConnectionArray->
-                                GetArrayIndex( 
-                                        GetSelectedConnectionInfo()
-                                                    ->GetConnectionId() );
-        }
-    
-    CMUILOGGER_WRITE_F( "iConnectionIndex : %d", iConnectionIndex );
-
-    if ( iNaviDecorator )
-        {
-        PopNaviPane();
-        }
-    
-    if ( iParentView->GetViewRefreshState() ) // connection closed
-        {
-        iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC );
-        }
-    else // connection alive
-        {
-        HBufC* textOfNaviPane = NULL;
-
-        CArrayFixFlat<TInt>* array = new( ELeave ) CArrayFixFlat<TInt>( 2 );
-        CleanupStack::PushL( array );
-        
-        if ( ( countOfConnection == 1 ) &&
-             ( iConnectionIndex + 1 >= countOfConnection ) )
-            {
-            array->AppendL( countOfConnection );
-            }
-        else            
-            {            
-            array->AppendL( countOfConnection ? iConnectionIndex + 1 : 0 );
-            }
-            
-        array->AppendL( countOfConnection );
-        textOfNaviPane = StringLoader::LoadLC( 
-                                            R_QTN_CMON_NAVI_NOF_CONNECTION,
-                                            *array );
-
-        iNaviDecorator = iNaviPane->CreateNavigationLabelL( 
-                                                        *textOfNaviPane );
-        
-        CleanupStack::PopAndDestroy( textOfNaviPane );
-        CleanupStack::PopAndDestroy( array );
-        }
-
-    iNaviDecorator->MakeScrollButtonVisible( ETrue );
-    
-    CAknNavigationDecorator::TScrollButton left = CAknNavigationDecorator::ELeftButton;
-    CAknNavigationDecorator::TScrollButton right = CAknNavigationDecorator::ERightButton;
-    if ( AknLayoutUtils::LayoutMirrored() )
-    	{
-    	left = CAknNavigationDecorator::ERightButton;
-    	right = CAknNavigationDecorator::ELeftButton;
-    	}
-
-    if ( iParentView->GetViewRefreshState() )
-        {
-        iNaviDecorator->SetScrollButtonDimmed( left, 
-                                           ( ( iConnectionIndex == 0 ) ||
-                                             ( countOfConnection == 0 ) ) );
-        }
-    else
-        {
-        iNaviDecorator->SetScrollButtonDimmed( 
-                          left, 
-                          ( ( iConnectionIndex == 0 ) ||
-                            ( countOfConnection == 0 ) ||
-                            ( ( countOfConnection == 1 ) &&
-                              ( iConnectionIndex + 1 >= 
-                                    countOfConnection ) ) ) );
-        }
-
-    if ( iParentView->GetViewRefreshState() )
-        {
-        iNaviDecorator->SetScrollButtonDimmed( right, 
-    			                iConnectionIndex >= countOfConnection );
-        }
-    else
-        {
-        iNaviDecorator->SetScrollButtonDimmed( right, 
-    			                iConnectionIndex + 1 >= countOfConnection );
-        }
-        
-    iNaviDecorator->SetNaviDecoratorObserver( this );
-        
-    iNaviPane->PushL( *iNaviDecorator );
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::PopNaviPane
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::PopNaviPane()
-    {
-    iNaviPane->Pop( iNaviDecorator );
-    delete iNaviDecorator;
-    iNaviDecorator = NULL;
-    }
-
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::HandleResourceChange( TInt aType )
-    {
-    CCoeControl::HandleResourceChange( aType );
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, 
-                                           mainPaneRect );
-        SetRect( mainPaneRect );
-        DrawNow();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsContainer::FocusChanged" );
-    CCoeControl::FocusChanged( aDrawNow );    
-    if ( iListBox )
-        {
-        iListBox->SetFocus( IsFocused() );
-        }        
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsContainer::FocusChanged" );    
-    }    
-    
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::GetIndexOfSelectedItem
-// ---------------------------------------------------------
-//
-TInt CConnectionMonitorUiDetailsContainer::GetIndexOfSelectedItem()
-	{
-    CMUILOGGER_WRITE_F(
-        "CMUIDetailsContainer::GetIndexOfSelectedItem  iConnectionIndex: %d",
-        iConnectionIndex );
-
-    return iConnectionIndex;	
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsContainer::GetSelectedConnectionInfo()
-// ---------------------------------------------------------
-//
-    CConnectionInfoBase* CConnectionMonitorUiDetailsContainer::
-                                        GetSelectedConnectionInfo() const
-	{
-	return iConnectionInfo;	
-	}
-    
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDetailsView.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  view class
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include  <connectionmonitorui.rsg>
-#include  "ConnectionMonitorUiDetailsView.h"
-#include  "ConnectionMonitorUiDetailsContainer.h" 
-#include  "ConnectionMonitorUi.hrh"
-#include  "ConnectionArray.h"
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// ConnectionMonitorUiDetailsView::ConnectionMonitorUiDetailsView( 
-//                                 const CConnectionArray* aConnectionArray )
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiDetailsView::CConnectionMonitorUiDetailsView( 
-                             CConnectionArray* const aConnectionArray )
-    : CAknView(), 
-      iConnectionArray( aConnectionArray ), 
-      iViewRefreshState( EFalse )
-    {}
-
-// ---------------------------------------------------------
-// ConnectionMonitorUiDetailsView::ConstructL()
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::ConstructL()
-    {
-    BaseConstructL( R_CONNECTIONMONITORUI_DETAILSVIEW );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::~CConnectionMonitorUiDetailsView()
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiDetailsView::~CConnectionMonitorUiDetailsView()
-    {
-    delete iContainer;
-    }
-
-// ---------------------------------------------------------
-// TUid CConnectionMonitorUiDetailsView::Id()
-// ?implementation_description
-// ---------------------------------------------------------
-//
-TUid CConnectionMonitorUiDetailsView::Id() const
-    {
-    return KDetailsViewId;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::HandleCommandL( TInt aCommand )
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::HandleCommandL( TInt aCommand )
-    {   
-    switch ( aCommand )
-        {
-        case EAknSoftkeyOk:
-            {
-            CloseViewL();
-            ActivateMainViewL();
-            break;
-            }
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::CloseViewL()
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::CloseViewL()
-    {   
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsView::CloseViewL" );    
-    
-    if ( GetViewRefreshState() )
-        {
-        // Now delete this view
-        CConnectionMonitorUiAppUi* appUi =
-            (CConnectionMonitorUiAppUi*)AppUi();
-        appUi->StartTimerL();
-        SetViewRefreshState( EFalse );
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsView::CloseViewL" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::SetSelectedConnectionId
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::SetSelectedConnection( TUint aIndex )
-    {
-    iConnectionId = aIndex;
-    }
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::GetSelectedConnection
-// ---------------------------------------------------------
-//
-TUint CConnectionMonitorUiDetailsView::GetSelectedConnection()
-	{
-	TUint result( KErrNone );
-	if ( iContainer )
-		{
-		result = iContainer->GetIndexOfSelectedItem();	
-		}
-	return result;		
-	}
-
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::DoActivateL(...)
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::DoActivateL(
-   const TVwsViewId& /*aPrevViewId*/, TUid /*aCustomMessageId*/,
-   const TDesC8& /*aCustomMessage*/ )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsView::DoActivateL" );
-    
-    if ( !iContainer )
-        {
-        iContainer = new ( ELeave ) CConnectionMonitorUiDetailsContainer( 
-                                                            iConnectionArray );
-        iContainer->SetMopParent( this );
-        iContainer->ConstructL( ClientRect(), this );
-        iContainer->SetSelectedConnectionL( iConnectionId );
-        CConnectionMonitorUiAppUi::Static()->StartConnEventNotification( 
-                                                                  iContainer );
-        iContainer->DrawFirstAllListBoxItem();
-
-        iContainer->PushAndRefreshNaviPaneL();
-        iContainer->MakeVisible( ETrue );
-        AppUi()->AddToViewStackL( *this, iContainer );
-        }
-    
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiDetailsView::DoActivateL" );
-    
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::DoDeactivate
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::DoDeactivate()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiDetailsView::DoDeactivate" );
-    
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        CConnectionMonitorUiAppUi::Static()->StopConnEventNotification( 
-                                                             iContainer );
-        iContainer->PopNaviPane();
-        iContainer->MakeVisible( EFalse );
-
-        delete iContainer;
-        iContainer = NULL;
-        }                
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::HandleListBoxEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::HandleListBoxEventL( 
-                                                    CEikListBox* /*aListBox*/,
-                                                    TListBoxEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:
-        //case EEventItemDoubleClicked:
-        case EEventItemSingleClicked:
-            {
-            AppUi()->ActivateLocalViewL( 
-                            TUid::Uid( EConnectionMonitorUiMainViewTab ) );
-            }
-            break;
-
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::GetViewRefreshState
-// ---------------------------------------------------------
-//
-TBool CConnectionMonitorUiDetailsView::GetViewRefreshState()
-    {
-    return iViewRefreshState;	
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::SetViewRefreshState
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::SetViewRefreshState( 
-                                                    TBool aViewRefreshState )
-    {
-    iViewRefreshState = aViewRefreshState;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiDetailsView::ActivateMainViewL()
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiDetailsView::ActivateMainViewL()
-    {   
-    AppUi()->ActivateLocalViewL( TUid::Uid( EConnectionMonitorUiMainViewTab ) );
-    }
-
-
-// End of File
-
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiDocument.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  application class
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include "ConnectionMonitorUiDocument.h"
-#include "ConnectionMonitorUiAppUi.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// constructor
-CConnectionMonitorUiDocument::CConnectionMonitorUiDocument
-    (
-    CEikApplication& aApp
-    )
-: CAknDocument(aApp)    
-    {
-    }
-
-// destructor
-CConnectionMonitorUiDocument::~CConnectionMonitorUiDocument()
-    {
-    }
-
-// EPOC default constructor can leave.
-void CConnectionMonitorUiDocument::ConstructL()
-    {
-    }
-
-// Two-phased constructor.
-CConnectionMonitorUiDocument* CConnectionMonitorUiDocument::NewL(
-        CEikApplication& aApp)     // CConnectionMonitorUiApp reference
-    {
-    CConnectionMonitorUiDocument* myself =
-        new (ELeave) CConnectionMonitorUiDocument( aApp );
-    CleanupStack::PushL( myself );
-    myself->ConstructL();
-    CleanupStack::Pop( myself );
-
-    return myself;
-    }
-    
-// ----------------------------------------------------
-// CConnectionMonitorUiDocument::CreateAppUiL()
-// constructs CConnectionMonitorUiAppUi
-// ----------------------------------------------------
-//
-CEikAppUi* CConnectionMonitorUiDocument::CreateAppUiL()
-    {
-    return new (ELeave) CConnectionMonitorUiAppUi;
-    }
-
-// End of File  
--- a/connectionmonitoring/connectionmonitorui/src/ConnectionMonitorUiView.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,421 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  view class
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include  <eikmenup.h>
-#include  <akntitle.h>   //for CAknTitlePane
-#include  <connectionmonitorui.rsg>
-#include  <StringLoader.h>
-
-#include  <hlplch.h>
-#include <csxhelp/cmon.hlp.hrh>
-
-    
-#include  "ConnectionMonitorUiDetailsView.h"
-#include  "ConnectionMonitorUi.hrh"
-#include  "ConnectionMonitorUiAppUi.h"
-#include  "ConnectionMonitorUiView.h"
-#include  "ConnectionMonitorUiContainer.h" 
-#include  "ConnectionArray.h"
-#include  "FeatureManagerWrapper.h"
-
-
-// CONSTANTS 
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::CConnectionMonitorUiView
-// ---------------------------------------------------------
-//
-#ifdef RD_CONTROL_PANEL
-CConnectionMonitorUiView::CConnectionMonitorUiView( 
-                                    CConnectionArray* const aConnectionArray,
-                                    RConnectionMonitor* aMonitor,
-                                    TBool aIsEmbedded,
-                                    CActiveWrapper* aActiveWrapper )
-    : CAknView(),
-      iConnectionArray( aConnectionArray ),
-      iMonitor( aMonitor ),
-      isHelpSupported( EFalse ),
-      iIsEmbedded( EFalse ),
-      iActiveWrapper( aActiveWrapper )
-    {
-   	iIsEmbedded = aIsEmbedded;
-    }
-#else
-CConnectionMonitorUiView::CConnectionMonitorUiView( 
-                                    CConnectionArray* const aConnectionArray,
-                                    RConnectionMonitor* aMonitor,
-                                    CActiveWrapper* aActiveWrapper )
-    : CAknView(),
-      iConnectionArray( aConnectionArray ),
-      iMonitor( aMonitor ),
-      isHelpSupported( EFalse ),
-      iActiveWrapper( aActiveWrapper )
-    {
-    }
-#endif // RD_CONTROL_PANEL
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::ConstructL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::ConstructL()
-    {
-    isHelpSupported = FeatureManager::FeatureSupported( KFeatureIdHelp );
-
-    TInt actView( NULL );
-
-#ifdef RD_CONTROL_PANEL
-    if ( iIsEmbedded )
-        {
-        actView = R_CP_CONNECTIONMONITORUI_VIEW;
-        }
-    else
-        {
-        actView = R_CONNECTIONMONITORUI_VIEW;
-        }
-#else
-        actView = R_CONNECTIONMONITORUI_VIEW;
-#endif // RD_CONTROL_PANEL
-
-    BaseConstructL( actView );        
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::~CConnectionMonitorUiView()
-// ---------------------------------------------------------
-//
-CConnectionMonitorUiView::~CConnectionMonitorUiView()
-    {
-    delete iContainer;
-    }
-
-// ---------------------------------------------------------
-// TUid CConnectionMonitorUiView::Id()
-// ---------------------------------------------------------
-//
-TUid CConnectionMonitorUiView::Id() const
-    {
-    return KConnectionsViewId;
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::HandleCommandL( TInt aCommand )
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::HandleCommandL( TInt aCommand )
-    {   
-    switch ( aCommand )
-        {
-        case EAknSoftkeyDetails:
-            {
-            if ( IsSelectedConnectionAlive() )
-                {
-                BringupDetailsViewL();
-                }
-            break;
-            }
-        case EConnectionMonitorUiCmdAppDetails:
-            {
-            BringupDetailsViewL();
-            break;
-            }
-        case EConnectionMonitorUiCmdAppEndConn:
-            {
-            iContainer->EndConnectionL();
-            break;
-            }
-        case EConnectionMonitorUiCmdAppEndAll:
-            {
-            iContainer->EndAllConnectionL();
-            break;
-            }
-       case EAknCmdHelp:
-            {
-            if ( isHelpSupported )
-                {
-                HlpLauncher::LaunchHelpApplicationL(
-                    CEikonEnv::Static()->WsSession(),
-                    CEikonEnv::Static()->EikAppUi()->AppHelpContextL() );
-                }
-            break;
-            }
-       default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::DynInitMenuPaneL()
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::DynInitMenuPaneL( TInt aResourceId,
-                                                 CEikMenuPane* aMenuPane )
-    {
-    MEikMenuObserver::DynInitMenuPaneL( aResourceId, aMenuPane );
-    // This is a security measure to prevent menu pane updates when
-    // the main view is not active. This should not happen but
-    // just to be safe it is checked.
-    if ( !iContainer )
-        {
-        return;
-        }
-    switch ( aResourceId )
-        {
-        case R_CONNECTIONMONITORUI_VIEW_MENU:
-            {
-            if ( !iConnectionArray->MdcaCount() )
-                {
-                aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppDetails );
-                aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppEndConn );
-                aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppEndAll );
-                }
-            else if ( iConnectionArray->MdcaCount() == 1 )
-                {
-                aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppEndAll );
-                if ( !IsSelectedConnectionAlive() )
-                    {
-                    aMenuPane->DeleteMenuItem( 
-                                    EConnectionMonitorUiCmdAppDetails );
-                    }
-                else if ( IsSelectedConnectionSuspended() )
-                    {
-                    aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppEndConn );
-                    }
-                }
-            else if ( iConnectionArray->NumberOfSuspendedConnections() >= 1 )
-                {
-                aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppEndAll );
-                if ( IsSelectedConnectionSuspended() )
-                    {
-                    aMenuPane->DeleteMenuItem( 
-                                EConnectionMonitorUiCmdAppEndConn );
-                    }
-                }
-            else
-                {
-                if ( !IsSelectedConnectionAlive() )
-                    {
-                    aMenuPane->DeleteMenuItem( 
-                                    EConnectionMonitorUiCmdAppDetails );
-                    aMenuPane->DeleteMenuItem( 
-                                    EConnectionMonitorUiCmdAppEndConn );
-                    }
-                }
-            break;
-            }
-        case R_CONNECTIONMONITORUI_APP_MENU:
-            {
-            if ( !isHelpSupported )
-                {
-                aMenuPane->DeleteMenuItem( EAknCmdHelp );
-                }
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::HandleListBoxEventL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::HandleListBoxEventL( CEikListBox* /*aListBox*/, 
-                                                    TListBoxEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:
-        //case EEventItemDoubleClicked:
-        case EEventItemSingleClicked:
-            {
-            if ( IsSelectedConnectionAlive() )
-                {
-                BringupDetailsViewL();
-                }
-            }
-            break;
-        default:
-            break;
-        }
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::DoActivateL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::DoActivateL(
-                                            const TVwsViewId& /*aPrevViewId*/, 
-                                            TUid /*aCustomMessageId*/,
-                                            const TDesC8& /*aCustomMessage*/ )
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiView::DoActivateL" );
-    
-    if ( !iContainer )
-        {
-        iContainer = new( ELeave ) CConnectionMonitorUiContainer( 
-                                                            iConnectionArray,
-                                                            iMonitor,
-                                                            iActiveWrapper );
-        iContainer->SetMopParent( this );
-        
-        
-	    CConnectionMonitorUiDetailsView* view = 
-	        STATIC_CAST( CConnectionMonitorUiDetailsView*,
-	        AppUi()->View( TUid::Uid( EConnectionMonitorUiDetailsViewTab ) ) );
-
-	    TInt index  = view->GetSelectedConnection();
-    	CMUILOGGER_WRITE_F( "index: %d", index );
-                
-        iContainer->ConstructL( index, ClientRect() );
-        iContainer->ListBox()->SetListBoxObserver( this );
-
-        CConnectionMonitorUiAppUi::Static()->StartConnEventNotification( 
-                                                                  iContainer );
-        iContainer->PushAndRefreshNaviPaneL();
-        AppUi()->AddToViewStackL( *this, iContainer );
-        ConnectionKeyObserver();
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiView::DoActivateL" );
-    
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::DoDeactivate
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::DoDeactivate()
-    {
-    CMUILOGGER_ENTERFN( "CConnectionMonitorUiView::DoDeactivate" );
-    
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        CConnectionMonitorUiAppUi::Static()->StopConnEventNotification( 
-                                                                  iContainer );
-        iContainer->PopNaviPane();
-        delete iContainer;
-        iContainer = NULL;
-        }
-    CMUILOGGER_LEAVEFN( "CConnectionMonitorUiView::DoDeactivate" );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::SetTitlePaneTextL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::SetTitlePaneTextL( TInt aResourceId )
-    {
-    CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-    CAknTitlePane* titlePane =
-        ( CAknTitlePane* )statusPane->ControlL(
-                            TUid::Uid( EEikStatusPaneUidTitle ) );
-    HBufC* text = iEikonEnv->AllocReadResourceLC( aResourceId );
-    titlePane->SetTextL( text->Des() );
-    CleanupStack::PopAndDestroy( text );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::BringupDetailsViewL
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::BringupDetailsViewL()
-    {
-    CConnectionMonitorUiDetailsView* view = 
-        STATIC_CAST( CConnectionMonitorUiDetailsView*,
-                     AppUi()->View( TUid::Uid( 
-                     EConnectionMonitorUiDetailsViewTab ) ) );
-
-    TInt selIndex = iContainer->SelectedConnection();
-    view->SetSelectedConnection( selIndex );
-    AppUi()->ActivateLocalViewL( 
-                             TUid::Uid( EConnectionMonitorUiDetailsViewTab ) );
-    }
-
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::IsSelectedConnectionAlive
-// ---------------------------------------------------------
-//
-TBool CConnectionMonitorUiView::IsSelectedConnectionAlive() const
-    {
-    TInt selIndex = iContainer->SelectedConnection();
-    TBool result( EFalse );
-    if ( selIndex > -1 )
-        {
-        result = ( *iConnectionArray )[selIndex]->IsAlive();
-        }
-
-    return result;
-    }
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::IsSelectedConnectionSuspended
-// ---------------------------------------------------------
-//
-TBool CConnectionMonitorUiView::IsSelectedConnectionSuspended() const
-    {
-    TInt selIndex = iContainer->SelectedConnection();
-    TBool result( EFalse );
-    if ( selIndex > -1 )
-        {
-        result = ( *iConnectionArray )[selIndex]->IsSuspended();
-        }
-
-    return result;
-    }    
-    
-// ---------------------------------------------------------
-// CConnectionMonitorUiView::ConnectionKeyObserver
-// ---------------------------------------------------------
-//
-void CConnectionMonitorUiView::ConnectionKeyObserver() const
-    {
-    if ( !( iConnectionArray->MdcaCount() ) )
-        {
-        Cba()->MakeCommandVisible( EAknSoftkeyDetails,EFalse );
-        }
-    else
-        {
-        if ( iConnectionArray->NumberOfActiveConnections() )
-            {
-            Cba()->MakeCommandVisible( EAknSoftkeyDetails,ETrue );
-            }
-        else
-            {
-            Cba()->MakeCommandVisible( EAknSoftkeyDetails,EFalse );
-            }
-        }
-	}
-
-    
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/CsdConnectionInfo.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,444 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a connection
-*
-*
-*/
-
-
-// INCLUDE FILES
-//#include <nifvar.h>
-#include <StringLoader.h>
-#include <connectionmonitorui.rsg>
-#include <ConnectionMonitorUi.mbg>
-#include <AknUtils.h>
-
-#include "ConnectionMonitorUiLogger.h"
-#include "CsdConnectionInfo.h"
-#include "ActiveWrapper.h"
-
-// CONSTANTS
-
-LOCAL_D const TUint KDetailsArrayGranularityInternal = 9;
-LOCAL_D const TUint KDetailsArrayGranularityExternal = 4;
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CCsdConnectionInfo::NewL
-// ---------------------------------------------------------
-//
-CCsdConnectionInfo* CCsdConnectionInfo::NewL( TInt aConnectionId,
-                              RConnectionMonitor* const aConnectionMonitor,
-                              TConnMonBearerType aConnectionBearerType,
-                              CActiveWrapper* aActiveWrapper )
-    {
-    CMUILOGGER_WRITE( "NewL, CCsdsConnectionInfo - start " );
-
-    CCsdConnectionInfo* self = new ( ELeave ) CCsdConnectionInfo(
-                                                    aConnectionId,
-                                                    aConnectionMonitor,
-                                                    aConnectionBearerType,
-                                                    aActiveWrapper );
-    CMUILOGGER_WRITE( "NewL, CCsdsConnectionInfo - created " );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    CMUILOGGER_WRITE( "NewL, CCsdsConnectionInfo - end " );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::~CCsdConnectionInfo
-// ---------------------------------------------------------
-//
-CCsdConnectionInfo::~CCsdConnectionInfo()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::CCsdConnectionInfo
-// ---------------------------------------------------------
-//
-CCsdConnectionInfo::CCsdConnectionInfo(  TInt aConnectionId,
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper ) :
-    CConnectionInfoBase( aConnectionId,
-                         aConnectionMonitor,
-                         aConnectionBearerType,
-                         aActiveWrapper )
-        {
-        CMUILOGGER_WRITE( "CCsdConnectionInfo constuctor" );
-        }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::ConstructL
-// ---------------------------------------------------------
-//
-void CCsdConnectionInfo::ConstructL()
-    {
-    CMUILOGGER_WRITE( "CCsdConnectionInfo::ConstructL() start" );
-    
-    iActiveWrapper->StartGetStringAttribute( iConnectionId,
-                                             iConnectionMonitor,
-                                             KTelNumber,
-                                             iDialupNumber );
-    TInt err( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "CCsdConnectionInfo::ConstructL() status: %d",
-                        err );
-    if ( err != KErrNone )
-        {
-        User::Leave( err );
-        }
-        
-    CConnectionInfoBase::ConstructL();
-    CMUILOGGER_WRITE( "CCsdConnectionInfo::ConstructL() end" );
-    }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::DeepCopyL
-// ---------------------------------------------------------
-//        
-CConnectionInfoBase* CCsdConnectionInfo::DeepCopyL()
-	{
-	CCsdConnectionInfo* temp = new ( ELeave ) CCsdConnectionInfo(
-                                                    iConnectionId,
-                                                    iConnectionMonitor,
-                                                    iConnectionBearerType,
-                                                    iActiveWrapper );
-                              							
-	temp->iConnectionName = iConnectionName;
-	temp->iConnectionStatus = iConnectionStatus;
-	temp->iUploaded = iUploaded;
-	temp->iDownloaded = iDownloaded;
-	temp->iStartTime = iStartTime;
-	temp->iDuration = iDuration;
-	temp->iLastSpeedUpdate = iLastSpeedUpdate;
-	temp->iUpSpeed = iUpSpeed;
-	temp->iDownSpeed = iDownSpeed;
-	temp->iListBoxItemText = iListBoxItemText;
-	
-	temp->iDialupNumber = iDialupNumber;
-		
-	if ( iDetailsArray )
-		{
-		CleanupStack::PushL( temp );		
-		temp->ToArrayDetailsL();
-		CleanupStack::Pop( temp );			
-		}
-		
-	return temp;	
-	}
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::GetIconId
-// ---------------------------------------------------------
-//
-TUint CCsdConnectionInfo::GetIconId() const
-    {
-    TUint iconId = ECsd;
-    if ( ( iConnectionBearerType == EBearerHSCSD ) || 
-         ( iConnectionBearerType == EBearerExternalHSCSD ) )
-        {
-        iconId = EHscsd;
-        }
-    return iconId;
-    }
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::RefreshDetailsL
-// ---------------------------------------------------------
-//
-void CCsdConnectionInfo::RefreshDetailsL()
-    {
-    CMUILOGGER_WRITE( "CCsdConnectionInfo::RefreshDetailsL start" );
-    
-    CMUILOGGER_WRITE_F( "before iConnectionBearerType: %d", 
-                        ( TInt )iConnectionBearerType );
-    
-    TConnMonBearerType bearerType;
-    
-    iActiveWrapper->StartGetIntAttribute( iConnectionId,
-                                          iConnectionMonitor,
-                                          KBearer,
-                                          ( TInt& )bearerType );
-        
-    if ( !iActiveWrapper->iStatus.Int() )
-        {
-        iConnectionBearerType = bearerType;
-        }
-    
-    CMUILOGGER_WRITE_F( "status.Int(): %d", iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "bearerType: %d", ( TInt )bearerType );    
-    CMUILOGGER_WRITE_F( "after iConnectionBearerType: %d", ( TInt )iConnectionBearerType );
-    
-    if ( iConnectionBearerType < EBearerExternalCSD )
-        {
-        RefreshTransferSpeedsL();
-        }
-    RefreshDuration();
-    CMUILOGGER_WRITE( "CCsdConnectionInfo::RefreshDetailsL end" );
-    }
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::ToStringDialupNumberLC
-// ---------------------------------------------------------
-//
-HBufC* CCsdConnectionInfo::ToStringDialupNumberLC() const
-    {
-    HBufC* dialupNumber = iDialupNumber.AllocLC();
-    TPtr temp( dialupNumber->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
-    
-    return dialupNumber;
-    }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::RefreshConnectionListBoxItemTextL
-// ---------------------------------------------------------
-//
-void CCsdConnectionInfo::RefreshConnectionListBoxItemTextL()
-    {
-    CMUILOGGER_WRITE(
-        "CCsdConnectionInfo::RefreshConnectionListBoxItemTextL start" );
-
-    TUint  iconId;
-    HBufC* secondRow = NULL;
-
-    iconId = GetIconId();
-
-    if ( iConnectionStatus == EConnectionCreated )
-        {
-        secondRow =  ToStringDurationLC();
-        }
-    else    // if connection has not created yet gives back the status of its.
-        {
-        secondRow = ToStringStatusLC( EFalse );
-        }
-
-    iListBoxItemText.Format( KConnectonListItemTextFormat, iconId,
-                             &iConnectionName, secondRow );
-    CleanupStack::PopAndDestroy( secondRow );
-    CMUILOGGER_WRITE(
-        "CCsdConnectionInfo::RefreshConnectionListBoxItemTextL end" );
-    }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::RefreshDetailsArrayL
-// ---------------------------------------------------------
-//
-void CCsdConnectionInfo::RefreshDetailsArrayL()
-    {
-    CMUILOGGER_WRITE( "CCsdConnectionInfo::RefreshDetailsArrayL start" );
-    if ( iDetailsArray )
-        {
-        TBool internal = iConnectionBearerType < EBearerExternalCSD ;
-        HBufC* temp = NULL;
-
-        if ( internal )
-            {
-            temp = ToStringStatusLC();
-            ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_STATUS,
-                                                  temp, 2 );
-                                                  
-            ToDetailsListBoxItemTextWithReplaceL
-                ( 
-                R_QTN_CMON_HEADING_DATA_TOTAL,
-                ToStringTotalTransmittedDataLC(), 
-                3   
-                );                                                  
-
-            ToDetailsListBoxItemTextWithReplaceL
-                (
-                R_QTN_CMON_HEADING_DATA_RECEIVED,
-                ToStringReceivedDataLC(),
-                4
-                );
-
-            ToDetailsListBoxItemTextWithReplaceL
-                (
-                R_QTN_CMON_HEADING_DATA_SENT,
-                ToStringSentDataLC(),
-                5
-                );
-
-            ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DURATION,
-                                                  ToStringDurationLC(), 6 );
-
-            ToDetailsListBoxItemTextWithReplaceL
-                (
-                R_QTN_CMON_HEADING_SPEED,
-                ToStringTransferSpeedDownLC(),
-                7
-                );
-
-            ToDetailsListBoxItemTextWithReplaceL
-                (
-                0, 
-                ToStringTransferSpeedUpLC(),
-                8
-                );
-
-            CleanupStack::PopAndDestroy( 7, temp );   // ToString...LC()
-
-            TInt sharing = RefreshAppNamesL();
-
-            if ( sharing > 1 )
-                {
-                if ( iDetailsArray->Count() > 10 )
-                    {
-                    iDetailsArray->Delete( 10, 
-                                           iDetailsArray->Count() - 10 );
-                    iDetailsArray->Compress();
-                    }
-                
-                for ( TInt i = 0; i < sharing; i++ )
-                    {
-                    if ( i == 0 )
-                        {
-                        ToDetailsListBoxItemTextWithAppendL( 
-                                        R_QTN_CMON_HEADING_SHARING_INFO,
-                                        ToStringAppNameLC( i ) );
-                        }
-                    else
-                        {
-                        ToDetailsListBoxItemTextWithAppendL( 0, 
-                                                    ToStringAppNameLC( i ) );
-                        }
-                    }
-                CleanupStack::PopAndDestroy( sharing ); 
-                                                    // ToStringAppNameLC()
-                }
-            else
-                {
-                if ( iDetailsArray->Count() > 10 )
-                    {
-                    iDetailsArray->Delete( 10, iDetailsArray->Count() - 10 );
-                    iDetailsArray->Compress();
-                    }
-                }
-            }
-        else
-            {
-            ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DURATION,
-                                                  ToStringDurationLC(), 2 );
-            CleanupStack::PopAndDestroy( 1 );   // ToStringDurationLC()
-            }
-        }
-    CMUILOGGER_WRITE( "CCsdConnectionInfo::RefreshDetailsArrayL end" );
-    }
-
-
-// ---------------------------------------------------------
-// CCsdConnectionInfo::ToArrayDetailsL
-// ---------------------------------------------------------
-//
-void CCsdConnectionInfo::ToArrayDetailsL()
-    {
-    CMUILOGGER_ENTERFN("CCsdConnectionInfo::ToArrayDetailsL");
-    TBool internal = iConnectionBearerType < EBearerExternalCSD ;
-    TUint granularity = KDetailsArrayGranularityExternal;
-    HBufC* temp = NULL;
-
-    if ( internal )
-        {
-        granularity = KDetailsArrayGranularityInternal;
-        }
-    delete iDetailsArray;
-    iDetailsArray = NULL;
-    iDetailsArray = new ( ELeave ) CDesCArrayFlat( granularity );
-
-    temp = iConnectionName.AllocLC();
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_CONN_NAME,
-                                         temp );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_BEARER,
-                                         ToStringBearerLC() );
-    CleanupStack::PopAndDestroy( 2, temp );   // ToString...LC()
-
-
-    if ( internal )
-        {
-        temp = ToStringStatusLC();
-        ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_STATUS,
-                                             temp );
-
-        ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                             ToStringTotalTransmittedDataLC() );
-                                             
-        ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_RECEIVED,
-                                             ToStringReceivedDataLC() );
-
-        ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_SENT,
-                                             ToStringSentDataLC() );
-        CleanupStack::PopAndDestroy( 4, temp );   // ToString...LC()
-        }
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DURATION,
-                                         ToStringDurationLC() );
-    CleanupStack::PopAndDestroy( 1 );   // ToStringDurationLC()
-
-    if ( internal )
-        {
-        temp = ToStringTransferSpeedDownLC();
-
-        ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_SPEED,
-                                             temp );
-
-        ToDetailsListBoxItemTextWithAppendL( 0, 
-                                             ToStringTransferSpeedUpLC() );
-        CleanupStack::PopAndDestroy( 2, temp );   // ToString...LC()
-        }
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_CSD_NUMBER,
-                                         ToStringDialupNumberLC() );
-    CleanupStack::PopAndDestroy( 1 );   // ToStringDialupNumberLC()
-
-    if ( internal )
-        {
-        TInt sharing = RefreshAppNamesL();
-        
-        if ( sharing > 1 )
-            {
-            for ( TInt i = 0; i < sharing; i++ )
-                {
-                if ( i == 0 )
-                    {
-                    ToDetailsListBoxItemTextWithAppendL( 
-                                    R_QTN_CMON_HEADING_SHARING_INFO,
-                                    ToStringAppNameLC( i ) );
-                    }
-                else
-                    {
-                    ToDetailsListBoxItemTextWithAppendL( 0, 
-                                                ToStringAppNameLC( i ) );
-                    }
-                }
-            CleanupStack::PopAndDestroy( sharing ); 
-                                                    // ToStringAppNameLC()
-            }
-        }
-    CMUILOGGER_LEAVEFN("CCsdConnectionInfo::ToArrayDetailsL");
-    }
-
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/EasyWLANConnectionInfo.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a WLAN connection
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include <connectionmonitorui.rsg>
-#include <ConnectionMonitorUi.mbg>
-
-#include "EasyWLANConnectionInfo.h"
-#include "ConnectionArray.h"
-#include <StringLoader.h>
-
-#include "ConnectionMonitorUiLogger.h"
-
-
-// CONSTANTS
-/**
-* Count of details of WLAN connection
-*/
-LOCAL_D const TUint KMaxNumOfListBoxItems = 14;
-
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::NewL
-// ---------------------------------------------------------
-//
-CEasyWlanConnectionInfo* CEasyWlanConnectionInfo::NewL( TInt aConnectionId,
-                              RConnectionMonitor* const aConnectionMonitor,
-                              TConnMonBearerType aConnectionBearerType,
-                              CActiveWrapper* aActiveWrapper )
-    {
-    CMUILOGGER_ENTERFN(
-        "CEasyWlanConnectionInfo* CEasyWlanConnectionInfo::NewL" );
-    CEasyWlanConnectionInfo* self = new ( ELeave ) CEasyWlanConnectionInfo(
-                                                    aConnectionId,
-                                                    aConnectionMonitor,
-                                                    aConnectionBearerType,
-                                                    aActiveWrapper );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    CMUILOGGER_LEAVEFN(
-        "CEasyWlanConnectionInfo* CEasyWlanConnectionInfo::NewL" );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::CEasyWlanConnectionInfo
-// ---------------------------------------------------------
-//
-CEasyWlanConnectionInfo::CEasyWlanConnectionInfo( TInt aConnectionId,
-                              RConnectionMonitor* const aConnectionMonitor,
-                              TConnMonBearerType aConnectionBearerType,
-                              CActiveWrapper* aActiveWrapper )
-    : CWlanConnectionInfo( aConnectionId,
-                           aConnectionMonitor,
-                           aConnectionBearerType,
-                           aActiveWrapper )
-    {
-    iEasyWlan= ETrue;
-    }
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::ConstructL
-// ---------------------------------------------------------
-//
-void CEasyWlanConnectionInfo::ConstructL()
-    {
-    CMUILOGGER_ENTERFN( "void CEasyWlanConnectionInfo::ConstructL()" );
-
-    CWlanConnectionInfo::ConstructL();
-
-    CMUILOGGER_LEAVEFN( "void CEasyWlanConnectionInfo::ConstructL()" );
-    }
-
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::~CEasyWlanConnectionInfo
-// ---------------------------------------------------------
-//
-CEasyWlanConnectionInfo::~CEasyWlanConnectionInfo()
-    {
-    }
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::DeepCopyL
-// ---------------------------------------------------------
-//        
-CConnectionInfoBase* CEasyWlanConnectionInfo::DeepCopyL()
-	{
-	CEasyWlanConnectionInfo* temp = new ( ELeave ) CEasyWlanConnectionInfo(
-                                                    iConnectionId,
-                                                    iConnectionMonitor,
-                                                    iConnectionBearerType,
-                                                    iActiveWrapper );
-                              							
-	temp->iConnectionName = iConnectionName;
-	temp->iConnectionStatus = iConnectionStatus;
-	temp->iUploaded = iUploaded;
-	temp->iDownloaded = iDownloaded;
-	temp->iStartTime = iStartTime;
-	temp->iDuration = iDuration;
-	temp->iLastSpeedUpdate = iLastSpeedUpdate;
-	temp->iUpSpeed = iUpSpeed;
-	temp->iDownSpeed = iDownSpeed;
-	temp->iListBoxItemText = iListBoxItemText;
-	
-	temp->iWlanNetworkName = iWlanNetworkName;
-	temp->iSignalStrength = iSignalStrength;
-	temp->iNetworkMode = iNetworkMode;
-	temp->iSecurityMode = iSecurityMode;
-	temp->iTxPower = iTxPower;
-
-	if ( iDetailsArray )
-		{
-		CleanupStack::PushL( temp );		
-		temp->ToArrayDetailsL();
-		CleanupStack::Pop( temp );			
-		}
-		
-	return temp;	
-	}    
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::ToArrayDetailsL
-// ---------------------------------------------------------
-//
-void CEasyWlanConnectionInfo::ToArrayDetailsL()
-    {
-    CMUILOGGER_ENTERFN( "void CEasyWlanConnectionInfo::ToArrayDetailsL()" );
-
-    HBufC* temp = NULL;
-    delete iDetailsArray;
-    iDetailsArray = NULL;
-
-    iDetailsArray = new ( ELeave ) CDesCArrayFlat
-        ( KMaxNumOfListBoxItems );
-
-    temp = ToStringBearerLC();
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_BEARER,
-                                         temp );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_STATUS,
-                                         ToStringStatusLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_WLAN_NETWORK_NAME,
-                                         GetWlanNetworkNameLC() );
-
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_WLAN_SIGNAL_STRENGTH,
-        ToStringSignalStrengthLC()
-        );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_WLAN_NETWORK_MODE,
-                                         ToStringNetworkModeLC() );
-
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_WLAN_SECURITY_MODE,
-        ToStringSecurityModeLC()
-        );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_WLAN_TX_POWER,
-                                         ToStringTxPowerLC() );
-        
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                         ToStringTotalTransmittedDataLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_RECEIVED,
-                                         ToStringReceivedDataLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_SENT,
-                                         ToStringSentDataLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DURATION,
-                                         ToStringDurationLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_SPEED,
-                                         ToStringTransferSpeedDownLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( 0, 
-                                         ToStringTransferSpeedUpLC() );
-
-    CleanupStack::PopAndDestroy
-        (
-        KMaxNumOfListBoxItems - 1,
-        temp
-        );
-
-    CMUILOGGER_WRITE_F( "KMaxNumOfListBoxItems + cCXSupported : %d",
-                        KMaxNumOfListBoxItems );
-
-    TInt sharing = RefreshAppNamesL();
-        
-    if ( sharing > 1 )
-        {
-        for ( TInt i = 0; i < ( sharing ); i++ )
-            {
-            if ( i == 0 )
-                {
-                ToDetailsListBoxItemTextWithAppendL( 
-                                    R_QTN_CMON_HEADING_SHARING_INFO,
-                                    ToStringAppNameLC( i ) );
-                }
-            else
-                {
-                ToDetailsListBoxItemTextWithAppendL( 0, 
-                                                ToStringAppNameLC( i ) );
-                }
-            }
-        CleanupStack::PopAndDestroy( sharing ); // ToStringAppNameLC()
-        }
-        
-    CMUILOGGER_LEAVEFN( "void CEasyWlanConnectionInfo::ToArrayDetailsL()" );
-    }
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::RefreshDetailsArrayL
-// ---------------------------------------------------------
-//
-void CEasyWlanConnectionInfo::RefreshDetailsArrayL()
-    {
-    CMUILOGGER_ENTERFN( "CEasyWlanConnectionInfo::RefreshDetailsArrayL()" );
-
-    HBufC* temp = NULL;
-
-    temp = ToStringStatusLC();
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_STATUS,
-                                          temp, 1 );
-
-    ToDetailsListBoxItemTextWithReplaceL
-        (
-        R_QTN_CMON_HEADING_WLAN_SIGNAL_STRENGTH,
-        ToStringSignalStrengthLC(),
-        3
-        );
-
-    ToDetailsListBoxItemTextWithReplaceL
-        (
-        R_QTN_CMON_HEADING_WLAN_TX_POWER,
-        ToStringTxPowerLC(),
-        6
-        );
-        
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                          ToStringTotalTransmittedDataLC(),
-                                          7 );
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_RECEIVED,
-                                          ToStringReceivedDataLC(),
-                                          8 );
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_SENT,
-                                          ToStringSentDataLC(),
-                                          9 );
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DURATION,
-                                          ToStringDurationLC(),
-                                          10 );
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_SPEED,
-                                          ToStringTransferSpeedDownLC(),
-                                          11 );
-
-    ToDetailsListBoxItemTextWithReplaceL( 0, 
-                                          ToStringTransferSpeedUpLC(),
-                                          12 );
-
-    CleanupStack::PopAndDestroy( 9, temp );
-
-    TInt count = iDetailsArray->Count();
-    TInt realElementsMaxCount = KMaxNumOfListBoxItems;
-
-    CMUILOGGER_WRITE_F( "count : %d", count );
-    CMUILOGGER_WRITE_F( "realElementsMaxCount : %d", 
-                        realElementsMaxCount );
-
-    TInt sharing = RefreshAppNamesL();
-
-    if ( sharing > 1 )
-        {
-        if ( count >= realElementsMaxCount )
-            {  
-            iDetailsArray->Delete( realElementsMaxCount - 1,
-                                       iDetailsArray->Count() - 13 );
-            iDetailsArray->Compress(); 
-            }
-
-        for ( TInt i = 0; i < sharing; i++ )
-            {
-            if ( i == 0 )
-                {
-                ToDetailsListBoxItemTextWithAppendL( 
-                                        R_QTN_CMON_HEADING_SHARING_INFO,
-                                        ToStringAppNameLC( i ) );
-                }
-            else
-                {
-                ToDetailsListBoxItemTextWithAppendL( 0, 
-                                            ToStringAppNameLC( i ) );
-                }
-            }
-        CleanupStack::PopAndDestroy( sharing ); // ToStringAppNameLC()
-        }
-    else
-        {
-        if ( count >= realElementsMaxCount )
-            {
-            iDetailsArray->Delete( realElementsMaxCount - 1,
-                                   iDetailsArray->Count() - 13 );
-            iDetailsArray->Compress();              
-            }
-        } 
-
-    CMUILOGGER_LEAVEFN(
-        "void CEasyWlanConnectionInfo::RefreshDetailsArrayL()" );
-    }
-
-// ---------------------------------------------------------
-// CEasyWlanConnectionInfo::RefreshConnectionListBoxItemTextL
-// ---------------------------------------------------------
-//
-void CEasyWlanConnectionInfo::RefreshConnectionListBoxItemTextL()
-    {
-    CMUILOGGER_ENTERFN(
-    "void CEasyWlanConnectionInfo::RefreshConnectionListBoxItemTextL()" );
-
-    TUint  iconId;
-    HBufC* secondRow = NULL;
-
-    iconId = GetIconId();
-
-    if ( iConnectionStatus == EConnectionCreated )
-        {
-        secondRow =  ToStringDurationLC();
-        }
-    else    // if connection has not created yet gives back the status of its.
-        {
-        secondRow = ToStringStatusLC( EFalse );
-        }
-
-    iListBoxItemText.Format( KConnectonListItemTextFormat, iconId,
-                             &iWlanNetworkName, secondRow );
-    CleanupStack::PopAndDestroy( secondRow );
-
-    CMUILOGGER_LEAVEFN(
-    "void CEasyWlanConnectionInfo::RefreshConnectionListBoxItemTextL()" );
-    }
-
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/FeatureManagerWrapper.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Implementation of CFeatureManagerWrapper.
-*
-*/
-
-
-// INCLUDE FILES
-#include    "FeatureManagerWrapper.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CFeatureManagerWrapper::CFeatureManagerWrapper
-// ---------------------------------------------------------
-//
-CFeatureManagerWrapper::CFeatureManagerWrapper() : CBase()
-    {
-    }
-
-// ---------------------------------------------------------
-// CFeatureManagerWrapper::~CFeatureManagerWrapper
-// ---------------------------------------------------------
-//
-CFeatureManagerWrapper::~CFeatureManagerWrapper() 
-    {
-    if ( iIsFeatureMgrInitialized )
-        {
-        FeatureManager::UnInitializeLib();    
-        }
-    }
-
-// ---------------------------------------------------------
-// CFeatureManagerWrapper::ConstructL
-// ---------------------------------------------------------
-//
-void CFeatureManagerWrapper::ConstructL()
-    {
-    FeatureManager::InitializeLibL();
-    iIsFeatureMgrInitialized = ETrue ;
-    }
-
-// ---------------------------------------------------------
-// CFeatureManagerWrapper::NewL
-// ---------------------------------------------------------
-//
-CFeatureManagerWrapper*  CFeatureManagerWrapper::NewL()
-    {
-    CFeatureManagerWrapper* self = new ( ELeave ) CFeatureManagerWrapper;
-    
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-//End of file.
-
--- a/connectionmonitoring/connectionmonitorui/src/GprsConnectionInfo.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,426 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a GPRS connection
-*     
-*
-*/
-
-
-// INCLUDE FILES
-//#include <nifvar.h>
-#include <StringLoader.h>
-#include <connectionmonitorui.rsg>
-#include <ConnectionMonitorUi.mbg>
-//#include <Avkon.rsg>
-
-#include "ConnectionMonitorUiLogger.h"
-#include "GprsConnectionInfo.h"
-#include "ActiveWrapper.h"
-
-// CONSTANTS
-LOCAL_D const TUint KDetailsArrayGranularityInternal = 11;
-LOCAL_D const TUint KDetailsArrayGranularityExternal = 10;
-
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CGprsConnectionInfo::NewL
-// ---------------------------------------------------------
-//
-CGprsConnectionInfo* CGprsConnectionInfo::NewL( TInt aConnectionId, 
-                              RConnectionMonitor* const aConnectionMonitor,
-                              TConnMonBearerType aConnectionBearerType,
-                              CActiveWrapper* aActiveWrapper )
-    {
-    CGprsConnectionInfo* self = new ( ELeave ) CGprsConnectionInfo( 
-                                                    aConnectionId, 
-                                                    aConnectionMonitor, 
-                                                    aConnectionBearerType,
-                                                    aActiveWrapper );
-    CleanupStack::PushL( self );
-    self->ConstructL(); // Have to call this ConstructL at first,
-    CleanupStack::Pop( self );
-    CMUILOGGER_WRITE( "NewL, CGprsConnectionInfo" );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::~CGprsConnectionInfo
-// ---------------------------------------------------------
-//
-CGprsConnectionInfo::~CGprsConnectionInfo()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::CGprsConnectionInfo
-// ---------------------------------------------------------
-//
-CGprsConnectionInfo::CGprsConnectionInfo(  TInt aConnectionId, 
-                             RConnectionMonitor* const aConnectionMonitor,
-                             TConnMonBearerType aConnectionBearerType,
-                             CActiveWrapper* aActiveWrapper ) :
-    CConnectionInfoBase( aConnectionId, 
-                         aConnectionMonitor, 
-                         aConnectionBearerType,
-                         aActiveWrapper )
-        {
-        CMUILOGGER_WRITE( "CGprsConnectionInfo constuctor" );
-        }
-
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::ConstructL
-// ---------------------------------------------------------
-//
-void CGprsConnectionInfo::ConstructL()
-    {
-    CMUILOGGER_ENTERFN( "CGprsConnectionInfo::ConstructL() start" );
-    
-    iActiveWrapper->StartGetStringAttribute( iConnectionId,
-                                             iConnectionMonitor,
-                                             KAccessPointName,
-                                             iApName );
-#ifdef  __WINS__
-    iApName = _L( "LAN" );
-#else
-    TInt err( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "CGprsConnectionInfo::ConstructL status: %d", err );
-    if ( err != KErrNone )
-        {
-        User::Leave( err );
-        }
-#endif
-    CMUILOGGER_WRITE_F( "iApName Connection name: %S", &iApName );
-    
-    CConnectionInfoBase::ConstructL(); // and base class ConstructL next.
-    CMUILOGGER_WRITE( "CGprsConnectionInfo::ConstructL() end" );
-    }
-    
-// ---------------------------------------------------------
-// CGprsConnectionInfo::DeepCopyL
-// ---------------------------------------------------------
-//        
-CConnectionInfoBase* CGprsConnectionInfo::DeepCopyL()
-	{
-	CGprsConnectionInfo* temp = new ( ELeave ) CGprsConnectionInfo(
-                                                    iConnectionId,
-                                                    iConnectionMonitor,
-                                                    iConnectionBearerType,
-                                                    iActiveWrapper );
-                              							
-	temp->iConnectionName = iConnectionName;
-	temp->iConnectionStatus = iConnectionStatus;
-	temp->iUploaded = iUploaded;
-	temp->iDownloaded = iDownloaded;
-	temp->iStartTime = iStartTime;
-	temp->iDuration = iDuration;
-	temp->iLastSpeedUpdate = iLastSpeedUpdate;
-	temp->iUpSpeed = iUpSpeed;
-	temp->iDownSpeed = iDownSpeed;
-	temp->iListBoxItemText = iListBoxItemText;
-	
-	temp->iApName = iApName;
-	
-	if ( iDetailsArray )
-		{
-		CleanupStack::PushL( temp );		
-		temp->ToArrayDetailsL();
-		CleanupStack::Pop( temp );			
-		}
-
-	return temp;	
-	}
-    
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::GetIconId
-// ---------------------------------------------------------
-//
-TUint CGprsConnectionInfo::GetIconId() const
-    {
-    TUint iconId = EGprs;
-    if ( iConnectionStatus == EConnectionSuspended )
-	    {
-	    iconId = ESuspended;
-	    }
-    return iconId;
-    }
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::RefreshDetailsL
-// ---------------------------------------------------------
-//
-void CGprsConnectionInfo::RefreshDetailsL()
-    {
-    CMUILOGGER_WRITE( "CGprsConnectionInfo::RefreshDetailsL start" );
-
-    iActiveWrapper->StartGetStringAttribute( iConnectionId,
-                                             iConnectionMonitor,
-                                             KAccessPointName,
-                                             iApName );
-#ifdef  __WINS__
-    iActiveWrapper->Cancel();
-    iApName = _L( "LAN" );
-#else
-    TInt err( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "CGprsConnectionInfo::RefreshDetailsL status: %d",
-                        err );
-    if ( err != KErrNone )
-        {
-        User::Leave( err );
-        }
-#endif
-    CMUILOGGER_WRITE_F( "iApName Connection name: %S", &iApName );
-          
-    RefreshTransferSpeedsL();
-    RefreshDuration();
-    CMUILOGGER_WRITE( "CGprsConnectionInfo::RefreshDetailsL end" );
-    }
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::ToStringApNameLC
-// ---------------------------------------------------------
-//
-HBufC* CGprsConnectionInfo::ToStringApNameLC() const
-    {
-    HBufC* apName = iApName.AllocLC();
-    return apName;    
-    }
-
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::RefreshConnectionListBoxItemTextL
-// ---------------------------------------------------------
-//
-void CGprsConnectionInfo::RefreshConnectionListBoxItemTextL()
-    {
-    CMUILOGGER_WRITE( 
-        "CGprsConnectionInfo::RefreshConnectionListBoxItemTextL start" );
-
-    TUint  iconId;
-    HBufC* secondRow = NULL;
-    
-    iconId = GetIconId();
-
-    if ( iConnectionStatus == EConnectionCreated )
-        {
-        CDesCArrayFlat* array = new (ELeave) CDesCArrayFlat(2);
-        CleanupStack::PushL( array );
-      
-        HBufC* stringReceivedData = ToStringReceivedDataLC( ETrue );
-        HBufC* stringSentData = ToStringSentDataLC( ETrue );
-
-        StringMarkerRemoval( stringReceivedData );
-        StringMarkerRemoval( stringSentData );
-        
-        array->AppendL( *stringReceivedData );
-        array->AppendL( *stringSentData );
-
-        secondRow = StringLoader::LoadL( R_QTN_CMON_UL_DL_DATA_AMOUNTS, 
-                                         *array );
-
-        CleanupStack::PopAndDestroy( stringSentData );
-        CleanupStack::PopAndDestroy( stringReceivedData );
-        CleanupStack::PopAndDestroy( array );
-        }
-    else // if connection has not created yet gives back the status of its.
-        {
-        secondRow = ToStringStatusLC( EFalse );
-        CleanupStack::Pop( secondRow ); 
-        }
-
-    iListBoxItemText.Format( KConnectonListItemTextFormat, iconId, 
-                             &iConnectionName, secondRow );
-    delete secondRow;
-    CMUILOGGER_WRITE( 
-        "CGprsConnectionInfo::RefreshConnectionListBoxItemTextL end" );
-    }
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::RefreshDetailsArrayL
-// ---------------------------------------------------------
-//
-void CGprsConnectionInfo::RefreshDetailsArrayL()
-    {
-    CMUILOGGER_WRITE( "CGprsConnectionInfo::RefreshDetailsArrayL start" );
-    if ( iDetailsArray )
-        {
-        TBool internal = iConnectionBearerType < EBearerExternalCSD ;   
-        HBufC* temp = NULL;
-
-        temp = ToStringStatusLC();
-        ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_STATUS,
-                                              temp, 2 );
-
-        ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                              ToStringTotalTransmittedDataLC(),
-                                              3 );
-        ToDetailsListBoxItemTextWithReplaceL
-            (
-            R_QTN_CMON_HEADING_DATA_RECEIVED,
-            ToStringReceivedDataLC(),
-            4
-            );                                              
-
-        ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_SENT,
-                                              ToStringSentDataLC(), 5 );
-    
-        ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DURATION,
-                                              ToStringDurationLC(), 6 );
-        
-        ToDetailsListBoxItemTextWithReplaceL
-            (
-            R_QTN_CMON_HEADING_SPEED,
-            ToStringTransferSpeedDownLC(),
-            7
-            );
-
-        ToDetailsListBoxItemTextWithReplaceL
-            (
-            0, 
-            ToStringTransferSpeedUpLC(),
-            8
-            );
-    
-        CleanupStack::PopAndDestroy( 7, temp );   // ToString...LC()
-    
-        if ( internal )
-            {
-            TInt sharing = RefreshAppNamesL();
-                
-            if ( sharing > 1 )
-                {
-                if ( iDetailsArray->Count() > 10 )
-                    {                
-                    iDetailsArray->Delete( 10, 
-                                           iDetailsArray->Count() - 10 );
-                    iDetailsArray->Compress();
-                    }
-
-                for ( TInt i = 0; i < sharing; i++ )
-                    {
-                    if ( i == 0 )
-                        {
-                        ToDetailsListBoxItemTextWithAppendL( 
-                                        R_QTN_CMON_HEADING_SHARING_INFO,
-                                        ToStringAppNameLC( i ) );
-                        }
-                    else
-                        {
-                        ToDetailsListBoxItemTextWithAppendL( 0, 
-                                                    ToStringAppNameLC( i ) );
-                        }
-                    }
-                CleanupStack::PopAndDestroy( sharing ); 
-                                                    // ToStringAppNameLC()
-                }
-            else
-                {
-                if ( iDetailsArray->Count() > 10 )
-                    {
-                    iDetailsArray->Delete( 10, iDetailsArray->Count() - 10 );
-                    iDetailsArray->Compress();
-                    }
-                }
-            }
-        }
-    CMUILOGGER_WRITE( "CGprsConnectionInfo::RefreshDetailsArrayL end" );    
-    }
-
-
-// ---------------------------------------------------------
-// CGprsConnectionInfo::ToArrayDetailsL
-// ---------------------------------------------------------
-//
-void CGprsConnectionInfo::ToArrayDetailsL()
-    {
-    CMUILOGGER_ENTERFN("CGprsConnectionInfo::ToArrayDetailsL");
-    TBool internal = iConnectionBearerType < EBearerExternalCSD ;
-    TUint granularity = KDetailsArrayGranularityExternal;
-    HBufC* temp = NULL;
-
-
-    if ( internal )
-        {
-        granularity = KDetailsArrayGranularityInternal;
-        }
-    delete iDetailsArray;
-    iDetailsArray = NULL;
-    iDetailsArray = new ( ELeave ) CDesCArrayFlat( granularity );
-  
-    temp = iConnectionName.AllocLC();
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_CONN_NAME,
-                                         temp );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_BEARER,
-                                         ToStringBearerLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_STATUS,
-                                         ToStringStatusLC() );
-    
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                         ToStringTotalTransmittedDataLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_RECEIVED,
-                                         ToStringReceivedDataLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_SENT,
-                                         ToStringSentDataLC() );
-    
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DURATION,
-                                         ToStringDurationLC() );
-        
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_SPEED,
-                                         ToStringTransferSpeedDownLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( 0, 
-                                         ToStringTransferSpeedUpLC() );
-    
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_GPRS_APN,
-                                         ToStringApNameLC() );
-    CleanupStack::PopAndDestroy( 10, temp );   // ToString...LC()
-    
-    if ( internal )
-        {
-        TInt sharing = RefreshAppNamesL();
-
-        if ( sharing > 1 )
-            {
-            for ( TInt i = 0; i < sharing; i++ )
-                {
-                if ( i == 0 )
-                    {
-                    ToDetailsListBoxItemTextWithAppendL( 
-                                    R_QTN_CMON_HEADING_SHARING_INFO,
-                                    ToStringAppNameLC( i ) );
-                    }
-                else
-                    {
-                    ToDetailsListBoxItemTextWithAppendL( 0, 
-                                                ToStringAppNameLC( i ) );
-                    }
-                }
-            CleanupStack::PopAndDestroy( sharing ); 
-                                                    // ToStringAppNameLC()
-            }
-        }
-    CMUILOGGER_LEAVEFN("CGprsConnectionInfo::ToArrayDetailsL");
-    }
-
-
-// End of File
--- a/connectionmonitoring/connectionmonitorui/src/WlanConnectionInfo.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,851 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Represents a WLAN connection
-*     
-*
-*/
-
-
-// INCLUDE FILES
-#include <connectionmonitorui.rsg>
-#include <ConnectionMonitorUi.mbg>
-
-#include "ConnectionArray.h"
-#include "WlanConnectionInfo.h"
-#include "EasyWLANConnectionInfo.h"
-#include "ActiveWrapper.h"
-
-#include <StringLoader.h>
-
-#include "ConnectionMonitorUiLogger.h"
-
-// CONSTANTS
-
-/**
-* Count of details of WLAN connection
-*/
-LOCAL_D const TUint KDetailsArrayMaxGranularityCCX = 15;
-
-// ================= MEMBER FUNCTIONS =======================
-// ---------------------------------------------------------
-// CWlanConnectionInfo::NewL
-// ---------------------------------------------------------
-//
-CWlanConnectionInfo* CWlanConnectionInfo::NewL( TInt aConnectionId, 
-                                RConnectionMonitor* const aConnectionMonitor,
-                                TConnMonBearerType aConnectionBearerType,
-                                const HBufC* aEasyWlanIAPName,
-                                CActiveWrapper* aActiveWrapper )
-    {
-    CMUILOGGER_ENTERFN( "CWlanConnectionInfo* CWlanConnectionInfo::NewL" ); 
-       
-    CWlanConnectionInfo* self = new ( ELeave ) CWlanConnectionInfo( 
-                                                      aConnectionId, 
-                                                      aConnectionMonitor, 
-                                                      aConnectionBearerType,
-                                                      aActiveWrapper );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    
-    if ( aEasyWlanIAPName )
-        {
-        if ( self->iConnectionName.Compare( *aEasyWlanIAPName ) )
-            {
-            CleanupStack::Pop( self );        
-            }
-        else
-            {
-            CEasyWlanConnectionInfo* temp = CEasyWlanConnectionInfo::NewL( 
-                                                      aConnectionId, 
-                                                      aConnectionMonitor, 
-                                                      aConnectionBearerType,
-                                                      aActiveWrapper );
-            CleanupStack::PopAndDestroy( self );
-            self = temp;
-            }        
-        }
-    else
-        {
-        CleanupStack::Pop( self );                            
-        }
- 
-    
-    
-    CMUILOGGER_LEAVEFN( "CWlanConnectionInfo* CWlanConnectionInfo::NewL" );
-        
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::CWlanConnectionInfo
-// ---------------------------------------------------------
-//
-CWlanConnectionInfo::CWlanConnectionInfo( TInt aConnectionId, 
-                                RConnectionMonitor* const aConnectionMonitor,
-                                TConnMonBearerType aConnectionBearerType,
-                                CActiveWrapper* aActiveWrapper ) 
-    : CConnectionInfoBase( aConnectionId, 
-                           aConnectionMonitor, 
-                           aConnectionBearerType,
-                           aActiveWrapper ), iEasyWlan( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::ConstructL()
-    {  
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::ConstructL()" ); 
-     
-    RefreshNetworkNameL();
-    RefreshSignalStrength();
-    RefreshSecurityMode();
-    RefreshNetworkMode();        
-    RefreshTxPowerL();        
-    
-    CConnectionInfoBase::ConstructL(); // and base class ConstructL next.
-    
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::ConstructL()" );    
-    }
-
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::~CWlanConnectionInfo
-// ---------------------------------------------------------
-//
-CWlanConnectionInfo::~CWlanConnectionInfo()
-    {
-    }
-    
-// ---------------------------------------------------------
-// CWlanConnectionInfo::DeepCopyL
-// ---------------------------------------------------------
-//        
-CConnectionInfoBase* CWlanConnectionInfo::DeepCopyL()
-	{
-	CWlanConnectionInfo* temp = new ( ELeave ) CWlanConnectionInfo(
-                                                    iConnectionId,
-                                                    iConnectionMonitor,
-                                                    iConnectionBearerType,
-                                                    iActiveWrapper );
-                              							
-	temp->iConnectionName = iConnectionName;
-	temp->iConnectionStatus = iConnectionStatus;
-	temp->iUploaded = iUploaded;
-	temp->iDownloaded = iDownloaded;
-	temp->iStartTime = iStartTime;
-	temp->iDuration = iDuration;
-	temp->iLastSpeedUpdate = iLastSpeedUpdate;
-	temp->iUpSpeed = iUpSpeed;
-	temp->iDownSpeed = iDownSpeed;
-	temp->iListBoxItemText = iListBoxItemText;
-	
-	temp->iWlanNetworkName = iWlanNetworkName;
-	temp->iSignalStrength = iSignalStrength;
-	temp->iNetworkMode = iNetworkMode;
-	temp->iSecurityMode = iSecurityMode;
-	temp->iTxPower = iTxPower;
-	
-	if ( iDetailsArray )
-		{
-		CleanupStack::PushL( temp );		
-		temp->ToArrayDetailsL();
-		CleanupStack::Pop( temp );			
-		}
-		
-	return temp;	
-	}    
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::GetIconId
-// ---------------------------------------------------------
-//
-TUint CWlanConnectionInfo::GetIconId() const
-    {
-    CMUILOGGER_ENTERFN( "TUint CWlanConnectionInfo::GetIconId() const" ); 
-    
-    TUint iconId = EWlan;    
-    
-    CMUILOGGER_LEAVEFN( "TUint CWlanConnectionInfo::GetIconId() const" );
-    
-    return iconId;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::IsEasyWLAN
-// ---------------------------------------------------------
-//
-TBool CWlanConnectionInfo::IsEasyWLAN() const
-    {
-    return iEasyWlan;    
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::GetWlanNetworkNameLC
-// ---------------------------------------------------------
-//
-HBufC* CWlanConnectionInfo::GetWlanNetworkNameLC() const
-    {
-    CMUILOGGER_ENTERFN( "CWlanConnectionInfo::GetWlanNetworkNameLC()" ); 
-    
-    HBufC* name = iWlanNetworkName.AllocLC();
-    
-    CMUILOGGER_LEAVEFN( "CWlanConnectionInfo::GetWlanNetworkNameLC()" );
-    
-    return name;    
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::GetWlanSignalStrength
-// ---------------------------------------------------------
-//
-TWlanSignalStrength CWlanConnectionInfo::GetWlanSignalStrength()  const
-    {
-    return iSignalStrength;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::GetWlanNetworkMode
-// ---------------------------------------------------------
-//
-TWlanNetworkMode CWlanConnectionInfo::GetWlanNetworkMode()  const
-    {
-    return iNetworkMode;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::GetWlanSecurityMode
-// ---------------------------------------------------------
-//
-TWlanSecurityMode CWlanConnectionInfo::GetWlanSecurityMode()  const
-    {
-    return iSecurityMode;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::GetWlanTxPower
-// ---------------------------------------------------------
-//
-TUint CWlanConnectionInfo::GetWlanTxPower() const
-    {
-    return iTxPower;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshDetailsL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshDetailsL()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshDetailsL()" ); 
-
-    if ( IsAlive() )
-        {
-        RefreshNetworkNameL();
-        }
-    
-    if ( IsAlive() )
-        {
-        RefreshNetworkMode();
-        }
-    
-    if ( IsAlive() )
-        {
-        RefreshSecurityMode();
-        }
-    
-    if ( IsAlive() )
-        {
-        RefreshTransferSpeedsL();
-        }
-    
-    if ( IsAlive() )
-        {
-        RefreshDuration(); 
-        }
-    
-    if ( IsAlive() )
-        {
-        RefreshSignalStrength();
-        }
-    
-    if ( IsAlive() )
-        {
-        RefreshTxPowerL();
-        }
-    
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshDetailsL()" );    
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshNetworkNameL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshNetworkNameL()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshNetworkNameL()" ); 
-    
-    iActiveWrapper->StartGetStringAttribute( iConnectionId,
-                                             iConnectionMonitor,
-                                             KNetworkName,
-                                             iWlanNetworkName );
-    
-    CMUILOGGER_WRITE_F( "RefreshNetworkName status : %d", 
-                        iActiveWrapper->iStatus.Int() );
-
-    if ( iActiveWrapper->iStatus.Int() )
-        {
-        if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-            {
-            iConnectionStatus = EConnectionClosed;
-            }
-        HBufC* temp = StringLoader::LoadL( R_QTN_CMON_PARAMETER_UNAVAILABLE );
-        iWlanNetworkName = *temp;  
-        delete temp;
-        }
-    
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshNetworkNameL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshSignalStrength
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshSignalStrength()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshSignalStrength()" );
-    
-    iActiveWrapper->StartGetIntAttribute( iConnectionId,
-                                          iConnectionMonitor,
-                                          KSignalStrength,
-                                          ( TInt& )iSignalStrength );
-
-    CMUILOGGER_WRITE_F( "RefreshSignalStrengthL status : %d",
-                        iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "iSignalStrength : %d", ( TInt )iSignalStrength );
-
-    if ( iActiveWrapper->iStatus.Int() )
-        {
-        if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-            {
-            iConnectionStatus = EConnectionClosed;
-            }
-        iSignalStrength = EWlanSignalUnavailable;   
-        }
-            
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshSignalStrength()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshSecurityMode
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshSecurityMode()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshSecurityMode()" ); 
-    
-    iActiveWrapper->StartGetIntAttribute( iConnectionId,
-                                          iConnectionMonitor,
-                                          KSecurityMode,
-                                          ( TInt& )iSecurityMode );
-
-    CMUILOGGER_WRITE_F( "RefreshSecurityMode status: %d",
-                        iActiveWrapper->iStatus.Int() );
-    
-    if ( iActiveWrapper->iStatus.Int() )
-        {
-        if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-            {
-            iConnectionStatus = EConnectionClosed;
-            }
-        iSecurityMode = EWlanSecurityModeUnavailable;    
-        }
-    
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshSecurityMode()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshNetworkMode
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshNetworkMode()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshNetworkMode()" ); 
-    
-    iActiveWrapper->StartGetIntAttribute( iConnectionId,
-                                          iConnectionMonitor,
-                                          KNetworkMode,
-                                          ( TInt& )iNetworkMode );
-
-    CMUILOGGER_WRITE_F( "RefreshNetworkMode status : %d",
-                        iActiveWrapper->iStatus.Int() );
-    
-    if ( iActiveWrapper->iStatus.Int() )
-        {
-        if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-            {
-            iConnectionStatus = EConnectionClosed;
-            }
-        iNetworkMode = EWlanNetworkModeUnavailable;   
-        }
-        
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshNetworkMode()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshTxPowerL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshTxPowerL()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshTxPowerL()" ); 
-    
-    iActiveWrapper->StartGetUintAttribute( iConnectionId,
-                                           iConnectionMonitor,
-                                           KTransmitPower,
-                                           iTxPower );
-
-    if ( iActiveWrapper->iStatus.Int() )
-        {
-        if ( KErrNotFound == iActiveWrapper->iStatus.Int() )
-            {
-            iConnectionStatus = EConnectionClosed;
-            }
-        iSignalStrength = EWlanSignalUnavailable;   
-        }
-            
-    CMUILOGGER_WRITE_F( "iTxPower : %d", iTxPower );
-    TInt err( iActiveWrapper->iStatus.Int() );
-    CMUILOGGER_WRITE_F( "RefreshTxPowerL status: %d", err );
-            
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshTxPowerL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::ToStringSignalStrengthLC
-// ---------------------------------------------------------
-//
-HBufC* CWlanConnectionInfo::ToStringSignalStrengthLC() const
-    {
-    CMUILOGGER_ENTERFN( "CWlanConnectionInfo::ToStringSignalStrengthLC()" );
-    
-    HBufC* signalStrength = NULL;
-    TInt resourceId( 0 );
-        
-    if ( iSignalStrength == EWlanSignalUnavailable )
-        {
-        resourceId =  R_QTN_CMON_WLAN_SIGNAL_STRENGTH_NO_SIGNAL;   
-        signalStrength = StringLoader::LoadLC( resourceId );
-        }                    
-    else if ( iSignalStrength < EWlanSignalStrengthGood )
-        {
-        resourceId =  R_QTN_CMON_WLAN_SINGAL_STRENGTH_GOOD;
-        }
-    else if ( iSignalStrength > EWlanSignalStrengthLow )
-        {
-        resourceId =  R_QTN_CMON_WLAN_SINGAL_STRENGTH_LOW;
-        }
-    else 
-        {
-        resourceId = R_QTN_CMON_WLAN_SINGAL_STRENGTH_MEDIUM;
-        }
-        
-    TInt signalInPercent( 0 );
-    if ( iSignalStrength <= EWlanSignalStrengthMax )
-        {
-        signalInPercent = 100;
-        }
-    else if ( iSignalStrength >= EWlanSignalStrengthMin )
-        {
-        signalInPercent = 0;        
-        }
-    else
-        {
-        TInt diff = EWlanSignalStrengthMin - iSignalStrength;
-        signalInPercent = diff * 100 / KDiffOfWlanSignalStrength;        
-        }        
-    
-    if ( !signalStrength ) // there is connection to network
-        {
-        CMUILOGGER_WRITE_F( "signalInPercent : %d", signalInPercent );
-        
-        signalStrength = StringLoader::LoadLC( resourceId, 
-                                               signalInPercent );
-        }        
-            
-    CMUILOGGER_LEAVEFN( "CWlanConnectionInfo::ToStringSignalStrengthLC()" );
-            
-    return signalStrength;    
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::ToStringNetworkModeLC
-// ---------------------------------------------------------
-//
-HBufC* CWlanConnectionInfo::ToStringNetworkModeLC() const
-    {
-    CMUILOGGER_ENTERFN( "CWlanConnectionInfo::ToStringNetworkModeLC()" ); 
-    
-    HBufC* networkMode = NULL;
-    TInt resourceId( 0 );
-
-    switch ( iNetworkMode )
-        {
-        case EWlanNetworkModeInfrastructure:
-        case EWlanNetworkModeSecInfrastructure:        
-            {
-            resourceId = R_QTN_CMON_WLAN_NEWTWORK_MODE_INFRA;    
-            break;
-            }
-        case EWlanNetworkModeAdHoc:
-            {
-            resourceId = R_QTN_CMON_WLAN_NEWTWORK_MODE_ADHOC;
-            break;
-            }            
-        case EWlanNetworkModeUnavailable:
-        default:
-            {
-            resourceId = R_QTN_CMON_PARAMETER_UNAVAILABLE;    
-            break;                
-            }
-        }
-    
-    networkMode = StringLoader::LoadLC( resourceId );        
-    
-    CMUILOGGER_LEAVEFN( "CWlanConnectionInfo::ToStringNetworkModeLC()" );
-        
-    return networkMode;
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::ToStringSecurityModeLC
-// ---------------------------------------------------------
-//
-HBufC* CWlanConnectionInfo::ToStringSecurityModeLC() const
-    {
-    CMUILOGGER_ENTERFN( "CWlanConnectionInfo::ToStringSecurityModeLC()" );
-    
-    HBufC* securityMode = NULL;
-    TInt resourceId( 0 );
-
-    switch ( iSecurityMode )
-        {
-        case EWlanSecurityModeOpenNetwork:
-            {
-            resourceId = R_QTN_CMON_WLAN_SECURITY_MODE_OPEN;
-            break;
-            }
-        case EWlanSecurityModeWEP:
-            {
-            resourceId = R_QTN_CMON_WLAN_SECURITY_MODE_WEP;
-            break;
-            }
-        case EWlanSecurityMode8021x:
-            {
-            resourceId = R_QTN_CMON_WLAN_SECURITY_MODE_802_1X;
-            break;
-            }
-        case EWlanSecurityModeWPA:
-            {
-            resourceId = R_QTN_CMON_WLAN_SECURITY_MODE_WPA;
-            break;
-            }
-        case EWlanSecurityWpaPsk:
-            {
-            resourceId = R_QTN_CMON_WLAN_SECURITY_MODE_WPA;
-            break;
-            }
-        case EWlanSecurityModeUnavailable:            
-        default:
-            {
-            resourceId = R_QTN_CMON_PARAMETER_UNAVAILABLE;    
-            break;
-            }
-        }
-    
-    securityMode = StringLoader::LoadLC( resourceId );    
-    
-    CMUILOGGER_LEAVEFN( "CWlanConnectionInfo::ToStringSecurityModeLC()" );
-            
-    return securityMode;    
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::ToStringTxPowerLC
-// ---------------------------------------------------------
-//
-HBufC* CWlanConnectionInfo::ToStringTxPowerLC() const
-    {
-    CMUILOGGER_ENTERFN( "CWlanConnectionInfo::ToStringTxPowerLC()" ); 
-    
-    HBufC* txPower = StringLoader::LoadLC( R_QTN_CMON_WLAN_TX_POWER_LEVEL,
-                                           iTxPower );
-    
-    CMUILOGGER_LEAVEFN( "CWlanConnectionInfo::ToStringTxPowerLC()" );
-                                               
-    return txPower;    
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::ToArrayDetailsL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::ToArrayDetailsL()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::ToArrayDetailsL()" ); 
-    
-    HBufC* temp = NULL;
-    delete iDetailsArray;
-    iDetailsArray = NULL;
-    iDetailsArray = new ( ELeave ) CDesCArrayFlat
-                                    ( KDetailsArrayMaxGranularityCCX );
-    
-    temp = iConnectionName.AllocLC();
- 
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_CONN_NAME,
-        temp );    
-  
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_BEARER,
-        ToStringBearerLC()
-        );
-
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_STATUS,
-        ToStringStatusLC()
-        );
-    
-    ToDetailsListBoxItemTextWithAppendL
-    (
-    R_QTN_CMON_HEADING_WLAN_NETWORK_NAME,
-    GetWlanNetworkNameLC()
-    );
-
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_WLAN_SIGNAL_STRENGTH,
-        ToStringSignalStrengthLC()
-        );
-
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_WLAN_NETWORK_MODE,
-        ToStringNetworkModeLC()
-        );
-
-    ToDetailsListBoxItemTextWithAppendL
-        (
-        R_QTN_CMON_HEADING_WLAN_SECURITY_MODE,
-        ToStringSecurityModeLC()
-        );
-        
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_WLAN_TX_POWER,
-                                         ToStringTxPowerLC() );
-        
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                         ToStringTotalTransmittedDataLC() );
-                                         
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_RECEIVED,
-                                         ToStringReceivedDataLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DATA_SENT,
-                                         ToStringSentDataLC() );
-    
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_DURATION,
-                                         ToStringDurationLC() );
-        
-    ToDetailsListBoxItemTextWithAppendL( R_QTN_CMON_HEADING_SPEED,
-                                         ToStringTransferSpeedDownLC() );
-
-    ToDetailsListBoxItemTextWithAppendL( 0, 
-                                         ToStringTransferSpeedUpLC() );
-                
-                                         
-    CleanupStack::PopAndDestroy
-        (
-        KDetailsArrayMaxGranularityCCX - 1, 
-        temp );
-                                 
-    TInt sharing = RefreshAppNamesL();
-
-    if ( sharing > 1 )
-        {
-        for ( TInt i = 0; i < sharing; i++ )
-            {
-            if ( i == 0 )
-                {
-                ToDetailsListBoxItemTextWithAppendL( 
-                                    R_QTN_CMON_HEADING_SHARING_INFO,
-                                    ToStringAppNameLC( i ) );
-                }
-            else
-                {
-                ToDetailsListBoxItemTextWithAppendL( 0, 
-                                                ToStringAppNameLC( i ) );
-                }
-            }
-        CleanupStack::PopAndDestroy( sharing ); // ToStringAppNameLC()
-        }
-    
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::ToArrayDetailsL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshDetailsArrayL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshDetailsArrayL()
-    {
-    CMUILOGGER_ENTERFN( "void CWlanConnectionInfo::RefreshDetailsArrayL()" );
-
-    HBufC* temp = NULL;
-
-    temp = ToStringStatusLC();
-
-    ToDetailsListBoxItemTextWithReplaceL
-        (
-        R_QTN_CMON_HEADING_STATUS,
-        temp,
-        2
-        );
-
-    ToDetailsListBoxItemTextWithReplaceL
-        (
-        R_QTN_CMON_HEADING_WLAN_SIGNAL_STRENGTH,
-        ToStringSignalStrengthLC(),
-        4
-        );
-                                          
-    ToDetailsListBoxItemTextWithReplaceL
-        (
-        R_QTN_CMON_HEADING_WLAN_TX_POWER,
-        ToStringTxPowerLC(),
-        7
-        );
-        
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_TOTAL,
-                                          ToStringTotalTransmittedDataLC(),
-                                          8 );
-        
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_RECEIVED,
-                                          ToStringReceivedDataLC(), 
-                                          9 );
-
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DATA_SENT,
-                                          ToStringSentDataLC(), 
-                                          10 );
-    
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_DURATION,
-                                          ToStringDurationLC(), 
-                                          11 );
-        
-    ToDetailsListBoxItemTextWithReplaceL( R_QTN_CMON_HEADING_SPEED,
-                                          ToStringTransferSpeedDownLC(), 
-                                          12 );
-
-    ToDetailsListBoxItemTextWithReplaceL( 0, 
-                                          ToStringTransferSpeedUpLC(), 
-                                          13 );
-                                          
-    CleanupStack::PopAndDestroy( 9, temp );
-    
-
-    TInt count = iDetailsArray->Count();
-    TInt realElementsMaxCount = KDetailsArrayMaxGranularityCCX;
-    
-    CMUILOGGER_WRITE_F( "count : %d", count );
-    CMUILOGGER_WRITE_F( "realElementsMaxCount : %d", realElementsMaxCount );
-    
-    TInt sharing = RefreshAppNamesL();
-
-    if ( sharing > 1 )
-        {
-        if ( count >= realElementsMaxCount ) // 15
-            {  
-            iDetailsArray->Delete( realElementsMaxCount - 1,
-                                   iDetailsArray->Count() - 14 );
-            iDetailsArray->Compress(); 
-            }
-        
-        for ( TInt i = 0; i < sharing; i++ )
-            {
-            if ( i == 0 )
-                {
-                ToDetailsListBoxItemTextWithAppendL( 
-                                        R_QTN_CMON_HEADING_SHARING_INFO,
-                                        ToStringAppNameLC( i ) );
-                }
-            else
-                {
-                ToDetailsListBoxItemTextWithAppendL( 0, 
-                                        ToStringAppNameLC( i ) );
-                }
-            }
-        CleanupStack::PopAndDestroy( sharing ); // ToStringAppNameLC()
-        }
-    else
-        {
-        if ( count >= realElementsMaxCount )
-            {
-            iDetailsArray->Delete( realElementsMaxCount - 1,
-                                   iDetailsArray->Count() - 14 );
-            iDetailsArray->Compress();              
-            }
-        }               
-    
-    CMUILOGGER_LEAVEFN( "void CWlanConnectionInfo::RefreshDetailsArrayL()" );
-    }
-
-
-// ---------------------------------------------------------
-// CWlanConnectionInfo::RefreshConnectionListBoxItemTextL
-// ---------------------------------------------------------
-//
-void CWlanConnectionInfo::RefreshConnectionListBoxItemTextL()
-    {
-    CMUILOGGER_ENTERFN( 
-    "void CWlanConnectionInfo::RefreshConnectionListBoxItemTextL()" ); 
-    
-    TUint  iconId;
-    HBufC* secondRow = NULL;
-    
-    iconId = GetIconId();
-
-    if ( iConnectionStatus == EConnectionCreated )
-        {
-        secondRow =  ToStringDurationLC();          
-        }
-    else // if connection has not created yet gives back the status of itself.
-        {
-        secondRow = ToStringStatusLC( EFalse );
-        }
-
-    iListBoxItemText.Format( KConnectonListItemTextFormat, iconId, 
-                             &iConnectionName, secondRow );
-    CleanupStack::PopAndDestroy( secondRow );
-    
-    CMUILOGGER_LEAVEFN( 
-    "void CWlanConnectionInfo::RefreshConnectionListBoxItemTextL()" );    
-    }
-
-
-
-// End of File
--- a/connectionmonitoring/connmon/connectionmonitor/src/connmoncommsdatcache.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ b/connectionmonitoring/connmon/connectionmonitor/src/connmoncommsdatcache.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -524,7 +524,9 @@
     TInt err( KErrNone );
 
     TBool availabilityEventsEnabled( EFalse );
-    if ( ( aBearerId == EBearerIdAll ) || ( aBearerId == EBearerIdVirtualVPN ) )
+    if ( ( aBearerId == EBearerIdAll ) || 
+         ( aBearerId == EBearerIdVirtualVPN ) ||
+         ( aBearerId == EBearerIdWLAN ) )
         {
         // If WLAN background scanning is on, and client is asking IAP
         // availability for all- or virtual IAPs, send IAP availability changed
--- a/connectionmonitoring/connmon/dataconnectionlogger/inc/dclevent.h	Fri Aug 06 19:11:03 2010 +0300
+++ b/connectionmonitoring/connmon/dataconnectionlogger/inc/dclevent.h	Mon Aug 23 13:40:12 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2003-2004 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -11,14 +11,13 @@
 *
 * Contributors:
 *
-* Description:  Data Connection Logger.
-*
+* Description:
+* Data Connection Logger.
 */
 
 #ifndef DCLEVENT_H
 #define DCLEVENT_H
 
-#include <cntdef.h>
 #include <logwrap.h>
 #include <logcli.h>
 
--- a/connectionmonitoring/group/bld.inf	Fri Aug 06 19:11:03 2010 +0300
+++ b/connectionmonitoring/group/bld.inf	Mon Aug 23 13:40:12 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2001-2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -11,9 +11,8 @@
 *
 * Contributors:
 *
-* Description:  Build information file for all projects in connectionmonitoring
-*                subsystem.
-*
+* Description:
+* Build information file for all projects in connectionmonitoring subsystem.
 */
 
 PRJ_PLATFORMS
@@ -22,7 +21,6 @@
 PRJ_EXPORTS
 
 PRJ_MMPFILES
-#include "../connectionmonitorui/group/bld.inf"
 #include "../connmon/connectionmonitor/group/bld.inf"
 #include "../connmon/dataconnectionlogger/group/bld.inf"
 #include "../connmonext/group/bld.inf"
--- a/connectionutilities/confirmqueries/confirmqueries.pro	Fri Aug 06 19:11:03 2010 +0300
+++ b/connectionutilities/confirmqueries/confirmqueries.pro	Mon Aug 23 13:40:12 2010 +0300
@@ -45,4 +45,8 @@
 }
 TRANSLATIONS = cellularpromptdialog.ts
 
-RESOURCES += res/promptdialog.qrc
\ No newline at end of file
+RESOURCES += res/promptdialog.qrc
+
+DOCML += \
+    res/prompt_home.docml \
+    res/prompt_abroad.docml
\ No newline at end of file
--- a/connectionutilities/confirmqueries/res/promptdialog.qrc	Fri Aug 06 19:11:03 2010 +0300
+++ b/connectionutilities/confirmqueries/res/promptdialog.qrc	Mon Aug 23 13:40:12 2010 +0300
@@ -1,6 +1,6 @@
 <RCC>
     <qresource prefix="/xml" >
-        <file>prompt_home.docml</file>
-        <file>prompt_abroad.docml</file>
+        <file alias="prompt_home.docml">prompt_home.docml.bin</file>
+        <file alias="prompt_abroad.docml">prompt_abroad.docml.bin</file>
     </qresource>
 </RCC>
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/data/bld.inf	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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: Build info for ipconnmgmt package. 
+*
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+// Export CommsDat to emulator
+cccccc00_emulator.cre   /epoc32/winscw/c/private/10202be9/persists/cccccc00.cre
+
+// Export default configuration options
+../inc/meshpreface1.cfg         /epoc32/release/winscw/udeb/z/system/data/meshpreface1.cfg
--- a/dbcreator/commsdatcreator/Inc/cdcdatamobilitytables.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CDataMobilityTables.
-*
-*/
-
-
-
-
-#ifndef DATAMOBILITYTABLESHANDLER_H
-#define DATAMOBILITYTABLESHANDLER_H
-
-
-// INCLUDES
-#include <e32base.h>
-#include <metadatabase.h>
-
-using namespace CommsDat;
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* CDataMobilityTables
-* Capable of checking the existence of certain Data Mobility specific 
-* tables and - if necessary create them.
-*/
-class CDataMobilityTables : public CBase
-    {   
-    public:
-
-        /**
-        * Static constructor
-        */
-        static CDataMobilityTables* NewL();
-
-        /**
-        * Destructor
-        */
-        virtual ~CDataMobilityTables();
-
-        /**
-        * Checks if Data Mobility ALR tables exist. Creates them if not.
-        */
-        void CheckAndCreateAlrTablesL();
-        
-        /**
-        * Checks if Data Mobility MIP tables exist. Creates them if not.
-        */
-        void CheckAndCreateMipTablesL();
-
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CDataMobilityTables();
-
-        /**
-        * By default Symbian second phase constructor is private.
-        */
-        void ConstructL();
-        
-        /**
-        * Check if Global Bearer Type Priorization Table exists in CommsDat;
-        * create if not.
-        */
-        void CreateGlobalBearerTypeTableL();
-        
-        /**
-        * Check if Data Mobility Selection Policy Table exists in CommsDat;
-        * create if not.
-        */
-        void CreateDataMobilitySelectionPolicyTableL();
-        
-        /**
-        * Check if Virtual IAP Next Layer Table exists in CommsDat;
-        * create if not.
-        */
-        void CreateVirtualIAPNextLayerTableL();
-
-        /**
-        * Check if MIP Service Table exists in CommsDat; create if not.
-        */
-        void CreateMIPServiceTableL();
-        
-        /**
-        * Check if MIP Service Table exists in CommsDat; create if not.
-        */
-        void CreateMIP4TableL();
-        
-        /**
-        * Check if MIP Service Table exists in CommsDat; create if not.
-        */
-        void CreateMIP6TableL();
-        
-        /**
-        * Check if SNAP Metadata Table exists in CommsDat; create if not.
-        */
-        void CreateSNAPMetadataTableL();
-        
-        /**
-        * Check if IAP Metadata Table exists in CommsDat; create if not.
-        */
-        void CreateIAPMetadataTableL();
-        
-        /**
-        * Check if WLAN Destination network Table exists in CommsDat; 
-        * create if not.
-        */
-        void CreateDestNetworkTableL();
-        
-        /**
-        * Populates the Global Bearer Priorization table.
-        */
-        void PopulateGlobalBearerTypeTableL();
-        
-    private:    // Data
-    
-        //@var session - Owned
-        CMDBSession* iSession;
-        
-    };
-
-#endif      // DATAMOBILITYTABLESHANDLER_H
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcdumptables.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CDbCreator
-*
-*/
-
-
-
-
-#ifndef DUMP_TABLES_H
-#define DUMP_TABLES_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <s32file.h>
-
-// CLASS DECLARATION
-
-class CMDBSession;
-
-/**
-* CDumpTables writes data from CommsDat to CSV format file.
-* CDumpTables dumps the CommsDat tables which are not dumped 
-* by any other application.
-*/
-class CDumpTables : public CBase
-    {
-
-    public:
-    
-        /**
-         * Two-phase constructor.
-         * @return CDumpTables instance.
-         */
-        static CDumpTables* NewL();
-
-        /**
-         * Two-phase constructor.
-         * @return CDumpTables instance. Let the instance on the CleanupStack. 
-         */
-        static CDumpTables* NewLC();
-     
-        /**
-         * Destructor.
-         */
-        virtual ~CDumpTables();
-        
-        /**
-         * Dumps the unsupported tables to CSV format file.
-         * @param outFileName name of the output file with full path. 
-         */
-        void DoDumpTablesL( const TFileName& aOutFileName );
-        
-    protected:
-
-        /**
-         * Second phase constructor. Leaves on failure.
-         */
-        void ConstructL();
-        
-     private:
-    
-        /**
-         * Constructor
-         */
-        CDumpTables();
-        
-        /**
-         * Template method for dumping one CommsDat table
-         * @param class T representing the table which is dumped. 
-         */
-        template<class T> void DumpTableL( const TDesC* aTableName );
-
-        /**
-         * Opens a output file for dumping. It tries to open the file
-         * and if it does not exist then a new one created.
-         * @param aFileName name of the file. It cannot be NULL.  
-         */
-        TInt OpenFileL( const TFileName& aFileName );
-        
-        /**
-         * Writes 8 bit descriptor to 16 bit unicode file in CSV format.
-         * @param aDes the written text. It gets the ownership.  
-         */
-        void WriteL( HBufC8* aDes );
-
-        /**
-         * Writes 16 bit descriptor to 16 bit unicode file in CSV format.
-         * @param aDes the written text. It gets the ownership.  
-         */
-        void WriteL( HBufC16* aDes );
-
-        /**
-         * Transform the parameter field to CSV accepted format.
-         * @param aField the field that should be checked and transform
-         * to CSV format if it is necessary
-         * @return the CSV acceptable format.
-         */
-        HBufC16* TransformToCSVFormatLC( const HBufC16* aField );
-        
-        /**
-         * Checks the parameter field if transformation to CSV format is
-         * necessary.
-         * @param aField the field which should be checked.
-         * @return ETrue if transformation is necessary else EFalse.
-         */
-        TBool CheckCSVTransformNeedL( HBufC16* aFiled );
-
-
-    private:
-    
-        // Session for CommsDat
-        CommsDat::CMDBSession* iSession;
-        
-        // Fs for file handling
-        RFs   iRfs;
-
-        // Output file
-        RFileWriteStream iFile;
-        
-        // Counter for how many double qoutes are in the given text. 
-        TInt iNumOfDQuotes;        
-
-    };
-
-#endif DUMP_TABLES_H
-
-
--- a/dbcreator/commsdatcreator/Inc/cdclogfilename.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   contains logger macros
-*
-*/
-
-
-
-
-#ifndef CDC_LOGFILE_NAME_H
-#define CDC_LOGFILE_NAME_H
-
-
-/// Directory where the log file can be found.
-_LIT16( KLogDir, "cdc" );
-
-/// Log file name.
-_LIT16( KLogFile, "cdc.txt" );
-
-
-#endif // CDC_LOGFILE_NAME_H
\ No newline at end of file
--- a/dbcreator/commsdatcreator/Inc/cdcprocessorbase.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorBase.
-*
-*/
-
-
-
-
-#ifndef APFILE_PARSER_BASE_H
-#define APFILE_PARSER_BASE_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <e32std.h>
-#include <f32file.h>
-#include <flogger.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-
-#include "cdcerrors.h"
-#include "cdccommon.h"
-
-// FORWARD DECLARATION
-class CTagContainer;
-class CReaderBase;
-
-// CONSTANTS
-
-/**
-* Max length of a line in the log file.
-*/
-LOCAL_D const TInt KMaxLogLineLength = 256;
-
-
-// CLASS DECLARATION
-/**
-* CProcessorBase
-* Abstract base class for processor classes
-*/
-class CProcessorBase : public CBase
-    {
-    
-    public: 
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorBase();
-
-        /**
-        * Processes the input files line by line.
-        */
-        void ParseFileL();
-
-
-    protected:
-        /**
-        * Constructor
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray array that holds the plugins - and so the CMs
-        * @param aPluginNames array that holds the CM names
-        */
-        CProcessorBase( CReaderBase* aFileReader,
-                        RCmManagerExt& aCmManager,
-                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                        RPointerArray< HBufC >& aPluginNames );
-               
-               
-        /**
-        * Constructor
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray array that holds the plugins - and so the CMs
-        * @param aPluginNames array that holds the CM names
-        * @param aDestArray array that holds the Destination
-        * @param aDestNames array that holds the Destination names
-        */
-        CProcessorBase( CReaderBase* aFileReader,
-                        RCmManagerExt& aCmManager,
-                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                        RPointerArray< HBufC >& aPluginNames,
-                        RPointerArray< RCmDestinationExt >& aDestArray,
-                        RPointerArray< HBufC >& aDestNames );       
-        /**
-        * Processes the actual tag.
-        * @param aFieldIDPresent shows if field id is read from input file
-        */
-        virtual void ProcessTagL( TBool aFieldIDPresent );
-
-        /**
-        * Processes the special fields of the tag. Every descendand can implement
-        * processes of their special fields
-        * @param aField ID of the field
-        * @param aTagPtr data conatining by the field
-        * @param aDx serial number of the field
-        */
-        virtual void ProcessSpecialFieldsL( TInt /*aField*/, 
-                                            HBufC* /*aTagPtr*/, 
-                                            TInt /*aDx*/ ) {};
-        
-        /**
-        * Does the necessary settings before processing tag. Every descendand 
-        * can implement their special needs.
-        */
-        virtual void Reset() {};
-
-        /**
-        * Calculates and sets the AddressFromServer field
-        */
-        virtual void SetAddressFromServerL( TInt aIPField1, 
-                                           TInt aIPField2, 
-                                           TInt aAddrFromSField,
-                                           TInt aIPField1IP6,
-                                           TInt aIPField2IP6,
-                                           TInt aAddrFromSFieldIP6 );
-        /**
-        * Virtual function. Processes the actual access point.
-        */
-        virtual void ProcessAPL();
-
-        /**
-        * Writes the actual created access point to the log file.
-        */
-        virtual void DoLogL();
-
-        /**
-        * Returns the TagContainer
-        * @return iTagContainer
-        */
-        CTagContainer& TagContainer();
-
-        /**
-        * Adds one item to the plugin array. 
-        */
-        void AddToPluginArrayL();
-        
-        /**
-        * Retrieves the last plugin from the plugin array. 
-        * @return the last plugin in the plugin array
-        */
-        RCmConnectionMethodExt& GetLastPluginL();
-        
-        /**
-        * Retrieves the plugin in position from the plugin array. 
-        * @param aPos position of the desired plugin. 
-        * @return the plugin in position from the plugin array
-        */
-        RCmConnectionMethodExt& GetPluginL( TInt aPos );
-
-        /**
-        * Retrieves count of plugins in the plugin array. 
-        * @return count of plugins in the plugin array
-        */
-        TInt PluginCount();
-        
-        RCmDestinationExt* FindDestinationL( HBufC* aName );
-        
-        TInt GetDestinationIdL( HBufC16* aName );
- 
-        RCmConnectionMethodExt* FindPluginL( HBufC* aName );
-
-        RCmConnectionMethodExt* FindPluginL( HBufC* aName, TInt& aPos );
-
-        TInt GetPluginIdL( HBufC16* aName );
-        
-        TBool ProcessTag( HBufC* aTag, RCmConnectionMethodExt* aPlugin );
-        TBool SetGeneralFieldL( TInt aField, HBufC* aPtrTag ); 
-
-    private:
-        
-        
-        TInt CheckPluginName(  HBufC* aName );
-
-
-    protected:
-       
-        // @var Gives back AP data from the file.
-        CReaderBase*                   iFileReader;
-        
-        // @var Pointer to Connection Method Manager that is required to access
-        // Access Point data
-        RCmManagerExt*                 iCmManager;
-        
-        // @var Shows whether proxies have already been enabled or not.
-        TBool iProxyEnabled;   
-
-        // @var Indicates whether the connection method is protected or not
-        TBool iIsProtected;
-        
-        // @var Name of the actual IAP or Destination
-        HBufC* iName;    
-
-        // @var Actual IAP
-        RCmConnectionMethodExt iPlugin;
-        
-        // @var Actual Bearer Type
-        TUint iBearerType;
-
-    protected:
-    
-        // @var Plugin array that is used to store pointers to access point data
-        RPointerArray< RCmConnectionMethodExt >* iPluginArray;
-        // @var Plugin array that is used to store names of access point data
-        RPointerArray< HBufC >* iPluginName;
-        
-        // @var Destination array that is used to store pointers to Destination data
-        RPointerArray< RCmDestinationExt >* iDestArray;
-        // @var Destination array that is used to store names of Destination
-        RPointerArray< HBufC >* iDestName;
-
-    };
-
-
-#endif // APFILE_PARSER_BASE_H
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcprocessordn.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorDN.
-*
-*/
-
-
-
-
-#ifndef PROCESSOR_DN_H
-#define PROCESSOR_DN_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <cmdestinationext.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-#include <cmmanagerdef.h>
-
-#include "cdcprocessorbase.h"
-
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-
-/**
-* CProcessorDN
-* Inherits from the class CProcessorBase.
-* Creates Destination Network Item from CTagContainer and
-* adds it to the database
-*/
-class CProcessorDN : public CProcessorBase
-    {
-    public:
-        /**
-        * Two-phase constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aCmArray Array of the processed connection methods
-        * @param aIsFirstRound ETrue if this is the first round of DN
-        *                          processing. In this case DNs are created.
-        *                    EFalse otherwise. This time connection methods
-        *                          are added.
-        * @return CProcessorDN instance.
-        */
-        static CProcessorDN* NewL( CReaderBase* aFileReader,
-                                   RCmManagerExt& aCmManager,
-                                   RPointerArray< RCmConnectionMethodExt >&
-                                                            aPluginArray,
-                                   RPointerArray< HBufC >& aPluginNames, 
-                                   RPointerArray< RCmDestinationExt >& aDestArray,
-                                   RPointerArray< HBufC >& aDestNames,
-                                   RArray< TBool >& aCmInDest,
-                                   TBool aIsFirstRound );
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorDN();
-
-    protected:
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-
-        /**
-        * Constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aCmArray Array of the processed connection methods
-        * @param aIsFirstRound ETrue if this is the first round of DN
-        *                          processing. In this case DNs are created.
-        *                    EFalse otherwise. This time connection methods
-        *                          are added.
-        */
-        CProcessorDN( CReaderBase* aFileReader,
-                      RCmManagerExt& aCmManager,
-                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                      RPointerArray< HBufC >& aPluginNames, 
-                      RPointerArray< RCmDestinationExt >& aDestArray,
-                      RPointerArray< HBufC >& aDestNames,
-                      RArray< TBool >& aCmInDest,
-                      TBool aIsFirstRound );
-        
-        /**
-        * From CProcessorBase. Processes the actual tag.
-        * @param aFieldIDPresent shows if field id is read from input file
-        * @return the result of the process, KErrNone if the actual tag is
-        * valid.
-        */
-        virtual void ProcessTagL( TBool aFieldIDPresent );
-
-        /**
-        * From CProcessorBase. Processes the actual access point.
-        * @return the result of the process.
-        */
-        virtual void ProcessAPL();
-
-        /**
-        * Writes the actual created access point to the log file.
-        */
-        void DoLogL();
-            
-    private:
-    
-        // @var The destiantion that is created
-        RCmDestinationExt iDestination;
-
-        // @var Pointer to the destiantion that has been created and stored
-        // in iDestArray
-        RCmDestinationExt* iDest;
-        
-        // @var Stores the protection level of the destination
-        CMManager::TProtectionLevel iProtectionLevel;
-        
-        // @var Stores whether this is the first round of DN processing or not
-        TBool iIsFirstRound;
-        
-        // @var ETrue if the destination cannot processed so it is dropped away
-        TBool iDestinationDropped;
-        
-        RArray< TBool >* iCmInDest;
-    };
-
-
-#endif PROCESSOR_DN_H
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcprocessorglobal.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorGlobal.
-*
-*/
-
-
-
-
-#ifndef CDCPROCESSORGLOBAL_H
-#define CDCPROCESSORGLOBAL_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-
-#include <metadatabase.h>
-
-#include "cdcprocessorbase.h"
-
-using namespace CommsDat;
-
-// FORWARD DECLARATIONS
-class RCmConnectionMethodExt;
-class RCmDestinationExt;
-class CReaderBase;
-class CommsDat::CMDBSession;
-struct TCmGenConnSettings;
-class RCmManagerExt;
-
-// CLASS DECLARATION
-
-/**
-* CProcessorGlobal
-* Inhertits from the class CProcessorBase.
-* Reads Access Points related settings from CTagContainer.
-*/
-class CProcessorGlobal : public CProcessorBase
-    {
-    public:
-        /**
-        * Two-phase constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager 
-        * @return CProcessorGlobal instance.
-        */
-        static CProcessorGlobal* NewL( 
-                                CReaderBase* aFileReader,
-                                RCmManagerExt& aCmManager,
-                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                RPointerArray< HBufC >& aPluginNames, 
-                                RPointerArray< RCmDestinationExt >& aDestArray,
-                                RPointerArray< HBufC >& aDestNames );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorGlobal();
-        
-    protected:
-       
-        /**
-        * Constructor.
-        * @param aFileReader pointer to the file reader
-        */
-        CProcessorGlobal( CReaderBase* aFileReader,
-                          RCmManagerExt& aCmManager,
-                          RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                          RPointerArray< HBufC >& aPluginNames, 
-                          RPointerArray< RCmDestinationExt >& aDestArray,
-                          RPointerArray< HBufC >& aDestNames );
-                          
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-        
-        /**
-        * From CProcessorBase. Processes the actual tag.
-        * @param aFieldIDPresent shows if field id is read from input file
-        * @return TInt The result of the process, KErrNone if the actual tag is
-        * valid.
-        */
-        virtual void ProcessTagL( TBool aFieldIDPresent );
-        
-        /**
-        * From CProcessorBase. Processes the actual access point.
-        * @return The result of the processing
-        */
-        virtual void ProcessAPL();
-        
-
-    private:
-    
-        /**
-        * Updates bearer priority array with the specified bearers priority or
-        * UI priority.
-        * @param aField Identifier of the the bearer whose priority/UI-priority
-        *               is to be updated.
-        * @param aPrio The new priority.
-        */
-        void UpdateGlobalBearerArrayL
-                            ( TDbCreatorGlobalSettings aField, TUint32 aPrio );
-                
-                         
-        /**
-        * Sets the WLAN Usage parameter in general connection settings.
-        * @param aPtrTag string containing the parameter's value.
-        */
-        void SetGenConnSettingWlanUsage( HBufC16* aPtrTag );
-
-        /**
-        * Sets the "cellular data usage in home networks"
-        * parameter in general connection settings.
-        * @param aPtrTag string containing the parameter's value.
-        */
-        void SetGenConnSettingCellularDataUsageHome( HBufC16* aPtrTag );
-
-        /**
-        * Sets the "cellular data usage in visitor networks"
-        * parameter in general connection settings.
-        * @param aPtrTag string containing the parameter's value.
-        */
-        void SetGenConnSettingCellularDataUsageVisitor( HBufC16* aPtrTag );
-
-        // Stores the general connection settings, using CMM
-        void SetGenConnSettingsL();
-        
-        // Stores the WLAN parameters
-        void SaveGlobalWlanParameterL( const TUint32 aTableType, 
-        							   const TDbCreatorGlobalSettings aField, 
-        							   const HBufC16* const aValue );
-
-    private:
-        
-
-        // @var GPRS attach mode : whenneeded/whenavailable
-        TBool  iAttachWhenNeeded;
-        
-        RArray< TBearerPriority > iBearerArray;
-        TBool iBearerArrayChanged;
-        
-        // @var Stores the general connection settings
-        TCmGenConnSettings* iGenConnSettings;
-        
-		//@var session - Owned
-        CMDBSession* iSession;
-		
-	    //@var WLAN supported flag
-	    TBool iIsWlanS;
-    };
-
-#endif CDCPROCESSORGLOBAL_H
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcprocessorlan.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorLan.
-*
-*/
-
-
-
-
-#ifndef PROCESSOR_LAN_H
-#define PROCESSOR_LAN_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-
-#include "cdcprocessorbase.h"
-
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-
-/**
-* CProcessorLan
-* Inhertits from the class CProcessorBase.
-* Creates internet Access Point Item from CTagContainer and 
-* adds AP item to database.
-*/
-class CProcessorLan : public CProcessorBase
-    {
-    public:
-        /**
-        * Two-phase constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        * @return CProcessorLan instance.
-        */
-        static CProcessorLan* NewL( CReaderBase* aFileReader,
-                                    RCmManagerExt& aCmManager,
-                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                    RPointerArray< HBufC >& aPluginNames );
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorLan();
-
-    protected:
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-
-        /**
-        * Constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        */
-        CProcessorLan( CReaderBase* aFileReader,
-                       RCmManagerExt& aCmManager,
-                       RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                       RPointerArray< HBufC >& aPluginNames );
-        
-        /**
-        * From CProcessorBase. Processes the actual tag.
-        * @param aFieldIDPresent shows if field id is read from input file
-        * @return the result of the process, KErrNone if the actual tag is
-        * valid.
-        */
-        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
-    };
-
-
-#endif PROCESSOR_LAN_H
-
-
-// End of File.
\ No newline at end of file
--- a/dbcreator/commsdatcreator/Inc/cdcprocessorpacketdata.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorPacketData.
-*
-*/
-
-
-
-
-#ifndef PROCESSOR_PACKET_DATA_H
-#define PROCESSOR_PACKET_DATA_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-
-#include "cdcprocessorbase.h"
-
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-
-/**
- * CLingerElement is array element for linger value end corresponding CM name.
- */ 
-NONSHARABLE_CLASS( CLingerElement ) : public CBase 
-        {
-        public: 
-        ~CLingerElement();
-        HBufC* iName;
-        HBufC* iLinger; 
-        };
-
-/**
-* CProcessorPacketData
-* Inhertits from the class CProcessorBase.
-* Creates internet Access Point Item from CTagContainer and 
-* adds AP item to database.
-*/
-class CProcessorPacketData : public CProcessorBase
-    {
-    public:
-        /**
-        * Two-phase constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        * @param aLingerSettings stores processed GPRS linger values
-        * @return CProcessorPacketData instance.
-        */
-        static CProcessorPacketData* NewL( 
-                        CReaderBase* aFileReader,
-                        RCmManagerExt& aCmMnaager,
-                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                        RPointerArray< HBufC >& aPluginNames,
-                        RPointerArray< CLingerElement >& aLingerSettings);
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorPacketData();
-        
-        /**
-        * Maps previously stored linger values with connection ID's 
-        * and writes them to repository.
-        */
-        void SaveLingerSettingsL();
-
-    protected:
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-
-        /**
-        * Constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        * @param aLingerSettings stores processed GPRS linger values
-        */
-        CProcessorPacketData( CReaderBase* aFileReader,
-                              RCmManagerExt& aCmManager,
-                              RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                              RPointerArray< HBufC >& aPluginNames,
-                              RPointerArray< CLingerElement >& aLingerSettings);
-        
-        /**
-        * From CProcessorBase. Processes the actual tag.
-        * @param aFieldIDPresent shows if field id is read from input file
-        * @return the result of the process, KErrNone if the actual tag is
-        * valid.
-        */
-        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
-        
-        /**
-         * Writes connections linger value to repository.
-         * @param aIapId is the id of connection to which linger value is set.
-         * @param aLingerInterval linger value to set to connection.
-         */
-        void AddLingerL( const TInt aIapId, const TInt aLingerInterval);
-        
-    private:
-        
-        // @var Stores linger values
-        RPointerArray< CLingerElement >* iLingerSettings;
-    };
-
-
-#endif PROCESSOR_PACKET_DATA_H
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcprocessorvpn.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorVpn.
-*
-*/
-
-
-
-
-#ifndef PROCESSOR_VPN_H
-#define PROCESSOR_VPN_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-
-#include "cdcprocessorbase.h"
-
-// FORWARD DECLARATION
-
-// CLASS DECLARATION
-
-/**
-* CProcessorVpn
-* Inhertits from the class CProcessorBase.
-* Creates internet Access Point Item from CTagContainer and 
-* adds AP item to database.
-*/
-class CProcessorVpn : public CProcessorBase
-    {
-    public:
-        /**
-        * Two-phase constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        * @return CProcessorVpn instance.
-        */
-        static CProcessorVpn* NewL( CReaderBase* aFileReader,
-                         RCmManagerExt& aCmMnaager,
-                         RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                         RPointerArray< HBufC >& aPluginNames,
-                         RPointerArray< HBufC >& aUnderLying);
-                         
-        void ProcessUnderLyingL( RPointerArray< RCmDestinationExt >& aDestArray,
-                                 RPointerArray< HBufC >& aDestNames );
-                         
-                         
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorVpn();
-
-    protected:
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-
-        /**
-        * Constructor.
-        * @param aFileReader pointer to the file reader
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        */
-        CProcessorVpn( CReaderBase* aFileReader,
-                       RCmManagerExt& aCmManager,
-                       RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                       RPointerArray< HBufC >& aPluginNames,
-                       RPointerArray< HBufC >& aUnderLying );
-        
-        /**
-        * From CProcessorBase. 
-        */
-        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
-
-    private:
-    
-        // @var Stores whether this is the first round of VPN processing or not
-        TBool iIsFirstRound;
-
-        // @var Stores the IAP name underLying IAP/SNAP name pairs
-        RPointerArray< HBufC >* iUnderLying; 
-    };
-
-
-#endif PROCESSOR_VPN_H
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcprocessorwlan.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CProcessorWlan.
-*
-*/
-
-
-
-
-#ifndef PROCESSOR_WLAN_H
-#define PROCESSOR_WLAN_H
-
-
-// INCLUDE FILES
-
-#include <e32base.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethodext.h>
-#include <metadatabase.h>
-#include <EapGeneralSettings.h>
-#include <EapExpandedType.h>
-
-#include "cdcprocessorbase.h"
-
-using namespace CommsDat;
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DECLARATION
-
-
-/**
- * CEapTypeElement is array element for several EapTypes  
- */ 
-class CEapTypeElement: public CBase
-        {
-        public:
-        ~CEapTypeElement();
-		HBufC* iName;
-        EAPSettings* iEapSettings; 
-        TEapExpandedType iEncapsulatingEapId; 
-        };
-
-
-/**
-* CProcessorWlan
-* Inhertits from the class CProcessorBase.
-* Creates WLAN Access Point Item from CTagContainer and 
-* adds AP item to database.
-*/
-class CProcessorWlan : public CProcessorBase
-    {
-    public:
-    
-        /**
-        * Two-phase constructor.
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        * @return CProcessorWlan instance.
-        */
-        static CProcessorWlan* NewL( CReaderBase* aFileReader,
-                                     RCmManagerExt& aCmManager,
-                                     RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                     RPointerArray< HBufC >& aPluginNames,
-                                     RPointerArray< HBufC >& aSecurityInfo,
-                                     RPointerArray< CEapTypeElement >& eapSettings );
-        
-        void SaveSecurityInfoL();
-
-        /**
-        * Destructor.
-        */
-        virtual ~CProcessorWlan();
-
-    protected:
-    
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-
-        /**
-        * Constructor.
-        * @param aCmManager Connection Method Manager
-        * @param aPluginArray Array that stores the processed plugins
-        */
-        CProcessorWlan( CReaderBase* aFileReader,
-                        RCmManagerExt& aCmManager,
-                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                        RPointerArray< HBufC >& aPluginNames,
-                        RPointerArray< HBufC >& aSecurityInfo,
-                        RPointerArray< CEapTypeElement >& aEapSettings );
-        
-        /**
-        * From CProcessorBase. Processes the actual tag.
-        * @param aFieldIDPresent shows if field id is read from input file
-        * @return TInt The result of the process, KErrNone if the actual tag is
-        * valid.
-        */
-        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
-
-
-        /**
-        * From CProcessorBase. Processes the actual access point.
-        * @return TInt The result of the process.
-        */
-        virtual void ProcessAPL();
-        
-        void FillSecurityInfoL();
-        
-        void FillSecurityInfoL( TBool aIsWep );
-        
-        void SaveSecurityInfoL( TInt& aCounter, TInt aId );
-
-        /**
-        * Saves WEP security settings
-        * @param aIapId Access point id WEP security settings belongs to.
-        */
-        void SaveWEPL( TUint32 aIapId );
-        
-        /**
-        * Writes key data to CommsDat.
-        * @param aKeyField The field to be written to
-        * @param aKey The key data to be written
-        * @param aKeyformat The format of the key (ascii/hex)
-        */
-        void WriteKeyL( CMDBField<TDesC8>* aKeyField,
-                        HBufC16* aKey,
-                        const TInt aKeyFormat );
-        
-        /**
-        * Gets WEP field value in text format from TagContainer
-        * @param aFieldId is the id of the field 
-        * @return pointer to the data of the field
-        */
-        HBufC16* WEPFieldData( TDbCreatorWEPFields aFieldId );        
-        
-        /**
-        * Gets Authentication type
-        * @return   TWEPAuthentication - authentication type
-        *           KErrNotFound - if authentication type is not present 
-        */
-        TInt WEPAuthentication();
-        
-        /**
-        * Gets the WEP key in use
-        * @return TWEPKeyInUse - the WEP key in use
-        *         KErrNotFound - if WEP key in use is not present 
-        */
-        TInt WEPKeyInUse();
-        
-        /**
-        * Gets WEP key format
-        * @param aFieldId is the id of the field 
-        * should be EWEPKeyXFormat
-        * @return   TWEPKeyFormat - key format
-        *           KErrNotFound - if WEP key format is not present 
-        */
-        TInt WEPKeyFormat( TDbCreatorWEPFields aFieldId );
-        
-        /**
-        * Gets WEP key length
-        * @param aFieldId is the id of the length field 
-        * should be EWEPKeyXLength
-        * @return TWEPKeyLength - WEP key length
-        */
-        TWEPKeyLength WEPKeyLength( TDbCreatorWEPFields aFieldId );
-        
-        /**
-        * Gets valid WEP key length in characters
-        * @param aFormat is the id of the field - should be EWEPKeyXFormat
-        * @param aLen is the WEP key length - should be TWEPKeyLength
-        * @return TInt - valid key length in characters
-        */
-        TInt WEPKeyValidLen( TInt aFormat, TWEPKeyLength aLen );
-        
-        /**
-        * Gets the TagContainer index that belongst to the given WEP field
-        * @param aFieldId is the id of the field 
-        * @return index in TagContainer
-        */
-        TInt WEPIndex( TDbCreatorWEPFields aFieldId );
-        
-        /**
-        * Check the existence and validity of WEP fields
-        * @return  - TRUE if all WEP fields are present and valid
-        *          - FALSE if any of the fields is missing or invalid.
-        */
-        TBool WEPFieldValidate();
-        
-        /**
-        * Converts keyData enetered in Ascii format to hex format
-        * @param aSource    Source string
-        * @param aDest      destination string
-        */
-        void ConvertAsciiToHex( const TDesC8& aSource, HBufC8*& aDest );
-        
-        /**
-        * Veryfies hexadecimal format
-        * @param aHex   hexadecimal key
-        * @return Etrue if hexadecimal key is valid, Efalse otherwise
-        */
-        TBool VerifyHex( const TDesC8& aHex );
-        
-        /**
-        * Saves WPA security settings
-        * @param aIapId Access point id WEP security settings belongs to.
-        */
-        void SaveWPAL( TUint32 aIapId );
-        
-        /**
-        * Gets the expanded EAP type
-        * @param aFieldId is the id of the field 
-        * @return expanded EAP type
-        */
-        TEapExpandedType GetExpandedEapTypeIdL( TDesC& aField );
-        
-        /**
-        * Gets the TagContainer index that belongst to the given WPA field
-        * @param aFieldId is the id of the field 
-        * @return index in TagContainer
-        */
-        TInt WPAIndex( TDbCreatorWPAFields aFieldId );
-        
-        /**
-        * Gets WPA field value in text format from TagContainer
-        * @param aFieldId is the id of the field 
-        * @return pointer to the data of the field
-        */
-        HBufC16* WPAFieldData( TDbCreatorWPAFields aFieldId );
-        
-        /**
-        * Gets the use of preshared key
-        * @return ETrue  - PSK is in use
-        *         EFalse - PSK is not in use
-        */
-        TBool WPAPresharedKeyInUse();
-        
-        /**
-        * Gets WPA key length
-        * @return length of the key
-        */
-        TInt WPAKeyLength();
-        
-        /**
-        * Writes the actual created access point to the log file.
-        */
-        void DoLogL();
-        
-    private:
-    
-        /**
-         * Sets the necessary initial values
-         */
-        virtual void Reset(); 
-        
-        /*
-         * Sets the values of the expanded Eap lists to the database 
-         * @param aServiceId for accessing the EAP data 
-         */
-        void SetExpandedEapListL( const TUint aServiceId );
-        
-    private:
-    
-        void AddSecurityDataL( TInt aField, HBufC* aPtrTag, TBool aIsWep );
-
-		void AddEAPSettingL( const TInt aField, HBufC16* aValue );
-		
-		TBool EAPSetting( const TInt aField );
-	
-		void FillCipherSuitesL( const HBufC16* const aPtrTag, const TInt aEapIndex );
-		
-		TEapExpandedType GetEapTypeIdFromSettingId( const TInt aField ); 
-		
-		TUint FindCertificateEntryL( const EapCertificateEntry::TCertType aCertType, const TInt aEapIndex );
-		
-		void ConvertSubjectKeyIdToBinaryL( const HBufC16* const aSubjectKeyIdString, TKeyIdentifier& aBinaryKey);
-        
-        // @var Indicates the WLAN security mode
-        TDbCreatorSecurityMode iSecurityMode;
-        // @var Indicates the WLAN security mode name
-        HBufC* iSecurityModeString;
-        
-        // @var Stores WLAN security mode info
-        RPointerArray< HBufC >* iSecurityInfo;
-        
-        // @var Stores WLAN EAP settings
-        RPointerArray< CEapTypeElement >& iEapSettings;
-        
-		// @var access point is Easy WLAN if true
-        TBool iIsEasyWlan;
-       
-        // @var HBufC for empty WEP and WPA tags
-        HBufC* iEmptyTag;
-        
-        HBufC* iWepData[KWEPKeyNumOfFields];
-        
-        HBufC* iWpaData[KWPAKeyNumOfFields];
-
-        TInt iDataStart;
-
-        RArray< RPointerArray< HBufC > >* iTest;
-
-    };
-
-
-#endif PROCESSOR_WLAN_H
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcreaderbase.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CReaderBase.
-*
-*/
-
-
-
-
-#ifndef READER_BASE_H
-#define READER_BASE_H
-
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <f32file.h>
-#include <flogger.h>
-
-#include "cdccommon.h"
-#include "cdcerrors.h"
-#include "cdctagcontainer.h"
-
-// CLASS DECLARATION
-
-/**
-* CReaderBase.
-* Base class for XML and CSV reader.
-*/
-class CReaderBase : public CBase
-    {
-    
-    public:
-        /**
-        * Destructor.
-        */
-        virtual ~CReaderBase();
-        
-    protected:
-
-        /**
-        * Default constructor.
-        * @param TDbCreatorInputFile input file type (csv or xml)
-        * @param TDbCreatorFeatures feature type - relevant in case 
-        * of csv input as feature is not detected by the reader.
-        */
-        CReaderBase( TDbCreatorInputFile aFileType, 
-                     TDbCreatorFeatures aFeature );
-        
-        /**
-        * Second phase constructor. Leaves on failure.
-        * @param aInFileName Name of the input file.
-        */
-        void ConstructL( const TDesC& aInFileName );
-        
-    public:
-    
-        /**
-        * Locates the next feature in input file.
-        */
-        virtual void LocateFeatureL() = 0;
-           
-        /**
-        * Gives back the next line from the given buffer.
-        * @return EFalse if the end of buffer is accessed, ETrue otherwise.
-        */
-        virtual TBool LocateAPL() = 0;
-        
-        /**
-        * Parses a line of the input file.
-        */
-        virtual void ParseAPL() = 0;
-        
-        /**
-        * Resets the actual file position to the beginning of the file.
-        * @return One of the system-wide error codes if reset failed.
-        */
-        virtual TInt Reset() = 0;
-           
-        /**
-        * Writes log to the log file.
-        */
-        virtual void ToDoLog() = 0;
-        
-        /**
-        * Returns reference to the TagContainer
-        * @return CTagContainer
-        */
-        CTagContainer& TagContainer();
-        
-        /**
-        * Returns reference to the input file
-        * @return RFile
-        */   
-        RFile& InputFile();
-        
-        /**
-        * Returns reference to the logger
-        * @return RFileLogger
-        */   
-        RFileLogger& FileLogger();
-        
-        /**
-        * Checks if filed ID is read from the input file (otherwise it is 
-        * calculated by reader according to the index of the tag)
-        * @return TRUE if reader reads the field id
-        */
-        TBool FieldIDPresent();
-        
-        /**
-        * Returns the feature currently being parsed
-        * @return TDbCreatorFeatures
-        *    - EFeatureNone    - No feature found
-        *    - EFeatureAP      - Internet access point
-        *    - EFeatureWLAN    - WLAN access point
-        *    - EFeatureVPN     - VPN access point
-        */
-        TDbCreatorFeatures CurrentFeature();
-
-    protected:
-        // @var marks the found feature that is being processed
-        TDbCreatorFeatures    iCurrentFeature;
-                                            
-    private:
-    
-        // @var contains the values read from input file
-        CTagContainer*        iTagContainer;      
-        // @var for file handling.                                
-        RFs                   iFs;
-        // @var Input file.
-        RFile                 iInputFile; 
-        // @var Log file.
-        RFileLogger           iLogFile; 
-        // @var Input file type
-        TDbCreatorInputFile   iFileType;  
-    
-    };
-
-
-
-#endif // READER_BASE_H
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdcreaderxml.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CReaderXML.
-*
-*/
-
-
-
-
-#ifndef XML_READER_H
-#define XML_READER_H
-
-
-// INCLUDE FILES
-#include <e32base.h>
-
-#include "cdcreaderbase.h"
-
-// COSTANTS
-enum TParamSegment
-    {
-    EParamName,
-    EParamValue
-    };
-    
-class EInputParams
-{    
-    public:
-    
-    inline EInputParams( const TInt aId, const TDesC16& aParam ) : 
-    iId( aId ),
-    iParam( aParam )
-    {
-    //no implementation required
-    };
-    
-    const TInt         iId;
-    const TDesC16&     iParam;    
-};
-
-
-// CLASS DECLARATION
-
-/**
-* CReaderXML.
-* Reads and parses XML input. Capable of locating and reading Internet, WLAN
-* and VPN access points. 
-*/
-class CReaderXML : public CReaderBase
-    {
-
-    public:
-        /**
-        * Two-phase constructor.
-        * @param aInFileName the input file name
-        * @param aCharSet the input characterset
-        * @return CReaderXML instance
-        */
-        static CReaderXML* NewLC( const TDesC& aInFileName,
-                                  const TDbCreatorInputCharSet aCharSet );
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CReaderXML();
-
-    protected:
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-
-        /**
-        * Default constructor.
-        */
-        CReaderXML( const TDbCreatorInputCharSet aCharSet );
-
-    public:
-    
-        /**
-        * Locates the next feature in XML file.
-        */
-        virtual void LocateFeatureL();
-           
-        /**
-        * Gives back the next line from the given buffer.
-        * @return - EFalse if the end of buffer is accessed, 
-        *         - ETrue otherwise.
-        */
-        virtual TBool LocateAPL();
-           
-        /**
-        * Parses a line of the input file.
-        */
-        virtual void ParseAPL();
-        
-        /**
-        * Resets the actual file position to the beginning of the file.
-        * @return One of the system-wide error codes if reset failed.
-        */
-        virtual TInt Reset();
-        
-        /**
-        * Writes log to the log file.
-        */
-        virtual void ToDoLog();
-    
-    private:
-        /**
-        * Reads one line of the input file.
-        * @return - KErrNone if the whole line is read successfully.
-        *         - KErrEof if end of file is reached
-        *         - KErrNotFound if line delimiter is not found
-        *         - KErrGenereal in case of any other error
-        */
-        TInt ReadLineL();
-        
-        /**
-        * Extracts one line from the buffer read by ReadLineL
-        * @param const TPtrC16& aBuffer reference to the buffer descriptor
-        * @param TPtrC16& aLine reference to the line descriptor 
-        * @return - KErrNone if the whole line is read successfully.
-        *         - KErrEof if end of file is reached
-        *         - KErrNotFound if line delimiter is not found
-        *         - KErrGenereal in case of any other error
-        */
-        TInt ExtractLine(const TPtrC16& aBuffer, TPtrC16& aLine);
-        
-        /**
-        * Detects the head of feature segment
-        * @return the detected feature :
-        *          - EFeatureNone  : No feature found
-        *          - EFeatureAP    : Internet access point
-        *          - EFeatureWLAN  : WLAN access point
-        *          - EFeatureVPN   : VPN access point
-        */
-        TDbCreatorFeatures DetectFeatureHead();
-        
-        /**
-        * Detects the tail of feature segment
-        * @return TRUE if the current line contains the tail of feature
-        */
-        TBool DetectFeatureTail();
-        
-        /**
-        * Detects the tail of access point data segment
-        * @return TRUE if the current line contains the tail
-        */
-        TBool DetectTailAP();
-        
-        /**
-        * Detects the parameter of access point data segment
-        * @return TInt the ID the matching field id of the parameter
-        */
-        TInt DetectParam();
-        
-        /**
-        * Reads the parameter value
-        * @param aSegment - the required segment of the param
-        *           EParamName - name 
-        *           EParamValue - value
-        * <ParamName>ParamValue</ParamName>
-        * @return pointer to the tag read from the input file. Memory is
-        * allocated by the function. NULL can be returned.
-        */
-        HBufC16* ReadParam( TParamSegment aSegment );
-        
-        /**
-        * Detects the encoding of the xml input.  If detection fails leaves
-        * ECharSetAscii as default character set.
-        */
-        void DetectEncodingL();
-        
-        
-        /**
-        * Fills the parameter arrays with the id-name pairs 
-        */
-        void FillPacketDataParams();
-        void FillLanParams();
-        void FillWLanParams();
-        void FillVpnParams();
-        void FillGlobalParams();
-        void FillDNParams();
-        
-        /**
-            * Replace special XML chars in connecton method names 
-            */
-            void ConvertSpecialXMLChars( HBufC* aPtrTag );
-            void ReplaceInString( HBufC* aPtrTag, const TDesC& aSpXML, 
-                                            const TDesC& aSp );
-
-    private:
-
-        // @var Holds the actual file position
-        TInt                    iFilePos;
-        
-        // @var Input character set
-        TDbCreatorInputCharSet  iCharSet;
-        
-        // @var holds the line
-        HBufC16*                iLine;
-        
-        // @var true if global settings are found
-        TBool                   iFoundGlobal;
-        
-        RArray<EInputParams>    iPDParams;
-        RArray<EInputParams>    iLanParams;
-        RArray<EInputParams>    iWLanParams;
-        RArray<EInputParams>    iVpnParams;
-        RArray<EInputParams>    iGlobalParams;
-        RArray<EInputParams>    iDNParams;
-        
-    
-    };
-
-
-#endif // XML_READER_H
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Inc/cdctagcontainer.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CTagContainer.
-*
-*/
-
-
-
-#ifndef TAG_CONTAINER_H
-#define TAG_CONTAINER_H
-
-// INCLUDE FILES
-
-#include <e32base.h>
-
-// CLASS DECLARATION
-/**
-* CTagContainer
-* contains and manages the fields read form XML or CSV input file
-*/
-class CTagContainer : public CBase
-    {
-    //TYPE DECLARATION
-    private:
-        
-        /**
-        * ETag
-        * contains one tag and the belonging field id
-        */
-        class ETag
-            {
-            public:
-            //constructor & destructor
-            ETag( HBufC16* aTag, TInt aFieldId );
-            ~ETag();
-            
-            //attributes
-            TInt        iFieldId;  ///< field id tag belongs to
-            HBufC16*    iTag;      ///< tag is the data segment read from file
-                                   ///< created elsewhere but owned by ETag
-                                   ///< and deallocated by ETag's destructor
-            };
-        
-    public:
-        
-        /**
-        * Two-phase constructor.
-        */
-        static CTagContainer* NewL();
-         
-        /**
-        * Destructor.
-        */
-         ~CTagContainer();
-        
-    private:
-        
-        /**
-        * Second phase constructor. Leaves on failure.
-        */
-        void ConstructL();
-        
-        /**
-        * Constructor
-        */
-         CTagContainer();
-         
-    public:
-        
-        /**
-        * Clears the array and deallocates all reserved memory
-        */
-         void Clear();
-        
-        /**
-        * Adds a new tag to the array
-        * @param aTag is a pointer to the tag
-        */
-         void AddL(HBufC16* aTag, TInt aFieldId);
-        
-        /**
-        * Retrieves a tag identified by its index
-        * @param aIdx is the index of the tag
-        * @return HBufC16* pointer to the tag
-        */
-         HBufC16* Tag(TUint aIdx);
-        
-        /**
-        * Retrieves the field ID
-        * @param aIdx is the index of the tag
-        * @return HBufC16* pointer to the tag
-        */
-         TInt FieldId(TUint aIdx);
-        
-        /**
-        * Counts the number of tags
-        * @return TInt is the number of tags
-        */
-         TInt Count();
-        
-    private:
-
-        // @var Dynamic array for holding tags
-        CArrayPtrSeg<ETag>* iTags; 
-    
-    };
-
-
-#endif //TAG_CONTAINER_H
\ No newline at end of file
--- a/dbcreator/commsdatcreator/Inc/cdcwlandevicesettings.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CWlanDeviceSettings.
-*
-*/
-
-
-
-#ifndef WLANDEVICESETTINGS_H
-#define WLANDEVICESETTINGS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <metadatabase.h>
-
-#define DEBUG( a )
-#define DEBUG1( a, b )
-
-using namespace CommsDat;
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-*  Interface to read and write WLAN device specific settings.
-*  The data is stored in CommsDB.
-*/
-NONSHARABLE_CLASS( CWlanDeviceSettings ): public CBase
-    {
-public:
-
-    NONSHARABLE_STRUCT( SWlanDeviceSettings )
-        {
-        //Is WLAN indication icon been showed in UI.
-        TUint32 backgroundScanInterval;
-        //Stores the previously set background scan interval.
-        TUint32 savedBgScanInterval;
-        //If - ETrue default values are being used, 
-        //   - EFalse use the user defined values.
-        TBool useDefaultSettings;
-        //How many times packets bigger than 'rts' are been resent.
-        TUint32 longRetry; 
-        //How many times packets smaller than 'rts' are been resent.
-        TUint32 shortRetry;
-        //Min. size of a packet that CTS/RTS handshake is been used.
-        TUint32 rts;
-        //Transmission power level in use. In mWs.
-        TUint32 txPowerLevel;
-        //Are the radio measurements allowed.
-        TBool radioMeasurements;
-         //Is WLAN in power mode enabled
-        TBool powerMode;
-        };
- 
-    public:     // Methods
-
-    // Constructors and destructor
-
-        /**
-        * Static constructor.
-        */
-        static CWlanDeviceSettings* NewL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CWlanDeviceSettings();
-
-    // New methods
-
-        /**
-        * Returns the default WLAN device settings.
-        * @param aSettings Default WLAN device settings
-        */
-        static void GetDefaultSettings( SWlanDeviceSettings& aSettings );
-
-    private:    //Methods
-
-        /**
-        * C++ default constructor.
-        */
-        CWlanDeviceSettings();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-
-        /**
-        * Fills a WLAN device settings record with default data.
-        * @param aTableType 0 for default settings, 1 for user settings.
-        * @param aRecord pointer to commsdat table view
-        */
-        void FillRecordL( TUint32 aTableType, CMDBGenericRecord* aRecord );
-
-        /**
-        * Open database table.
-        */
-        void OpenTableL();
-        
-    private:    // Data
-    
-        //@var session - Owned
-        CMDBSession* iSession;
-    };
-
-#endif      // WLANDEVICESETTINGS_H
-
-// End of File
--- a/dbcreator/commsdatcreator/Inc/cdcwlantables.h	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Declaration of the class CWlanTables.
-*
-*/
-
-
-
-
-#ifndef WLANTABLESHANDLER_H
-#define WLANTABLESHANDLER_H
-
-
-// INCLUDES
-#include <e32base.h>
-#include <metadatabase.h>
-#include <WlanCdbCols.h>
-#include <commsdattypesv1_1.h>
-
-using namespace CommsDat;
-
-// FORWARD DECLARATIONS
-
-// CONSTANTS
-
-// CLASS DECLARATION
-
-/**
-* CWlanTables
-* Capable of checking the existence of certain WLAN specific 
-* tables and - if necessry create them.
-*/
-class CWlanTables : public CBase
-    {   
-    public:
-
-        /**
-        * Static constructor
-        */
-        static CWlanTables* NewL();
-
-        /**
-        * Destructor
-        */
-        virtual ~CWlanTables();
-
-        /**
-        * Checks if WLAN tables exist. Creates them if not.
-        */
-        void CheckAndCreateTablesL();
-
-
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CWlanTables();
-
-        /**
-        * By default Symbian second phase constructor is private.
-        */
-        void ConstructL();  
-
-        /**
-        * Check if WLAN Service Table exists in CommsDat; create if not.
-        */
-        void CreateWlanServiceTableL();
-
-        /**
-        * Check if WLAN Device Table exists in CommsDat; create if not.
-        */
-        void CreateWlanDeviceSettingsTableL();
-
-        /**
-        * Check if WLAN Secondary SSID Table exists in CommsDat; create if not.
-        */
-        void CreateWlanSecSSIDTableL();
-
-        /**
-        * Check if WLAN bearer record exists in LANBearer table in CommsDat; create if not.
-        */	
-		void CreateWlanBearerRecordL();
-
-
-
-    private:    // Data
-    
-        //@var session - Owned
-        CMDBSession* iSession;
-    };
-
-#endif      // WLANTABLESHANDLER_H
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdccommsdatcreator.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,638 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Module for creating CommsDat from an input file
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdccommsdatcreator.h"
-#include "cdclogger.h"
-#include "cdcreaderxml.h"
-#include "cdcprocessorpacketdata.h"
-#include "cdcprocessorwlan.h"
-#include "cdcprocessorlan.h"
-#include "cdcprocessorvpn.h"
-#include "cdcprocessordn.h"
-#include "cdcprocessorglobal.h"
-#include "cdcwlantables.h"
-#include "cdcwlandevicesettings.h"
-#include "cdcdatamobilitytables.h"
-#include "cdcdumptables.h"
-#include "centralrepository.h"
-
-#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
-
-#include <e32def.h>
-#include <e32base.h>
-#include <s32strm.h>
-#include <s32file.h>
-#include <etelpckt.h>
-#include <featmgr.h>
-#include <commsdattypesv1_1.h>
-#include <commsdattypeinfov1_1.h>
-
-
-// CONSTANTS
-//maximum length of access point name
-const TInt KLengthOfExtention = 4;
-
-//extension
-_LIT16( KExtensionXML,     ".xml" );    //XML file
-
-
-//-----------------------------------------------------------------------------
-//  CCdcCommsDatCreator::NewL()
-//-----------------------------------------------------------------------------
-//
-EXPORT_C CCdcCommsDatCreator* CCdcCommsDatCreator::NewL()
-    {
-    CCdcCommsDatCreator* self = NewLC();
-    CleanupStack::Pop( self );   // self
-    
-    return self;
-    }
-
-
-//-----------------------------------------------------------------------------
-//  CCdcCommsDatCreator::NewLC()
-//-----------------------------------------------------------------------------
-//
-EXPORT_C CCdcCommsDatCreator* CCdcCommsDatCreator::NewLC()
-    {
-    CCdcCommsDatCreator* self = new (ELeave) CCdcCommsDatCreator();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    
-    return self;
-    }
-
-
-//------------------------------------------------
-// CDbCreator::CreateTablesL
-//------------------------------------------------
-//
-EXPORT_C void CCdcCommsDatCreator::CreateTablesL()
-    {
-    CLOG_WRITE( "=====================\n" )
-    CLOG_WRITE( "Creating tables ...\n" )
-    CLOG_WRITE( "=====================\n" )   
-
-    
-    //extends architecture of CommsDat
-    //creates WLAN tables
-    //-------------------------------
-    if ( iIsWlanS )
-        {
-        CLOG_WRITE( "Creates WLAN service tables\n" )
-        CLOG_WRITE( "---------------------------\n" )
-        
-        CWlanTables* wlanTables = CWlanTables::NewL();
-        CleanupStack::PushL( wlanTables );
-        wlanTables->CheckAndCreateTablesL();
-        
-        CleanupStack::PopAndDestroy( wlanTables ); 
-        
-        // WLAN Device Settings Table.
-        CLOG_WRITE( "Writes Default settings to WLAN Device Settings Table.\n" )
-        
-        // Creating a settings object does it all.
-        CWlanDeviceSettings* wlanDeviceSettings = CWlanDeviceSettings::NewL();
-        delete wlanDeviceSettings;
-        }
-
-    CLOG_WRITE( "CDataMobilityTables\n" )   
-        
-    //extends architecture of CommsDat
-    //creates Data Mobility tables
-    //----------------------------
-    CDataMobilityTables* dmTables = CDataMobilityTables::NewL();
-    CleanupStack::PushL( dmTables );
-    
-    CLOG_WRITE( "Creates Data Mobility ALR tables\n" )
-    CLOG_WRITE( "--------------------------------\n" )
-    dmTables->CheckAndCreateAlrTablesL();
-    
-    CLOG_WRITE( "Creates Data Mobility MIP tables\n" )
-    CLOG_WRITE( "--------------------------------\n" )
-    dmTables->CheckAndCreateMipTablesL();
-    
-    CleanupStack::PopAndDestroy( dmTables );
-        
-    //if there is only an "e" parameter then DbCreator extends CommsDat, but
-    //does not create access points. This functionality earlier was done
-    //by WlanToCDb modul.
-    }
-
-
-//------------------------------------------------
-// CDbCreator::CreateCommsDatL
-//------------------------------------------------
-//
-EXPORT_C void CCdcCommsDatCreator::CreateCommsDatL( const TFileName& aInFileName )
-    {
-    CLOG_WRITE( "=====================\n" )
-    CLOG_WRITE( "Processing started...\n" )
-    CLOG_WRITE( "=====================\n" )               
-
-    TDbCreatorInputCharSet charSet( ECharSetUnknown );//input character set
-
-    //Creates access points
-    //----------------------
-            
-    if ( InputFileType( aInFileName ) == EFileXML )
-        {
-        CLOG_WRITE( "Tries to open file");
-        // Logs file name            
-        HBufC *fileName = aInFileName.AllocLC();
-        CLOG_WRITE_FORMAT( "Input file : %S\n", fileName )
-        CleanupStack::PopAndDestroy( fileName );                          
-        
-        delete iReader;
-        iReader = NULL;
-        iReader = CReaderXML::NewLC( aInFileName, charSet );
-    	CleanupStack::Pop(iReader);
-    
-        //locates feature in xml file
-        iReader->LocateFeatureL();
-        }
-    else    
-        {
-        User::Leave( KErrInvalidExtension );
-        }  
-    	
-
-    TBool found( EFalse );
-    
-    // First, add all destinations to the database. Connection methods and
-    // embedded destinations are not added at this time.
-    while ( iReader->CurrentFeature() != EFeatureNone && !found )
-        {
-        if( iReader->CurrentFeature() == EFeatureDN )
-            {
-            ProcessDNL( iCmInDest, ETrue );
-            }
-        iReader->LocateFeatureL();
-        }
-    
-    // Reset input file
-    iReader->Reset();
-    iReader->LocateFeatureL();
-    
-    // Then add connection methods, and assign them to destinations if
-    // needed
-    while ( iReader->CurrentFeature() != EFeatureNone )
-        {
-        switch ( iReader->CurrentFeature() )
-            {
-            case EFeaturePacketData:
-                {
-                //creates GPRS access point
-                CLOG_WRITE( "Feature found : Packet Data Access point(s)\n" )
-                
-                iFileProcessor = CProcessorPacketData::NewL( iReader,
-                                                       iCmManager,
-                                                       iPluginArray,
-                                                       iPluginNames,
-                                                       iLingerSettings );
-                iFileProcessor->ParseFileL();
-                
-                delete iFileProcessor;
-                iFileProcessor = NULL;
-
-                break;
-                }
-                
-            case EFeatureWLAN:
-                {
-                if( iIsWlanS )
-                    {
-                    //creates WLAN access point   
-                    CLOG_WRITE( "Feature found : WLAN Access point(s)\n" )
-                    
-                    // Reset the EAP settings just to be safe although it should be empty always here.
-                    iEapSettings.ResetAndDestroy();
-                    
-                    iFileProcessor = CProcessorWlan::NewL( iReader,
-                                                           iCmManager,
-                                                           iPluginArray,
-                                                           iPluginNames,
-                                                           iWlanSecurity,
-                                                           iEapSettings );
-                    iFileProcessor->ParseFileL();
-                    
-                    delete iFileProcessor;
-                    iFileProcessor = NULL;
-
-                    }
-                break;
-                }
-                
-            case EFeatureLAN:
-                {
-                //creates LAN access point   
-                CLOG_WRITE( "Feature found : LAN Access point(s)\n" )
-
-                iFileProcessor = CProcessorLan::NewL( iReader,
-                                                      iCmManager,
-                                                      iPluginArray,
-                                                      iPluginNames );
-                iFileProcessor->ParseFileL();
-               
-                delete iFileProcessor;
-                iFileProcessor = NULL;
-                break;
-                }
-                
-            case EFeatureVPN:
-                {
-                //creates VPN access point   
-                CLOG_WRITE( "Feature found : VPN Access point(s)\n" )
-                CLOG_WRITE( "-----------------------------------\n" )
-                
-                iFileProcessor = CProcessorVpn::NewL( iReader,
-                                                       iCmManager,
-                                                       iPluginArray,
-                                                       iPluginNames,
-                                                       iUnderLying );
-                iFileProcessor->ParseFileL();
-                
-                delete iFileProcessor;
-                iFileProcessor = NULL;
-                
-                break;
-                }
-            
-            case EFeatureDN:
-                {
-               
-                ProcessDNL( iCmInDest, EFalse );
-                
-                break;
-                }
-                
-            case EFeatureGlobal:
-                {
-                // Valid tag but does nothing now. 
-                // Global can be processed at the last end.
-
-                
-                //sets global settings 
-                CLOG_WRITE( "Feature found : Global settings\n" )
-                CLOG_WRITE( "-------------------------------\n" )
-                    
-                iFileProcessor = CProcessorGlobal::NewL( iReader,
-                                                          iCmManager,
-                                                          iPluginArray,
-                                                          iPluginNames,
-                                                          iDestArray,
-                                                          iDestNames ); 
-                iFileProcessor->ParseFileL();
-
-                delete iFileProcessor;
-                iFileProcessor = NULL;
-
-                break;
-                }
-                
-            default:
-                User::Panic( KPanicInvalidCase, KErrInvalidCase );
-             
-            }//switch
-            
-            //gets next feature
-            iReader->LocateFeatureL();
-            
-        }//while
-                  
-
-    // Updates the IAPs that are not in destinations.
-    UpdateUncatCmsL( iCmInDest );
-
-    // Sets the underlying IAP/SNAPS for vpn IAPs    
-    SetUnderlyingIapL( iUnderLying );
-
-    for( TInt i(0); i < iWlanSecurity.Count(); i++ )
-        {
-        CLOG_WRITE_FORMAT( "Sec Pos: %d", i );
-        if( iWlanSecurity[i] != NULL )
-            {
-            CLOG_WRITE_FORMAT( "Sec data: %S", iWlanSecurity[i] );
-            }
-        else    
-            {
-            CLOG_WRITE( "Sec data NULL" );
-            }
-        }
-
-	// Sets the WLAN security paramters including EAP settings
-    SetWlanSecurityL( iWlanSecurity );
-    
-    // Sets linger settings
-    SetLingerSettingsL( iLingerSettings );
-
-    // Logs IAPs in UDEB mode
-    #ifdef _DEBUG
-    LogIapIdsL();
-    #endif
-}
-
-//------------------------------------------------
-// CCdcCommsDatCreator::DumpCommsDatL
-//------------------------------------------------
-//
-EXPORT_C void CCdcCommsDatCreator::DumpCommsDatL( const TFileName& aOutFileName )
-    {
-    CLOG_WRITE( "==========================\n" )
-    CLOG_WRITE( "Dump processing started...\n" )
-    CLOG_WRITE( "==========================\n" )   
-    
-
-    CDumpTables* dump = CDumpTables::NewLC();
-    dump->DoDumpTablesL( aOutFileName );
-    CleanupStack::PopAndDestroy( dump ); //dump   
-
-    CLOG_WRITE( "======== end dump =========\n" )   
-
-    }
-
-//------------------------------------------------
-// CCdcCommsDatCreator::CCdcCommsDatCreator
-//------------------------------------------------
-//
-CCdcCommsDatCreator::CCdcCommsDatCreator()
-    {
-    }
-
-//------------------------------------------------
-// CCdcCommsDatCreator::~CCdcCommsDatCreator
-//------------------------------------------------
-//
-CCdcCommsDatCreator::~CCdcCommsDatCreator()
-    {
-    delete iReader;
-    
-    iEapSettings.ResetAndDestroy();
-
-	for ( TInt i = 0; i < iPluginArray.Count(); i++ )
-	{
-		iPluginArray[i]->Close();
-	}
-    iPluginArray.ResetAndDestroy();
-    iPluginNames.ResetAndDestroy();
-
-	for ( TInt i = 0; i < iDestArray.Count(); i++ )
-	{
-		iDestArray[i]->Close();
-	}
-    iDestArray.ResetAndDestroy();
-    
-    iDestNames.ResetAndDestroy();    
-    
-    iUnderLying.ResetAndDestroy();    
-    
-    iWlanSecurity.ResetAndDestroy();
-    
-    iLingerSettings.ResetAndDestroy();
-
-    iCmInDest.Close(); 
-    
-    iCmManager.Close();
-    }
-
-
-//------------------------------------------------
-// CCdcCommsDatCreator::ConstructL
-//------------------------------------------------
-//
-void CCdcCommsDatCreator::ConstructL()
-    {
-    CLOG_WRITE( "Initialising FeatureManager\n" )   
-    //checks if Wlan feature is supported
-    FeatureManager::InitializeLibL();
-    iIsWlanS = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-    FeatureManager::UnInitializeLib();
-    CLOG_WRITE( "FeatureManager closed\n" )
-
-    iCmManager.OpenL();
-    }
-    
-//------------------------------------------------
-// CCdcCommsDatCreator::InputFileType
-//------------------------------------------------
-//
-TUint CCdcCommsDatCreator::InputFileType( const TFileName& aFileName )
-    {
-    TBuf<KLengthOfExtention> extension;
-    
-    //get extension
-    extension.Copy( aFileName.Right( KLengthOfExtention ) );
-    
-    TDbCreatorInputFile type ( EFileUnknown );
-    
-    if ( extension.CompareF( KExtensionXML ) == 0 )
-        {
-        type = EFileXML;            
-        }
-    else
-        {
-        //type keeps default value
-        }
-            
-    return type;
-    
-    }
-    
-  
-//------------------------------------------------
-// CCdcCommsDatCreator::UpdateUncatCmsL
-//------------------------------------------------
-//
-void CCdcCommsDatCreator::UpdateUncatCmsL( RArray< TBool >& aCmInDest )
-    {
-    CLOG_WRITE( "-------------------------------\n" )
-    CLOG_WRITE( "Uncategorised Cms:\n" )
-
-    // No destination defined
-    if( aCmInDest.Count() == 0 )
-        {
-        for( TInt i(0); i < iPluginArray.Count(); i++ )
-            {
-            iPluginArray[i]->UpdateL();
-            CLOG_WRITE_FORMAT( "Uncat CM Name: %S", iPluginNames[i] );
-            }
-        }
-    else
-        {
-        
-        for( TInt i(0); i < iPluginArray.Count(); i++ )
-            {
-            if( aCmInDest[ i ] == EFalse )
-                {
-                iPluginArray[i]->UpdateL();
-                CLOG_WRITE_FORMAT( "Uncat CM Name: %S", iPluginNames[i] );
-                }
-            }
-        }
-        
-    CLOG_WRITE( "-------------------------------\n" )
-    }    
-
-
-//------------------------------------------------
-// CCdcCommsDatCreator::LogIapIdsL
-//------------------------------------------------
-//
-void CCdcCommsDatCreator::LogIapIdsL()
-    {
-    for( TInt i(0); i < iPluginArray.Count(); i++ )
-        {
-        TUint32 uid1 = iPluginArray[i]->GetIntAttributeL( CMManager::ECmId );
-        CLOG_WRITE_FORMAT( "IAP Name: %S", iPluginNames[i] );
-        CLOG_WRITE_FORMAT( "ID: %d\n", uid1 );
-        }
-
-    for( TInt i(0); i < iDestArray.Count(); i++ )
-        {
-        TUint32 uid1 = iDestArray[i]->Id();
-        CLOG_WRITE_FORMAT( "SNAP Name: %S", iDestNames[i] );
-        CLOG_WRITE_FORMAT( "ID: %d\n", uid1);
-        }
-    }
-
-// ---------------------------------------------------------
-// CCdcCommsDatCreator::ProcessDNL
-// ---------------------------------------------------------
-//
-void CCdcCommsDatCreator::ProcessDNL( RArray< TBool >& aCmInDest,
-                                     TBool aFirstRound )
-    {
-    CLOG_WRITE( "Feature found : Destination Network(s)\n" )
-    CLOG_WRITE( "--------------------------------------\n" )
-    
-    
-    if( !aFirstRound )
-        {
-        for( TInt i(0); i < iPluginArray.Count(); i++ )
-            {
-            aCmInDest.Append( EFalse );
-            }
-        }
-    
-    iFileProcessor = CProcessorDN::NewL( iReader,
-                                         iCmManager,
-                                         iPluginArray,
-                                         iPluginNames,
-                                         iDestArray,
-                                         iDestNames,
-                                         aCmInDest,
-                                         aFirstRound ); 
-    iFileProcessor->ParseFileL();
-    
-    delete iFileProcessor;
-    iFileProcessor = NULL;
-    CLOG_WRITE( "--------------------------------------\n" )
-    }    
-
-// ---------------------------------------------------------
-// CCdcCommsDatCreator::SetUnderlyingIapL
-// ---------------------------------------------------------
-//
-void CCdcCommsDatCreator::SetUnderlyingIapL( RPointerArray< HBufC >& aUnderLying )
-    {
-    // Sets the underlying IAP/SNAPS for vpn IAPs    
-    if( aUnderLying.Count() > 0 )
-        {
-        CLOG_WRITE_FORMAT( "SetUnderlyingIapL: %d\n", aUnderLying.Count() )
-        CLOG_WRITE( "--------------------------------------\n" )
-
-        CProcessorVpn* vpn = CProcessorVpn::NewL( iReader,
-                                               iCmManager,
-                                               iPluginArray,
-                                               iPluginNames,
-                                               aUnderLying );
-        
-        CleanupStack::PushL( vpn );
-        vpn->ProcessUnderLyingL(  iDestArray, iDestNames );
-        
-                
-        CleanupStack::PopAndDestroy( vpn );
-
-        CLOG_WRITE( "--------------------------------------\n" )
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCdcCommsDatCreator::SetUnderlyingIapL
-// ---------------------------------------------------------
-//
-void CCdcCommsDatCreator::SetWlanSecurityL( RPointerArray< HBufC >& aWlanSecurity )
-    {
-    if( aWlanSecurity.Count() > 0 
-		|| iEapSettings.Count() > 0 )
-        {
-        CLOG_WRITE_FORMAT( "SetWlanSecurityL: %d\n", aWlanSecurity.Count() );
-        CLOG_WRITE_FORMAT( "SetWlanSecurityL: EAPs: %d\n", iEapSettings.Count() );
-        CLOG_WRITE( "--------------------------------------\n" )
-
-        CProcessorWlan* wlan = CProcessorWlan::NewL( iReader,
-                                                     iCmManager,
-                                                     iPluginArray,
-                                                     iPluginNames,
-                                                     aWlanSecurity,
-													 iEapSettings);
-        
-        CleanupStack::PushL( wlan );
-        wlan->SaveSecurityInfoL();
-                
-        CleanupStack::PopAndDestroy( wlan );
-        
-        // EAP settings were saved. Delete them.
-        iEapSettings.ResetAndDestroy();
-
-        CLOG_WRITE( "--------------------------------------\n" )
-        }
-    }
-
-// ---------------------------------------------------------
-// CCdcCommsDatCreator:::SetLingerSettingsL
-// ---------------------------------------------------------
-//
-void CCdcCommsDatCreator::SetLingerSettingsL( 
-        RPointerArray< CLingerElement >& aLingerSettings )
-    {
-    CLOG_WRITE_FORMAT( "SetLingerSettingsL: %d\n", aLingerSettings.Count() );
-    if ( aLingerSettings.Count() > 0 )
-        {
-        CProcessorPacketData* pdp = CProcessorPacketData::NewL( iReader, 
-                                                                iCmManager,
-                                                                iPluginArray,
-                                                                iPluginNames,
-                                                                iLingerSettings );
-        
-        CleanupStack::PushL( pdp );
-        pdp->SaveLingerSettingsL();
-                
-        CleanupStack::PopAndDestroy( pdp );
-        }  
-    CLOG_WRITE( "--------------------------------------\n" )
-    }
-
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcdatamobilitytables.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,613 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CDataMobilityTables
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include "cdcdatamobilitytables.h"
-#include "cdclogger.h"
-
-#include <commsdattypesv1_1.h>
-#include <datamobilitycommsdattypes.h>
-#include <cmmanagerext.h>
-#include <wlancontainer.h>
-#include <cmmanagerdef.h>
-
-// CONSTANTS
-
-// Maximum bearer type name length
-const TUint KMaxNameLength = 50;
-
-// Default bearer priorities
-const TUint KDefaultPriorityLan = 0;
-const TUint KDefaultPriorityWlan = 1;
-const TUint KDefaultPriorityPan = 2;
-const TUint KDefaultPriorityGprsOut = 3;
-const TUint KDefaultPriorityGprsIn = 4;
-const TUint KDefaultPriorityDialOut = 6;
-const TUint KDefaultPriorityDialIn = 7;
-const TUint KDefaultUIPriorityVpn = 253;
-const TUint KDefaultUIPriorityMip = 254;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CDataMobilityTables::NewL
-// ---------------------------------------------------------
-//
-CDataMobilityTables* CDataMobilityTables::NewL()
-    {
-
-    CDataMobilityTables* self = new ( ELeave ) CDataMobilityTables;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CDataMobilityTables::CDataMobilityTables
-// ---------------------------------------------------------
-//
-CDataMobilityTables::CDataMobilityTables()
-    {
-    //no implementation needed
-    }
-
-
-// ---------------------------------------------------------
-// CDataMobilityTables::ConstructL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::ConstructL()
-    {
-    //no implementation needed
-    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    }
-
-
-// ---------------------------------------------------------
-// CDataMobilityTables::~CDataMobilityTables
-// ---------------------------------------------------------
-//
-CDataMobilityTables::~CDataMobilityTables()
-    {
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession; 
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CheckAndCreateAlrTablesL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CheckAndCreateAlrTablesL()
-    {
-    CreateVirtualIAPNextLayerTableL();
-    CreateGlobalBearerTypeTableL();
-    PopulateGlobalBearerTypeTableL();
-    CreateDataMobilitySelectionPolicyTableL();
-    CreateSNAPMetadataTableL();
-    CreateIAPMetadataTableL();
-    CreateDestNetworkTableL();
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CheckAndCreateMipTablesL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CheckAndCreateMipTablesL()
-    {
-    CreateMIPServiceTableL();
-    CreateMIP4TableL();
-    CreateMIP6TableL();
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateGlobalBearerTypeTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateGlobalBearerTypeTableL()
-    {
-    //Check whether Global Bearer Type Priorization table exists
-    TInt error( KErrNone );
-    
-    TRAP( error, CCDGlobalBearerTypePriorizationRecord::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDGlobalBearerTypePriorizationRecord::CreateTableL( *iSession );
-
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDGlobalBearerTypePriorizationRecord::TableIdL( *iSession ) );
-        if( id >= KErrNone )
-            {
-            CLOG_WRITE( "Added Global Bearer Type Priorization table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "Failed to add Global Bearer Type Priorization\
-                             table: %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE ( "Global Bearer Type Priorization table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ------------------------------------------------------------
-// CDataMobilityTables::CreateDataMobilitySelectionPolicyTableL
-// ------------------------------------------------------------
-//
-void CDataMobilityTables::CreateDataMobilitySelectionPolicyTableL()
-    {
-    //Check whether Data Mobility Selection Policy table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDDataMobilitySelectionPolicyRecord::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDDataMobilitySelectionPolicyRecord::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDDataMobilitySelectionPolicyRecord::TableIdL( *iSession ) );
-        if( id >= KErrNone )
-            {
-            CLOG_WRITE( "Added Data Mobility Selection Policy table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( 
-            "Failed to add Data Mobility Selection Policy table. %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "Data Mobility Selection Policy table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateMIPServiceTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateMIPServiceTableL()
-    {
-    //Check whether MIP Service table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDMIPServiceExtRecord::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDMIPServiceExtRecord::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDMIPServiceExtRecord::TableIdL( *iSession ) );
-        if( KErrNone <= id )
-            {
-            CLOG_WRITE( "Added MIP Service table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "Failed to add MIP Service table: %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "MIP Service table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateMIP4TableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateMIP4TableL()
-    {
-    //Check whether MIP4 table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDMIP4Record::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDMIP4Record::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDMIP4Record::TableIdL( *iSession ) );
-        if( KErrNone <= id )
-            {
-            CLOG_WRITE( "Added MIP4 table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "Failed to add MIP4 table: %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "MIP4 table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateMIP6TableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateMIP6TableL()
-    {
-    //Check whether MIP6 table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDMIP6Record::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDMIP6Record::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDMIP6Record::TableIdL( *iSession ) );
-        if( KErrNone <= id )
-            {
-            CLOG_WRITE( "Added MIP6 table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "Failed to add MIP6 table %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-            CLOG_WRITE( "MIP6 table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateSNAPMetadataTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateSNAPMetadataTableL()
-    {
-    //Check whether SNAP Metadata table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDSNAPMetadataRecord::TableIdL( *iSession ) );
-    
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDSNAPMetadataRecord::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDSNAPMetadataRecord::TableIdL( *iSession ) );
-        if( KErrNone <= id )
-            {
-            CLOG_WRITE( "Added SNAP Metadata table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "Failed to add SNAP Metadata table? %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "SNAP Metadata table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateIAPMetadataTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateIAPMetadataTableL()
-    {
-    //Check whether IAP Metadata table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDIAPMetadataRecord::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDIAPMetadataRecord::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDIAPMetadataRecord::TableIdL( *iSession ) );
-        if( KErrNone <= id )
-            {
-            CLOG_WRITE( "Added IAP Metadata table\n" )
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "Failed to add IAP Metadata table: %d\n", id )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "IAP Metadata table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CDataMobilityTables::CreateVirtualIAPNextLayerTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateVirtualIAPNextLayerTableL()
-    {
-    //Check whether IAP Metadata table exists
-    TInt error( KErrNone );
-    TRAP( error, CCDVirtualIAPNextLayerRecord::TableIdL( *iSession ) );
-
-    //Table not found -> create it
-    if( error == KErrNotFound )
-        {
-        //Add table to CommsDat
-        CCDVirtualIAPNextLayerRecord::CreateTableL( *iSession );
-        
-        //check result
-        TInt id( KErrNone );
-        TRAP( id, CCDVirtualIAPNextLayerRecord::TableIdL( *iSession ) );
-        if( KErrNone > id )
-            {
-            CLOG_WRITE_FORMAT( "Failed to add Virtual IAP Next Layer table %d\n", id )
-            }
-        else
-            {
-            CLOG_WRITE( "Added Virtual IAP Next Layer table\n" )
-            }
-        }
-    //Table already exists
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "Virtual IAP Next Layer table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-
-// ---------------------------------------------------------
-// CreateDestNetworkTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::CreateDestNetworkTableL()
-    {    
-    //checks whether table exists
-    TInt error( KErrNone );
-
-    TRAP( error, CCDDestNWTable::TableIdL( *iSession ) );
-    if( error == KErrNotFound )
-        {    
-        //table not found -- add new table
-        CCDDestNWTable::CreateTableL( *iSession );
-        
-        //check result
-        TRAP( error, CCDDestNWTable::TableIdL( *iSession ) );
-        
-        if ( error == KErrNone )
-            {
-            CLOG_WRITE( "Added Destination Network table" )
-            }
-        }
-    else if ( error == KErrNone)
-        {
-            CLOG_WRITE( "Destination Network table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }  
-    }
-
-// ---------------------------------------------------------
-// CDataMobilityTables::PopulateGlobalBearerTypeTableL
-// ---------------------------------------------------------
-//
-void CDataMobilityTables::PopulateGlobalBearerTypeTableL()
-    {
-    RCmManagerExt cmManager;
-    cmManager.CreateTablesAndOpenL();
-    
-    CleanupClosePushL( cmManager );
-    
-    RArray< TBearerPriority >* bearerArray = new( ELeave )
-                                            RArray< TBearerPriority >();
-    
-    CleanupStack::PushL( bearerArray );
-                           
-    // Check if the bearer table has already been filled
-    // (and skip populating in this case)
-    
-    cmManager.BearerPriorityArrayL( *bearerArray );
-    
-    if( !bearerArray->Count() )
-        {
-        // Prepare bearer priority array
-        // Strings are needed to be available until the update of the bearer array
-        // (TBearerPriority has a HBufC* member)
-        HBufC* lanServiceName = HBufC::NewLC( KMaxNameLength );
-        *lanServiceName = TPtrC( KCDTypeNameLANService );
-        HBufC* wLanServiceName = HBufC::NewLC( KMaxNameLength );
-        *wLanServiceName = TPtrC( KCDTypeNameWLANServiceExt );
-        HBufC* panServiceName = HBufC::NewLC( KMaxNameLength );
-        *panServiceName = TPtrC( KCDTypeNamePANServiceExt );
-        HBufC* gprsOutServiceName = HBufC::NewLC( KMaxNameLength );
-        *gprsOutServiceName = TPtrC( KCDTypeNameOutgoingWCDMA );
-        HBufC* gprsInServiceName = HBufC::NewLC( KMaxNameLength );
-        *gprsInServiceName = TPtrC( KCDTypeNameIncomingWCDMA );
-        HBufC* dialOutServiceName = HBufC::NewLC( KMaxNameLength );
-        *dialOutServiceName = TPtrC( KCDTypeNameDialOutISP );
-        HBufC* dialInServiceName = HBufC::NewLC( KMaxNameLength );
-        *dialInServiceName = TPtrC( KCDTypeNameDialInISP );
-        HBufC* vpnServiceName = HBufC::NewLC( KMaxNameLength );
-        *vpnServiceName = TPtrC( KCDTypeNameVPNService );
-        HBufC* mipServiceName = HBufC::NewLC( KMaxNameLength );
-        *mipServiceName = TPtrC( KCDTypeNameMIPServiceExt );
-        
-        bearerArray->Reset();
-        
-        TBearerPriority lanRecord;
-        lanRecord.iServiceType = lanServiceName;
-        lanRecord.iPriority = KDefaultPriorityLan;
-        lanRecord.iUIPriority = KDefaultPriorityLan;
-        bearerArray->Append( lanRecord );
-        
-        TBearerPriority wLanRecord;
-        wLanRecord.iServiceType = wLanServiceName;
-        wLanRecord.iPriority = KDefaultPriorityWlan;
-        wLanRecord.iUIPriority = KDefaultPriorityWlan;
-        bearerArray->Append( wLanRecord );
-        
-        TBearerPriority panRecord;
-        panRecord.iServiceType = panServiceName;
-        panRecord.iPriority = KDefaultPriorityPan;
-        panRecord.iUIPriority = KDefaultPriorityPan;
-        bearerArray->Append( panRecord );
-        
-        TBearerPriority gprsOutRecord;
-        gprsOutRecord.iServiceType = gprsOutServiceName;
-        gprsOutRecord.iPriority = KDefaultPriorityGprsOut;
-        gprsOutRecord.iUIPriority = KDefaultPriorityGprsOut;
-        bearerArray->Append( gprsOutRecord );
-        
-        TBearerPriority gprsInRecord;
-        gprsInRecord.iServiceType = gprsInServiceName;
-        gprsInRecord.iPriority = KDefaultPriorityGprsIn;
-        gprsInRecord.iUIPriority = KDefaultPriorityGprsIn;
-        bearerArray->Append( gprsInRecord );
-                        
-        TBearerPriority dialOutRecord;
-        dialOutRecord.iServiceType = dialOutServiceName;
-        dialOutRecord.iPriority = KDefaultPriorityDialOut;
-        dialOutRecord.iUIPriority = KDefaultPriorityDialOut;
-        bearerArray->Append( dialOutRecord );
-        
-        TBearerPriority dialInRecord;
-        dialInRecord.iServiceType = dialInServiceName;
-        dialInRecord.iPriority = KDefaultPriorityDialIn;
-        dialInRecord.iUIPriority = KDefaultPriorityDialIn;
-        bearerArray->Append( dialInRecord );
-        
-        TBearerPriority vpnRecord;
-        vpnRecord.iServiceType = vpnServiceName;
-        vpnRecord.iPriority = CMManager::KDataMobilitySelectionPolicyPriorityWildCard;
-        vpnRecord.iUIPriority = KDefaultUIPriorityVpn;
-        bearerArray->Append( vpnRecord );
-        
-        TBearerPriority mipRecord;
-        mipRecord.iServiceType = mipServiceName;
-        mipRecord.iPriority = CMManager::KDataMobilitySelectionPolicyPriorityWildCard;
-        mipRecord.iUIPriority = KDefaultUIPriorityMip;
-        bearerArray->Append( mipRecord );
-        
-        cmManager.UpdateBearerPriorityArrayL( *bearerArray );
-        
-        CLOG_WRITE( "Global Bearer Priorization table updated with default values\n" )
-        
-        // Only pop, because ownership is passed to the array
-        CleanupStack::Pop( mipServiceName ); 
-        CleanupStack::Pop( vpnServiceName );
-        CleanupStack::Pop( dialInServiceName ); 
-        CleanupStack::Pop( dialOutServiceName );
-        CleanupStack::Pop( gprsInServiceName );
-        CleanupStack::Pop( gprsOutServiceName ); 
-        CleanupStack::Pop( panServiceName );
-        CleanupStack::Pop( wLanServiceName ); 
-        CleanupStack::Pop( lanServiceName );
-        }
-        
-    else
-        {
-        CLOG_WRITE( "Not updating Global Bearer Priorization table\n" )
-        }
-    
-    cmManager.CleanupGlobalPriorityArray( *bearerArray );
-
-    CleanupStack::PopAndDestroy( bearerArray ); 
-    CleanupStack::PopAndDestroy( &cmManager );
-    }
-
-
-//  End of File.
--- a/dbcreator/commsdatcreator/Src/cdcdumptables.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,453 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorCSD
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include <wlancontainer.h>
-#include <cmmanagertablefields.h>
-#include <datamobilitycommsdattypes.h>
-#include <f32file.h>
-#include <featmgr.h>
-
-#include "cdcdumptables.h"
-#include "cdclogger.h"
-
-// DEFINES
-
-#define QUERY_HBUFC_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<HBufC*>*, record->GetFieldByIdL( fieldId ))
-#define QUERY_HBUFC8_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<HBufC8*>*, record->GetFieldByIdL( fieldId ))
-#define QUERY_UINT32_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<TUint32>*, record->GetFieldByIdL( fieldId ))
-#define QUERY_INT_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<TInt>*, record->GetFieldByIdL( fieldId ))
-
-
-// CONSTANTS
-
-// commons for CSV file creatin
-_LIT16( KComma, "," );
-_LIT16( KNewLine, "\n" );
-_LIT16( KCRT, "\r" );
-_LIT16( KDQuote, "\"" );
-
-// Table names for CSV file creation
-_LIT16( KCDWlanServiceRecord,        "CCDWlanService" );
-_LIT16( KCDWlanDeviceSettingsRecord, "CCDWlanDeviceSettings" );
-_LIT16( KCDWLANSecSSIDTable,         "CCDWLANSecSSIDTable" );
-_LIT16( KCDDestNWTable,              "CCDDestNWTable" );
-_LIT16( KCDVirtualIAPNextLayerRecord,"CCDVirtualIAPNextLayer" );
-_LIT16( KCDDataMobilitySelectionPolicyRecord, "CCDDataMobilitySelectionPolicy" );
-_LIT16( KCDSNAPMetadataRecord,       "CCDSNAPMetadata" );
-_LIT16( KCDGlobalBearerTypePriorizationRecord, "CCDGlobalBearerTypePriorization" );
-_LIT16( KCDMIPServiceExtRecord,      "CCDMIPServiceExt" );
-_LIT16( KCDIAPMetadataRecord,        "CCDIAPMetadata" );
-_LIT16( KCDMIP4Record,               "CCDMIP4" );
-_LIT16( KCDMIP6Record,               "CCDMIP6" );
-
-
-// Little-endian Unicode file header.
-const TUint16 KLittleEndianUnicodeHeader = 0xFEFF;
-// Buffer length for number conversion
-const TInt KFormatBufLen = 40;
-
-
-// ---------------------------------------------------------
-// CDumpTables::NewL
-// ---------------------------------------------------------
-//
-CDumpTables* CDumpTables::NewL()
-    {
-    CDumpTables* self = NewLC();
-    CleanupStack::Pop( self ); // self
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CDumpTables::NewLC
-// ---------------------------------------------------------
-//
-CDumpTables* CDumpTables::NewLC()
-    {
-    CDumpTables* self = new ( ELeave ) CDumpTables();
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    return self;
-    }
-     
-     
-// ---------------------------------------------------------
-// CDumpTables::~CDumpTables
-// ---------------------------------------------------------
-//
-CDumpTables::~CDumpTables()
-    {
-    iRfs.Close();
-    if (iSession)
-        {
-        iSession->Close();
-        delete iSession;        
-        }      
-    }    
-
-// ---------------------------------------------------------
-// CDumpTables::ConstructL
-// ---------------------------------------------------------
-//
-void CDumpTables::ConstructL()
-    {
-    iSession = CommsDat::CMDBSession::NewL( 
-               CommsDat::CMDBSession::LatestVersion() );
-    }
-    
-    
-// ---------------------------------------------------------
-// CDumpTables::CDumpTables
-// ---------------------------------------------------------
-//
-CDumpTables::CDumpTables()
-    {
-    
-    }
-    
-// ---------------------------------------------------------
-// CDumpTables::DoDumpTablesL
-// ---------------------------------------------------------
-//
-void CDumpTables::DoDumpTablesL( const TFileName& aOutFileName )
-    {
-
-    User::LeaveIfError( OpenFileL( aOutFileName ) );
-
-
-    //checks if Wlan feature is supported
-    FeatureManager::InitializeLibL();
-    TBool isWlanS( FeatureManager::FeatureSupported( KFeatureIdProtocolWlan ) );
-    FeatureManager::UnInitializeLib();
-    
-    if( isWlanS )
-        {
-        // Dumps CCDWlanService Table 
-        DumpTableL<CCDWlanServiceRecord>( &KCDWlanServiceRecord );
-
-        // Dumps CCDWlanDeviceSettings Table  
-        DumpTableL<CCDWlanDeviceSettingsRecord>( &KCDWlanDeviceSettingsRecord );
-
-        // Dumps CCDWLANSecSSID Table  
-        DumpTableL<CCDWLANSecSSIDTable>( &KCDWLANSecSSIDTable );
-    
-        // Dumps CCDDestNWTable Table  
-        DumpTableL<CCDDestNWTable>( &KCDDestNWTable );
-        }
-        
-    // Dumps CCDVirtualIAPNextLayerRecord Table  
-    DumpTableL<CCDVirtualIAPNextLayerRecord>( 
-              &KCDVirtualIAPNextLayerRecord );
-
-    // Dumps CCDDataMobilitySelectionPolicyRecord Table  
-    DumpTableL<CCDDataMobilitySelectionPolicyRecord>(
-              &KCDDataMobilitySelectionPolicyRecord );
-
-    // Dumps CCDSNAPMetadataRecord Table  
-    DumpTableL<CCDSNAPMetadataRecord>( &KCDSNAPMetadataRecord );
-
-    // Dumps CCDGlobalBearerTypePriorizationRecord Table  
-    DumpTableL<CCDGlobalBearerTypePriorizationRecord>( 
-              &KCDGlobalBearerTypePriorizationRecord );
-
-    // Dumps CCDMIPServiceExtRecord Table  
-    DumpTableL<CCDMIPServiceExtRecord>( &KCDMIPServiceExtRecord );
-
-    // Dumps CCDIAPMetadataRecord Table  
-    DumpTableL<CCDIAPMetadataRecord>( &KCDIAPMetadataRecord );
-    
-    // Dumps CCDMIP4Record Table  
-    DumpTableL<CCDMIP4Record>( &KCDMIP4Record );
-    
-    // Dumps CCDMIP6Record Table  
-    DumpTableL<CCDMIP6Record>( &KCDMIP6Record );
-    
-    iFile.Close();   
-    }
-
-  
-// ---------------------------------------------------------
-// CDumpTables::DumpTableL
-// ---------------------------------------------------------
-//
-template<class T> void CDumpTables::DumpTableL( const TDesC* aTableName )
-    {
-    
-    CLOG_WRITE_FORMAT( "Dump table: %S \n", aTableName );
-
-    iFile.WriteL( *aTableName );    
-    iFile.WriteL( KNewLine );    
-
-    // Retreives the table the recordset and the recordinfo
-    TMDBElementId tableId = T::TableIdL( *iSession );
-   
-    T* table = new (ELeave) T( tableId );
-
-    const SRecordTypeInfo* aRecordInfo = table->GetRecordInfo();              
-
-    CommsDat::CMDBRecordSet<T>* aRecordSet = 
-              new (ELeave) CommsDat::CMDBRecordSet<T>( tableId );
-    
-    // Loads the table          
-    TRAP_IGNORE( aRecordSet->LoadL( *iSession ) );
-
-    //The table has been loaded
-    TInt count = aRecordSet->iRecords.Count();
-    CLOG_WRITE_FORMAT("Record count: %d", count );
-        
-      
-    TBuf16<KFormatBufLen> buf;
-    
-    // Goes throught the records        
-    for ( TInt i = 0; i < count; i++ )
-        {
-        // The closing (after last) field in the record has 0 iTypeId 
-        // to indicate the end of the record. 
-        for ( TInt j = 0; 0 < aRecordInfo[j].iTypeId; j++ )
-            {
-            // Switch for different data types
-            switch( aRecordInfo[j].iValType )
-                {
-                case EInt:
-                case EBool:
-                    {
-                    // Dumping TInt
-                    TInt res( QUERY_INT_FIELD( 
-                          (*aRecordSet)[i], aRecordInfo[j].iTypeId ) );
-                    buf.Format( _L( "%d" ), res );
-                    iFile.WriteL ( buf );
-                    }
-                break;
-                
-                case EUint32:
-                case ELink:
-                    {
-                    // Dumping TUint32
-                    TUint32 res32( QUERY_UINT32_FIELD( 
-                            (*aRecordSet)[i], aRecordInfo[j].iTypeId ) );
-                    buf.Format( _L( "%d" ), res32 );
-                    iFile.WriteL ( buf );
-                    }
-                break;
-
-                case EText:
-                case EMedText:
-                case ELongText:
-                    {
-                    // Dumping text16
-                    HBufC16* text16 = QUERY_HBUFC_FIELD( 
-                            (*aRecordSet)[i], aRecordInfo[j].iTypeId );
-                    WriteL ( text16 );
-                    }
-                break;
-                
-                case EDesC8:
-                    {
-                    // Dumping text8
-                    HBufC8* text8 = QUERY_HBUFC8_FIELD( 
-                            (*aRecordSet)[i], aRecordInfo[j].iTypeId );
-            
-                    WriteL ( text8 );
-                    }
-                break;
-
-                default:
-                    CLOG_WRITE_FORMAT("! warning: type not supported: %d", 
-                                                aRecordInfo[j].iValType );
-                break;                                                
-                }
-                iFile.WriteL( KComma );
-            
-            }
-            iFile.WriteL( KNewLine );
-        }
-    }
-    
-// ---------------------------------------------------------
-// CDumpTables::OpenFileL
-// ---------------------------------------------------------
-//
-TInt CDumpTables::OpenFileL( const TFileName& aFileName )
-    {
-    ////CLOG_WRITE_FORMAT( "Output file name %S", aFileName ); 
-    
-    TInt err = iRfs.Connect();
-
-    if( err == KErrNone )
-        {
-        err = iFile.Replace( iRfs, aFileName, EFileStreamText | EFileWrite );
-        }
-    
-    if( err == KErrNotFound ) 
-        // file does not exist - create it
-        {
-        err=iFile.Create( iRfs, aFileName, EFileStreamText | EFileWrite );
-        }
-    
-    if( err == KErrNone )
-        {
-        // Write little-endian Unicode file header.
-        iFile.WriteUint16L( KLittleEndianUnicodeHeader );
-        }
-        
-    if( err != KErrNone )
-        {
-        iFile.Close();
-        ////CLOG_WRITE_FORMAT( "!Error Output file cannot be opened: %S", aFileName );
-        }
-        
-    return err;
-    }
-
-
-// ---------------------------------------------------------
-// CDumpTables::WriteL
-// ---------------------------------------------------------
-//
-void CDumpTables::WriteL( HBufC8* aDes )
-    {
-
-    if( aDes )
-        {
-    
-        CleanupStack::PushL( aDes );
-
-        HBufC16* text16 = HBufC16::NewL( aDes->Length() );
-        text16->Des().Copy( aDes->Des() );
-    
-        WriteL ( text16 );
-
-        CleanupStack::PopAndDestroy( aDes );
-        }
-
-    }    
-
-    
-// ---------------------------------------------------------
-// CDumpTables::WriteL
-// ---------------------------------------------------------
-//
-void CDumpTables::WriteL( HBufC16* aDes )
-    {
-    
-    if( aDes )
-        {
-        CleanupStack::PushL( aDes );
-        
-        TBool res = CheckCSVTransformNeedL( aDes );
-
-        // Need conversion
-        if( res )
-            {
-            HBufC16* cvsFormat = TransformToCSVFormatLC( aDes );
-            iFile.WriteL ( *cvsFormat );
-            CleanupStack::PopAndDestroy( cvsFormat );
-            }
-        else
-            {
-            iFile.WriteL ( *aDes );
-            }
-        CleanupStack::PopAndDestroy( aDes );
-        }
-    }    
-
-
-// ---------------------------------------------------------
-// CDumpTables::TransformToCSVFormatLC
-// ---------------------------------------------------------
-//
-HBufC16* CDumpTables::TransformToCSVFormatLC( const HBufC16* aField )
-    {
-    CLOG_WRITE_FORMAT( "Transform needed:  %S", aField );
-
-    // Length of the csv format string is calculated.
-    // "2" are the leading and trailing d.qquotes
-    TInt csvLen = aField->Length() + iNumOfDQuotes + 2; 
-    HBufC16* csv = HBufC16::NewLC( csvLen );
-    
-    TPtr16 ptr = csv->Des();
-
-    // Heading quote    
-    ptr.Append( KDQuote );
-    ptr.Append( *aField );
-    
-    // Quotes might be duplicated
-    if( 0 < iNumOfDQuotes )
-        {
-        // Heading quote step over
-        TInt pos = 1;
-        while( pos < ptr.Length() && pos != KErrNotFound )
-            {
-            ptr = ptr.Mid( pos );
-            pos = ptr.Find( KDQuote );
-            if( pos != KErrNotFound )
-                {
-                ptr.Insert( pos, KDQuote );
-                pos+=2;                
-                }
-            }
-        }
-
-    // Tailing quote
-    ptr.Append( KDQuote );
-
-    CLOG_WRITE_FORMAT( "Transformed:      %S", csv );
- 
-    return csv;
-    }
-
-
-// ---------------------------------------------------------
-// CDumpTables::CheckCSVTransformNeedL
-// ---------------------------------------------------------
-//
-TBool CDumpTables::CheckCSVTransformNeedL( HBufC16* aField )
-    {
-    // Looks for comma, new line or carrige return characters.
-    // Only existance is necessary. If any of them exist the
-    // quoting is necessary  
-    TInt cnrPos = aField->Find( KComma );
-    if( cnrPos == KErrNotFound )
-        {
-        cnrPos = aField->Find( KNewLine );
-        if( cnrPos == KErrNotFound )
-            {
-            cnrPos = aField->Find( KCRT );
-            }
-        }
-    
-    // Serches for all dquote. Number is usefull for csv text creation
-    iNumOfDQuotes = 0;        
-    TPtr16 ptr = aField->Des();
-    
-    TInt quotePos = ptr.Find( KDQuote );
-    while( quotePos != KErrNotFound )
-        {
-        iNumOfDQuotes++;
-        ptr = ptr.Mid( quotePos+1 );
-        quotePos = ptr.Find( KDQuote );
-        }
-      
-    // csv file conversion necessary if comma... or quote is in the text.        
-    return ( 0 < iNumOfDQuotes || cnrPos != KErrNotFound );
-    }
--- a/dbcreator/commsdatcreator/Src/cdcprocessorbase.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,547 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorBase
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcprocessorbase.h"
-#include "cdcreaderbase.h"
-#include "cdclogger.h"
-
-#include <cmmanagerext.h>
-#include <cmconnectionmethoddef.h>
-#include <cmconnectionmethodext.h>
-#include <cmdestinationext.h>
-#include <datamobilitycommsdattypes.h>
-
-
-using namespace CMManager;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CProcessorBase::CProcessorBase
-// Constructor.
-// ---------------------------------------------------------
-//
-CProcessorBase::CProcessorBase( CReaderBase* aFileReader,
-                                RCmManagerExt& aCmManager,
-                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                RPointerArray< HBufC >& aPluginNames ) :
-        iFileReader( aFileReader ), 
-        iProxyEnabled( EFalse ),
-        iIsProtected( EFalse )
-    {
-    iCmManager = &aCmManager;
-    
-    iPluginArray = &aPluginArray;
-    iPluginName = &aPluginNames;
-    }
-
-
-CProcessorBase::CProcessorBase( CReaderBase* aFileReader,
-                        RCmManagerExt& aCmManager,
-                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                        RPointerArray< HBufC >& aPluginNames,
-                        RPointerArray< RCmDestinationExt >& aDestArray,
-                        RPointerArray< HBufC >& aDestNames ) :
-        iFileReader( aFileReader ), 
-        iProxyEnabled( EFalse ),
-        iIsProtected( EFalse )
-    {
-    iCmManager = &aCmManager;
-    
-    iPluginArray = &aPluginArray;
-    iPluginName = &aPluginNames;
-    
-    iDestArray = &aDestArray;
-    iDestName = &aDestNames;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorBase::~CProcessorBase
-// Destructor.
-// ---------------------------------------------------------
-//
-CProcessorBase::~CProcessorBase()
-    {
-    iPlugin.Close();
-    if( iName )
-        {
-        delete iName;
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorBase::ParseFileL
-// ---------------------------------------------------------
-//
-//PseudoCode:
-// 0010 locates the next access point within the text file
-// 0020 parses the location and reads the input data to TagContainer
-// 0030 from TagContainer creates Access Point Item Object
-// 0040 using the Access Point Item Object creates a new AP record in CommsDat
-// 0050 clears TagContainer
-//
-void CProcessorBase::ParseFileL()
-    {
-    //LocateAP : locates the access points within the text file
-    while ( iFileReader->LocateAPL() )
-        {
-        //ParseAPL : parses the location, reads the input data to TagContainer
-        iFileReader->ParseAPL();
-        
-        //from TagContainer creates Access Point Item Object
-        ProcessTagL( iFileReader->FieldIDPresent() );
-                
-        //adds the Access Point Item Object to CommsDB
-        ProcessAPL();
-            
-        //clear TagContainer
-        TagContainer().Clear();
-            
-        }//while    
-        
-    CLOG_WRITE( "---------------------\n" )
-    }
-
-// ---------------------------------------------------------
-// CProcessorPacketData::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorBase::ProcessTagL( TBool /*aFieldIDPresent*/ )
-    {
-    iProxyEnabled= EFalse;
-    iIsProtected = EFalse;
-
-    Reset();
-    TInt aCMId = -1;
-    for ( TInt idx(0); idx < TagContainer().Count(); idx++)
-        {
-        if ( TagContainer().FieldId( idx ) == ECmId)
-            {
-            HBufC16* ptrTag = TagContainer().Tag(idx);
-            TLex16 lex(ptrTag->Des());
-            TInt err = lex.Val(aCMId);
-            if (err != KErrNone)
-                {
-                User::Leave(err);    
-                }
-            break;
-            }
-        }
-    if (aCMId == -1)
-        {
-        iPlugin = iCmManager->CreateConnectionMethodL( iBearerType );        
-        CLOG_WRITE( "ConnectionMethod created without ECmId.");
-        }
-    else
-        {
-        iPlugin = iCmManager->CreateConnectionMethodL( iBearerType, aCMId);        
-        CLOG_WRITE_FORMAT( "ConnectionMethod created. ECmId:%d", aCMId);
-        }
-     
-    for ( TInt idx(0); idx < TagContainer().Count(); idx++)
-        {
-        HBufC16* ptrTag = TagContainer().Tag(idx);
-        TInt field =  TagContainer().FieldId( idx );
-
-        TBool processed = SetGeneralFieldL( field, ptrTag );
-        if( !processed )
-            {
-            ProcessSpecialFieldsL( field, ptrTag, idx );
-            }
-        }
-        
-    AddToPluginArrayL();
-    
-    }
-
-// --------------------------------------------------------
-// CProcessorBase::TagContainer()
-// --------------------------------------------------------
-CTagContainer& CProcessorBase::TagContainer()
-    {
-    return iFileReader->TagContainer();    
-    }
-
-
-// --------------------------------------------------------
-// CProcessorBase::AddToPluginArrayL()
-// --------------------------------------------------------
-void CProcessorBase::AddToPluginArrayL()
-    {
-    if( !iName )
-        {
-        CLOG_WRITE( "Error: No plugin name !!!" )
-        }    
-    else
-        {
-        const RCmConnectionMethodExt* newItem = new (ELeave) 
-                RCmConnectionMethodExt( iPlugin );
-    
-        iPluginArray->Append( newItem );
-        iPluginName->Append( iName->AllocL() );
-        
-        delete iName;
-        iName = NULL;
-        
-        iPlugin.Close();
-        }
-    }
-
-// --------------------------------------------------------
-// CProcessorBase::GetLastPluginL()
-// --------------------------------------------------------
-RCmConnectionMethodExt& CProcessorBase::GetLastPluginL()
-    {
-    return GetPluginL( PluginCount() - 1 );
-                
-    }    
-
-// --------------------------------------------------------
-// CProcessorBase::GetPluginL()
-// --------------------------------------------------------
-RCmConnectionMethodExt& CProcessorBase::GetPluginL( TInt aPos )
-    {
-
-    return *(iPluginArray->operator[]( aPos ));
-                
-    }    
-
-// --------------------------------------------------------
-// CProcessorBase::PluginCount()
-// --------------------------------------------------------
-TInt CProcessorBase::PluginCount()
-    {
-
-    return iPluginArray->Count();
-                
-    }    
-
-// ---------------------------------------------------------
-// CProcessorBase::FindDestinationL
-// ---------------------------------------------------------
-//
-RCmDestinationExt* CProcessorBase::FindDestinationL( HBufC* aName )
-    {
-    for( TInt i(0); i < iDestName->Count(); i++ )
-        {
-        HBufC *name = (*iDestName)[i];
-        if( aName->Compare( *name  ) == 0 )
-            {
-            return (*iDestArray)[ i ];
-            }
-        }
-    CLOG_WRITE_FORMAT("Warning: Destination not found: %S", aName );
-    return NULL;
-    }
-
-// ---------------------------------------------------------
-// CProcessorBase::GetDestinationIdL
-// ---------------------------------------------------------
-//
-TInt CProcessorBase::GetDestinationIdL( HBufC16* aName )
-    {
-    RCmDestinationExt* dest = FindDestinationL( aName );
-    
-    TInt ret( KErrNotFound );
-    if( dest != NULL )
-        {
-        ret = dest->Id();
-        }
-        
-    return ret;    
-    }
-
-// ---------------------------------------------------------
-// CProcessorBase::FindPluginL
-// ---------------------------------------------------------
-// 
-RCmConnectionMethodExt* CProcessorBase::FindPluginL( HBufC* aName )
-    {
-    TInt pos;
-    return FindPluginL( aName, pos );
-    } 
- 
-// ---------------------------------------------------------
-// CProcessorBase::FindPluginL
-// ---------------------------------------------------------
-//
-RCmConnectionMethodExt* CProcessorBase::FindPluginL( HBufC* aName, TInt& aPos )
-    {
-    RCmConnectionMethodExt* ret( NULL );
-    
-    aPos = CheckPluginName( aName );
-    if ( aPos != KErrNotFound )
-        {
-        ret = (*iPluginArray)[ aPos ];
-        }
-    else
-        {
-        CLOG_WRITE_FORMAT("Warning: Connection method not found: %S", aName );
-        }
-
-    return ret;
-    }
-
-// ---------------------------------------------------------
-// CProcessorBase::CheckPluginName
-// ---------------------------------------------------------
-//
-TInt CProcessorBase::CheckPluginName( HBufC* aName )
-    {
-    TInt ret( KErrNotFound );
-    
-    for( TInt i = 0; i < iPluginName->Count() && ret == KErrNotFound; i++ )
-        {
-        HBufC *name = (*iPluginName)[i];
-        if( aName->Compare( *name  ) == 0 )
-            {
-            ret = i;
-            }
-        }
-    return ret;
-    }
-
-
-
-// ---------------------------------------------------------
-// CProcessorBase::GetPluginIdL
-// ---------------------------------------------------------
-//
-TInt CProcessorBase::GetPluginIdL( HBufC16* aName )
-    {
-    RCmConnectionMethodExt* cm = FindPluginL( aName );
-    
-    TInt ret( KErrNotFound );
-    if( cm != NULL )
-        {
-        ret = cm->GetIntAttributeL( CMManager::ECmIapId );
-        }
-        
-    return ret;    
-    }
-
-    
-// ---------------------------------------------------------
-// CProcessorBase::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorBase::ProcessAPL()
-    {
-    RCmConnectionMethodExt& plugin = GetLastPluginL();
-    if( iIsProtected )
-        {
-        plugin.SetBoolAttributeL( ECmProtected, ETrue );
-        }
-        
-    // Writes into the log file.
-    DoLogL();
-    }
-    
-// ---------------------------------------------------------
-// CProcessorBase::ProcessAPL
-// ---------------------------------------------------------
-//
-TBool CProcessorBase::SetGeneralFieldL( TInt aField, HBufC* aPtrTag )
-    {
-    TBool processed( ETrue );
-    switch( aField )
-        {
-        case ECmName:     
-            {
-            // If input is not empty
-            if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
-                {
-                TInt pos = CheckPluginName( aPtrTag );
-                if( pos != KErrNotFound )
-                    {
-                    CLOG_WRITE_FORMAT("Warning: plugin exist. It might be renamed ! : %S", aPtrTag );
-                    }
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                if( !iName )
-                    {
-                    iName = aPtrTag->AllocL();
-                    }
-                }
-            break;
-            }
-        case ECmStartPage:
-            {
-            // If input is not empty
-            if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
-                {
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                }
-            break;
-            }
-        case ECmHidden:              //fall through
-        case ECmMetaHiddenAgent:     //fall through
-        case ECmMetaHighlight:       //fall through
-            {
-            if( aPtrTag->CompareF( KStrNo ) == 0 )
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else if( aPtrTag->CompareF( KStrYes ) == 0 )
-                {
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                switch ( aField )
-                    {
-                    case ECmHidden:
-                        CLOG_WRITE( "! Error : Invalid Hidden. Default:No");
-                        break;
-                    case ECmMetaHiddenAgent:
-                        CLOG_WRITE( "! Error : Invalid HiddenAgent. Default:No");
-                        break;
-                    case ECmMetaHighlight:
-                        CLOG_WRITE( "! Error : Invalid Highlight. Default:No");
-                        break;
-                    }
-                }
-            break;
-            }
-        case ECmSeamlessnessLevel:
-            {
-            if ( aPtrTag->CompareF( KStrNotRoamedTo ) == 0 )
-                {
-                iPlugin.SetIntAttributeL( aField,
-                                        CMManager::ESeamlessnessNotRoamedTo );
-                }
-            else if ( aPtrTag->CompareF( KStrConfirmFirst ) == 0 )
-                {
-                iPlugin.SetIntAttributeL( aField,
-                                        CMManager::ESeamlessnessConfirmFirst );
-                }
-            else if ( aPtrTag->CompareF( KStrShowProgress ) == 0 )
-                {
-                iPlugin.SetIntAttributeL( aField,
-                                        CMManager::ESeamlessnessShowprogress );
-                }
-            else if ( aPtrTag->CompareF( KStrFullySeamless ) == 0 )
-                {
-                iPlugin.SetIntAttributeL( aField,
-                                        CMManager::ESeamlessnessFullySeamless );
-                }
-            break;
-            }
-            
-        case ECmProtected:
-            {
-            // Protection
-            if ( aPtrTag->CompareF( KStrYes ) == 0 )
-                {
-                iIsProtected = ETrue;
-                }
-            else if ( aPtrTag->CompareF( KStrNo ) != 0 )
-                {
-                CLOG_WRITE( "! Error : Invalid Protected value. Default:No" )
-                }
-            break;
-            }
-            
-        default:
-            {
-            processed = EFalse;
-            }        
-        }
-        
-    return processed;
-    }
-
-// ---------------------------------------------------------
-// CProcessorBase::DoLogL
-// ---------------------------------------------------------
-//
-
-void CProcessorBase::DoLogL()
-    {
-    
-    TInt lastPos = iPluginArray->Count() - 1;
-    
-    CLOG_WRITE( "Internet Access Point created:" )
-    CLOG_WRITE_FORMAT( "\t Connection name: %S ", (*iPluginName)[ lastPos ] );
-    
-    if ( iIsProtected )
-        {
-        CLOG_WRITE( "\t Protected" )
-        }
-    else
-        {
-        CLOG_WRITE( "\t Not protected" )
-        }
-    }
-// ---------------------------------------------------------
-// CProcessorBase::SetAddressFromServerL
-// ---------------------------------------------------------
-//
-
-void CProcessorBase::SetAddressFromServerL( TInt aIPField1, 
-                                           TInt aIPField2, 
-                                           TInt aAddrFromSField,
-                                           TInt aIPField1IP6,
-                                           TInt aIPField2IP6,
-                                           TInt aAddrFromSFieldIP6 )
-    {
-        //calculate and set Ip6AddrFromServer
-        HBufC *pIp1 = NULL;        
-        HBufC *pIp2 = NULL;        
-        pIp1 = iPlugin.GetStringAttributeL( aIPField1IP6 );
-        CleanupStack::PushL( pIp1 );
-        pIp2 = iPlugin.GetStringAttributeL( aIPField2IP6 );
-        CleanupStack::PushL( pIp2 );
-        _LIT( KDynIpv6Address, "0:0:0:0:0:0:0:0" );
-        if ( ( pIp1->Compare( KDynIpv6Address ) == 0 ) &&
-             ( pIp2->Compare( KDynIpv6Address ) == 0 ) )
-            {
-            iPlugin.SetBoolAttributeL( aAddrFromSFieldIP6, ETrue );
-            }
-        else
-            {
-            iPlugin.SetBoolAttributeL( aAddrFromSFieldIP6, EFalse );
-            }
-        CleanupStack::PopAndDestroy( 2,pIp1 );
-
-        //calculate and set AddrFromServer
-        pIp1 = iPlugin.GetStringAttributeL( aIPField1 );
-        CleanupStack::PushL( pIp1 );
-        pIp2 = iPlugin.GetStringAttributeL( aIPField2 );
-        CleanupStack::PushL( pIp2 );    
-        _LIT( KDynIpAddress, "0.0.0.0" );
-        if ( ( pIp1->Compare( KDynIpAddress ) == 0 ) &&
-             ( pIp2->Compare( KDynIpAddress ) == 0 ) )
-            {
-            iPlugin.SetBoolAttributeL( aAddrFromSField, ETrue );
-            }
-        else
-            {
-            iPlugin.SetBoolAttributeL( aAddrFromSField, EFalse );
-            }
-        CleanupStack::PopAndDestroy( 2,pIp1 );        
-    }
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcprocessordn.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,460 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorDN
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcprocessordn.h"
-#include "cdclogger.h"
-#include "cdctagcontainer.h"
-
-using namespace CMManager;
-
-// CONSTANTS
-
-_LIT16( KDefaultDestinationName, "Default destination" );
-//_LIT16( KMetadataUserDefined, "UserDefined" );
-//_LIT16( KMetadataInternet, "Internet" );
-
-// constants for TSnapPurpose
-_LIT16( KPurposeUnknown, "UserDefined" );
-_LIT16( KPurposeInternet, "Internet" );
-_LIT16( KPurposeOperator, "Operator" );
-_LIT16( KPurposeMMS, "MMS" );
-_LIT16( KPurposeIntranet, "Intranet" ); 
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CProcessorDN::NewL
-// ---------------------------------------------------------
-//
-CProcessorDN* CProcessorDN::NewL( CReaderBase* aFileReader,
-                                  RCmManagerExt& aCmManager,
-                                  RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                  RPointerArray< HBufC >& aPluginNames, 
-                                  RPointerArray< RCmDestinationExt >& aDestArray,
-                                  RPointerArray< HBufC >& aDestNames,
-                                  RArray<TBool>& aCmInDest,
-                                  TBool aIsFirstRound )
-    {
-    CProcessorDN* self = new ( ELeave ) CProcessorDN( aFileReader,
-                                                      aCmManager,
-                                                      aPluginArray,
-                                                      aPluginNames,
-                                                      aDestArray,
-                                                      aDestNames,
-                                                      aCmInDest,
-                                                      aIsFirstRound );
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self ); // self
-    return self;
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorDN::~CProcessorDN
-// ---------------------------------------------------------
-//
-CProcessorDN::~CProcessorDN()
-    {
-    iDestination.Close();
-    }
-     
-     
-// ---------------------------------------------------------
-// CProcessorDN::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorDN::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorDN::CProcessorDN
-// ---------------------------------------------------------
-//
-CProcessorDN::CProcessorDN( CReaderBase* aFileReader,
-                            RCmManagerExt& aCmManager,
-                            RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                            RPointerArray< HBufC >& aPluginNames, 
-                            RPointerArray< RCmDestinationExt >& aDestArray,
-                            RPointerArray< HBufC >& aDestNames,
-                            RArray< TBool >& aCmInDest, 
-                            TBool aIsFirstRound ) :
-                                      CProcessorBase( aFileReader,
-                                                      aCmManager,
-                                                      aPluginArray,
-                                                      aPluginNames,
-                                                      aDestArray,
-                                                      aDestNames ),
-                                      iProtectionLevel( EProtLevel0 ),
-                                      iIsFirstRound( aIsFirstRound )
-    {
-    iCmInDest = &aCmInDest;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorDN::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorDN::ProcessTagL( TBool /*aFieldIDPresent*/ )
-    {
-    
-    iDestinationDropped = EFalse;
-    
-    iProtectionLevel = EProtLevel0;
-    
-    if( iIsFirstRound )
-        {
-        TInt dnId = -1;
-        for ( TInt idx(0); idx < TagContainer().Count(); idx++)
-            {
-            if ( TagContainer().FieldId( idx ) == EDN_Id )
-                {
-                HBufC16* ptrTag = TagContainer().Tag(idx);
-                TLex16 lex(ptrTag->Des());
-                TInt err = lex.Val(dnId);
-                if (err != KErrNone)
-                    {
-                    CLOG_WRITE( "The destinaton Id field is bad.");
-                    User::Leave(err);    
-                    }
-                break;
-                }
-            }
-        if (dnId == -1)
-            {
-            iDestination = iCmManager->CreateDestinationL( KDefaultDestinationName );        
-            CLOG_WRITE( "Destinaton created without dnId.");
-            }
-        else
-            {
-            iDestination = iCmManager->CreateDestinationL( KDefaultDestinationName, dnId);        
-            CLOG_WRITE_FORMAT( "Destinaton created. dnId:%d", dnId);
-            }
-        }
-        
-    HBufC *destName( NULL );
-    TInt priority = 0;
-    RPointerArray<HBufC> names;
-    
-    for (TInt idx(0); idx < TagContainer().Count(); idx++)
-        {
-        HBufC16* ptrTag = TagContainer().Tag(idx);
-        TInt field =  TagContainer().FieldId( idx );
-        
-        if( iIsFirstRound && !iDestinationDropped )
-            {
-            switch ( field )
-                {
-                case EDN_Name:
-                    {
-                    // If more destinations exist with same name then one is kept
-                    TRAPD( err, iDestination.SetNameL( *ptrTag ) );
-                    if( KErrAlreadyExists == err )
-                        {
-                        CLOG_WRITE_FORMAT( 
-                        "Error: Destination exist: %S. It is dropped!", ptrTag )
-                        CLOG_WRITE( "\t \r\n" )
-                        iDestinationDropped = ETrue;
-                        }
-                    else
-                        {
-                        destName = ptrTag->AllocLC();    
-                        }
-                    }
-                break;
-                case EDN_Metadata:
-                    {
-                    if( !ptrTag->Compare( KPurposeUnknown ) )
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataPurpose, 
-                                                   ESnapPurposeUnknown );
-                        }
-                    else if( !ptrTag->Compare( KPurposeInternet ) )
-                        {
-                        iDestination.SetMetadataL( 
-                            ESnapMetadataPurpose, 
-                            ESnapPurposeInternet );
-                        }
-                    else if( !ptrTag->Compare( KPurposeOperator ) )
-                        {
-                        iDestination.SetMetadataL( 
-                            ESnapMetadataPurpose, 
-                            ESnapPurposeOperator );
-                        }
-                    else if( !ptrTag->Compare( KPurposeMMS ) )
-                        {
-                        iDestination.SetMetadataL( 
-                            ESnapMetadataPurpose, 
-                            ESnapPurposeMMS );
-                        }
-                    else if( !ptrTag->Compare( KPurposeIntranet ) )
-                        {
-                        iDestination.SetMetadataL( 
-                            ESnapMetadataPurpose, 
-                            ESnapPurposeIntranet );
-                        }
-                    else
-                        {
-                        //no valid data is given - use default value
-                        iDestination.SetMetadataL( ESnapMetadataPurpose, 
-                                                   ESnapPurposeUnknown );
-                        CLOG_WRITE( "! Error : Invalid Metadata. Default:User Defined");
-                        }
-                    }
-                break;
-                case EDN_Protection:
-                    {
-                    TPtrC16 protPtr = ptrTag->Right( ptrTag->Length() );
-                    TLex16 lex( protPtr );
-                    TUint32 prot( 0 );
-                    if ( lex.Val( prot, EDecimal ) == KErrNone )
-                        {
-                        if( prot <= EProtLevel3 ) // prot is unsigned so no need
-                                                  // to check lower boundary
-                            {
-                            iProtectionLevel = TProtectionLevel( prot );
-                            }
-                        else
-                            {
-                            //no valid data is given - use default value
-                            iProtectionLevel = EProtLevel0;
-                            CLOG_WRITE( "! Error : Invalid Protection level. Default:Level0");
-                            }
-                        }
-                    }
-                break;
-                case EDN_Hidden:
-                    {
-                    if( !ptrTag->Compare( KStrYes ) )
-                        {
-                        iDestination.SetHiddenL( ETrue );
-                        }
-                    else if( !ptrTag->Compare( KStrNo ) )
-                        {
-                        iDestination.SetHiddenL( EFalse );
-                        }
-                    else
-                        {
-                        //no valid data is given - use default value
-                        iDestination.SetHiddenL( EFalse );
-                        CLOG_WRITE( "! Error : Invalid Hidden. Default:No");
-                        }
-                    }
-                break;
-                case EDN_HiddenAgent:
-                    {
-                    if( !ptrTag->Compare( KStrYes ) )
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataHiddenAgent, ETrue );
-                        }
-                    else if( !ptrTag->Compare( KStrNo ) )
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataHiddenAgent, EFalse );
-                        }
-                    else
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataHiddenAgent, EFalse );
-                        //no valid data is given - use default value
-                        CLOG_WRITE( "! Error : Invalid HiddenAgent. Default:No");
-                        }
-                    }
-                break;
-                case EDN_Highlighted:
-                    {
-                    if( !ptrTag->Compare( KStrYes ) )
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataHighlight, ETrue );
-                        }
-                    else if( !ptrTag->Compare( KStrNo ) )
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataHighlight, EFalse );
-                        }
-                    else
-                        {
-                        iDestination.SetMetadataL( ESnapMetadataHighlight, EFalse );
-                        //no valid data is given - use default value
-                        CLOG_WRITE( "! Error : Invalid Highlighted. Default:No");
-                        }
-                    }
-                break;
-                } // switch
-            } // if
-         else if( !iIsFirstRound && !iDestinationDropped )
-            {
-            switch ( field )
-                {
-                case EDN_Name:
-                 {
-                 iDest = FindDestinationL( ptrTag );
-                 if( iDest == NULL )
-                     {
-                     CLOG_WRITE_FORMAT( "Error: Destination not found: %S ", ptrTag )
-                     iDestinationDropped = ETrue;
-                     }
-                 else
-                     {
-                     CLOG_WRITE_FORMAT( "\t Destination name: %S ", ptrTag )
-                     }
-                 }
-                break;
-            case EDN_IAPName:
-                   {
-                   TInt pos;
-                   RCmConnectionMethodExt* plugin = FindPluginL( ptrTag, pos );
-                   if( plugin )
-                        {
-                        TRAPD( err, iDest->AddConnectionMethodL( *plugin ) );
-                        // Set the priority according to the order in which the IAPs are in the XML
-                        TRAPD( err2 ,iDest->ModifyPriorityL( *plugin, priority ));
-                        if ( err2 != KErrNone )
-                        	{
-                        	err2 = KErrNone; // to remove the compiler warnings
-                        	}
-                        
-                        iDest->UpdateL();
-                        priority++;
-                        
-                        if( err == KErrNone )
-                            {
-                            CLOG_WRITE_FORMAT( "\t Added connection method: %S ", ptrTag )
-                            (*iCmInDest)[ pos ] = ETrue;
-                            }
-                        else
-                            {
-                            CLOG_WRITE_FORMAT( 
-                            "Warning connection method could not added: %S ", ptrTag )
-                            }
-                        }
-                     else
-                        {
-                        CLOG_WRITE_FORMAT( 
-                        "Warning: plugin could not added: %S ", ptrTag )
-                        }                       
-                   }
-                break;
-            case EDN_EmbeddedDNName:
-                    {
-                    const RCmDestinationExt* embDestination = FindDestinationL( ptrTag );
-                    if( embDestination )
-                        {
-                    
-                        TRAPD( err, iDest->AddEmbeddedDestinationL( *embDestination ) );
-                    
-                        if( err == KErrNone )
-                            {
-                            CLOG_WRITE_FORMAT( "\t Added embedded destination: %S ", ptrTag )
-                            }
-                        else
-                            {
-                            CLOG_WRITE_FORMAT( 
-                            "Warning embedded destination could not added: %S ", ptrTag )
-                            }
-                        }
-                     else
-                        {
-                        CLOG_WRITE_FORMAT( 
-                        "Warning embedded destination could not added: %S ", ptrTag )
-                        }
-                        
-                    }
-                break;
-            default:
-                {
-                break;
-                }
-              } // switch
-                
-            } // if
-            
-        }//for      
-    
-        if( iIsFirstRound && !iDestinationDropped )
-            {
-            RCmDestinationExt* newItem = new (ELeave) 
-            RCmDestinationExt( iDestination );
-    
-            iDest = newItem;
-
-            iDestArray->Append( newItem );
-            iDestName->Append( destName );
-            CleanupStack::Pop( destName );
-            }        
-    }
-     
-     
-// ---------------------------------------------------------
-// CProcessorDN::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorDN::ProcessAPL()
-    {
-    if( !iDestinationDropped )
-        {
-        if( iDest )
-            {
-            if( iIsFirstRound )
-                {
-                iDest->SetProtectionL( iProtectionLevel );
-                }
-            iDest->UpdateL();
-            
-            if( iIsFirstRound )
-                {
-                DoLogL();
-                }
-            else
-                {
-                CLOG_WRITE( "\t \r\n" )
-                }
-            }
-        }
-    }
-    
-
-// ---------------------------------------------------------
-// CProcessorDN::DoLogL
-// ---------------------------------------------------------
-//
-void CProcessorDN::DoLogL()
-    {
-    HBufC16* tmp;
-
-    tmp = iDestination.NameLC();
-
-    // Writes some data of the destination network into the log file.
-    CLOG_WRITE( "Destination Network created:" )
-    CLOG_WRITE_FORMAT( "\t Destination name: %S ", tmp )
-    TUint32 uid = iDest->Id();
-    CLOG_WRITE_FORMAT( "\t Destination ID: %d", uid );
-
-    CLOG_WRITE( "\t \r\n" )
-
-    CleanupStack::PopAndDestroy( tmp ); // Removes tmp.
-    }
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcprocessorglobal.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,735 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorGlobal
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdclogger.h"
-#include "cdcerrors.h"
-#include "cdctagcontainer.h"
-#include "cdccommon.h"
-#include "cmgenconnsettings.h"
-#include "cdcprocessorglobal.h"
-
-#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
-#include <commsdattypesv1_1.h>
-#else
-#include <commsdattypesv1_1.h>
-#include <commsdattypesv1_1_partner.h>
-#endif
-#include <datamobilitycommsdattypes.h>
-#include <metadatabase.h>
-#include <cmmanagerext.h>
-#include <cmmanager.h>
-#include <cmdestinationext.h>
-#include <WlanCdbCols.h>
-#include <wlancontainer.h>
-#include <featmgr.h>
-
-// CONSTANTS
-
-// Global settings record name
-_LIT16( KGlobalSettingsRecordName, "DefaultRecordName-1" );
-
-// Default GPRS record name
-_LIT( KDefaultGPRSRecordName, "Dummy Default GPRS Settings" );
-
-// Modem bearer names for GPRS/WCDMA Access Points
-_LIT( KModemBearerPacketData, "GPRS Modem" );
-
-// LAN bearer names for Wlan Access Points
-_LIT( KLANBearerWlan, "WLANBearer" );
-
-
-// Structure that converts field ids to the corresponding table names
-// and parameter types
-typedef struct
-    {
-    TDbCreatorGlobalSettings iField;
-    const TText* iBearerTableName;
-    TBool iIsUIPriority;
-    } TPriorityConversion;
-
-const TPriorityConversion KPriorityConversionTable[] =
-    {
-        { EPriorityLan, KCDTypeNameLANService, EFalse },
-        { EPriorityWlan, KCDTypeNameWLANServiceExt, EFalse },
-        { EPriorityPan, KCDTypeNamePANServiceExt, EFalse },
-        { EPriorityGprsIn, KCDTypeNameOutgoingWCDMA, EFalse },
-        { EPriorityGprsOut, KCDTypeNameIncomingWCDMA, EFalse },
-        { EPriorityDialOut, KCDTypeNameDialOutISP, EFalse },
-        { EPriorityDialIn, KCDTypeNameDialInISP, EFalse },
-        { EPriorityVpn, KCDTypeNameVPNService, EFalse },
-        { EPriorityMip, KCDTypeNameMIPServiceExt, EFalse },
-        { EUIPriorityLan, KCDTypeNameLANService, ETrue },
-        { EUIPriorityWlan, KCDTypeNameWLANServiceExt, ETrue },
-        { EUIPriorityPan, KCDTypeNamePANServiceExt, ETrue },
-        { EUIPriorityGprsIn, KCDTypeNameOutgoingWCDMA, ETrue },
-        { EUIPriorityGprsOut, KCDTypeNameIncomingWCDMA, ETrue },
-        { EUIPriorityDialOut, KCDTypeNameDialOutISP, ETrue },
-        { EUIPriorityDialIn, KCDTypeNameDialInISP, ETrue },
-        { EUIPriorityVpn, KCDTypeNameVPNService, ETrue },
-        { EUIPriorityMip, KCDTypeNameMIPServiceExt, ETrue },
-        { EUnused, NULL, EFalse }
-    };
-
-
-// Maximum size to be allocated for table names
-const TUint KMaxTableNameSize = 50;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CProcessorGlobal::NewL
-// ---------------------------------------------------------
-//
-CProcessorGlobal* CProcessorGlobal::NewL( 
-                          CReaderBase* aFileReader,
-                          RCmManagerExt& aCmManager,
-                          RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                          RPointerArray< HBufC >& aPluginNames, 
-                          RPointerArray< RCmDestinationExt >& aDestArray,
-                          RPointerArray< HBufC >& aDestNames )
-    {
-    CProcessorGlobal* self = new ( ELeave ) CProcessorGlobal( aFileReader,
-                                                              aCmManager,
-                                                              aPluginArray,
-                                                              aPluginNames,
-                                                              aDestArray,
-                                                              aDestNames );
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::CProcessorGlobal
-// ---------------------------------------------------------
-//
-CProcessorGlobal::CProcessorGlobal( CReaderBase* aFileReader,
-                                    RCmManagerExt& aCmManager,
-                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                    RPointerArray< HBufC >& aPluginNames, 
-                                    RPointerArray< RCmDestinationExt >& aDestArray,
-                                    RPointerArray< HBufC >& aDestNames ) :
-    CProcessorBase( aFileReader, aCmManager, aPluginArray, aPluginNames, aDestArray, aDestNames ),
-    iAttachWhenNeeded ( EFalse )
-    {
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorGlobal::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::ConstructL()
-    {
-    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    
-    iSession->SetAttributeMask( ECDNoWriteButDelete | ECDHidden | ECDProtectedWrite | ECDPrivate ); // Check this
-    
-    // Create General connection settings struct and set the default values
-    iGenConnSettings = new (ELeave) TCmGenConnSettings;
-    iGenConnSettings->iUsageOfWlan = ECmUsageOfWlanKnown;
-    iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageAutomatic;
-    iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageConfirm;
-
-    CLOG_WRITE( "Initialising FeatureManager\n" )   
-    //checks if Wlan feature is supported
-    FeatureManager::InitializeLibL();
-    iIsWlanS = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-    FeatureManager::UnInitializeLib();
-    CLOG_WRITE( "FeatureManager closed\n" ) 
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorGlobal::~CProcessorGlobal
-// ---------------------------------------------------------
-//
-CProcessorGlobal::~CProcessorGlobal()
-    {
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession; 
-        }
-    delete iGenConnSettings;    
-    }
-     
-// ---------------------------------------------------------
-// CProcessorGlobal::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::ProcessTagL( TBool /*aFieldIDPresent*/ )
-    {
-    for (TInt idx(0); idx < TagContainer().Count(); idx++)
-        {  
-        TDbCreatorGlobalSettings fieldId;
-        
-        fieldId = static_cast< TDbCreatorGlobalSettings >
-        ( TagContainer().FieldId( idx ) );
-        
-        HBufC16* ptrTag = TagContainer().Tag(idx);
-        
-        switch( fieldId )
-            {
-            case EGPRSAttachMode:
-                {
-                _LIT( KAttachWhenNeeded, "whenneeded" );
-                _LIT( KAttachWhenAvailable, "whenavailable" );
-                
-                if ( !ptrTag->CompareF( KAttachWhenNeeded ) )
-                    {
-                    iAttachWhenNeeded = ETrue;
-                    }
-                else if ( !ptrTag->CompareF( KAttachWhenAvailable ) )
-                    {
-                    iAttachWhenNeeded = EFalse;
-                    }
-                else 
-                    {
-                    iAttachWhenNeeded = EFalse;
-                    CLOG_WRITE( "! Error : invalid attach mode. Default:whenavailable" );
-                    }
-
-                break;
-                }
-                
-            case EDefaultAP:
-                {
-                CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
-                CleanupStack::PushL( db );
-                
-                CCDDefaultWCDMARecord* defaultGPRS = static_cast< CCDDefaultWCDMARecord* >
-                        ( CCDRecordBase::RecordFactoryL( KCDTIdDefaultWCDMARecord ) );
-                
-                CleanupStack::PushL( defaultGPRS );
-                
-                defaultGPRS->iRecordName.SetL( KDefaultGPRSRecordName );
-                
-                defaultGPRS->FindL( *db );			    
-                
-                defaultGPRS->iAPN.SetL( *ptrTag );
-                
-                defaultGPRS->ModifyL( *db );				    				    				   
-                
-                CleanupStack::PopAndDestroy( defaultGPRS );
-                
-                db->Close();			    			    
-                CleanupStack::PopAndDestroy( db );
-                break;
-                }
-                
-            case EDefaultDnIcon:
-                {
-                // Convert default icon to int
-                TPtrC16 iconPtr = ptrTag->Right( ptrTag->Length() );
-                TLex16 lex( iconPtr );
-                TUint32 icon( 0 );
-                if ( lex.Val( icon, EDecimal ) == KErrNone )
-                    {
-                    // If there was no error, write default entry to SNAP
-                    // Metadata table.
-                    // First load SNAP table to get table id
-                    CMDBGenericRecord* snapTable = static_cast< CMDBGenericRecord* >
-                            ( CCDRecordBase::RecordFactoryL( 0 ) );
-                    CleanupStack::PushL( snapTable );      
-                    snapTable->InitializeL( TPtrC( KCDTypeNameSNAPMetadata ),
-                            NULL );
-                    snapTable->LoadL( *iSession );
-                    // Then add default record to table
-                    CCDSNAPMetadataRecord* defaultRecord = new( ELeave )
-                            CCDSNAPMetadataRecord( snapTable->TableId() );
-                    CleanupStack::PushL( defaultRecord );
-                    defaultRecord->SetRecordId( KCDNewRecordRequest );
-                    defaultRecord->iMetadata.SetL( 0 );
-                    defaultRecord->iIcon.SetL( icon );
-                    defaultRecord->StoreL( *iSession );
-                    
-                    CleanupStack::PopAndDestroy( defaultRecord ); // defaultRecord
-                    CleanupStack::PopAndDestroy( snapTable ); // snapTable
-                    }
-                break;
-                }
-                
-            case EPriorityLan:
-            case EPriorityWlan:
-            case EPriorityPan:
-            case EPriorityGprsIn:
-            case EPriorityGprsOut:
-            case EPriorityDialOut:
-            case EPriorityDialIn:
-            case EPriorityVpn:
-            case EPriorityMip:
-            case EUIPriorityLan:
-            case EUIPriorityWlan:
-            case EUIPriorityPan:
-            case EUIPriorityGprsIn:
-            case EUIPriorityGprsOut:
-            case EUIPriorityDialOut:
-            case EUIPriorityDialIn:
-            case EUIPriorityVpn:
-            case EUIPriorityMip:
-                {
-                // Convert priority to int
-                TPtrC16 prioPtr = ptrTag->Right( ptrTag->Length() );
-                TLex16 lex( prioPtr );
-                TUint32 prio( 0 );
-                if ( lex.Val( prio, EDecimal ) == KErrNone )
-                    {
-                    UpdateGlobalBearerArrayL( fieldId, prio );
-                    }
-                break;
-                }
-                
-            case EGprsLastSocketActivityTimeout:
-            case EGprsLastSessionClosedTimeout:
-            case EGprsLastSocketClosedTimeout:		
-                {            				    
-                // Load modem bearer record
-                CCDModemBearerRecord* bearerRecord = static_cast< CCDModemBearerRecord * >
-                ( CCDRecordBase::RecordFactoryL( KCDTIdModemBearerRecord ) );
-                CleanupStack::PushL( bearerRecord );
-                
-                if( fieldId == EGprsLastSocketActivityTimeout
-                        || fieldId == EGprsLastSessionClosedTimeout
-                        || fieldId == EGprsLastSocketClosedTimeout )
-                    {
-                    // Open the record "Gprs Modem"
-                    bearerRecord->iRecordName.SetL( KModemBearerPacketData );	
-                    }				
-                
-                bearerRecord->FindL( *iSession ); // CHECK: Leaves if record not found				
-                
-                // Convert input parameter
-                TLex lex( *ptrTag );
-                
-                TInt timeout( 0 );
-                
-                // If there are parameters that cannot be handled just leave. In that case the CommsDat creation
-                // fails and default is used instead. So it is easier for the variant engineer to detect
-                // that something went wrong.
-                if ( lex.Val( timeout ) != KErrNone)
-                    {
-                    CLOG_WRITE( "! Error : invalid NIF parameter for GPRS (socket/session timeout)" );					
-                    User::Leave( KErrArgument );
-                    }
-                
-                // Set the parameter	
-                if( fieldId == EGprsLastSocketActivityTimeout )
-                    {
-                    bearerRecord->iLastSocketActivityTimeout.SetL( timeout );
-                    }
-                else if( fieldId == EGprsLastSessionClosedTimeout )
-                    {
-                    bearerRecord->iLastSessionClosedTimeout.SetL( timeout );
-                    }
-                else
-                    {
-                    bearerRecord->iLastSocketClosedTimeout.SetL( timeout );
-                    }
-                
-                bearerRecord->ModifyL( *iSession );
-                
-                CleanupStack::PopAndDestroy( bearerRecord );
-                
-                break;
-                }
-                
-            case EWlanLastSocketActivityTimeout:
-            case EWlanLastSessionClosedTimeout:
-            case EWlanLastSocketClosedTimeout:            
-                {
-                if( iIsWlanS )
-                    {
-                    // Load LAN bearer record
-                    CCDLANBearerRecord* bearerRecord = static_cast< CCDLANBearerRecord * >
-                    ( CCDRecordBase::RecordFactoryL( KCDTIdLANBearerRecord ) );
-                    CleanupStack::PushL( bearerRecord );
-                    
-                    // Open the record "WlanBearer"
-                    bearerRecord->iRecordName.SetL( KLANBearerWlan );	
-                    
-                    User::LeaveIfError( bearerRecord->FindL( *iSession ) );
-                    
-                    // Convert the input paramater to UINT
-                    TLex lex( *ptrTag );
-                    
-                    TInt timeout( 0 );
-                    
-                    // If there are parameters that cannot be handled just leave. In that case the CommsDat creation
-                    // fails and default is used instead. So it is easier for the variant engineer to detect
-                    // that something went wrong.
-                    if ( lex.Val( timeout ) != KErrNone)
-                        {
-                        CLOG_WRITE( "! Error : invalid NIF parameter for WLAN (socket/session timeout)" );					
-                        User::Leave( KErrArgument );
-                        }
-                    
-                    
-                    // Set the paramter
-                    if( fieldId == EWlanLastSocketActivityTimeout )
-                        {				
-                        bearerRecord->iLastSocketActivityTimeout.SetL( timeout );
-                        }
-                    else if( fieldId == EWlanLastSessionClosedTimeout)
-                        {					
-                        bearerRecord->iLastSessionClosedTimeout.SetL( timeout );
-                        }
-                    else
-                        {					
-                        bearerRecord->iLastSocketClosedTimeout.SetL( timeout );
-                        }
-                    
-                    bearerRecord->ModifyL( *iSession );				
-                    CleanupStack::PopAndDestroy( bearerRecord );
-                    }
-                break;
-                }
-                
-            case EWlanBGScanInterval:
-            case EWlanUseDefSettings:
-            case EWlanLongRetry:
-            case EWlanShortRetry:
-            case EWlanRTS:
-            case EWlanTxPowerLevel:
-            case EWlanRadioMeasurements:
-            case EWlanPowerMode:
-                {
-                if( iIsWlanS )
-                    {
-                    // Save the same value both to default and user settings records
-                    TInt err;
-                    TRAP( err, SaveGlobalWlanParameterL( KWlanDefaultSettings, fieldId, ptrTag ) );
-                    if( err != KErrNone )
-                        {
-                        CLOG_WRITE( "! Error : Could not save global WLAN parameter. Incorrect input?" );
-                        User::Leave( err  );
-                        }
-                    TRAP( err, SaveGlobalWlanParameterL( KWlanUserSettings, fieldId, ptrTag ) );
-                    if( err != KErrNone )
-                        {
-                        CLOG_WRITE( "! Error : Could not save global WLAN parameter. Incorrect input?" );
-                        User::Leave( err );
-                        }
-                    }
-                break;
-                }
-                
-            case EUsageOfWlan:
-                {
-                SetGenConnSettingWlanUsage( ptrTag );
-                break;
-                }
-                
-            case ECellularDataUsageHome:
-                {
-                SetGenConnSettingCellularDataUsageHome( ptrTag );
-                break;
-                }
-                
-            case ECellularDataUsageVisitor:
-                {
-                SetGenConnSettingCellularDataUsageVisitor( ptrTag );
-                break;
-                }
-                
-            default:
-                break;
-            }
-        }
-    
-    if( iBearerArrayChanged )
-        {
-        
-        CLOG_WRITE( "UpdateBearerPriorityArrayL\n" )
-        
-        iCmManager->UpdateBearerPriorityArrayL( iBearerArray );
-        iCmManager->CleanupGlobalPriorityArray( iBearerArray );
-        
-        iBearerArray.Close();
-        
-        CLOG_WRITE( "UpdateBearerPriorityArrayL end\n" )
-        }
-    
-    // General Connection settings are always set
-    SetGenConnSettingsL();
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::ProcessAPL()
-    {
-    CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    CleanupStack::PushL( db );
-                    
-    CLOG_WRITE( "Global settings\n" )
-    CLOG_WRITE( "---------------\n" )
-        
-    CCDGlobalSettingsRecord* globalSettings = static_cast< CCDGlobalSettingsRecord* >
-                        ( CCDRecordBase::RecordFactoryL( KCDTIdGlobalSettingsRecord ) );
-                        
-	CleanupStack::PushL( globalSettings );
-                        
-    globalSettings->iRecordName.SetL( KGlobalSettingsRecordName );
-
-    if( globalSettings->FindL( *db ) )
-        {
-        //Gprs attach mode
-        if ( iAttachWhenNeeded )
-            {
-            CLOG_WRITE( "GPRS attach mode : attach when needed\n" )
-            globalSettings->iGPRSAttachMode = RPacketService::EAttachWhenNeeded;
-            }
-        else
-            {
-            CLOG_WRITE( "GPRS attach mode : attach when available\n" )
-            globalSettings->iGPRSAttachMode = RPacketService::EAttachWhenPossible;
-            }
-        }
-        
-    globalSettings->ModifyL( *db );
-    
-    CleanupStack::PopAndDestroy( globalSettings );    
-    db->Close();
-    CleanupStack::PopAndDestroy( db ); // db
-    }
-    
-
-// ---------------------------------------------------------
-// CProcessorGlobal::UpdateGlobalBearerArrayL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::UpdateGlobalBearerArrayL
-                            ( TDbCreatorGlobalSettings aField, TUint32 aPrio )
-    {
-    TUint itemIndex( 0 );
-    
-    // Look up field from conversion table
-    while( EUnused != KPriorityConversionTable[ itemIndex ].iField )
-        {
-        if( KPriorityConversionTable[ itemIndex ].iField == aField)
-            {
-            break;
-            }
-        ++itemIndex;
-        }
-        
-    // If found
-    if( EUnused != KPriorityConversionTable[ itemIndex ].iField )
-        {
-        if( !iBearerArrayChanged )
-            {
-            iCmManager->BearerPriorityArrayL( iBearerArray );
-            iBearerArrayChanged = ETrue;
-            }
-        
-        
-        HBufC* tableName = HBufC::NewLC( KMaxTableNameSize );
-        *tableName = TPtrC( KPriorityConversionTable[ itemIndex ]
-                                                        .iBearerTableName );
-        TBool foundBearer( EFalse );
-        
-        // Find the appropriate bearer type
-        for( TInt i( 0 ); i < iBearerArray.Count(); ++i )
-            {
-            if( !( ( iBearerArray )[ i ].iServiceType->Compare( *tableName ) ) )
-                {
-                if( KPriorityConversionTable[ itemIndex ].iIsUIPriority )
-                    {
-                    ( iBearerArray )[ i ].iUIPriority = aPrio;
-                    }
-                else
-                    {
-                    ( iBearerArray )[ i ].iPriority = aPrio;
-                    }
-                foundBearer = ETrue;
-                break;
-                }
-            }
-        
-        // If bearer was not found, add it to the table
-        if( !foundBearer )
-            {
-            TBearerPriority newBearer;
-            newBearer.iServiceType = tableName;
-            if( KPriorityConversionTable[ itemIndex ].iIsUIPriority )
-                {
-                newBearer.iUIPriority = aPrio;
-                }
-            else
-                {
-                newBearer.iPriority = aPrio;
-                }
-            iBearerArray.Append( newBearer );
-            }
-
-        CleanupStack::PopAndDestroy( tableName ); // tableName 
-        }
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingWlanUsage
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingWlanUsage( HBufC16* aPtrTag )
-    {
-    // This parameter should't be set at all if WLAN isn't supported.
-    // However, CMM should take care of this in WriteGenConnSettingsL().
-    if ( aPtrTag->CompareF( KStrManual ) == 0 ) 
-        {
-        iGenConnSettings->iUsageOfWlan = ECmUsageOfWlanManual;
-        }
-    // else: Default value for the string is: "Known", set in ConstructL()
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingCellularDataUsageHome
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingCellularDataUsageHome( HBufC16* aPtrTag )
-    {
-    if ( aPtrTag->CompareF( KStrAutomatic ) == 0 ) 
-        {
-        iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageAutomatic;
-        }
-    else if ( iIsWlanS && aPtrTag->CompareF( KStrWlanOnly ) == 0 ) 
-        {
-        // This value can't be set if WLAN isn't supported
-        iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageDisabled;
-        }
-    // else: Default value for the string is: "Confirm", set in ConstructL()
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingCellularDataUsageVisitor
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingCellularDataUsageVisitor( HBufC16* aPtrTag )
-    {
-    if ( aPtrTag->CompareF( KStrAutomatic ) == 0 ) 
-        {
-        iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageAutomatic;
-        }
-    else if ( iIsWlanS && aPtrTag->CompareF( KStrWlanOnly ) == 0 ) 
-        {
-        // This value can't be set if WLAN isn't supported
-        iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageDisabled;
-        }
-    // else: Default value for the string is: "Confirm", set in ConstructL()
-    }
-
-// ---------------------------------------------------------
-// CProcessorGlobal::SetGenConnSettingsL
-// ---------------------------------------------------------
-//
-void CProcessorGlobal::SetGenConnSettingsL()
-    {
-    RCmManager cmManager;
-    cmManager.CreateTablesAndOpenL();
-    CleanupClosePushL( cmManager );
-    cmManager.WriteGenConnSettingsL( *iGenConnSettings );
-    CleanupStack::PopAndDestroy( &cmManager );
-    }
-
-//-----------------------------------------------------------------------------
-//  CProcessorGlobal::SaveGlobalWlanParameterL()
-//-----------------------------------------------------------------------------
-//
-void CProcessorGlobal::SaveGlobalWlanParameterL( const TUint32 aTableType, const TDbCreatorGlobalSettings aField, const HBufC16* const aValue )
-	{	
-		// Initialize the record
-		CMDBGenericRecord* deviceSettingsTable = static_cast< CMDBGenericRecord* >
-                ( CCDRecordBase::RecordFactoryL( 0 ) );
-                
-	    CleanupStack::PushL( deviceSettingsTable );
-	    
-	    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
-	    			   			    
-	    deviceSettingsTable->LoadL( *iSession );
-	    
-	    // Open the record that matches aTableType (either default or user settings table)
-	    
-	    CMDBField<TUint32>* settingsTypeField = (CMDBField<TUint32>*)deviceSettingsTable->GetFieldByIdL(KCDTIdWlanDeviceSettingsType);
-	    
-	   	settingsTypeField->SetL( aTableType );
-	    			   			    
-	    deviceSettingsTable->FindL( *iSession );
-	    
-	    // Convert the input parameter to integer
-    	TLex lex( *aValue );
-		
-    	TInt value( 0 );
-        User::LeaveIfError( lex.Val( value ) );
-        
-		// Set the paramter value
-	    
-	    if ( aField == EWlanBGScanInterval )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdBgScanInterval );
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanUseDefSettings )
-	    	{
-	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdUseDefaultSettings );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanLongRetry )
-	    	{
-			CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanLongRetry );				    	
-			field->SetL( value );
-	    	}
-	    else if ( aField == EWlanShortRetry )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanShortRetry );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanRTS )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanRTSThreshold );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanTxPowerLevel )
-	    	{
-	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdTxPowerLevel );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanRadioMeasurements )
-	    	{
-	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdAllowRadioMeasurements );	
-	    	field->SetL( value );
-	    	}
-	    else if ( aField == EWlanPowerMode )
-	    	{
-	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanPowerMode );	
-	    	field->SetL( value );
-	    	}			    			    			      			
-
-		deviceSettingsTable->ModifyL( *iSession );
-				
-		CleanupStack::PopAndDestroy( deviceSettingsTable );				
-	}
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcprocessorlan.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorLan
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcprocessorlan.h"
-#include "cdclogger.h"
-#include "cdctagcontainer.h"
-
-#include <cmpluginlandef.h>
-#include <cmpluginlanbasedef.h>
-#include <cmpluginbaseeng.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
-#include <datamobilitycommsdattypes.h>
-
-using namespace CMManager;
-
-// CONSTANTS
-
-const TUint32 KDefaultPortNum = 80;
-
-// These constants are used to identify tags of iInFile.
-
-//Connection type
-_LIT16( KStrContinuous,      "Continuous" );
-_LIT16( KStrTemporary,       "Temporary" );
-
-_LIT16( KStrTrue,               "True" );
-_LIT16( KStrFalse,              "False" );
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CProcessorLan::NewL
-// ---------------------------------------------------------
-//
-CProcessorLan* CProcessorLan::NewL( CReaderBase* aFileReader,
-                      RCmManagerExt& aCmManager,
-                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                      RPointerArray< HBufC >& aPluginNames )
-    {
-    CProcessorLan* self = new ( ELeave ) CProcessorLan( aFileReader,
-                                                        aCmManager,
-                                                        aPluginArray,
-                                                        aPluginNames );
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self ); // self
-    return self;
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorLan::~CProcessorLan
-// ---------------------------------------------------------
-//
-CProcessorLan::~CProcessorLan()
-    {
-    }
-     
-     
-// ---------------------------------------------------------
-// CProcessorLan::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorLan::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorLan::CProcessorLan
-// ---------------------------------------------------------
-//
-CProcessorLan::CProcessorLan( CReaderBase* aFileReader,
-                      RCmManagerExt& aCmManager,
-                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                      RPointerArray< HBufC >& aPluginNames) :
-                              CProcessorBase( aFileReader,
-                                              aCmManager,
-                                              aPluginArray,
-                                              aPluginNames )
-    {
-    iBearerType = KUidLanBearerType;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorLan::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorLan::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
-    {
-    switch ( aField )
-        {
-        case ECmWapIPGatewayAddress:
-            {
-             // Unicode 16-bit text
-            if ( aPtrTag->Length() )
-                {
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                }
-
-            break;
-            }
-        case ECmWapIPSecurity:
-            {
-             // TBool                
-            if ( !aPtrTag->CompareF( KStrOn ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else if ( !aPtrTag->CompareF( KStrOff ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else
-                {
-                //no valid data is given - default data is used
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                CLOG_WRITE( "! Error : Invalid WTLS security setting. Default:On");
-                }
-
-            break;
-            }
-        case ELanIpAddrFromServer:
-        case ELanIpDNSAddrFromServer:
-            {
-             // TBool                
-            if ( !aPtrTag->CompareF( KStrTrue ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else if ( !aPtrTag->CompareF( KStrFalse ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else
-                {
-                //no valid data is given - default data is used
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                CLOG_WRITE( "! Error : Invalid LAN server setting. Default:On");
-                }
-            break;
-            }
-        case ECmWapIPWSPOption:
-            {
-            // UInt                
-            if ( !aPtrTag->CompareF( KStrContinuous ) )
-                {
-                iPlugin.SetIntAttributeL( aField, 
-                                  EWapWspOptionConnectionOriented );
-                }
-            else if ( !aPtrTag->CompareF( KStrTemporary ) )
-                {
-                iPlugin.SetIntAttributeL( aField, 
-                                  EWapWspOptionConnectionless );
-                }
-            else
-                {
-                //no valid data is given - default data is used
-                iPlugin.SetIntAttributeL( aField, 
-                                  EWapWspOptionConnectionOriented );
-                CLOG_WRITE( "! Error : Invalid connection type. Default:Continuous");
-                }
-
-            break;
-            }
-        case ECmProxyProtocolName:
-        	{
-        	// Do not enable proxy in this case yet
-        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
-        	break;
-        	}
-            
-        case ECmProxyServerName:
-            {
-            // First set proxy usage to enabled
-            if( !iProxyEnabled )
-                {
-                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                iProxyEnabled = ETrue;
-                }
-            // Long text
-            iPlugin.SetStringAttributeL( aField, *aPtrTag );
-            break;
-            }
-        case ECmProxyPortNumber:
-            {
-            // First set proxy usage to enabled
-            if( !iProxyEnabled )
-                {
-                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                iProxyEnabled = ETrue;
-                }
-             // TUint32 and should be read as text.
-            TPtrC16 portptr = aPtrTag->Right( aPtrTag->Length() );
-            TLex16 lex( portptr );
-            TUint32 portnum( 0 );
-            if ( lex.Val( portnum, EDecimal ) == KErrNone )
-                {
-                iPlugin.SetIntAttributeL( aField, portnum );
-                }
-            else 
-                {
-                //no valid data is given - default value is used
-                iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
-                CLOG_WRITE( "! Error : Invalid port number. Default:80");  
-                }
-            break;
-            }
-        case ELanIfNetworks:
-        case ELanIpNetMask:
-        case ELanIpGateway:
-        case ELanIpAddr:
-        case ELanConfigDaemonManagerName:
-        case ELanConfigDaemonName:
-            {
-            iPlugin.SetStringAttributeL( aField, *aPtrTag );
-            break;
-            }
-        case ELanIpNameServer1:
-        case ELanIpNameServer2:
-        case ELanIp6NameServer1:
-        case ELanIp6NameServer2:
-            {
-            iPlugin.SetStringAttributeL( aField, *aPtrTag );
-            SetAddressFromServerL( ELanIpNameServer1,
-                                  ELanIpNameServer2,
-                                  ELanIpDNSAddrFromServer,
-                                  ELanIp6NameServer1,
-                                  ELanIp6NameServer2,
-                                  ELanIp6DNSAddrFromServer );    
-            break;
-            }
-        default:
-            {
-            break;
-            }
-        }//switch
-    }
-     
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcprocessorpacketdata.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,473 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorPacketData
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcprocessorpacketdata.h"
-#include "cdclogger.h"
-#include "cdctagcontainer.h"
-
-#include <etelpckt.h>
-#include <cmpluginpacketdatadef.h>
-#include <cmpluginbaseeng.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
-#include <datamobilitycommsdattypes.h>
-
-#include <centralrepository.h>
-#include <pdpcontextmanagerinternalcrkeys.h>
-
-using namespace CMManager;
-
-// CONSTANTS
-
-const TUint32 KDefaultPortNum = 80;
-const TInt32 KDefaultLinger = 0;
-const TUint KIapColumn        = 0x00000100;
-const TUint KLingerColumn     = 0x00000200;
-const TUint KColumnMask       = 0xFFFFFF00;
-const TUint KRowMask          = 0x000000FF;
-
-// These constants are used to identify tags of iInFile.
-
-//ISP types
-_LIT16( KStrISPInternet,      "0" );
-_LIT16( KStrISPWAP,      "1" );
-
-//Connection type
-_LIT16( KStrContinuous,      "Continuous" );
-_LIT16( KStrTemporary,       "Temporary" );
-
-//Password authentication
-_LIT16( KStrPwdAuthNormal,   "Normal" );
-_LIT16( KStrPwdAuthSecure,   "Secure" );
-
-//Network types
-_LIT16( KStrNetworkIPv4,     "IPv4" );
-_LIT16( KStrNetworkIPv6,     "IPv6" );
-
-
-// ================= MEMBER FUNCTIONS =======================
-CLingerElement::~CLingerElement()
-    {
-    delete iName;
-    delete iLinger;
-    }
-// ---------------------------------------------------------
-// CProcessorPacketData::NewL
-// ---------------------------------------------------------
-//
-CProcessorPacketData* CProcessorPacketData::NewL( 
-                                CReaderBase* aFileReader,
-                                RCmManagerExt& aCmManager,
-                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                RPointerArray< HBufC >& aPluginNames,
-                                RPointerArray< CLingerElement >& aLingerSettings)
-    {
-    CProcessorPacketData* self = new ( ELeave ) CProcessorPacketData
-                                                            ( aFileReader,
-                                                              aCmManager,
-                                                              aPluginArray,
-                                                              aPluginNames,
-                                                              aLingerSettings);
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self ); // self
-    return self;
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorPacketData::~CProcessorPacketData
-// ---------------------------------------------------------
-//
-CProcessorPacketData::~CProcessorPacketData()
-    {
-    }
-     
-     
-// ---------------------------------------------------------
-// CProcessorPacketData::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorPacketData::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorPacketData::CProcessorPacketData
-// ---------------------------------------------------------
-//
-CProcessorPacketData::CProcessorPacketData( CReaderBase* aFileReader,
-                      RCmManagerExt& aCmManager,
-                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                      RPointerArray< HBufC >& aPluginNames,
-                      RPointerArray< CLingerElement >& aLingerSettings ) :
-                                      CProcessorBase( aFileReader,
-                                                      aCmManager,
-                                                      aPluginArray,
-                                                      aPluginNames )
-                                      
-    {
-    iLingerSettings = &aLingerSettings;
-    iBearerType = KUidPacketDataBearerType;
-    }
-
-// ---------------------------------------------------------
-// CProcessorPacketData::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorPacketData::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
-    {
-
-    switch ( aField )
-        {
-        case EPacketDataAPName:               //fall through
-        case EPacketDataIFAuthName:           //fall through
-        case EPacketDataIFAuthPass:           //fall through
-        case EPacketDataIPAddr:               //fall through
-            {
-             // Unicode 16-bit text
-            iPlugin.SetStringAttributeL( aField, *aPtrTag );
-
-            break;
-            }
-        case EPacketDataIPNameServer1:        //fall through
-        case EPacketDataIPNameServer2:        //fall through
-        case EPacketDataIPIP6NameServer1:     //fall through
-        case EPacketDataIPIP6NameServer2:     //fall through
-            {
-            iPlugin.SetStringAttributeL( aField, *aPtrTag );
-            SetAddressFromServerL( EPacketDataIPNameServer1,
-                                  EPacketDataIPNameServer2,
-                                  EPacketDataIPDNSAddrFromServer,
-                                  EPacketDataIPIP6NameServer1,
-                                  EPacketDataIPIP6NameServer2,
-                                  EPacketDataIPIP6DNSAddrFromServer );    
-            break;
-            }
-        case ECmWapIPGatewayAddress:
-            {
-             // Unicode 16-bit text
-            if ( aPtrTag->Length() )
-                {
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                }
-
-            break;
-            }
-        case EPacketDataIFPromptForAuth:
-            {
-            // Boolean
-            if ( !aPtrTag->CompareF( KStrYes ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else if ( !aPtrTag->CompareF( KStrNo ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else
-                {
-                //no valid data is given - use default value
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                CLOG_WRITE( "! Error : Invalid Prompt password. Default:No");
-                }
-
-            break;
-            }
-        case EPacketDataUseEdge:
-            {
-            // Boolean
-            if ( !aPtrTag->CompareF( KStrYes ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else if ( !aPtrTag->CompareF( KStrNo ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else
-                {
-                //no valid data is given - use default value
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                CLOG_WRITE( "! Error : Invalid Use EDGE. Default:Yes");
-                }
-
-            break;
-            }
-        case EPacketDataLinger:
-            {
-            // Pair linger with name for later saving
-            CLingerElement* linger = new (ELeave) CLingerElement;
-
-            CleanupStack::PushL( linger );
-                    
-            linger->iName = iName->AllocL();
-            linger->iLinger = aPtrTag->AllocL(); 
-                                            
-            iLingerSettings->AppendL(linger);
-                    
-            CleanupStack::Pop( linger );
-            break;
-            }
-        case ECmWapIPSecurity:
-            {
-             // TBool                
-            if ( !aPtrTag->CompareF( KStrOn ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else if ( !aPtrTag->CompareF( KStrOff ) )
-                {
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else
-                {
-                //no valid data is given - default data is used
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                CLOG_WRITE( "! Error : Invalid WTLS security setting. Default:On");
-                }
-
-            break;
-            }
-        case ECmWapIPWSPOption:
-            {
-            // UInt                
-            if ( !aPtrTag->CompareF( KStrContinuous ) )
-                {
-                iPlugin.SetIntAttributeL( aField, 
-                                  EWapWspOptionConnectionOriented );
-                }
-            else if ( !aPtrTag->CompareF( KStrTemporary ) )
-                {
-                iPlugin.SetIntAttributeL( aField, 
-                                  EWapWspOptionConnectionless );
-                }
-            else
-                {
-                //no valid data is given - default data is used
-                iPlugin.SetIntAttributeL( aField, 
-                                  EWapWspOptionConnectionOriented );
-                CLOG_WRITE( "! Error : Invalid connection type. Default:Continuous");
-                }
-
-            break;
-            }
-            
-        case ECmProxyProtocolName:
-        	{
-        	// Do not enable proxy in this case yet
-        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
-        	break;
-        	}
-                         
-        case ECmProxyServerName:    
-            {
-            // First set proxy usage to enabled
-            if( !iProxyEnabled )
-                {
-                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                iProxyEnabled = ETrue;
-                }
-            // Long text
-            iPlugin.SetStringAttributeL( aField, *aPtrTag );
-            break;
-            }
-        case ECmProxyPortNumber:
-            {
-            // First set proxy usage to enabled
-            if( !iProxyEnabled )
-                {
-                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                iProxyEnabled = ETrue;
-                }
-             // TUint32 and should be read as text.
-            TPtrC16 portptr = aPtrTag->Right( aPtrTag->Length() );
-            TLex16 lex( portptr );
-            TUint32 portnum( 0 );
-            if ( lex.Val( portnum, EDecimal ) == KErrNone )
-                {
-                iPlugin.SetIntAttributeL( aField, portnum );
-                }
-            else 
-                {
-                //no valid data is given - default value is used
-                iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
-                CLOG_WRITE( "! Error : Invalid port number. Default:80");  
-                }
-            break;
-            }
-        case EPacketDataDisablePlainTextAuth:
-            {
-             // TBool                
-            if ( !aPtrTag->CompareF( KStrPwdAuthNormal ) )
-                {
-                // Normal, => auth. not secure, plain text NOT disabled
-                iPlugin.SetBoolAttributeL( aField, EFalse );
-                }
-            else if ( !aPtrTag->CompareF( KStrPwdAuthSecure ) )
-                {
-                // Secure, => auth. secure, plain text disabled
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            else
-                {
-                //no valid data is given - default value is used
-                CLOG_WRITE( "! Error : Invalid password authentication. Default:Secure ");  
-                iPlugin.SetBoolAttributeL( aField, ETrue );
-                }
-            break;
-            }
-        case EPacketDataPDPType:
-            {
-            if ( !aPtrTag->CompareF( KStrNetworkIPv4 ) )
-                {
-                iPlugin.SetIntAttributeL( aField, RPacketContext::EPdpTypeIPv4 );
-                }
-            else if ( !aPtrTag->CompareF( KStrNetworkIPv6 ) )
-                {
-                iPlugin.SetIntAttributeL( aField, RPacketContext::EPdpTypeIPv6 );
-                }
-            else
-                {
-                iPlugin.SetIntAttributeL( aField, RPacketContext::EPdpTypeIPv4 );
-                CLOG_WRITE( "! Error : Invalid Network type. Default:IPv4" )
-                }
-            break;
-            }
-        case EPacketDataApType:
-        		{
-        		if ( !aPtrTag->CompareF( KStrISPInternet ) )
-            		{
-            		iPlugin.SetIntAttributeL( aField, 0 );              
-                }
-            else if ( !aPtrTag->CompareF( KStrISPWAP ) )
-                {
-                iPlugin.SetIntAttributeL( aField, 1 );                              
-            		}
-            else
-               	{
-               	iPlugin.SetIntAttributeL( aField, 2 );
-                }  
-        		break;
-        	}
-        default:
-            {
-            break;
-            }
-        }//switch
-    }
-
-// ---------------------------------------------------------
-// CProcessorPacketData::AddLingerL
-// ---------------------------------------------------------
-//
-void CProcessorPacketData::AddLingerL( const TInt aIapId, const TInt aLingerInterval)
-    {
-    TInt    err( KErrNone );
-    
-    // Open repository
-    CRepository* repository = CRepository::NewLC( KCRUidPDPContextManager );
-    
-    // Find if an entry for "iapId" already exists in CentRep 
-    RArray< TUint32 > foundKeys;
-    foundKeys.Reset();
-    
-    err = repository->FindEqL( KIapColumn,       // partial key
-                               KColumnMask,      // key mask
-                               aIapId,           // value
-                               foundKeys );      // found keys
-    
-    if ( err == KErrNone || err == KErrNotFound )
-        {
-        if ( foundKeys.Count() == 0 )
-            {
-            // Add a new entry
-            TInt arrayCount( 0 );
-            
-            // Get number of iapId&linger entries in Centrep
-            err = repository->Get( KPdpContextManagerLingerArrayCount, 
-                                   arrayCount );
-        
-            if ( err == KErrNone )
-                {
-                arrayCount++;
-                
-                err = repository->Create( ( KIapColumn | arrayCount ), aIapId ); 
-                
-                if ( err == KErrNone )
-                    {
-                    err = repository->Create( ( KLingerColumn | arrayCount ), 
-                                               aLingerInterval );     
-                    }
-                
-                if ( err == KErrNone )
-                    {
-                    // Update number of iapId&linger entries in Centrep
-                    err = repository->Set( KPdpContextManagerLingerArrayCount, 
-                                           arrayCount );
-                    }
-                }
-            }
-        else
-            {
-            // Update existing entry on current row
-            TInt32 row = foundKeys[ 0 ] & KRowMask;
-            
-            err = repository->Set( ( KLingerColumn | row ), aLingerInterval ); 
-            }         
-        }
-        
-    foundKeys.Close();
-    CleanupStack::PopAndDestroy( repository );
-    
-    User::LeaveIfError( err );
-    }
-
-// ---------------------------------------------------------
-// CProcessorPacketData::SaveLingerSettingsL
-// ---------------------------------------------------------
-//
-void CProcessorPacketData::SaveLingerSettingsL()
-    {
-    for ( TInt i(0); i < iLingerSettings->Count(); i++ )
-        {
-        TInt id = GetPluginIdL(((*iLingerSettings)[i])->iName);
-        
-        TLex16 lex(*((*iLingerSettings)[i])->iLinger);
-        TInt linger( 0 );
-        if ( lex.Val( linger ) == KErrNone )         
-            {
-            AddLingerL( id, linger);
-            }
-            else 
-            {
-            // no valid data is given - default value is used
-            AddLingerL( id, KDefaultLinger); 
-            }
-        }
-        iLingerSettings->ResetAndDestroy();
-    }
-     
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcprocessorvpn.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,242 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorVpn
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcprocessorvpn.h"
-#include "cdclogger.h"
-#include "cdctagcontainer.h"
-
-#include <cmpluginvpndef.h>
-#include <cmpluginbaseeng.h>
-#include <cmconnectionmethoddef.h>
-#include <cmdestinationext.h>
-#include <cmmanagerext.h>
-#include <datamobilitycommsdattypes.h>
-
-using namespace CMManager;
-
-// CONSTANTS
-
-const TUint32 KDefaultPortNum = 80;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CProcessorVpn::NewL
-// ---------------------------------------------------------
-//
-CProcessorVpn* CProcessorVpn::NewL( CReaderBase* aFileReader,
-                                    RCmManagerExt& aCmManager,
-                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                    RPointerArray< HBufC >& aPluginNames,
-                                    RPointerArray< HBufC >& aUnderLying )
-    {
-    CProcessorVpn* self = new ( ELeave ) CProcessorVpn( aFileReader,
-                                                        aCmManager,
-                                                        aPluginArray,
-                                                        aPluginNames,
-                                                        aUnderLying );
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self ); // self
-    return self;
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorVpn::~CProcessorVpn
-// ---------------------------------------------------------
-//
-CProcessorVpn::~CProcessorVpn()
-    {
-    }
-     
-     
-// ---------------------------------------------------------
-// CProcessorVpn::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorVpn::ConstructL()
-    {
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorVpn::CProcessorVpn
-// ---------------------------------------------------------
-//
-CProcessorVpn::CProcessorVpn( CReaderBase* aFileReader,
-                              RCmManagerExt& aCmManager,
-                              RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                              RPointerArray< HBufC >& aPluginNames,
-                              RPointerArray< HBufC >& aUnderLying  ) :
-                              
-                              CProcessorBase( aFileReader,
-                                              aCmManager,
-                                              aPluginArray,
-                                              aPluginNames )
-    {
-    iUnderLying = &aUnderLying;
-    iBearerType = KPluginVPNBearerTypeUid;
-    }
-
-// ---------------------------------------------------------
-// CProcessorVpn::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorVpn::ProcessUnderLyingL( RPointerArray< RCmDestinationExt >& aDestArray,
-                                        RPointerArray< HBufC >& aDestNames )
-    {
-    iDestArray = &aDestArray;
-    iDestName = &aDestNames;
-    
-    for( TInt i(0); i < iUnderLying->Count(); i++ )
-        {
-        // Finds the vpn IAP by its name
-        RCmConnectionMethodExt* iPlugin = FindPluginL( (*iUnderLying)[i] );
-        if( iPlugin != NULL )
-            {
-            CLOG_WRITE_FORMAT( "Underlying set for:%S", (*iUnderLying)[i] );  
-            
-            // Finds the underlying IAP by its name
-            i++;
-            RCmConnectionMethodExt* up = FindPluginL( (*iUnderLying)[i] );
-            if( up != NULL )
-                {
-                iPlugin->SetIntAttributeL( ECmNextLayerIapId,
-                            up->GetIntAttributeL( ECmIapId ) );
-                iPlugin->UpdateL();                            
-
-                CLOG_WRITE_FORMAT( "Underlying IAP Set:%S", (*iUnderLying)[i] );  
-                }
-            else
-                {
-                // Underlyinf can be destination. If not IAP finds destination.
-                RCmDestinationExt* ud = FindDestinationL( (*iUnderLying)[i] );
-                if( ud != NULL )
-                    {
-                    iPlugin->SetIntAttributeL( ECmNextLayerSNAPId, ud->Id() );
-                    iPlugin->UpdateL();                            
-
-                    CLOG_WRITE_FORMAT( "Underlying SNAP Set: %S", (*iUnderLying)[i] );  
-                    }
-                }    
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorVpn::ProcessTagL
-// ---------------------------------------------------------
-//
-void CProcessorVpn::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
-    {
-        CLOG_WRITE_FORMAT( "field: %d", aField );  
-        switch ( aField )
-            {
-	        case ECmProxyProtocolName:
-	        	{
-	        	// Do not enable proxy in this case yet
-	        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
-	        	break;
-	        	}
-            
-            case ECmProxyServerName:
-                {
-                // First set proxy usage to enabled
-                if( !iProxyEnabled )
-                    {
-                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                    iProxyEnabled = ETrue;
-                    }
-                // Long text
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                break;
-                }
-            case ECmProxyPortNumber:
-                {
-                // First set proxy usage to enabled
-                if( !iProxyEnabled )
-                    {
-                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                    iProxyEnabled = ETrue;
-                    }
-                 // TUint32 and should be read as text.
-                TPtrC16 portptr = aPtrTag->Right( aPtrTag->Length() );
-                TLex16 lex( portptr );
-                TUint32 portnum( 0 );
-                if ( lex.Val( portnum, EDecimal ) == KErrNone )
-                    {
-                    iPlugin.SetIntAttributeL( aField, portnum );
-                    }
-                else 
-                    {
-                    //no valid data is given - default value is used
-                    iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
-                    CLOG_WRITE( "! Error : Invalid port number. Default:80");  
-                    }
-                break;
-                }
-            case EVPN_IapName: // Underlying IAP/destination
-                {
-                if( !iName )
-                    {
-                    TInt len = aPtrTag->Length();
-                
-                    iName = HBufC::NewL( 8 + len );
-                    TPtr name = iName->Des();
-                    name.Append( _L( "VPN to " ) );
-                    name.Append( *aPtrTag );
-                    
-                    SetGeneralFieldL( ECmName, iName );
-                    
-                    }
-                    
-                // Adds vpnIAP name - underlying IAP/Dest name pair to a list
-                if( iName )
-                    {
-                    iUnderLying->AppendL( iName->AllocL() );
-                    iUnderLying->AppendL( aPtrTag->AllocL() );
-                    }
-                break;
-                }
-            case EVpnServicePolicy:
-            ////case ECmName:                //fall through
-                {
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                if( !iName )
-                    {
-                    iName = aPtrTag->AllocLC();
-                    }
-
-                break;
-                }
-            default:
-                {
-                break;
-                }
-            }//switch
-    }
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcprocessorwlan.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2317 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CProcessorWlan
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcprocessorwlan.h"
-#include "cdclogger.h"
-#include "cdcerrors.h"
-
-#include <cmpluginwlandef.h>
-#include <cmpluginbaseeng.h>
-#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
-#include <datamobilitycommsdattypes.h>
-#include <commsdattypesv1_1.h>
-#include <WlanCdbCols.h>
-#include <commsdattypesv1_1.h>
-#include <wlancontainer.h>
-
-using namespace CMManager;
-
-// CONSTANTS
-
-// network modes.
-_LIT16( KStrAd_hoc,         "Ad-hoc" );
-_LIT16( KStrInfrastructure, "Infrastructure" ); // Default value.
-
-// security modes.
-_LIT16( KStrWEP,            "WEP" );
-_LIT16( KStr802_1x,         "802.1x" );
-_LIT16( KStrWPA,            "WPA" );          // WPA/WPA2 mixed mode
-_LIT16( KStrWPA2,           "WPA2" );         // WPA2-only mode
-_LIT16( KStrOpen,           "Open" );         // Default value.
-
-// default WLAN channel Id value
-const TInt KDefaultChannelId = 0;
-const TInt KMaximumChannelId = 11;
-
-// default port number
-const TUint32 KDefaultPortNum = 0;
-
-// ratio between sizes of ascii and unicode characters
-const TUint KAsciiUnicodeRatio = 2;
-
-// ================= MEMBER FUNCTIONS =======================
-
-CEapTypeElement::~CEapTypeElement()
-    {
-    delete iEapSettings;
-    delete iName;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorWlan::NewL
-// ---------------------------------------------------------
-//
-CProcessorWlan* CProcessorWlan::NewL( CReaderBase* aFileReader,
-                                      RCmManagerExt& aCmManager,
-                                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                      RPointerArray< HBufC >& aPluginNames,
-                                      RPointerArray< HBufC >& aSecurityInfo,
-									  RPointerArray< CEapTypeElement >& aEapSettings )
-    {
-    CProcessorWlan* self = new ( ELeave ) CProcessorWlan( aFileReader,
-                                                          aCmManager,
-                                                          aPluginArray,
-                                                          aPluginNames,
-                                                          aSecurityInfo,
-														  aEapSettings );
-    CleanupStack::PushL( self );
-
-    // From base class
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorWlan::ConstructL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::ConstructL()
-    {
-    iEmptyTag = KStrEmpty.operator const TDesC16&().Alloc();
-
-    Reset(); // iWepData, iWpaData
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorWlan::CProcessorWlan
-// ---------------------------------------------------------
-//
-CProcessorWlan::CProcessorWlan( CReaderBase* aFileReader,
-                                RCmManagerExt& aCmManager,
-                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
-                                RPointerArray< HBufC >& aPluginNames,
-                                RPointerArray< HBufC >& aSecurityInfo,
-								RPointerArray< CEapTypeElement >& aEapSettings ) :
-             CProcessorBase( aFileReader,
-                             aCmManager,
-                             aPluginArray,
-                             aPluginNames ),
-             iSecurityMode( ESecurityModeOpen ),
-             iEapSettings( aEapSettings ),
-             iIsEasyWlan( ETrue )                     
-    {
-    iBearerType = KUidWlanBearerType;
-    iSecurityInfo = &aSecurityInfo;
-    iDataStart = 0;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorWlan::~CProcessorWlan
-// ---------------------------------------------------------
-//
-CProcessorWlan::~CProcessorWlan()
-    {
-    delete iEmptyTag;
-    REComSession::FinalClose();
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::ProcessSpecialFieldsL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
-    {
-        switch( aField )
-            {
-            // TDesC16
-            case EWlanSSID:
-                {
-                if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
-                    {
-                    iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                    iIsEasyWlan = EFalse;
-                    }
-                else
-                    {
-                    // Access point is Easy WLAN 
-                    iIsEasyWlan = ETrue;
-                    }
-                break;
-                }
-            case EWlanIpAddr:
-                {
-                if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
-                    {
-                    iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                    }
-                break;
-                }
-            // TDesC16
-            case EWlanIpGateway:             //fall through
-            case EWlanIpNetMask:             //fall through
-                {
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                break;
-                }
-            case EWlanIpNameServer1:         //fall through
-            case EWlanIpNameServer2:         //fall through
-            case EWlanIp6NameServer1:        //fall through
-            case EWlanIp6NameServer2:        //fall through
-                {
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                SetAddressFromServerL( EWlanIpNameServer1,
-                                      EWlanIpNameServer2,
-                                      EWlanIpDNSAddrFromServer,
-                                      EWlanIp6NameServer1,
-                                      EWlanIp6NameServer2,
-                                      EWlanIp6DNSAddrFromServer );    
-                break;
-                }
-            // TUint32
-            case EWlanSecurityMode:
-                {
-
-                if ( aPtrTag->CompareF( KStrWEP ) == 0 )
-                    {
-                    // WEP
-                    iPlugin.SetIntAttributeL( aField, EWlanSecModeWep );
-                    iSecurityMode = ESecurityModeWEP;
-                    }
-                else if ( aPtrTag->CompareF( KStr802_1x ) == 0 )
-                    {
-                    // 802.1x
-                    iPlugin.SetIntAttributeL( aField, EWlanSecMode802_1x );
-                    iSecurityMode = ESecurityMode802;
-                    }
-                else if ( aPtrTag->CompareF( KStrWPA ) == 0 )
-                    {
-                    // WPA/WPA2 mixed mode
-                    iPlugin.SetIntAttributeL( aField, EWlanSecModeWpa );
-                    iSecurityMode = ESecurityModeWPA;
-                    }
-                else if ( aPtrTag->CompareF( KStrWPA2 ) == 0 )
-                    {
-                    // WPA2
-                    iPlugin.SetIntAttributeL( aField, EWlanSecModeWpa2 );
-                    iSecurityMode = ESecurityModeWPA2;
-                    }
-                else if ( aPtrTag->CompareF( KStrOpen ) == 0 )
-                    {
-                    // Open network (default)
-                    iPlugin.SetIntAttributeL( aField, EWlanSecModeOpen );
-                    iSecurityMode = ESecurityModeOpen;
-                    }
-                else 
-                    {
-                    iPlugin.SetIntAttributeL( aField, EWlanSecModeOpen );
-                    iSecurityMode = ESecurityModeOpen;
-                    CLOG_WRITE( "! Error : Invalid Security Mode. Default:Open" )
-                    }
-                break;
-                }
-                
-            // TUint32
-            case EWlanConnectionMode:
-                {
-
-                if ( !aPtrTag->CompareF( KStrAd_hoc ) )
-                    {
-                    // Ad-hoc
-                    iPlugin.SetIntAttributeL( aField, EAdhoc );
-                    }
-                else if ( !aPtrTag->CompareF( KStrInfrastructure ) )
-                    {
-                    // Infrastructure
-                    iPlugin.SetIntAttributeL( aField, EInfra );
-                    }
-                else
-                    {
-                    iPlugin.SetIntAttributeL( aField, EInfra );
-                    CLOG_WRITE( "! Error : Invalid Network Mode. Default:Infrastructure" )
-                    }
-                break;
-                }
-                
-            // TUint32
-            case ECmProxyPortNumber:
-                {
-                // First set proxy usage to enabled
-                if( !iProxyEnabled )
-                    {
-                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                    iProxyEnabled = ETrue;
-                    }
-                TLex16 lex( *aPtrTag );
-                TUint32 tmp( 0 );
-                if ( lex.Val( tmp, EDecimal ) == KErrNone )
-                    {
-                    iPlugin.SetIntAttributeL( aField, tmp );
-                    }
-                else
-                    {
-                    //no valid data is given
-                    iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
-                    CLOG_WRITE( "! Error : Invalid port number. Default:0" );
-                    }
-                break;
-                }
-            // Long text.
-            case ECmStartPage:
-                {
-
-                if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
-                    {
-                    iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                    }
-                break;
-                }
-                
-	        case ECmProxyProtocolName:
-	        	{
-	        	// Do not enable proxy in this case yet
-	        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
-	        	break;
-	        	}
-	                
-            // Long text.
-            case ECmProxyServerName:            
-                {
-                // First set proxy usage to enabled
-                if( !iProxyEnabled )
-                    {
-                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
-                    iProxyEnabled = ETrue;
-                    }
-                iPlugin.SetStringAttributeL( aField, *aPtrTag );
-                break;
-                }
-            // Bool
-            case EWlanScanSSID:
-                {
-                if ( !aPtrTag->CompareF( KStrYes ) )
-                    {
-                    iPlugin.SetBoolAttributeL( aField, ETrue );
-                    }
-                else if ( !aPtrTag->CompareF( KStrNo ) )
-                    {
-                    iPlugin.SetBoolAttributeL( aField, EFalse );
-                    }
-                else 
-                    {
-                    iPlugin.SetBoolAttributeL( aField, EFalse );
-                    CLOG_WRITE( "! Error : Invalid Scan SSID. Default:No" )
-                    }
-                break;
-                }
-
-            // TUint32
-            case EWlanChannelID:
-                {
-                TLex16 lex( *aPtrTag );
-                TUint32 tmp( 0 );
-                lex.Val( tmp, EDecimal );
-
-                if( tmp <= KMaximumChannelId )
-                    {
-                    iPlugin.SetIntAttributeL( aField, tmp );
-                    }
-                else
-                    {
-                    // Default value
-                    iPlugin.SetIntAttributeL( aField, KDefaultChannelId );
-                    CLOG_WRITE( "! Error : Invalid Chanel Id. Default:0" )
-                    }
-                break;
-                }
-            //WEP
-            case EWEPKeyInUse:
-            case EWEPAuthType:
-            case EWEPKey1Length:
-            case EWEPKey1Format:
-            case EWEPKey1Data:
-            case EWEPKey2Length:
-            case EWEPKey2Format:
-            case EWEPKey2Data:
-            case EWEPKey3Length:
-            case EWEPKey3Format:
-            case EWEPKey3Data:
-            case EWEPKey4Length:
-            case EWEPKey4Format:
-            case EWEPKey4Data:
-                {
-                if( iSecurityMode == ESecurityModeWEP )
-                    {
-                    AddSecurityDataL( aField, aPtrTag, ETrue );
-                    }
-                }
-                break;
-            //WPA
-            case EWPAPresharedKey:
-            case EWPAKeyLength:
-            case EWPAEapMethod:
-            case EWPAUseOfPresharedKey:
-                {
-                if( iSecurityMode != ESecurityModeWEP && iSecurityMode != ESecurityModeOpen )
-                    {
-                    AddSecurityDataL( aField, aPtrTag, EFalse );
-                    }
-                }
-                break;
-                
-            default:
-            	// Check if this is EAP setting
-            	if ( EAPSetting( aField ) )
-            		{
-            		AddEAPSettingL( aField, aPtrTag );
-            		}
-            	else
-            		{            		
-            		CLOG_WRITE_FORMAT( "! Warning: Unhandled setting for WLAN: %d", aField );
-            		}
-                break;
-            }//switch
-    }
-     
-     
-// ---------------------------------------------------------
-// CProcessorWlan::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::ProcessAPL()
-    {
-    
-    RCmConnectionMethodExt& iPlugin = GetLastPluginL();
-    
-    if( iIsProtected )
-        {
-        iPlugin.SetBoolAttributeL( ECmProtected, ETrue );
-        }
-    
-    // Ensure that Easy WLAN is always an open network
-    if( iIsEasyWlan )
-        {
-        iSecurityMode = ESecurityModeOpen;
-        }
-        
-    FillSecurityInfoL();        
-    
-    // Writes into the log file.
-    DoLogL();
-    
-    Reset(); // iWepData, iWpaData
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::FillSecurityInfoL()
-    {
-    //Set Security mode settings
-    switch ( iSecurityMode )
-        {
-        case ESecurityModeWEP:
-            if ( WEPFieldValidate() )
-                {
-                FillSecurityInfoL( ETrue ); //WEP
-                }
-            else
-                {
-                CLOG_WRITE( "! Error : WEP settings are not valid." )
-                }
-            break;  
-        case ESecurityMode802:
-        case ESecurityModeWPA:
-        case ESecurityModeWPA2:
-            {
-            FillSecurityInfoL( EFalse ); //WPA
-            break;
-            }
-        default:
-            {
-            }
-            break;
-        }
-    }    
-
-// ---------------------------------------------------------
-// CProcessorWlan::ProcessAPL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::FillSecurityInfoL( TBool aIsWep )
-    {
-    // iName has been deleted by Base. Name is retrieved from name array.
-    TInt lastPos = iPluginArray->Count() - 1;
-    HBufC* name = (*iPluginName)[ lastPos ];
-    
-    // Name appended to the array
-    iSecurityInfo->Append( name->AllocL() );
-    CLOG_WRITE_FORMAT( "FillSecurityInfoL %S", name );
-    CLOG_WRITE_FORMAT( "FillSecurityInfoL start %d", iSecurityInfo->Count() );
-    
-    if( aIsWep )
-        {
-        // Security type appended to the array
-        iSecurityInfo->Append( KStrWEP.operator const TDesC16&().Alloc() );
-        for( TInt i( 0 ); i < KWEPKeyNumOfFields; i++ )
-            {
-            
-            if( iWepData[i] != NULL )
-                {
-                CLOG_WRITE_FORMAT( "wep info %S", iWepData[i] );
-                }
-            else
-                {
-                CLOG_WRITE( "wep info NULL" );
-                }
-            iSecurityInfo->Append( iWepData[i] );
-            }
-        }
-    else
-        {
-        // Security type appended to the array
-        switch ( iSecurityMode )
-            {
-            case ESecurityMode802:
-                iSecurityInfo->Append( KStr802_1x.operator const TDesC16&().Alloc() );
-            break;            
-            case ESecurityModeWPA2:
-                iSecurityInfo->Append( KStrWPA2.operator const TDesC16&().Alloc() );
-            break;            
-            default:
-                iSecurityInfo->Append( KStrWPA.operator const TDesC16&().Alloc() );
-            break;            
-            }
-
-        for( TInt i( 0 ); i < KWPAKeyNumOfFields; i++ )
-            {
-            
-            if( iWpaData[i] != NULL )
-                {
-                CLOG_WRITE_FORMAT( "wpa info %S", iWpaData[i] );
-                }
-            else
-                {
-                CLOG_WRITE( "wep info NULL" );
-                }
-            iSecurityInfo->Append( iWpaData[ i ] );
-            }
-        }
-
-    CLOG_WRITE_FORMAT( "FillSecurityInfoL end %d", iSecurityInfo->Count() );
-    }    
-
-// ---------------------------------------------------------
-// CProcessorWlan::SaveSecurityInfoL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::SaveSecurityInfoL()
-    {
-    TInt i(0);
-
-    while( i < iSecurityInfo->Count() )
-        {
-        if( (*iSecurityInfo)[i] != NULL )
-            {
-            CLOG_WRITE_FORMAT( "Sec Info: %S", (*iSecurityInfo)[i] );
-            }
-        else
-            {
-            CLOG_WRITE( "Sec Info: NULL" );
-            }
-        
-        i++;
-        }
-
-
-    i = 0;
-
-    while( i < iSecurityInfo->Count() )
-        {
-        CLOG_WRITE_FORMAT( "SaveSecurityInfoL %S", (*iSecurityInfo)[i] );
-
-        TInt id = GetPluginIdL( (*iSecurityInfo)[i] );
-        if( id != KErrNotFound )
-            {
-            i++;
-            SaveSecurityInfoL( i, id );
-            }
-        else
-            {
-            CLOG_WRITE_FORMAT( "WLan IAp cannot find %S", (*iSecurityInfo)[i] );
-            CLOG_WRITE( "Security save likely collapsed" );
-            // Tries to look for an existing IAP.
-            i++;
-            }    
-        }
-
-	// EAP settings
-	CLOG_WRITE( "Starting EAP settings saving" );
-	CMDBSession* session = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    CleanupStack::PushL( session );
-    
-    // Load IAP record in order to get the service id
-	for ( i = 0; i < iEapSettings.Count() ; i++ )
-        {
-        CEapTypeElement* eap = iEapSettings[i];
-        // 
-        TInt id = GetPluginIdL( eap->iName );
-        
-	    CCDIAPRecord* iapRecord = static_cast< CCDIAPRecord * >
-	                        ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-	                        
-	    CleanupStack::PushL( iapRecord );
-	    
-	    iapRecord->SetRecordId( id );
-	    
-	    iapRecord->LoadL( *session );
-	   
-	    TInt serviceId = iapRecord->iService;
-	    
-	    CleanupStack::PopAndDestroy( iapRecord );	        
-	            
-        CEapType* eapType ( NULL );
-        TRAPD( leave, 
-               eapType = CEapType::NewL( ELan, 
-                                         serviceId, 
-                                         eap->iEapSettings->iEAPExpandedType ) );
-        if ( leave == KErrNone )
-            {
-            CleanupStack::PushL( eapType );
-            
-            // Inner EAP
-            if ( eap->iEncapsulatingEapId != *EapExpandedTypeNone.GetType() )
-                {
-                eapType->SetTunnelingType( eap->iEncapsulatingEapId );
-                }
-                    
-            // write EAP setting
-            eapType->SetConfigurationL(*eap->iEapSettings);
-            CleanupStack::PopAndDestroy( eapType );
-            }
-        }
-    
-    session->Close();
-    CleanupStack::PopAndDestroy( session );
-    CLOG_WRITE( "Finished EAP settings saving" );
-
-    CLOG_WRITE_FORMAT( "SaveSecurityInfoL end %d", iSecurityInfo->Count() );
-}
-
-// ---------------------------------------------------------
-// CProcessorWlan::SaveSecurityInfoL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::SaveSecurityInfoL( TInt& aCounter, TInt aId )
-    {
-    if( (*iSecurityInfo)[ aCounter ]->Compare( KStrWEP ) == 0 )
-        {
-        aCounter++;
-        TInt end( aCounter + KWEPKeyNumOfFields );
-        
-        for( TInt index(0); aCounter < end; aCounter++, index++ )
-            {
-            if( (*iSecurityInfo)[ aCounter ] != NULL )
-                {
-                CLOG_WRITE_FORMAT( "wep info %S", (*iSecurityInfo)[ aCounter ] );
-                }
-            else
-                {
-                CLOG_WRITE( "wep info NULL" );
-                }
-            iWepData[ index] = (*iSecurityInfo)[ aCounter ] ;
-            }
-        SaveWEPL( aId );
-        }
-    else
-        {
-        
-        // Set security mode.        
-        if ( (*iSecurityInfo)[ aCounter ]->CompareF( KStr802_1x ) == 0 )
-            {
-            // 802.1x
-            iSecurityMode = ESecurityMode802;
-            }
-        else if ( (*iSecurityInfo)[ aCounter ]->CompareF( KStrWPA2 ) == 0 )
-            {
-            // WPA2 mode
-            iSecurityMode = ESecurityModeWPA2;
-            }
-        else 
-            {
-            // WPA
-            iSecurityMode = ESecurityModeWPA;
-            }
-
-        aCounter++;
-        TInt end( aCounter + KWPAKeyNumOfFields );
-        
-        for( TInt index(0); aCounter < end; aCounter++, index++ )
-            {
-            if( (*iSecurityInfo)[ aCounter ] != NULL )
-                {
-                CLOG_WRITE_FORMAT( "wpa info %S", (*iSecurityInfo)[ aCounter ] );
-                }
-            else
-                {
-                CLOG_WRITE( "wpa info NULL" );
-                }
-            iWpaData[ index ] = (*iSecurityInfo)[ aCounter ] ;
-            }
-        SaveWPAL( aId );
-        }
-    }
-
-
-     
-// ---------------------------------------------------------
-// WEP Security settings
-// ---------------------------------------------------------     
-
-// ---------------------------------------------------------
-// CProcessorWlan::SaveWEPL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::SaveWEPL( TUint32 aIapId ) 
-    {
-    CMDBSession* session = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    CleanupStack::PushL( session );
-    // Load IAP record
-    CCDIAPRecord* iapRecord = static_cast< CCDIAPRecord * >
-                        ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-    CleanupStack::PushL( iapRecord );
-    iapRecord->SetRecordId( aIapId );
-    iapRecord->LoadL( *session );
-   
-    // Load WLAN service table
-    // first get WLAN table id
-    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
-        ( CCDRecordBase::RecordFactoryL( 0 ) );
-    CleanupStack::PushL( generic );    
-    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
-    generic->LoadL( *session );
-    TMDBElementId wlanTableId = generic->TableId();
-    
-    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
-                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
-    
-    TInt service = iapRecord->iService;
-    // prime with service id                
-    *sidField = (TUint32)service;
-       
-    User::LeaveIfError( generic->FindL( *session ) );
-
-    // Save index of key in use
-    TUint32 keyInUse( WEPKeyInUse() );
-    CMDBField<TUint>* keyInUseField = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) );
-    keyInUseField->SetL( keyInUse );
-    
-    // Save authentication mode
-    TUint32 auth( WEPAuthentication() );
-    CMDBField<TUint>* authenticationField = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) );
-    authenticationField->SetL( auth );
-    
-    // Save WEP keys and key formats  
-    if ( WEPFieldData( EWEPKey1Data )->Length() )
-        {
-        CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
-        WriteKeyL( wepKey1Field,
-                   WEPFieldData( EWEPKey1Data ),
-                   WEPKeyFormat( EWEPKey1Format ) );
-        CMDBField<TUint>* formatKey1Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) );
-        formatKey1Field->SetL( WEPKeyFormat( EWEPKey1Format ) );
-        }
-    if ( WEPFieldData( EWEPKey2Data )->Length() )
-        {
-        CMDBField<TDesC8>* wepKey2Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) );
-        WriteKeyL( wepKey2Field,
-                   WEPFieldData( EWEPKey2Data ),
-                   WEPKeyFormat( EWEPKey2Format ) );
-        CMDBField<TUint>* formatKey2Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) );
-        formatKey2Field->SetL( WEPKeyFormat( EWEPKey2Format ) );
-        }
-    if ( WEPFieldData( EWEPKey3Data )->Length() )
-        {
-        CMDBField<TDesC8>* wepKey3Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) );
-        WriteKeyL( wepKey3Field,
-                   WEPFieldData( EWEPKey3Data ),
-                   WEPKeyFormat( EWEPKey3Format ) );
-        CMDBField<TUint>* formatKey3Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) );
-        formatKey3Field->SetL( WEPKeyFormat( EWEPKey3Format ) );
-        }
-    if ( WEPFieldData( EWEPKey4Data )->Length() )
-        {
-        CMDBField<TDesC8>* wepKey4Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) );
-        WriteKeyL( wepKey4Field,
-                   WEPFieldData( EWEPKey4Data ),
-                   WEPKeyFormat( EWEPKey4Format ) );
-        CMDBField<TUint>* formatKey4Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) );
-        formatKey4Field->SetL( WEPKeyFormat( EWEPKey4Format ) );
-        }
-    
-    generic->ModifyL( *session );
-
-    CleanupStack::PopAndDestroy( generic ); // generic
-    CleanupStack::PopAndDestroy( iapRecord ); // iapRecord
-    CleanupStack::PopAndDestroy( session ); // session
-    }
-    
-
-// ---------------------------------------------------------
-// CProcessorWlan::WriteKeyL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::WriteKeyL( CMDBField<TDesC8>* aKeyField,                                
-                                HBufC16* aKey,
-                                const TInt aKeyFormat ) 
-    {
-    TBuf8<KMaxLengthOfKeyData> key;
-    
-    //convert to 8 bit
-    key.Copy( aKey->Des() );
-    
-    if ( aKeyFormat == EAscii )
-        {
-        // Must be converted to hexa and stored as a hexa
-        // Ascii key is half the length of Hex
-        HBufC8* buf8Conv = HBufC8::NewLC( key.Length() * KAsciiUnicodeRatio );
-        ConvertAsciiToHex( key, buf8Conv );
-        aKeyField->SetL( buf8Conv->Des() );
-        CleanupStack::PopAndDestroy( buf8Conv );
-        }
-    else if ( VerifyHex( key ) )
-        {
-        //already in hexa format
-        aKeyField->SetL( key );    
-        }
-    else
-        {
-        CLOG_WRITE( "! Error : Invalid hexadecimal format" )
-        }
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WEPFieldData
-// ---------------------------------------------------------
-//
-HBufC16* CProcessorWlan::WEPFieldData( TDbCreatorWEPFields aFieldId ) 
-    {
-    TInt index = WEPIndex( aFieldId );
-    if( iWepData[ index ] == NULL )
-        {
-        return iEmptyTag;
-        }
-    else
-        {
-        return iWepData[ index ];
-        }
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WEPAuthentication
-// ---------------------------------------------------------
-//   
-TInt CProcessorWlan::WEPAuthentication()
-    {
-    HBufC16* authTypeStr = WEPFieldData( EWEPAuthType );
-    TInt authType ( EAuthOpen ) ;
-    
-    _LIT16( KStrOpen,   "Open" );  
-    _LIT16( KStrShared, "Shared" );
-    
-    if ( authTypeStr->CompareF( KStrOpen ) == 0 )
-        {
-        //CLOG_WRITE( "Authentication type : Open" )
-        }
-    else if ( authTypeStr->CompareF( KStrShared ) == 0 )
-        {
-        //CLOG_WRITE( "Authentication type : Shared" )
-        authType = EAuthShared;
-        }
-    else 
-        {
-        //aField is either empty or invalid
-        authType = KErrNotFound;
-        }
-        
-    return authType;
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::WEPKeyInUse
-// ---------------------------------------------------------
-//
-TInt CProcessorWlan::WEPKeyInUse()
-    {  
-    HBufC16* keyStr = WEPFieldData( EWEPKeyInUse );
-    TInt key ( EKeyNumber1 ) ;
-    
-    _LIT16( KStrKey1,   "key1" );  
-    _LIT16( KStrKey2,   "key2" );
-    _LIT16( KStrKey3,   "key3" );
-    _LIT16( KStrKey4,   "key4" );
-    
-    if ( keyStr->CompareF( KStrKey1 ) == 0 )
-        {
-        //CLOG_WRITE( "WEP key in use : key 1" )
-        }
-    else if ( keyStr->CompareF( KStrKey2 ) == 0 )
-        {
-        //CLOG_WRITE( "WEP key in use : key 2" )
-        key = EKeyNumber2;
-        }
-    else if ( keyStr->CompareF( KStrKey3 ) == 0 )
-        {
-        //CLOG_WRITE( "WEP key in use : key 3" )
-        key = EKeyNumber3;
-        }
-    else if ( keyStr->CompareF( KStrKey4 ) == 0 )
-        {
-        //CLOG_WRITE( "WEP key in use : key 4" )
-        key = EKeyNumber4;
-        }
-    else 
-        {
-        //aField is either empty or invalid
-        key = KErrNotFound;
-        }
-        
-    return key;
-    }
-
-
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WEPKeyFormat
-// ---------------------------------------------------------
-// 
-TInt CProcessorWlan::WEPKeyFormat(  TDbCreatorWEPFields aFieldId  )
-    {
-    __ASSERT_ALWAYS( ( aFieldId == EWEPKey1Format || 
-                       aFieldId == EWEPKey2Format ||
-                       aFieldId == EWEPKey3Format ||
-                       aFieldId == EWEPKey4Format ),
-                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                    
-    HBufC16* keyFormatStr = WEPFieldData( aFieldId );
-    TWEPKeyFormat keyFormat ( EAscii ) ;
-    
-    _LIT16( KStrAscii,       "Ascii" );  
-    _LIT16( KStrHexadecimal, "Hexadecimal" );
-    
-    if ( keyFormatStr->CompareF( KStrAscii ) == 0 )
-        {
-        //CLOG_WRITE( "Key format : Ascii" )
-        }
-    else if ( keyFormatStr->CompareF( KStrHexadecimal ) == 0 )
-        {
-        //CLOG_WRITE( "Key format : Hexadecimal" )
-        keyFormat = EHexadecimal;
-        }
-    else 
-        {
-        CLOG_WRITE( "! Error : Invalid key format. Default:Ascii" )
-        }
-        
-    return keyFormat;
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WEPKeyLength
-// ---------------------------------------------------------
-// 
-TWEPKeyLength CProcessorWlan::WEPKeyLength(  TDbCreatorWEPFields aFieldId  )
-    {
-    __ASSERT_ALWAYS( ( aFieldId == EWEPKey1Length || 
-                       aFieldId == EWEPKey2Length ||
-                       aFieldId == EWEPKey3Length ||
-                       aFieldId == EWEPKey4Length ),
-                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                    
-    HBufC16* keyLengthStr = WEPFieldData( aFieldId );
-    TWEPKeyLength keyLen ( E40Bits ) ;
-    
-    _LIT16( KStr64,       "64" );  
-    _LIT16( KStr128,      "128" );
-    _LIT16( KStr256,      "256" );
-    
-    if ( keyLengthStr->CompareF( KStr64 ) == 0 )
-        {
-        //CLOG_WRITE( "Key length : 64" )
-        }
-    else if ( keyLengthStr->CompareF( KStr128 ) == 0 )
-        {
-        //CLOG_WRITE( "Key length : 128" )
-        keyLen = E104Bits;
-        }
-    else if ( keyLengthStr->CompareF( KStr256 ) == 0 )
-        {
-        //CLOG_WRITE( "Key length : 256" )
-        keyLen = E232Bits;
-        }
-    else 
-        {
-        CLOG_WRITE( "! Error : Invalid key length. Default:64" )
-        }
-        
-    return keyLen;
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WEPKeyValidLen
-// ---------------------------------------------------------
-//     
-TInt CProcessorWlan::WEPKeyValidLen(TInt aFormat , TWEPKeyLength aLen )
-    {
-    __ASSERT_ALWAYS( aFormat == EAscii || aFormat == EHexadecimal, 
-                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                     
-    __ASSERT_ALWAYS( aLen == E40Bits || aLen == E104Bits || aLen == E232Bits,
-                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                     
-    TInt len( 0 );
-    
-    switch ( aFormat )
-        {
-        case EAscii:
-            switch ( aLen )
-                {
-                case E40Bits :  len = KKeyDataLength40Bits /
-                                                        KAsciiUnicodeRatio;
-                    break;
-                case E104Bits : len = KKeyDataLength104Bits /
-                                                        KAsciiUnicodeRatio;
-                    break;
-                case E232Bits : len = KKeyDataLength232Bits /
-                                                        KAsciiUnicodeRatio;  
-                }
-            break;
-        case EHexadecimal:
-            switch ( aLen )
-                {
-                case E40Bits :  len = KKeyDataLength40Bits;
-                    break;
-                case E104Bits : len = KKeyDataLength104Bits;
-                    break;
-                case E232Bits : len = KKeyDataLength232Bits;
-                }
-        }
-        
-    return len;
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::WEPIndex
-// ---------------------------------------------------------
-//       
-TInt CProcessorWlan::WEPIndex( TDbCreatorWEPFields aFieldId )
-    {
-    __ASSERT_ALWAYS( aFieldId >= EWEPKeyInUse && aFieldId <= EWEPKey4Data, 
-                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                     
-    return aFieldId - 0x1000 + iDataStart;                     
-                     
-    ////return iWEPIndex[ aFieldId - 0x1000 ];
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::WEPFieldValidate
-// ---------------------------------------------------------
-//   
-TBool CProcessorWlan::WEPFieldValidate()
-    {
-    TBool valid (ETrue);
-    
-    if ( ( WEPAuthentication() == KErrNotFound ) ||
-         ( WEPKeyInUse() == KErrNotFound ) )
-        {
-        valid = EFalse;
-        }
-    else
-        {
-        //gets the actual keylength
-        TInt keyLen[ KMaxNumberofKeys ] = { 0,0,0,0 };
-       
-        keyLen[EKeyNumber1] = WEPFieldData( EWEPKey1Data )->Length();
-        keyLen[EKeyNumber2] = WEPFieldData( EWEPKey2Data )->Length();
-        keyLen[EKeyNumber3] = WEPFieldData( EWEPKey3Data )->Length();
-        keyLen[EKeyNumber4] = WEPFieldData( EWEPKey4Data )->Length();
-
-
-        //check validity of key1 length
-        TInt validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey1Format ), 
-                                        WEPKeyLength( EWEPKey1Length ) );
-        if ( keyLen[EKeyNumber1] && keyLen[EKeyNumber1] != validLen) 
-            {
-            valid = EFalse;
-            CLOG_WRITE_FORMAT( "! Error : Key1 length is invalid %d", 
-                                        keyLen[EKeyNumber1] );
-            CLOG_WRITE_FORMAT( "ValidLen1: %d \n", validLen );
-            }
-        else if ( keyLen[EKeyNumber2] )
-            {    
-            //check validity of key2 length
-            validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey2Format ), 
-                                       WEPKeyLength( EWEPKey2Length ) );
-            if ( keyLen[EKeyNumber2] != validLen )
-                {
-                valid = EFalse;
-                CLOG_WRITE_FORMAT( "! Error : Key2 length is invalid %d", 
-                                            keyLen[EKeyNumber2] )
-                CLOG_WRITE_FORMAT( "ValidLen2: %d \n", validLen );
-                }
-            else if ( keyLen[EKeyNumber3] )
-                {
-                //check validity of key3 length
-                validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey3Format ), 
-                                           WEPKeyLength( EWEPKey3Length ) );
-                if ( keyLen[EKeyNumber3] != validLen )
-                    {
-                    valid = EFalse;
-                    CLOG_WRITE_FORMAT( "! Error : Key3 length is invalid %d", 
-                                                keyLen[EKeyNumber3] );
-                    CLOG_WRITE_FORMAT( "ValidLen3: %d \n", validLen );
-                    }
-                else if ( keyLen[EKeyNumber4] )
-                    {
-                    //check validity of key4 length
-                    validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey4Format ), 
-                                           WEPKeyLength( EWEPKey4Length ) );
-                    if ( keyLen[EKeyNumber4] != validLen )
-                        {
-                        valid = EFalse;
-                        CLOG_WRITE_FORMAT( "! Error : Key4 length is invalid %d", 
-                                                    keyLen[EKeyNumber4] );
-                        CLOG_WRITE_FORMAT( "ValidLen4: %d \n", validLen );
-                        }//if
-                    }//else                
-                }//else
-            }//else
-        }//else
-        
-    return valid;
-    }
-
-//----------------------------------------------------------
-// CProcessorWlan::ConvertAsciiToHex
-//----------------------------------------------------------
-//
-void CProcessorWlan::ConvertAsciiToHex( const TDesC8& aSource, 
-                                              HBufC8*& aDest )
-	{
-	_LIT( hex, "0123456789ABCDEF" );
-	TInt size = aSource.Size();
-	TPtr8 ptr = aDest->Des();
-	for ( TInt ii = 0; ii < size; ii++ )
-		{
-		TText8 ch = aSource[ii];
-		ptr.Append( hex()[(ch/16)&0x0f] );
-		ptr.Append( hex()[ch&0x0f] );
-		}
-	}
-		
-//----------------------------------------------------------
-// CWEPSecuritySettingsDlg::VerifyHex
-//----------------------------------------------------------
-//
-TBool CProcessorWlan::VerifyHex( const TDesC8& aHex )
-    {
-    TBool err( ETrue );
-    
-    for ( TInt i = 0; i < aHex.Length(); i++ )
-        {
-        TChar c( aHex[i] );
-
-        if ( !c.IsHexDigit() ) 
-            {
-            err = EFalse;
-            break;
-            }
-        }
-
-    return err;
-    }
-   
-    
-// ---------------------------------------------------------
-// WPA Security settings
-// ---------------------------------------------------------
-
-
-// ---------------------------------------------------------
-// CProcessorWlan::SaveWPAL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::SaveWPAL( TUint32 aIapId )
-    {
-    CLOG_WRITE( "CProcessorWlan::SaveWPAL enter" );
-    
-    CMDBSession* session = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    CleanupStack::PushL( session );
-    
-    // Load IAP record
-    CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord *>
-                        ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-    CleanupStack::PushL( iapRecord );
-    iapRecord->SetRecordId( aIapId );
-    iapRecord->LoadL( *session );
-    
-    // Load WLAN service table
-    // first get WLAN table id
-    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
-        ( CCDRecordBase::RecordFactoryL( 0 ) );
-    CleanupStack::PushL( generic );
-        
-    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
-    generic->LoadL( *session );
-    TMDBElementId wlanTableId = generic->TableId();
-    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
-                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
-    
-    TInt service = iapRecord->iService;
-    // prime with service id                
-    *sidField = (TUint32)service;
-    
-    User::LeaveIfError( generic->FindL( *session ) );
-       
-    // Set WPA mode
-    CMDBField<TUint>* enableWpaPskField = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) );
-                            
-    enableWpaPskField->SetL( WPAPresharedKeyInUse() );
-	
-	CLOG_WRITE( "Wrote enableWpaPskField" );
-    
-    // Set security mode
-    CMDBField<TUint>* secModeField = static_cast<CMDBField<TUint>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) );
-    secModeField->SetL( iSecurityMode );
-    
-    CLOG_WRITE( "Wrote securityMode" );
-
-    // Save EAP list
-    SetExpandedEapListL( service );
-    CLOG_WRITE( "Wrote Expanded EAPList" );
-    
-    // Save PreShared Key
-    TBuf8<KMaxLengthOfKeyData> keyWPA;
-    //convert to 8 bit
-    keyWPA.Copy( WPAFieldData( EWPAPresharedKey )->Des() );
-    CMDBField<TDesC8>* wpaPskField = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) );
-    wpaPskField->SetL( keyWPA );
-    
-    CLOG_WRITE( "Wrote pre-shared key" );
-    if ( keyWPA.Length() < 8 )
-        {
-        CLOG_WRITE( "Error: WPA pre-shared key is less then 8 chars." );	        
-        }
-
-    // Check and save PreShared Key Length
-    TInt len( WPAKeyLength() );
-    if ( len != keyWPA.Length() )
-        {
-        CLOG_WRITE( "! Error : WPA key lengths do not match" );
-        }
-    
-    CMDBField<TUint>* keyLengthField = static_cast<CMDBField<TUint>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) );
-    keyLengthField->SetL( len );
-    
-    generic->ModifyL( *session );
-    
-    CleanupStack::PopAndDestroy( generic ); 
-    CleanupStack::PopAndDestroy( iapRecord );
-    CleanupStack::PopAndDestroy( session );
-    CLOG_WRITE( "CProcessorWlan::SaveWPAL exit" );
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::SetExpandedEapListL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::SetExpandedEapListL( const TUint aServiceId )
-    {
-    CLOG_WRITE( "CProcessorWlan::SetExpandedEapListL" )
-    // Gets the text format eap list
-    HBufC16* eapList = WPAFieldData( EWPAEapMethod );
-    
-    if ( eapList != NULL && 0 < eapList->Length() )
-        {
-        // load general EAP settings If
-        CEapGeneralSettings* eapGs;
-        eapGs = CEapGeneralSettings::NewL( ELan, aServiceId );
-        CleanupStack::PushL( eapGs );
-        
-        // get lists of enabled/disabled EAPs for the IAP
-        RArray< TEapExpandedType > enabledEapMethods;
-        RArray< TEapExpandedType > disabledEapMethods;
-        
-        enabledEapMethods.Append( GetExpandedEapTypeIdL( *eapList ) );
-        
-        // disabledEapMethods can be empty, SetEapMethods takes care of it,
-        // only enabledEapMethods is a must with correct contents
-        User::LeaveIfError( eapGs->SetEapMethods( enabledEapMethods, 
-                                                     disabledEapMethods ) );
-   
-        CleanupStack::PopAndDestroy( eapGs );
-        }
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::GetExpandedEapTypeId
-// ---------------------------------------------------------
-//
-TEapExpandedType CProcessorWlan::GetExpandedEapTypeIdL( TDesC& aField )
-    {
-    TUint8 resultByte;
-    TLex16 lex( aField.Ptr() );
-    User::LeaveIfError( lex.Val( resultByte, EDecimal ) );
-    
-    CLOG_WRITE_FORMAT( "CProcessorWlan::GetExpandedEapTypeIdL: EAP %d",
-                    (int)resultByte )
-    
-    switch ( resultByte )
-        {
-        case 0x06:
-            {
-            return *EapExpandedTypeGtc.GetType();
-            }
-        case 0x0d:
-            {
-            return *EapExpandedTypeTls.GetType();
-            }
-        case 0x11:
-            {
-            return *EapExpandedTypeLeap.GetType();
-            }
-        case 0x12:
-            {
-            return *EapExpandedTypeSim.GetType();
-            }
-        case 0x15:
-            {
-            return *EapExpandedTypeTtls.GetType();
-            }
-        case 0x17:
-            {
-            return *EapExpandedTypeAka.GetType();
-            }
-        case 0x19:
-            {
-            return *EapExpandedTypePeap.GetType();
-            }
-        case 0x1a:
-            {
-            return *EapExpandedTypeMsChapv2.GetType();
-            }
-        case 0x2b:
-            {
-            return *EapExpandedTypeFast.GetType();
-            }
-        case 0x01:
-            {
-            return *EapExpandedTypeProtectedSetup.GetType();
-            }
-        case 0x62:
-            {
-            return *EapExpandedTypeTtlsPap.GetType();
-            }
-        case 0x63:
-            {
-            return *EapExpandedPlainMsChapv2.GetType();
-            }
-        default:
-            {
-            return *EapExpandedTypeNone.GetType();
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::WPAIndex
-// ---------------------------------------------------------
-//       
-TInt CProcessorWlan::WPAIndex( TDbCreatorWPAFields aFieldId )
-    {
-    __ASSERT_ALWAYS( aFieldId >= EWPAPresharedKey && aFieldId <= EWPAUseOfPresharedKey, 
-                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                     
-    return aFieldId - 0x2000 + iDataStart;                     
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WPAFieldData
-// ---------------------------------------------------------
-//
-HBufC16* CProcessorWlan::WPAFieldData( TDbCreatorWPAFields aFieldId ) 
-    {
-    TInt index = WPAIndex( aFieldId );
-    if( iWpaData[ index ] == NULL )
-        {
-        return iEmptyTag;
-        }
-    else
-        {
-        return iWpaData[ index ];
-        }
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WPAPresharedKeyInUse
-// ---------------------------------------------------------
-//
-TBool CProcessorWlan::WPAPresharedKeyInUse()
-    {
-    HBufC16* useStr = WPAFieldData( EWPAUseOfPresharedKey );   
-
-    TBool usePSK ( EFalse ) ;
-    
-    if ( useStr->CompareF( KStrYes ) == 0 )
-        {
-        CLOG_WRITE( "Preshared key in use" )
-        usePSK = ETrue;
-        }
-    else if ( useStr->CompareF( KStrNo ) == 0 )
-        {
-        CLOG_WRITE( "Preshared key not in use" );
-        }
-    else 
-        {
-        //aField is either empty or invalid
-        CLOG_WRITE( "! Error : Invalid Use WPA preshared key. Default:No" );
-        }
-        
-    return usePSK;
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::WPAKeyLength
-// ---------------------------------------------------------
-//
-TInt CProcessorWlan::WPAKeyLength() 
-    {
-    HBufC16* tag = WPAFieldData( EWPAKeyLength );   
-    
-    TInt num( 0 );
-    TLex parser( tag->Des() );
-
-    if ( parser.Val( num ) != KErrNone )
-        {
-        CLOG_WRITE( "! Error : Invalid input : WPA key length" );
-        }
-        
-    return num;
-    }
-
-// ---------------------------------------------------------
-// CProcessorWlan::AddSecurityDataL
-// ---------------------------------------------------------
-//   
-void CProcessorWlan::AddSecurityDataL( TInt aField, HBufC* aPtrTag, TBool aIsWep )
-    {
-    if( aIsWep )
-        {
-        iWepData[ WEPIndex( (TDbCreatorWEPFields)aField ) ] = aPtrTag->AllocL();
-        ////iWepData.Insert( aPtrTag->AllocL(), WEPIndex( (TDbCreatorWEPFields)aField ) );
-        }
-    else    
-        {
-        iWpaData[ WPAIndex( (TDbCreatorWPAFields)aField ) ] = aPtrTag->AllocL();
-        ////iWpaData.Insert( aPtrTag->AllocL(), WPAIndex( (TDbCreatorWPAFields)aField ) );
-        }
-    }        
-        
-// ---------------------------------------------------------
-// CProcessorWlan::DoLogL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::DoLogL()
-    {
-    // Writes some data of the actual WLAN access point into the log file.
-    HBufC16* tmp;
-    RCmConnectionMethodExt& plugin = GetLastPluginL();
-
-    // Writes some data of the Internet acces point into the log file.
-    if ( iIsEasyWlan )
-        {
-        CLOG_WRITE( "Easy WLAN Access Point created:" )
-        }
-    else
-        {
-        CLOG_WRITE( "WLAN Access Point created:" )
-        }
-        
-    CLOG_WRITE_FORMAT( "\t Connection name in array: %S ", 
-                        (*iPluginName)[ PluginCount() - 1] );  
-        
-    tmp = plugin.GetStringAttributeL( ECmName );
-    if( tmp )
-        {
-        CleanupStack::PushL( tmp );
-        CLOG_WRITE_FORMAT( "\t Connection name: %S ", tmp )
-        CleanupStack::PopAndDestroy( tmp );
-        }
-
-    // For the WLAN network name
-    tmp = plugin.GetStringAttributeL( EWlanSSID );
-    if( tmp )
-        {
-        CleanupStack::PushL( tmp );
-        CLOG_WRITE_FORMAT( "\t Network name: %S", tmp )
-        CleanupStack::PopAndDestroy( tmp );
-        }
-    CLOG_WRITE( "\t \r\n" )
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorWlan::Reset
-// ---------------------------------------------------------
-//
-void CProcessorWlan::Reset()
-    {
-    for( TInt i = 0; i < KWEPKeyNumOfFields; i++ )
-        {
-        iWepData[i] = NULL;
-        }
-    for( TInt i = 0; i < KWPAKeyNumOfFields; i++ )
-        {
-        iWpaData[i] = NULL;
-        }
-    }
-    
-// ---------------------------------------------------------
-// CProcessorWlan::EAPSetting
-// ---------------------------------------------------------
-//
-TBool CProcessorWlan::EAPSetting( const TInt aField )
-	{
-	// Checks if the supplied field is EAP settings and returns ETrue if it is
-	if ( aField > EEapParameterFirst
-		 && aField < EEapParameterLast )
-		{
-		return ETrue;
-		}
-	else
-		{
-		return EFalse;
-		}
-	}
-
-// ---------------------------------------------------------
-// CProcessorWlan::GetEapTypeIdFromSettingId
-// ---------------------------------------------------------
-//
-TEapExpandedType CProcessorWlan::GetEapTypeIdFromSettingId( const TInt aField )
-	{
-	switch ( aField )
-		{
-		case EEapGtcUsername:
-		case EEapGtcSessionValidityTime:
-		case EEapGtcEncapsulation:
-			{
-			return *EapExpandedTypeGtc.GetType();
-			}
-		case EEapTlsUsername:
-		case EEapTlsRealm:
-		case EEapTlsVerifyServerRealm:
-		case EEapTlsRequireClientAuth:
-		case EEapTlsSessionValidityTime:
-		case EEapTlsCipherSuites:
-		case EEapTlsUserCertSubjectKeyId:
-		case EEapTlsUserCertIssuerName:
-		case EEapTlsUserCertSerialNumber:
-		case EEapTlsCaCertSubjectKeyId:
-		case EEapTlsCaCertIssuerName:
-		case EEapTlsCaCertSerialNumber:
-		case EEapTlsEncapsulation:
-			{
-			return *EapExpandedTypeTls.GetType();
-			}
-		case EEapLeapUsername:
-		case EEapLeapPassword:
-		case EEapLeapSessionValidityTime:
-			{
-			return *EapExpandedTypeLeap.GetType();
-			}
-		case EEapSimUsername:
-		case EEapSimRealm:
-		case EEapSimUsePseudonyms:
-		case EEapSimSessionValidityTime:
-		case EEapSimEncapsulation:
-			{
-			return *EapExpandedTypeSim.GetType();
-			}
-		case EEapTtlsUsername:
-		case EEapTtlsRealm:
-		case EEapTtlsVerifyServerRealm:
-		case EEapTtlsRequireClientAuth:
-		case EEapTtlsSessionValidityTime:
-		case EEapTtlsCipherSuites:
-		case EEapTtlsEncapsulatedTypes:
-		case EEapTtlsUserCertSubjectKeyId:
-		case EEapTtlsUserCertIssuerName:
-		case EEapTtlsUserCertSerialNumber:
-		case EEapTtlsCaCertSubjectKeyId:
-		case EEapTtlsCaCertIssuerName:
-		case EEapTtlsCaCertSerialNumber:
-			{
-			return *EapExpandedTypeTtls.GetType();
-			}
-		case EEapAkaUsername:
-		case EEapAkaRealm:
-		case EEapAkaUsePseudonyms:
-		case EEapAkaSessionValidityTime:
-		case EEapAkaEncapsulation:
-			{
-			return *EapExpandedTypeAka.GetType();
-			}
-		case EEapPeapUsername:
-		case EEapPeapRealm:
-		case EEapPeapVerifyServerRealm:
-		case EEapPeapRequireClientAuth:
-		case EEapPeapSessionValidityTime:
-		case EEapPeapCipherSuites:
-		case EEapPeapV0Allowed:
-		case EEapPeapV1Allowed:
-		case EEapPeapV2Allowed:
-		case EEapPeapEncapsulatedTypes:
-		case EEapPeapUserCertSubjectKeyId:
-		case EEapPeapUserCertIssuerName:
-		case EEapPeapUserCertSerialNumber:
-		case EEapPeapCaCertSubjectKeyId:
-		case EEapPeapCaCertIssuerName:
-		case EEapPeapCaCertSerialNumber:		
-			{
-			return *EapExpandedTypePeap.GetType();
-			}
-		case EEapMschapv2Username:
-		case EEapMschapv2Password:
-		case EEapMschapv2SessionValidityTime:
-		case EEapMschapv2Encapsulation:
-			{
-			return *EapExpandedTypeMsChapv2.GetType();
-			}
-		case EEapFastUsername:
-		case EEapFastRealm:
-		case EEapFastVerifyServerRealm:
-		case EEapFastRequireClientAuth:
-		case EEapFastSessionValidityTime:
-		case EEapFastCipherSuites:
-		case EEapFastEncapsulatedTypes:
-		case EEapFastAuthProvModeAllowed:
-		case EEapFastUnauthProvModeAllowed:
-		case EEapFastWarnADHPNoPAC:
-		case EEapFastWarnADHPNoMatchingPAC:
-		case EEapFastWarnNotDefaultServer:
-		case EEapFastUserCertSubjectKeyId:
-		case EEapFastUserCertIssuerName:
-		case EEapFastUserCertSerialNumber:
-		case EEapFastCaCertSubjectKeyId:
-		case EEapFastCaCertIssuerName:
-		case EEapFastCaCertSerialNumber:
-			{
-			return *EapExpandedTypeFast.GetType();
-			}
-		
-		case EMschapv2Username:
-		case EMschapv2Password:
-		case EMschapv2SessionValidityTime:
-		case EMschapv2Encapsulation:
-			{
-			return *EapExpandedPlainMsChapv2.GetType();
-			}
-		default:
-			{
-			return *EapExpandedTypeNone.GetType();
-			}
-		
-		}
-	}
-	
-// ---------------------------------------------------------
-// CProcessorWlan::AddEAPSetting
-// ---------------------------------------------------------
-//
-void CProcessorWlan::AddEAPSettingL( const TInt aField, HBufC16* aValue  )
-    {
-    TEapExpandedType eapId = GetEapTypeIdFromSettingId( aField );
-    if ( eapId == *EapExpandedTypeNone.GetType() )
-    	{
-    	CLOG_WRITE( "! Error : Unknown EAP method" );
-    	User::Leave( KErrArgument ); 
-    	}
-    
-	TInt eapIndex(0);
-	// Search if the EAP instance already exists in the array for this
-	for ( eapIndex = 0 ; eapIndex < iEapSettings.Count() ; eapIndex++ )
-		{       				
-		if ( ( iEapSettings[eapIndex]->iEapSettings->iEAPExpandedType == eapId )
-			 && ( iEapSettings[eapIndex]->iName != NULL ) 
-			 && ( iEapSettings[eapIndex]->iName->Compare( *iName ) == 0 ))        					 	
-		 	{       				
-		 	// Found it
-		 	break;
-		 	}
-		}
-		
-	if ( eapIndex == iEapSettings.Count() )
-		{
-		// Not found. Create new
-		CEapTypeElement* newEap = new (ELeave) CEapTypeElement;
-		CleanupStack::PushL( newEap );
-		
-		newEap->iEapSettings = new (ELeave) EAPSettings;
-		
-		newEap->iEapSettings->iEAPExpandedType = eapId;
-		
-		newEap->iName = iName->AllocL();                           
-		               	    	
-		iEapSettings.AppendL(newEap);
-		
-		CleanupStack::Pop( newEap );
-		
-		// Set the index to the newly created EAP settings instance
-		eapIndex = iEapSettings.Count() - 1;
-		
-		}
-	switch ( aField )
-		{
-		case EEapGtcUsername:
-		case EEapTlsUsername:
-		case EEapLeapUsername:
-		case EEapSimUsername:
-		case EEapTtlsUsername:
-		case EEapAkaUsername:
-		case EEapPeapUsername:
-		case EEapMschapv2Username:
-		case EEapFastUsername:
-		case EMschapv2Username:
-			{
-			iEapSettings[eapIndex]->iEapSettings->iUsernamePresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUsername.Copy( *aValue );
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticUsernamePresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticUsername = EFalse;
-			break;
-			}
-			
-		case EEapLeapPassword:
-		case EEapMschapv2Password:
-		case EMschapv2Password:
-			{
-			iEapSettings[eapIndex]->iEapSettings->iPasswordPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iPassword.Copy( *aValue );
-			iEapSettings[eapIndex]->iEapSettings->iShowPassWordPromptPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticUsername = EFalse;
-			break;
-			}
-
-		case EEapTlsRealm:
-		case EEapSimRealm:
-		case EEapTtlsRealm:
-		case EEapAkaRealm:
-		case EEapPeapRealm:
-		case EEapFastRealm:
-			{
-			iEapSettings[eapIndex]->iEapSettings->iRealmPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iRealm.Copy( *aValue );
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticRealmPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticRealm = EFalse;
-			break;
-			}
-				
-		case EEapGtcSessionValidityTime:
-		case EEapTtlsSessionValidityTime:
-		case EEapTlsSessionValidityTime:
-		case EEapSimSessionValidityTime:
-		case EEapLeapSessionValidityTime:
-		case EMschapv2SessionValidityTime:
-		case EEapAkaSessionValidityTime:
-		case EEapPeapSessionValidityTime:
-		case EEapMschapv2SessionValidityTime:
-		case EEapFastSessionValidityTime:
-			{
-		    // Convert the input parameter to integer
-	    	TLex lex( *aValue );
-			TUint value( 0 );
-			if( lex.Val( value, EDecimal) != KErrNone )
-				{				
-				CLOG_WRITE_FORMAT( "! Error : Invalid session validity time value. EapId: %d", eapId.GetVendorType() );
-				User::Leave( KErrArgument );
-				}			
-
-			iEapSettings[eapIndex]->iEapSettings->iSessionValidityTimePresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iSessionValidityTime = value;
-			break;
-			}
-				
-		case EEapGtcEncapsulation:
-		case EEapTlsEncapsulation:
-		case EEapSimEncapsulation:
-		case EEapAkaEncapsulation:
-		case EEapMschapv2Encapsulation:
-		case EMschapv2Encapsulation:
-			{
-			TLex lex( *aValue );				
-			TUint eapTypeId( 0 );						
-			if( lex.Val( eapTypeId, EDecimal) != KErrNone )
-				{
-				CLOG_WRITE_FORMAT( "! Error : Invalid encapsulation value. EapId: %d", eapId.GetVendorType() );
-				User::Leave( KErrArgument );
-				}			
-			iEapSettings[eapIndex]->iEncapsulatingEapId.SetValue( eapId.GetVendorId(), eapTypeId ); 
-			break;
-			}
-		
-		case EEapTlsVerifyServerRealm:
-		case EEapTtlsVerifyServerRealm:
-		case EEapPeapVerifyServerRealm:
-		case EEapFastVerifyServerRealm:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-                {
-				iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealmPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealm = ETrue;
-                }
-            else if ( !aValue->CompareF( KStrNo ) )
-                {
-                iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealmPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealm = EFalse;
-                }
-            else 
-                {                
-                CLOG_WRITE_FORMAT( "! Error : Invalid VerifyServerRealm. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-                }
-
-			break;
-			}
-						
-		case EEapTlsRequireClientAuth:
-		case EEapTtlsRequireClientAuth:		
-		case EEapPeapRequireClientAuth:
-		case EEapFastRequireClientAuth:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-                {
-				iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthenticationPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthentication = ETrue;
-                }
-            else if ( !aValue->CompareF( KStrNo ) )
-                {
-                iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthenticationPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthentication = EFalse;
-                }
-            else 
-                {                
-                CLOG_WRITE_FORMAT( "! Error : Invalid RequireClientAuth. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-                }
-			
-			break;
-			}
-		
-		case EEapTlsCipherSuites:
-		case EEapTtlsCipherSuites:
-		case EEapPeapCipherSuites:
-		case EEapFastCipherSuites:
-			{
-			TRAPD( err, FillCipherSuitesL( aValue, eapIndex ) );
-			if( err != KErrNone )
-				{
-				CLOG_WRITE_FORMAT( "! Error : Invalid CipherSuites. EapId: %d", eapId.GetVendorType() );
-				User::Leave( KErrArgument );
-				}
-			break;
-			}
-		
-		case EEapTlsUserCertSubjectKeyId:
-		case EEapTtlsUserCertSubjectKeyId:
-		case EEapPeapUserCertSubjectKeyId:
-		case EEapFastUserCertSubjectKeyId:
-			{
-			TInt certIndex = FindCertificateEntryL( EapCertificateEntry::EUser, eapIndex ); 
-
-			TKeyIdentifier key;
-			
-			TRAPD( err, ConvertSubjectKeyIdToBinaryL( aValue, key) );
-			if( err != KErrNone )
-				{
-				CLOG_WRITE_FORMAT( "! Error : Invalid UserCertSubjectKeyId. EapId: %d", eapId.GetVendorType() );
-				User::Leave( KErrArgument );
-				}
-   			
-   			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
-   			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
-   			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyId( key );
-   			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyIdPresent();
-			break;
-			}
-		
-		case EEapTlsUserCertIssuerName:
-		case EEapTtlsUserCertIssuerName:
-		case EEapPeapUserCertIssuerName:
-		case EEapFastUserCertIssuerName:
-			{
-			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::EUser, eapIndex ); 
-			
-			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyIdPresent();
-	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIssuerName( *aValue );			
-			break;
-			}
-		
-		case EEapTlsUserCertSerialNumber:
-		case EEapTtlsUserCertSerialNumber:
-		case EEapPeapUserCertSerialNumber:
-		case EEapFastUserCertSerialNumber:
-			{
-			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::EUser, eapIndex );
-			
-			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumberPresent();
-	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumber( *aValue );			
-			break;
-			}
-		
-		case EEapTlsCaCertSubjectKeyId:
-		case EEapTtlsCaCertSubjectKeyId:
-		case EEapPeapCaCertSubjectKeyId:
-		case EEapFastCaCertSubjectKeyId:
-			{
-			TInt certIndex = FindCertificateEntryL( EapCertificateEntry::ECA, eapIndex ); 
-
-			TKeyIdentifier key;
-			
-			TRAPD( err, ConvertSubjectKeyIdToBinaryL( aValue, key) );
-			if( err != KErrNone )
-				{
-				CLOG_WRITE_FORMAT( "! Error : Invalid UserCertSubjectKeyId. EapId: %d", eapId.GetVendorType() );
-				User::Leave( KErrArgument );
-				}
-
-			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyId( key );
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyIdPresent();
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificatePresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificate = EFalse;
-			break;
-			}
-		
-		case EEapTlsCaCertIssuerName:
-		case EEapTtlsCaCertIssuerName:		
-		case EEapPeapCaCertIssuerName:
-		case EEapFastCaCertIssuerName:
-			{
-			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::ECA, eapIndex ); 
-			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIssuerNamePresent();
-	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIssuerName( *aValue );
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificatePresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificate = EFalse;
-			
-			break;
-			}
-		
-		case EEapTlsCaCertSerialNumber:
-		case EEapTtlsCaCertSerialNumber:		
-		case EEapPeapCaCertSerialNumber:
-		case EEapFastCaCertSerialNumber:
-			{
-			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::ECA, eapIndex ); 
-			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
-			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumberPresent();
-	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumber( *aValue );
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificatePresent = ETrue;
-			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificate = EFalse;
-			break;
-			}
-		
-		case EEapSimUsePseudonyms:
-		case EEapAkaUsePseudonyms:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iUsePseudonymsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iUsePseudonyms = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iUsePseudonymsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iUsePseudonyms = EFalse;
-	            }
-	        else 
-	            {
-	            CLOG_WRITE_FORMAT( "! Error : Invalid UsePseudonyms. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			break;
-			}
-				
-		case EEapTtlsEncapsulatedTypes:
-		case EEapPeapEncapsulatedTypes:
-		case EEapFastEncapsulatedTypes:
-			{
-			iEapSettings[eapIndex]->iEapSettings->iEnabledEncapsulatedEAPExpandedTypes.Append( GetExpandedEapTypeIdL( *aValue ) );
-            iEapSettings[eapIndex]->iEapSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
-			break;
-			}
-		
-		case EEapPeapV0Allowed:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iPEAPv0Allowed = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iPEAPv0Allowed = EFalse;
-	            }
-	        else 
-	            {
-   	            CLOG_WRITE_FORMAT( "! Error : Invalid EapPeapV0Allowed. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-		
-		case EEapPeapV1Allowed:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iPEAPv1Allowed = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iPEAPv1Allowed = EFalse;
-	            }
-	        else 
-	            {
-   	            CLOG_WRITE_FORMAT( "! Error : Invalid EapPeapV1Allowed. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-		
-		case EEapPeapV2Allowed:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iPEAPv2Allowed = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iPEAPv2Allowed = EFalse;
-	            }
-	        else 
-	            {
-   	            CLOG_WRITE_FORMAT( "! Error : Invalid EapPeapV2Allowed. EapId: %d", eapId.GetVendorType() );
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-				
-		case EEapFastAuthProvModeAllowed:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowedPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowed = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowedPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowed = EFalse;
-	            }
-	        else 
-	            {
-  	            CLOG_WRITE_FORMAT( "! Error : Invalid EEapFastAuthProvModeAllowed. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-		
-		case EEapFastUnauthProvModeAllowed:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowedPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowed = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowedPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowed = EFalse;
-	            }
-	        else 
-	            {
-
-  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastUnauthProvModeAllowed. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-		
-		case EEapFastWarnADHPNoPAC:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPACPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPAC = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPACPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPAC = EFalse;
-	            }
-	        else 
-	            {
-  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastWarnADHPNoPAC. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-		
-		case EEapFastWarnADHPNoMatchingPAC:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPACPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPAC = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPACPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPAC = EFalse;
-	            }
-	        else 
-	            {
-  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastWarnADHPNoMatchingPAC. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-		
-		case EEapFastWarnNotDefaultServer:
-			{
-            if ( !aValue->CompareF( KStrYes ) )
-	            {
-				iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServerPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServer = ETrue;
-	            }
-	        else if ( !aValue->CompareF( KStrNo ) )
-	            {
-	            iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServerPresent = ETrue;
-				iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServer = EFalse;
-	            }
-	        else 
-	            {
-  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastWarnNotDefaultServer. EapId: %d", eapId.GetVendorType() );                
-                User::Leave( KErrArgument );
-	            }
-			
-			break;
-			}
-			
-		default:		
-			{
-			
-			}
-		}
-    }
-// ---------------------------------------------------------
-// CProcessorWlan::FillCipherSuitesL
-// ---------------------------------------------------------
-//
-void CProcessorWlan::FillCipherSuitesL( const HBufC16* const aPtrTag, const TInt aEapIndex )
-    {
-    if ( iEapSettings[aEapIndex] == NULL )
-        {
-		User::Leave( KErrArgument );
-        }
-
-    iEapSettings[aEapIndex]->iEapSettings->iCipherSuites.Reset();
-    iEapSettings[aEapIndex]->iEapSettings->iCipherSuitesPresent = EFalse; // init to EFalse
-    
-    TChar plus( '+' );
-    
-    TBuf8<256> tmpBuf;
-   	tmpBuf.Copy( *aPtrTag);
-   			
-    TInt length = tmpBuf.Length();
-    
-    for ( TInt i = 0 ; i + 3 < length ; i += 5)
-        {
-        if ( tmpBuf[i] == plus )
-            {
-            TLex8 lex( tmpBuf.Mid( i + 1, 3) );
-            TUint suite;
-            User::LeaveIfError( lex.Val( suite ) );
-            iEapSettings[aEapIndex]->iEapSettings->iCipherSuites.Append(suite);
-            iEapSettings[aEapIndex]->iEapSettings->iCipherSuitesPresent = ETrue;
-            }
-        }
-	}
-    
-// ---------------------------------------------------------
-// CProcessorWlan::FindCertificateEntry
-// ---------------------------------------------------------
-//
-TUint CProcessorWlan::FindCertificateEntryL( const EapCertificateEntry::TCertType aCertType, const TInt aEapIndex )
-    {
-    TUint certIndex( 0 );
-	for( certIndex = 0; certIndex < iEapSettings[aEapIndex]->iEapSettings->iCertificates.Count() ; certIndex++ )
-		{
-		if( iEapSettings[aEapIndex]->iEapSettings->iCertificates[certIndex]->GetCertType() == aCertType )
-			{
-			// Found
-			break;
-			}
-		}
-	if( certIndex == iEapSettings[aEapIndex]->iEapSettings->iCertificates.Count() )
-		{
-		// Not found. Create
-		EapCertificateEntry* entry;
-		entry = new (ELeave) EapCertificateEntry;
-		entry->SetCertType( aCertType );
-
-		iEapSettings[aEapIndex]->iEapSettings->iCertificates.AppendL( entry );
-
-		certIndex = iEapSettings[aEapIndex]->iEapSettings->iCertificates.Count() - 1;
-		}
-	return certIndex;	
-	}
-
-// ---------------------------------------------------------
-// CProcessorWlan::ConvertSubjectKeyIdToBinary
-// ---------------------------------------------------------
-//
-void CProcessorWlan::ConvertSubjectKeyIdToBinaryL( const HBufC16* const aSubjectKeyIdString, TKeyIdentifier& aBinaryKey)
-	{
-	TInt err( KErrNone );
-	
-		// Define literals to search the subject key for possible 0X/0x beginning
-	_LIT(KHexIdLC, "0x");
-	_LIT(KHexIdUC, "0X");
-	TBuf<2> hexIdBuf;
-	
-	// The lenght of the key given as input
-	TInt keyLen = aSubjectKeyIdString->Length();
-	
-	// setting the given key to the key buffer
-	TBuf8<256> origKey;
-	
-	origKey.Copy( *aSubjectKeyIdString );
-	origKey.SetLength(keyLen);
-		
-	TLex8 tmpByte;
-	TUint16 byte;
-	
-	// Remove possible spaces from the beginning
-	origKey.TrimLeft();
-	
-	// the key should be atleast two chars long
-	if (origKey.Length() >= 2)
-		{
-		// Copy the two left most characters in to the buffer
-		hexIdBuf.Copy(origKey.Left(2));
-		
-		// If the first characters are 0x or 0X, then thet should be ignored
-		if (hexIdBuf.Compare(KHexIdLC) == 0
-				|| hexIdBuf.Compare(KHexIdUC) == 0)
-			{
-			// delete two characters
-			origKey.Delete(0, 2);
-			}
-		}
-
-
-	// looping the subject key through, removing whitespaces
-	for (TInt i = 0; i < KKeyIdentifierLength; i++)
-		{
-		// removing white spaces from the left side of the key
-		origKey.TrimLeft();
-		// check that there are characters left
-		if (origKey.Length() >= 2)
-			{
-			// pick the two left most bytes from the key
-			tmpByte = origKey.Left(2);
-			// convert byte into binary format
-			err = tmpByte.Val(byte, EHex);
-			
-			// check whether conversion to decimal went ok
-			if (err != KErrNone)
-				{
-				// if there are problems, then leave the loop
-				break;
-				}
-			
-			// store the appended byte into the key variable
-			aBinaryKey.Append(byte);
-			// delete two characters from the left side of the character array in the buffer
-			origKey.Delete(0, 2);
-			}
-		else {
-			// leave the loop, no characters are left			
-			break;
-			}
-		}
-	User::LeaveIfError( err );		
-	}
-	
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcreaderbase.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CReaderBase
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "cdcreaderbase.h"
-#include "cdclogger.h"
-
-#include "cdcerrors.h"
-#include "cdccommon.h"
-
-// CONSTANTS
-
-// ================= MEMBER FUNCTIONS =======================
-
-//---------------------------------------------------------
-// Constructor & Destructor
-//---------------------------------------------------------
-//
-CReaderBase::~CReaderBase()
-    {
-    CLOSE_LOG;
-    //no implementation required
-    delete iTagContainer;
-    
-    iInputFile.Close();
-    iFs.Close();
-    }
-    
-    
-CReaderBase::CReaderBase( TDbCreatorInputFile aFileType,
-                          TDbCreatorFeatures aFeature ):
-    iCurrentFeature( aFeature ),
-    iTagContainer( NULL ),
-    iFileType( aFileType )
-    {
-        //no implementation required
-    }
-
-// ---------------------------------------------------------
-// CProcessorBase::ConstructL
-// ---------------------------------------------------------
-//
-void CReaderBase::ConstructL( const TDesC& aInFileName )
-    {
-    User::LeaveIfError( iFs.Connect() );
-
-    TInt error( iInputFile.Open( iFs, aInFileName,
-                        EFileShareReadersOnly | EFileStream | EFileRead ) );
-                        
-    if ( error == KErrNotFound )
-        {
-        User::Leave( KErrNotFound );
-        }
-    else if ( error )
-        {
-        User::Leave( KErrFileCannotBeOpened );
-        }
-    else
-        {
-        //nothing to do    
-        }
-    
-    ////iFs.MkDirAll( KFullLogDir );
-
-    CREATE_LOG;
-
-    ////User::LeaveIfError( iLogFile.Connect() );
-    ////iLogFile.CreateLog( KLogDir, KLogFile , EFileLoggingModeAppend );
-    
-       iTagContainer = CTagContainer::NewL();
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorBase::TagContainer
-// ---------------------------------------------------------
-//
-CTagContainer& CReaderBase::TagContainer()
-    {
-    return *iTagContainer;
-    }
-    
-    
-// ---------------------------------------------------------
-// CProcessorBase::InputFile
-// ---------------------------------------------------------
-//
-RFile& CReaderBase::InputFile()
-    {
-    return iInputFile;
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorBase::FileLogger
-// ---------------------------------------------------------
-//
-RFileLogger& CReaderBase::FileLogger()
-    {
-    return iLogFile;    
-    }
-
-
-// ---------------------------------------------------------
-// CProcessorBase::FieldIDPresent
-// ---------------------------------------------------------
-//
-TBool CReaderBase::FieldIDPresent()
-    {
-    return ( iFileType == EFileXML );    
-    }
-
-    
-// ---------------------------------------------------------
-// CProcessorBase::CurrentFeature
-// ---------------------------------------------------------
-//
-TDbCreatorFeatures CReaderBase::CurrentFeature()
-    {
-    return iCurrentFeature;    
-    }
-    
-//End of file
--- a/dbcreator/commsdatcreator/Src/cdcreaderxml.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1825 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CReaderXML
-*
-*/
-
-
-
- 
-// INCLUDE FILES
-
-#include "cdcreaderxml.h"
-#include "cdclogger.h"
-
-#include <utf.h>
-#include <cmpluginpacketdatadef.h>
-#include <cmplugindialcommondefs.h>
-#include <cmpluginlandef.h>
-#include <cmpluginwlandef.h>
-#include <cmpluginvpndef.h>
-#include <cmconnectionmethoddef.h>
-
-using namespace CMManager;
-
-//TYPE DECLARATION
-
-//CONSTANTS
-//
-// Literals in XML header
-_LIT16( KXmlVersion,       "xml version" );
-_LIT16( KEncoding,         "encoding" );
-_LIT16( KEncodingUtf8,     "UTF-8" );
-
-// File tail marker
-_LIT16( KFileTail,         "</Variant>");
-_LIT16( KFileTail2,         "</Data>");
-
-// Feature head markers
-_LIT16( KFeatureHeadPacketData, "<APs>" );
-_LIT16( KFeatureHeadWLAN,       "<WLAN_APs>" );
-_LIT16( KFeatureHeadLAN,        "<LAN_APs>" );
-_LIT16( KFeatureHeadVPN,        "<VPN_APs>" );
-_LIT16( KFeatureHeadGlobal,     "<Global>" );
-_LIT16( KFeatureHeadDN,         "<DNs>" );
-
-// Feature tail markers
-_LIT16( KFeatureTailPacketData, "</APs>" );
-_LIT16( KFeatureTailWLAN,       "</WLAN_APs>" );
-_LIT16( KFeatureTailLAN,        "</LAN_APs>" );
-_LIT16( KFeatureTailVPN,        "</VPN_APs>" );
-_LIT16( KFeatureTailGlobal,     "</Global>" );
-_LIT16( KFeatureTailDN,         "</DNs>" );
-
-// Feature data head markers
-_LIT16( KDataHeadPacketData, "<AP>" );
-_LIT16( KDataHeadWLAN,       "<WLAN_AP>" );
-_LIT16( KDataHeadLAN,        "<LAN_AP>" );
-_LIT16( KDataHeadVPN,        "<VPN_AP>" );
-_LIT16( KDataHeadDN,         "<DN>" );
-
-// Feature data tail markers
-_LIT16( KDataTailPacketData, "</AP>" );
-_LIT16( KDataTailWLAN,       "</WLAN_AP>" );
-_LIT16( KDataTailLAN,        "</LAN_AP>" );
-_LIT16( KDataTailVPN,        "</VPN_AP>" );
-_LIT16( KDataTailDN,         "</DN>" );
-
-// Parameter Markers
-// <ParamName>ParamValue</ParamName>
-_LIT16( KParamValueHead,        ">" );
-_LIT16( KParamValueTail,        "</" );
-_LIT16( KParamNameHead,         "<" );
-_LIT16( KParamNameTail,         ">" );
-
-
-//maximum line size
-const TInt16 KMaxLineSize   = 1024;
-//maximum item (tag) size
-const TInt16 KMaxItemLength = 100;
-
-// ratio between ascii and unicode character sizes
-const TUint KAsciiUnicodeRatio = 2;
-
-//  Following table contains the input parameter names:
-//
-//    Name                Type    Description
-//----------------------------------------------------------------------------
-//General & Gprs specific:
-//========================
-//KConnectionName         string    The name of the access point.
-//KProtected              string    Protection
-//KHidden                 string    CM/DN is hidden
-//KHiddenAgent            string    CM/DN is not shown in CConnDlg
-//KHighlighted            string    CM/DN is highlighted in CConnDlg
-//KSeamlessness           string    Seamlessness value
-//KGprs_AP_Name           string    Access point name.
-//KUserName               string    Login user name
-//KPromptPassword         string    Prompts the user for username and 
-//                                  password
-//KPassword               string    Login password.
-//KPasswordAuthType       string    Disables plain text authentication.
-//KWAPGatewayIP           string    WAP gateway address (IP address).
-//KStartingPage           string    WAP start page URL.
-//KWTLS_Security          string    Attempts a secure WTLS connection 
-//                                  to the gateway.
-//KWAP_ConnectionType     string    Indicates whether a connection-
-//                                  oriented or connectionless API 
-//                                  should be used.
-//KPhoneIP                string    IP address of the interface.
-//KPrimaryNameServer      string    IP address of the primary name 
-//                                  server.
-//KSecondaryNameServer    string    IP address of the secondary name
-//                                  server.
-//KProxyServerAddress     string    Proxy server address.
-//KProxyPortNumber        string    Proxy port number.
-//KProxyProtocolName      string    Proxy protocol name.
-//KPrimaryIP6NameServer   string    IP address of the primary IPv6 
-//                                  name server.
-//KSecondaryIP6NameServer string    IP address of the secondary IPv6 
-//                                  name server.
-//KNetworkType            string    Network type: IPv4 or IPv6
-//KGprsUseEdge            string    Sets the GprsUseEdge parameter
-//=============
-//LAN specific:
-//=============
-//KLanIfNetworks          string    Network protcols
-//KLanIpNetMask           string    IP net mask of interface
-//KLanIpGateway           string    IP address of gateway
-//==============
-//WLAN specific:
-//==============
-//KNetworkName            string    The name of the WLAN network 
-//KNetworkMode            string    The WLAN network mode 
-//KSecurityMode           string    The security mode of the WLAN network
-//KWlanIpGatewayAddress   string    IP address of gateway 
-//KWlanIpNetMask          string    IP net mask of interface 
-//KWlanChannelId          integer   802.11 Channel ID (1-14) 
-
-//---------------
-//WEP security 
-//---------------
-//WEPKeyInUse             integer   Index of the default WEP key
-//WEPAuthType             string    WEP authentication mode. 
-//WEPKey1Length           string    Key length of WEP key1. 64, 128, 256 bit.
-//WEPKey1Format           string    Format of WEP key 1. ASCII or Hexadecimal
-//WEPKey1Data             string    Data  of WEP key1
-//WEPKey2Length           string    Key length of WEP key2. 64, 128, 256 bit.
-//WEPKey2Format           string    Format of WEP key 2. ASCII or Hexadecimal
-//WEPKey2Data             string    Data  of WEP key2
-//WEPKey3Length           string    Key length of WEP key3. 64, 128, 256 bit.
-//WEPKey3Format           string    Format of WEP key 3. ASCII or Hexadecimal
-//WEPKey3Data             string    Data  of WEP key3
-//WEPKey4Length           string    Key length of WEP key4. 64, 128, 256 bit.
-//WEPKey4Format           string    Format of WEP key 4. ASCII or Hexadecimal
-//WEPKey4Data             string    Data  of WEP key4
-//---------------
-//WPA security
-//---------------
-//WPAPresharedKey         string    WPA/WPA2 pre-shared key in plain text. 
-//WPAKeyLength            integer   The length of the WPA/WPA2 pre-shared key.
-//WPAEapMethod            string    A EAP method in use
-//WPAUseOfPresharedKey    string    WPA/WPA2 pre-shared key usage.
-//=============
-//VPN specific:
-//=============
-//KVpnIapName             string    IAP name used for the connection
-//KVpnServicePolicy       string    Service policy ID
-//====================
-//Destination Networks
-//====================
-//KDN_Name                string    The name of the Destination Network
-//KDN_Icon                integer   Index of icon assigned to the DN
-//KDN_Metadata            string    Destination type
-//KDN_Protection          integer   Protection level of the DN
-//KDN_Hidden              integer   Shows whether DN is hidden or not
-//KDN_IAPName             string    Name of a Connection Method that is
-//                                  bound to the DN
-//KDN_IAPName2..10        string    Same as above
-//KDN_EmbeddedDN          string    Name of an Embedded DN that is bound
-//                                  to the DN
-//===============
-//Global settings
-//===============
-//KAttachMode             string    Gprs attach mode
-//KDefaultAP              string    Default Gprs access point
-//KTableProtection        string    Table level protection
-//KDefaultDnIcon          integer   Default icon for DNs
-//KPriorityLan            integer   Default priority for Lan bearer type
-//KPriorityWlan           integer   Default priority for WLan bearer type
-//KPriorityPan            integer   Default priority for Pan bearer type
-//KPriorityGprsOut        integer   Default priority for outgoing Gprs
-//                                  bearer type
-//KPriorityGprsIn         integer   Default priority for incoming Gprs
-//                                  bearer type
-//KPriorityCdma2k         integer   Default priority for CDMA2000 bearer type
-//KPriorityDialOut        integer   Default priority for incoming dial
-//                                  bearer type
-//KPriorityDialIn         integer   Default priority for outgoing dial
-//                                  bearer type
-//KPriorityVpn            integer   Default priority for Vpn bearer type
-//KPriorityMip            integer   Default priority for Mip bearer type
-//KUIPriorityLan          integer   Default UI priority for Lan bearer type
-//KUIPriorityWlan         integer   Default UI priority for WLan bearer type
-//KUIPriorityPan          integer   Default UI priority for Pan bearer type
-//KUIPriorityGprsOut      integer   Default UI priority for outgoing Gprs
-//                                  bearer type
-//KUIPriorityGprsIn       integer   Default UI priority for incoming Gprs
-//                                  bearer type
-//KUIPriorityCdma2k       integer   Default UI priority for CDMA2000
-//                                  bearer type
-//KUIPriorityDialOut      integer   Default UI priority for incoming dial
-//                                  bearer type
-//KUIPriorityDialIn       integer   Default UI priority for outgoing dial
-//                                  bearer type
-//KUIPriorityVpn          integer   Default UI priority for Vpn bearer type
-//KUIPriorityMip          integer   Default UI priority for Mip bearer type
-
-//KDefaultConnectionType  integer   Default connection method type
-//KDefaultConnectionName  string    Default connection method name
-
-//KUsageOfWlan            integer   Usage of known WLAN networks, automatical or manual
-//KSeamlessnessHome       integer   Cellular data usage in home network
-//KSeamlessnessVisitor    integer   Cellular data usage in foreign networks
-
-
-//KGprsLastSocketActivityTimeout    integer
-//KGprsLastSessionClosedTimeout     integer The time how long Gprs PDP context stays active 
-//                                          after the last application using the connection was closed.
-//KGprsLastSocketClosedTimeout      integer
-//KCsdLastSocketActivityTimeout     integer
-//KCsdLastSessionClosedTimeout      integer
-//KCsdLastSocketClosedTimeout       integer
-//KWlanLastSocketActivityTimeout    integer
-//KWlanLastSessionClosedTimeout     integer
-//KWlanLastSocketClosedTimeout      integer
-//KWlanBGScanInterval               integer
-//KWlanUseDefSettings               integer
-//KWlanLongRetry                    integer
-//KWlanShortRetry                   integer
-//KWlanRTS                          integer
-//KWlanTxPowerLevel                 integer
-//KWlanRadioMeasurements            integer
-//KWlanPowerMode                    integer Whether WLAN power save is on or off
-
-
-//String literals defined for input parameters
-
-//General & Gprs specific
-_LIT16( KConnectionName,            "ConnectionName" );
-_LIT16( KConnectionId,              "ConnectionId" );
-_LIT16( KProtected,                 "Protected" );
-_LIT16( KHidden,                    "Hidden" );
-_LIT16( KHiddenAgent,               "HiddenAgent" );
-_LIT16( KHighlighted,               "Highlighted" );
-_LIT16( KSeamlessness,              "Seamlessness" );
-_LIT16( KGprs_AP_Name,              "Gprs_AP_Name" );
-_LIT16( KUserName,                  "UserName" );
-_LIT16( KPromptPassword,            "PromptPassword" );
-_LIT16( KPassword,                  "Password" );
-_LIT16( KPasswordAuthType,          "PasswordAuthenticationType" );
-_LIT16( KWAPGatewayIP,              "WAPGatewayIP" );
-_LIT16( KStartingPage,              "StartingPage" );
-_LIT16( KWTLS_Security,             "WTLS_Security" );
-_LIT16( KWAP_ConnectionType,        "WAP_ConnectionType" );
-_LIT16( KPhoneIP,                   "PhoneIP" );
-_LIT16( KPrimaryNameServer,         "PrimaryNameServer" );
-_LIT16( KSecondaryNameServer,       "SecondaryNameServer" );
-_LIT16( KProxyServerAddress,        "ProxyServerAddress" );
-_LIT16( KProxyPortNumber,           "ProxyPortNumber" );
-_LIT16( KProxyProtocolName,         "ProxyProtocolName");
-_LIT16( KPrimaryIP6NameServer,      "PrimaryIP6NameServer" );
-_LIT16( KSecondaryIP6NameServer,    "SecondaryIP6NameServer" );
-_LIT16( KNetworkType,               "NetworkType");
-_LIT16( KIspType,                   "IspType" );
-_LIT16( KGprsUseEdge,               "GprsUseEdge");
-_LIT16( KLinger,                    "Linger");
-
-//Lan specific
-_LIT16( KLanIfNetworks,             "LanIfNetworks" );
-_LIT16( KLanIpNetMask,              "LanIpNetMask" );
-_LIT16( KLanIpGateway,              "LanIpGateway" );
-_LIT16( KLanIpAddrFromServer,       "IpAddrFromServer" );
-_LIT16( KLanIpDNSAddrFromServer,    "IpDNSAddrFromServer" ); 
-_LIT16( KLanConfigDaemonManagerName,"ConfigDaemonManagerName" );
-_LIT16( KLanConfigDaemonName,       "ConfigDaemonName" );
-
-//Wlan specific
-_LIT16( KNetworkName,               "NetworkName" );
-_LIT16( KNetworkMode,               "NetworkMode" );
-_LIT16( KSecurityMode,              "SecurityMode" );
-_LIT16( KWlanIpGatewayAddress,      "WlanIpGatewayAddress" );
-_LIT16( KWlanIpNetMask,             "WlanIpNetMask" );
-_LIT16( KWlanScanSSId,              "WlanScanSSId" );
-_LIT16( KWlanChannelId,             "WlanChannelId" );
-
-//WEP security
-_LIT16( KWEPKeyInUse,               "WEPKeyInUse" );
-_LIT16( KWEPAuthType,               "WEPAuthType" );
-_LIT16( KWEPKey1Length,             "WEPKey1Length" );
-_LIT16( KWEPKey1Format,             "WEPKey1Format" );
-_LIT16( KWEPKey1Data,               "WEPKey1Data" );
-_LIT16( KWEPKey2Length,             "WEPKey2Length" );
-_LIT16( KWEPKey2Format,             "WEPKey2Format" );
-_LIT16( KWEPKey2Data,               "WEPKey2Data" );
-_LIT16( KWEPKey3Length,             "WEPKey3Length" );
-_LIT16( KWEPKey3Format,             "WEPKey3Format" );
-_LIT16( KWEPKey3Data,               "WEPKey3Data" );
-_LIT16( KWEPKey4Length,             "WEPKey4Length" );
-_LIT16( KWEPKey4Format,             "WEPKey4Format" );
-_LIT16( KWEPKey4Data,               "WEPKey4Data" );
-
-//WPA security
-_LIT16( KWPAPresharedKey,           "WPAPresharedKey" );
-_LIT16( KWPAKeyLength,              "WPAKeyLength" );
-_LIT16( KWPAEapMethod,              "WPAEapMethod");
-_LIT16( KWPAUseOfPresharedKey,      "WPAUseOfPresharedKey" );
-
-//EAP security
-_LIT16( KEapGtcUsername,            "EapGtcUsername" );
-_LIT16( KEapGtcSessionValidityTime, "EapGtcSessionValidityTime" );
-_LIT16( KEapGtcEncapsulation,       "EapGtcEncapsulation" );
-
-
-_LIT16( KEapTlsUsername,            "EapTlsUsername" );
-_LIT16( KEapTlsRealm,               "EapTlsRealm" );
-_LIT16( KEapTlsVerifyServerRealm,   "EapTlsVerifyServerRealm" );
-_LIT16( KEapTlsRequireClientAuth,   "EapTlsRequireClientAuth" );
-_LIT16( KEapTlsSessionValidityTime, "EapTlsSessionValidityTime" );
-_LIT16( KEapTlsCipherSuites,        "EapTlsCipherSuites" );
-_LIT16( KEapTlsUserCertSubjectKeyId,"EapTlsUserCertSubjectKeyId" );
-_LIT16( KEapTlsUserCertIssuerName,  "EapTlsUserCertIssuerName" );
-_LIT16( KEapTlsUserCertSerialNumber,"EapTlsUserCertSerialNumber" );
-_LIT16( KEapTlsCaCertSubjectKeyId,  "EapTlsCaCertSubjectKeyId" );
-_LIT16( KEapTlsCaCertIssuerName,    "EapTlsCaCertIssuerName" );
-_LIT16( KEapTlsCaCertSerialNumber,  "EapTlsCaCertSerialNumber" );
-_LIT16( KEapTlsEncapsulation,       "EapTlsEncapsulation" );
-
-
-_LIT16( KEapLeapUsername,           "EapLeapUsername" );
-_LIT16( KEapLeapPassword,           "EapLeapPassword" );
-_LIT16( KEapLeapSessionValidityTime,"EapLeapSessionValidityTime" );
-
-
-_LIT16( KEapSimUsername,            "EapSimUsername" );
-_LIT16( KEapSimRealm,               "EapSimRealm" );
-_LIT16( KEapSimUsePseudonyms,       "EapSimUsePseudonyms" );
-_LIT16( KEapSimSessionValidityTime, "EapSimSessionValidityTime" );
-_LIT16( KEapSimEncapsulation,       "EapSimEncapsulation" );
-
-_LIT16( KEapTtlsUsername,           "EapTtlsUsername" );
-_LIT16( KEapTtlsRealm,              "EapTtlsRealm" );
-_LIT16( KEapTtlsVerifyServerRealm,  "EapTtlsVerifyServerRealm" );
-_LIT16( KEapTtlsRequireClientAuth,  "EapTtlsRequireClientAuth" );
-_LIT16( KEapTtlsSessionValidityTime,"EapTtlsSessionValidityTime" );
-_LIT16( KEapTtlsCipherSuites,       "EapTtlsCipherSuites" );
-_LIT16( KEapTtlsEncapsulatedTypes,  "EapTtlsEncapsulatedTypes" );
-_LIT16( KEapTtlsUserCertSubjectKeyId,"EapTtlsUserCertSubjectKeyId" );
-_LIT16( KEapTtlsUserCertIssuerName, "EapTtlsUserCertIssuerName" );
-_LIT16( KEapTtlsUserCertSerialNumber,"EapTtlsUserCertSerialNumber" );
-_LIT16( KEapTtlsCaCertSubjectKeyId, "EapTtlsCaCertSubjectKeyId" );
-_LIT16( KEapTtlsCaCertIssuerName,   "EapTtlsCaCertIssuerName" );
-_LIT16( KEapTtlsCaCertSerialNumber, "EapTtlsCaCertSerialNumber" );
-
-_LIT16( KEapAkaUsername,            "EapAkaUsername" );
-_LIT16( KEapAkaRealm,               "EapAkaRealm" );
-_LIT16( KEapAkaUsePseudonyms,       "EapAkaUsePseudonyms" );
-_LIT16( KEapAkaSessionValidityTime, "EapAkaSessionValidityTime" );
-_LIT16( KEapAkaEncapsulation,       "EapAkaEncapsulation" );
-
-_LIT16( KEapPeapUsername,           "EapPeapUsername" );
-_LIT16( KEapPeapRealm,              "EapPeapRealm" );
-_LIT16( KEapPeapVerifyServerRealm,  "EapPeapVerifyServerRealm" );
-_LIT16( KEapPeapRequireClientAuth,  "EapPeapRequireClientAuth" );
-_LIT16( KEapPeapSessionValidityTime,"EapPeapSessionValidityTime" );
-_LIT16( KEapPeapCipherSuites,       "EapPeapCipherSuites" );
-_LIT16( KEapPeapV0Allowed,          "EapPeapV0Allowed" );
-_LIT16( KEapPeapV1Allowed,          "EapPeapV1Allowed" );
-_LIT16( KEapPeapV2Allowed,          "EapPeapV2Allowed" );
-_LIT16( KEapPeapEncapsulatedTypes,  "EapPeapEncapsulatedTypes" );
-_LIT16( KEapPeapUserCertSubjectKeyId,"EapPeapUserCertSubjectKeyId" );
-_LIT16( KEapPeapUserCertIssuerName, "EapPeapUserCertIssuerName" );
-_LIT16( KEapPeapUserCertSerialNumber,"EapPeapUserCertSerialNumber" );
-_LIT16( KEapPeapCaCertSubjectKeyId, "EapPeapCaCertSubjectKeyId" );
-_LIT16( KEapPeapCaCertIssuerName,   "EapPeapCaCertIssuerName" );
-_LIT16( KEapPeapCaCertSerialNumber, "EapPeapCaCertSerialNumber" );
-
-_LIT16( KEapMschapv2Username,       "EapMschapv2Username" );
-_LIT16( KEapMschapv2Password,       "EapMschapv2Password" );
-_LIT16( KEapMschapv2SessionValidityTime,"EapMschapv2SessionValidityTime" );
-_LIT16( KEapMschapv2Encapsulation,  "EapMschapv2Encapsulation" );
-
-_LIT16( KEapFastUsername,           "EapFastUsername" );
-_LIT16( KEapFastRealm,              "EapFastRealm" );
-_LIT16( KEapFastVerifyServerRealm,  "EapFastVerifyServerRealm" );
-_LIT16( KEapFastRequireClientAuth,  "EapFastRequireClientAuth" );
-_LIT16( KEapFastSessionValidityTime,"EapFastSessionValidityTime" );
-_LIT16( KEapFastCipherSuites,       "EapFastCipherSuites" );
-_LIT16( KEapFastEncapsulatedTypes,  "EapFastEncapsulatedTypes" );
-_LIT16( KEapFastAuthProvModeAllowed,"EapFastAuthProvModeAllowed" );
-_LIT16( KEapFastUnauthProvModeAllowed,"EapFastUnauthProvModeAllowed" );
-_LIT16( KEapFastWarnADHPNoPAC,      "EapFastWarnADHPNoPAC" );
-_LIT16( KEapFastWarnADHPNoMatchingPAC,"EapFastWarnADHPNoMatchingPAC" );
-_LIT16( KEapFastWarnNotDefaultServer,"EapFastWarnNotDefaultServer" );
-_LIT16( KEapFastUserCertSubjectKeyId,"EapFastUserCertSubjectKeyId" );
-_LIT16( KEapFastUserCertIssuerName, "EapFastUserCertIssuerName" );
-_LIT16( KEapFastUserCertSerialNumber,"EapFastUserCertSerialNumber" );
-_LIT16( KEapFastCaCertSubjectKeyId, "EapFastCaCertSubjectKeyId" );
-_LIT16( KEapFastCaCertIssuerName,   "EapFastCaCertIssuerName" );
-_LIT16( KEapFastCaCertSerialNumber, "EapFastCaCertSerialNumber" );
-
-_LIT16( KMschapv2Username,          "Mschapv2Username" );
-_LIT16( KMschapv2Password,          "Mschapv2Password" );
-_LIT16( KMschapv2SessionValidityTime,"Mschapv2SessionValidityTime" );
-_LIT16( KMschapv2Encapsulation,     "Mschapv2Encapsulation" );
-
-
-//VPN specific
-_LIT16( KVpnIapName,                "IAP_Name" );
-_LIT16( KVpnServicePolicy,          "Policy_ID" );
-
-//DN specific
-_LIT16( KDN_Name,                   "Name" );
-_LIT16( KDN_Id,                     "DNId" );
-_LIT16( KDN_Icon,                   "Icon" );
-_LIT16( KDN_Metadata,               "Metadata" );
-_LIT16( KDN_Protection,             "Protection" );
-_LIT16( KDN_EmbeddedDNName,         "EmbeddedDN" );
-_LIT16( KDN_IAPName,                "IAP" );
-
-// Needed because of Customization Tool limitations
-_LIT16( KDN_IAPName2,               "IAP2" );
-_LIT16( KDN_IAPName3,               "IAP3" );
-_LIT16( KDN_IAPName4,               "IAP4" );
-_LIT16( KDN_IAPName5,               "IAP5" );
-_LIT16( KDN_IAPName6,               "IAP6" );
-_LIT16( KDN_IAPName7,               "IAP7" );
-_LIT16( KDN_IAPName8,               "IAP8" );
-_LIT16( KDN_IAPName9,               "IAP9" );
-_LIT16( KDN_IAPName10,              "IAP10" );
-
-//Global settings
-_LIT16( KAttachMode,                "Attachmode" );
-_LIT16( KDefaultAP,                 "DefaultAP" );
-_LIT16( KDefaultDnIcon,             "DefaultDnIcon" );
-_LIT16( KPriorityLan,               "PriorityLan" );
-_LIT16( KPriorityWlan,              "PriorityWlan" );
-_LIT16( KPriorityPan,               "PriorityPan" );
-_LIT16( KPriorityGprsOut,           "PriorityGprsOut" );
-_LIT16( KPriorityGprsIn,            "PriorityGprsIn" );
-_LIT16( KPriorityCdma2k,            "PriorityCdma2k" );
-_LIT16( KPriorityDialOut,           "PriorityDialOut" );
-_LIT16( KPriorityDialIn,            "PriorityDialIn" );
-_LIT16( KPriorityVpn,               "PriorityVpn" );
-_LIT16( KPriorityMip,               "PriorityMip" );
-_LIT16( KUIPriorityLan,             "UIPriorityLan" );
-_LIT16( KUIPriorityWlan,            "UIPriorityWlan" );
-_LIT16( KUIPriorityPan,             "UIPriorityPan" );
-_LIT16( KUIPriorityGprsOut,         "UIPriorityGprsOut" );
-_LIT16( KUIPriorityGprsIn,          "UIPriorityGprsIn" );
-_LIT16( KUIPriorityCdma2k,          "UIPriorityCdma2k" );
-_LIT16( KUIPriorityDialOut,         "UIPriorityDialOut" );
-_LIT16( KUIPriorityDialIn,          "UIPriorityDialIn" );
-_LIT16( KUIPriorityVpn,             "UIPriorityVpn" );
-_LIT16( KUIPriorityMip,             "UIPriorityMip" );
-_LIT16( KUsageOfWlan,               "UsageOfWlan" );
-_LIT16( KCellularDataUsageHome,     "CellularDataUsageHome" );
-_LIT16( KCellularDataUsageVisitor,  "CellularDataUsageVisitor" );
-_LIT16( KGprsLastSocketActivityTimeout, "GprsLastSocketActivityTimeout" );
-_LIT16( KGprsLastSessionClosedTimeout,  "GprsLastSessionClosedTimeout" );
-_LIT16( KGprsLastSocketClosedTimeout,   "GprsLastSocketClosedTimeout" );
-_LIT16( KWlanLastSocketActivityTimeout, "WlanLastSocketActivityTimeout" );
-_LIT16( KWlanLastSessionClosedTimeout,  "WlanLastSessionClosedTimeout" );
-_LIT16( KWlanLastSocketClosedTimeout,   "WlanLastSocketClosedTimeout" );
-_LIT16( KWlanBGScanInterval,        "WlanBGScanInterval" );
-_LIT16( KWlanUseDefSettings,        "WlanUseDefSettings" );
-_LIT16( KWlanLongRetry,             "WlanLongRetry" );
-_LIT16( KWlanShortRetry,            "WlanShortRetry" );
-_LIT16( KWlanRTS,                   "WlanRTS" );
-_LIT16( KWlanTxPowerLevel,          "WlanTxPowerLevel" );
-_LIT16( KWlanRadioMeasurements,     "WlanRadioMeasurements" );
-_LIT16( KWlanPowerMode,             "WlanPowerMode" );
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CReaderXML::NewL
-// ---------------------------------------------------------
-//
-CReaderXML* CReaderXML::NewLC( const TDesC& aInFileName,
-                               const TDbCreatorInputCharSet aCharSet )
-    {
-    CReaderXML* self = new ( ELeave ) CReaderXML( aCharSet );
-
-    CleanupStack::PushL( self );
-
-    self->CReaderBase::ConstructL( aInFileName );
-    self->ConstructL();
-
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CReaderXML::ConstructL
-// ---------------------------------------------------------
-//
-void CReaderXML::ConstructL()
-    {
-    //if charset is not given as a parameter - detect it
-    if ( iCharSet == ECharSetUnknown )
-        {
-        DetectEncodingL();
-        }
-        
-    FillPacketDataParams();
-    FillLanParams();
-    FillWLanParams();
-    FillVpnParams();
-    FillGlobalParams();
-    FillDNParams();                
-    }
-
-
-// ---------------------------------------------------------
-// CReaderXML::CReaderXML
-// ---------------------------------------------------------
-//
-CReaderXML::CReaderXML( const TDbCreatorInputCharSet aCharSet ) :
-    CReaderBase( EFileXML, EFeatureNone ),
-    iCharSet( aCharSet ),
-    iLine ( NULL ),
-    iFoundGlobal( EFalse )
-    {
-    //no implementation required
-    }
-    
-    
-// ---------------------------------------------------------
-// CReaderXML::~CReaderXML
-// ---------------------------------------------------------
-//
-CReaderXML::~CReaderXML()
-    {
-    delete iLine;
-    
-    iPDParams.Close();
-    iLanParams.Close();
-    iWLanParams.Close();
-    iVpnParams.Close();
-    iGlobalParams.Close();
-    iDNParams.Close();
-    }
-
-
-// ---------------------------------------------------------
-// CReaderXML::LocateFeature
-// ---------------------------------------------------------
-//
-void CReaderXML::LocateFeatureL()
-    {
-    iCurrentFeature = EFeatureNone;
-    TInt result( KErrNone );
-    TBool eof( EFalse );
-    
-    //looks for the next feature
-    while ( !eof && CurrentFeature() == EFeatureNone )
-        {
-        //reads the next line
-        result = ReadLineL();
-        
-        if ( result == KErrEof )
-            {
-            //end of file
-            eof = ETrue;    
-            }
-        else if ( result )    
-            {
-            //other error
-            User::Leave( result );    
-            }
-        else
-            {
-            //no error
-            if ( iLine->FindF( KFileTail ) == KErrNone || 
-                 iLine->FindF( KFileTail2 ) == KErrNone )
-                {
-                //end of file is reached ("/variantvariant" found)
-                eof = ETrue;            
-                }
-            else
-                {
-                //try to recognize a feature
-                iCurrentFeature = DetectFeatureHead();
-                }//else
-            }//else        
-        }//while
-    }
-
-
-// ---------------------------------------------------------
-// CReaderXML::LocateAP
-// ---------------------------------------------------------
-//
-TBool CReaderXML::LocateAPL()
-    {
-    TBool found( EFalse );    //found feature data
-    TBool eofea( EFalse );    //end of feature
-    
-    if ( CurrentFeature() == EFeatureGlobal )
-        {
-        //for Global settings there is no feature data header
-        found = iFoundGlobal;
-        iFoundGlobal = EFalse;
-        }
-    else
-        {
-        //looks for the next feature header
-        while ( !eofea && !found )
-            {
-            User::LeaveIfError( ReadLineL() );
-            
-            if ( DetectFeatureTail() )
-                {
-                //feature tail is detected - no more data to process
-                eofea = ETrue;    
-                }
-            else
-                {
-                //looks for feature data header
-                switch ( CurrentFeature() )
-                    {
-                    case EFeaturePacketData:
-                        found = ( iLine->FindF( KDataHeadPacketData ) != KErrNotFound ); 
-                        break;
-                    case EFeatureWLAN:
-                        found = ( iLine->FindF( KDataHeadWLAN ) != KErrNotFound );
-                        break;
-                    case EFeatureLAN:
-                        found = ( iLine->FindF( KDataHeadLAN ) != KErrNotFound );
-                        break;
-                    case EFeatureVPN:
-                        found = ( iLine->FindF( KDataHeadVPN ) != KErrNotFound );
-                        break;
-                    case EFeatureDN:
-                        found = ( iLine->FindF( KDataHeadDN ) != KErrNotFound );
-                        break;
-                    }//switch
-                }//else
-            }//while
-        }//else
-            
-    return found;
-    
-    }
-           
-
-// ---------------------------------------------------------
-// CReaderXML::ParseAPL
-// ---------------------------------------------------------
-//
-void CReaderXML::ParseAPL()
-    {
-    do
-        {            
-        User::LeaveIfError( ReadLineL() );
-        TInt fieldId = DetectParam();
-        
-        if ( fieldId != KErrNotFound )
-            {
-            HBufC16* param = ReadParam( EParamValue );
-            if ( param )
-                {
-                ConvertSpecialXMLChars( param );
-                CleanupStack::PushL( param );
-                TagContainer().AddL( param , fieldId );        
-                CleanupStack::Pop( param );
-                }    
-            else
-                {
-                //simply skip line
-                }        
-            }
-        
-        }
-    while ( !DetectTailAP() );
-    }
-    
-// ---------------------------------------------------------
-// CReaderXML::Reset
-// ---------------------------------------------------------
-//
-TInt CReaderXML::Reset()
-    {
-    iFilePos = 0;
-    return InputFile().Seek( ESeekStart, iFilePos );
-    }
-              
-        
-// ---------------------------------------------------------
-// CReaderXML::ToDoLog
-// ---------------------------------------------------------
-//
-void CReaderXML::ToDoLog()
-    {
-    CLOG_WRITE( "Line :" )
-    FileLogger().Write( *iLine );
-    CLOG_WRITE( "--------------------------------------------\n\n" )
-    }
-    
-// ---------------------------------------------------------
-// Private methods
-// ---------------------------------------------------------
- 
-// ---------------------------------------------------------
-// CReaderXML::ReadLine
-// ---------------------------------------------------------
-//  
-TInt CReaderXML::ReadLineL()
-    {
-    //go to the actual position
-    TInt result = InputFile().Seek(ESeekStart, iFilePos);
-    
-    //temporary buffer for line
-    TBuf8<KMaxLineSize> buf;
-
-    if (result == KErrNone) 
-        {
-        result = InputFile().Read(buf, buf.MaxSize());
-        }
-
-    //if seeking and reading both succesful extract one line form the buffer
-    if (result == KErrNone)
-        {
-        TPtrC8 ptrBuf8;
-        ptrBuf8.Set( buf );
-
-        if (result == KErrNone || result == KErrEof)
-            {          
-            switch ( iCharSet )
-                {
-                case ECharSetUnicode:
-                    {                     
-                    //simply copy to a Unicode descriptor
-                    TPtrC16 ptrBuf16( ( TText16* )ptrBuf8.Ptr(), \
-                                        ptrBuf8.Length() / KAsciiUnicodeRatio );
-                                        
-                    TPtrC16 ptrLine;
-                    result = ExtractLine(ptrBuf16, ptrLine);  
-                    
-                    if ( result == KErrNone ) 
-                        {
-                        delete iLine;
-                        iLine = NULL;
-                        iLine = ptrLine.AllocL();
-                        
-                        //Increment the file position
-                        iFilePos += iLine->Length() * KAsciiUnicodeRatio;
-                        }
-                    
-                    break;
-                    } 
-                case ECharSetAscii:
-                case ECharSetUtf8:
-                default:
-                    {                    
-                    //conversion to Unicode is needed
-                    HBufC16* hBuf16 = HBufC16::NewLC( KMaxLineSize );
-                    TPtr16 ptrBuf16( hBuf16->Des() );
-                    
-                    if( iCharSet == ECharSetUtf8 )
-                        {
-                        CnvUtfConverter::ConvertToUnicodeFromUtf8
-                                                    ( ptrBuf16, ptrBuf8 );
-                        }
-                    else
-                        {
-                        ptrBuf16.Copy( ptrBuf8 );
-                        }
-                    
-                    TPtrC16 ptrLine;
-                    result = ExtractLine(ptrBuf16, ptrLine); 
-                    
-                    if ( result == KErrNone ) 
-                        {
-                        delete iLine;
-                        iLine = NULL;
-                        iLine = ptrLine.AllocL();
-                        
-                        // Increment the file position
-                        // Line in unicode format converted back to UTF-8
-                        // for getting the right lenght and osition in file
-                        CnvUtfConverter::ConvertFromUnicodeToUtf8( 
-                                            buf, iLine->Des() );
-                        iFilePos += buf.Length();
-                        }
-                    
-                    CleanupStack::PopAndDestroy( hBuf16 ); 
-                    
-                    break;
-                    }//case
-                }//switch
-            }//if
-        }//if
-
-    return result;
-    }
- 
- 
-// ---------------------------------------------------------
-// CReaderXML::ExtractLine
-// ---------------------------------------------------------
-//     
-TInt CReaderXML::ExtractLine(const TPtrC16& aBuffer, TPtrC16& aLine)
-    {
-    // Whitespace characters
-    const TChar KSpace = ' ';
-    const TChar KNewLine = '\n';
-    const TChar KCarriageReturn = '\r';
-    const TChar KTab = '\t';
-    const TChar KTagStart = '<';
-    
-    
-    // A line is considered to contain one parameter. It starts from the
-    // current position and lasts until the end of the current parameter.
-    // The end is detected by looking for the characters ">" and "<" with
-    // any number of white spaces between them. The next line will start at
-    // the "<" character.
-    TBool lineEndFound( EFalse );
-    TBool tagEndFound( EFalse );
-    TInt pos( 0 );
-    while( !lineEndFound && pos < aBuffer.Length() )
-        {
-        if( !tagEndFound && KParamNameTail.iBuf[ 0 ] == aBuffer[ pos ] )
-            {
-            tagEndFound = ETrue;
-            }
-        else if( tagEndFound && KParamNameHead.iBuf[ 0 ] == aBuffer[ pos ] )
-            {
-            lineEndFound = ETrue;
-            break;
-            }
-        
-        else if( ( KSpace != aBuffer[ pos ] ) &&
-                 ( KNewLine != aBuffer[ pos ] ) &&
-                 ( KCarriageReturn != aBuffer[ pos ] ) &&
-                 ( KTab != aBuffer[ pos ] ) && 
-                   tagEndFound )
-            {
-            tagEndFound = EFalse;
-            }
-        ++pos;
-        }
-    
-    if( !lineEndFound )
-        {
-        //End of line not found--malformed xml file or no more data
-        //get highest file position; and check EoF
-        TInt hiPos = 0;
-        
-        if (InputFile().Size(hiPos) != KErrNone) 
-            {
-            return KErrGeneral;    
-            }
-        
-        //check for end of file
-        if ( aBuffer.Length() < KMaxLineSize )
-            {
-            aLine.Set( aBuffer );
-            return KErrEof;
-            }
-        else
-            {
-            return KErrNotFound;    
-            }
-        }
-
-    aLine.Set( aBuffer.Left( pos ) );
-
-    return KErrNone ;
-    }
-
-// ---------------------------------------------------------
-// CReaderXML::DetectFeatureHead
-// ---------------------------------------------------------
-//     
-TDbCreatorFeatures CReaderXML::DetectFeatureHead()
-    {
-    TDbCreatorFeatures feature( EFeatureNone );
-    
-    if ( iLine->FindF( KFeatureHeadPacketData ) != KErrNotFound )
-        {
-        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeaturePacketData" );
-        feature = EFeaturePacketData;
-        }
-    else if ( iLine->FindF( KFeatureHeadWLAN ) != KErrNotFound )
-        {
-        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureWLAN" );
-        feature = EFeatureWLAN;
-        }
-    else if ( iLine->FindF( KFeatureHeadLAN ) != KErrNotFound )
-        {
-        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureLAN" );
-        feature = EFeatureLAN;
-        }
-    else if ( iLine->FindF( KFeatureHeadVPN ) != KErrNotFound )
-        {
-        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureVPN" );
-        feature = EFeatureVPN;
-        }
-    else if ( iLine->FindF( KFeatureHeadDN ) != KErrNotFound )
-        {
-        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureDN" );
-        feature = EFeatureDN;
-        }
-    else if ( iLine->FindF( KFeatureHeadGlobal ) != KErrNotFound )
-        {
-        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureGlobal" );
-        feature = EFeatureGlobal;
-        iFoundGlobal = ETrue;        
-        }
-    else
-        {
-        //feature not found            
-        }
-    
-    return feature;
-
-    }
-    
-    
-// ---------------------------------------------------------
-// CReaderXML::DetectFeatureTail
-// ---------------------------------------------------------
-//     
-TBool CReaderXML::DetectFeatureTail()
-    {
-    TBool found( EFalse );
-        
-    switch ( CurrentFeature() )        
-        {
-        case EFeaturePacketData:
-            found = ( iLine->FindF( KFeatureTailPacketData ) != KErrNotFound ); 
-            break;
-        case EFeatureWLAN:
-            found = ( iLine->FindF( KFeatureTailWLAN ) != KErrNotFound );
-            break;
-        case EFeatureLAN:
-            found = ( iLine->FindF( KFeatureTailLAN ) != KErrNotFound );
-            break;
-        case EFeatureVPN:
-            found = ( iLine->FindF( KFeatureTailVPN ) != KErrNotFound );
-            break;
-        case EFeatureDN:
-            found = ( iLine->FindF( KFeatureTailDN ) != KErrNotFound );
-            break;
-        case EFeatureGlobal:
-            found = ( iLine->FindF( KFeatureTailGlobal ) != KErrNotFound );
-            break;
-        }
-    
-    return found;
-    }
-    
-    
-// ---------------------------------------------------------
-// CReaderXML::DetectTailAP
-// ---------------------------------------------------------
-//     
-TBool CReaderXML::DetectTailAP()
-    {
-    TBool found( EFalse );
-        
-    switch ( CurrentFeature() )        
-        {
-        case EFeaturePacketData:
-            found = ( iLine->FindF( KDataTailPacketData ) != KErrNotFound ); 
-            break;
-        case EFeatureWLAN:
-            found = ( iLine->FindF( KDataTailWLAN ) != KErrNotFound );
-            break;
-        case EFeatureLAN:
-            found = ( iLine->FindF( KDataTailLAN ) != KErrNotFound );
-            break;
-        case EFeatureVPN:
-            found = ( iLine->FindF( KDataTailVPN ) != KErrNotFound );
-            break;
-        case EFeatureDN:
-            found = ( iLine->FindF( KDataTailDN ) != KErrNotFound );
-            break;
-        case EFeatureGlobal:
-            //there is no data tail for Global settings -- looks for feature tail
-            found = ( iLine->FindF( KFeatureTailGlobal ) != KErrNotFound );
-            break;
-        }
-    
-    return found;
-    }
-    
-    
-// ---------------------------------------------------------
-// CReaderXML::DetectParamL
-// ---------------------------------------------------------
-//
-TInt CReaderXML::DetectParam()
-    {
-    TInt fieldId( KErrNotFound ); //field id of detected parameter 
-    RArray<EInputParams> *params( NULL ); //pointer to the table used 
-                                        //for or detection    
-
-    switch ( CurrentFeature() )        
-        {
-        case EFeaturePacketData:
-            params   = &iPDParams;
-            break;
-        case EFeatureWLAN:
-            params   = &iWLanParams;
-            break;
-        case EFeatureLAN:
-            params   = &iLanParams;
-            break;
-        case EFeatureVPN:
-            params   = &iVpnParams;
-            break;
-        case EFeatureDN:
-            params =   &iDNParams;
-            break;
-        case EFeatureGlobal:
-            params   = &iGlobalParams;
-            break;
-        default:
-            User::Panic( KPanicInvalidCase, KErrInvalidCase );
-        }
-       
-    //looks for parameter match
-    HBufC16* paramName = ReadParam( EParamName );
-    if ( paramName == NULL )
-            {
-            return fieldId;
-            }
-
-    TBool found ( EFalse );
-    for ( TInt idx = 0; idx < params->Count() && !found; idx++ )
-        {        
-        if ( paramName->CompareF( (*params)[idx].iParam ) == 0 )
-            {
-            fieldId = (*params)[idx].iId;
-            found = ETrue;            
-            }
-        }
-       
-    delete paramName;   
-    return fieldId;
-    }
-  
-    
-// ---------------------------------------------------------
-// CReaderXML::ReadParam
-// ---------------------------------------------------------
-//     
-HBufC16* CReaderXML::ReadParam( TParamSegment aSegment )
-    {
-    TBuf<KMaxItemLength> tag; //local buffer
-    TInt posh( 0 ); //header position
-    TInt post( 0 ); //tail position
-    HBufC16* ret = NULL; // returned pointer
-    
-    //  calculation of the position 
-    //
-    //  EParamValue:           posh|     post|
-    //                             |         |
-    //  EParamName:  posh|    post||         |
-    //                   ¡        ¡¡         ¡ 
-    //                  <ParamName>ParamValue</ParamName>
-    
-    switch ( aSegment )
-        {
-        case EParamValue:
-            posh = iLine->Find( KParamValueHead ) + 1;
-            post = iLine->Find( KParamValueTail );
-            break;
-        case EParamName:
-            posh = iLine->Find( KParamNameHead ) + 1;
-            post = iLine->Find( KParamNameTail );
-            break;
-        default:
-            break;
-        }
-    
-    if ( posh == KErrNotFound || post == KErrNotFound || post == 0 )
-        {
-        //line must contain header and tail and longer than 0
-        ret = NULL;
-        }
-    else
-        {
-        // Copis the value to the local buffer and allocates buffer
-        tag.Copy( iLine->Mid( posh, post - posh ) );
-        ret = tag.Alloc();
-        // Checks the result.
-        if( ret == NULL )
-            {
-            CLOG_WRITE_FORMAT( "! Warning: tag could not be allocated %S:",
-                                     &tag );
-            }
-// Debugging help; commented out for clearer log.
-//        else 
-//            {
-//            if (aSegment == EParamValue)
-//                {
-//                CLOG_WRITE_FORMAT( "CReaderXML::ReadParam: value %S", &tag );
-//                }
-//            else if (aSegment == EParamName)
-//                {
-//                CLOG_WRITE_FORMAT( "CReaderXML::ReadParam: name %S", &tag );
-//                }
-//            }
-        }
-    return ret;
-    }
-
-
-// ---------------------------------------------------------
-// CReaderXML::DetectEncoding
-// ---------------------------------------------------------
-//     
-void CReaderXML::DetectEncodingL()
-    {
-    TInt originalPos( iFilePos );  //stores original file position
-    TBool found( EFalse );
-    
-    for ( TInt i = ECharSetUnicode; i >= ECharSetAscii && !found; i--)
-        {
-        //assumes that the first line contains version and encoding info
-        iFilePos = 0;
-        iCharSet = static_cast<TDbCreatorInputCharSet>( i );
-        
-        if ( ReadLineL() == KErrNone )
-            {
-            if( iCharSet == ECharSetAscii )
-                {
-                if ( ( iLine->FindF( KXmlVersion ) != KErrNotFound ) ||
-                     ( iLine->FindF( KEncoding ) != KErrNotFound ) )
-                    {
-                    if( iLine->FindF( KEncodingUtf8 ) != KErrNotFound )
-                        {
-                        iCharSet = ECharSetUtf8;
-                        }
-                    found = ETrue;
-                    }
-                }
-            else if( iCharSet == ECharSetUnicode )
-                {
-                if ( ( iLine->FindF( KXmlVersion ) != KErrNotFound ) ||
-                     ( iLine->FindF( KEncoding ) != KErrNotFound ) )
-                    {
-                    found = ETrue;
-                    }
-                }
-            }
-        }
-    iFilePos = originalPos;
-    }
-    
-// ---------------------------------------------------------
-// CReaderXML::ConvertSpecialXMLChars
-// ---------------------------------------------------------
-//
-void CReaderXML::ConvertSpecialXMLChars( HBufC* aPtrTag )
-    {
-    if ( aPtrTag == NULL )
-            {
-                return;
-            }   
-    _LIT16( escapeStart, "&" );
-    
-    //check if there are parameters to be replaced, if not: return
-    if ( aPtrTag->Des().Find( escapeStart ) == KErrNotFound )
-            {
-                return;
-            }
-                
-    _LIT16( spXML1, "&lt;" );
-    _LIT16( sp1, "<" );
-    ReplaceInString( aPtrTag, spXML1, sp1 );
-    _LIT16( spXML2, "&amp;" );
-    _LIT16( sp2, "&" );
-    ReplaceInString( aPtrTag, spXML2, sp2 );
-    _LIT16( spXML3, "&gt;" );
-    _LIT16( sp3, ">" );
-    ReplaceInString( aPtrTag, spXML3, sp3 );
-    _LIT16( spXML4, "&quot;" );
-    _LIT16( sp4, "\"" );
-    ReplaceInString( aPtrTag, spXML4, sp4 );
-    _LIT16( spXML5, "&apos;" );
-    _LIT16( sp5, "\'" );
-    ReplaceInString( aPtrTag, spXML5, sp5 );
-    _LIT16( spXML6, "&iexcl;" );
-    _LIT16( sp6, "¡" );
-    ReplaceInString( aPtrTag, spXML6, sp6 );
-    _LIT16( spXML7, "&cent;" );
-    _LIT16( sp7, "¢" );
-    ReplaceInString( aPtrTag, spXML7, sp7 );
-    _LIT16( spXML8, "&pound;" );
-    _LIT16( sp8, "£" );
-    ReplaceInString( aPtrTag, spXML8, sp8 );
-    _LIT16( spXML9, "&curren;" );
-    _LIT16( sp9, "¤" );
-    ReplaceInString( aPtrTag, spXML9, sp9 );
-    _LIT16( spXML10, "&yen;" );
-    _LIT16( sp10, "¥" );
-    ReplaceInString( aPtrTag, spXML10, sp10 );
-    _LIT16( spXML11, "&brvbar;" );
-    _LIT16( sp11, "¦" );
-    ReplaceInString( aPtrTag, spXML11, sp11 );
-    _LIT16( spXML12, "&sect;" );
-    _LIT16( sp12, "§" );
-    ReplaceInString( aPtrTag, spXML12, sp12 );
-    _LIT16( spXML13, "&uml;" );
-    _LIT16( sp13, "¨" );
-    ReplaceInString( aPtrTag, spXML13, sp13 );
-    _LIT16( spXML14, "&copy;" );
-    _LIT16( sp14, "©" );
-    ReplaceInString( aPtrTag, spXML14, sp14 );
-    _LIT16( spXML15, "&ordf;" );
-    _LIT16( sp15, "ª" );
-    ReplaceInString( aPtrTag, spXML15, sp15 );
-    _LIT16( spXML16, "&laquo;" );
-    _LIT16( sp16, "«" );
-    ReplaceInString( aPtrTag, spXML16, sp16 );
-    _LIT16( spXML17, "&not;" );
-    _LIT16( sp17, "¬" );
-    ReplaceInString( aPtrTag, spXML17, sp17 );
-    _LIT16( spXML18, "&reg;" );
-    _LIT16( sp18, "®" );
-    ReplaceInString( aPtrTag, spXML18, sp18 );
-    _LIT16( spXML19, "&macr;" );
-    _LIT16( sp19, "¯" );
-    ReplaceInString( aPtrTag, spXML19, sp19 );
-    _LIT16( spXML20, "&deg;" );
-    _LIT16( sp20, "°" );
-    ReplaceInString( aPtrTag, spXML20, sp20 );
-    _LIT16( spXML21, "&plusmn;" );
-    _LIT16( sp21, "±" );
-    ReplaceInString( aPtrTag, spXML21, sp21 );
-    _LIT16( spXML22, "&sup2;" );
-    _LIT16( sp22, "²" );
-    ReplaceInString( aPtrTag, spXML22, sp22 );
-    _LIT16( spXML23, "&sup3;" );
-    _LIT16( sp23, "³" );
-    ReplaceInString( aPtrTag, spXML23, sp23 );
-    _LIT16( spXML24, "&acute;" );
-    _LIT16( sp24, "´" );
-    ReplaceInString( aPtrTag, spXML24, sp24 );
-    _LIT16( spXML25, "&micro;" );
-    _LIT16( sp25, "µ" );
-    ReplaceInString( aPtrTag, spXML25, sp25 );
-    _LIT16( spXML26, "&para;" );
-    _LIT16( sp26, "¶" );
-    ReplaceInString( aPtrTag, spXML26, sp26 );  
-    _LIT16( spXML27, "&middot;" );
-    _LIT16( sp27, "·" );
-    ReplaceInString( aPtrTag, spXML27, sp27 );
-    _LIT16( spXML28, "&cedil;" );
-    _LIT16( sp28, "¸" );
-    ReplaceInString( aPtrTag, spXML28, sp28 );
-    _LIT16( spXML29, "&sup1;" );
-    _LIT16( sp29, "¹" );
-    ReplaceInString( aPtrTag, spXML29, sp29 );
-    _LIT16( spXML30, "&ordm;" );
-    _LIT16( sp30, "º" );
-    ReplaceInString( aPtrTag, spXML30, sp30 );
-    _LIT16( spXML31, "&raquo;" );
-    _LIT16( sp31, "»" );
-    ReplaceInString( aPtrTag, spXML31, sp31 );
-    _LIT16( spXML32, "&frac14;" );
-    _LIT16( sp32, "¼" );
-    ReplaceInString( aPtrTag, spXML32, sp32 );
-    _LIT16( spXML33, "&frac12;" );
-    _LIT16( sp33, "½" );
-    ReplaceInString( aPtrTag, spXML33, sp33 );
-    _LIT16( spXML34, "&frac34;" );
-    _LIT16( sp34, "¾" );
-    ReplaceInString( aPtrTag, spXML34, sp34 );
-    _LIT16( spXML35, "&iquest;" );
-    _LIT16( sp35, "¿" );
-    ReplaceInString( aPtrTag, spXML35, sp35 );
-    _LIT16( spXML36, "&Agrave;" );
-    _LIT16( sp36, "À" );
-    ReplaceInString( aPtrTag, spXML36, sp36 );
-    _LIT16( spXML37, "&Aacute;" );
-    _LIT16( sp37, "Á" );
-    ReplaceInString( aPtrTag, spXML37, sp37 );
-    _LIT16( spXML38, "&Acirc;" );
-    _LIT16( sp38, "Â" );
-    ReplaceInString( aPtrTag, spXML38, sp38 );
-    _LIT16( spXML39, "&Atilde;" );
-    _LIT16( sp39, "Ã" );
-    ReplaceInString( aPtrTag, spXML39, sp39 );
-    _LIT16( spXML40, "&Auml;" );
-    _LIT16( sp40, "Ä" );
-    ReplaceInString( aPtrTag, spXML40, sp40 );
-    _LIT16( spXML41, "&Aring;" );
-    _LIT16( sp41, "Å" );
-    ReplaceInString( aPtrTag, spXML41, sp41 );
-    _LIT16( spXML42, "&AElig;" );
-    _LIT16( sp42, "Æ" );
-    ReplaceInString( aPtrTag, spXML42, sp42 ); 
-    _LIT16( spXML43, "&Ccedil;" );
-    _LIT16( sp43, "Ç" );
-    ReplaceInString( aPtrTag, spXML43, sp43 );
-    _LIT16( spXML44, "&Egrave;" );
-    _LIT16( sp44, "È" );
-    ReplaceInString( aPtrTag, spXML44, sp44 );
-    _LIT16( spXML45, "&Eacute;" );
-    _LIT16( sp45, "É" );
-    ReplaceInString( aPtrTag, spXML45, sp45 );
-    _LIT16( spXML46, "&Ecirc;" );
-    _LIT16( sp46, "Ê" );
-    ReplaceInString( aPtrTag, spXML46, sp46 );
-    _LIT16( spXML47, "&Euml;" );
-    _LIT16( sp47, "Ë" );
-    ReplaceInString( aPtrTag, spXML47, sp47 );
-    _LIT16( spXML48, "&Igrave;" );
-    _LIT16( sp48, "Ì" );
-    ReplaceInString( aPtrTag, spXML48, sp48 );
-    _LIT16( spXML49, "&Iacute;" );
-    _LIT16( sp49, "Í" );
-    ReplaceInString( aPtrTag, spXML49, sp49 );
-    _LIT16( spXML50, "&Icirc;" );
-    _LIT16( sp50, "Î" );
-    ReplaceInString( aPtrTag, spXML50, sp50 );
-    _LIT16( spXML51, "&Iuml;" );
-    _LIT16( sp51, "Ï" );
-    ReplaceInString( aPtrTag, spXML51, sp51 );
-    _LIT16( spXML52, "&ETH;" );
-    _LIT16( sp52, "Ð" );
-    ReplaceInString( aPtrTag, spXML52, sp52 );
-    _LIT16( spXML53, "&Ntilde;" );
-    _LIT16( sp53, "Ñ" );
-    ReplaceInString( aPtrTag, spXML53, sp53 );
-    _LIT16( spXML54, "&Ograve;" );
-    _LIT16( sp54, "Ò" );
-    ReplaceInString( aPtrTag, spXML54, sp54 );
-    _LIT16( spXML55, "&Oacute;" );
-    _LIT16( sp55, "Ó" );
-    ReplaceInString( aPtrTag, spXML55, sp55 );
-    _LIT16( spXML56, "&Ocirc;" );
-    _LIT16( sp56, "Ô" );
-    ReplaceInString( aPtrTag, spXML56, sp56 );
-    _LIT16( spXML57, "&Otilde;" );
-    _LIT16( sp57, "Õ" );
-    ReplaceInString( aPtrTag, spXML57, sp57 );
-    _LIT16( spXML58, "&Ouml;" );
-    _LIT16( sp58, "Ö" );
-    ReplaceInString( aPtrTag, spXML58, sp58 );
-    _LIT16( spXML59, "&times;" );
-    _LIT16( sp59, "×" );
-    ReplaceInString( aPtrTag, spXML59, sp59 );
-    _LIT16( spXML60, "&Oslash;" );
-    _LIT16( sp60, "Ø" );
-    ReplaceInString( aPtrTag, spXML60, sp60 );
-    _LIT16( spXML61, "&Ugrave;" );
-    _LIT16( sp61, "Ù" );
-    ReplaceInString( aPtrTag, spXML61, sp61 );
-    _LIT16( spXML62, "&Uacute;" );
-    _LIT16( sp62, "Ú" );
-    ReplaceInString( aPtrTag, spXML62, sp62 );
-    _LIT16( spXML63, "&Ucirc;" );
-    _LIT16( sp63, "Û" );
-    ReplaceInString( aPtrTag, spXML63, sp63 );
-    _LIT16( spXML64, "&Uuml;" );
-    _LIT16( sp64, "Ü" );
-    ReplaceInString( aPtrTag, spXML64, sp64 );
-    _LIT16( spXML65, "&Yacute;" );
-    _LIT16( sp65, "Ý" );
-    ReplaceInString( aPtrTag, spXML65, sp65 );
-    _LIT16( spXML66, "&THORN;" );
-    _LIT16( sp66, "Þ" );
-    ReplaceInString( aPtrTag, spXML66, sp66 );
-    _LIT16( spXML67, "&szlig;" );
-    _LIT16( sp67, "ß" );
-    ReplaceInString( aPtrTag, spXML67, sp67 );
-    _LIT16( spXML68, "&agrave;" );
-    _LIT16( sp68, "à" );
-    ReplaceInString( aPtrTag, spXML68, sp68 );
-    _LIT16( spXML69, "&aacute;" );
-    _LIT16( sp69, "á" );
-    ReplaceInString( aPtrTag, spXML69, sp69 );
-    _LIT16( spXML70, "&acirc;" );
-    _LIT16( sp70, "â" );
-    ReplaceInString( aPtrTag, spXML70, sp70 );
-    _LIT16( spXML71, "&atilde;" );
-    _LIT16( sp71, "ã" );
-    ReplaceInString( aPtrTag, spXML71, sp71 );
-    _LIT16( spXML72, "&auml;");
-    _LIT16( sp72, "ä" );
-    ReplaceInString( aPtrTag, spXML72, sp72 );
-    _LIT16( spXML73, "&aring;" );
-    _LIT16( sp73, "å" );
-    ReplaceInString( aPtrTag, spXML73, sp73 );
-    _LIT16( spXML74, "&aelig;" );
-    _LIT16( sp74, "æ" );
-    ReplaceInString( aPtrTag, spXML74, sp74 );
-    _LIT16( spXML75, "&acedil;" );
-    _LIT16( sp75, "ç" );
-    ReplaceInString( aPtrTag, spXML75, sp75 );
-    _LIT16( spXML76, "&egrave;" );
-    _LIT16( sp76, "è" );
-    ReplaceInString( aPtrTag, spXML76, sp76 );
-    _LIT16( spXML77, "&eacute;" );
-    _LIT16( sp77, "é" );
-    ReplaceInString( aPtrTag, spXML77, sp77 );
-    _LIT16( spXML78, "&ecirc;" );
-    _LIT16( sp78, "ê" );
-    ReplaceInString( aPtrTag, spXML78, sp78 );
-    _LIT16( spXML79, "&euml;" );
-    _LIT16( sp79, "ë" );
-    ReplaceInString( aPtrTag, spXML79, sp79 );
-    _LIT16( spXML80, "&igrave;" );
-    _LIT16( sp80, "ì" );
-    ReplaceInString( aPtrTag, spXML80, sp80 );
-    _LIT16( spXML81, "&iacute;" );
-    _LIT16( sp81, "í" );
-    ReplaceInString( aPtrTag, spXML81, sp81 );
-    _LIT16( spXML82, "&icirc;" );
-    _LIT16( sp82, "î" );
-    ReplaceInString( aPtrTag, spXML82, sp82 );
-    _LIT16( spXML83, "&iuml;" );
-    _LIT16( sp83, "ï" );
-    ReplaceInString( aPtrTag, spXML83, sp83 );
-    _LIT16( spXML84, "&eth;" );
-    _LIT16( sp84, "ð" );
-    ReplaceInString( aPtrTag, spXML84, sp84 );
-    _LIT16( spXML85, "&ntilde;" );
-    _LIT16( sp85, "ñ" );
-    ReplaceInString( aPtrTag, spXML85, sp85 );
-    _LIT16( spXML86, "&ograve;" );
-    _LIT16( sp86, "ò" );
-    ReplaceInString( aPtrTag, spXML86, sp86 );
-    _LIT16( spXML87, "&oacute;" );
-    _LIT16( sp87, "ó" );
-    ReplaceInString( aPtrTag, spXML87, sp87 );
-    _LIT16( spXML88, "&ocirc;" );
-    _LIT16( sp88, "ô" );
-    ReplaceInString( aPtrTag, spXML88, sp88 );
-    _LIT16( spXML89, "&otilde;" );
-    _LIT16( sp89, "õ" );
-    ReplaceInString( aPtrTag, spXML89, sp89 );
-    _LIT16( spXML90, "&ouml;" );
-    _LIT16( sp90, "ö" );
-    ReplaceInString( aPtrTag, spXML90, sp90 );
-    _LIT16( spXML91, "&divide;" );
-    _LIT16( sp91, "÷" );
-    ReplaceInString( aPtrTag, spXML91, sp91 );
-    _LIT16( spXML92, "&oslash;" );
-    _LIT16( sp92, "ø" );
-    ReplaceInString( aPtrTag, spXML92, sp92 );
-    _LIT16( spXML93, "&ugrave;" );
-    _LIT16( sp93, "ù" );
-    ReplaceInString( aPtrTag, spXML93, sp93 );
-    _LIT16( spXML94, "&uacute;" );
-    _LIT16( sp94, "ú" );
-    ReplaceInString( aPtrTag, spXML94, sp94 );
-    _LIT16( spXML95, "&ucirc;" );
-    _LIT16( sp95, "û" );
-    ReplaceInString( aPtrTag, spXML95, sp95 );
-    _LIT16( spXML96, "&uuml;" );
-    _LIT16( sp96, "ü" );
-    ReplaceInString( aPtrTag, spXML96, sp96 );
-    _LIT16( spXML97, "&yacute;" );
-    _LIT16( sp97, "ý" );
-    ReplaceInString( aPtrTag, spXML97, sp97 );
-    _LIT16( spXML98, "&thorn;" );
-    _LIT16( sp98, "þ" );
-    ReplaceInString( aPtrTag, spXML98, sp98 );
-    _LIT16( spXML99, "&yuml;" );
-    _LIT16( sp99, "ÿ" );
-    ReplaceInString( aPtrTag, spXML99, sp99 );
-    _LIT16( spXML100, "&OElig;" );
-    _LIT16( sp100, "Œ" );
-    ReplaceInString( aPtrTag, spXML100, sp100 );
-    _LIT16( spXML101, "&oelig;" );
-    _LIT16( sp101, "œ" );
-    ReplaceInString( aPtrTag, spXML101, sp101 );
-    _LIT16( spXML102, "&Scaron;" );
-    _LIT16( sp102, "Š" );
-    ReplaceInString( aPtrTag, spXML102, sp102 );
-    _LIT16( spXML103, "&scaron;" );
-    _LIT16( sp103, "š" );
-    ReplaceInString( aPtrTag, spXML103, sp103 );
-    _LIT16( spXML104, "&Yuml;" );
-    _LIT16( sp104, "Ÿ" );
-    ReplaceInString( aPtrTag, spXML104, sp104 );
-    _LIT16( spXML105, "&fnof;" );
-    _LIT16( sp105, "ƒ" );
-    ReplaceInString( aPtrTag, spXML105, sp105 );
-    _LIT16( spXML106, "&circ;" );
-    _LIT16( sp106, "ˆ" );
-    ReplaceInString( aPtrTag, spXML106, sp106 );
-    _LIT16( spXML107, "&tilde;" );
-    _LIT16( sp107, "˜" );
-    ReplaceInString( aPtrTag, spXML107, sp107 );
-    }
-
-// ---------------------------------------------------------
-// CReaderXML::Replace
-// ---------------------------------------------------------
-//
-void CReaderXML::ReplaceInString(   HBufC* aPtrTag, 
-                                const TDesC& aSpXML, 
-                                const TDesC& aSp )
-    {
-        if( aPtrTag == NULL )
-        {
-            return;
-        }
-    TInt strPos = aPtrTag->Des().Find(aSpXML);
-    while ( strPos != KErrNotFound )
-        {
-        aPtrTag->Des().Replace(strPos, aSpXML.Length() , aSp);
-        strPos = aPtrTag->Des().Find(aSpXML);     
-        }
-    }   
-
-//maximum number of VPN AP parameters
-
-
-void CReaderXML::FillPacketDataParams()    
-    {
-    iPDParams.Append( EInputParams( ECmName,                          KConnectionName ) );
-    iPDParams.Append( EInputParams( ECmId,                            KConnectionId ) );
-    iPDParams.Append( EInputParams( ECmProtected,                     KProtected ) );
-    iPDParams.Append( EInputParams( ECmHidden,                        KHidden ) );
-    iPDParams.Append( EInputParams( ECmMetaHiddenAgent,               KHiddenAgent ) );
-    iPDParams.Append( EInputParams( ECmMetaHighlight,                 KHighlighted ) );
-    iPDParams.Append( EInputParams( ECmSeamlessnessLevel,             KSeamlessness ) );
-    iPDParams.Append( EInputParams( EPacketDataAPName,                KGprs_AP_Name ) );
-    iPDParams.Append( EInputParams( EPacketDataIFAuthName,            KUserName ) );
-    iPDParams.Append( EInputParams( EPacketDataIFPromptForAuth,       KPromptPassword ) );
-    iPDParams.Append( EInputParams( EPacketDataIFAuthPass,            KPassword ) );
-    iPDParams.Append( EInputParams( EPacketDataDisablePlainTextAuth,  KPasswordAuthType ) );
-    iPDParams.Append( EInputParams( ECmWapIPGatewayAddress,           KWAPGatewayIP ) );
-    iPDParams.Append( EInputParams( ECmStartPage,                     KStartingPage ) );
-    iPDParams.Append( EInputParams( ECmWapIPSecurity,                 KWTLS_Security ) );
-    iPDParams.Append( EInputParams( ECmWapIPWSPOption,                KWAP_ConnectionType ) );
-    iPDParams.Append( EInputParams( EPacketDataIPAddr,                KPhoneIP ) );
-    iPDParams.Append( EInputParams( EPacketDataIPNameServer1,         KPrimaryNameServer ) );
-    iPDParams.Append( EInputParams( EPacketDataIPNameServer2,         KSecondaryNameServer ) );
-    iPDParams.Append( EInputParams( ECmProxyServerName,               KProxyServerAddress ) );
-    iPDParams.Append( EInputParams( ECmProxyPortNumber,               KProxyPortNumber ) );
-    iPDParams.Append( EInputParams( ECmProxyProtocolName,             KProxyProtocolName ) );
-    iPDParams.Append( EInputParams( EPacketDataIPIP6NameServer1,      KPrimaryIP6NameServer ) );
-    iPDParams.Append( EInputParams( EPacketDataIPIP6NameServer2,      KSecondaryIP6NameServer ) );
-    iPDParams.Append( EInputParams( EPacketDataApType,                KIspType ) );
-    iPDParams.Append( EInputParams( EPacketDataPDPType,               KNetworkType ) );
-    iPDParams.Append( EInputParams( EPacketDataUseEdge,               KGprsUseEdge ) );
-    iPDParams.Append( EInputParams( EPacketDataLinger,                KLinger ) );
-    };
-
-void CReaderXML::FillLanParams()    
-    {
-    iLanParams.Append( EInputParams( ECmName,                           KConnectionName ) );
-    iLanParams.Append( EInputParams( ECmId,                             KConnectionId ) );
-    iLanParams.Append( EInputParams( ECmProtected,                      KProtected ) );
-    iLanParams.Append( EInputParams( ECmHidden,                         KHidden ) );
-    iLanParams.Append( EInputParams( ECmMetaHiddenAgent,                KHiddenAgent ) );
-    iLanParams.Append( EInputParams( ECmMetaHighlight,                  KHighlighted ) );
-    iLanParams.Append( EInputParams( ECmSeamlessnessLevel,              KSeamlessness ) );
-    iLanParams.Append( EInputParams( ECmWapIPGatewayAddress,            KWAPGatewayIP ) );
-    iLanParams.Append( EInputParams( ECmStartPage,                      KStartingPage ) );
-    iLanParams.Append( EInputParams( ECmWapIPSecurity,                  KWTLS_Security ) );
-    iLanParams.Append( EInputParams( ECmWapIPWSPOption,                 KWAP_ConnectionType ) );
-    iLanParams.Append( EInputParams( ECmProxyServerName,                KProxyServerAddress ) );
-    iLanParams.Append( EInputParams( ECmProxyPortNumber,                KProxyPortNumber ) );
-    iLanParams.Append( EInputParams( ECmProxyProtocolName,              KProxyProtocolName ) );
-    iLanParams.Append( EInputParams( ELanIfNetworks,                    KLanIfNetworks ) );
-    iLanParams.Append( EInputParams( ELanIpNetMask,                     KLanIpNetMask ) );
-    iLanParams.Append( EInputParams( ELanIpGateway,                     KLanIpGateway ) );
-    iLanParams.Append( EInputParams( ELanIpAddr,                        KPhoneIP ) );
-    iLanParams.Append( EInputParams( ELanIpNameServer1,                 KPrimaryNameServer ) );
-    iLanParams.Append( EInputParams( ELanIpNameServer2,                 KSecondaryNameServer ) );
-    iLanParams.Append( EInputParams( ELanIp6NameServer1,                KPrimaryIP6NameServer ) );
-    iLanParams.Append( EInputParams( ELanIp6NameServer2,                KSecondaryIP6NameServer ) );
-    iLanParams.Append( EInputParams( ELanIpAddrFromServer,              KLanIpAddrFromServer ) );
-    iLanParams.Append( EInputParams( ELanIpDNSAddrFromServer,           KLanIpDNSAddrFromServer ) );
-    iLanParams.Append( EInputParams( ELanConfigDaemonManagerName,       KLanConfigDaemonManagerName ) );
-    iLanParams.Append( EInputParams( ELanConfigDaemonName,              KLanConfigDaemonName ) );
-    };
-    
-//Binds WLAN access point parameters to field IDs
-void CReaderXML::FillWLanParams()    
-    {        
-    iWLanParams.Append( EInputParams( ECmName,                      KConnectionName ) );
-    iWLanParams.Append( EInputParams( ECmId,                        KConnectionId ) );
-    iWLanParams.Append( EInputParams( ECmProtected,                 KProtected ) );
-    iWLanParams.Append( EInputParams( ECmHidden,                    KHidden ) );
-    iWLanParams.Append( EInputParams( ECmMetaHiddenAgent,           KHiddenAgent ) );
-    iWLanParams.Append( EInputParams( ECmMetaHighlight,             KHighlighted ) );
-    iWLanParams.Append( EInputParams( ECmSeamlessnessLevel,         KSeamlessness ) );
-    iWLanParams.Append( EInputParams( ECmStartPage,                 KStartingPage ) );
-    iWLanParams.Append( EInputParams( EWlanSSID,                    KNetworkName ) );
-    iWLanParams.Append( EInputParams( EWlanConnectionMode,          KNetworkMode ) );
-    iWLanParams.Append( EInputParams( EWlanSecurityMode,            KSecurityMode ) );
-    iWLanParams.Append( EInputParams( EWlanIpNameServer1,           KPrimaryNameServer ) );
-    iWLanParams.Append( EInputParams( EWlanIpNameServer2,           KSecondaryNameServer ) );
-    iWLanParams.Append( EInputParams( EWlanIp6NameServer1,          KPrimaryIP6NameServer ) );
-    iWLanParams.Append( EInputParams( EWlanIp6NameServer2,          KSecondaryIP6NameServer ) );
-    iWLanParams.Append( EInputParams( EWlanIpGateway,               KWlanIpGatewayAddress ) );
-    iWLanParams.Append( EInputParams( ECmProxyServerName,           KProxyServerAddress ) );
-    iWLanParams.Append( EInputParams( ECmProxyProtocolName,         KProxyProtocolName ) );
-    iWLanParams.Append( EInputParams( EWlanIpNetMask,               KWlanIpNetMask ) );
-    iWLanParams.Append( EInputParams( ECmProxyPortNumber,           KProxyPortNumber ) );
-    iWLanParams.Append( EInputParams( EWlanIpAddr,                  KPhoneIP ) ); 
-    iWLanParams.Append( EInputParams( EWlanScanSSID,                KWlanScanSSId ) );
-    iWLanParams.Append( EInputParams( EWlanChannelID,               KWlanChannelId ) );
-    iWLanParams.Append( EInputParams( EWEPKeyInUse,                 KWEPKeyInUse ) );
-    iWLanParams.Append( EInputParams( EWEPAuthType,                 KWEPAuthType ) );
-    iWLanParams.Append( EInputParams( EWEPKey1Length,               KWEPKey1Length ) );
-    iWLanParams.Append( EInputParams( EWEPKey1Format,               KWEPKey1Format ) );
-    iWLanParams.Append( EInputParams( EWEPKey1Data,                 KWEPKey1Data ) );
-    iWLanParams.Append( EInputParams( EWEPKey2Length,               KWEPKey2Length ) );
-    iWLanParams.Append( EInputParams( EWEPKey2Format,               KWEPKey2Format ) );
-    iWLanParams.Append( EInputParams( EWEPKey2Data,                 KWEPKey2Data ) );
-    iWLanParams.Append( EInputParams( EWEPKey3Length,               KWEPKey3Length ) );
-    iWLanParams.Append( EInputParams( EWEPKey3Format,               KWEPKey3Format ) );
-    iWLanParams.Append( EInputParams( EWEPKey3Data,                 KWEPKey3Data ) );
-    iWLanParams.Append( EInputParams( EWEPKey4Length,               KWEPKey4Length ) );
-    iWLanParams.Append( EInputParams( EWEPKey4Format,               KWEPKey4Format ) );
-    iWLanParams.Append( EInputParams( EWEPKey4Data,                 KWEPKey4Data ) );
-    iWLanParams.Append( EInputParams( EWPAPresharedKey,             KWPAPresharedKey ) );
-    iWLanParams.Append( EInputParams( EWPAKeyLength,                KWPAKeyLength ) );
-    iWLanParams.Append( EInputParams( EWPAEapMethod,                KWPAEapMethod ) );
-    iWLanParams.Append( EInputParams( EWPAUseOfPresharedKey,        KWPAUseOfPresharedKey ) );
-    iWLanParams.Append( EInputParams( EEapGtcUsername,              KEapGtcUsername ) );
-    iWLanParams.Append( EInputParams( EEapGtcSessionValidityTime,   KEapGtcSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapGtcEncapsulation,         KEapGtcEncapsulation ) );
-    iWLanParams.Append( EInputParams( EEapTlsUsername,              KEapTlsUsername ) );
-    iWLanParams.Append( EInputParams( EEapTlsRealm,                 KEapTlsRealm ) );
-    iWLanParams.Append( EInputParams( EEapTlsVerifyServerRealm,     KEapTlsVerifyServerRealm ) );
-    iWLanParams.Append( EInputParams( EEapTlsRequireClientAuth,     KEapTlsRequireClientAuth ) );
-    iWLanParams.Append( EInputParams( EEapTlsSessionValidityTime,   KEapTlsSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapTlsCipherSuites,          KEapTlsCipherSuites ) );
-    iWLanParams.Append( EInputParams( EEapTlsUserCertSubjectKeyId,  KEapTlsUserCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapTlsUserCertIssuerName,    KEapTlsUserCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapTlsUserCertSerialNumber,  KEapTlsUserCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapTlsCaCertSubjectKeyId,    KEapTlsCaCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapTlsCaCertIssuerName,      KEapTlsCaCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapTlsCaCertSerialNumber,    KEapTlsCaCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapTlsEncapsulation,         KEapTlsEncapsulation ) );
-    iWLanParams.Append( EInputParams( EEapLeapUsername,             KEapLeapUsername ) );
-    iWLanParams.Append( EInputParams( EEapLeapPassword,             KEapLeapPassword ) );
-    iWLanParams.Append( EInputParams( EEapLeapSessionValidityTime,  KEapLeapSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapSimUsername,              KEapSimUsername ) );
-    iWLanParams.Append( EInputParams( EEapSimRealm,                 KEapSimRealm ) );
-    iWLanParams.Append( EInputParams( EEapSimUsePseudonyms,         KEapSimUsePseudonyms ) );
-    iWLanParams.Append( EInputParams( EEapSimSessionValidityTime,   KEapSimSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapSimEncapsulation,         KEapSimEncapsulation ) );
-    iWLanParams.Append( EInputParams( EEapTtlsUsername,             KEapTtlsUsername ) );
-    iWLanParams.Append( EInputParams( EEapTtlsRealm,                KEapTtlsRealm ) );
-    iWLanParams.Append( EInputParams( EEapTtlsVerifyServerRealm,    KEapTtlsVerifyServerRealm ) );
-    iWLanParams.Append( EInputParams( EEapTtlsRequireClientAuth,    KEapTtlsRequireClientAuth ) );
-    iWLanParams.Append( EInputParams( EEapTtlsSessionValidityTime,  KEapTtlsSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapTtlsCipherSuites,         KEapTtlsCipherSuites ) );
-    iWLanParams.Append( EInputParams( EEapTtlsEncapsulatedTypes,    KEapTtlsEncapsulatedTypes ) );
-    iWLanParams.Append( EInputParams( EEapTtlsUserCertSubjectKeyId, KEapTtlsUserCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapTtlsUserCertIssuerName,   KEapTtlsUserCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapTtlsUserCertSerialNumber, KEapTtlsUserCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapTtlsCaCertSubjectKeyId,   KEapTtlsCaCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapTtlsCaCertIssuerName,     KEapTtlsCaCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapTtlsCaCertSerialNumber,   KEapTtlsCaCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapAkaUsername,              KEapAkaUsername ) );
-    iWLanParams.Append( EInputParams( EEapAkaRealm,                 KEapAkaRealm ) );
-    iWLanParams.Append( EInputParams( EEapAkaUsePseudonyms,         KEapAkaUsePseudonyms ) );
-    iWLanParams.Append( EInputParams( EEapAkaSessionValidityTime,   KEapAkaSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapAkaEncapsulation,         KEapAkaEncapsulation ) );
-    iWLanParams.Append( EInputParams( EEapPeapUsername,             KEapPeapUsername ) );
-    iWLanParams.Append( EInputParams( EEapPeapRealm,                KEapPeapRealm ) );
-    iWLanParams.Append( EInputParams( EEapPeapVerifyServerRealm,    KEapPeapVerifyServerRealm ) );
-    iWLanParams.Append( EInputParams( EEapPeapRequireClientAuth,    KEapPeapRequireClientAuth ) );
-    iWLanParams.Append( EInputParams( EEapPeapSessionValidityTime,  KEapPeapSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapPeapCipherSuites,         KEapPeapCipherSuites ) );
-    iWLanParams.Append( EInputParams( EEapPeapV0Allowed,            KEapPeapV0Allowed ) );
-    iWLanParams.Append( EInputParams( EEapPeapV1Allowed,            KEapPeapV1Allowed ) );
-    iWLanParams.Append( EInputParams( EEapPeapV2Allowed,            KEapPeapV2Allowed ) );
-    iWLanParams.Append( EInputParams( EEapPeapEncapsulatedTypes,    KEapPeapEncapsulatedTypes ) );
-    iWLanParams.Append( EInputParams( EEapPeapUserCertSubjectKeyId, KEapPeapUserCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapPeapUserCertIssuerName,   KEapPeapUserCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapPeapUserCertSerialNumber, KEapPeapUserCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapPeapCaCertSubjectKeyId,   KEapPeapCaCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapPeapCaCertIssuerName,     KEapPeapCaCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapPeapCaCertSerialNumber,   KEapPeapCaCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapMschapv2Username,         KEapMschapv2Username ) );
-    iWLanParams.Append( EInputParams( EEapMschapv2Password,         KEapMschapv2Password ) );
-    iWLanParams.Append( EInputParams( EEapMschapv2SessionValidityTime, KEapMschapv2SessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapMschapv2Encapsulation,    KEapMschapv2Encapsulation ) );
-    iWLanParams.Append( EInputParams( EEapFastUsername,             KEapFastUsername ) );
-    iWLanParams.Append( EInputParams( EEapFastRealm,                KEapFastRealm ) );
-    iWLanParams.Append( EInputParams( EEapFastVerifyServerRealm,    KEapFastVerifyServerRealm ) );
-    iWLanParams.Append( EInputParams( EEapFastRequireClientAuth,    KEapFastRequireClientAuth ) );
-    iWLanParams.Append( EInputParams( EEapFastSessionValidityTime,  KEapFastSessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EEapFastCipherSuites,         KEapFastCipherSuites ) );
-    iWLanParams.Append( EInputParams( EEapFastEncapsulatedTypes,    KEapFastEncapsulatedTypes ) );
-    iWLanParams.Append( EInputParams( EEapFastAuthProvModeAllowed,  KEapFastAuthProvModeAllowed ) );
-    iWLanParams.Append( EInputParams( EEapFastUnauthProvModeAllowed, KEapFastUnauthProvModeAllowed ) );
-    iWLanParams.Append( EInputParams( EEapFastWarnADHPNoPAC,        KEapFastWarnADHPNoPAC ) );
-    iWLanParams.Append( EInputParams( EEapFastWarnADHPNoMatchingPAC, KEapFastWarnADHPNoMatchingPAC ) );
-    iWLanParams.Append( EInputParams( EEapFastWarnNotDefaultServer, KEapFastWarnNotDefaultServer ) );
-    iWLanParams.Append( EInputParams( EEapFastUserCertSubjectKeyId, KEapFastUserCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapFastUserCertIssuerName,   KEapFastUserCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapFastUserCertSerialNumber, KEapFastUserCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EEapFastCaCertSubjectKeyId,   KEapFastCaCertSubjectKeyId ) );
-    iWLanParams.Append( EInputParams( EEapFastCaCertIssuerName,     KEapFastCaCertIssuerName ) );
-    iWLanParams.Append( EInputParams( EEapFastCaCertSerialNumber,   KEapFastCaCertSerialNumber ) );
-    iWLanParams.Append( EInputParams( EMschapv2Username,            KMschapv2Username ) );
-    iWLanParams.Append( EInputParams( EMschapv2Password,            KMschapv2Password ) );
-    iWLanParams.Append( EInputParams( EMschapv2SessionValidityTime, KMschapv2SessionValidityTime ) );
-    iWLanParams.Append( EInputParams( EMschapv2Encapsulation, 		KMschapv2Encapsulation ) );        
-    };
-    
-    
-
-void CReaderXML::FillVpnParams()    
-    {
-    iVpnParams.Reset();
-        
-    iVpnParams.Append( EInputParams( ECmName,              KConnectionName ) );
-    iVpnParams.Append( EInputParams( ECmId,                KConnectionId ) );
-    iVpnParams.Append( EInputParams( ECmProtected,         KProtected ) );
-    iVpnParams.Append( EInputParams( ECmHidden,            KHidden ) );
-    iVpnParams.Append( EInputParams( ECmMetaHiddenAgent,   KHiddenAgent ) );
-    iVpnParams.Append( EInputParams( ECmMetaHighlight,     KHighlighted ) );
-    iVpnParams.Append( EInputParams( ECmSeamlessnessLevel, KSeamlessness ) );
-    iVpnParams.Append( EInputParams( ECmProxyServerName,   KProxyServerAddress ) );
-    iVpnParams.Append( EInputParams( ECmProxyPortNumber,   KProxyPortNumber ) );
-    iVpnParams.Append( EInputParams( ECmProxyProtocolName, KProxyProtocolName ) );
-    iVpnParams.Append( EInputParams( EVPN_IapName,         KVpnIapName ) );
-    iVpnParams.Append( EInputParams( EVpnServicePolicy,    KVpnServicePolicy ) );
-
-    };    
-
-//Binds Gobal settings parameters to field IDs
-void CReaderXML::FillGlobalParams()    
-    {         
-    iGlobalParams.Append( EInputParams( EGPRSAttachMode,        KAttachMode ) );
-    iGlobalParams.Append( EInputParams( EDefaultAP,             KDefaultAP) );
-    iGlobalParams.Append( EInputParams( EDefaultDnIcon,         KDefaultDnIcon ) );
-    iGlobalParams.Append( EInputParams( EPriorityLan,           KPriorityLan ) );
-    iGlobalParams.Append( EInputParams( EPriorityWlan,          KPriorityWlan ) );
-    iGlobalParams.Append( EInputParams( EPriorityPan,           KPriorityPan ) );
-    iGlobalParams.Append( EInputParams( EPriorityGprsOut,       KPriorityGprsOut ) );
-    iGlobalParams.Append( EInputParams( EPriorityGprsIn,        KPriorityGprsIn ) );
-    iGlobalParams.Append( EInputParams( EPriorityCdma2k,        KPriorityCdma2k ) );
-    iGlobalParams.Append( EInputParams( EPriorityDialOut,       KPriorityDialOut ) );
-    iGlobalParams.Append( EInputParams( EPriorityDialIn,        KPriorityDialIn ) );
-    iGlobalParams.Append( EInputParams( EPriorityVpn,           KPriorityVpn ) );
-    iGlobalParams.Append( EInputParams( EPriorityMip,           KPriorityMip ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityLan,         KUIPriorityLan ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityWlan,        KUIPriorityWlan ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityPan,         KUIPriorityPan ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityGprsOut,     KUIPriorityGprsOut ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityGprsIn,      KUIPriorityGprsIn ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityCdma2k,      KUIPriorityCdma2k ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityDialOut,     KUIPriorityDialOut ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityDialIn,      KUIPriorityDialIn ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityVpn,         KUIPriorityVpn ) );
-    iGlobalParams.Append( EInputParams( EUIPriorityMip,         KUIPriorityMip ) );
-    iGlobalParams.Append( EInputParams( EUsageOfWlan,           KUsageOfWlan ) );
-    iGlobalParams.Append( EInputParams( ECellularDataUsageHome,         KCellularDataUsageHome ) );
-    iGlobalParams.Append( EInputParams( ECellularDataUsageVisitor,      KCellularDataUsageVisitor ) );
-    iGlobalParams.Append( EInputParams( EGprsLastSocketActivityTimeout, KGprsLastSocketActivityTimeout ) );
-    iGlobalParams.Append( EInputParams( EGprsLastSessionClosedTimeout,  KGprsLastSessionClosedTimeout ) );
-    iGlobalParams.Append( EInputParams( EGprsLastSocketClosedTimeout,   KGprsLastSocketClosedTimeout ) );
-    iGlobalParams.Append( EInputParams( EWlanLastSocketActivityTimeout, KWlanLastSocketActivityTimeout ) );
-    iGlobalParams.Append( EInputParams( EWlanLastSessionClosedTimeout,  KWlanLastSessionClosedTimeout ) );
-    iGlobalParams.Append( EInputParams( EWlanLastSocketClosedTimeout,   KWlanLastSocketClosedTimeout ) );
-    iGlobalParams.Append( EInputParams( EWlanBGScanInterval,    KWlanBGScanInterval ) );
-    iGlobalParams.Append( EInputParams( EWlanUseDefSettings,    KWlanUseDefSettings ) );
-    iGlobalParams.Append( EInputParams( EWlanLongRetry,         KWlanLongRetry ) );
-    iGlobalParams.Append( EInputParams( EWlanShortRetry,        KWlanShortRetry ) );
-    iGlobalParams.Append( EInputParams( EWlanRTS,               KWlanRTS ) );
-    iGlobalParams.Append( EInputParams( EWlanTxPowerLevel,      KWlanTxPowerLevel ) );
-    iGlobalParams.Append( EInputParams( EWlanRadioMeasurements, KWlanRadioMeasurements ) );
-    iGlobalParams.Append( EInputParams( EWlanPowerMode,         KWlanPowerMode ) );
-    
-    };
-
-//Describes a Destination Network
-void CReaderXML::FillDNParams()    
-    {        
-    iDNParams.Append( EInputParams( EDN_Name,           KDN_Name ) );
-    iDNParams.Append( EInputParams( EDN_Id,             KDN_Id ) );
-    iDNParams.Append( EInputParams( EDN_Icon,           KDN_Icon ) );
-    iDNParams.Append( EInputParams( EDN_Metadata,       KDN_Metadata ) );
-    iDNParams.Append( EInputParams( EDN_Protection,     KDN_Protection ) );
-    iDNParams.Append( EInputParams( EDN_Hidden,         KHidden ) );
-    iDNParams.Append( EInputParams( EDN_HiddenAgent,    KHiddenAgent ) );
-    iDNParams.Append( EInputParams( EDN_Highlighted,    KHighlighted ) );
-    iDNParams.Append( EInputParams( EDN_EmbeddedDNName, KDN_EmbeddedDNName ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName ) );
-    // Needed because of Customization Tool limitations
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName2 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName3 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName4 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName5 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName6 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName7 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName8 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName9 ) );
-    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName10 ) );   
-    };
-
-        
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdctagcontainer.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:  Method definitions of the class CTagContainer.
-*
-*/
-
-
-
-#include "cdctagcontainer.h"
-#include "cdcerrors.h"
-
-//CONSTANTS
-const TInt KGranularity = 20;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// Constructor of ETag
-// ---------------------------------------------------------
-CTagContainer::ETag::ETag( HBufC16* aTag, TInt aFieldId ):
-    iFieldId( aFieldId ),
-    iTag( aTag )
-    {
-    //no implementation needed    
-    }
-
-// ---------------------------------------------------------
-// Destructor of ETag
-// ---------------------------------------------------------
-CTagContainer::ETag::~ETag() 
-    {
-    delete iTag;    
-    }
-    
-// ---------------------------------------------------------
-// TTagContainer NewL
-// ---------------------------------------------------------
-//    
-CTagContainer* CTagContainer::NewL()
-    {
-    CTagContainer* self = new ( ELeave ) CTagContainer();
-    CleanupStack::PushL( self );
-
-    // From Base class
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;    
-    }
-    
-// ---------------------------------------------------------
-// TTagContainer ConstructL
-// ---------------------------------------------------------
-//        
-void CTagContainer::ConstructL()
-    {
-    iTags = new (ELeave) CArrayPtrSeg<ETag>( KGranularity );    
-    }
-    
-// ---------------------------------------------------------
-// TTagContainer Constructor
-// ---------------------------------------------------------
-//
-CTagContainer::CTagContainer()
-    {
-    }
-    
-// ---------------------------------------------------------
-// TTagContainer Destructor
-// ---------------------------------------------------------
-//
-CTagContainer::~CTagContainer()
-    {
-    Clear();
-    delete iTags;
-    }
-        
-// ---------------------------------------------------------
-// CTagContainer::Clear
-// ---------------------------------------------------------
-//
-void CTagContainer::Clear()
-    {
-    iTags->ResetAndDestroy();
-    }
-    
-// ---------------------------------------------------------
-// CTagContainer::Add
-// ---------------------------------------------------------
-//    
-void CTagContainer::AddL( HBufC16* aTag, TInt aFieldId )
-    {
-    ETag* tag = new (ELeave) ETag( aTag, aFieldId );
-    //lint -sem( iTags->AppendL, custodial(1) )
-    
-    CleanupStack::PushL( tag );
-    iTags->AppendL( tag );
-    CleanupStack::Pop( tag );
-    }
-    
-// ---------------------------------------------------------
-// CTagContainer::Tag
-// ---------------------------------------------------------
-//    
-HBufC16* CTagContainer::Tag( TUint aIdx )
-    {
-    __ASSERT_ALWAYS( aIdx < Count(), 
-                 User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-                 
-    return iTags->At(aIdx)->iTag;
-    }
-
-// ---------------------------------------------------------
-// CTagContainer::FieldId
-// ---------------------------------------------------------
-//    
-TInt CTagContainer::FieldId( TUint aIdx )
-    {
-    __ASSERT_ALWAYS( aIdx < Count(), 
-                 User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
-
-    return iTags->At( aIdx )->iFieldId;
-    }
-    
-// ---------------------------------------------------------
-// CTagContainer::Count
-// ---------------------------------------------------------
-//    
-TInt CTagContainer::Count()
-    {
-    return iTags->Count();
-    }
-
-// End of File.
--- a/dbcreator/commsdatcreator/Src/cdcwlandevicesettings.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CWlanDeviceSettings
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cdcwlandevicesettings.h"
-#include "cdclogger.h"
-
-#include <cdbcols.h>
-#include <WlanCdbCols.h>
-
-#include <metadatabase.h>
-#include <commsdattypeinfov1_1.h>
-#include <commsdattypesv1_1.h>
-#include <wlancontainer.h>
-
-
-// CONSTANTS
-// WLAN Device Settings table - default settings
-const TUint32 KDefaultBGScanInterval    = 0xFFFFFFFF;   // Automatic scan
-const TBool   KDefaultUseDefSettings    = ETrue;
-const TUint32 KDefaultLongRetry         = 4;
-const TUint32 KDefaultShortRetry        = 7;
-const TUint32 KDefaultRTS               = 2347;
-const TUint32 KDefaultTxPowerLevel      = 100;  //mW
-const TBool   KDefaultRadioMeasurements = ETrue;  
-const TBool   KDefaultWlanPowerMode     = ETrue;        
-
-// Increase version every time the content of the table changes
-const TUint32 KWlanDeviceSettingsTableVersion = 9;
-
-
-// ================= MEMBER FUNCTIONS ======================
-
-// ---------------------------------------------------------
-// Constructor
-// ---------------------------------------------------------
-//
-CWlanDeviceSettings::CWlanDeviceSettings()
-    {
-    }
-    
-
-// ---------------------------------------------------------
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------
-//
-void CWlanDeviceSettings::ConstructL()
-    {
-    DEBUG( "CWlanDeviceSettings::ConstructL()" )
-    
-    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    
-    // Open the WLAN device settings table.
-    if( !iSession->IsInTransaction() )
-        {
-        iSession->OpenTransactionL();
-        }
-    OpenTableL();
-    iSession->CommitTransactionL();
-    DEBUG( "CWlanDeviceSettings::ConstructL() Tables opened ok." )
-    }
-
-
-// ---------------------------------------------------------
-// Static constructor.
-// ---------------------------------------------------------
-//
-CWlanDeviceSettings* CWlanDeviceSettings::NewL()
-    {
-    DEBUG( "CWlanDeviceSettings::NewL()" )
-
-    CWlanDeviceSettings* self = new (ELeave) CWlanDeviceSettings;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-    
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-//
-CWlanDeviceSettings::~CWlanDeviceSettings()
-    {
-    DEBUG( "CWlanDeviceSettings::~CWlanDeviceSettings()" )
-    
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession; 
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CWlanDeviceSettings::GetDefaultSettings
-// ---------------------------------------------------------
-//
-void CWlanDeviceSettings::GetDefaultSettings( SWlanDeviceSettings& aSettings )
-    {
-    DEBUG( "CWlanDeviceSettings::GetDefaultSettings()" )
-
-    aSettings.backgroundScanInterval = KDefaultBGScanInterval; 
-    aSettings.savedBgScanInterval    = KDefaultBGScanInterval; 
-    aSettings.useDefaultSettings     = KDefaultUseDefSettings;        
-    aSettings.longRetry              = KDefaultLongRetry;
-    aSettings.shortRetry             = KDefaultShortRetry;
-    aSettings.rts                    = KDefaultRTS;
-    aSettings.txPowerLevel           = KDefaultTxPowerLevel;
-    aSettings.radioMeasurements      = KDefaultRadioMeasurements;
-    aSettings.powerMode              = KDefaultWlanPowerMode;
-    }
-
-
-// ---------------------------------------------------------
-// CWlanDeviceSettings::OpenTableL
-// ---------------------------------------------------------
-//
-void CWlanDeviceSettings::OpenTableL()
-    {
-    DEBUG( "CWlanDeviceSettings::OpenTableL()" )
-    
-    // See if there is a record whose device settings type is
-    // 'WLAN default settings'
-    CMDBGenericRecord* deviceSettingsTable = static_cast< CMDBGenericRecord* >
-                        ( CCDRecordBase::RecordFactoryL( 0 ) );
-    CleanupStack::PushL( deviceSettingsTable );
-    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
-    deviceSettingsTable->LoadL( *iSession );
-    
-    CMDBElement* tableType = deviceSettingsTable->GetFieldByIdL
-                                            ( KCDTIdWlanDeviceSettingsType );
-    CMDBField< TUint32 >* tableTypeField =
-                            static_cast< CMDBField< TUint32 >* >( tableType );
-    tableTypeField->SetL( KWlanDefaultSettings );
-    
-    if( !deviceSettingsTable->FindL( *iSession ) )
-        {
-        // If not, store empty record
-        deviceSettingsTable->SetRecordId( KCDNewRecordRequest );
-        deviceSettingsTable->StoreL( *iSession );
-        // And fill it with data
-        FillRecordL( KWlanDefaultSettings, deviceSettingsTable );
-        deviceSettingsTable->ModifyL( *iSession );
-        }
-    CleanupStack::PopAndDestroy( deviceSettingsTable );
-    
-    // See if there is a record whose device settings type is
-    // 'WLAN user settings'
-    deviceSettingsTable = static_cast< CMDBGenericRecord* >
-                                ( CCDRecordBase::RecordFactoryL( 0 ) );
-    CleanupStack::PushL( deviceSettingsTable );
-    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
-    deviceSettingsTable->LoadL( *iSession );
-    
-    tableType = deviceSettingsTable->GetFieldByIdL( KCDTIdWlanDeviceSettingsType );
-    tableTypeField = static_cast< CMDBField< TUint32 >* >( tableType );
-    tableTypeField->SetL( KWlanUserSettings );
-    
-    if( !deviceSettingsTable->FindL( *iSession ) )
-        {
-        // If not, store empty record
-        deviceSettingsTable->SetRecordId( KCDNewRecordRequest );
-        deviceSettingsTable->StoreL( *iSession );
-        // And fill it with data
-        FillRecordL( KWlanUserSettings, deviceSettingsTable );
-        deviceSettingsTable->ModifyL( *iSession );
-        }
-    CleanupStack::PopAndDestroy( deviceSettingsTable );
-    }
-
-
-// ---------------------------------------------------------
-// CWlanDeviceSettings::FillRecordL
-// ---------------------------------------------------------
-//
-
-void CWlanDeviceSettings::FillRecordL( TUint32 aTableType, 
-                                      CMDBGenericRecord* aRecord )
-    {
-    DEBUG1( "CWlanDeviceSettings::NewRecordL() Type=%d", aTableType )
-    
-    SWlanDeviceSettings settings;
-    GetDefaultSettings( settings );
-    
-    // Device Settings Type
-    CMDBElement* tableType = aRecord->GetFieldByIdL
-                                            ( KCDTIdWlanDeviceSettingsType );
-    CMDBField< TUint32 >* tableTypeField =
-                            static_cast< CMDBField< TUint32 >* >( tableType );
-    tableTypeField->SetL( aTableType );
-    
-    // Table Version
-    CMDBElement* tableVersion = aRecord->GetFieldByIdL
-                                                    ( KCDTIdTableVersion );
-    CMDBField< TUint32 >* tableVersionField =
-                        static_cast< CMDBField< TUint32 >* >( tableVersion );
-    
-    tableVersionField->SetL( KWlanDeviceSettingsTableVersion );
-
-    // BG Scan Interval
-    CMDBElement* bgScanInterval = aRecord->GetFieldByIdL
-                                                    ( KCDTIdBgScanInterval );
-    CMDBField< TUint32 >* bgScanIntervalField =
-                        static_cast< CMDBField< TUint32 >* >( bgScanInterval );
-    bgScanIntervalField->SetL( settings.backgroundScanInterval );
-    
-    // Saved BG Scan Interval
-    CMDBElement* savedBgScanInterval = aRecord->GetFieldByIdL
-                                                    ( KCDTIdSavedBgScanInterval );
-    CMDBField< TUint32 >* savedBgScanIntervalField =
-                        static_cast< CMDBField< TUint32 >* >( savedBgScanInterval );
-    savedBgScanIntervalField->SetL( settings.savedBgScanInterval );
-    
-    // Use Default Settings
-    CMDBElement* useDefaultSettings = aRecord->GetFieldByIdL
-                                                ( KCDTIdUseDefaultSettings );
-    CMDBField< TBool >* useDefaultSettingsField =
-                    static_cast< CMDBField< TBool >* >( useDefaultSettings );
-    useDefaultSettingsField->SetL( settings.useDefaultSettings );
-    
-    // Long Retry
-    CMDBElement* longRetry = aRecord->GetFieldByIdL( KCDTIdWlanLongRetry );
-    CMDBField< TUint32 >* longRetryField =
-                        static_cast< CMDBField< TUint32 >* >( longRetry );
-    longRetryField->SetL( settings.longRetry );
-    
-    // Short Retry
-    CMDBElement* shortRetry = aRecord->GetFieldByIdL( KCDTIdWlanShortRetry );
-    CMDBField< TUint32 >* shortRetryField =
-                        static_cast< CMDBField< TUint32 >* >( shortRetry );
-    shortRetryField->SetL( settings.shortRetry );
-    
-    // RTS Threshold
-    CMDBElement* rts = aRecord->GetFieldByIdL( KCDTIdWlanRTSThreshold );
-    CMDBField< TUint32 >* rtsField =
-                        static_cast< CMDBField< TUint32 >* >( rts );
-    rtsField->SetL( settings.rts );
-    
-    // TX Power Level
-    CMDBElement* txPowerLevel = aRecord->GetFieldByIdL( KCDTIdTxPowerLevel );
-    CMDBField< TUint32 >* txPowerLevelField =
-                        static_cast< CMDBField< TUint32 >* >( txPowerLevel );
-    txPowerLevelField->SetL( settings.txPowerLevel );
-    
-    // Radio Measurements
-    CMDBElement* radioMeasurements = aRecord->GetFieldByIdL
-                                            ( KCDTIdAllowRadioMeasurements );
-    CMDBField< TBool >* radioMeasurementsField =
-                    static_cast< CMDBField< TBool >* >( radioMeasurements );
-    radioMeasurementsField->SetL( settings.radioMeasurements );
-    
-    // Power Mode
-    CMDBElement* powerMode = aRecord->GetFieldByIdL( KCDTIdWlanPowerMode );
-    CMDBField< TBool >* powerModeField =
-                    static_cast< CMDBField< TBool >* >( powerMode );
-    powerModeField->SetL( settings.powerMode );
-    }
-
-//  End of File
--- a/dbcreator/commsdatcreator/Src/cdcwlantables.cpp	Fri Aug 06 19:11:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "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:   Implementation of the class CWlanTables
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include "cdclogger.h"
-#include "cdcwlantables.h"
-
-#include <wlancontainer.h>
-
-// CONSTANTS
-/// Modem bearer names for WLAN connection methods
-_LIT( KWlanBearerName, "WLANBearer" );
-_LIT( KWlanBearerAgent, "wlanagt.agt" );
-_LIT( KWlanBearerNif, "wlannif" );
-
-_LIT( KWlanLDDName, "not used" );
-_LIT( KWlanPDDName, "not used" );
-const TInt KWlanLastSocketActivityTimeout = -1;
-const TInt KWlanLastSessionClosedTimeout = 1;
-const TInt KWlanLastSocketClosedTimeout = -1;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanTables::NewL
-// ---------------------------------------------------------
-//
-CWlanTables* CWlanTables::NewL()
-    {
-
-    CWlanTables* self = new ( ELeave ) CWlanTables;
-
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CWlanTables::CWlanTables
-// ---------------------------------------------------------
-//
-CWlanTables::CWlanTables()
-    {
-    //no implementation needed
-    }
-
-
-// ---------------------------------------------------------
-// CWlanTables::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanTables::ConstructL()
-    {
-    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    }
-
-
-// ---------------------------------------------------------
-// CWlanTables::~CWlanTables
-// ---------------------------------------------------------
-//
-CWlanTables::~CWlanTables()
-    {
-    if ( iSession )
-        {
-        iSession->Close();
-        delete iSession; 
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CreateWlanServiceTableL
-// ---------------------------------------------------------
-//
-void CWlanTables::CheckAndCreateTablesL()
-    {
-    // Check WLAN Device Settings Table (creates if does not exist).
-    CreateWlanDeviceSettingsTableL();
-    
-    // Check WLAN Service Table (creates if does not exist).
-    CreateWlanServiceTableL();
-
-    // Check WLAN Secondary SSID Table (creates if does not exist).
-    CreateWlanSecSSIDTableL();
-    
-    // Check WLAN bearer record (creates if does not exist).
-    CreateWlanBearerRecordL();    
-    }
-    
-// ---------------------------------------------------------
-// CreateWlanServiceTableL
-// ---------------------------------------------------------
-//
-void CWlanTables::CreateWlanServiceTableL()
-    {
-    //checks whether table exists
-    TInt error( KErrNone );
-    
-    TRAP( error, CCDWlanServiceRecord::TableIdL( *iSession ) );
-    if( error == KErrNotFound )
-        {    
-        //table not found -- add new table
-        CCDWlanServiceRecord::CreateTableL( *iSession );
-        
-        //check result
-        TRAP( error, CCDWlanServiceRecord::TableIdL( *iSession ) );
-        
-        if ( error == KErrNone )
-            {
-            CLOG_WRITE( "Added WLAN service table" )
-            }
-        }
-    else if ( error == KErrNone)
-        {
-            CLOG_WRITE( "WLAN service table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-
-// ---------------------------------------------------------
-// CreateWlanDeviceTableL
-// ---------------------------------------------------------
-//
-void CWlanTables::CreateWlanDeviceSettingsTableL()
-    {
-    //checks whether table exists
-    TInt error( KErrNone );
-    
-    TRAP( error, CCDWlanDeviceSettingsRecord::TableIdL( *iSession ) );
-    if( error == KErrNotFound )
-        {    
-        //table not found -- add new table
-        CCDWlanDeviceSettingsRecord::CreateTableL( *iSession );
-        
-        //check result
-        TRAP( error, CCDWlanDeviceSettingsRecord::TableIdL( *iSession ) );
-        if ( error == KErrNone )
-            {
-            CLOG_WRITE( "Added Device Settings table" )
-            }
-        }
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "Device Settings table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-    
-    
-// ---------------------------------------------------------
-// CreateWlanSecSSIDTableL
-// ---------------------------------------------------------
-//
-void CWlanTables::CreateWlanSecSSIDTableL()
-    {
-    //checks whether table exists
-    TInt error( KErrNone );
-    
-    TRAP( error, CCDWLANSecSSIDTable::TableIdL( *iSession ) );
-    if( error == KErrNotFound )
-        {    
-        //table not found -- add new table
-        CCDWLANSecSSIDTable::CreateTableL( *iSession );
-        
-        //check result
-        TRAP( error, CCDWLANSecSSIDTable::TableIdL( *iSession ) );
-        
-        if ( error == KErrNone )
-            {
-            CLOG_WRITE( "Added Secondary SSID table" )
-            }
-        }
-    else if ( error == KErrNone)
-        {
-        CLOG_WRITE( "Secondary SSID table already exists" )
-        }
-    else
-        {
-        //do nothing             
-        }
-    }
-
-// ---------------------------------------------------------
-// CreateWlanBearerRecordL
-// ---------------------------------------------------------
-//
-void CWlanTables::CreateWlanBearerRecordL()
-    {
-	CCDLANBearerRecord* record = static_cast<CCDLANBearerRecord*>
-                ( CCDRecordBase::RecordFactoryL( KCDTIdLANBearerRecord ) );
-    CleanupStack::PushL( record );    
-    
-   	record->iRecordName.SetL( TPtrC( KWlanBearerName ) );
-   	
-    if ( !record->FindL( *iSession ) )
-        { // bearer not found -> create dummy values. Copied from CmManager initialization.               
-        record->SetRecordId( KCDNewRecordRequest );
-        
-        record->iBearerAgent.SetL( KWlanBearerAgent );
-        record->iRecordName.SetL( KWlanBearerName );
-        record->iLanBearerNifName.SetL( KWlanBearerNif );
-        record->iLanBearerLddName.SetL( KWlanLDDName );
-        record->iLanBearerPddName.SetL( KWlanPDDName );
-        record->iLastSocketActivityTimeout.SetL(
-                                ( TUint32 )KWlanLastSocketActivityTimeout );
-        record->iLastSessionClosedTimeout.SetL(
-                                (TUint32 )KWlanLastSessionClosedTimeout );
-        record->iLastSocketClosedTimeout.SetL(
-                                ( TUint32 )KWlanLastSocketClosedTimeout );
-        record->StoreL( *iSession );
-        CLOG_WRITE( "Added WLAN bearer record" );
-        }
-    else
-		{
-		CLOG_WRITE( "WLAN bearer record already exists" );
-		}
-
-    CleanupStack::PopAndDestroy( record );
-    }
-
-
-
-//  End of File.
--- a/dbcreator/commsdatcreator/group/cdccommsdatcreator.mmp	Fri Aug 06 19:11:03 2010 +0300
+++ b/dbcreator/commsdatcreator/group/cdccommsdatcreator.mmp	Mon Aug 23 13:40:12 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -11,12 +11,10 @@
 *
 * Contributors:
 *
-* Description:   Project description file for commsdatcreator
-*
+* Description:
+* Project description file for commsdatcreator
 */
 
-
-
 #include <platform_paths.hrh>
 
 TARGET      commsdatcreator.dll
@@ -30,7 +28,7 @@
   
 LANG SC
     
-SOURCEPATH     ../Src
+SOURCEPATH     ../src
 
 SOURCE        cdcreaderbase.cpp
 SOURCE        cdcreaderxml.cpp
@@ -50,7 +48,7 @@
 
 
 // Component specific internal headers 
-USERINCLUDE			../Inc
+USERINCLUDE			../inc
 
 USERINCLUDE			../../inc
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcdatamobilitytables.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CDataMobilityTables.
+*
+*/
+
+
+
+
+#ifndef DATAMOBILITYTABLESHANDLER_H
+#define DATAMOBILITYTABLESHANDLER_H
+
+
+// INCLUDES
+#include <e32base.h>
+#include <metadatabase.h>
+
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+* CDataMobilityTables
+* Capable of checking the existence of certain Data Mobility specific 
+* tables and - if necessary create them.
+*/
+class CDataMobilityTables : public CBase
+    {   
+    public:
+
+        /**
+        * Static constructor
+        */
+        static CDataMobilityTables* NewL();
+
+        /**
+        * Destructor
+        */
+        virtual ~CDataMobilityTables();
+
+        /**
+        * Checks if Data Mobility ALR tables exist. Creates them if not.
+        */
+        void CheckAndCreateAlrTablesL();
+        
+        /**
+        * Checks if Data Mobility MIP tables exist. Creates them if not.
+        */
+        void CheckAndCreateMipTablesL();
+
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CDataMobilityTables();
+
+        /**
+        * By default Symbian second phase constructor is private.
+        */
+        void ConstructL();
+        
+        /**
+        * Check if Global Bearer Type Priorization Table exists in CommsDat;
+        * create if not.
+        */
+        void CreateGlobalBearerTypeTableL();
+        
+        /**
+        * Check if Data Mobility Selection Policy Table exists in CommsDat;
+        * create if not.
+        */
+        void CreateDataMobilitySelectionPolicyTableL();
+        
+        /**
+        * Check if Virtual IAP Next Layer Table exists in CommsDat;
+        * create if not.
+        */
+        void CreateVirtualIAPNextLayerTableL();
+
+        /**
+        * Check if MIP Service Table exists in CommsDat; create if not.
+        */
+        void CreateMIPServiceTableL();
+        
+        /**
+        * Check if MIP Service Table exists in CommsDat; create if not.
+        */
+        void CreateMIP4TableL();
+        
+        /**
+        * Check if MIP Service Table exists in CommsDat; create if not.
+        */
+        void CreateMIP6TableL();
+        
+        /**
+        * Check if SNAP Metadata Table exists in CommsDat; create if not.
+        */
+        void CreateSNAPMetadataTableL();
+        
+        /**
+        * Check if IAP Metadata Table exists in CommsDat; create if not.
+        */
+        void CreateIAPMetadataTableL();
+        
+        /**
+        * Check if WLAN Destination network Table exists in CommsDat; 
+        * create if not.
+        */
+        void CreateDestNetworkTableL();
+        
+        /**
+        * Populates the Global Bearer Priorization table.
+        */
+        void PopulateGlobalBearerTypeTableL();
+        
+    private:    // Data
+    
+        //@var session - Owned
+        CMDBSession* iSession;
+        
+    };
+
+#endif      // DATAMOBILITYTABLESHANDLER_H
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcdumptables.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CDbCreator
+*
+*/
+
+
+
+
+#ifndef DUMP_TABLES_H
+#define DUMP_TABLES_H
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <s32file.h>
+
+// CLASS DECLARATION
+
+class CMDBSession;
+
+/**
+* CDumpTables writes data from CommsDat to CSV format file.
+* CDumpTables dumps the CommsDat tables which are not dumped 
+* by any other application.
+*/
+class CDumpTables : public CBase
+    {
+
+    public:
+    
+        /**
+         * Two-phase constructor.
+         * @return CDumpTables instance.
+         */
+        static CDumpTables* NewL();
+
+        /**
+         * Two-phase constructor.
+         * @return CDumpTables instance. Let the instance on the CleanupStack. 
+         */
+        static CDumpTables* NewLC();
+     
+        /**
+         * Destructor.
+         */
+        virtual ~CDumpTables();
+        
+        /**
+         * Dumps the unsupported tables to CSV format file.
+         * @param outFileName name of the output file with full path. 
+         */
+        void DoDumpTablesL( const TFileName& aOutFileName );
+        
+    protected:
+
+        /**
+         * Second phase constructor. Leaves on failure.
+         */
+        void ConstructL();
+        
+     private:
+    
+        /**
+         * Constructor
+         */
+        CDumpTables();
+        
+        /**
+         * Template method for dumping one CommsDat table
+         * @param class T representing the table which is dumped. 
+         */
+        template<class T> void DumpTableL( const TDesC* aTableName );
+
+        /**
+         * Opens a output file for dumping. It tries to open the file
+         * and if it does not exist then a new one created.
+         * @param aFileName name of the file. It cannot be NULL.  
+         */
+        TInt OpenFileL( const TFileName& aFileName );
+        
+        /**
+         * Writes 8 bit descriptor to 16 bit unicode file in CSV format.
+         * @param aDes the written text. It gets the ownership.  
+         */
+        void WriteL( HBufC8* aDes );
+
+        /**
+         * Writes 16 bit descriptor to 16 bit unicode file in CSV format.
+         * @param aDes the written text. It gets the ownership.  
+         */
+        void WriteL( HBufC16* aDes );
+
+        /**
+         * Transform the parameter field to CSV accepted format.
+         * @param aField the field that should be checked and transform
+         * to CSV format if it is necessary
+         * @return the CSV acceptable format.
+         */
+        HBufC16* TransformToCSVFormatLC( const HBufC16* aField );
+        
+        /**
+         * Checks the parameter field if transformation to CSV format is
+         * necessary.
+         * @param aField the field which should be checked.
+         * @return ETrue if transformation is necessary else EFalse.
+         */
+        TBool CheckCSVTransformNeedL( HBufC16* aFiled );
+
+
+    private:
+    
+        // Session for CommsDat
+        CommsDat::CMDBSession* iSession;
+        
+        // Fs for file handling
+        RFs   iRfs;
+
+        // Output file
+        RFileWriteStream iFile;
+        
+        // Counter for how many double qoutes are in the given text. 
+        TInt iNumOfDQuotes;        
+
+    };
+
+#endif DUMP_TABLES_H
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdclogfilename.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   contains logger macros
+*
+*/
+
+
+
+
+#ifndef CDC_LOGFILE_NAME_H
+#define CDC_LOGFILE_NAME_H
+
+
+/// Directory where the log file can be found.
+_LIT16( KLogDir, "cdc" );
+
+/// Log file name.
+_LIT16( KLogFile, "cdc.txt" );
+
+
+#endif // CDC_LOGFILE_NAME_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessorbase.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorBase.
+*
+*/
+
+
+
+
+#ifndef APFILE_PARSER_BASE_H
+#define APFILE_PARSER_BASE_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <e32std.h>
+#include <f32file.h>
+#include <flogger.h>
+#include <cmmanagerext.h>
+#include <cmconnectionmethodext.h>
+
+#include "cdcerrors.h"
+#include "cdccommon.h"
+
+// FORWARD DECLARATION
+class CTagContainer;
+class CReaderBase;
+
+// CONSTANTS
+
+/**
+* Max length of a line in the log file.
+*/
+LOCAL_D const TInt KMaxLogLineLength = 256;
+
+
+// CLASS DECLARATION
+/**
+* CProcessorBase
+* Abstract base class for processor classes
+*/
+class CProcessorBase : public CBase
+    {
+    
+    public: 
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorBase();
+
+        /**
+        * Processes the input files line by line.
+        */
+        void ParseFileL();
+
+
+    protected:
+        /**
+        * Constructor
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray array that holds the plugins - and so the CMs
+        * @param aPluginNames array that holds the CM names
+        */
+        CProcessorBase( CReaderBase* aFileReader,
+                        RCmManagerExt& aCmManager,
+                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                        RPointerArray< HBufC >& aPluginNames );
+               
+               
+        /**
+        * Constructor
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray array that holds the plugins - and so the CMs
+        * @param aPluginNames array that holds the CM names
+        * @param aDestArray array that holds the Destination
+        * @param aDestNames array that holds the Destination names
+        */
+        CProcessorBase( CReaderBase* aFileReader,
+                        RCmManagerExt& aCmManager,
+                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                        RPointerArray< HBufC >& aPluginNames,
+                        RPointerArray< RCmDestinationExt >& aDestArray,
+                        RPointerArray< HBufC >& aDestNames );       
+        /**
+        * Processes the actual tag.
+        * @param aFieldIDPresent shows if field id is read from input file
+        */
+        virtual void ProcessTagL( TBool aFieldIDPresent );
+
+        /**
+        * Processes the special fields of the tag. Every descendand can implement
+        * processes of their special fields
+        * @param aField ID of the field
+        * @param aTagPtr data conatining by the field
+        * @param aDx serial number of the field
+        */
+        virtual void ProcessSpecialFieldsL( TInt /*aField*/, 
+                                            HBufC* /*aTagPtr*/, 
+                                            TInt /*aDx*/ ) {};
+        
+        /**
+        * Does the necessary settings before processing tag. Every descendand 
+        * can implement their special needs.
+        */
+        virtual void Reset() {};
+
+        /**
+        * Calculates and sets the AddressFromServer field
+        */
+        virtual void SetAddressFromServerL( TInt aIPField1, 
+                                           TInt aIPField2, 
+                                           TInt aAddrFromSField,
+                                           TInt aIPField1IP6,
+                                           TInt aIPField2IP6,
+                                           TInt aAddrFromSFieldIP6 );
+        /**
+        * Virtual function. Processes the actual access point.
+        */
+        virtual void ProcessAPL();
+
+        /**
+        * Writes the actual created access point to the log file.
+        */
+        virtual void DoLogL();
+
+        /**
+        * Returns the TagContainer
+        * @return iTagContainer
+        */
+        CTagContainer& TagContainer();
+
+        /**
+        * Adds one item to the plugin array. 
+        */
+        void AddToPluginArrayL();
+        
+        /**
+        * Retrieves the last plugin from the plugin array. 
+        * @return the last plugin in the plugin array
+        */
+        RCmConnectionMethodExt& GetLastPluginL();
+        
+        /**
+        * Retrieves the plugin in position from the plugin array. 
+        * @param aPos position of the desired plugin. 
+        * @return the plugin in position from the plugin array
+        */
+        RCmConnectionMethodExt& GetPluginL( TInt aPos );
+
+        /**
+        * Retrieves count of plugins in the plugin array. 
+        * @return count of plugins in the plugin array
+        */
+        TInt PluginCount();
+        
+        RCmDestinationExt* FindDestinationL( HBufC* aName );
+        
+        TInt GetDestinationIdL( HBufC16* aName );
+ 
+        RCmConnectionMethodExt* FindPluginL( HBufC* aName );
+
+        RCmConnectionMethodExt* FindPluginL( HBufC* aName, TInt& aPos );
+
+        TInt GetPluginIdL( HBufC16* aName );
+        
+        TBool ProcessTag( HBufC* aTag, RCmConnectionMethodExt* aPlugin );
+        TBool SetGeneralFieldL( TInt aField, HBufC* aPtrTag ); 
+
+    private:
+        
+        
+        TInt CheckPluginName(  HBufC* aName );
+
+
+    protected:
+       
+        // @var Gives back AP data from the file.
+        CReaderBase*                   iFileReader;
+        
+        // @var Pointer to Connection Method Manager that is required to access
+        // Access Point data
+        RCmManagerExt*                 iCmManager;
+        
+        // @var Shows whether proxies have already been enabled or not.
+        TBool iProxyEnabled;   
+
+        // @var Indicates whether the connection method is protected or not
+        TBool iIsProtected;
+        
+        // @var Name of the actual IAP or Destination
+        HBufC* iName;    
+
+        // @var Actual IAP
+        RCmConnectionMethodExt iPlugin;
+        
+        // @var Actual Bearer Type
+        TUint iBearerType;
+
+    protected:
+    
+        // @var Plugin array that is used to store pointers to access point data
+        RPointerArray< RCmConnectionMethodExt >* iPluginArray;
+        // @var Plugin array that is used to store names of access point data
+        RPointerArray< HBufC >* iPluginName;
+        
+        // @var Destination array that is used to store pointers to Destination data
+        RPointerArray< RCmDestinationExt >* iDestArray;
+        // @var Destination array that is used to store names of Destination
+        RPointerArray< HBufC >* iDestName;
+
+    };
+
+
+#endif // APFILE_PARSER_BASE_H
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessordn.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorDN.
+*
+*/
+
+
+
+
+#ifndef PROCESSOR_DN_H
+#define PROCESSOR_DN_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <cmdestinationext.h>
+#include <cmmanagerext.h>
+#include <cmconnectionmethodext.h>
+#include <cmmanagerdef.h>
+
+#include "cdcprocessorbase.h"
+
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+* CProcessorDN
+* Inherits from the class CProcessorBase.
+* Creates Destination Network Item from CTagContainer and
+* adds it to the database
+*/
+class CProcessorDN : public CProcessorBase
+    {
+    public:
+        /**
+        * Two-phase constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aCmArray Array of the processed connection methods
+        * @param aIsFirstRound ETrue if this is the first round of DN
+        *                          processing. In this case DNs are created.
+        *                    EFalse otherwise. This time connection methods
+        *                          are added.
+        * @return CProcessorDN instance.
+        */
+        static CProcessorDN* NewL( CReaderBase* aFileReader,
+                                   RCmManagerExt& aCmManager,
+                                   RPointerArray< RCmConnectionMethodExt >&
+                                                            aPluginArray,
+                                   RPointerArray< HBufC >& aPluginNames, 
+                                   RPointerArray< RCmDestinationExt >& aDestArray,
+                                   RPointerArray< HBufC >& aDestNames,
+                                   RArray< TBool >& aCmInDest,
+                                   TBool aIsFirstRound );
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorDN();
+
+    protected:
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+
+        /**
+        * Constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aCmArray Array of the processed connection methods
+        * @param aIsFirstRound ETrue if this is the first round of DN
+        *                          processing. In this case DNs are created.
+        *                    EFalse otherwise. This time connection methods
+        *                          are added.
+        */
+        CProcessorDN( CReaderBase* aFileReader,
+                      RCmManagerExt& aCmManager,
+                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                      RPointerArray< HBufC >& aPluginNames, 
+                      RPointerArray< RCmDestinationExt >& aDestArray,
+                      RPointerArray< HBufC >& aDestNames,
+                      RArray< TBool >& aCmInDest,
+                      TBool aIsFirstRound );
+        
+        /**
+        * From CProcessorBase. Processes the actual tag.
+        * @param aFieldIDPresent shows if field id is read from input file
+        * @return the result of the process, KErrNone if the actual tag is
+        * valid.
+        */
+        virtual void ProcessTagL( TBool aFieldIDPresent );
+
+        /**
+        * From CProcessorBase. Processes the actual access point.
+        * @return the result of the process.
+        */
+        virtual void ProcessAPL();
+
+        /**
+        * Writes the actual created access point to the log file.
+        */
+        void DoLogL();
+            
+    private:
+    
+        // @var The destiantion that is created
+        RCmDestinationExt iDestination;
+
+        // @var Pointer to the destiantion that has been created and stored
+        // in iDestArray
+        RCmDestinationExt* iDest;
+        
+        // @var Stores the protection level of the destination
+        CMManager::TProtectionLevel iProtectionLevel;
+        
+        // @var Stores whether this is the first round of DN processing or not
+        TBool iIsFirstRound;
+        
+        // @var ETrue if the destination cannot processed so it is dropped away
+        TBool iDestinationDropped;
+        
+        RArray< TBool >* iCmInDest;
+    };
+
+
+#endif PROCESSOR_DN_H
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessorglobal.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorGlobal.
+*
+*/
+
+
+
+
+#ifndef CDCPROCESSORGLOBAL_H
+#define CDCPROCESSORGLOBAL_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+
+#include <metadatabase.h>
+
+#include "cdcprocessorbase.h"
+
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+class RCmConnectionMethodExt;
+class RCmDestinationExt;
+class CReaderBase;
+class CommsDat::CMDBSession;
+struct TCmGenConnSettings;
+class RCmManagerExt;
+
+// CLASS DECLARATION
+
+/**
+* CProcessorGlobal
+* Inhertits from the class CProcessorBase.
+* Reads Access Points related settings from CTagContainer.
+*/
+class CProcessorGlobal : public CProcessorBase
+    {
+    public:
+        /**
+        * Two-phase constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager 
+        * @return CProcessorGlobal instance.
+        */
+        static CProcessorGlobal* NewL( 
+                                CReaderBase* aFileReader,
+                                RCmManagerExt& aCmManager,
+                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                RPointerArray< HBufC >& aPluginNames, 
+                                RPointerArray< RCmDestinationExt >& aDestArray,
+                                RPointerArray< HBufC >& aDestNames );
+
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorGlobal();
+        
+    protected:
+       
+        /**
+        * Constructor.
+        * @param aFileReader pointer to the file reader
+        */
+        CProcessorGlobal( CReaderBase* aFileReader,
+                          RCmManagerExt& aCmManager,
+                          RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                          RPointerArray< HBufC >& aPluginNames, 
+                          RPointerArray< RCmDestinationExt >& aDestArray,
+                          RPointerArray< HBufC >& aDestNames );
+                          
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+        
+        /**
+        * From CProcessorBase. Processes the actual tag.
+        * @param aFieldIDPresent shows if field id is read from input file
+        * @return TInt The result of the process, KErrNone if the actual tag is
+        * valid.
+        */
+        virtual void ProcessTagL( TBool aFieldIDPresent );
+        
+        /**
+        * From CProcessorBase. Processes the actual access point.
+        * @return The result of the processing
+        */
+        virtual void ProcessAPL();
+        
+
+    private:
+    
+        /**
+        * Updates bearer priority array with the specified bearers priority or
+        * UI priority.
+        * @param aField Identifier of the the bearer whose priority/UI-priority
+        *               is to be updated.
+        * @param aPrio The new priority.
+        */
+        void UpdateGlobalBearerArrayL
+                            ( TDbCreatorGlobalSettings aField, TUint32 aPrio );
+                
+                         
+        /**
+        * Sets the WLAN Usage parameter in general connection settings.
+        * @param aPtrTag string containing the parameter's value.
+        */
+        void SetGenConnSettingWlanUsage( HBufC16* aPtrTag );
+
+        /**
+        * Sets the "cellular data usage in home networks"
+        * parameter in general connection settings.
+        * @param aPtrTag string containing the parameter's value.
+        */
+        void SetGenConnSettingCellularDataUsageHome( HBufC16* aPtrTag );
+
+        /**
+        * Sets the "cellular data usage in visitor networks"
+        * parameter in general connection settings.
+        * @param aPtrTag string containing the parameter's value.
+        */
+        void SetGenConnSettingCellularDataUsageVisitor( HBufC16* aPtrTag );
+
+        // Stores the general connection settings, using CMM
+        void SetGenConnSettingsL();
+        
+        // Stores the WLAN parameters
+        void SaveGlobalWlanParameterL( const TUint32 aTableType, 
+        							   const TDbCreatorGlobalSettings aField, 
+        							   const HBufC16* const aValue );
+
+    private:
+        
+
+        // @var GPRS attach mode : whenneeded/whenavailable
+        TBool  iAttachWhenNeeded;
+        
+        RArray< TBearerPriority > iBearerArray;
+        TBool iBearerArrayChanged;
+        
+        // @var Stores the general connection settings
+        TCmGenConnSettings* iGenConnSettings;
+        
+		//@var session - Owned
+        CMDBSession* iSession;
+		
+	    //@var WLAN supported flag
+	    TBool iIsWlanS;
+    };
+
+#endif CDCPROCESSORGLOBAL_H
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessorlan.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorLan.
+*
+*/
+
+
+
+
+#ifndef PROCESSOR_LAN_H
+#define PROCESSOR_LAN_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <cmmanagerext.h>
+#include <cmconnectionmethodext.h>
+
+#include "cdcprocessorbase.h"
+
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+* CProcessorLan
+* Inhertits from the class CProcessorBase.
+* Creates internet Access Point Item from CTagContainer and 
+* adds AP item to database.
+*/
+class CProcessorLan : public CProcessorBase
+    {
+    public:
+        /**
+        * Two-phase constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        * @return CProcessorLan instance.
+        */
+        static CProcessorLan* NewL( CReaderBase* aFileReader,
+                                    RCmManagerExt& aCmManager,
+                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                    RPointerArray< HBufC >& aPluginNames );
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorLan();
+
+    protected:
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+
+        /**
+        * Constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        */
+        CProcessorLan( CReaderBase* aFileReader,
+                       RCmManagerExt& aCmManager,
+                       RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                       RPointerArray< HBufC >& aPluginNames );
+        
+        /**
+        * From CProcessorBase. Processes the actual tag.
+        * @param aFieldIDPresent shows if field id is read from input file
+        * @return the result of the process, KErrNone if the actual tag is
+        * valid.
+        */
+        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
+    };
+
+
+#endif PROCESSOR_LAN_H
+
+
+// End of File.
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessorpacketdata.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorPacketData.
+*
+*/
+
+
+
+
+#ifndef PROCESSOR_PACKET_DATA_H
+#define PROCESSOR_PACKET_DATA_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <cmmanagerext.h>
+#include <cmconnectionmethodext.h>
+
+#include "cdcprocessorbase.h"
+
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+ * CLingerElement is array element for linger value end corresponding CM name.
+ */ 
+NONSHARABLE_CLASS( CLingerElement ) : public CBase 
+        {
+        public: 
+        ~CLingerElement();
+        HBufC* iName;
+        HBufC* iLinger; 
+        };
+
+/**
+* CProcessorPacketData
+* Inhertits from the class CProcessorBase.
+* Creates internet Access Point Item from CTagContainer and 
+* adds AP item to database.
+*/
+class CProcessorPacketData : public CProcessorBase
+    {
+    public:
+        /**
+        * Two-phase constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        * @param aLingerSettings stores processed GPRS linger values
+        * @return CProcessorPacketData instance.
+        */
+        static CProcessorPacketData* NewL( 
+                        CReaderBase* aFileReader,
+                        RCmManagerExt& aCmMnaager,
+                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                        RPointerArray< HBufC >& aPluginNames,
+                        RPointerArray< CLingerElement >& aLingerSettings);
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorPacketData();
+        
+        /**
+        * Maps previously stored linger values with connection ID's 
+        * and writes them to repository.
+        */
+        void SaveLingerSettingsL();
+
+    protected:
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+
+        /**
+        * Constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        * @param aLingerSettings stores processed GPRS linger values
+        */
+        CProcessorPacketData( CReaderBase* aFileReader,
+                              RCmManagerExt& aCmManager,
+                              RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                              RPointerArray< HBufC >& aPluginNames,
+                              RPointerArray< CLingerElement >& aLingerSettings);
+        
+        /**
+        * From CProcessorBase. Processes the actual tag.
+        * @param aFieldIDPresent shows if field id is read from input file
+        * @return the result of the process, KErrNone if the actual tag is
+        * valid.
+        */
+        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
+        
+        /**
+         * Writes connections linger value to repository.
+         * @param aIapId is the id of connection to which linger value is set.
+         * @param aLingerInterval linger value to set to connection.
+         */
+        void AddLingerL( const TInt aIapId, const TInt aLingerInterval);
+        
+    private:
+        
+        // @var Stores linger values
+        RPointerArray< CLingerElement >* iLingerSettings;
+    };
+
+
+#endif PROCESSOR_PACKET_DATA_H
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessorvpn.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorVpn.
+*
+*/
+
+
+
+
+#ifndef PROCESSOR_VPN_H
+#define PROCESSOR_VPN_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <cmmanagerext.h>
+#include <cmconnectionmethodext.h>
+
+#include "cdcprocessorbase.h"
+
+// FORWARD DECLARATION
+
+// CLASS DECLARATION
+
+/**
+* CProcessorVpn
+* Inhertits from the class CProcessorBase.
+* Creates internet Access Point Item from CTagContainer and 
+* adds AP item to database.
+*/
+class CProcessorVpn : public CProcessorBase
+    {
+    public:
+        /**
+        * Two-phase constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        * @return CProcessorVpn instance.
+        */
+        static CProcessorVpn* NewL( CReaderBase* aFileReader,
+                         RCmManagerExt& aCmMnaager,
+                         RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                         RPointerArray< HBufC >& aPluginNames,
+                         RPointerArray< HBufC >& aUnderLying);
+                         
+        void ProcessUnderLyingL( RPointerArray< RCmDestinationExt >& aDestArray,
+                                 RPointerArray< HBufC >& aDestNames );
+                         
+                         
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorVpn();
+
+    protected:
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+
+        /**
+        * Constructor.
+        * @param aFileReader pointer to the file reader
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        */
+        CProcessorVpn( CReaderBase* aFileReader,
+                       RCmManagerExt& aCmManager,
+                       RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                       RPointerArray< HBufC >& aPluginNames,
+                       RPointerArray< HBufC >& aUnderLying );
+        
+        /**
+        * From CProcessorBase. 
+        */
+        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
+
+    private:
+    
+        // @var Stores whether this is the first round of VPN processing or not
+        TBool iIsFirstRound;
+
+        // @var Stores the IAP name underLying IAP/SNAP name pairs
+        RPointerArray< HBufC >* iUnderLying; 
+    };
+
+
+#endif PROCESSOR_VPN_H
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcprocessorwlan.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,322 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CProcessorWlan.
+*
+*/
+
+
+
+
+#ifndef PROCESSOR_WLAN_H
+#define PROCESSOR_WLAN_H
+
+
+// INCLUDE FILES
+
+#include <e32base.h>
+#include <cmmanagerext.h>
+#include <cmconnectionmethodext.h>
+#include <metadatabase.h>
+#include <EapGeneralSettings.h>
+#include <EapExpandedType.h>
+
+#include "cdcprocessorbase.h"
+
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+
+
+// CLASS DECLARATION
+
+
+/**
+ * CEapTypeElement is array element for several EapTypes  
+ */ 
+class CEapTypeElement: public CBase
+        {
+        public:
+        ~CEapTypeElement();
+		HBufC* iName;
+        EAPSettings* iEapSettings; 
+        TEapExpandedType iEncapsulatingEapId; 
+        };
+
+
+/**
+* CProcessorWlan
+* Inhertits from the class CProcessorBase.
+* Creates WLAN Access Point Item from CTagContainer and 
+* adds AP item to database.
+*/
+class CProcessorWlan : public CProcessorBase
+    {
+    public:
+    
+        /**
+        * Two-phase constructor.
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        * @return CProcessorWlan instance.
+        */
+        static CProcessorWlan* NewL( CReaderBase* aFileReader,
+                                     RCmManagerExt& aCmManager,
+                                     RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                     RPointerArray< HBufC >& aPluginNames,
+                                     RPointerArray< HBufC >& aSecurityInfo,
+                                     RPointerArray< CEapTypeElement >& eapSettings );
+        
+        void SaveSecurityInfoL();
+
+        /**
+        * Destructor.
+        */
+        virtual ~CProcessorWlan();
+
+    protected:
+    
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+
+        /**
+        * Constructor.
+        * @param aCmManager Connection Method Manager
+        * @param aPluginArray Array that stores the processed plugins
+        */
+        CProcessorWlan( CReaderBase* aFileReader,
+                        RCmManagerExt& aCmManager,
+                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                        RPointerArray< HBufC >& aPluginNames,
+                        RPointerArray< HBufC >& aSecurityInfo,
+                        RPointerArray< CEapTypeElement >& aEapSettings );
+        
+        /**
+        * From CProcessorBase. Processes the actual tag.
+        * @param aFieldIDPresent shows if field id is read from input file
+        * @return TInt The result of the process, KErrNone if the actual tag is
+        * valid.
+        */
+        virtual void ProcessSpecialFieldsL( TInt aField, HBufC* aTagPtr, TInt aDx );
+
+
+        /**
+        * From CProcessorBase. Processes the actual access point.
+        * @return TInt The result of the process.
+        */
+        virtual void ProcessAPL();
+        
+        void FillSecurityInfoL();
+        
+        void FillSecurityInfoL( TBool aIsWep );
+        
+        void SaveSecurityInfoL( TInt& aCounter, TInt aId );
+
+        /**
+        * Saves WEP security settings
+        * @param aIapId Access point id WEP security settings belongs to.
+        */
+        void SaveWEPL( TUint32 aIapId );
+        
+        /**
+        * Writes key data to CommsDat.
+        * @param aKeyField The field to be written to
+        * @param aKey The key data to be written
+        * @param aKeyformat The format of the key (ascii/hex)
+        */
+        void WriteKeyL( CMDBField<TDesC8>* aKeyField,
+                        HBufC16* aKey,
+                        const TInt aKeyFormat );
+        
+        /**
+        * Gets WEP field value in text format from TagContainer
+        * @param aFieldId is the id of the field 
+        * @return pointer to the data of the field
+        */
+        HBufC16* WEPFieldData( TDbCreatorWEPFields aFieldId );        
+        
+        /**
+        * Gets Authentication type
+        * @return   TWEPAuthentication - authentication type
+        *           KErrNotFound - if authentication type is not present 
+        */
+        TInt WEPAuthentication();
+        
+        /**
+        * Gets the WEP key in use
+        * @return TWEPKeyInUse - the WEP key in use
+        *         KErrNotFound - if WEP key in use is not present 
+        */
+        TInt WEPKeyInUse();
+        
+        /**
+        * Gets WEP key format
+        * @param aFieldId is the id of the field 
+        * should be EWEPKeyXFormat
+        * @return   TWEPKeyFormat - key format
+        *           KErrNotFound - if WEP key format is not present 
+        */
+        TInt WEPKeyFormat( TDbCreatorWEPFields aFieldId );
+        
+        /**
+        * Gets WEP key length
+        * @param aFieldId is the id of the length field 
+        * should be EWEPKeyXLength
+        * @return TWEPKeyLength - WEP key length
+        */
+        TWEPKeyLength WEPKeyLength( TDbCreatorWEPFields aFieldId );
+        
+        /**
+        * Gets valid WEP key length in characters
+        * @param aFormat is the id of the field - should be EWEPKeyXFormat
+        * @param aLen is the WEP key length - should be TWEPKeyLength
+        * @return TInt - valid key length in characters
+        */
+        TInt WEPKeyValidLen( TInt aFormat, TWEPKeyLength aLen );
+        
+        /**
+        * Gets the TagContainer index that belongst to the given WEP field
+        * @param aFieldId is the id of the field 
+        * @return index in TagContainer
+        */
+        TInt WEPIndex( TDbCreatorWEPFields aFieldId );
+        
+        /**
+        * Check the existence and validity of WEP fields
+        * @return  - TRUE if all WEP fields are present and valid
+        *          - FALSE if any of the fields is missing or invalid.
+        */
+        TBool WEPFieldValidate();
+        
+        /**
+        * Converts keyData enetered in Ascii format to hex format
+        * @param aSource    Source string
+        * @param aDest      destination string
+        */
+        void ConvertAsciiToHex( const TDesC8& aSource, HBufC8*& aDest );
+        
+        /**
+        * Veryfies hexadecimal format
+        * @param aHex   hexadecimal key
+        * @return Etrue if hexadecimal key is valid, Efalse otherwise
+        */
+        TBool VerifyHex( const TDesC8& aHex );
+        
+        /**
+        * Saves WPA security settings
+        * @param aIapId Access point id WEP security settings belongs to.
+        */
+        void SaveWPAL( TUint32 aIapId );
+        
+        /**
+        * Gets the expanded EAP type
+        * @param aFieldId is the id of the field 
+        * @return expanded EAP type
+        */
+        TEapExpandedType GetExpandedEapTypeIdL( TDesC& aField );
+        
+        /**
+        * Gets the TagContainer index that belongst to the given WPA field
+        * @param aFieldId is the id of the field 
+        * @return index in TagContainer
+        */
+        TInt WPAIndex( TDbCreatorWPAFields aFieldId );
+        
+        /**
+        * Gets WPA field value in text format from TagContainer
+        * @param aFieldId is the id of the field 
+        * @return pointer to the data of the field
+        */
+        HBufC16* WPAFieldData( TDbCreatorWPAFields aFieldId );
+        
+        /**
+        * Gets the use of preshared key
+        * @return ETrue  - PSK is in use
+        *         EFalse - PSK is not in use
+        */
+        TBool WPAPresharedKeyInUse();
+        
+        /**
+        * Gets WPA key length
+        * @return length of the key
+        */
+        TInt WPAKeyLength();
+        
+        /**
+        * Writes the actual created access point to the log file.
+        */
+        void DoLogL();
+        
+    private:
+    
+        /**
+         * Sets the necessary initial values
+         */
+        virtual void Reset(); 
+        
+        /*
+         * Sets the values of the expanded Eap lists to the database 
+         * @param aServiceId for accessing the EAP data 
+         */
+        void SetExpandedEapListL( const TUint aServiceId );
+        
+    private:
+    
+        void AddSecurityDataL( TInt aField, HBufC* aPtrTag, TBool aIsWep );
+
+		void AddEAPSettingL( const TInt aField, HBufC16* aValue );
+		
+		TBool EAPSetting( const TInt aField );
+	
+		void FillCipherSuitesL( const HBufC16* const aPtrTag, const TInt aEapIndex );
+		
+		TEapExpandedType GetEapTypeIdFromSettingId( const TInt aField ); 
+		
+		TUint FindCertificateEntryL( const EapCertificateEntry::TCertType aCertType, const TInt aEapIndex );
+		
+		void ConvertSubjectKeyIdToBinaryL( const HBufC16* const aSubjectKeyIdString, TKeyIdentifier& aBinaryKey);
+        
+        // @var Indicates the WLAN security mode
+        TDbCreatorSecurityMode iSecurityMode;
+        // @var Indicates the WLAN security mode name
+        HBufC* iSecurityModeString;
+        
+        // @var Stores WLAN security mode info
+        RPointerArray< HBufC >* iSecurityInfo;
+        
+        // @var Stores WLAN EAP settings
+        RPointerArray< CEapTypeElement >& iEapSettings;
+        
+		// @var access point is Easy WLAN if true
+        TBool iIsEasyWlan;
+       
+        // @var HBufC for empty WEP and WPA tags
+        HBufC* iEmptyTag;
+        
+        HBufC* iWepData[KWEPKeyNumOfFields];
+        
+        HBufC* iWpaData[KWPAKeyNumOfFields];
+
+        TInt iDataStart;
+
+        RArray< RPointerArray< HBufC > >* iTest;
+
+    };
+
+
+#endif PROCESSOR_WLAN_H
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcreaderbase.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CReaderBase.
+*
+*/
+
+
+
+
+#ifndef READER_BASE_H
+#define READER_BASE_H
+
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <f32file.h>
+#include <flogger.h>
+
+#include "cdccommon.h"
+#include "cdcerrors.h"
+#include "cdctagcontainer.h"
+
+// CLASS DECLARATION
+
+/**
+* CReaderBase.
+* Base class for XML and CSV reader.
+*/
+class CReaderBase : public CBase
+    {
+    
+    public:
+        /**
+        * Destructor.
+        */
+        virtual ~CReaderBase();
+        
+    protected:
+
+        /**
+        * Default constructor.
+        * @param TDbCreatorInputFile input file type (csv or xml)
+        * @param TDbCreatorFeatures feature type - relevant in case 
+        * of csv input as feature is not detected by the reader.
+        */
+        CReaderBase( TDbCreatorInputFile aFileType, 
+                     TDbCreatorFeatures aFeature );
+        
+        /**
+        * Second phase constructor. Leaves on failure.
+        * @param aInFileName Name of the input file.
+        */
+        void ConstructL( const TDesC& aInFileName );
+        
+    public:
+    
+        /**
+        * Locates the next feature in input file.
+        */
+        virtual void LocateFeatureL() = 0;
+           
+        /**
+        * Gives back the next line from the given buffer.
+        * @return EFalse if the end of buffer is accessed, ETrue otherwise.
+        */
+        virtual TBool LocateAPL() = 0;
+        
+        /**
+        * Parses a line of the input file.
+        */
+        virtual void ParseAPL() = 0;
+        
+        /**
+        * Resets the actual file position to the beginning of the file.
+        * @return One of the system-wide error codes if reset failed.
+        */
+        virtual TInt Reset() = 0;
+           
+        /**
+        * Writes log to the log file.
+        */
+        virtual void ToDoLog() = 0;
+        
+        /**
+        * Returns reference to the TagContainer
+        * @return CTagContainer
+        */
+        CTagContainer& TagContainer();
+        
+        /**
+        * Returns reference to the input file
+        * @return RFile
+        */   
+        RFile& InputFile();
+        
+        /**
+        * Returns reference to the logger
+        * @return RFileLogger
+        */   
+        RFileLogger& FileLogger();
+        
+        /**
+        * Checks if filed ID is read from the input file (otherwise it is 
+        * calculated by reader according to the index of the tag)
+        * @return TRUE if reader reads the field id
+        */
+        TBool FieldIDPresent();
+        
+        /**
+        * Returns the feature currently being parsed
+        * @return TDbCreatorFeatures
+        *    - EFeatureNone    - No feature found
+        *    - EFeatureAP      - Internet access point
+        *    - EFeatureWLAN    - WLAN access point
+        *    - EFeatureVPN     - VPN access point
+        */
+        TDbCreatorFeatures CurrentFeature();
+
+    protected:
+        // @var marks the found feature that is being processed
+        TDbCreatorFeatures    iCurrentFeature;
+                                            
+    private:
+    
+        // @var contains the values read from input file
+        CTagContainer*        iTagContainer;      
+        // @var for file handling.                                
+        RFs                   iFs;
+        // @var Input file.
+        RFile                 iInputFile; 
+        // @var Log file.
+        RFileLogger           iLogFile; 
+        // @var Input file type
+        TDbCreatorInputFile   iFileType;  
+    
+    };
+
+
+
+#endif // READER_BASE_H
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcreaderxml.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CReaderXML.
+*
+*/
+
+
+
+
+#ifndef XML_READER_H
+#define XML_READER_H
+
+
+// INCLUDE FILES
+#include <e32base.h>
+
+#include "cdcreaderbase.h"
+
+// COSTANTS
+enum TParamSegment
+    {
+    EParamName,
+    EParamValue
+    };
+    
+class EInputParams
+{    
+    public:
+    
+    inline EInputParams( const TInt aId, const TDesC16& aParam ) : 
+    iId( aId ),
+    iParam( aParam )
+    {
+    //no implementation required
+    };
+    
+    const TInt         iId;
+    const TDesC16&     iParam;    
+};
+
+
+// CLASS DECLARATION
+
+/**
+* CReaderXML.
+* Reads and parses XML input. Capable of locating and reading Internet, WLAN
+* and VPN access points. 
+*/
+class CReaderXML : public CReaderBase
+    {
+
+    public:
+        /**
+        * Two-phase constructor.
+        * @param aInFileName the input file name
+        * @param aCharSet the input characterset
+        * @return CReaderXML instance
+        */
+        static CReaderXML* NewLC( const TDesC& aInFileName,
+                                  const TDbCreatorInputCharSet aCharSet );
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CReaderXML();
+
+    protected:
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+
+        /**
+        * Default constructor.
+        */
+        CReaderXML( const TDbCreatorInputCharSet aCharSet );
+
+    public:
+    
+        /**
+        * Locates the next feature in XML file.
+        */
+        virtual void LocateFeatureL();
+           
+        /**
+        * Gives back the next line from the given buffer.
+        * @return - EFalse if the end of buffer is accessed, 
+        *         - ETrue otherwise.
+        */
+        virtual TBool LocateAPL();
+           
+        /**
+        * Parses a line of the input file.
+        */
+        virtual void ParseAPL();
+        
+        /**
+        * Resets the actual file position to the beginning of the file.
+        * @return One of the system-wide error codes if reset failed.
+        */
+        virtual TInt Reset();
+        
+        /**
+        * Writes log to the log file.
+        */
+        virtual void ToDoLog();
+    
+    private:
+        /**
+        * Reads one line of the input file.
+        * @return - KErrNone if the whole line is read successfully.
+        *         - KErrEof if end of file is reached
+        *         - KErrNotFound if line delimiter is not found
+        *         - KErrGenereal in case of any other error
+        */
+        TInt ReadLineL();
+        
+        /**
+        * Extracts one line from the buffer read by ReadLineL
+        * @param const TPtrC16& aBuffer reference to the buffer descriptor
+        * @param TPtrC16& aLine reference to the line descriptor 
+        * @return - KErrNone if the whole line is read successfully.
+        *         - KErrEof if end of file is reached
+        *         - KErrNotFound if line delimiter is not found
+        *         - KErrGenereal in case of any other error
+        */
+        TInt ExtractLine(const TPtrC16& aBuffer, TPtrC16& aLine);
+        
+        /**
+        * Detects the head of feature segment
+        * @return the detected feature :
+        *          - EFeatureNone  : No feature found
+        *          - EFeatureAP    : Internet access point
+        *          - EFeatureWLAN  : WLAN access point
+        *          - EFeatureVPN   : VPN access point
+        */
+        TDbCreatorFeatures DetectFeatureHead();
+        
+        /**
+        * Detects the tail of feature segment
+        * @return TRUE if the current line contains the tail of feature
+        */
+        TBool DetectFeatureTail();
+        
+        /**
+        * Detects the tail of access point data segment
+        * @return TRUE if the current line contains the tail
+        */
+        TBool DetectTailAP();
+        
+        /**
+        * Detects the parameter of access point data segment
+        * @return TInt the ID the matching field id of the parameter
+        */
+        TInt DetectParam();
+        
+        /**
+        * Reads the parameter value
+        * @param aSegment - the required segment of the param
+        *           EParamName - name 
+        *           EParamValue - value
+        * <ParamName>ParamValue</ParamName>
+        * @return pointer to the tag read from the input file. Memory is
+        * allocated by the function. NULL can be returned.
+        */
+        HBufC16* ReadParam( TParamSegment aSegment );
+        
+        /**
+        * Detects the encoding of the xml input.  If detection fails leaves
+        * ECharSetAscii as default character set.
+        */
+        void DetectEncodingL();
+        
+        
+        /**
+        * Fills the parameter arrays with the id-name pairs 
+        */
+        void FillPacketDataParams();
+        void FillLanParams();
+        void FillWLanParams();
+        void FillVpnParams();
+        void FillGlobalParams();
+        void FillDNParams();
+        
+        /**
+            * Replace special XML chars in connecton method names 
+            */
+            void ConvertSpecialXMLChars( HBufC* aPtrTag );
+            void ReplaceInString( HBufC* aPtrTag, const TDesC& aSpXML, 
+                                            const TDesC& aSp );
+
+    private:
+
+        // @var Holds the actual file position
+        TInt                    iFilePos;
+        
+        // @var Input character set
+        TDbCreatorInputCharSet  iCharSet;
+        
+        // @var holds the line
+        HBufC16*                iLine;
+        
+        // @var true if global settings are found
+        TBool                   iFoundGlobal;
+        
+        RArray<EInputParams>    iPDParams;
+        RArray<EInputParams>    iLanParams;
+        RArray<EInputParams>    iWLanParams;
+        RArray<EInputParams>    iVpnParams;
+        RArray<EInputParams>    iGlobalParams;
+        RArray<EInputParams>    iDNParams;
+        
+    
+    };
+
+
+#endif // XML_READER_H
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdctagcontainer.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CTagContainer.
+*
+*/
+
+
+
+#ifndef TAG_CONTAINER_H
+#define TAG_CONTAINER_H
+
+// INCLUDE FILES
+
+#include <e32base.h>
+
+// CLASS DECLARATION
+/**
+* CTagContainer
+* contains and manages the fields read form XML or CSV input file
+*/
+class CTagContainer : public CBase
+    {
+    //TYPE DECLARATION
+    private:
+        
+        /**
+        * ETag
+        * contains one tag and the belonging field id
+        */
+        class ETag
+            {
+            public:
+            //constructor & destructor
+            ETag( HBufC16* aTag, TInt aFieldId );
+            ~ETag();
+            
+            //attributes
+            TInt        iFieldId;  ///< field id tag belongs to
+            HBufC16*    iTag;      ///< tag is the data segment read from file
+                                   ///< created elsewhere but owned by ETag
+                                   ///< and deallocated by ETag's destructor
+            };
+        
+    public:
+        
+        /**
+        * Two-phase constructor.
+        */
+        static CTagContainer* NewL();
+         
+        /**
+        * Destructor.
+        */
+         ~CTagContainer();
+        
+    private:
+        
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+        void ConstructL();
+        
+        /**
+        * Constructor
+        */
+         CTagContainer();
+         
+    public:
+        
+        /**
+        * Clears the array and deallocates all reserved memory
+        */
+         void Clear();
+        
+        /**
+        * Adds a new tag to the array
+        * @param aTag is a pointer to the tag
+        */
+         void AddL(HBufC16* aTag, TInt aFieldId);
+        
+        /**
+        * Retrieves a tag identified by its index
+        * @param aIdx is the index of the tag
+        * @return HBufC16* pointer to the tag
+        */
+         HBufC16* Tag(TUint aIdx);
+        
+        /**
+        * Retrieves the field ID
+        * @param aIdx is the index of the tag
+        * @return HBufC16* pointer to the tag
+        */
+         TInt FieldId(TUint aIdx);
+        
+        /**
+        * Counts the number of tags
+        * @return TInt is the number of tags
+        */
+         TInt Count();
+        
+    private:
+
+        // @var Dynamic array for holding tags
+        CArrayPtrSeg<ETag>* iTags; 
+    
+    };
+
+
+#endif //TAG_CONTAINER_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcwlandevicesettings.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CWlanDeviceSettings.
+*
+*/
+
+
+
+#ifndef WLANDEVICESETTINGS_H
+#define WLANDEVICESETTINGS_H
+
+// INCLUDES
+#include <e32base.h>
+#include <metadatabase.h>
+
+#define DEBUG( a )
+#define DEBUG1( a, b )
+
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+*  Interface to read and write WLAN device specific settings.
+*  The data is stored in CommsDB.
+*/
+NONSHARABLE_CLASS( CWlanDeviceSettings ): public CBase
+    {
+public:
+
+    NONSHARABLE_STRUCT( SWlanDeviceSettings )
+        {
+        //Is WLAN indication icon been showed in UI.
+        TUint32 backgroundScanInterval;
+        //Stores the previously set background scan interval.
+        TUint32 savedBgScanInterval;
+        //If - ETrue default values are being used, 
+        //   - EFalse use the user defined values.
+        TBool useDefaultSettings;
+        //How many times packets bigger than 'rts' are been resent.
+        TUint32 longRetry; 
+        //How many times packets smaller than 'rts' are been resent.
+        TUint32 shortRetry;
+        //Min. size of a packet that CTS/RTS handshake is been used.
+        TUint32 rts;
+        //Transmission power level in use. In mWs.
+        TUint32 txPowerLevel;
+        //Are the radio measurements allowed.
+        TBool radioMeasurements;
+         //Is WLAN in power mode enabled
+        TBool powerMode;
+        };
+ 
+    public:     // Methods
+
+    // Constructors and destructor
+
+        /**
+        * Static constructor.
+        */
+        static CWlanDeviceSettings* NewL();
+        
+        /**
+        * Destructor.
+        */
+        virtual ~CWlanDeviceSettings();
+
+    // New methods
+
+        /**
+        * Returns the default WLAN device settings.
+        * @param aSettings Default WLAN device settings
+        */
+        static void GetDefaultSettings( SWlanDeviceSettings& aSettings );
+
+    private:    //Methods
+
+        /**
+        * C++ default constructor.
+        */
+        CWlanDeviceSettings();
+
+        /**
+        * By default Symbian 2nd phase constructor is private.
+        */
+        void ConstructL();
+
+        /**
+        * Fills a WLAN device settings record with default data.
+        * @param aTableType 0 for default settings, 1 for user settings.
+        * @param aRecord pointer to commsdat table view
+        */
+        void FillRecordL( TUint32 aTableType, CMDBGenericRecord* aRecord );
+
+        /**
+        * Open database table.
+        */
+        void OpenTableL();
+        
+    private:    // Data
+    
+        //@var session - Owned
+        CMDBSession* iSession;
+    };
+
+#endif      // WLANDEVICESETTINGS_H
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/inc/cdcwlantables.h	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Declaration of the class CWlanTables.
+*
+*/
+
+
+
+
+#ifndef WLANTABLESHANDLER_H
+#define WLANTABLESHANDLER_H
+
+
+// INCLUDES
+#include <e32base.h>
+#include <metadatabase.h>
+#include <WlanCdbCols.h>
+#include <commsdattypesv1_1.h>
+
+using namespace CommsDat;
+
+// FORWARD DECLARATIONS
+
+// CONSTANTS
+
+// CLASS DECLARATION
+
+/**
+* CWlanTables
+* Capable of checking the existence of certain WLAN specific 
+* tables and - if necessry create them.
+*/
+class CWlanTables : public CBase
+    {   
+    public:
+
+        /**
+        * Static constructor
+        */
+        static CWlanTables* NewL();
+
+        /**
+        * Destructor
+        */
+        virtual ~CWlanTables();
+
+        /**
+        * Checks if WLAN tables exist. Creates them if not.
+        */
+        void CheckAndCreateTablesL();
+
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CWlanTables();
+
+        /**
+        * By default Symbian second phase constructor is private.
+        */
+        void ConstructL();  
+
+        /**
+        * Check if WLAN Service Table exists in CommsDat; create if not.
+        */
+        void CreateWlanServiceTableL();
+
+        /**
+        * Check if WLAN Device Table exists in CommsDat; create if not.
+        */
+        void CreateWlanDeviceSettingsTableL();
+
+        /**
+        * Check if WLAN Secondary SSID Table exists in CommsDat; create if not.
+        */
+        void CreateWlanSecSSIDTableL();
+
+        /**
+        * Check if WLAN bearer record exists in LANBearer table in CommsDat; create if not.
+        */	
+		void CreateWlanBearerRecordL();
+
+
+
+    private:    // Data
+    
+        //@var session - Owned
+        CMDBSession* iSession;
+    };
+
+#endif      // WLANTABLESHANDLER_H
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdccommsdatcreator.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,638 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Module for creating CommsDat from an input file
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdccommsdatcreator.h"
+#include "cdclogger.h"
+#include "cdcreaderxml.h"
+#include "cdcprocessorpacketdata.h"
+#include "cdcprocessorwlan.h"
+#include "cdcprocessorlan.h"
+#include "cdcprocessorvpn.h"
+#include "cdcprocessordn.h"
+#include "cdcprocessorglobal.h"
+#include "cdcwlantables.h"
+#include "cdcwlandevicesettings.h"
+#include "cdcdatamobilitytables.h"
+#include "cdcdumptables.h"
+#include "centralrepository.h"
+
+#include <cmconnectionmethoddef.h>
+#include <cmmanagerext.h>
+
+#include <e32def.h>
+#include <e32base.h>
+#include <s32strm.h>
+#include <s32file.h>
+#include <etelpckt.h>
+#include <featmgr.h>
+#include <commsdattypesv1_1.h>
+#include <commsdattypeinfov1_1.h>
+
+
+// CONSTANTS
+//maximum length of access point name
+const TInt KLengthOfExtention = 4;
+
+//extension
+_LIT16( KExtensionXML,     ".xml" );    //XML file
+
+
+//-----------------------------------------------------------------------------
+//  CCdcCommsDatCreator::NewL()
+//-----------------------------------------------------------------------------
+//
+EXPORT_C CCdcCommsDatCreator* CCdcCommsDatCreator::NewL()
+    {
+    CCdcCommsDatCreator* self = NewLC();
+    CleanupStack::Pop( self );   // self
+    
+    return self;
+    }
+
+
+//-----------------------------------------------------------------------------
+//  CCdcCommsDatCreator::NewLC()
+//-----------------------------------------------------------------------------
+//
+EXPORT_C CCdcCommsDatCreator* CCdcCommsDatCreator::NewLC()
+    {
+    CCdcCommsDatCreator* self = new (ELeave) CCdcCommsDatCreator();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    
+    return self;
+    }
+
+
+//------------------------------------------------
+// CDbCreator::CreateTablesL
+//------------------------------------------------
+//
+EXPORT_C void CCdcCommsDatCreator::CreateTablesL()
+    {
+    CLOG_WRITE( "=====================\n" )
+    CLOG_WRITE( "Creating tables ...\n" )
+    CLOG_WRITE( "=====================\n" )   
+
+    
+    //extends architecture of CommsDat
+    //creates WLAN tables
+    //-------------------------------
+    if ( iIsWlanS )
+        {
+        CLOG_WRITE( "Creates WLAN service tables\n" )
+        CLOG_WRITE( "---------------------------\n" )
+        
+        CWlanTables* wlanTables = CWlanTables::NewL();
+        CleanupStack::PushL( wlanTables );
+        wlanTables->CheckAndCreateTablesL();
+        
+        CleanupStack::PopAndDestroy( wlanTables ); 
+        
+        // WLAN Device Settings Table.
+        CLOG_WRITE( "Writes Default settings to WLAN Device Settings Table.\n" )
+        
+        // Creating a settings object does it all.
+        CWlanDeviceSettings* wlanDeviceSettings = CWlanDeviceSettings::NewL();
+        delete wlanDeviceSettings;
+        }
+
+    CLOG_WRITE( "CDataMobilityTables\n" )   
+        
+    //extends architecture of CommsDat
+    //creates Data Mobility tables
+    //----------------------------
+    CDataMobilityTables* dmTables = CDataMobilityTables::NewL();
+    CleanupStack::PushL( dmTables );
+    
+    CLOG_WRITE( "Creates Data Mobility ALR tables\n" )
+    CLOG_WRITE( "--------------------------------\n" )
+    dmTables->CheckAndCreateAlrTablesL();
+    
+    CLOG_WRITE( "Creates Data Mobility MIP tables\n" )
+    CLOG_WRITE( "--------------------------------\n" )
+    dmTables->CheckAndCreateMipTablesL();
+    
+    CleanupStack::PopAndDestroy( dmTables );
+        
+    //if there is only an "e" parameter then DbCreator extends CommsDat, but
+    //does not create access points. This functionality earlier was done
+    //by WlanToCDb modul.
+    }
+
+
+//------------------------------------------------
+// CDbCreator::CreateCommsDatL
+//------------------------------------------------
+//
+EXPORT_C void CCdcCommsDatCreator::CreateCommsDatL( const TFileName& aInFileName )
+    {
+    CLOG_WRITE( "=====================\n" )
+    CLOG_WRITE( "Processing started...\n" )
+    CLOG_WRITE( "=====================\n" )               
+
+    TDbCreatorInputCharSet charSet( ECharSetUnknown );//input character set
+
+    //Creates access points
+    //----------------------
+            
+    if ( InputFileType( aInFileName ) == EFileXML )
+        {
+        CLOG_WRITE( "Tries to open file");
+        // Logs file name            
+        HBufC *fileName = aInFileName.AllocLC();
+        CLOG_WRITE_FORMAT( "Input file : %S\n", fileName )
+        CleanupStack::PopAndDestroy( fileName );                          
+        
+        delete iReader;
+        iReader = NULL;
+        iReader = CReaderXML::NewLC( aInFileName, charSet );
+    	CleanupStack::Pop(iReader);
+    
+        //locates feature in xml file
+        iReader->LocateFeatureL();
+        }
+    else    
+        {
+        User::Leave( KErrInvalidExtension );
+        }  
+    	
+
+    TBool found( EFalse );
+    
+    // First, add all destinations to the database. Connection methods and
+    // embedded destinations are not added at this time.
+    while ( iReader->CurrentFeature() != EFeatureNone && !found )
+        {
+        if( iReader->CurrentFeature() == EFeatureDN )
+            {
+            ProcessDNL( iCmInDest, ETrue );
+            }
+        iReader->LocateFeatureL();
+        }
+    
+    // Reset input file
+    iReader->Reset();
+    iReader->LocateFeatureL();
+    
+    // Then add connection methods, and assign them to destinations if
+    // needed
+    while ( iReader->CurrentFeature() != EFeatureNone )
+        {
+        switch ( iReader->CurrentFeature() )
+            {
+            case EFeaturePacketData:
+                {
+                //creates GPRS access point
+                CLOG_WRITE( "Feature found : Packet Data Access point(s)\n" )
+                
+                iFileProcessor = CProcessorPacketData::NewL( iReader,
+                                                       iCmManager,
+                                                       iPluginArray,
+                                                       iPluginNames,
+                                                       iLingerSettings );
+                iFileProcessor->ParseFileL();
+                
+                delete iFileProcessor;
+                iFileProcessor = NULL;
+
+                break;
+                }
+                
+            case EFeatureWLAN:
+                {
+                if( iIsWlanS )
+                    {
+                    //creates WLAN access point   
+                    CLOG_WRITE( "Feature found : WLAN Access point(s)\n" )
+                    
+                    // Reset the EAP settings just to be safe although it should be empty always here.
+                    iEapSettings.ResetAndDestroy();
+                    
+                    iFileProcessor = CProcessorWlan::NewL( iReader,
+                                                           iCmManager,
+                                                           iPluginArray,
+                                                           iPluginNames,
+                                                           iWlanSecurity,
+                                                           iEapSettings );
+                    iFileProcessor->ParseFileL();
+                    
+                    delete iFileProcessor;
+                    iFileProcessor = NULL;
+
+                    }
+                break;
+                }
+                
+            case EFeatureLAN:
+                {
+                //creates LAN access point   
+                CLOG_WRITE( "Feature found : LAN Access point(s)\n" )
+
+                iFileProcessor = CProcessorLan::NewL( iReader,
+                                                      iCmManager,
+                                                      iPluginArray,
+                                                      iPluginNames );
+                iFileProcessor->ParseFileL();
+               
+                delete iFileProcessor;
+                iFileProcessor = NULL;
+                break;
+                }
+                
+            case EFeatureVPN:
+                {
+                //creates VPN access point   
+                CLOG_WRITE( "Feature found : VPN Access point(s)\n" )
+                CLOG_WRITE( "-----------------------------------\n" )
+                
+                iFileProcessor = CProcessorVpn::NewL( iReader,
+                                                       iCmManager,
+                                                       iPluginArray,
+                                                       iPluginNames,
+                                                       iUnderLying );
+                iFileProcessor->ParseFileL();
+                
+                delete iFileProcessor;
+                iFileProcessor = NULL;
+                
+                break;
+                }
+            
+            case EFeatureDN:
+                {
+               
+                ProcessDNL( iCmInDest, EFalse );
+                
+                break;
+                }
+                
+            case EFeatureGlobal:
+                {
+                // Valid tag but does nothing now. 
+                // Global can be processed at the last end.
+
+                
+                //sets global settings 
+                CLOG_WRITE( "Feature found : Global settings\n" )
+                CLOG_WRITE( "-------------------------------\n" )
+                    
+                iFileProcessor = CProcessorGlobal::NewL( iReader,
+                                                          iCmManager,
+                                                          iPluginArray,
+                                                          iPluginNames,
+                                                          iDestArray,
+                                                          iDestNames ); 
+                iFileProcessor->ParseFileL();
+
+                delete iFileProcessor;
+                iFileProcessor = NULL;
+
+                break;
+                }
+                
+            default:
+                User::Panic( KPanicInvalidCase, KErrInvalidCase );
+             
+            }//switch
+            
+            //gets next feature
+            iReader->LocateFeatureL();
+            
+        }//while
+                  
+
+    // Updates the IAPs that are not in destinations.
+    UpdateUncatCmsL( iCmInDest );
+
+    // Sets the underlying IAP/SNAPS for vpn IAPs    
+    SetUnderlyingIapL( iUnderLying );
+
+    for( TInt i(0); i < iWlanSecurity.Count(); i++ )
+        {
+        CLOG_WRITE_FORMAT( "Sec Pos: %d", i );
+        if( iWlanSecurity[i] != NULL )
+            {
+            CLOG_WRITE_FORMAT( "Sec data: %S", iWlanSecurity[i] );
+            }
+        else    
+            {
+            CLOG_WRITE( "Sec data NULL" );
+            }
+        }
+
+	// Sets the WLAN security paramters including EAP settings
+    SetWlanSecurityL( iWlanSecurity );
+    
+    // Sets linger settings
+    SetLingerSettingsL( iLingerSettings );
+
+    // Logs IAPs in UDEB mode
+    #ifdef _DEBUG
+    LogIapIdsL();
+    #endif
+}
+
+//------------------------------------------------
+// CCdcCommsDatCreator::DumpCommsDatL
+//------------------------------------------------
+//
+EXPORT_C void CCdcCommsDatCreator::DumpCommsDatL( const TFileName& aOutFileName )
+    {
+    CLOG_WRITE( "==========================\n" )
+    CLOG_WRITE( "Dump processing started...\n" )
+    CLOG_WRITE( "==========================\n" )   
+    
+
+    CDumpTables* dump = CDumpTables::NewLC();
+    dump->DoDumpTablesL( aOutFileName );
+    CleanupStack::PopAndDestroy( dump ); //dump   
+
+    CLOG_WRITE( "======== end dump =========\n" )   
+
+    }
+
+//------------------------------------------------
+// CCdcCommsDatCreator::CCdcCommsDatCreator
+//------------------------------------------------
+//
+CCdcCommsDatCreator::CCdcCommsDatCreator()
+    {
+    }
+
+//------------------------------------------------
+// CCdcCommsDatCreator::~CCdcCommsDatCreator
+//------------------------------------------------
+//
+CCdcCommsDatCreator::~CCdcCommsDatCreator()
+    {
+    delete iReader;
+    
+    iEapSettings.ResetAndDestroy();
+
+	for ( TInt i = 0; i < iPluginArray.Count(); i++ )
+	{
+		iPluginArray[i]->Close();
+	}
+    iPluginArray.ResetAndDestroy();
+    iPluginNames.ResetAndDestroy();
+
+	for ( TInt i = 0; i < iDestArray.Count(); i++ )
+	{
+		iDestArray[i]->Close();
+	}
+    iDestArray.ResetAndDestroy();
+    
+    iDestNames.ResetAndDestroy();    
+    
+    iUnderLying.ResetAndDestroy();    
+    
+    iWlanSecurity.ResetAndDestroy();
+    
+    iLingerSettings.ResetAndDestroy();
+
+    iCmInDest.Close(); 
+    
+    iCmManager.Close();
+    }
+
+
+//------------------------------------------------
+// CCdcCommsDatCreator::ConstructL
+//------------------------------------------------
+//
+void CCdcCommsDatCreator::ConstructL()
+    {
+    CLOG_WRITE( "Initialising FeatureManager\n" )   
+    //checks if Wlan feature is supported
+    FeatureManager::InitializeLibL();
+    iIsWlanS = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
+    FeatureManager::UnInitializeLib();
+    CLOG_WRITE( "FeatureManager closed\n" )
+
+    iCmManager.OpenL();
+    }
+    
+//------------------------------------------------
+// CCdcCommsDatCreator::InputFileType
+//------------------------------------------------
+//
+TUint CCdcCommsDatCreator::InputFileType( const TFileName& aFileName )
+    {
+    TBuf<KLengthOfExtention> extension;
+    
+    //get extension
+    extension.Copy( aFileName.Right( KLengthOfExtention ) );
+    
+    TDbCreatorInputFile type ( EFileUnknown );
+    
+    if ( extension.CompareF( KExtensionXML ) == 0 )
+        {
+        type = EFileXML;            
+        }
+    else
+        {
+        //type keeps default value
+        }
+            
+    return type;
+    
+    }
+    
+  
+//------------------------------------------------
+// CCdcCommsDatCreator::UpdateUncatCmsL
+//------------------------------------------------
+//
+void CCdcCommsDatCreator::UpdateUncatCmsL( RArray< TBool >& aCmInDest )
+    {
+    CLOG_WRITE( "-------------------------------\n" )
+    CLOG_WRITE( "Uncategorised Cms:\n" )
+
+    // No destination defined
+    if( aCmInDest.Count() == 0 )
+        {
+        for( TInt i(0); i < iPluginArray.Count(); i++ )
+            {
+            iPluginArray[i]->UpdateL();
+            CLOG_WRITE_FORMAT( "Uncat CM Name: %S", iPluginNames[i] );
+            }
+        }
+    else
+        {
+        
+        for( TInt i(0); i < iPluginArray.Count(); i++ )
+            {
+            if( aCmInDest[ i ] == EFalse )
+                {
+                iPluginArray[i]->UpdateL();
+                CLOG_WRITE_FORMAT( "Uncat CM Name: %S", iPluginNames[i] );
+                }
+            }
+        }
+        
+    CLOG_WRITE( "-------------------------------\n" )
+    }    
+
+
+//------------------------------------------------
+// CCdcCommsDatCreator::LogIapIdsL
+//------------------------------------------------
+//
+void CCdcCommsDatCreator::LogIapIdsL()
+    {
+    for( TInt i(0); i < iPluginArray.Count(); i++ )
+        {
+        TUint32 uid1 = iPluginArray[i]->GetIntAttributeL( CMManager::ECmId );
+        CLOG_WRITE_FORMAT( "IAP Name: %S", iPluginNames[i] );
+        CLOG_WRITE_FORMAT( "ID: %d\n", uid1 );
+        }
+
+    for( TInt i(0); i < iDestArray.Count(); i++ )
+        {
+        TUint32 uid1 = iDestArray[i]->Id();
+        CLOG_WRITE_FORMAT( "SNAP Name: %S", iDestNames[i] );
+        CLOG_WRITE_FORMAT( "ID: %d\n", uid1);
+        }
+    }
+
+// ---------------------------------------------------------
+// CCdcCommsDatCreator::ProcessDNL
+// ---------------------------------------------------------
+//
+void CCdcCommsDatCreator::ProcessDNL( RArray< TBool >& aCmInDest,
+                                     TBool aFirstRound )
+    {
+    CLOG_WRITE( "Feature found : Destination Network(s)\n" )
+    CLOG_WRITE( "--------------------------------------\n" )
+    
+    
+    if( !aFirstRound )
+        {
+        for( TInt i(0); i < iPluginArray.Count(); i++ )
+            {
+            aCmInDest.Append( EFalse );
+            }
+        }
+    
+    iFileProcessor = CProcessorDN::NewL( iReader,
+                                         iCmManager,
+                                         iPluginArray,
+                                         iPluginNames,
+                                         iDestArray,
+                                         iDestNames,
+                                         aCmInDest,
+                                         aFirstRound ); 
+    iFileProcessor->ParseFileL();
+    
+    delete iFileProcessor;
+    iFileProcessor = NULL;
+    CLOG_WRITE( "--------------------------------------\n" )
+    }    
+
+// ---------------------------------------------------------
+// CCdcCommsDatCreator::SetUnderlyingIapL
+// ---------------------------------------------------------
+//
+void CCdcCommsDatCreator::SetUnderlyingIapL( RPointerArray< HBufC >& aUnderLying )
+    {
+    // Sets the underlying IAP/SNAPS for vpn IAPs    
+    if( aUnderLying.Count() > 0 )
+        {
+        CLOG_WRITE_FORMAT( "SetUnderlyingIapL: %d\n", aUnderLying.Count() )
+        CLOG_WRITE( "--------------------------------------\n" )
+
+        CProcessorVpn* vpn = CProcessorVpn::NewL( iReader,
+                                               iCmManager,
+                                               iPluginArray,
+                                               iPluginNames,
+                                               aUnderLying );
+        
+        CleanupStack::PushL( vpn );
+        vpn->ProcessUnderLyingL(  iDestArray, iDestNames );
+        
+                
+        CleanupStack::PopAndDestroy( vpn );
+
+        CLOG_WRITE( "--------------------------------------\n" )
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CCdcCommsDatCreator::SetUnderlyingIapL
+// ---------------------------------------------------------
+//
+void CCdcCommsDatCreator::SetWlanSecurityL( RPointerArray< HBufC >& aWlanSecurity )
+    {
+    if( aWlanSecurity.Count() > 0 
+		|| iEapSettings.Count() > 0 )
+        {
+        CLOG_WRITE_FORMAT( "SetWlanSecurityL: %d\n", aWlanSecurity.Count() );
+        CLOG_WRITE_FORMAT( "SetWlanSecurityL: EAPs: %d\n", iEapSettings.Count() );
+        CLOG_WRITE( "--------------------------------------\n" )
+
+        CProcessorWlan* wlan = CProcessorWlan::NewL( iReader,
+                                                     iCmManager,
+                                                     iPluginArray,
+                                                     iPluginNames,
+                                                     aWlanSecurity,
+													 iEapSettings);
+        
+        CleanupStack::PushL( wlan );
+        wlan->SaveSecurityInfoL();
+                
+        CleanupStack::PopAndDestroy( wlan );
+        
+        // EAP settings were saved. Delete them.
+        iEapSettings.ResetAndDestroy();
+
+        CLOG_WRITE( "--------------------------------------\n" )
+        }
+    }
+
+// ---------------------------------------------------------
+// CCdcCommsDatCreator:::SetLingerSettingsL
+// ---------------------------------------------------------
+//
+void CCdcCommsDatCreator::SetLingerSettingsL( 
+        RPointerArray< CLingerElement >& aLingerSettings )
+    {
+    CLOG_WRITE_FORMAT( "SetLingerSettingsL: %d\n", aLingerSettings.Count() );
+    if ( aLingerSettings.Count() > 0 )
+        {
+        CProcessorPacketData* pdp = CProcessorPacketData::NewL( iReader, 
+                                                                iCmManager,
+                                                                iPluginArray,
+                                                                iPluginNames,
+                                                                iLingerSettings );
+        
+        CleanupStack::PushL( pdp );
+        pdp->SaveLingerSettingsL();
+                
+        CleanupStack::PopAndDestroy( pdp );
+        }  
+    CLOG_WRITE( "--------------------------------------\n" )
+    }
+
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcdatamobilitytables.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,613 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CDataMobilityTables
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "cdcdatamobilitytables.h"
+#include "cdclogger.h"
+
+#include <commsdattypesv1_1.h>
+#include <datamobilitycommsdattypes.h>
+#include <cmmanagerext.h>
+#include <wlancontainer.h>
+#include <cmmanagerdef.h>
+
+// CONSTANTS
+
+// Maximum bearer type name length
+const TUint KMaxNameLength = 50;
+
+// Default bearer priorities
+const TUint KDefaultPriorityLan = 0;
+const TUint KDefaultPriorityWlan = 1;
+const TUint KDefaultPriorityPan = 2;
+const TUint KDefaultPriorityGprsOut = 3;
+const TUint KDefaultPriorityGprsIn = 4;
+const TUint KDefaultPriorityDialOut = 6;
+const TUint KDefaultPriorityDialIn = 7;
+const TUint KDefaultUIPriorityVpn = 253;
+const TUint KDefaultUIPriorityMip = 254;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CDataMobilityTables::NewL
+// ---------------------------------------------------------
+//
+CDataMobilityTables* CDataMobilityTables::NewL()
+    {
+
+    CDataMobilityTables* self = new ( ELeave ) CDataMobilityTables;
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+
+// ---------------------------------------------------------
+// CDataMobilityTables::CDataMobilityTables
+// ---------------------------------------------------------
+//
+CDataMobilityTables::CDataMobilityTables()
+    {
+    //no implementation needed
+    }
+
+
+// ---------------------------------------------------------
+// CDataMobilityTables::ConstructL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::ConstructL()
+    {
+    //no implementation needed
+    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    }
+
+
+// ---------------------------------------------------------
+// CDataMobilityTables::~CDataMobilityTables
+// ---------------------------------------------------------
+//
+CDataMobilityTables::~CDataMobilityTables()
+    {
+    if ( iSession )
+        {
+        iSession->Close();
+        delete iSession; 
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CheckAndCreateAlrTablesL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CheckAndCreateAlrTablesL()
+    {
+    CreateVirtualIAPNextLayerTableL();
+    CreateGlobalBearerTypeTableL();
+    PopulateGlobalBearerTypeTableL();
+    CreateDataMobilitySelectionPolicyTableL();
+    CreateSNAPMetadataTableL();
+    CreateIAPMetadataTableL();
+    CreateDestNetworkTableL();
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CheckAndCreateMipTablesL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CheckAndCreateMipTablesL()
+    {
+    CreateMIPServiceTableL();
+    CreateMIP4TableL();
+    CreateMIP6TableL();
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateGlobalBearerTypeTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateGlobalBearerTypeTableL()
+    {
+    //Check whether Global Bearer Type Priorization table exists
+    TInt error( KErrNone );
+    
+    TRAP( error, CCDGlobalBearerTypePriorizationRecord::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDGlobalBearerTypePriorizationRecord::CreateTableL( *iSession );
+
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDGlobalBearerTypePriorizationRecord::TableIdL( *iSession ) );
+        if( id >= KErrNone )
+            {
+            CLOG_WRITE( "Added Global Bearer Type Priorization table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "Failed to add Global Bearer Type Priorization\
+                             table: %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE ( "Global Bearer Type Priorization table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ------------------------------------------------------------
+// CDataMobilityTables::CreateDataMobilitySelectionPolicyTableL
+// ------------------------------------------------------------
+//
+void CDataMobilityTables::CreateDataMobilitySelectionPolicyTableL()
+    {
+    //Check whether Data Mobility Selection Policy table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDDataMobilitySelectionPolicyRecord::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDDataMobilitySelectionPolicyRecord::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDDataMobilitySelectionPolicyRecord::TableIdL( *iSession ) );
+        if( id >= KErrNone )
+            {
+            CLOG_WRITE( "Added Data Mobility Selection Policy table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( 
+            "Failed to add Data Mobility Selection Policy table. %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "Data Mobility Selection Policy table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateMIPServiceTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateMIPServiceTableL()
+    {
+    //Check whether MIP Service table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDMIPServiceExtRecord::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDMIPServiceExtRecord::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDMIPServiceExtRecord::TableIdL( *iSession ) );
+        if( KErrNone <= id )
+            {
+            CLOG_WRITE( "Added MIP Service table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "Failed to add MIP Service table: %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "MIP Service table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateMIP4TableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateMIP4TableL()
+    {
+    //Check whether MIP4 table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDMIP4Record::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDMIP4Record::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDMIP4Record::TableIdL( *iSession ) );
+        if( KErrNone <= id )
+            {
+            CLOG_WRITE( "Added MIP4 table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "Failed to add MIP4 table: %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "MIP4 table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateMIP6TableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateMIP6TableL()
+    {
+    //Check whether MIP6 table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDMIP6Record::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDMIP6Record::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDMIP6Record::TableIdL( *iSession ) );
+        if( KErrNone <= id )
+            {
+            CLOG_WRITE( "Added MIP6 table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "Failed to add MIP6 table %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+            CLOG_WRITE( "MIP6 table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateSNAPMetadataTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateSNAPMetadataTableL()
+    {
+    //Check whether SNAP Metadata table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDSNAPMetadataRecord::TableIdL( *iSession ) );
+    
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDSNAPMetadataRecord::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDSNAPMetadataRecord::TableIdL( *iSession ) );
+        if( KErrNone <= id )
+            {
+            CLOG_WRITE( "Added SNAP Metadata table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "Failed to add SNAP Metadata table? %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "SNAP Metadata table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateIAPMetadataTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateIAPMetadataTableL()
+    {
+    //Check whether IAP Metadata table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDIAPMetadataRecord::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDIAPMetadataRecord::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDIAPMetadataRecord::TableIdL( *iSession ) );
+        if( KErrNone <= id )
+            {
+            CLOG_WRITE( "Added IAP Metadata table\n" )
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "Failed to add IAP Metadata table: %d\n", id )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "IAP Metadata table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CDataMobilityTables::CreateVirtualIAPNextLayerTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateVirtualIAPNextLayerTableL()
+    {
+    //Check whether IAP Metadata table exists
+    TInt error( KErrNone );
+    TRAP( error, CCDVirtualIAPNextLayerRecord::TableIdL( *iSession ) );
+
+    //Table not found -> create it
+    if( error == KErrNotFound )
+        {
+        //Add table to CommsDat
+        CCDVirtualIAPNextLayerRecord::CreateTableL( *iSession );
+        
+        //check result
+        TInt id( KErrNone );
+        TRAP( id, CCDVirtualIAPNextLayerRecord::TableIdL( *iSession ) );
+        if( KErrNone > id )
+            {
+            CLOG_WRITE_FORMAT( "Failed to add Virtual IAP Next Layer table %d\n", id )
+            }
+        else
+            {
+            CLOG_WRITE( "Added Virtual IAP Next Layer table\n" )
+            }
+        }
+    //Table already exists
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "Virtual IAP Next Layer table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+
+// ---------------------------------------------------------
+// CreateDestNetworkTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::CreateDestNetworkTableL()
+    {    
+    //checks whether table exists
+    TInt error( KErrNone );
+
+    TRAP( error, CCDDestNWTable::TableIdL( *iSession ) );
+    if( error == KErrNotFound )
+        {    
+        //table not found -- add new table
+        CCDDestNWTable::CreateTableL( *iSession );
+        
+        //check result
+        TRAP( error, CCDDestNWTable::TableIdL( *iSession ) );
+        
+        if ( error == KErrNone )
+            {
+            CLOG_WRITE( "Added Destination Network table" )
+            }
+        }
+    else if ( error == KErrNone)
+        {
+            CLOG_WRITE( "Destination Network table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }  
+    }
+
+// ---------------------------------------------------------
+// CDataMobilityTables::PopulateGlobalBearerTypeTableL
+// ---------------------------------------------------------
+//
+void CDataMobilityTables::PopulateGlobalBearerTypeTableL()
+    {
+    RCmManagerExt cmManager;
+    cmManager.CreateTablesAndOpenL();
+    
+    CleanupClosePushL( cmManager );
+    
+    RArray< TBearerPriority >* bearerArray = new( ELeave )
+                                            RArray< TBearerPriority >();
+    
+    CleanupStack::PushL( bearerArray );
+                           
+    // Check if the bearer table has already been filled
+    // (and skip populating in this case)
+    
+    cmManager.BearerPriorityArrayL( *bearerArray );
+    
+    if( !bearerArray->Count() )
+        {
+        // Prepare bearer priority array
+        // Strings are needed to be available until the update of the bearer array
+        // (TBearerPriority has a HBufC* member)
+        HBufC* lanServiceName = HBufC::NewLC( KMaxNameLength );
+        *lanServiceName = TPtrC( KCDTypeNameLANService );
+        HBufC* wLanServiceName = HBufC::NewLC( KMaxNameLength );
+        *wLanServiceName = TPtrC( KCDTypeNameWLANServiceExt );
+        HBufC* panServiceName = HBufC::NewLC( KMaxNameLength );
+        *panServiceName = TPtrC( KCDTypeNamePANServiceExt );
+        HBufC* gprsOutServiceName = HBufC::NewLC( KMaxNameLength );
+        *gprsOutServiceName = TPtrC( KCDTypeNameOutgoingWCDMA );
+        HBufC* gprsInServiceName = HBufC::NewLC( KMaxNameLength );
+        *gprsInServiceName = TPtrC( KCDTypeNameIncomingWCDMA );
+        HBufC* dialOutServiceName = HBufC::NewLC( KMaxNameLength );
+        *dialOutServiceName = TPtrC( KCDTypeNameDialOutISP );
+        HBufC* dialInServiceName = HBufC::NewLC( KMaxNameLength );
+        *dialInServiceName = TPtrC( KCDTypeNameDialInISP );
+        HBufC* vpnServiceName = HBufC::NewLC( KMaxNameLength );
+        *vpnServiceName = TPtrC( KCDTypeNameVPNService );
+        HBufC* mipServiceName = HBufC::NewLC( KMaxNameLength );
+        *mipServiceName = TPtrC( KCDTypeNameMIPServiceExt );
+        
+        bearerArray->Reset();
+        
+        TBearerPriority lanRecord;
+        lanRecord.iServiceType = lanServiceName;
+        lanRecord.iPriority = KDefaultPriorityLan;
+        lanRecord.iUIPriority = KDefaultPriorityLan;
+        bearerArray->Append( lanRecord );
+        
+        TBearerPriority wLanRecord;
+        wLanRecord.iServiceType = wLanServiceName;
+        wLanRecord.iPriority = KDefaultPriorityWlan;
+        wLanRecord.iUIPriority = KDefaultPriorityWlan;
+        bearerArray->Append( wLanRecord );
+        
+        TBearerPriority panRecord;
+        panRecord.iServiceType = panServiceName;
+        panRecord.iPriority = KDefaultPriorityPan;
+        panRecord.iUIPriority = KDefaultPriorityPan;
+        bearerArray->Append( panRecord );
+        
+        TBearerPriority gprsOutRecord;
+        gprsOutRecord.iServiceType = gprsOutServiceName;
+        gprsOutRecord.iPriority = KDefaultPriorityGprsOut;
+        gprsOutRecord.iUIPriority = KDefaultPriorityGprsOut;
+        bearerArray->Append( gprsOutRecord );
+        
+        TBearerPriority gprsInRecord;
+        gprsInRecord.iServiceType = gprsInServiceName;
+        gprsInRecord.iPriority = KDefaultPriorityGprsIn;
+        gprsInRecord.iUIPriority = KDefaultPriorityGprsIn;
+        bearerArray->Append( gprsInRecord );
+                        
+        TBearerPriority dialOutRecord;
+        dialOutRecord.iServiceType = dialOutServiceName;
+        dialOutRecord.iPriority = KDefaultPriorityDialOut;
+        dialOutRecord.iUIPriority = KDefaultPriorityDialOut;
+        bearerArray->Append( dialOutRecord );
+        
+        TBearerPriority dialInRecord;
+        dialInRecord.iServiceType = dialInServiceName;
+        dialInRecord.iPriority = KDefaultPriorityDialIn;
+        dialInRecord.iUIPriority = KDefaultPriorityDialIn;
+        bearerArray->Append( dialInRecord );
+        
+        TBearerPriority vpnRecord;
+        vpnRecord.iServiceType = vpnServiceName;
+        vpnRecord.iPriority = CMManager::KDataMobilitySelectionPolicyPriorityWildCard;
+        vpnRecord.iUIPriority = KDefaultUIPriorityVpn;
+        bearerArray->Append( vpnRecord );
+        
+        TBearerPriority mipRecord;
+        mipRecord.iServiceType = mipServiceName;
+        mipRecord.iPriority = CMManager::KDataMobilitySelectionPolicyPriorityWildCard;
+        mipRecord.iUIPriority = KDefaultUIPriorityMip;
+        bearerArray->Append( mipRecord );
+        
+        cmManager.UpdateBearerPriorityArrayL( *bearerArray );
+        
+        CLOG_WRITE( "Global Bearer Priorization table updated with default values\n" )
+        
+        // Only pop, because ownership is passed to the array
+        CleanupStack::Pop( mipServiceName ); 
+        CleanupStack::Pop( vpnServiceName );
+        CleanupStack::Pop( dialInServiceName ); 
+        CleanupStack::Pop( dialOutServiceName );
+        CleanupStack::Pop( gprsInServiceName );
+        CleanupStack::Pop( gprsOutServiceName ); 
+        CleanupStack::Pop( panServiceName );
+        CleanupStack::Pop( wLanServiceName ); 
+        CleanupStack::Pop( lanServiceName );
+        }
+        
+    else
+        {
+        CLOG_WRITE( "Not updating Global Bearer Priorization table\n" )
+        }
+    
+    cmManager.CleanupGlobalPriorityArray( *bearerArray );
+
+    CleanupStack::PopAndDestroy( bearerArray ); 
+    CleanupStack::PopAndDestroy( &cmManager );
+    }
+
+
+//  End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcdumptables.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,453 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorCSD
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include <wlancontainer.h>
+#include <cmmanagertablefields.h>
+#include <datamobilitycommsdattypes.h>
+#include <f32file.h>
+#include <featmgr.h>
+
+#include "cdcdumptables.h"
+#include "cdclogger.h"
+
+// DEFINES
+
+#define QUERY_HBUFC_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<HBufC*>*, record->GetFieldByIdL( fieldId ))
+#define QUERY_HBUFC8_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<HBufC8*>*, record->GetFieldByIdL( fieldId ))
+#define QUERY_UINT32_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<TUint32>*, record->GetFieldByIdL( fieldId ))
+#define QUERY_INT_FIELD( record, fieldId ) *STATIC_CAST(CommsDat::CMDBField<TInt>*, record->GetFieldByIdL( fieldId ))
+
+
+// CONSTANTS
+
+// commons for CSV file creatin
+_LIT16( KComma, "," );
+_LIT16( KNewLine, "\n" );
+_LIT16( KCRT, "\r" );
+_LIT16( KDQuote, "\"" );
+
+// Table names for CSV file creation
+_LIT16( KCDWlanServiceRecord,        "CCDWlanService" );
+_LIT16( KCDWlanDeviceSettingsRecord, "CCDWlanDeviceSettings" );
+_LIT16( KCDWLANSecSSIDTable,         "CCDWLANSecSSIDTable" );
+_LIT16( KCDDestNWTable,              "CCDDestNWTable" );
+_LIT16( KCDVirtualIAPNextLayerRecord,"CCDVirtualIAPNextLayer" );
+_LIT16( KCDDataMobilitySelectionPolicyRecord, "CCDDataMobilitySelectionPolicy" );
+_LIT16( KCDSNAPMetadataRecord,       "CCDSNAPMetadata" );
+_LIT16( KCDGlobalBearerTypePriorizationRecord, "CCDGlobalBearerTypePriorization" );
+_LIT16( KCDMIPServiceExtRecord,      "CCDMIPServiceExt" );
+_LIT16( KCDIAPMetadataRecord,        "CCDIAPMetadata" );
+_LIT16( KCDMIP4Record,               "CCDMIP4" );
+_LIT16( KCDMIP6Record,               "CCDMIP6" );
+
+
+// Little-endian Unicode file header.
+const TUint16 KLittleEndianUnicodeHeader = 0xFEFF;
+// Buffer length for number conversion
+const TInt KFormatBufLen = 40;
+
+
+// ---------------------------------------------------------
+// CDumpTables::NewL
+// ---------------------------------------------------------
+//
+CDumpTables* CDumpTables::NewL()
+    {
+    CDumpTables* self = NewLC();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CDumpTables::NewLC
+// ---------------------------------------------------------
+//
+CDumpTables* CDumpTables::NewLC()
+    {
+    CDumpTables* self = new ( ELeave ) CDumpTables();
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    return self;
+    }
+     
+     
+// ---------------------------------------------------------
+// CDumpTables::~CDumpTables
+// ---------------------------------------------------------
+//
+CDumpTables::~CDumpTables()
+    {
+    iRfs.Close();
+    if (iSession)
+        {
+        iSession->Close();
+        delete iSession;        
+        }      
+    }    
+
+// ---------------------------------------------------------
+// CDumpTables::ConstructL
+// ---------------------------------------------------------
+//
+void CDumpTables::ConstructL()
+    {
+    iSession = CommsDat::CMDBSession::NewL( 
+               CommsDat::CMDBSession::LatestVersion() );
+    }
+    
+    
+// ---------------------------------------------------------
+// CDumpTables::CDumpTables
+// ---------------------------------------------------------
+//
+CDumpTables::CDumpTables()
+    {
+    
+    }
+    
+// ---------------------------------------------------------
+// CDumpTables::DoDumpTablesL
+// ---------------------------------------------------------
+//
+void CDumpTables::DoDumpTablesL( const TFileName& aOutFileName )
+    {
+
+    User::LeaveIfError( OpenFileL( aOutFileName ) );
+
+
+    //checks if Wlan feature is supported
+    FeatureManager::InitializeLibL();
+    TBool isWlanS( FeatureManager::FeatureSupported( KFeatureIdProtocolWlan ) );
+    FeatureManager::UnInitializeLib();
+    
+    if( isWlanS )
+        {
+        // Dumps CCDWlanService Table 
+        DumpTableL<CCDWlanServiceRecord>( &KCDWlanServiceRecord );
+
+        // Dumps CCDWlanDeviceSettings Table  
+        DumpTableL<CCDWlanDeviceSettingsRecord>( &KCDWlanDeviceSettingsRecord );
+
+        // Dumps CCDWLANSecSSID Table  
+        DumpTableL<CCDWLANSecSSIDTable>( &KCDWLANSecSSIDTable );
+    
+        // Dumps CCDDestNWTable Table  
+        DumpTableL<CCDDestNWTable>( &KCDDestNWTable );
+        }
+        
+    // Dumps CCDVirtualIAPNextLayerRecord Table  
+    DumpTableL<CCDVirtualIAPNextLayerRecord>( 
+              &KCDVirtualIAPNextLayerRecord );
+
+    // Dumps CCDDataMobilitySelectionPolicyRecord Table  
+    DumpTableL<CCDDataMobilitySelectionPolicyRecord>(
+              &KCDDataMobilitySelectionPolicyRecord );
+
+    // Dumps CCDSNAPMetadataRecord Table  
+    DumpTableL<CCDSNAPMetadataRecord>( &KCDSNAPMetadataRecord );
+
+    // Dumps CCDGlobalBearerTypePriorizationRecord Table  
+    DumpTableL<CCDGlobalBearerTypePriorizationRecord>( 
+              &KCDGlobalBearerTypePriorizationRecord );
+
+    // Dumps CCDMIPServiceExtRecord Table  
+    DumpTableL<CCDMIPServiceExtRecord>( &KCDMIPServiceExtRecord );
+
+    // Dumps CCDIAPMetadataRecord Table  
+    DumpTableL<CCDIAPMetadataRecord>( &KCDIAPMetadataRecord );
+    
+    // Dumps CCDMIP4Record Table  
+    DumpTableL<CCDMIP4Record>( &KCDMIP4Record );
+    
+    // Dumps CCDMIP6Record Table  
+    DumpTableL<CCDMIP6Record>( &KCDMIP6Record );
+    
+    iFile.Close();   
+    }
+
+  
+// ---------------------------------------------------------
+// CDumpTables::DumpTableL
+// ---------------------------------------------------------
+//
+template<class T> void CDumpTables::DumpTableL( const TDesC* aTableName )
+    {
+    
+    CLOG_WRITE_FORMAT( "Dump table: %S \n", aTableName );
+
+    iFile.WriteL( *aTableName );    
+    iFile.WriteL( KNewLine );    
+
+    // Retreives the table the recordset and the recordinfo
+    TMDBElementId tableId = T::TableIdL( *iSession );
+   
+    T* table = new (ELeave) T( tableId );
+
+    const SRecordTypeInfo* aRecordInfo = table->GetRecordInfo();              
+
+    CommsDat::CMDBRecordSet<T>* aRecordSet = 
+              new (ELeave) CommsDat::CMDBRecordSet<T>( tableId );
+    
+    // Loads the table          
+    TRAP_IGNORE( aRecordSet->LoadL( *iSession ) );
+
+    //The table has been loaded
+    TInt count = aRecordSet->iRecords.Count();
+    CLOG_WRITE_FORMAT("Record count: %d", count );
+        
+      
+    TBuf16<KFormatBufLen> buf;
+    
+    // Goes throught the records        
+    for ( TInt i = 0; i < count; i++ )
+        {
+        // The closing (after last) field in the record has 0 iTypeId 
+        // to indicate the end of the record. 
+        for ( TInt j = 0; 0 < aRecordInfo[j].iTypeId; j++ )
+            {
+            // Switch for different data types
+            switch( aRecordInfo[j].iValType )
+                {
+                case EInt:
+                case EBool:
+                    {
+                    // Dumping TInt
+                    TInt res( QUERY_INT_FIELD( 
+                          (*aRecordSet)[i], aRecordInfo[j].iTypeId ) );
+                    buf.Format( _L( "%d" ), res );
+                    iFile.WriteL ( buf );
+                    }
+                break;
+                
+                case EUint32:
+                case ELink:
+                    {
+                    // Dumping TUint32
+                    TUint32 res32( QUERY_UINT32_FIELD( 
+                            (*aRecordSet)[i], aRecordInfo[j].iTypeId ) );
+                    buf.Format( _L( "%d" ), res32 );
+                    iFile.WriteL ( buf );
+                    }
+                break;
+
+                case EText:
+                case EMedText:
+                case ELongText:
+                    {
+                    // Dumping text16
+                    HBufC16* text16 = QUERY_HBUFC_FIELD( 
+                            (*aRecordSet)[i], aRecordInfo[j].iTypeId );
+                    WriteL ( text16 );
+                    }
+                break;
+                
+                case EDesC8:
+                    {
+                    // Dumping text8
+                    HBufC8* text8 = QUERY_HBUFC8_FIELD( 
+                            (*aRecordSet)[i], aRecordInfo[j].iTypeId );
+            
+                    WriteL ( text8 );
+                    }
+                break;
+
+                default:
+                    CLOG_WRITE_FORMAT("! warning: type not supported: %d", 
+                                                aRecordInfo[j].iValType );
+                break;                                                
+                }
+                iFile.WriteL( KComma );
+            
+            }
+            iFile.WriteL( KNewLine );
+        }
+    }
+    
+// ---------------------------------------------------------
+// CDumpTables::OpenFileL
+// ---------------------------------------------------------
+//
+TInt CDumpTables::OpenFileL( const TFileName& aFileName )
+    {
+    ////CLOG_WRITE_FORMAT( "Output file name %S", aFileName ); 
+    
+    TInt err = iRfs.Connect();
+
+    if( err == KErrNone )
+        {
+        err = iFile.Replace( iRfs, aFileName, EFileStreamText | EFileWrite );
+        }
+    
+    if( err == KErrNotFound ) 
+        // file does not exist - create it
+        {
+        err=iFile.Create( iRfs, aFileName, EFileStreamText | EFileWrite );
+        }
+    
+    if( err == KErrNone )
+        {
+        // Write little-endian Unicode file header.
+        iFile.WriteUint16L( KLittleEndianUnicodeHeader );
+        }
+        
+    if( err != KErrNone )
+        {
+        iFile.Close();
+        ////CLOG_WRITE_FORMAT( "!Error Output file cannot be opened: %S", aFileName );
+        }
+        
+    return err;
+    }
+
+
+// ---------------------------------------------------------
+// CDumpTables::WriteL
+// ---------------------------------------------------------
+//
+void CDumpTables::WriteL( HBufC8* aDes )
+    {
+
+    if( aDes )
+        {
+    
+        CleanupStack::PushL( aDes );
+
+        HBufC16* text16 = HBufC16::NewL( aDes->Length() );
+        text16->Des().Copy( aDes->Des() );
+    
+        WriteL ( text16 );
+
+        CleanupStack::PopAndDestroy( aDes );
+        }
+
+    }    
+
+    
+// ---------------------------------------------------------
+// CDumpTables::WriteL
+// ---------------------------------------------------------
+//
+void CDumpTables::WriteL( HBufC16* aDes )
+    {
+    
+    if( aDes )
+        {
+        CleanupStack::PushL( aDes );
+        
+        TBool res = CheckCSVTransformNeedL( aDes );
+
+        // Need conversion
+        if( res )
+            {
+            HBufC16* cvsFormat = TransformToCSVFormatLC( aDes );
+            iFile.WriteL ( *cvsFormat );
+            CleanupStack::PopAndDestroy( cvsFormat );
+            }
+        else
+            {
+            iFile.WriteL ( *aDes );
+            }
+        CleanupStack::PopAndDestroy( aDes );
+        }
+    }    
+
+
+// ---------------------------------------------------------
+// CDumpTables::TransformToCSVFormatLC
+// ---------------------------------------------------------
+//
+HBufC16* CDumpTables::TransformToCSVFormatLC( const HBufC16* aField )
+    {
+    CLOG_WRITE_FORMAT( "Transform needed:  %S", aField );
+
+    // Length of the csv format string is calculated.
+    // "2" are the leading and trailing d.qquotes
+    TInt csvLen = aField->Length() + iNumOfDQuotes + 2; 
+    HBufC16* csv = HBufC16::NewLC( csvLen );
+    
+    TPtr16 ptr = csv->Des();
+
+    // Heading quote    
+    ptr.Append( KDQuote );
+    ptr.Append( *aField );
+    
+    // Quotes might be duplicated
+    if( 0 < iNumOfDQuotes )
+        {
+        // Heading quote step over
+        TInt pos = 1;
+        while( pos < ptr.Length() && pos != KErrNotFound )
+            {
+            ptr = ptr.Mid( pos );
+            pos = ptr.Find( KDQuote );
+            if( pos != KErrNotFound )
+                {
+                ptr.Insert( pos, KDQuote );
+                pos+=2;                
+                }
+            }
+        }
+
+    // Tailing quote
+    ptr.Append( KDQuote );
+
+    CLOG_WRITE_FORMAT( "Transformed:      %S", csv );
+ 
+    return csv;
+    }
+
+
+// ---------------------------------------------------------
+// CDumpTables::CheckCSVTransformNeedL
+// ---------------------------------------------------------
+//
+TBool CDumpTables::CheckCSVTransformNeedL( HBufC16* aField )
+    {
+    // Looks for comma, new line or carrige return characters.
+    // Only existance is necessary. If any of them exist the
+    // quoting is necessary  
+    TInt cnrPos = aField->Find( KComma );
+    if( cnrPos == KErrNotFound )
+        {
+        cnrPos = aField->Find( KNewLine );
+        if( cnrPos == KErrNotFound )
+            {
+            cnrPos = aField->Find( KCRT );
+            }
+        }
+    
+    // Serches for all dquote. Number is usefull for csv text creation
+    iNumOfDQuotes = 0;        
+    TPtr16 ptr = aField->Des();
+    
+    TInt quotePos = ptr.Find( KDQuote );
+    while( quotePos != KErrNotFound )
+        {
+        iNumOfDQuotes++;
+        ptr = ptr.Mid( quotePos+1 );
+        quotePos = ptr.Find( KDQuote );
+        }
+      
+    // csv file conversion necessary if comma... or quote is in the text.        
+    return ( 0 < iNumOfDQuotes || cnrPos != KErrNotFound );
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessorbase.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,547 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorBase
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcprocessorbase.h"
+#include "cdcreaderbase.h"
+#include "cdclogger.h"
+
+#include <cmmanagerext.h>
+#include <cmconnectionmethoddef.h>
+#include <cmconnectionmethodext.h>
+#include <cmdestinationext.h>
+#include <datamobilitycommsdattypes.h>
+
+
+using namespace CMManager;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CProcessorBase::CProcessorBase
+// Constructor.
+// ---------------------------------------------------------
+//
+CProcessorBase::CProcessorBase( CReaderBase* aFileReader,
+                                RCmManagerExt& aCmManager,
+                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                RPointerArray< HBufC >& aPluginNames ) :
+        iFileReader( aFileReader ), 
+        iProxyEnabled( EFalse ),
+        iIsProtected( EFalse )
+    {
+    iCmManager = &aCmManager;
+    
+    iPluginArray = &aPluginArray;
+    iPluginName = &aPluginNames;
+    }
+
+
+CProcessorBase::CProcessorBase( CReaderBase* aFileReader,
+                        RCmManagerExt& aCmManager,
+                        RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                        RPointerArray< HBufC >& aPluginNames,
+                        RPointerArray< RCmDestinationExt >& aDestArray,
+                        RPointerArray< HBufC >& aDestNames ) :
+        iFileReader( aFileReader ), 
+        iProxyEnabled( EFalse ),
+        iIsProtected( EFalse )
+    {
+    iCmManager = &aCmManager;
+    
+    iPluginArray = &aPluginArray;
+    iPluginName = &aPluginNames;
+    
+    iDestArray = &aDestArray;
+    iDestName = &aDestNames;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorBase::~CProcessorBase
+// Destructor.
+// ---------------------------------------------------------
+//
+CProcessorBase::~CProcessorBase()
+    {
+    iPlugin.Close();
+    if( iName )
+        {
+        delete iName;
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorBase::ParseFileL
+// ---------------------------------------------------------
+//
+//PseudoCode:
+// 0010 locates the next access point within the text file
+// 0020 parses the location and reads the input data to TagContainer
+// 0030 from TagContainer creates Access Point Item Object
+// 0040 using the Access Point Item Object creates a new AP record in CommsDat
+// 0050 clears TagContainer
+//
+void CProcessorBase::ParseFileL()
+    {
+    //LocateAP : locates the access points within the text file
+    while ( iFileReader->LocateAPL() )
+        {
+        //ParseAPL : parses the location, reads the input data to TagContainer
+        iFileReader->ParseAPL();
+        
+        //from TagContainer creates Access Point Item Object
+        ProcessTagL( iFileReader->FieldIDPresent() );
+                
+        //adds the Access Point Item Object to CommsDB
+        ProcessAPL();
+            
+        //clear TagContainer
+        TagContainer().Clear();
+            
+        }//while    
+        
+    CLOG_WRITE( "---------------------\n" )
+    }
+
+// ---------------------------------------------------------
+// CProcessorPacketData::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorBase::ProcessTagL( TBool /*aFieldIDPresent*/ )
+    {
+    iProxyEnabled= EFalse;
+    iIsProtected = EFalse;
+
+    Reset();
+    TInt aCMId = -1;
+    for ( TInt idx(0); idx < TagContainer().Count(); idx++)
+        {
+        if ( TagContainer().FieldId( idx ) == ECmId)
+            {
+            HBufC16* ptrTag = TagContainer().Tag(idx);
+            TLex16 lex(ptrTag->Des());
+            TInt err = lex.Val(aCMId);
+            if (err != KErrNone)
+                {
+                User::Leave(err);    
+                }
+            break;
+            }
+        }
+    if (aCMId == -1)
+        {
+        iPlugin = iCmManager->CreateConnectionMethodL( iBearerType );        
+        CLOG_WRITE( "ConnectionMethod created without ECmId.");
+        }
+    else
+        {
+        iPlugin = iCmManager->CreateConnectionMethodL( iBearerType, aCMId);        
+        CLOG_WRITE_FORMAT( "ConnectionMethod created. ECmId:%d", aCMId);
+        }
+     
+    for ( TInt idx(0); idx < TagContainer().Count(); idx++)
+        {
+        HBufC16* ptrTag = TagContainer().Tag(idx);
+        TInt field =  TagContainer().FieldId( idx );
+
+        TBool processed = SetGeneralFieldL( field, ptrTag );
+        if( !processed )
+            {
+            ProcessSpecialFieldsL( field, ptrTag, idx );
+            }
+        }
+        
+    AddToPluginArrayL();
+    
+    }
+
+// --------------------------------------------------------
+// CProcessorBase::TagContainer()
+// --------------------------------------------------------
+CTagContainer& CProcessorBase::TagContainer()
+    {
+    return iFileReader->TagContainer();    
+    }
+
+
+// --------------------------------------------------------
+// CProcessorBase::AddToPluginArrayL()
+// --------------------------------------------------------
+void CProcessorBase::AddToPluginArrayL()
+    {
+    if( !iName )
+        {
+        CLOG_WRITE( "Error: No plugin name !!!" )
+        }    
+    else
+        {
+        const RCmConnectionMethodExt* newItem = new (ELeave) 
+                RCmConnectionMethodExt( iPlugin );
+    
+        iPluginArray->Append( newItem );
+        iPluginName->Append( iName->AllocL() );
+        
+        delete iName;
+        iName = NULL;
+        
+        iPlugin.Close();
+        }
+    }
+
+// --------------------------------------------------------
+// CProcessorBase::GetLastPluginL()
+// --------------------------------------------------------
+RCmConnectionMethodExt& CProcessorBase::GetLastPluginL()
+    {
+    return GetPluginL( PluginCount() - 1 );
+                
+    }    
+
+// --------------------------------------------------------
+// CProcessorBase::GetPluginL()
+// --------------------------------------------------------
+RCmConnectionMethodExt& CProcessorBase::GetPluginL( TInt aPos )
+    {
+
+    return *(iPluginArray->operator[]( aPos ));
+                
+    }    
+
+// --------------------------------------------------------
+// CProcessorBase::PluginCount()
+// --------------------------------------------------------
+TInt CProcessorBase::PluginCount()
+    {
+
+    return iPluginArray->Count();
+                
+    }    
+
+// ---------------------------------------------------------
+// CProcessorBase::FindDestinationL
+// ---------------------------------------------------------
+//
+RCmDestinationExt* CProcessorBase::FindDestinationL( HBufC* aName )
+    {
+    for( TInt i(0); i < iDestName->Count(); i++ )
+        {
+        HBufC *name = (*iDestName)[i];
+        if( aName->Compare( *name  ) == 0 )
+            {
+            return (*iDestArray)[ i ];
+            }
+        }
+    CLOG_WRITE_FORMAT("Warning: Destination not found: %S", aName );
+    return NULL;
+    }
+
+// ---------------------------------------------------------
+// CProcessorBase::GetDestinationIdL
+// ---------------------------------------------------------
+//
+TInt CProcessorBase::GetDestinationIdL( HBufC16* aName )
+    {
+    RCmDestinationExt* dest = FindDestinationL( aName );
+    
+    TInt ret( KErrNotFound );
+    if( dest != NULL )
+        {
+        ret = dest->Id();
+        }
+        
+    return ret;    
+    }
+
+// ---------------------------------------------------------
+// CProcessorBase::FindPluginL
+// ---------------------------------------------------------
+// 
+RCmConnectionMethodExt* CProcessorBase::FindPluginL( HBufC* aName )
+    {
+    TInt pos;
+    return FindPluginL( aName, pos );
+    } 
+ 
+// ---------------------------------------------------------
+// CProcessorBase::FindPluginL
+// ---------------------------------------------------------
+//
+RCmConnectionMethodExt* CProcessorBase::FindPluginL( HBufC* aName, TInt& aPos )
+    {
+    RCmConnectionMethodExt* ret( NULL );
+    
+    aPos = CheckPluginName( aName );
+    if ( aPos != KErrNotFound )
+        {
+        ret = (*iPluginArray)[ aPos ];
+        }
+    else
+        {
+        CLOG_WRITE_FORMAT("Warning: Connection method not found: %S", aName );
+        }
+
+    return ret;
+    }
+
+// ---------------------------------------------------------
+// CProcessorBase::CheckPluginName
+// ---------------------------------------------------------
+//
+TInt CProcessorBase::CheckPluginName( HBufC* aName )
+    {
+    TInt ret( KErrNotFound );
+    
+    for( TInt i = 0; i < iPluginName->Count() && ret == KErrNotFound; i++ )
+        {
+        HBufC *name = (*iPluginName)[i];
+        if( aName->Compare( *name  ) == 0 )
+            {
+            ret = i;
+            }
+        }
+    return ret;
+    }
+
+
+
+// ---------------------------------------------------------
+// CProcessorBase::GetPluginIdL
+// ---------------------------------------------------------
+//
+TInt CProcessorBase::GetPluginIdL( HBufC16* aName )
+    {
+    RCmConnectionMethodExt* cm = FindPluginL( aName );
+    
+    TInt ret( KErrNotFound );
+    if( cm != NULL )
+        {
+        ret = cm->GetIntAttributeL( CMManager::ECmIapId );
+        }
+        
+    return ret;    
+    }
+
+    
+// ---------------------------------------------------------
+// CProcessorBase::ProcessAPL
+// ---------------------------------------------------------
+//
+void CProcessorBase::ProcessAPL()
+    {
+    RCmConnectionMethodExt& plugin = GetLastPluginL();
+    if( iIsProtected )
+        {
+        plugin.SetBoolAttributeL( ECmProtected, ETrue );
+        }
+        
+    // Writes into the log file.
+    DoLogL();
+    }
+    
+// ---------------------------------------------------------
+// CProcessorBase::ProcessAPL
+// ---------------------------------------------------------
+//
+TBool CProcessorBase::SetGeneralFieldL( TInt aField, HBufC* aPtrTag )
+    {
+    TBool processed( ETrue );
+    switch( aField )
+        {
+        case ECmName:     
+            {
+            // If input is not empty
+            if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
+                {
+                TInt pos = CheckPluginName( aPtrTag );
+                if( pos != KErrNotFound )
+                    {
+                    CLOG_WRITE_FORMAT("Warning: plugin exist. It might be renamed ! : %S", aPtrTag );
+                    }
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                if( !iName )
+                    {
+                    iName = aPtrTag->AllocL();
+                    }
+                }
+            break;
+            }
+        case ECmStartPage:
+            {
+            // If input is not empty
+            if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
+                {
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                }
+            break;
+            }
+        case ECmHidden:              //fall through
+        case ECmMetaHiddenAgent:     //fall through
+        case ECmMetaHighlight:       //fall through
+            {
+            if( aPtrTag->CompareF( KStrNo ) == 0 )
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else if( aPtrTag->CompareF( KStrYes ) == 0 )
+                {
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                switch ( aField )
+                    {
+                    case ECmHidden:
+                        CLOG_WRITE( "! Error : Invalid Hidden. Default:No");
+                        break;
+                    case ECmMetaHiddenAgent:
+                        CLOG_WRITE( "! Error : Invalid HiddenAgent. Default:No");
+                        break;
+                    case ECmMetaHighlight:
+                        CLOG_WRITE( "! Error : Invalid Highlight. Default:No");
+                        break;
+                    }
+                }
+            break;
+            }
+        case ECmSeamlessnessLevel:
+            {
+            if ( aPtrTag->CompareF( KStrNotRoamedTo ) == 0 )
+                {
+                iPlugin.SetIntAttributeL( aField,
+                                        CMManager::ESeamlessnessNotRoamedTo );
+                }
+            else if ( aPtrTag->CompareF( KStrConfirmFirst ) == 0 )
+                {
+                iPlugin.SetIntAttributeL( aField,
+                                        CMManager::ESeamlessnessConfirmFirst );
+                }
+            else if ( aPtrTag->CompareF( KStrShowProgress ) == 0 )
+                {
+                iPlugin.SetIntAttributeL( aField,
+                                        CMManager::ESeamlessnessShowprogress );
+                }
+            else if ( aPtrTag->CompareF( KStrFullySeamless ) == 0 )
+                {
+                iPlugin.SetIntAttributeL( aField,
+                                        CMManager::ESeamlessnessFullySeamless );
+                }
+            break;
+            }
+            
+        case ECmProtected:
+            {
+            // Protection
+            if ( aPtrTag->CompareF( KStrYes ) == 0 )
+                {
+                iIsProtected = ETrue;
+                }
+            else if ( aPtrTag->CompareF( KStrNo ) != 0 )
+                {
+                CLOG_WRITE( "! Error : Invalid Protected value. Default:No" )
+                }
+            break;
+            }
+            
+        default:
+            {
+            processed = EFalse;
+            }        
+        }
+        
+    return processed;
+    }
+
+// ---------------------------------------------------------
+// CProcessorBase::DoLogL
+// ---------------------------------------------------------
+//
+
+void CProcessorBase::DoLogL()
+    {
+    
+    TInt lastPos = iPluginArray->Count() - 1;
+    
+    CLOG_WRITE( "Internet Access Point created:" )
+    CLOG_WRITE_FORMAT( "\t Connection name: %S ", (*iPluginName)[ lastPos ] );
+    
+    if ( iIsProtected )
+        {
+        CLOG_WRITE( "\t Protected" )
+        }
+    else
+        {
+        CLOG_WRITE( "\t Not protected" )
+        }
+    }
+// ---------------------------------------------------------
+// CProcessorBase::SetAddressFromServerL
+// ---------------------------------------------------------
+//
+
+void CProcessorBase::SetAddressFromServerL( TInt aIPField1, 
+                                           TInt aIPField2, 
+                                           TInt aAddrFromSField,
+                                           TInt aIPField1IP6,
+                                           TInt aIPField2IP6,
+                                           TInt aAddrFromSFieldIP6 )
+    {
+        //calculate and set Ip6AddrFromServer
+        HBufC *pIp1 = NULL;        
+        HBufC *pIp2 = NULL;        
+        pIp1 = iPlugin.GetStringAttributeL( aIPField1IP6 );
+        CleanupStack::PushL( pIp1 );
+        pIp2 = iPlugin.GetStringAttributeL( aIPField2IP6 );
+        CleanupStack::PushL( pIp2 );
+        _LIT( KDynIpv6Address, "0:0:0:0:0:0:0:0" );
+        if ( ( pIp1->Compare( KDynIpv6Address ) == 0 ) &&
+             ( pIp2->Compare( KDynIpv6Address ) == 0 ) )
+            {
+            iPlugin.SetBoolAttributeL( aAddrFromSFieldIP6, ETrue );
+            }
+        else
+            {
+            iPlugin.SetBoolAttributeL( aAddrFromSFieldIP6, EFalse );
+            }
+        CleanupStack::PopAndDestroy( 2,pIp1 );
+
+        //calculate and set AddrFromServer
+        pIp1 = iPlugin.GetStringAttributeL( aIPField1 );
+        CleanupStack::PushL( pIp1 );
+        pIp2 = iPlugin.GetStringAttributeL( aIPField2 );
+        CleanupStack::PushL( pIp2 );    
+        _LIT( KDynIpAddress, "0.0.0.0" );
+        if ( ( pIp1->Compare( KDynIpAddress ) == 0 ) &&
+             ( pIp2->Compare( KDynIpAddress ) == 0 ) )
+            {
+            iPlugin.SetBoolAttributeL( aAddrFromSField, ETrue );
+            }
+        else
+            {
+            iPlugin.SetBoolAttributeL( aAddrFromSField, EFalse );
+            }
+        CleanupStack::PopAndDestroy( 2,pIp1 );        
+    }
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessordn.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,460 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorDN
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcprocessordn.h"
+#include "cdclogger.h"
+#include "cdctagcontainer.h"
+
+using namespace CMManager;
+
+// CONSTANTS
+
+_LIT16( KDefaultDestinationName, "Default destination" );
+//_LIT16( KMetadataUserDefined, "UserDefined" );
+//_LIT16( KMetadataInternet, "Internet" );
+
+// constants for TSnapPurpose
+_LIT16( KPurposeUnknown, "UserDefined" );
+_LIT16( KPurposeInternet, "Internet" );
+_LIT16( KPurposeOperator, "Operator" );
+_LIT16( KPurposeMMS, "MMS" );
+_LIT16( KPurposeIntranet, "Intranet" ); 
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CProcessorDN::NewL
+// ---------------------------------------------------------
+//
+CProcessorDN* CProcessorDN::NewL( CReaderBase* aFileReader,
+                                  RCmManagerExt& aCmManager,
+                                  RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                  RPointerArray< HBufC >& aPluginNames, 
+                                  RPointerArray< RCmDestinationExt >& aDestArray,
+                                  RPointerArray< HBufC >& aDestNames,
+                                  RArray<TBool>& aCmInDest,
+                                  TBool aIsFirstRound )
+    {
+    CProcessorDN* self = new ( ELeave ) CProcessorDN( aFileReader,
+                                                      aCmManager,
+                                                      aPluginArray,
+                                                      aPluginNames,
+                                                      aDestArray,
+                                                      aDestNames,
+                                                      aCmInDest,
+                                                      aIsFirstRound );
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorDN::~CProcessorDN
+// ---------------------------------------------------------
+//
+CProcessorDN::~CProcessorDN()
+    {
+    iDestination.Close();
+    }
+     
+     
+// ---------------------------------------------------------
+// CProcessorDN::ConstructL
+// ---------------------------------------------------------
+//
+void CProcessorDN::ConstructL()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorDN::CProcessorDN
+// ---------------------------------------------------------
+//
+CProcessorDN::CProcessorDN( CReaderBase* aFileReader,
+                            RCmManagerExt& aCmManager,
+                            RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                            RPointerArray< HBufC >& aPluginNames, 
+                            RPointerArray< RCmDestinationExt >& aDestArray,
+                            RPointerArray< HBufC >& aDestNames,
+                            RArray< TBool >& aCmInDest, 
+                            TBool aIsFirstRound ) :
+                                      CProcessorBase( aFileReader,
+                                                      aCmManager,
+                                                      aPluginArray,
+                                                      aPluginNames,
+                                                      aDestArray,
+                                                      aDestNames ),
+                                      iProtectionLevel( EProtLevel0 ),
+                                      iIsFirstRound( aIsFirstRound )
+    {
+    iCmInDest = &aCmInDest;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorDN::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorDN::ProcessTagL( TBool /*aFieldIDPresent*/ )
+    {
+    
+    iDestinationDropped = EFalse;
+    
+    iProtectionLevel = EProtLevel0;
+    
+    if( iIsFirstRound )
+        {
+        TInt dnId = -1;
+        for ( TInt idx(0); idx < TagContainer().Count(); idx++)
+            {
+            if ( TagContainer().FieldId( idx ) == EDN_Id )
+                {
+                HBufC16* ptrTag = TagContainer().Tag(idx);
+                TLex16 lex(ptrTag->Des());
+                TInt err = lex.Val(dnId);
+                if (err != KErrNone)
+                    {
+                    CLOG_WRITE( "The destinaton Id field is bad.");
+                    User::Leave(err);    
+                    }
+                break;
+                }
+            }
+        if (dnId == -1)
+            {
+            iDestination = iCmManager->CreateDestinationL( KDefaultDestinationName );        
+            CLOG_WRITE( "Destinaton created without dnId.");
+            }
+        else
+            {
+            iDestination = iCmManager->CreateDestinationL( KDefaultDestinationName, dnId);        
+            CLOG_WRITE_FORMAT( "Destinaton created. dnId:%d", dnId);
+            }
+        }
+        
+    HBufC *destName( NULL );
+    TInt priority = 0;
+    RPointerArray<HBufC> names;
+    
+    for (TInt idx(0); idx < TagContainer().Count(); idx++)
+        {
+        HBufC16* ptrTag = TagContainer().Tag(idx);
+        TInt field =  TagContainer().FieldId( idx );
+        
+        if( iIsFirstRound && !iDestinationDropped )
+            {
+            switch ( field )
+                {
+                case EDN_Name:
+                    {
+                    // If more destinations exist with same name then one is kept
+                    TRAPD( err, iDestination.SetNameL( *ptrTag ) );
+                    if( KErrAlreadyExists == err )
+                        {
+                        CLOG_WRITE_FORMAT( 
+                        "Error: Destination exist: %S. It is dropped!", ptrTag )
+                        CLOG_WRITE( "\t \r\n" )
+                        iDestinationDropped = ETrue;
+                        }
+                    else
+                        {
+                        destName = ptrTag->AllocLC();    
+                        }
+                    }
+                break;
+                case EDN_Metadata:
+                    {
+                    if( !ptrTag->Compare( KPurposeUnknown ) )
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataPurpose, 
+                                                   ESnapPurposeUnknown );
+                        }
+                    else if( !ptrTag->Compare( KPurposeInternet ) )
+                        {
+                        iDestination.SetMetadataL( 
+                            ESnapMetadataPurpose, 
+                            ESnapPurposeInternet );
+                        }
+                    else if( !ptrTag->Compare( KPurposeOperator ) )
+                        {
+                        iDestination.SetMetadataL( 
+                            ESnapMetadataPurpose, 
+                            ESnapPurposeOperator );
+                        }
+                    else if( !ptrTag->Compare( KPurposeMMS ) )
+                        {
+                        iDestination.SetMetadataL( 
+                            ESnapMetadataPurpose, 
+                            ESnapPurposeMMS );
+                        }
+                    else if( !ptrTag->Compare( KPurposeIntranet ) )
+                        {
+                        iDestination.SetMetadataL( 
+                            ESnapMetadataPurpose, 
+                            ESnapPurposeIntranet );
+                        }
+                    else
+                        {
+                        //no valid data is given - use default value
+                        iDestination.SetMetadataL( ESnapMetadataPurpose, 
+                                                   ESnapPurposeUnknown );
+                        CLOG_WRITE( "! Error : Invalid Metadata. Default:User Defined");
+                        }
+                    }
+                break;
+                case EDN_Protection:
+                    {
+                    TPtrC16 protPtr = ptrTag->Right( ptrTag->Length() );
+                    TLex16 lex( protPtr );
+                    TUint32 prot( 0 );
+                    if ( lex.Val( prot, EDecimal ) == KErrNone )
+                        {
+                        if( prot <= EProtLevel3 ) // prot is unsigned so no need
+                                                  // to check lower boundary
+                            {
+                            iProtectionLevel = TProtectionLevel( prot );
+                            }
+                        else
+                            {
+                            //no valid data is given - use default value
+                            iProtectionLevel = EProtLevel0;
+                            CLOG_WRITE( "! Error : Invalid Protection level. Default:Level0");
+                            }
+                        }
+                    }
+                break;
+                case EDN_Hidden:
+                    {
+                    if( !ptrTag->Compare( KStrYes ) )
+                        {
+                        iDestination.SetHiddenL( ETrue );
+                        }
+                    else if( !ptrTag->Compare( KStrNo ) )
+                        {
+                        iDestination.SetHiddenL( EFalse );
+                        }
+                    else
+                        {
+                        //no valid data is given - use default value
+                        iDestination.SetHiddenL( EFalse );
+                        CLOG_WRITE( "! Error : Invalid Hidden. Default:No");
+                        }
+                    }
+                break;
+                case EDN_HiddenAgent:
+                    {
+                    if( !ptrTag->Compare( KStrYes ) )
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataHiddenAgent, ETrue );
+                        }
+                    else if( !ptrTag->Compare( KStrNo ) )
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataHiddenAgent, EFalse );
+                        }
+                    else
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataHiddenAgent, EFalse );
+                        //no valid data is given - use default value
+                        CLOG_WRITE( "! Error : Invalid HiddenAgent. Default:No");
+                        }
+                    }
+                break;
+                case EDN_Highlighted:
+                    {
+                    if( !ptrTag->Compare( KStrYes ) )
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataHighlight, ETrue );
+                        }
+                    else if( !ptrTag->Compare( KStrNo ) )
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataHighlight, EFalse );
+                        }
+                    else
+                        {
+                        iDestination.SetMetadataL( ESnapMetadataHighlight, EFalse );
+                        //no valid data is given - use default value
+                        CLOG_WRITE( "! Error : Invalid Highlighted. Default:No");
+                        }
+                    }
+                break;
+                } // switch
+            } // if
+         else if( !iIsFirstRound && !iDestinationDropped )
+            {
+            switch ( field )
+                {
+                case EDN_Name:
+                 {
+                 iDest = FindDestinationL( ptrTag );
+                 if( iDest == NULL )
+                     {
+                     CLOG_WRITE_FORMAT( "Error: Destination not found: %S ", ptrTag )
+                     iDestinationDropped = ETrue;
+                     }
+                 else
+                     {
+                     CLOG_WRITE_FORMAT( "\t Destination name: %S ", ptrTag )
+                     }
+                 }
+                break;
+            case EDN_IAPName:
+                   {
+                   TInt pos;
+                   RCmConnectionMethodExt* plugin = FindPluginL( ptrTag, pos );
+                   if( plugin )
+                        {
+                        TRAPD( err, iDest->AddConnectionMethodL( *plugin ) );
+                        // Set the priority according to the order in which the IAPs are in the XML
+                        TRAPD( err2 ,iDest->ModifyPriorityL( *plugin, priority ));
+                        if ( err2 != KErrNone )
+                        	{
+                        	err2 = KErrNone; // to remove the compiler warnings
+                        	}
+                        
+                        iDest->UpdateL();
+                        priority++;
+                        
+                        if( err == KErrNone )
+                            {
+                            CLOG_WRITE_FORMAT( "\t Added connection method: %S ", ptrTag )
+                            (*iCmInDest)[ pos ] = ETrue;
+                            }
+                        else
+                            {
+                            CLOG_WRITE_FORMAT( 
+                            "Warning connection method could not added: %S ", ptrTag )
+                            }
+                        }
+                     else
+                        {
+                        CLOG_WRITE_FORMAT( 
+                        "Warning: plugin could not added: %S ", ptrTag )
+                        }                       
+                   }
+                break;
+            case EDN_EmbeddedDNName:
+                    {
+                    const RCmDestinationExt* embDestination = FindDestinationL( ptrTag );
+                    if( embDestination )
+                        {
+                    
+                        TRAPD( err, iDest->AddEmbeddedDestinationL( *embDestination ) );
+                    
+                        if( err == KErrNone )
+                            {
+                            CLOG_WRITE_FORMAT( "\t Added embedded destination: %S ", ptrTag )
+                            }
+                        else
+                            {
+                            CLOG_WRITE_FORMAT( 
+                            "Warning embedded destination could not added: %S ", ptrTag )
+                            }
+                        }
+                     else
+                        {
+                        CLOG_WRITE_FORMAT( 
+                        "Warning embedded destination could not added: %S ", ptrTag )
+                        }
+                        
+                    }
+                break;
+            default:
+                {
+                break;
+                }
+              } // switch
+                
+            } // if
+            
+        }//for      
+    
+        if( iIsFirstRound && !iDestinationDropped )
+            {
+            RCmDestinationExt* newItem = new (ELeave) 
+            RCmDestinationExt( iDestination );
+    
+            iDest = newItem;
+
+            iDestArray->Append( newItem );
+            iDestName->Append( destName );
+            CleanupStack::Pop( destName );
+            }        
+    }
+     
+     
+// ---------------------------------------------------------
+// CProcessorDN::ProcessAPL
+// ---------------------------------------------------------
+//
+void CProcessorDN::ProcessAPL()
+    {
+    if( !iDestinationDropped )
+        {
+        if( iDest )
+            {
+            if( iIsFirstRound )
+                {
+                iDest->SetProtectionL( iProtectionLevel );
+                }
+            iDest->UpdateL();
+            
+            if( iIsFirstRound )
+                {
+                DoLogL();
+                }
+            else
+                {
+                CLOG_WRITE( "\t \r\n" )
+                }
+            }
+        }
+    }
+    
+
+// ---------------------------------------------------------
+// CProcessorDN::DoLogL
+// ---------------------------------------------------------
+//
+void CProcessorDN::DoLogL()
+    {
+    HBufC16* tmp;
+
+    tmp = iDestination.NameLC();
+
+    // Writes some data of the destination network into the log file.
+    CLOG_WRITE( "Destination Network created:" )
+    CLOG_WRITE_FORMAT( "\t Destination name: %S ", tmp )
+    TUint32 uid = iDest->Id();
+    CLOG_WRITE_FORMAT( "\t Destination ID: %d", uid );
+
+    CLOG_WRITE( "\t \r\n" )
+
+    CleanupStack::PopAndDestroy( tmp ); // Removes tmp.
+    }
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessorglobal.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,735 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorGlobal
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdclogger.h"
+#include "cdcerrors.h"
+#include "cdctagcontainer.h"
+#include "cdccommon.h"
+#include "cmgenconnsettings.h"
+#include "cdcprocessorglobal.h"
+
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS
+#include <commsdattypesv1_1.h>
+#else
+#include <commsdattypesv1_1.h>
+#include <commsdattypesv1_1_partner.h>
+#endif
+#include <datamobilitycommsdattypes.h>
+#include <metadatabase.h>
+#include <cmmanagerext.h>
+#include <cmmanager.h>
+#include <cmdestinationext.h>
+#include <WlanCdbCols.h>
+#include <wlancontainer.h>
+#include <featmgr.h>
+
+// CONSTANTS
+
+// Global settings record name
+_LIT16( KGlobalSettingsRecordName, "DefaultRecordName-1" );
+
+// Default GPRS record name
+_LIT( KDefaultGPRSRecordName, "Dummy Default GPRS Settings" );
+
+// Modem bearer names for GPRS/WCDMA Access Points
+_LIT( KModemBearerPacketData, "GPRS Modem" );
+
+// LAN bearer names for Wlan Access Points
+_LIT( KLANBearerWlan, "WLANBearer" );
+
+
+// Structure that converts field ids to the corresponding table names
+// and parameter types
+typedef struct
+    {
+    TDbCreatorGlobalSettings iField;
+    const TText* iBearerTableName;
+    TBool iIsUIPriority;
+    } TPriorityConversion;
+
+const TPriorityConversion KPriorityConversionTable[] =
+    {
+        { EPriorityLan, KCDTypeNameLANService, EFalse },
+        { EPriorityWlan, KCDTypeNameWLANServiceExt, EFalse },
+        { EPriorityPan, KCDTypeNamePANServiceExt, EFalse },
+        { EPriorityGprsIn, KCDTypeNameOutgoingWCDMA, EFalse },
+        { EPriorityGprsOut, KCDTypeNameIncomingWCDMA, EFalse },
+        { EPriorityDialOut, KCDTypeNameDialOutISP, EFalse },
+        { EPriorityDialIn, KCDTypeNameDialInISP, EFalse },
+        { EPriorityVpn, KCDTypeNameVPNService, EFalse },
+        { EPriorityMip, KCDTypeNameMIPServiceExt, EFalse },
+        { EUIPriorityLan, KCDTypeNameLANService, ETrue },
+        { EUIPriorityWlan, KCDTypeNameWLANServiceExt, ETrue },
+        { EUIPriorityPan, KCDTypeNamePANServiceExt, ETrue },
+        { EUIPriorityGprsIn, KCDTypeNameOutgoingWCDMA, ETrue },
+        { EUIPriorityGprsOut, KCDTypeNameIncomingWCDMA, ETrue },
+        { EUIPriorityDialOut, KCDTypeNameDialOutISP, ETrue },
+        { EUIPriorityDialIn, KCDTypeNameDialInISP, ETrue },
+        { EUIPriorityVpn, KCDTypeNameVPNService, ETrue },
+        { EUIPriorityMip, KCDTypeNameMIPServiceExt, ETrue },
+        { EUnused, NULL, EFalse }
+    };
+
+
+// Maximum size to be allocated for table names
+const TUint KMaxTableNameSize = 50;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CProcessorGlobal::NewL
+// ---------------------------------------------------------
+//
+CProcessorGlobal* CProcessorGlobal::NewL( 
+                          CReaderBase* aFileReader,
+                          RCmManagerExt& aCmManager,
+                          RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                          RPointerArray< HBufC >& aPluginNames, 
+                          RPointerArray< RCmDestinationExt >& aDestArray,
+                          RPointerArray< HBufC >& aDestNames )
+    {
+    CProcessorGlobal* self = new ( ELeave ) CProcessorGlobal( aFileReader,
+                                                              aCmManager,
+                                                              aPluginArray,
+                                                              aPluginNames,
+                                                              aDestArray,
+                                                              aDestNames );
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    
+    return self;
+    }
+
+// ---------------------------------------------------------
+// CProcessorGlobal::CProcessorGlobal
+// ---------------------------------------------------------
+//
+CProcessorGlobal::CProcessorGlobal( CReaderBase* aFileReader,
+                                    RCmManagerExt& aCmManager,
+                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                    RPointerArray< HBufC >& aPluginNames, 
+                                    RPointerArray< RCmDestinationExt >& aDestArray,
+                                    RPointerArray< HBufC >& aDestNames ) :
+    CProcessorBase( aFileReader, aCmManager, aPluginArray, aPluginNames, aDestArray, aDestNames ),
+    iAttachWhenNeeded ( EFalse )
+    {
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorGlobal::ConstructL
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::ConstructL()
+    {
+    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    
+    iSession->SetAttributeMask( ECDNoWriteButDelete | ECDHidden | ECDProtectedWrite | ECDPrivate ); // Check this
+    
+    // Create General connection settings struct and set the default values
+    iGenConnSettings = new (ELeave) TCmGenConnSettings;
+    iGenConnSettings->iUsageOfWlan = ECmUsageOfWlanKnown;
+    iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageAutomatic;
+    iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageConfirm;
+
+    CLOG_WRITE( "Initialising FeatureManager\n" )   
+    //checks if Wlan feature is supported
+    FeatureManager::InitializeLibL();
+    iIsWlanS = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
+    FeatureManager::UnInitializeLib();
+    CLOG_WRITE( "FeatureManager closed\n" ) 
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorGlobal::~CProcessorGlobal
+// ---------------------------------------------------------
+//
+CProcessorGlobal::~CProcessorGlobal()
+    {
+    if ( iSession )
+        {
+        iSession->Close();
+        delete iSession; 
+        }
+    delete iGenConnSettings;    
+    }
+     
+// ---------------------------------------------------------
+// CProcessorGlobal::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::ProcessTagL( TBool /*aFieldIDPresent*/ )
+    {
+    for (TInt idx(0); idx < TagContainer().Count(); idx++)
+        {  
+        TDbCreatorGlobalSettings fieldId;
+        
+        fieldId = static_cast< TDbCreatorGlobalSettings >
+        ( TagContainer().FieldId( idx ) );
+        
+        HBufC16* ptrTag = TagContainer().Tag(idx);
+        
+        switch( fieldId )
+            {
+            case EGPRSAttachMode:
+                {
+                _LIT( KAttachWhenNeeded, "whenneeded" );
+                _LIT( KAttachWhenAvailable, "whenavailable" );
+                
+                if ( !ptrTag->CompareF( KAttachWhenNeeded ) )
+                    {
+                    iAttachWhenNeeded = ETrue;
+                    }
+                else if ( !ptrTag->CompareF( KAttachWhenAvailable ) )
+                    {
+                    iAttachWhenNeeded = EFalse;
+                    }
+                else 
+                    {
+                    iAttachWhenNeeded = EFalse;
+                    CLOG_WRITE( "! Error : invalid attach mode. Default:whenavailable" );
+                    }
+
+                break;
+                }
+                
+            case EDefaultAP:
+                {
+                CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
+                CleanupStack::PushL( db );
+                
+                CCDDefaultWCDMARecord* defaultGPRS = static_cast< CCDDefaultWCDMARecord* >
+                        ( CCDRecordBase::RecordFactoryL( KCDTIdDefaultWCDMARecord ) );
+                
+                CleanupStack::PushL( defaultGPRS );
+                
+                defaultGPRS->iRecordName.SetL( KDefaultGPRSRecordName );
+                
+                defaultGPRS->FindL( *db );			    
+                
+                defaultGPRS->iAPN.SetL( *ptrTag );
+                
+                defaultGPRS->ModifyL( *db );				    				    				   
+                
+                CleanupStack::PopAndDestroy( defaultGPRS );
+                
+                db->Close();			    			    
+                CleanupStack::PopAndDestroy( db );
+                break;
+                }
+                
+            case EDefaultDnIcon:
+                {
+                // Convert default icon to int
+                TPtrC16 iconPtr = ptrTag->Right( ptrTag->Length() );
+                TLex16 lex( iconPtr );
+                TUint32 icon( 0 );
+                if ( lex.Val( icon, EDecimal ) == KErrNone )
+                    {
+                    // If there was no error, write default entry to SNAP
+                    // Metadata table.
+                    // First load SNAP table to get table id
+                    CMDBGenericRecord* snapTable = static_cast< CMDBGenericRecord* >
+                            ( CCDRecordBase::RecordFactoryL( 0 ) );
+                    CleanupStack::PushL( snapTable );      
+                    snapTable->InitializeL( TPtrC( KCDTypeNameSNAPMetadata ),
+                            NULL );
+                    snapTable->LoadL( *iSession );
+                    // Then add default record to table
+                    CCDSNAPMetadataRecord* defaultRecord = new( ELeave )
+                            CCDSNAPMetadataRecord( snapTable->TableId() );
+                    CleanupStack::PushL( defaultRecord );
+                    defaultRecord->SetRecordId( KCDNewRecordRequest );
+                    defaultRecord->iMetadata.SetL( 0 );
+                    defaultRecord->iIcon.SetL( icon );
+                    defaultRecord->StoreL( *iSession );
+                    
+                    CleanupStack::PopAndDestroy( defaultRecord ); // defaultRecord
+                    CleanupStack::PopAndDestroy( snapTable ); // snapTable
+                    }
+                break;
+                }
+                
+            case EPriorityLan:
+            case EPriorityWlan:
+            case EPriorityPan:
+            case EPriorityGprsIn:
+            case EPriorityGprsOut:
+            case EPriorityDialOut:
+            case EPriorityDialIn:
+            case EPriorityVpn:
+            case EPriorityMip:
+            case EUIPriorityLan:
+            case EUIPriorityWlan:
+            case EUIPriorityPan:
+            case EUIPriorityGprsIn:
+            case EUIPriorityGprsOut:
+            case EUIPriorityDialOut:
+            case EUIPriorityDialIn:
+            case EUIPriorityVpn:
+            case EUIPriorityMip:
+                {
+                // Convert priority to int
+                TPtrC16 prioPtr = ptrTag->Right( ptrTag->Length() );
+                TLex16 lex( prioPtr );
+                TUint32 prio( 0 );
+                if ( lex.Val( prio, EDecimal ) == KErrNone )
+                    {
+                    UpdateGlobalBearerArrayL( fieldId, prio );
+                    }
+                break;
+                }
+                
+            case EGprsLastSocketActivityTimeout:
+            case EGprsLastSessionClosedTimeout:
+            case EGprsLastSocketClosedTimeout:		
+                {            				    
+                // Load modem bearer record
+                CCDModemBearerRecord* bearerRecord = static_cast< CCDModemBearerRecord * >
+                ( CCDRecordBase::RecordFactoryL( KCDTIdModemBearerRecord ) );
+                CleanupStack::PushL( bearerRecord );
+                
+                if( fieldId == EGprsLastSocketActivityTimeout
+                        || fieldId == EGprsLastSessionClosedTimeout
+                        || fieldId == EGprsLastSocketClosedTimeout )
+                    {
+                    // Open the record "Gprs Modem"
+                    bearerRecord->iRecordName.SetL( KModemBearerPacketData );	
+                    }				
+                
+                bearerRecord->FindL( *iSession ); // CHECK: Leaves if record not found				
+                
+                // Convert input parameter
+                TLex lex( *ptrTag );
+                
+                TInt timeout( 0 );
+                
+                // If there are parameters that cannot be handled just leave. In that case the CommsDat creation
+                // fails and default is used instead. So it is easier for the variant engineer to detect
+                // that something went wrong.
+                if ( lex.Val( timeout ) != KErrNone)
+                    {
+                    CLOG_WRITE( "! Error : invalid NIF parameter for GPRS (socket/session timeout)" );					
+                    User::Leave( KErrArgument );
+                    }
+                
+                // Set the parameter	
+                if( fieldId == EGprsLastSocketActivityTimeout )
+                    {
+                    bearerRecord->iLastSocketActivityTimeout.SetL( timeout );
+                    }
+                else if( fieldId == EGprsLastSessionClosedTimeout )
+                    {
+                    bearerRecord->iLastSessionClosedTimeout.SetL( timeout );
+                    }
+                else
+                    {
+                    bearerRecord->iLastSocketClosedTimeout.SetL( timeout );
+                    }
+                
+                bearerRecord->ModifyL( *iSession );
+                
+                CleanupStack::PopAndDestroy( bearerRecord );
+                
+                break;
+                }
+                
+            case EWlanLastSocketActivityTimeout:
+            case EWlanLastSessionClosedTimeout:
+            case EWlanLastSocketClosedTimeout:            
+                {
+                if( iIsWlanS )
+                    {
+                    // Load LAN bearer record
+                    CCDLANBearerRecord* bearerRecord = static_cast< CCDLANBearerRecord * >
+                    ( CCDRecordBase::RecordFactoryL( KCDTIdLANBearerRecord ) );
+                    CleanupStack::PushL( bearerRecord );
+                    
+                    // Open the record "WlanBearer"
+                    bearerRecord->iRecordName.SetL( KLANBearerWlan );	
+                    
+                    User::LeaveIfError( bearerRecord->FindL( *iSession ) );
+                    
+                    // Convert the input paramater to UINT
+                    TLex lex( *ptrTag );
+                    
+                    TInt timeout( 0 );
+                    
+                    // If there are parameters that cannot be handled just leave. In that case the CommsDat creation
+                    // fails and default is used instead. So it is easier for the variant engineer to detect
+                    // that something went wrong.
+                    if ( lex.Val( timeout ) != KErrNone)
+                        {
+                        CLOG_WRITE( "! Error : invalid NIF parameter for WLAN (socket/session timeout)" );					
+                        User::Leave( KErrArgument );
+                        }
+                    
+                    
+                    // Set the paramter
+                    if( fieldId == EWlanLastSocketActivityTimeout )
+                        {				
+                        bearerRecord->iLastSocketActivityTimeout.SetL( timeout );
+                        }
+                    else if( fieldId == EWlanLastSessionClosedTimeout)
+                        {					
+                        bearerRecord->iLastSessionClosedTimeout.SetL( timeout );
+                        }
+                    else
+                        {					
+                        bearerRecord->iLastSocketClosedTimeout.SetL( timeout );
+                        }
+                    
+                    bearerRecord->ModifyL( *iSession );				
+                    CleanupStack::PopAndDestroy( bearerRecord );
+                    }
+                break;
+                }
+                
+            case EWlanBGScanInterval:
+            case EWlanUseDefSettings:
+            case EWlanLongRetry:
+            case EWlanShortRetry:
+            case EWlanRTS:
+            case EWlanTxPowerLevel:
+            case EWlanRadioMeasurements:
+            case EWlanPowerMode:
+                {
+                if( iIsWlanS )
+                    {
+                    // Save the same value both to default and user settings records
+                    TInt err;
+                    TRAP( err, SaveGlobalWlanParameterL( KWlanDefaultSettings, fieldId, ptrTag ) );
+                    if( err != KErrNone )
+                        {
+                        CLOG_WRITE( "! Error : Could not save global WLAN parameter. Incorrect input?" );
+                        User::Leave( err  );
+                        }
+                    TRAP( err, SaveGlobalWlanParameterL( KWlanUserSettings, fieldId, ptrTag ) );
+                    if( err != KErrNone )
+                        {
+                        CLOG_WRITE( "! Error : Could not save global WLAN parameter. Incorrect input?" );
+                        User::Leave( err );
+                        }
+                    }
+                break;
+                }
+                
+            case EUsageOfWlan:
+                {
+                SetGenConnSettingWlanUsage( ptrTag );
+                break;
+                }
+                
+            case ECellularDataUsageHome:
+                {
+                SetGenConnSettingCellularDataUsageHome( ptrTag );
+                break;
+                }
+                
+            case ECellularDataUsageVisitor:
+                {
+                SetGenConnSettingCellularDataUsageVisitor( ptrTag );
+                break;
+                }
+                
+            default:
+                break;
+            }
+        }
+    
+    if( iBearerArrayChanged )
+        {
+        
+        CLOG_WRITE( "UpdateBearerPriorityArrayL\n" )
+        
+        iCmManager->UpdateBearerPriorityArrayL( iBearerArray );
+        iCmManager->CleanupGlobalPriorityArray( iBearerArray );
+        
+        iBearerArray.Close();
+        
+        CLOG_WRITE( "UpdateBearerPriorityArrayL end\n" )
+        }
+    
+    // General Connection settings are always set
+    SetGenConnSettingsL();
+    }
+
+// ---------------------------------------------------------
+// CProcessorGlobal::ProcessAPL
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::ProcessAPL()
+    {
+    CMDBSession* db = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    CleanupStack::PushL( db );
+                    
+    CLOG_WRITE( "Global settings\n" )
+    CLOG_WRITE( "---------------\n" )
+        
+    CCDGlobalSettingsRecord* globalSettings = static_cast< CCDGlobalSettingsRecord* >
+                        ( CCDRecordBase::RecordFactoryL( KCDTIdGlobalSettingsRecord ) );
+                        
+	CleanupStack::PushL( globalSettings );
+                        
+    globalSettings->iRecordName.SetL( KGlobalSettingsRecordName );
+
+    if( globalSettings->FindL( *db ) )
+        {
+        //Gprs attach mode
+        if ( iAttachWhenNeeded )
+            {
+            CLOG_WRITE( "GPRS attach mode : attach when needed\n" )
+            globalSettings->iGPRSAttachMode = RPacketService::EAttachWhenNeeded;
+            }
+        else
+            {
+            CLOG_WRITE( "GPRS attach mode : attach when available\n" )
+            globalSettings->iGPRSAttachMode = RPacketService::EAttachWhenPossible;
+            }
+        }
+        
+    globalSettings->ModifyL( *db );
+    
+    CleanupStack::PopAndDestroy( globalSettings );    
+    db->Close();
+    CleanupStack::PopAndDestroy( db ); // db
+    }
+    
+
+// ---------------------------------------------------------
+// CProcessorGlobal::UpdateGlobalBearerArrayL
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::UpdateGlobalBearerArrayL
+                            ( TDbCreatorGlobalSettings aField, TUint32 aPrio )
+    {
+    TUint itemIndex( 0 );
+    
+    // Look up field from conversion table
+    while( EUnused != KPriorityConversionTable[ itemIndex ].iField )
+        {
+        if( KPriorityConversionTable[ itemIndex ].iField == aField)
+            {
+            break;
+            }
+        ++itemIndex;
+        }
+        
+    // If found
+    if( EUnused != KPriorityConversionTable[ itemIndex ].iField )
+        {
+        if( !iBearerArrayChanged )
+            {
+            iCmManager->BearerPriorityArrayL( iBearerArray );
+            iBearerArrayChanged = ETrue;
+            }
+        
+        
+        HBufC* tableName = HBufC::NewLC( KMaxTableNameSize );
+        *tableName = TPtrC( KPriorityConversionTable[ itemIndex ]
+                                                        .iBearerTableName );
+        TBool foundBearer( EFalse );
+        
+        // Find the appropriate bearer type
+        for( TInt i( 0 ); i < iBearerArray.Count(); ++i )
+            {
+            if( !( ( iBearerArray )[ i ].iServiceType->Compare( *tableName ) ) )
+                {
+                if( KPriorityConversionTable[ itemIndex ].iIsUIPriority )
+                    {
+                    ( iBearerArray )[ i ].iUIPriority = aPrio;
+                    }
+                else
+                    {
+                    ( iBearerArray )[ i ].iPriority = aPrio;
+                    }
+                foundBearer = ETrue;
+                break;
+                }
+            }
+        
+        // If bearer was not found, add it to the table
+        if( !foundBearer )
+            {
+            TBearerPriority newBearer;
+            newBearer.iServiceType = tableName;
+            if( KPriorityConversionTable[ itemIndex ].iIsUIPriority )
+                {
+                newBearer.iUIPriority = aPrio;
+                }
+            else
+                {
+                newBearer.iPriority = aPrio;
+                }
+            iBearerArray.Append( newBearer );
+            }
+
+        CleanupStack::PopAndDestroy( tableName ); // tableName 
+        }
+    }
+
+// ---------------------------------------------------------
+// CProcessorGlobal::SetGenConnSettingWlanUsage
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::SetGenConnSettingWlanUsage( HBufC16* aPtrTag )
+    {
+    // This parameter should't be set at all if WLAN isn't supported.
+    // However, CMM should take care of this in WriteGenConnSettingsL().
+    if ( aPtrTag->CompareF( KStrManual ) == 0 ) 
+        {
+        iGenConnSettings->iUsageOfWlan = ECmUsageOfWlanManual;
+        }
+    // else: Default value for the string is: "Known", set in ConstructL()
+    }
+
+// ---------------------------------------------------------
+// CProcessorGlobal::SetGenConnSettingCellularDataUsageHome
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::SetGenConnSettingCellularDataUsageHome( HBufC16* aPtrTag )
+    {
+    if ( aPtrTag->CompareF( KStrAutomatic ) == 0 ) 
+        {
+        iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageAutomatic;
+        }
+    else if ( iIsWlanS && aPtrTag->CompareF( KStrWlanOnly ) == 0 ) 
+        {
+        // This value can't be set if WLAN isn't supported
+        iGenConnSettings->iCellularDataUsageHome = ECmCellularDataUsageDisabled;
+        }
+    // else: Default value for the string is: "Confirm", set in ConstructL()
+    }
+
+// ---------------------------------------------------------
+// CProcessorGlobal::SetGenConnSettingCellularDataUsageVisitor
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::SetGenConnSettingCellularDataUsageVisitor( HBufC16* aPtrTag )
+    {
+    if ( aPtrTag->CompareF( KStrAutomatic ) == 0 ) 
+        {
+        iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageAutomatic;
+        }
+    else if ( iIsWlanS && aPtrTag->CompareF( KStrWlanOnly ) == 0 ) 
+        {
+        // This value can't be set if WLAN isn't supported
+        iGenConnSettings->iCellularDataUsageVisitor = ECmCellularDataUsageDisabled;
+        }
+    // else: Default value for the string is: "Confirm", set in ConstructL()
+    }
+
+// ---------------------------------------------------------
+// CProcessorGlobal::SetGenConnSettingsL
+// ---------------------------------------------------------
+//
+void CProcessorGlobal::SetGenConnSettingsL()
+    {
+    RCmManager cmManager;
+    cmManager.CreateTablesAndOpenL();
+    CleanupClosePushL( cmManager );
+    cmManager.WriteGenConnSettingsL( *iGenConnSettings );
+    CleanupStack::PopAndDestroy( &cmManager );
+    }
+
+//-----------------------------------------------------------------------------
+//  CProcessorGlobal::SaveGlobalWlanParameterL()
+//-----------------------------------------------------------------------------
+//
+void CProcessorGlobal::SaveGlobalWlanParameterL( const TUint32 aTableType, const TDbCreatorGlobalSettings aField, const HBufC16* const aValue )
+	{	
+		// Initialize the record
+		CMDBGenericRecord* deviceSettingsTable = static_cast< CMDBGenericRecord* >
+                ( CCDRecordBase::RecordFactoryL( 0 ) );
+                
+	    CleanupStack::PushL( deviceSettingsTable );
+	    
+	    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
+	    			   			    
+	    deviceSettingsTable->LoadL( *iSession );
+	    
+	    // Open the record that matches aTableType (either default or user settings table)
+	    
+	    CMDBField<TUint32>* settingsTypeField = (CMDBField<TUint32>*)deviceSettingsTable->GetFieldByIdL(KCDTIdWlanDeviceSettingsType);
+	    
+	   	settingsTypeField->SetL( aTableType );
+	    			   			    
+	    deviceSettingsTable->FindL( *iSession );
+	    
+	    // Convert the input parameter to integer
+    	TLex lex( *aValue );
+		
+    	TInt value( 0 );
+        User::LeaveIfError( lex.Val( value ) );
+        
+		// Set the paramter value
+	    
+	    if ( aField == EWlanBGScanInterval )
+	    	{
+	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdBgScanInterval );
+	    	field->SetL( value );
+	    	}
+	    else if ( aField == EWlanUseDefSettings )
+	    	{
+	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdUseDefaultSettings );	
+	    	field->SetL( value );
+	    	}
+	    else if ( aField == EWlanLongRetry )
+	    	{
+			CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanLongRetry );				    	
+			field->SetL( value );
+	    	}
+	    else if ( aField == EWlanShortRetry )
+	    	{
+	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanShortRetry );	
+	    	field->SetL( value );
+	    	}
+	    else if ( aField == EWlanRTS )
+	    	{
+	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanRTSThreshold );	
+	    	field->SetL( value );
+	    	}
+	    else if ( aField == EWlanTxPowerLevel )
+	    	{
+	    	CMDBField< TUint32 >* field = ( CMDBField< TUint32 >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdTxPowerLevel );	
+	    	field->SetL( value );
+	    	}
+	    else if ( aField == EWlanRadioMeasurements )
+	    	{
+	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdAllowRadioMeasurements );	
+	    	field->SetL( value );
+	    	}
+	    else if ( aField == EWlanPowerMode )
+	    	{
+	    	CMDBField< TBool >* field = ( CMDBField< TBool >* ) deviceSettingsTable->GetFieldByIdL( KCDTIdWlanPowerMode );	
+	    	field->SetL( value );
+	    	}			    			    			      			
+
+		deviceSettingsTable->ModifyL( *iSession );
+				
+		CleanupStack::PopAndDestroy( deviceSettingsTable );				
+	}
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessorlan.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,264 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorLan
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcprocessorlan.h"
+#include "cdclogger.h"
+#include "cdctagcontainer.h"
+
+#include <cmpluginlandef.h>
+#include <cmpluginlanbasedef.h>
+#include <cmpluginbaseeng.h>
+#include <cmconnectionmethoddef.h>
+#include <cmmanagerext.h>
+#include <datamobilitycommsdattypes.h>
+
+using namespace CMManager;
+
+// CONSTANTS
+
+const TUint32 KDefaultPortNum = 80;
+
+// These constants are used to identify tags of iInFile.
+
+//Connection type
+_LIT16( KStrContinuous,      "Continuous" );
+_LIT16( KStrTemporary,       "Temporary" );
+
+_LIT16( KStrTrue,               "True" );
+_LIT16( KStrFalse,              "False" );
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CProcessorLan::NewL
+// ---------------------------------------------------------
+//
+CProcessorLan* CProcessorLan::NewL( CReaderBase* aFileReader,
+                      RCmManagerExt& aCmManager,
+                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                      RPointerArray< HBufC >& aPluginNames )
+    {
+    CProcessorLan* self = new ( ELeave ) CProcessorLan( aFileReader,
+                                                        aCmManager,
+                                                        aPluginArray,
+                                                        aPluginNames );
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorLan::~CProcessorLan
+// ---------------------------------------------------------
+//
+CProcessorLan::~CProcessorLan()
+    {
+    }
+     
+     
+// ---------------------------------------------------------
+// CProcessorLan::ConstructL
+// ---------------------------------------------------------
+//
+void CProcessorLan::ConstructL()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorLan::CProcessorLan
+// ---------------------------------------------------------
+//
+CProcessorLan::CProcessorLan( CReaderBase* aFileReader,
+                      RCmManagerExt& aCmManager,
+                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                      RPointerArray< HBufC >& aPluginNames) :
+                              CProcessorBase( aFileReader,
+                                              aCmManager,
+                                              aPluginArray,
+                                              aPluginNames )
+    {
+    iBearerType = KUidLanBearerType;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorLan::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorLan::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
+    {
+    switch ( aField )
+        {
+        case ECmWapIPGatewayAddress:
+            {
+             // Unicode 16-bit text
+            if ( aPtrTag->Length() )
+                {
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                }
+
+            break;
+            }
+        case ECmWapIPSecurity:
+            {
+             // TBool                
+            if ( !aPtrTag->CompareF( KStrOn ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else if ( !aPtrTag->CompareF( KStrOff ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else
+                {
+                //no valid data is given - default data is used
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                CLOG_WRITE( "! Error : Invalid WTLS security setting. Default:On");
+                }
+
+            break;
+            }
+        case ELanIpAddrFromServer:
+        case ELanIpDNSAddrFromServer:
+            {
+             // TBool                
+            if ( !aPtrTag->CompareF( KStrTrue ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else if ( !aPtrTag->CompareF( KStrFalse ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else
+                {
+                //no valid data is given - default data is used
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                CLOG_WRITE( "! Error : Invalid LAN server setting. Default:On");
+                }
+            break;
+            }
+        case ECmWapIPWSPOption:
+            {
+            // UInt                
+            if ( !aPtrTag->CompareF( KStrContinuous ) )
+                {
+                iPlugin.SetIntAttributeL( aField, 
+                                  EWapWspOptionConnectionOriented );
+                }
+            else if ( !aPtrTag->CompareF( KStrTemporary ) )
+                {
+                iPlugin.SetIntAttributeL( aField, 
+                                  EWapWspOptionConnectionless );
+                }
+            else
+                {
+                //no valid data is given - default data is used
+                iPlugin.SetIntAttributeL( aField, 
+                                  EWapWspOptionConnectionOriented );
+                CLOG_WRITE( "! Error : Invalid connection type. Default:Continuous");
+                }
+
+            break;
+            }
+        case ECmProxyProtocolName:
+        	{
+        	// Do not enable proxy in this case yet
+        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
+        	break;
+        	}
+            
+        case ECmProxyServerName:
+            {
+            // First set proxy usage to enabled
+            if( !iProxyEnabled )
+                {
+                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                iProxyEnabled = ETrue;
+                }
+            // Long text
+            iPlugin.SetStringAttributeL( aField, *aPtrTag );
+            break;
+            }
+        case ECmProxyPortNumber:
+            {
+            // First set proxy usage to enabled
+            if( !iProxyEnabled )
+                {
+                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                iProxyEnabled = ETrue;
+                }
+             // TUint32 and should be read as text.
+            TPtrC16 portptr = aPtrTag->Right( aPtrTag->Length() );
+            TLex16 lex( portptr );
+            TUint32 portnum( 0 );
+            if ( lex.Val( portnum, EDecimal ) == KErrNone )
+                {
+                iPlugin.SetIntAttributeL( aField, portnum );
+                }
+            else 
+                {
+                //no valid data is given - default value is used
+                iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
+                CLOG_WRITE( "! Error : Invalid port number. Default:80");  
+                }
+            break;
+            }
+        case ELanIfNetworks:
+        case ELanIpNetMask:
+        case ELanIpGateway:
+        case ELanIpAddr:
+        case ELanConfigDaemonManagerName:
+        case ELanConfigDaemonName:
+            {
+            iPlugin.SetStringAttributeL( aField, *aPtrTag );
+            break;
+            }
+        case ELanIpNameServer1:
+        case ELanIpNameServer2:
+        case ELanIp6NameServer1:
+        case ELanIp6NameServer2:
+            {
+            iPlugin.SetStringAttributeL( aField, *aPtrTag );
+            SetAddressFromServerL( ELanIpNameServer1,
+                                  ELanIpNameServer2,
+                                  ELanIpDNSAddrFromServer,
+                                  ELanIp6NameServer1,
+                                  ELanIp6NameServer2,
+                                  ELanIp6DNSAddrFromServer );    
+            break;
+            }
+        default:
+            {
+            break;
+            }
+        }//switch
+    }
+     
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessorpacketdata.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,473 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorPacketData
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcprocessorpacketdata.h"
+#include "cdclogger.h"
+#include "cdctagcontainer.h"
+
+#include <etelpckt.h>
+#include <cmpluginpacketdatadef.h>
+#include <cmpluginbaseeng.h>
+#include <cmconnectionmethoddef.h>
+#include <cmmanagerext.h>
+#include <datamobilitycommsdattypes.h>
+
+#include <centralrepository.h>
+#include <pdpcontextmanagerinternalcrkeys.h>
+
+using namespace CMManager;
+
+// CONSTANTS
+
+const TUint32 KDefaultPortNum = 80;
+const TInt32 KDefaultLinger = 0;
+const TUint KIapColumn        = 0x00000100;
+const TUint KLingerColumn     = 0x00000200;
+const TUint KColumnMask       = 0xFFFFFF00;
+const TUint KRowMask          = 0x000000FF;
+
+// These constants are used to identify tags of iInFile.
+
+//ISP types
+_LIT16( KStrISPInternet,      "0" );
+_LIT16( KStrISPWAP,      "1" );
+
+//Connection type
+_LIT16( KStrContinuous,      "Continuous" );
+_LIT16( KStrTemporary,       "Temporary" );
+
+//Password authentication
+_LIT16( KStrPwdAuthNormal,   "Normal" );
+_LIT16( KStrPwdAuthSecure,   "Secure" );
+
+//Network types
+_LIT16( KStrNetworkIPv4,     "IPv4" );
+_LIT16( KStrNetworkIPv6,     "IPv6" );
+
+
+// ================= MEMBER FUNCTIONS =======================
+CLingerElement::~CLingerElement()
+    {
+    delete iName;
+    delete iLinger;
+    }
+// ---------------------------------------------------------
+// CProcessorPacketData::NewL
+// ---------------------------------------------------------
+//
+CProcessorPacketData* CProcessorPacketData::NewL( 
+                                CReaderBase* aFileReader,
+                                RCmManagerExt& aCmManager,
+                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                RPointerArray< HBufC >& aPluginNames,
+                                RPointerArray< CLingerElement >& aLingerSettings)
+    {
+    CProcessorPacketData* self = new ( ELeave ) CProcessorPacketData
+                                                            ( aFileReader,
+                                                              aCmManager,
+                                                              aPluginArray,
+                                                              aPluginNames,
+                                                              aLingerSettings);
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorPacketData::~CProcessorPacketData
+// ---------------------------------------------------------
+//
+CProcessorPacketData::~CProcessorPacketData()
+    {
+    }
+     
+     
+// ---------------------------------------------------------
+// CProcessorPacketData::ConstructL
+// ---------------------------------------------------------
+//
+void CProcessorPacketData::ConstructL()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorPacketData::CProcessorPacketData
+// ---------------------------------------------------------
+//
+CProcessorPacketData::CProcessorPacketData( CReaderBase* aFileReader,
+                      RCmManagerExt& aCmManager,
+                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                      RPointerArray< HBufC >& aPluginNames,
+                      RPointerArray< CLingerElement >& aLingerSettings ) :
+                                      CProcessorBase( aFileReader,
+                                                      aCmManager,
+                                                      aPluginArray,
+                                                      aPluginNames )
+                                      
+    {
+    iLingerSettings = &aLingerSettings;
+    iBearerType = KUidPacketDataBearerType;
+    }
+
+// ---------------------------------------------------------
+// CProcessorPacketData::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorPacketData::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
+    {
+
+    switch ( aField )
+        {
+        case EPacketDataAPName:               //fall through
+        case EPacketDataIFAuthName:           //fall through
+        case EPacketDataIFAuthPass:           //fall through
+        case EPacketDataIPAddr:               //fall through
+            {
+             // Unicode 16-bit text
+            iPlugin.SetStringAttributeL( aField, *aPtrTag );
+
+            break;
+            }
+        case EPacketDataIPNameServer1:        //fall through
+        case EPacketDataIPNameServer2:        //fall through
+        case EPacketDataIPIP6NameServer1:     //fall through
+        case EPacketDataIPIP6NameServer2:     //fall through
+            {
+            iPlugin.SetStringAttributeL( aField, *aPtrTag );
+            SetAddressFromServerL( EPacketDataIPNameServer1,
+                                  EPacketDataIPNameServer2,
+                                  EPacketDataIPDNSAddrFromServer,
+                                  EPacketDataIPIP6NameServer1,
+                                  EPacketDataIPIP6NameServer2,
+                                  EPacketDataIPIP6DNSAddrFromServer );    
+            break;
+            }
+        case ECmWapIPGatewayAddress:
+            {
+             // Unicode 16-bit text
+            if ( aPtrTag->Length() )
+                {
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                }
+
+            break;
+            }
+        case EPacketDataIFPromptForAuth:
+            {
+            // Boolean
+            if ( !aPtrTag->CompareF( KStrYes ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else if ( !aPtrTag->CompareF( KStrNo ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else
+                {
+                //no valid data is given - use default value
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                CLOG_WRITE( "! Error : Invalid Prompt password. Default:No");
+                }
+
+            break;
+            }
+        case EPacketDataUseEdge:
+            {
+            // Boolean
+            if ( !aPtrTag->CompareF( KStrYes ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else if ( !aPtrTag->CompareF( KStrNo ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else
+                {
+                //no valid data is given - use default value
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                CLOG_WRITE( "! Error : Invalid Use EDGE. Default:Yes");
+                }
+
+            break;
+            }
+        case EPacketDataLinger:
+            {
+            // Pair linger with name for later saving
+            CLingerElement* linger = new (ELeave) CLingerElement;
+
+            CleanupStack::PushL( linger );
+                    
+            linger->iName = iName->AllocL();
+            linger->iLinger = aPtrTag->AllocL(); 
+                                            
+            iLingerSettings->AppendL(linger);
+                    
+            CleanupStack::Pop( linger );
+            break;
+            }
+        case ECmWapIPSecurity:
+            {
+             // TBool                
+            if ( !aPtrTag->CompareF( KStrOn ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else if ( !aPtrTag->CompareF( KStrOff ) )
+                {
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else
+                {
+                //no valid data is given - default data is used
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                CLOG_WRITE( "! Error : Invalid WTLS security setting. Default:On");
+                }
+
+            break;
+            }
+        case ECmWapIPWSPOption:
+            {
+            // UInt                
+            if ( !aPtrTag->CompareF( KStrContinuous ) )
+                {
+                iPlugin.SetIntAttributeL( aField, 
+                                  EWapWspOptionConnectionOriented );
+                }
+            else if ( !aPtrTag->CompareF( KStrTemporary ) )
+                {
+                iPlugin.SetIntAttributeL( aField, 
+                                  EWapWspOptionConnectionless );
+                }
+            else
+                {
+                //no valid data is given - default data is used
+                iPlugin.SetIntAttributeL( aField, 
+                                  EWapWspOptionConnectionOriented );
+                CLOG_WRITE( "! Error : Invalid connection type. Default:Continuous");
+                }
+
+            break;
+            }
+            
+        case ECmProxyProtocolName:
+        	{
+        	// Do not enable proxy in this case yet
+        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
+        	break;
+        	}
+                         
+        case ECmProxyServerName:    
+            {
+            // First set proxy usage to enabled
+            if( !iProxyEnabled )
+                {
+                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                iProxyEnabled = ETrue;
+                }
+            // Long text
+            iPlugin.SetStringAttributeL( aField, *aPtrTag );
+            break;
+            }
+        case ECmProxyPortNumber:
+            {
+            // First set proxy usage to enabled
+            if( !iProxyEnabled )
+                {
+                iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                iProxyEnabled = ETrue;
+                }
+             // TUint32 and should be read as text.
+            TPtrC16 portptr = aPtrTag->Right( aPtrTag->Length() );
+            TLex16 lex( portptr );
+            TUint32 portnum( 0 );
+            if ( lex.Val( portnum, EDecimal ) == KErrNone )
+                {
+                iPlugin.SetIntAttributeL( aField, portnum );
+                }
+            else 
+                {
+                //no valid data is given - default value is used
+                iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
+                CLOG_WRITE( "! Error : Invalid port number. Default:80");  
+                }
+            break;
+            }
+        case EPacketDataDisablePlainTextAuth:
+            {
+             // TBool                
+            if ( !aPtrTag->CompareF( KStrPwdAuthNormal ) )
+                {
+                // Normal, => auth. not secure, plain text NOT disabled
+                iPlugin.SetBoolAttributeL( aField, EFalse );
+                }
+            else if ( !aPtrTag->CompareF( KStrPwdAuthSecure ) )
+                {
+                // Secure, => auth. secure, plain text disabled
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            else
+                {
+                //no valid data is given - default value is used
+                CLOG_WRITE( "! Error : Invalid password authentication. Default:Secure ");  
+                iPlugin.SetBoolAttributeL( aField, ETrue );
+                }
+            break;
+            }
+        case EPacketDataPDPType:
+            {
+            if ( !aPtrTag->CompareF( KStrNetworkIPv4 ) )
+                {
+                iPlugin.SetIntAttributeL( aField, RPacketContext::EPdpTypeIPv4 );
+                }
+            else if ( !aPtrTag->CompareF( KStrNetworkIPv6 ) )
+                {
+                iPlugin.SetIntAttributeL( aField, RPacketContext::EPdpTypeIPv6 );
+                }
+            else
+                {
+                iPlugin.SetIntAttributeL( aField, RPacketContext::EPdpTypeIPv4 );
+                CLOG_WRITE( "! Error : Invalid Network type. Default:IPv4" )
+                }
+            break;
+            }
+        case EPacketDataApType:
+        		{
+        		if ( !aPtrTag->CompareF( KStrISPInternet ) )
+            		{
+            		iPlugin.SetIntAttributeL( aField, 0 );              
+                }
+            else if ( !aPtrTag->CompareF( KStrISPWAP ) )
+                {
+                iPlugin.SetIntAttributeL( aField, 1 );                              
+            		}
+            else
+               	{
+               	iPlugin.SetIntAttributeL( aField, 2 );
+                }  
+        		break;
+        	}
+        default:
+            {
+            break;
+            }
+        }//switch
+    }
+
+// ---------------------------------------------------------
+// CProcessorPacketData::AddLingerL
+// ---------------------------------------------------------
+//
+void CProcessorPacketData::AddLingerL( const TInt aIapId, const TInt aLingerInterval)
+    {
+    TInt    err( KErrNone );
+    
+    // Open repository
+    CRepository* repository = CRepository::NewLC( KCRUidPDPContextManager );
+    
+    // Find if an entry for "iapId" already exists in CentRep 
+    RArray< TUint32 > foundKeys;
+    foundKeys.Reset();
+    
+    err = repository->FindEqL( KIapColumn,       // partial key
+                               KColumnMask,      // key mask
+                               aIapId,           // value
+                               foundKeys );      // found keys
+    
+    if ( err == KErrNone || err == KErrNotFound )
+        {
+        if ( foundKeys.Count() == 0 )
+            {
+            // Add a new entry
+            TInt arrayCount( 0 );
+            
+            // Get number of iapId&linger entries in Centrep
+            err = repository->Get( KPdpContextManagerLingerArrayCount, 
+                                   arrayCount );
+        
+            if ( err == KErrNone )
+                {
+                arrayCount++;
+                
+                err = repository->Create( ( KIapColumn | arrayCount ), aIapId ); 
+                
+                if ( err == KErrNone )
+                    {
+                    err = repository->Create( ( KLingerColumn | arrayCount ), 
+                                               aLingerInterval );     
+                    }
+                
+                if ( err == KErrNone )
+                    {
+                    // Update number of iapId&linger entries in Centrep
+                    err = repository->Set( KPdpContextManagerLingerArrayCount, 
+                                           arrayCount );
+                    }
+                }
+            }
+        else
+            {
+            // Update existing entry on current row
+            TInt32 row = foundKeys[ 0 ] & KRowMask;
+            
+            err = repository->Set( ( KLingerColumn | row ), aLingerInterval ); 
+            }         
+        }
+        
+    foundKeys.Close();
+    CleanupStack::PopAndDestroy( repository );
+    
+    User::LeaveIfError( err );
+    }
+
+// ---------------------------------------------------------
+// CProcessorPacketData::SaveLingerSettingsL
+// ---------------------------------------------------------
+//
+void CProcessorPacketData::SaveLingerSettingsL()
+    {
+    for ( TInt i(0); i < iLingerSettings->Count(); i++ )
+        {
+        TInt id = GetPluginIdL(((*iLingerSettings)[i])->iName);
+        
+        TLex16 lex(*((*iLingerSettings)[i])->iLinger);
+        TInt linger( 0 );
+        if ( lex.Val( linger ) == KErrNone )         
+            {
+            AddLingerL( id, linger);
+            }
+            else 
+            {
+            // no valid data is given - default value is used
+            AddLingerL( id, KDefaultLinger); 
+            }
+        }
+        iLingerSettings->ResetAndDestroy();
+    }
+     
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessorvpn.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,242 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorVpn
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcprocessorvpn.h"
+#include "cdclogger.h"
+#include "cdctagcontainer.h"
+
+#include <cmpluginvpndef.h>
+#include <cmpluginbaseeng.h>
+#include <cmconnectionmethoddef.h>
+#include <cmdestinationext.h>
+#include <cmmanagerext.h>
+#include <datamobilitycommsdattypes.h>
+
+using namespace CMManager;
+
+// CONSTANTS
+
+const TUint32 KDefaultPortNum = 80;
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CProcessorVpn::NewL
+// ---------------------------------------------------------
+//
+CProcessorVpn* CProcessorVpn::NewL( CReaderBase* aFileReader,
+                                    RCmManagerExt& aCmManager,
+                                    RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                    RPointerArray< HBufC >& aPluginNames,
+                                    RPointerArray< HBufC >& aUnderLying )
+    {
+    CProcessorVpn* self = new ( ELeave ) CProcessorVpn( aFileReader,
+                                                        aCmManager,
+                                                        aPluginArray,
+                                                        aPluginNames,
+                                                        aUnderLying );
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    CleanupStack::Pop( self ); // self
+    return self;
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorVpn::~CProcessorVpn
+// ---------------------------------------------------------
+//
+CProcessorVpn::~CProcessorVpn()
+    {
+    }
+     
+     
+// ---------------------------------------------------------
+// CProcessorVpn::ConstructL
+// ---------------------------------------------------------
+//
+void CProcessorVpn::ConstructL()
+    {
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorVpn::CProcessorVpn
+// ---------------------------------------------------------
+//
+CProcessorVpn::CProcessorVpn( CReaderBase* aFileReader,
+                              RCmManagerExt& aCmManager,
+                              RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                              RPointerArray< HBufC >& aPluginNames,
+                              RPointerArray< HBufC >& aUnderLying  ) :
+                              
+                              CProcessorBase( aFileReader,
+                                              aCmManager,
+                                              aPluginArray,
+                                              aPluginNames )
+    {
+    iUnderLying = &aUnderLying;
+    iBearerType = KPluginVPNBearerTypeUid;
+    }
+
+// ---------------------------------------------------------
+// CProcessorVpn::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorVpn::ProcessUnderLyingL( RPointerArray< RCmDestinationExt >& aDestArray,
+                                        RPointerArray< HBufC >& aDestNames )
+    {
+    iDestArray = &aDestArray;
+    iDestName = &aDestNames;
+    
+    for( TInt i(0); i < iUnderLying->Count(); i++ )
+        {
+        // Finds the vpn IAP by its name
+        RCmConnectionMethodExt* iPlugin = FindPluginL( (*iUnderLying)[i] );
+        if( iPlugin != NULL )
+            {
+            CLOG_WRITE_FORMAT( "Underlying set for:%S", (*iUnderLying)[i] );  
+            
+            // Finds the underlying IAP by its name
+            i++;
+            RCmConnectionMethodExt* up = FindPluginL( (*iUnderLying)[i] );
+            if( up != NULL )
+                {
+                iPlugin->SetIntAttributeL( ECmNextLayerIapId,
+                            up->GetIntAttributeL( ECmIapId ) );
+                iPlugin->UpdateL();                            
+
+                CLOG_WRITE_FORMAT( "Underlying IAP Set:%S", (*iUnderLying)[i] );  
+                }
+            else
+                {
+                // Underlyinf can be destination. If not IAP finds destination.
+                RCmDestinationExt* ud = FindDestinationL( (*iUnderLying)[i] );
+                if( ud != NULL )
+                    {
+                    iPlugin->SetIntAttributeL( ECmNextLayerSNAPId, ud->Id() );
+                    iPlugin->UpdateL();                            
+
+                    CLOG_WRITE_FORMAT( "Underlying SNAP Set: %S", (*iUnderLying)[i] );  
+                    }
+                }    
+            }
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorVpn::ProcessTagL
+// ---------------------------------------------------------
+//
+void CProcessorVpn::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
+    {
+        CLOG_WRITE_FORMAT( "field: %d", aField );  
+        switch ( aField )
+            {
+	        case ECmProxyProtocolName:
+	        	{
+	        	// Do not enable proxy in this case yet
+	        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
+	        	break;
+	        	}
+            
+            case ECmProxyServerName:
+                {
+                // First set proxy usage to enabled
+                if( !iProxyEnabled )
+                    {
+                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                    iProxyEnabled = ETrue;
+                    }
+                // Long text
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                break;
+                }
+            case ECmProxyPortNumber:
+                {
+                // First set proxy usage to enabled
+                if( !iProxyEnabled )
+                    {
+                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                    iProxyEnabled = ETrue;
+                    }
+                 // TUint32 and should be read as text.
+                TPtrC16 portptr = aPtrTag->Right( aPtrTag->Length() );
+                TLex16 lex( portptr );
+                TUint32 portnum( 0 );
+                if ( lex.Val( portnum, EDecimal ) == KErrNone )
+                    {
+                    iPlugin.SetIntAttributeL( aField, portnum );
+                    }
+                else 
+                    {
+                    //no valid data is given - default value is used
+                    iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
+                    CLOG_WRITE( "! Error : Invalid port number. Default:80");  
+                    }
+                break;
+                }
+            case EVPN_IapName: // Underlying IAP/destination
+                {
+                if( !iName )
+                    {
+                    TInt len = aPtrTag->Length();
+                
+                    iName = HBufC::NewL( 8 + len );
+                    TPtr name = iName->Des();
+                    name.Append( _L( "VPN to " ) );
+                    name.Append( *aPtrTag );
+                    
+                    SetGeneralFieldL( ECmName, iName );
+                    
+                    }
+                    
+                // Adds vpnIAP name - underlying IAP/Dest name pair to a list
+                if( iName )
+                    {
+                    iUnderLying->AppendL( iName->AllocL() );
+                    iUnderLying->AppendL( aPtrTag->AllocL() );
+                    }
+                break;
+                }
+            case EVpnServicePolicy:
+            ////case ECmName:                //fall through
+                {
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                if( !iName )
+                    {
+                    iName = aPtrTag->AllocLC();
+                    }
+
+                break;
+                }
+            default:
+                {
+                break;
+                }
+            }//switch
+    }
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcprocessorwlan.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,2317 @@
+/*
+* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CProcessorWlan
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcprocessorwlan.h"
+#include "cdclogger.h"
+#include "cdcerrors.h"
+
+#include <cmpluginwlandef.h>
+#include <cmpluginbaseeng.h>
+#include <cmconnectionmethoddef.h>
+#include <cmmanagerext.h>
+#include <datamobilitycommsdattypes.h>
+#include <commsdattypesv1_1.h>
+#include <WlanCdbCols.h>
+#include <commsdattypesv1_1.h>
+#include <wlancontainer.h>
+
+using namespace CMManager;
+
+// CONSTANTS
+
+// network modes.
+_LIT16( KStrAd_hoc,         "Ad-hoc" );
+_LIT16( KStrInfrastructure, "Infrastructure" ); // Default value.
+
+// security modes.
+_LIT16( KStrWEP,            "WEP" );
+_LIT16( KStr802_1x,         "802.1x" );
+_LIT16( KStrWPA,            "WPA" );          // WPA/WPA2 mixed mode
+_LIT16( KStrWPA2,           "WPA2" );         // WPA2-only mode
+_LIT16( KStrOpen,           "Open" );         // Default value.
+
+// default WLAN channel Id value
+const TInt KDefaultChannelId = 0;
+const TInt KMaximumChannelId = 11;
+
+// default port number
+const TUint32 KDefaultPortNum = 0;
+
+// ratio between sizes of ascii and unicode characters
+const TUint KAsciiUnicodeRatio = 2;
+
+// ================= MEMBER FUNCTIONS =======================
+
+CEapTypeElement::~CEapTypeElement()
+    {
+    delete iEapSettings;
+    delete iName;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorWlan::NewL
+// ---------------------------------------------------------
+//
+CProcessorWlan* CProcessorWlan::NewL( CReaderBase* aFileReader,
+                                      RCmManagerExt& aCmManager,
+                                      RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                      RPointerArray< HBufC >& aPluginNames,
+                                      RPointerArray< HBufC >& aSecurityInfo,
+									  RPointerArray< CEapTypeElement >& aEapSettings )
+    {
+    CProcessorWlan* self = new ( ELeave ) CProcessorWlan( aFileReader,
+                                                          aCmManager,
+                                                          aPluginArray,
+                                                          aPluginNames,
+                                                          aSecurityInfo,
+														  aEapSettings );
+    CleanupStack::PushL( self );
+
+    // From base class
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorWlan::ConstructL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::ConstructL()
+    {
+    iEmptyTag = KStrEmpty.operator const TDesC16&().Alloc();
+
+    Reset(); // iWepData, iWpaData
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorWlan::CProcessorWlan
+// ---------------------------------------------------------
+//
+CProcessorWlan::CProcessorWlan( CReaderBase* aFileReader,
+                                RCmManagerExt& aCmManager,
+                                RPointerArray< RCmConnectionMethodExt >& aPluginArray,
+                                RPointerArray< HBufC >& aPluginNames,
+                                RPointerArray< HBufC >& aSecurityInfo,
+								RPointerArray< CEapTypeElement >& aEapSettings ) :
+             CProcessorBase( aFileReader,
+                             aCmManager,
+                             aPluginArray,
+                             aPluginNames ),
+             iSecurityMode( ESecurityModeOpen ),
+             iEapSettings( aEapSettings ),
+             iIsEasyWlan( ETrue )                     
+    {
+    iBearerType = KUidWlanBearerType;
+    iSecurityInfo = &aSecurityInfo;
+    iDataStart = 0;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorWlan::~CProcessorWlan
+// ---------------------------------------------------------
+//
+CProcessorWlan::~CProcessorWlan()
+    {
+    delete iEmptyTag;
+    REComSession::FinalClose();
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::ProcessSpecialFieldsL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::ProcessSpecialFieldsL( TInt aField, HBufC* aPtrTag, TInt /*aDx*/ )
+    {
+        switch( aField )
+            {
+            // TDesC16
+            case EWlanSSID:
+                {
+                if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
+                    {
+                    iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                    iIsEasyWlan = EFalse;
+                    }
+                else
+                    {
+                    // Access point is Easy WLAN 
+                    iIsEasyWlan = ETrue;
+                    }
+                break;
+                }
+            case EWlanIpAddr:
+                {
+                if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
+                    {
+                    iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                    }
+                break;
+                }
+            // TDesC16
+            case EWlanIpGateway:             //fall through
+            case EWlanIpNetMask:             //fall through
+                {
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                break;
+                }
+            case EWlanIpNameServer1:         //fall through
+            case EWlanIpNameServer2:         //fall through
+            case EWlanIp6NameServer1:        //fall through
+            case EWlanIp6NameServer2:        //fall through
+                {
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                SetAddressFromServerL( EWlanIpNameServer1,
+                                      EWlanIpNameServer2,
+                                      EWlanIpDNSAddrFromServer,
+                                      EWlanIp6NameServer1,
+                                      EWlanIp6NameServer2,
+                                      EWlanIp6DNSAddrFromServer );    
+                break;
+                }
+            // TUint32
+            case EWlanSecurityMode:
+                {
+
+                if ( aPtrTag->CompareF( KStrWEP ) == 0 )
+                    {
+                    // WEP
+                    iPlugin.SetIntAttributeL( aField, EWlanSecModeWep );
+                    iSecurityMode = ESecurityModeWEP;
+                    }
+                else if ( aPtrTag->CompareF( KStr802_1x ) == 0 )
+                    {
+                    // 802.1x
+                    iPlugin.SetIntAttributeL( aField, EWlanSecMode802_1x );
+                    iSecurityMode = ESecurityMode802;
+                    }
+                else if ( aPtrTag->CompareF( KStrWPA ) == 0 )
+                    {
+                    // WPA/WPA2 mixed mode
+                    iPlugin.SetIntAttributeL( aField, EWlanSecModeWpa );
+                    iSecurityMode = ESecurityModeWPA;
+                    }
+                else if ( aPtrTag->CompareF( KStrWPA2 ) == 0 )
+                    {
+                    // WPA2
+                    iPlugin.SetIntAttributeL( aField, EWlanSecModeWpa2 );
+                    iSecurityMode = ESecurityModeWPA2;
+                    }
+                else if ( aPtrTag->CompareF( KStrOpen ) == 0 )
+                    {
+                    // Open network (default)
+                    iPlugin.SetIntAttributeL( aField, EWlanSecModeOpen );
+                    iSecurityMode = ESecurityModeOpen;
+                    }
+                else 
+                    {
+                    iPlugin.SetIntAttributeL( aField, EWlanSecModeOpen );
+                    iSecurityMode = ESecurityModeOpen;
+                    CLOG_WRITE( "! Error : Invalid Security Mode. Default:Open" )
+                    }
+                break;
+                }
+                
+            // TUint32
+            case EWlanConnectionMode:
+                {
+
+                if ( !aPtrTag->CompareF( KStrAd_hoc ) )
+                    {
+                    // Ad-hoc
+                    iPlugin.SetIntAttributeL( aField, EAdhoc );
+                    }
+                else if ( !aPtrTag->CompareF( KStrInfrastructure ) )
+                    {
+                    // Infrastructure
+                    iPlugin.SetIntAttributeL( aField, EInfra );
+                    }
+                else
+                    {
+                    iPlugin.SetIntAttributeL( aField, EInfra );
+                    CLOG_WRITE( "! Error : Invalid Network Mode. Default:Infrastructure" )
+                    }
+                break;
+                }
+                
+            // TUint32
+            case ECmProxyPortNumber:
+                {
+                // First set proxy usage to enabled
+                if( !iProxyEnabled )
+                    {
+                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                    iProxyEnabled = ETrue;
+                    }
+                TLex16 lex( *aPtrTag );
+                TUint32 tmp( 0 );
+                if ( lex.Val( tmp, EDecimal ) == KErrNone )
+                    {
+                    iPlugin.SetIntAttributeL( aField, tmp );
+                    }
+                else
+                    {
+                    //no valid data is given
+                    iPlugin.SetIntAttributeL( aField, KDefaultPortNum );
+                    CLOG_WRITE( "! Error : Invalid port number. Default:0" );
+                    }
+                break;
+                }
+            // Long text.
+            case ECmStartPage:
+                {
+
+                if ( aPtrTag->CompareF( KStrEmpty ) != 0 )
+                    {
+                    iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                    }
+                break;
+                }
+                
+	        case ECmProxyProtocolName:
+	        	{
+	        	// Do not enable proxy in this case yet
+	        	iPlugin.SetStringAttributeL( aField, *aPtrTag );
+	        	break;
+	        	}
+	                
+            // Long text.
+            case ECmProxyServerName:            
+                {
+                // First set proxy usage to enabled
+                if( !iProxyEnabled )
+                    {
+                    iPlugin.SetBoolAttributeL( ECmProxyUsageEnabled, ETrue );
+                    iProxyEnabled = ETrue;
+                    }
+                iPlugin.SetStringAttributeL( aField, *aPtrTag );
+                break;
+                }
+            // Bool
+            case EWlanScanSSID:
+                {
+                if ( !aPtrTag->CompareF( KStrYes ) )
+                    {
+                    iPlugin.SetBoolAttributeL( aField, ETrue );
+                    }
+                else if ( !aPtrTag->CompareF( KStrNo ) )
+                    {
+                    iPlugin.SetBoolAttributeL( aField, EFalse );
+                    }
+                else 
+                    {
+                    iPlugin.SetBoolAttributeL( aField, EFalse );
+                    CLOG_WRITE( "! Error : Invalid Scan SSID. Default:No" )
+                    }
+                break;
+                }
+
+            // TUint32
+            case EWlanChannelID:
+                {
+                TLex16 lex( *aPtrTag );
+                TUint32 tmp( 0 );
+                lex.Val( tmp, EDecimal );
+
+                if( tmp <= KMaximumChannelId )
+                    {
+                    iPlugin.SetIntAttributeL( aField, tmp );
+                    }
+                else
+                    {
+                    // Default value
+                    iPlugin.SetIntAttributeL( aField, KDefaultChannelId );
+                    CLOG_WRITE( "! Error : Invalid Chanel Id. Default:0" )
+                    }
+                break;
+                }
+            //WEP
+            case EWEPKeyInUse:
+            case EWEPAuthType:
+            case EWEPKey1Length:
+            case EWEPKey1Format:
+            case EWEPKey1Data:
+            case EWEPKey2Length:
+            case EWEPKey2Format:
+            case EWEPKey2Data:
+            case EWEPKey3Length:
+            case EWEPKey3Format:
+            case EWEPKey3Data:
+            case EWEPKey4Length:
+            case EWEPKey4Format:
+            case EWEPKey4Data:
+                {
+                if( iSecurityMode == ESecurityModeWEP )
+                    {
+                    AddSecurityDataL( aField, aPtrTag, ETrue );
+                    }
+                }
+                break;
+            //WPA
+            case EWPAPresharedKey:
+            case EWPAKeyLength:
+            case EWPAEapMethod:
+            case EWPAUseOfPresharedKey:
+                {
+                if( iSecurityMode != ESecurityModeWEP && iSecurityMode != ESecurityModeOpen )
+                    {
+                    AddSecurityDataL( aField, aPtrTag, EFalse );
+                    }
+                }
+                break;
+                
+            default:
+            	// Check if this is EAP setting
+            	if ( EAPSetting( aField ) )
+            		{
+            		AddEAPSettingL( aField, aPtrTag );
+            		}
+            	else
+            		{            		
+            		CLOG_WRITE_FORMAT( "! Warning: Unhandled setting for WLAN: %d", aField );
+            		}
+                break;
+            }//switch
+    }
+     
+     
+// ---------------------------------------------------------
+// CProcessorWlan::ProcessAPL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::ProcessAPL()
+    {
+    
+    RCmConnectionMethodExt& iPlugin = GetLastPluginL();
+    
+    if( iIsProtected )
+        {
+        iPlugin.SetBoolAttributeL( ECmProtected, ETrue );
+        }
+    
+    // Ensure that Easy WLAN is always an open network
+    if( iIsEasyWlan )
+        {
+        iSecurityMode = ESecurityModeOpen;
+        }
+        
+    FillSecurityInfoL();        
+    
+    // Writes into the log file.
+    DoLogL();
+    
+    Reset(); // iWepData, iWpaData
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::ProcessAPL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::FillSecurityInfoL()
+    {
+    //Set Security mode settings
+    switch ( iSecurityMode )
+        {
+        case ESecurityModeWEP:
+            if ( WEPFieldValidate() )
+                {
+                FillSecurityInfoL( ETrue ); //WEP
+                }
+            else
+                {
+                CLOG_WRITE( "! Error : WEP settings are not valid." )
+                }
+            break;  
+        case ESecurityMode802:
+        case ESecurityModeWPA:
+        case ESecurityModeWPA2:
+            {
+            FillSecurityInfoL( EFalse ); //WPA
+            break;
+            }
+        default:
+            {
+            }
+            break;
+        }
+    }    
+
+// ---------------------------------------------------------
+// CProcessorWlan::ProcessAPL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::FillSecurityInfoL( TBool aIsWep )
+    {
+    // iName has been deleted by Base. Name is retrieved from name array.
+    TInt lastPos = iPluginArray->Count() - 1;
+    HBufC* name = (*iPluginName)[ lastPos ];
+    
+    // Name appended to the array
+    iSecurityInfo->Append( name->AllocL() );
+    CLOG_WRITE_FORMAT( "FillSecurityInfoL %S", name );
+    CLOG_WRITE_FORMAT( "FillSecurityInfoL start %d", iSecurityInfo->Count() );
+    
+    if( aIsWep )
+        {
+        // Security type appended to the array
+        iSecurityInfo->Append( KStrWEP.operator const TDesC16&().Alloc() );
+        for( TInt i( 0 ); i < KWEPKeyNumOfFields; i++ )
+            {
+            
+            if( iWepData[i] != NULL )
+                {
+                CLOG_WRITE_FORMAT( "wep info %S", iWepData[i] );
+                }
+            else
+                {
+                CLOG_WRITE( "wep info NULL" );
+                }
+            iSecurityInfo->Append( iWepData[i] );
+            }
+        }
+    else
+        {
+        // Security type appended to the array
+        switch ( iSecurityMode )
+            {
+            case ESecurityMode802:
+                iSecurityInfo->Append( KStr802_1x.operator const TDesC16&().Alloc() );
+            break;            
+            case ESecurityModeWPA2:
+                iSecurityInfo->Append( KStrWPA2.operator const TDesC16&().Alloc() );
+            break;            
+            default:
+                iSecurityInfo->Append( KStrWPA.operator const TDesC16&().Alloc() );
+            break;            
+            }
+
+        for( TInt i( 0 ); i < KWPAKeyNumOfFields; i++ )
+            {
+            
+            if( iWpaData[i] != NULL )
+                {
+                CLOG_WRITE_FORMAT( "wpa info %S", iWpaData[i] );
+                }
+            else
+                {
+                CLOG_WRITE( "wep info NULL" );
+                }
+            iSecurityInfo->Append( iWpaData[ i ] );
+            }
+        }
+
+    CLOG_WRITE_FORMAT( "FillSecurityInfoL end %d", iSecurityInfo->Count() );
+    }    
+
+// ---------------------------------------------------------
+// CProcessorWlan::SaveSecurityInfoL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::SaveSecurityInfoL()
+    {
+    TInt i(0);
+
+    while( i < iSecurityInfo->Count() )
+        {
+        if( (*iSecurityInfo)[i] != NULL )
+            {
+            CLOG_WRITE_FORMAT( "Sec Info: %S", (*iSecurityInfo)[i] );
+            }
+        else
+            {
+            CLOG_WRITE( "Sec Info: NULL" );
+            }
+        
+        i++;
+        }
+
+
+    i = 0;
+
+    while( i < iSecurityInfo->Count() )
+        {
+        CLOG_WRITE_FORMAT( "SaveSecurityInfoL %S", (*iSecurityInfo)[i] );
+
+        TInt id = GetPluginIdL( (*iSecurityInfo)[i] );
+        if( id != KErrNotFound )
+            {
+            i++;
+            SaveSecurityInfoL( i, id );
+            }
+        else
+            {
+            CLOG_WRITE_FORMAT( "WLan IAp cannot find %S", (*iSecurityInfo)[i] );
+            CLOG_WRITE( "Security save likely collapsed" );
+            // Tries to look for an existing IAP.
+            i++;
+            }    
+        }
+
+	// EAP settings
+	CLOG_WRITE( "Starting EAP settings saving" );
+	CMDBSession* session = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    CleanupStack::PushL( session );
+    
+    // Load IAP record in order to get the service id
+	for ( i = 0; i < iEapSettings.Count() ; i++ )
+        {
+        CEapTypeElement* eap = iEapSettings[i];
+        // 
+        TInt id = GetPluginIdL( eap->iName );
+        
+	    CCDIAPRecord* iapRecord = static_cast< CCDIAPRecord * >
+	                        ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
+	                        
+	    CleanupStack::PushL( iapRecord );
+	    
+	    iapRecord->SetRecordId( id );
+	    
+	    iapRecord->LoadL( *session );
+	   
+	    TInt serviceId = iapRecord->iService;
+	    
+	    CleanupStack::PopAndDestroy( iapRecord );	        
+	            
+        CEapType* eapType ( NULL );
+        TRAPD( leave, 
+               eapType = CEapType::NewL( ELan, 
+                                         serviceId, 
+                                         eap->iEapSettings->iEAPExpandedType ) );
+        if ( leave == KErrNone )
+            {
+            CleanupStack::PushL( eapType );
+            
+            // Inner EAP
+            if ( eap->iEncapsulatingEapId != *EapExpandedTypeNone.GetType() )
+                {
+                eapType->SetTunnelingType( eap->iEncapsulatingEapId );
+                }
+                    
+            // write EAP setting
+            eapType->SetConfigurationL(*eap->iEapSettings);
+            CleanupStack::PopAndDestroy( eapType );
+            }
+        }
+    
+    session->Close();
+    CleanupStack::PopAndDestroy( session );
+    CLOG_WRITE( "Finished EAP settings saving" );
+
+    CLOG_WRITE_FORMAT( "SaveSecurityInfoL end %d", iSecurityInfo->Count() );
+}
+
+// ---------------------------------------------------------
+// CProcessorWlan::SaveSecurityInfoL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::SaveSecurityInfoL( TInt& aCounter, TInt aId )
+    {
+    if( (*iSecurityInfo)[ aCounter ]->Compare( KStrWEP ) == 0 )
+        {
+        aCounter++;
+        TInt end( aCounter + KWEPKeyNumOfFields );
+        
+        for( TInt index(0); aCounter < end; aCounter++, index++ )
+            {
+            if( (*iSecurityInfo)[ aCounter ] != NULL )
+                {
+                CLOG_WRITE_FORMAT( "wep info %S", (*iSecurityInfo)[ aCounter ] );
+                }
+            else
+                {
+                CLOG_WRITE( "wep info NULL" );
+                }
+            iWepData[ index] = (*iSecurityInfo)[ aCounter ] ;
+            }
+        SaveWEPL( aId );
+        }
+    else
+        {
+        
+        // Set security mode.        
+        if ( (*iSecurityInfo)[ aCounter ]->CompareF( KStr802_1x ) == 0 )
+            {
+            // 802.1x
+            iSecurityMode = ESecurityMode802;
+            }
+        else if ( (*iSecurityInfo)[ aCounter ]->CompareF( KStrWPA2 ) == 0 )
+            {
+            // WPA2 mode
+            iSecurityMode = ESecurityModeWPA2;
+            }
+        else 
+            {
+            // WPA
+            iSecurityMode = ESecurityModeWPA;
+            }
+
+        aCounter++;
+        TInt end( aCounter + KWPAKeyNumOfFields );
+        
+        for( TInt index(0); aCounter < end; aCounter++, index++ )
+            {
+            if( (*iSecurityInfo)[ aCounter ] != NULL )
+                {
+                CLOG_WRITE_FORMAT( "wpa info %S", (*iSecurityInfo)[ aCounter ] );
+                }
+            else
+                {
+                CLOG_WRITE( "wpa info NULL" );
+                }
+            iWpaData[ index ] = (*iSecurityInfo)[ aCounter ] ;
+            }
+        SaveWPAL( aId );
+        }
+    }
+
+
+     
+// ---------------------------------------------------------
+// WEP Security settings
+// ---------------------------------------------------------     
+
+// ---------------------------------------------------------
+// CProcessorWlan::SaveWEPL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::SaveWEPL( TUint32 aIapId ) 
+    {
+    CMDBSession* session = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    CleanupStack::PushL( session );
+    // Load IAP record
+    CCDIAPRecord* iapRecord = static_cast< CCDIAPRecord * >
+                        ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
+    CleanupStack::PushL( iapRecord );
+    iapRecord->SetRecordId( aIapId );
+    iapRecord->LoadL( *session );
+   
+    // Load WLAN service table
+    // first get WLAN table id
+    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
+        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( generic );    
+    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
+    generic->LoadL( *session );
+    TMDBElementId wlanTableId = generic->TableId();
+    
+    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
+                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
+    
+    TInt service = iapRecord->iService;
+    // prime with service id                
+    *sidField = (TUint32)service;
+       
+    User::LeaveIfError( generic->FindL( *session ) );
+
+    // Save index of key in use
+    TUint32 keyInUse( WEPKeyInUse() );
+    CMDBField<TUint>* keyInUseField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) );
+    keyInUseField->SetL( keyInUse );
+    
+    // Save authentication mode
+    TUint32 auth( WEPAuthentication() );
+    CMDBField<TUint>* authenticationField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) );
+    authenticationField->SetL( auth );
+    
+    // Save WEP keys and key formats  
+    if ( WEPFieldData( EWEPKey1Data )->Length() )
+        {
+        CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
+        WriteKeyL( wepKey1Field,
+                   WEPFieldData( EWEPKey1Data ),
+                   WEPKeyFormat( EWEPKey1Format ) );
+        CMDBField<TUint>* formatKey1Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) );
+        formatKey1Field->SetL( WEPKeyFormat( EWEPKey1Format ) );
+        }
+    if ( WEPFieldData( EWEPKey2Data )->Length() )
+        {
+        CMDBField<TDesC8>* wepKey2Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) );
+        WriteKeyL( wepKey2Field,
+                   WEPFieldData( EWEPKey2Data ),
+                   WEPKeyFormat( EWEPKey2Format ) );
+        CMDBField<TUint>* formatKey2Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) );
+        formatKey2Field->SetL( WEPKeyFormat( EWEPKey2Format ) );
+        }
+    if ( WEPFieldData( EWEPKey3Data )->Length() )
+        {
+        CMDBField<TDesC8>* wepKey3Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) );
+        WriteKeyL( wepKey3Field,
+                   WEPFieldData( EWEPKey3Data ),
+                   WEPKeyFormat( EWEPKey3Format ) );
+        CMDBField<TUint>* formatKey3Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) );
+        formatKey3Field->SetL( WEPKeyFormat( EWEPKey3Format ) );
+        }
+    if ( WEPFieldData( EWEPKey4Data )->Length() )
+        {
+        CMDBField<TDesC8>* wepKey4Field = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) );
+        WriteKeyL( wepKey4Field,
+                   WEPFieldData( EWEPKey4Data ),
+                   WEPKeyFormat( EWEPKey4Format ) );
+        CMDBField<TUint>* formatKey4Field = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) );
+        formatKey4Field->SetL( WEPKeyFormat( EWEPKey4Format ) );
+        }
+    
+    generic->ModifyL( *session );
+
+    CleanupStack::PopAndDestroy( generic ); // generic
+    CleanupStack::PopAndDestroy( iapRecord ); // iapRecord
+    CleanupStack::PopAndDestroy( session ); // session
+    }
+    
+
+// ---------------------------------------------------------
+// CProcessorWlan::WriteKeyL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::WriteKeyL( CMDBField<TDesC8>* aKeyField,                                
+                                HBufC16* aKey,
+                                const TInt aKeyFormat ) 
+    {
+    TBuf8<KMaxLengthOfKeyData> key;
+    
+    //convert to 8 bit
+    key.Copy( aKey->Des() );
+    
+    if ( aKeyFormat == EAscii )
+        {
+        // Must be converted to hexa and stored as a hexa
+        // Ascii key is half the length of Hex
+        HBufC8* buf8Conv = HBufC8::NewLC( key.Length() * KAsciiUnicodeRatio );
+        ConvertAsciiToHex( key, buf8Conv );
+        aKeyField->SetL( buf8Conv->Des() );
+        CleanupStack::PopAndDestroy( buf8Conv );
+        }
+    else if ( VerifyHex( key ) )
+        {
+        //already in hexa format
+        aKeyField->SetL( key );    
+        }
+    else
+        {
+        CLOG_WRITE( "! Error : Invalid hexadecimal format" )
+        }
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WEPFieldData
+// ---------------------------------------------------------
+//
+HBufC16* CProcessorWlan::WEPFieldData( TDbCreatorWEPFields aFieldId ) 
+    {
+    TInt index = WEPIndex( aFieldId );
+    if( iWepData[ index ] == NULL )
+        {
+        return iEmptyTag;
+        }
+    else
+        {
+        return iWepData[ index ];
+        }
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WEPAuthentication
+// ---------------------------------------------------------
+//   
+TInt CProcessorWlan::WEPAuthentication()
+    {
+    HBufC16* authTypeStr = WEPFieldData( EWEPAuthType );
+    TInt authType ( EAuthOpen ) ;
+    
+    _LIT16( KStrOpen,   "Open" );  
+    _LIT16( KStrShared, "Shared" );
+    
+    if ( authTypeStr->CompareF( KStrOpen ) == 0 )
+        {
+        //CLOG_WRITE( "Authentication type : Open" )
+        }
+    else if ( authTypeStr->CompareF( KStrShared ) == 0 )
+        {
+        //CLOG_WRITE( "Authentication type : Shared" )
+        authType = EAuthShared;
+        }
+    else 
+        {
+        //aField is either empty or invalid
+        authType = KErrNotFound;
+        }
+        
+    return authType;
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::WEPKeyInUse
+// ---------------------------------------------------------
+//
+TInt CProcessorWlan::WEPKeyInUse()
+    {  
+    HBufC16* keyStr = WEPFieldData( EWEPKeyInUse );
+    TInt key ( EKeyNumber1 ) ;
+    
+    _LIT16( KStrKey1,   "key1" );  
+    _LIT16( KStrKey2,   "key2" );
+    _LIT16( KStrKey3,   "key3" );
+    _LIT16( KStrKey4,   "key4" );
+    
+    if ( keyStr->CompareF( KStrKey1 ) == 0 )
+        {
+        //CLOG_WRITE( "WEP key in use : key 1" )
+        }
+    else if ( keyStr->CompareF( KStrKey2 ) == 0 )
+        {
+        //CLOG_WRITE( "WEP key in use : key 2" )
+        key = EKeyNumber2;
+        }
+    else if ( keyStr->CompareF( KStrKey3 ) == 0 )
+        {
+        //CLOG_WRITE( "WEP key in use : key 3" )
+        key = EKeyNumber3;
+        }
+    else if ( keyStr->CompareF( KStrKey4 ) == 0 )
+        {
+        //CLOG_WRITE( "WEP key in use : key 4" )
+        key = EKeyNumber4;
+        }
+    else 
+        {
+        //aField is either empty or invalid
+        key = KErrNotFound;
+        }
+        
+    return key;
+    }
+
+
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WEPKeyFormat
+// ---------------------------------------------------------
+// 
+TInt CProcessorWlan::WEPKeyFormat(  TDbCreatorWEPFields aFieldId  )
+    {
+    __ASSERT_ALWAYS( ( aFieldId == EWEPKey1Format || 
+                       aFieldId == EWEPKey2Format ||
+                       aFieldId == EWEPKey3Format ||
+                       aFieldId == EWEPKey4Format ),
+                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                    
+    HBufC16* keyFormatStr = WEPFieldData( aFieldId );
+    TWEPKeyFormat keyFormat ( EAscii ) ;
+    
+    _LIT16( KStrAscii,       "Ascii" );  
+    _LIT16( KStrHexadecimal, "Hexadecimal" );
+    
+    if ( keyFormatStr->CompareF( KStrAscii ) == 0 )
+        {
+        //CLOG_WRITE( "Key format : Ascii" )
+        }
+    else if ( keyFormatStr->CompareF( KStrHexadecimal ) == 0 )
+        {
+        //CLOG_WRITE( "Key format : Hexadecimal" )
+        keyFormat = EHexadecimal;
+        }
+    else 
+        {
+        CLOG_WRITE( "! Error : Invalid key format. Default:Ascii" )
+        }
+        
+    return keyFormat;
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WEPKeyLength
+// ---------------------------------------------------------
+// 
+TWEPKeyLength CProcessorWlan::WEPKeyLength(  TDbCreatorWEPFields aFieldId  )
+    {
+    __ASSERT_ALWAYS( ( aFieldId == EWEPKey1Length || 
+                       aFieldId == EWEPKey2Length ||
+                       aFieldId == EWEPKey3Length ||
+                       aFieldId == EWEPKey4Length ),
+                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                    
+    HBufC16* keyLengthStr = WEPFieldData( aFieldId );
+    TWEPKeyLength keyLen ( E40Bits ) ;
+    
+    _LIT16( KStr64,       "64" );  
+    _LIT16( KStr128,      "128" );
+    _LIT16( KStr256,      "256" );
+    
+    if ( keyLengthStr->CompareF( KStr64 ) == 0 )
+        {
+        //CLOG_WRITE( "Key length : 64" )
+        }
+    else if ( keyLengthStr->CompareF( KStr128 ) == 0 )
+        {
+        //CLOG_WRITE( "Key length : 128" )
+        keyLen = E104Bits;
+        }
+    else if ( keyLengthStr->CompareF( KStr256 ) == 0 )
+        {
+        //CLOG_WRITE( "Key length : 256" )
+        keyLen = E232Bits;
+        }
+    else 
+        {
+        CLOG_WRITE( "! Error : Invalid key length. Default:64" )
+        }
+        
+    return keyLen;
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WEPKeyValidLen
+// ---------------------------------------------------------
+//     
+TInt CProcessorWlan::WEPKeyValidLen(TInt aFormat , TWEPKeyLength aLen )
+    {
+    __ASSERT_ALWAYS( aFormat == EAscii || aFormat == EHexadecimal, 
+                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                     
+    __ASSERT_ALWAYS( aLen == E40Bits || aLen == E104Bits || aLen == E232Bits,
+                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                     
+    TInt len( 0 );
+    
+    switch ( aFormat )
+        {
+        case EAscii:
+            switch ( aLen )
+                {
+                case E40Bits :  len = KKeyDataLength40Bits /
+                                                        KAsciiUnicodeRatio;
+                    break;
+                case E104Bits : len = KKeyDataLength104Bits /
+                                                        KAsciiUnicodeRatio;
+                    break;
+                case E232Bits : len = KKeyDataLength232Bits /
+                                                        KAsciiUnicodeRatio;  
+                }
+            break;
+        case EHexadecimal:
+            switch ( aLen )
+                {
+                case E40Bits :  len = KKeyDataLength40Bits;
+                    break;
+                case E104Bits : len = KKeyDataLength104Bits;
+                    break;
+                case E232Bits : len = KKeyDataLength232Bits;
+                }
+        }
+        
+    return len;
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::WEPIndex
+// ---------------------------------------------------------
+//       
+TInt CProcessorWlan::WEPIndex( TDbCreatorWEPFields aFieldId )
+    {
+    __ASSERT_ALWAYS( aFieldId >= EWEPKeyInUse && aFieldId <= EWEPKey4Data, 
+                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                     
+    return aFieldId - 0x1000 + iDataStart;                     
+                     
+    ////return iWEPIndex[ aFieldId - 0x1000 ];
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::WEPFieldValidate
+// ---------------------------------------------------------
+//   
+TBool CProcessorWlan::WEPFieldValidate()
+    {
+    TBool valid (ETrue);
+    
+    if ( ( WEPAuthentication() == KErrNotFound ) ||
+         ( WEPKeyInUse() == KErrNotFound ) )
+        {
+        valid = EFalse;
+        }
+    else
+        {
+        //gets the actual keylength
+        TInt keyLen[ KMaxNumberofKeys ] = { 0,0,0,0 };
+       
+        keyLen[EKeyNumber1] = WEPFieldData( EWEPKey1Data )->Length();
+        keyLen[EKeyNumber2] = WEPFieldData( EWEPKey2Data )->Length();
+        keyLen[EKeyNumber3] = WEPFieldData( EWEPKey3Data )->Length();
+        keyLen[EKeyNumber4] = WEPFieldData( EWEPKey4Data )->Length();
+
+
+        //check validity of key1 length
+        TInt validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey1Format ), 
+                                        WEPKeyLength( EWEPKey1Length ) );
+        if ( keyLen[EKeyNumber1] && keyLen[EKeyNumber1] != validLen) 
+            {
+            valid = EFalse;
+            CLOG_WRITE_FORMAT( "! Error : Key1 length is invalid %d", 
+                                        keyLen[EKeyNumber1] );
+            CLOG_WRITE_FORMAT( "ValidLen1: %d \n", validLen );
+            }
+        else if ( keyLen[EKeyNumber2] )
+            {    
+            //check validity of key2 length
+            validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey2Format ), 
+                                       WEPKeyLength( EWEPKey2Length ) );
+            if ( keyLen[EKeyNumber2] != validLen )
+                {
+                valid = EFalse;
+                CLOG_WRITE_FORMAT( "! Error : Key2 length is invalid %d", 
+                                            keyLen[EKeyNumber2] )
+                CLOG_WRITE_FORMAT( "ValidLen2: %d \n", validLen );
+                }
+            else if ( keyLen[EKeyNumber3] )
+                {
+                //check validity of key3 length
+                validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey3Format ), 
+                                           WEPKeyLength( EWEPKey3Length ) );
+                if ( keyLen[EKeyNumber3] != validLen )
+                    {
+                    valid = EFalse;
+                    CLOG_WRITE_FORMAT( "! Error : Key3 length is invalid %d", 
+                                                keyLen[EKeyNumber3] );
+                    CLOG_WRITE_FORMAT( "ValidLen3: %d \n", validLen );
+                    }
+                else if ( keyLen[EKeyNumber4] )
+                    {
+                    //check validity of key4 length
+                    validLen = WEPKeyValidLen( WEPKeyFormat( EWEPKey4Format ), 
+                                           WEPKeyLength( EWEPKey4Length ) );
+                    if ( keyLen[EKeyNumber4] != validLen )
+                        {
+                        valid = EFalse;
+                        CLOG_WRITE_FORMAT( "! Error : Key4 length is invalid %d", 
+                                                    keyLen[EKeyNumber4] );
+                        CLOG_WRITE_FORMAT( "ValidLen4: %d \n", validLen );
+                        }//if
+                    }//else                
+                }//else
+            }//else
+        }//else
+        
+    return valid;
+    }
+
+//----------------------------------------------------------
+// CProcessorWlan::ConvertAsciiToHex
+//----------------------------------------------------------
+//
+void CProcessorWlan::ConvertAsciiToHex( const TDesC8& aSource, 
+                                              HBufC8*& aDest )
+	{
+	_LIT( hex, "0123456789ABCDEF" );
+	TInt size = aSource.Size();
+	TPtr8 ptr = aDest->Des();
+	for ( TInt ii = 0; ii < size; ii++ )
+		{
+		TText8 ch = aSource[ii];
+		ptr.Append( hex()[(ch/16)&0x0f] );
+		ptr.Append( hex()[ch&0x0f] );
+		}
+	}
+		
+//----------------------------------------------------------
+// CWEPSecuritySettingsDlg::VerifyHex
+//----------------------------------------------------------
+//
+TBool CProcessorWlan::VerifyHex( const TDesC8& aHex )
+    {
+    TBool err( ETrue );
+    
+    for ( TInt i = 0; i < aHex.Length(); i++ )
+        {
+        TChar c( aHex[i] );
+
+        if ( !c.IsHexDigit() ) 
+            {
+            err = EFalse;
+            break;
+            }
+        }
+
+    return err;
+    }
+   
+    
+// ---------------------------------------------------------
+// WPA Security settings
+// ---------------------------------------------------------
+
+
+// ---------------------------------------------------------
+// CProcessorWlan::SaveWPAL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::SaveWPAL( TUint32 aIapId )
+    {
+    CLOG_WRITE( "CProcessorWlan::SaveWPAL enter" );
+    
+    CMDBSession* session = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    CleanupStack::PushL( session );
+    
+    // Load IAP record
+    CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord *>
+                        ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
+    CleanupStack::PushL( iapRecord );
+    iapRecord->SetRecordId( aIapId );
+    iapRecord->LoadL( *session );
+    
+    // Load WLAN service table
+    // first get WLAN table id
+    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
+        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( generic );
+        
+    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
+    generic->LoadL( *session );
+    TMDBElementId wlanTableId = generic->TableId();
+    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
+                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
+    
+    TInt service = iapRecord->iService;
+    // prime with service id                
+    *sidField = (TUint32)service;
+    
+    User::LeaveIfError( generic->FindL( *session ) );
+       
+    // Set WPA mode
+    CMDBField<TUint>* enableWpaPskField = static_cast<CMDBField<TUint>*>
+                            ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) );
+                            
+    enableWpaPskField->SetL( WPAPresharedKeyInUse() );
+	
+	CLOG_WRITE( "Wrote enableWpaPskField" );
+    
+    // Set security mode
+    CMDBField<TUint>* secModeField = static_cast<CMDBField<TUint>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) );
+    secModeField->SetL( iSecurityMode );
+    
+    CLOG_WRITE( "Wrote securityMode" );
+
+    // Save EAP list
+    SetExpandedEapListL( service );
+    CLOG_WRITE( "Wrote Expanded EAPList" );
+    
+    // Save PreShared Key
+    TBuf8<KMaxLengthOfKeyData> keyWPA;
+    //convert to 8 bit
+    keyWPA.Copy( WPAFieldData( EWPAPresharedKey )->Des() );
+    CMDBField<TDesC8>* wpaPskField = static_cast<CMDBField<TDesC8>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) );
+    wpaPskField->SetL( keyWPA );
+    
+    CLOG_WRITE( "Wrote pre-shared key" );
+    if ( keyWPA.Length() < 8 )
+        {
+        CLOG_WRITE( "Error: WPA pre-shared key is less then 8 chars." );	        
+        }
+
+    // Check and save PreShared Key Length
+    TInt len( WPAKeyLength() );
+    if ( len != keyWPA.Length() )
+        {
+        CLOG_WRITE( "! Error : WPA key lengths do not match" );
+        }
+    
+    CMDBField<TUint>* keyLengthField = static_cast<CMDBField<TUint>*>
+                        ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) );
+    keyLengthField->SetL( len );
+    
+    generic->ModifyL( *session );
+    
+    CleanupStack::PopAndDestroy( generic ); 
+    CleanupStack::PopAndDestroy( iapRecord );
+    CleanupStack::PopAndDestroy( session );
+    CLOG_WRITE( "CProcessorWlan::SaveWPAL exit" );
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::SetExpandedEapListL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::SetExpandedEapListL( const TUint aServiceId )
+    {
+    CLOG_WRITE( "CProcessorWlan::SetExpandedEapListL" )
+    // Gets the text format eap list
+    HBufC16* eapList = WPAFieldData( EWPAEapMethod );
+    
+    if ( eapList != NULL && 0 < eapList->Length() )
+        {
+        // load general EAP settings If
+        CEapGeneralSettings* eapGs;
+        eapGs = CEapGeneralSettings::NewL( ELan, aServiceId );
+        CleanupStack::PushL( eapGs );
+        
+        // get lists of enabled/disabled EAPs for the IAP
+        RArray< TEapExpandedType > enabledEapMethods;
+        RArray< TEapExpandedType > disabledEapMethods;
+        
+        enabledEapMethods.Append( GetExpandedEapTypeIdL( *eapList ) );
+        
+        // disabledEapMethods can be empty, SetEapMethods takes care of it,
+        // only enabledEapMethods is a must with correct contents
+        User::LeaveIfError( eapGs->SetEapMethods( enabledEapMethods, 
+                                                     disabledEapMethods ) );
+   
+        CleanupStack::PopAndDestroy( eapGs );
+        }
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::GetExpandedEapTypeId
+// ---------------------------------------------------------
+//
+TEapExpandedType CProcessorWlan::GetExpandedEapTypeIdL( TDesC& aField )
+    {
+    TUint8 resultByte;
+    TLex16 lex( aField.Ptr() );
+    User::LeaveIfError( lex.Val( resultByte, EDecimal ) );
+    
+    CLOG_WRITE_FORMAT( "CProcessorWlan::GetExpandedEapTypeIdL: EAP %d",
+                    (int)resultByte )
+    
+    switch ( resultByte )
+        {
+        case 0x06:
+            {
+            return *EapExpandedTypeGtc.GetType();
+            }
+        case 0x0d:
+            {
+            return *EapExpandedTypeTls.GetType();
+            }
+        case 0x11:
+            {
+            return *EapExpandedTypeLeap.GetType();
+            }
+        case 0x12:
+            {
+            return *EapExpandedTypeSim.GetType();
+            }
+        case 0x15:
+            {
+            return *EapExpandedTypeTtls.GetType();
+            }
+        case 0x17:
+            {
+            return *EapExpandedTypeAka.GetType();
+            }
+        case 0x19:
+            {
+            return *EapExpandedTypePeap.GetType();
+            }
+        case 0x1a:
+            {
+            return *EapExpandedTypeMsChapv2.GetType();
+            }
+        case 0x2b:
+            {
+            return *EapExpandedTypeFast.GetType();
+            }
+        case 0x01:
+            {
+            return *EapExpandedTypeProtectedSetup.GetType();
+            }
+        case 0x62:
+            {
+            return *EapExpandedTypeTtlsPap.GetType();
+            }
+        case 0x63:
+            {
+            return *EapExpandedPlainMsChapv2.GetType();
+            }
+        default:
+            {
+            return *EapExpandedTypeNone.GetType();
+            }
+        }
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::WPAIndex
+// ---------------------------------------------------------
+//       
+TInt CProcessorWlan::WPAIndex( TDbCreatorWPAFields aFieldId )
+    {
+    __ASSERT_ALWAYS( aFieldId >= EWPAPresharedKey && aFieldId <= EWPAUseOfPresharedKey, 
+                     User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                     
+    return aFieldId - 0x2000 + iDataStart;                     
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WPAFieldData
+// ---------------------------------------------------------
+//
+HBufC16* CProcessorWlan::WPAFieldData( TDbCreatorWPAFields aFieldId ) 
+    {
+    TInt index = WPAIndex( aFieldId );
+    if( iWpaData[ index ] == NULL )
+        {
+        return iEmptyTag;
+        }
+    else
+        {
+        return iWpaData[ index ];
+        }
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WPAPresharedKeyInUse
+// ---------------------------------------------------------
+//
+TBool CProcessorWlan::WPAPresharedKeyInUse()
+    {
+    HBufC16* useStr = WPAFieldData( EWPAUseOfPresharedKey );   
+
+    TBool usePSK ( EFalse ) ;
+    
+    if ( useStr->CompareF( KStrYes ) == 0 )
+        {
+        CLOG_WRITE( "Preshared key in use" )
+        usePSK = ETrue;
+        }
+    else if ( useStr->CompareF( KStrNo ) == 0 )
+        {
+        CLOG_WRITE( "Preshared key not in use" );
+        }
+    else 
+        {
+        //aField is either empty or invalid
+        CLOG_WRITE( "! Error : Invalid Use WPA preshared key. Default:No" );
+        }
+        
+    return usePSK;
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::WPAKeyLength
+// ---------------------------------------------------------
+//
+TInt CProcessorWlan::WPAKeyLength() 
+    {
+    HBufC16* tag = WPAFieldData( EWPAKeyLength );   
+    
+    TInt num( 0 );
+    TLex parser( tag->Des() );
+
+    if ( parser.Val( num ) != KErrNone )
+        {
+        CLOG_WRITE( "! Error : Invalid input : WPA key length" );
+        }
+        
+    return num;
+    }
+
+// ---------------------------------------------------------
+// CProcessorWlan::AddSecurityDataL
+// ---------------------------------------------------------
+//   
+void CProcessorWlan::AddSecurityDataL( TInt aField, HBufC* aPtrTag, TBool aIsWep )
+    {
+    if( aIsWep )
+        {
+        iWepData[ WEPIndex( (TDbCreatorWEPFields)aField ) ] = aPtrTag->AllocL();
+        ////iWepData.Insert( aPtrTag->AllocL(), WEPIndex( (TDbCreatorWEPFields)aField ) );
+        }
+    else    
+        {
+        iWpaData[ WPAIndex( (TDbCreatorWPAFields)aField ) ] = aPtrTag->AllocL();
+        ////iWpaData.Insert( aPtrTag->AllocL(), WPAIndex( (TDbCreatorWPAFields)aField ) );
+        }
+    }        
+        
+// ---------------------------------------------------------
+// CProcessorWlan::DoLogL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::DoLogL()
+    {
+    // Writes some data of the actual WLAN access point into the log file.
+    HBufC16* tmp;
+    RCmConnectionMethodExt& plugin = GetLastPluginL();
+
+    // Writes some data of the Internet acces point into the log file.
+    if ( iIsEasyWlan )
+        {
+        CLOG_WRITE( "Easy WLAN Access Point created:" )
+        }
+    else
+        {
+        CLOG_WRITE( "WLAN Access Point created:" )
+        }
+        
+    CLOG_WRITE_FORMAT( "\t Connection name in array: %S ", 
+                        (*iPluginName)[ PluginCount() - 1] );  
+        
+    tmp = plugin.GetStringAttributeL( ECmName );
+    if( tmp )
+        {
+        CleanupStack::PushL( tmp );
+        CLOG_WRITE_FORMAT( "\t Connection name: %S ", tmp )
+        CleanupStack::PopAndDestroy( tmp );
+        }
+
+    // For the WLAN network name
+    tmp = plugin.GetStringAttributeL( EWlanSSID );
+    if( tmp )
+        {
+        CleanupStack::PushL( tmp );
+        CLOG_WRITE_FORMAT( "\t Network name: %S", tmp )
+        CleanupStack::PopAndDestroy( tmp );
+        }
+    CLOG_WRITE( "\t \r\n" )
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorWlan::Reset
+// ---------------------------------------------------------
+//
+void CProcessorWlan::Reset()
+    {
+    for( TInt i = 0; i < KWEPKeyNumOfFields; i++ )
+        {
+        iWepData[i] = NULL;
+        }
+    for( TInt i = 0; i < KWPAKeyNumOfFields; i++ )
+        {
+        iWpaData[i] = NULL;
+        }
+    }
+    
+// ---------------------------------------------------------
+// CProcessorWlan::EAPSetting
+// ---------------------------------------------------------
+//
+TBool CProcessorWlan::EAPSetting( const TInt aField )
+	{
+	// Checks if the supplied field is EAP settings and returns ETrue if it is
+	if ( aField > EEapParameterFirst
+		 && aField < EEapParameterLast )
+		{
+		return ETrue;
+		}
+	else
+		{
+		return EFalse;
+		}
+	}
+
+// ---------------------------------------------------------
+// CProcessorWlan::GetEapTypeIdFromSettingId
+// ---------------------------------------------------------
+//
+TEapExpandedType CProcessorWlan::GetEapTypeIdFromSettingId( const TInt aField )
+	{
+	switch ( aField )
+		{
+		case EEapGtcUsername:
+		case EEapGtcSessionValidityTime:
+		case EEapGtcEncapsulation:
+			{
+			return *EapExpandedTypeGtc.GetType();
+			}
+		case EEapTlsUsername:
+		case EEapTlsRealm:
+		case EEapTlsVerifyServerRealm:
+		case EEapTlsRequireClientAuth:
+		case EEapTlsSessionValidityTime:
+		case EEapTlsCipherSuites:
+		case EEapTlsUserCertSubjectKeyId:
+		case EEapTlsUserCertIssuerName:
+		case EEapTlsUserCertSerialNumber:
+		case EEapTlsCaCertSubjectKeyId:
+		case EEapTlsCaCertIssuerName:
+		case EEapTlsCaCertSerialNumber:
+		case EEapTlsEncapsulation:
+			{
+			return *EapExpandedTypeTls.GetType();
+			}
+		case EEapLeapUsername:
+		case EEapLeapPassword:
+		case EEapLeapSessionValidityTime:
+			{
+			return *EapExpandedTypeLeap.GetType();
+			}
+		case EEapSimUsername:
+		case EEapSimRealm:
+		case EEapSimUsePseudonyms:
+		case EEapSimSessionValidityTime:
+		case EEapSimEncapsulation:
+			{
+			return *EapExpandedTypeSim.GetType();
+			}
+		case EEapTtlsUsername:
+		case EEapTtlsRealm:
+		case EEapTtlsVerifyServerRealm:
+		case EEapTtlsRequireClientAuth:
+		case EEapTtlsSessionValidityTime:
+		case EEapTtlsCipherSuites:
+		case EEapTtlsEncapsulatedTypes:
+		case EEapTtlsUserCertSubjectKeyId:
+		case EEapTtlsUserCertIssuerName:
+		case EEapTtlsUserCertSerialNumber:
+		case EEapTtlsCaCertSubjectKeyId:
+		case EEapTtlsCaCertIssuerName:
+		case EEapTtlsCaCertSerialNumber:
+			{
+			return *EapExpandedTypeTtls.GetType();
+			}
+		case EEapAkaUsername:
+		case EEapAkaRealm:
+		case EEapAkaUsePseudonyms:
+		case EEapAkaSessionValidityTime:
+		case EEapAkaEncapsulation:
+			{
+			return *EapExpandedTypeAka.GetType();
+			}
+		case EEapPeapUsername:
+		case EEapPeapRealm:
+		case EEapPeapVerifyServerRealm:
+		case EEapPeapRequireClientAuth:
+		case EEapPeapSessionValidityTime:
+		case EEapPeapCipherSuites:
+		case EEapPeapV0Allowed:
+		case EEapPeapV1Allowed:
+		case EEapPeapV2Allowed:
+		case EEapPeapEncapsulatedTypes:
+		case EEapPeapUserCertSubjectKeyId:
+		case EEapPeapUserCertIssuerName:
+		case EEapPeapUserCertSerialNumber:
+		case EEapPeapCaCertSubjectKeyId:
+		case EEapPeapCaCertIssuerName:
+		case EEapPeapCaCertSerialNumber:		
+			{
+			return *EapExpandedTypePeap.GetType();
+			}
+		case EEapMschapv2Username:
+		case EEapMschapv2Password:
+		case EEapMschapv2SessionValidityTime:
+		case EEapMschapv2Encapsulation:
+			{
+			return *EapExpandedTypeMsChapv2.GetType();
+			}
+		case EEapFastUsername:
+		case EEapFastRealm:
+		case EEapFastVerifyServerRealm:
+		case EEapFastRequireClientAuth:
+		case EEapFastSessionValidityTime:
+		case EEapFastCipherSuites:
+		case EEapFastEncapsulatedTypes:
+		case EEapFastAuthProvModeAllowed:
+		case EEapFastUnauthProvModeAllowed:
+		case EEapFastWarnADHPNoPAC:
+		case EEapFastWarnADHPNoMatchingPAC:
+		case EEapFastWarnNotDefaultServer:
+		case EEapFastUserCertSubjectKeyId:
+		case EEapFastUserCertIssuerName:
+		case EEapFastUserCertSerialNumber:
+		case EEapFastCaCertSubjectKeyId:
+		case EEapFastCaCertIssuerName:
+		case EEapFastCaCertSerialNumber:
+			{
+			return *EapExpandedTypeFast.GetType();
+			}
+		
+		case EMschapv2Username:
+		case EMschapv2Password:
+		case EMschapv2SessionValidityTime:
+		case EMschapv2Encapsulation:
+			{
+			return *EapExpandedPlainMsChapv2.GetType();
+			}
+		default:
+			{
+			return *EapExpandedTypeNone.GetType();
+			}
+		
+		}
+	}
+	
+// ---------------------------------------------------------
+// CProcessorWlan::AddEAPSetting
+// ---------------------------------------------------------
+//
+void CProcessorWlan::AddEAPSettingL( const TInt aField, HBufC16* aValue  )
+    {
+    TEapExpandedType eapId = GetEapTypeIdFromSettingId( aField );
+    if ( eapId == *EapExpandedTypeNone.GetType() )
+    	{
+    	CLOG_WRITE( "! Error : Unknown EAP method" );
+    	User::Leave( KErrArgument ); 
+    	}
+    
+	TInt eapIndex(0);
+	// Search if the EAP instance already exists in the array for this
+	for ( eapIndex = 0 ; eapIndex < iEapSettings.Count() ; eapIndex++ )
+		{       				
+		if ( ( iEapSettings[eapIndex]->iEapSettings->iEAPExpandedType == eapId )
+			 && ( iEapSettings[eapIndex]->iName != NULL ) 
+			 && ( iEapSettings[eapIndex]->iName->Compare( *iName ) == 0 ))        					 	
+		 	{       				
+		 	// Found it
+		 	break;
+		 	}
+		}
+		
+	if ( eapIndex == iEapSettings.Count() )
+		{
+		// Not found. Create new
+		CEapTypeElement* newEap = new (ELeave) CEapTypeElement;
+		CleanupStack::PushL( newEap );
+		
+		newEap->iEapSettings = new (ELeave) EAPSettings;
+		
+		newEap->iEapSettings->iEAPExpandedType = eapId;
+		
+		newEap->iName = iName->AllocL();                           
+		               	    	
+		iEapSettings.AppendL(newEap);
+		
+		CleanupStack::Pop( newEap );
+		
+		// Set the index to the newly created EAP settings instance
+		eapIndex = iEapSettings.Count() - 1;
+		
+		}
+	switch ( aField )
+		{
+		case EEapGtcUsername:
+		case EEapTlsUsername:
+		case EEapLeapUsername:
+		case EEapSimUsername:
+		case EEapTtlsUsername:
+		case EEapAkaUsername:
+		case EEapPeapUsername:
+		case EEapMschapv2Username:
+		case EEapFastUsername:
+		case EMschapv2Username:
+			{
+			iEapSettings[eapIndex]->iEapSettings->iUsernamePresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUsername.Copy( *aValue );
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticUsernamePresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticUsername = EFalse;
+			break;
+			}
+			
+		case EEapLeapPassword:
+		case EEapMschapv2Password:
+		case EMschapv2Password:
+			{
+			iEapSettings[eapIndex]->iEapSettings->iPasswordPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iPassword.Copy( *aValue );
+			iEapSettings[eapIndex]->iEapSettings->iShowPassWordPromptPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticUsername = EFalse;
+			break;
+			}
+
+		case EEapTlsRealm:
+		case EEapSimRealm:
+		case EEapTtlsRealm:
+		case EEapAkaRealm:
+		case EEapPeapRealm:
+		case EEapFastRealm:
+			{
+			iEapSettings[eapIndex]->iEapSettings->iRealmPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iRealm.Copy( *aValue );
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticRealmPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticRealm = EFalse;
+			break;
+			}
+				
+		case EEapGtcSessionValidityTime:
+		case EEapTtlsSessionValidityTime:
+		case EEapTlsSessionValidityTime:
+		case EEapSimSessionValidityTime:
+		case EEapLeapSessionValidityTime:
+		case EMschapv2SessionValidityTime:
+		case EEapAkaSessionValidityTime:
+		case EEapPeapSessionValidityTime:
+		case EEapMschapv2SessionValidityTime:
+		case EEapFastSessionValidityTime:
+			{
+		    // Convert the input parameter to integer
+	    	TLex lex( *aValue );
+			TUint value( 0 );
+			if( lex.Val( value, EDecimal) != KErrNone )
+				{				
+				CLOG_WRITE_FORMAT( "! Error : Invalid session validity time value. EapId: %d", eapId.GetVendorType() );
+				User::Leave( KErrArgument );
+				}			
+
+			iEapSettings[eapIndex]->iEapSettings->iSessionValidityTimePresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iSessionValidityTime = value;
+			break;
+			}
+				
+		case EEapGtcEncapsulation:
+		case EEapTlsEncapsulation:
+		case EEapSimEncapsulation:
+		case EEapAkaEncapsulation:
+		case EEapMschapv2Encapsulation:
+		case EMschapv2Encapsulation:
+			{
+			TLex lex( *aValue );				
+			TUint eapTypeId( 0 );						
+			if( lex.Val( eapTypeId, EDecimal) != KErrNone )
+				{
+				CLOG_WRITE_FORMAT( "! Error : Invalid encapsulation value. EapId: %d", eapId.GetVendorType() );
+				User::Leave( KErrArgument );
+				}			
+			iEapSettings[eapIndex]->iEncapsulatingEapId.SetValue( eapId.GetVendorId(), eapTypeId ); 
+			break;
+			}
+		
+		case EEapTlsVerifyServerRealm:
+		case EEapTtlsVerifyServerRealm:
+		case EEapPeapVerifyServerRealm:
+		case EEapFastVerifyServerRealm:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+                {
+				iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealmPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealm = ETrue;
+                }
+            else if ( !aValue->CompareF( KStrNo ) )
+                {
+                iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealmPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iVerifyServerRealm = EFalse;
+                }
+            else 
+                {                
+                CLOG_WRITE_FORMAT( "! Error : Invalid VerifyServerRealm. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+                }
+
+			break;
+			}
+						
+		case EEapTlsRequireClientAuth:
+		case EEapTtlsRequireClientAuth:		
+		case EEapPeapRequireClientAuth:
+		case EEapFastRequireClientAuth:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+                {
+				iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthenticationPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthentication = ETrue;
+                }
+            else if ( !aValue->CompareF( KStrNo ) )
+                {
+                iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthenticationPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iRequireClientAuthentication = EFalse;
+                }
+            else 
+                {                
+                CLOG_WRITE_FORMAT( "! Error : Invalid RequireClientAuth. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+                }
+			
+			break;
+			}
+		
+		case EEapTlsCipherSuites:
+		case EEapTtlsCipherSuites:
+		case EEapPeapCipherSuites:
+		case EEapFastCipherSuites:
+			{
+			TRAPD( err, FillCipherSuitesL( aValue, eapIndex ) );
+			if( err != KErrNone )
+				{
+				CLOG_WRITE_FORMAT( "! Error : Invalid CipherSuites. EapId: %d", eapId.GetVendorType() );
+				User::Leave( KErrArgument );
+				}
+			break;
+			}
+		
+		case EEapTlsUserCertSubjectKeyId:
+		case EEapTtlsUserCertSubjectKeyId:
+		case EEapPeapUserCertSubjectKeyId:
+		case EEapFastUserCertSubjectKeyId:
+			{
+			TInt certIndex = FindCertificateEntryL( EapCertificateEntry::EUser, eapIndex ); 
+
+			TKeyIdentifier key;
+			
+			TRAPD( err, ConvertSubjectKeyIdToBinaryL( aValue, key) );
+			if( err != KErrNone )
+				{
+				CLOG_WRITE_FORMAT( "! Error : Invalid UserCertSubjectKeyId. EapId: %d", eapId.GetVendorType() );
+				User::Leave( KErrArgument );
+				}
+   			
+   			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
+   			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
+   			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyId( key );
+   			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyIdPresent();
+			break;
+			}
+		
+		case EEapTlsUserCertIssuerName:
+		case EEapTtlsUserCertIssuerName:
+		case EEapPeapUserCertIssuerName:
+		case EEapFastUserCertIssuerName:
+			{
+			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::EUser, eapIndex ); 
+			
+			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyIdPresent();
+	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIssuerName( *aValue );			
+			break;
+			}
+		
+		case EEapTlsUserCertSerialNumber:
+		case EEapTtlsUserCertSerialNumber:
+		case EEapPeapUserCertSerialNumber:
+		case EEapFastUserCertSerialNumber:
+			{
+			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::EUser, eapIndex );
+			
+			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumberPresent();
+	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumber( *aValue );			
+			break;
+			}
+		
+		case EEapTlsCaCertSubjectKeyId:
+		case EEapTtlsCaCertSubjectKeyId:
+		case EEapPeapCaCertSubjectKeyId:
+		case EEapFastCaCertSubjectKeyId:
+			{
+			TInt certIndex = FindCertificateEntryL( EapCertificateEntry::ECA, eapIndex ); 
+
+			TKeyIdentifier key;
+			
+			TRAPD( err, ConvertSubjectKeyIdToBinaryL( aValue, key) );
+			if( err != KErrNone )
+				{
+				CLOG_WRITE_FORMAT( "! Error : Invalid UserCertSubjectKeyId. EapId: %d", eapId.GetVendorType() );
+				User::Leave( KErrArgument );
+				}
+
+			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyId( key );
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSubjectKeyIdPresent();
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificatePresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificate = EFalse;
+			break;
+			}
+		
+		case EEapTlsCaCertIssuerName:
+		case EEapTtlsCaCertIssuerName:		
+		case EEapPeapCaCertIssuerName:
+		case EEapFastCaCertIssuerName:
+			{
+			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::ECA, eapIndex ); 
+			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIssuerNamePresent();
+	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIssuerName( *aValue );
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificatePresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificate = EFalse;
+			
+			break;
+			}
+		
+		case EEapTlsCaCertSerialNumber:
+		case EEapTtlsCaCertSerialNumber:		
+		case EEapPeapCaCertSerialNumber:
+		case EEapFastCaCertSerialNumber:
+			{
+			TUint certIndex = FindCertificateEntryL( EapCertificateEntry::ECA, eapIndex ); 
+			iEapSettings[eapIndex]->iEapSettings->iCertificatesPresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetIsEnabled( ETrue );
+			iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumberPresent();
+	 		iEapSettings[eapIndex]->iEapSettings->iCertificates[certIndex]->SetSerialNumber( *aValue );
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificatePresent = ETrue;
+			iEapSettings[eapIndex]->iEapSettings->iUseAutomaticCACertificate = EFalse;
+			break;
+			}
+		
+		case EEapSimUsePseudonyms:
+		case EEapAkaUsePseudonyms:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iUsePseudonymsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iUsePseudonyms = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iUsePseudonymsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iUsePseudonyms = EFalse;
+	            }
+	        else 
+	            {
+	            CLOG_WRITE_FORMAT( "! Error : Invalid UsePseudonyms. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			break;
+			}
+				
+		case EEapTtlsEncapsulatedTypes:
+		case EEapPeapEncapsulatedTypes:
+		case EEapFastEncapsulatedTypes:
+			{
+			iEapSettings[eapIndex]->iEapSettings->iEnabledEncapsulatedEAPExpandedTypes.Append( GetExpandedEapTypeIdL( *aValue ) );
+            iEapSettings[eapIndex]->iEapSettings->iEnabledEncapsulatedEAPExpandedTypesPresent = ETrue;
+			break;
+			}
+		
+		case EEapPeapV0Allowed:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iPEAPv0Allowed = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iPEAPv0Allowed = EFalse;
+	            }
+	        else 
+	            {
+   	            CLOG_WRITE_FORMAT( "! Error : Invalid EapPeapV0Allowed. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+		
+		case EEapPeapV1Allowed:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iPEAPv1Allowed = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iPEAPv1Allowed = EFalse;
+	            }
+	        else 
+	            {
+   	            CLOG_WRITE_FORMAT( "! Error : Invalid EapPeapV1Allowed. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+		
+		case EEapPeapV2Allowed:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iPEAPv2Allowed = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iPEAPVersionsPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iPEAPv2Allowed = EFalse;
+	            }
+	        else 
+	            {
+   	            CLOG_WRITE_FORMAT( "! Error : Invalid EapPeapV2Allowed. EapId: %d", eapId.GetVendorType() );
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+				
+		case EEapFastAuthProvModeAllowed:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowedPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowed = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowedPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iAuthProvModeAllowed = EFalse;
+	            }
+	        else 
+	            {
+  	            CLOG_WRITE_FORMAT( "! Error : Invalid EEapFastAuthProvModeAllowed. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+		
+		case EEapFastUnauthProvModeAllowed:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowedPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowed = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowedPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iUnauthProvModeAllowed = EFalse;
+	            }
+	        else 
+	            {
+
+  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastUnauthProvModeAllowed. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+		
+		case EEapFastWarnADHPNoPAC:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPACPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPAC = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPACPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoPAC = EFalse;
+	            }
+	        else 
+	            {
+  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastWarnADHPNoPAC. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+		
+		case EEapFastWarnADHPNoMatchingPAC:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPACPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPAC = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPACPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iWarnADHPNoMatchingPAC = EFalse;
+	            }
+	        else 
+	            {
+  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastWarnADHPNoMatchingPAC. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+		
+		case EEapFastWarnNotDefaultServer:
+			{
+            if ( !aValue->CompareF( KStrYes ) )
+	            {
+				iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServerPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServer = ETrue;
+	            }
+	        else if ( !aValue->CompareF( KStrNo ) )
+	            {
+	            iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServerPresent = ETrue;
+				iEapSettings[eapIndex]->iEapSettings->iWarnNotDefaultServer = EFalse;
+	            }
+	        else 
+	            {
+  	            CLOG_WRITE_FORMAT( "! Error : Invalid EapFastWarnNotDefaultServer. EapId: %d", eapId.GetVendorType() );                
+                User::Leave( KErrArgument );
+	            }
+			
+			break;
+			}
+			
+		default:		
+			{
+			
+			}
+		}
+    }
+// ---------------------------------------------------------
+// CProcessorWlan::FillCipherSuitesL
+// ---------------------------------------------------------
+//
+void CProcessorWlan::FillCipherSuitesL( const HBufC16* const aPtrTag, const TInt aEapIndex )
+    {
+    if ( iEapSettings[aEapIndex] == NULL )
+        {
+		User::Leave( KErrArgument );
+        }
+
+    iEapSettings[aEapIndex]->iEapSettings->iCipherSuites.Reset();
+    iEapSettings[aEapIndex]->iEapSettings->iCipherSuitesPresent = EFalse; // init to EFalse
+    
+    TChar plus( '+' );
+    
+    TBuf8<256> tmpBuf;
+   	tmpBuf.Copy( *aPtrTag);
+   			
+    TInt length = tmpBuf.Length();
+    
+    for ( TInt i = 0 ; i + 3 < length ; i += 5)
+        {
+        if ( tmpBuf[i] == plus )
+            {
+            TLex8 lex( tmpBuf.Mid( i + 1, 3) );
+            TUint suite;
+            User::LeaveIfError( lex.Val( suite ) );
+            iEapSettings[aEapIndex]->iEapSettings->iCipherSuites.Append(suite);
+            iEapSettings[aEapIndex]->iEapSettings->iCipherSuitesPresent = ETrue;
+            }
+        }
+	}
+    
+// ---------------------------------------------------------
+// CProcessorWlan::FindCertificateEntry
+// ---------------------------------------------------------
+//
+TUint CProcessorWlan::FindCertificateEntryL( const EapCertificateEntry::TCertType aCertType, const TInt aEapIndex )
+    {
+    TUint certIndex( 0 );
+	for( certIndex = 0; certIndex < iEapSettings[aEapIndex]->iEapSettings->iCertificates.Count() ; certIndex++ )
+		{
+		if( iEapSettings[aEapIndex]->iEapSettings->iCertificates[certIndex]->GetCertType() == aCertType )
+			{
+			// Found
+			break;
+			}
+		}
+	if( certIndex == iEapSettings[aEapIndex]->iEapSettings->iCertificates.Count() )
+		{
+		// Not found. Create
+		EapCertificateEntry* entry;
+		entry = new (ELeave) EapCertificateEntry;
+		entry->SetCertType( aCertType );
+
+		iEapSettings[aEapIndex]->iEapSettings->iCertificates.AppendL( entry );
+
+		certIndex = iEapSettings[aEapIndex]->iEapSettings->iCertificates.Count() - 1;
+		}
+	return certIndex;	
+	}
+
+// ---------------------------------------------------------
+// CProcessorWlan::ConvertSubjectKeyIdToBinary
+// ---------------------------------------------------------
+//
+void CProcessorWlan::ConvertSubjectKeyIdToBinaryL( const HBufC16* const aSubjectKeyIdString, TKeyIdentifier& aBinaryKey)
+	{
+	TInt err( KErrNone );
+	
+		// Define literals to search the subject key for possible 0X/0x beginning
+	_LIT(KHexIdLC, "0x");
+	_LIT(KHexIdUC, "0X");
+	TBuf<2> hexIdBuf;
+	
+	// The lenght of the key given as input
+	TInt keyLen = aSubjectKeyIdString->Length();
+	
+	// setting the given key to the key buffer
+	TBuf8<256> origKey;
+	
+	origKey.Copy( *aSubjectKeyIdString );
+	origKey.SetLength(keyLen);
+		
+	TLex8 tmpByte;
+	TUint16 byte;
+	
+	// Remove possible spaces from the beginning
+	origKey.TrimLeft();
+	
+	// the key should be atleast two chars long
+	if (origKey.Length() >= 2)
+		{
+		// Copy the two left most characters in to the buffer
+		hexIdBuf.Copy(origKey.Left(2));
+		
+		// If the first characters are 0x or 0X, then thet should be ignored
+		if (hexIdBuf.Compare(KHexIdLC) == 0
+				|| hexIdBuf.Compare(KHexIdUC) == 0)
+			{
+			// delete two characters
+			origKey.Delete(0, 2);
+			}
+		}
+
+
+	// looping the subject key through, removing whitespaces
+	for (TInt i = 0; i < KKeyIdentifierLength; i++)
+		{
+		// removing white spaces from the left side of the key
+		origKey.TrimLeft();
+		// check that there are characters left
+		if (origKey.Length() >= 2)
+			{
+			// pick the two left most bytes from the key
+			tmpByte = origKey.Left(2);
+			// convert byte into binary format
+			err = tmpByte.Val(byte, EHex);
+			
+			// check whether conversion to decimal went ok
+			if (err != KErrNone)
+				{
+				// if there are problems, then leave the loop
+				break;
+				}
+			
+			// store the appended byte into the key variable
+			aBinaryKey.Append(byte);
+			// delete two characters from the left side of the character array in the buffer
+			origKey.Delete(0, 2);
+			}
+		else {
+			// leave the loop, no characters are left			
+			break;
+			}
+		}
+	User::LeaveIfError( err );		
+	}
+	
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcreaderbase.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CReaderBase
+*
+*/
+
+
+
+
+// INCLUDE FILES
+
+#include "cdcreaderbase.h"
+#include "cdclogger.h"
+
+#include "cdcerrors.h"
+#include "cdccommon.h"
+
+// CONSTANTS
+
+// ================= MEMBER FUNCTIONS =======================
+
+//---------------------------------------------------------
+// Constructor & Destructor
+//---------------------------------------------------------
+//
+CReaderBase::~CReaderBase()
+    {
+    CLOSE_LOG;
+    //no implementation required
+    delete iTagContainer;
+    
+    iInputFile.Close();
+    iFs.Close();
+    }
+    
+    
+CReaderBase::CReaderBase( TDbCreatorInputFile aFileType,
+                          TDbCreatorFeatures aFeature ):
+    iCurrentFeature( aFeature ),
+    iTagContainer( NULL ),
+    iFileType( aFileType )
+    {
+        //no implementation required
+    }
+
+// ---------------------------------------------------------
+// CProcessorBase::ConstructL
+// ---------------------------------------------------------
+//
+void CReaderBase::ConstructL( const TDesC& aInFileName )
+    {
+    User::LeaveIfError( iFs.Connect() );
+
+    TInt error( iInputFile.Open( iFs, aInFileName,
+                        EFileShareReadersOnly | EFileStream | EFileRead ) );
+                        
+    if ( error == KErrNotFound )
+        {
+        User::Leave( KErrNotFound );
+        }
+    else if ( error )
+        {
+        User::Leave( KErrFileCannotBeOpened );
+        }
+    else
+        {
+        //nothing to do    
+        }
+    
+    ////iFs.MkDirAll( KFullLogDir );
+
+    CREATE_LOG;
+
+    ////User::LeaveIfError( iLogFile.Connect() );
+    ////iLogFile.CreateLog( KLogDir, KLogFile , EFileLoggingModeAppend );
+    
+       iTagContainer = CTagContainer::NewL();
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorBase::TagContainer
+// ---------------------------------------------------------
+//
+CTagContainer& CReaderBase::TagContainer()
+    {
+    return *iTagContainer;
+    }
+    
+    
+// ---------------------------------------------------------
+// CProcessorBase::InputFile
+// ---------------------------------------------------------
+//
+RFile& CReaderBase::InputFile()
+    {
+    return iInputFile;
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorBase::FileLogger
+// ---------------------------------------------------------
+//
+RFileLogger& CReaderBase::FileLogger()
+    {
+    return iLogFile;    
+    }
+
+
+// ---------------------------------------------------------
+// CProcessorBase::FieldIDPresent
+// ---------------------------------------------------------
+//
+TBool CReaderBase::FieldIDPresent()
+    {
+    return ( iFileType == EFileXML );    
+    }
+
+    
+// ---------------------------------------------------------
+// CProcessorBase::CurrentFeature
+// ---------------------------------------------------------
+//
+TDbCreatorFeatures CReaderBase::CurrentFeature()
+    {
+    return iCurrentFeature;    
+    }
+    
+//End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcreaderxml.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,1821 @@
+/*
+* Copyright (c) 2004-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:
+* Implementation of the class CReaderXML
+*/
+ 
+// INCLUDE FILES
+
+#include "cdcreaderxml.h"
+#include "cdclogger.h"
+
+#include <utf.h>
+#include <cmpluginpacketdatadef.h>
+#include <cmplugindialcommondefs.h>
+#include <cmpluginlandef.h>
+#include <cmpluginwlandef.h>
+#include <cmpluginvpndef.h>
+#include <cmconnectionmethoddef.h>
+
+using namespace CMManager;
+
+//TYPE DECLARATION
+
+//CONSTANTS
+//
+// Literals in XML header
+_LIT16( KXmlVersion,       "xml version" );
+_LIT16( KEncoding,         "encoding" );
+_LIT16( KEncodingUtf8,     "UTF-8" );
+
+// File tail marker
+_LIT16( KFileTail,         "</Variant>");
+_LIT16( KFileTail2,         "</Data>");
+
+// Feature head markers
+_LIT16( KFeatureHeadPacketData, "<APs>" );
+_LIT16( KFeatureHeadWLAN,       "<WLAN_APs>" );
+_LIT16( KFeatureHeadLAN,        "<LAN_APs>" );
+_LIT16( KFeatureHeadVPN,        "<VPN_APs>" );
+_LIT16( KFeatureHeadGlobal,     "<Global>" );
+_LIT16( KFeatureHeadDN,         "<DNs>" );
+
+// Feature tail markers
+_LIT16( KFeatureTailPacketData, "</APs>" );
+_LIT16( KFeatureTailWLAN,       "</WLAN_APs>" );
+_LIT16( KFeatureTailLAN,        "</LAN_APs>" );
+_LIT16( KFeatureTailVPN,        "</VPN_APs>" );
+_LIT16( KFeatureTailGlobal,     "</Global>" );
+_LIT16( KFeatureTailDN,         "</DNs>" );
+
+// Feature data head markers
+_LIT16( KDataHeadPacketData, "<AP>" );
+_LIT16( KDataHeadWLAN,       "<WLAN_AP>" );
+_LIT16( KDataHeadLAN,        "<LAN_AP>" );
+_LIT16( KDataHeadVPN,        "<VPN_AP>" );
+_LIT16( KDataHeadDN,         "<DN>" );
+
+// Feature data tail markers
+_LIT16( KDataTailPacketData, "</AP>" );
+_LIT16( KDataTailWLAN,       "</WLAN_AP>" );
+_LIT16( KDataTailLAN,        "</LAN_AP>" );
+_LIT16( KDataTailVPN,        "</VPN_AP>" );
+_LIT16( KDataTailDN,         "</DN>" );
+
+// Parameter Markers
+// <ParamName>ParamValue</ParamName>
+_LIT16( KParamValueHead,        ">" );
+_LIT16( KParamValueTail,        "</" );
+_LIT16( KParamNameHead,         "<" );
+_LIT16( KParamNameTail,         ">" );
+
+
+//maximum line size
+const TInt16 KMaxLineSize   = 1024;
+//maximum item (tag) size
+const TInt16 KMaxItemLength = 100;
+
+// ratio between ascii and unicode character sizes
+const TUint KAsciiUnicodeRatio = 2;
+
+//  Following table contains the input parameter names:
+//
+//    Name                Type    Description
+//----------------------------------------------------------------------------
+//General & Gprs specific:
+//========================
+//KConnectionName         string    The name of the access point.
+//KProtected              string    Protection
+//KHidden                 string    CM/DN is hidden
+//KHiddenAgent            string    CM/DN is not shown in CConnDlg
+//KHighlighted            string    CM/DN is highlighted in CConnDlg
+//KSeamlessness           string    Seamlessness value
+//KGprs_AP_Name           string    Access point name.
+//KUserName               string    Login user name
+//KPromptPassword         string    Prompts the user for username and 
+//                                  password
+//KPassword               string    Login password.
+//KPasswordAuthType       string    Disables plain text authentication.
+//KWAPGatewayIP           string    WAP gateway address (IP address).
+//KStartingPage           string    WAP start page URL.
+//KWTLS_Security          string    Attempts a secure WTLS connection 
+//                                  to the gateway.
+//KWAP_ConnectionType     string    Indicates whether a connection-
+//                                  oriented or connectionless API 
+//                                  should be used.
+//KPhoneIP                string    IP address of the interface.
+//KPrimaryNameServer      string    IP address of the primary name 
+//                                  server.
+//KSecondaryNameServer    string    IP address of the secondary name
+//                                  server.
+//KProxyServerAddress     string    Proxy server address.
+//KProxyPortNumber        string    Proxy port number.
+//KProxyProtocolName      string    Proxy protocol name.
+//KPrimaryIP6NameServer   string    IP address of the primary IPv6 
+//                                  name server.
+//KSecondaryIP6NameServer string    IP address of the secondary IPv6 
+//                                  name server.
+//KNetworkType            string    Network type: IPv4 or IPv6
+//KGprsUseEdge            string    Sets the GprsUseEdge parameter
+//=============
+//LAN specific:
+//=============
+//KLanIfNetworks          string    Network protcols
+//KLanIpNetMask           string    IP net mask of interface
+//KLanIpGateway           string    IP address of gateway
+//==============
+//WLAN specific:
+//==============
+//KNetworkName            string    The name of the WLAN network 
+//KNetworkMode            string    The WLAN network mode 
+//KSecurityMode           string    The security mode of the WLAN network
+//KWlanIpGatewayAddress   string    IP address of gateway 
+//KWlanIpNetMask          string    IP net mask of interface 
+//KWlanChannelId          integer   802.11 Channel ID (1-14) 
+
+//---------------
+//WEP security 
+//---------------
+//WEPKeyInUse             integer   Index of the default WEP key
+//WEPAuthType             string    WEP authentication mode. 
+//WEPKey1Length           string    Key length of WEP key1. 64, 128, 256 bit.
+//WEPKey1Format           string    Format of WEP key 1. ASCII or Hexadecimal
+//WEPKey1Data             string    Data  of WEP key1
+//WEPKey2Length           string    Key length of WEP key2. 64, 128, 256 bit.
+//WEPKey2Format           string    Format of WEP key 2. ASCII or Hexadecimal
+//WEPKey2Data             string    Data  of WEP key2
+//WEPKey3Length           string    Key length of WEP key3. 64, 128, 256 bit.
+//WEPKey3Format           string    Format of WEP key 3. ASCII or Hexadecimal
+//WEPKey3Data             string    Data  of WEP key3
+//WEPKey4Length           string    Key length of WEP key4. 64, 128, 256 bit.
+//WEPKey4Format           string    Format of WEP key 4. ASCII or Hexadecimal
+//WEPKey4Data             string    Data  of WEP key4
+//---------------
+//WPA security
+//---------------
+//WPAPresharedKey         string    WPA/WPA2 pre-shared key in plain text. 
+//WPAKeyLength            integer   The length of the WPA/WPA2 pre-shared key.
+//WPAEapMethod            string    A EAP method in use
+//WPAUseOfPresharedKey    string    WPA/WPA2 pre-shared key usage.
+//=============
+//VPN specific:
+//=============
+//KVpnIapName             string    IAP name used for the connection
+//KVpnServicePolicy       string    Service policy ID
+//====================
+//Destination Networks
+//====================
+//KDN_Name                string    The name of the Destination Network
+//KDN_Icon                integer   Index of icon assigned to the DN
+//KDN_Metadata            string    Destination type
+//KDN_Protection          integer   Protection level of the DN
+//KDN_Hidden              integer   Shows whether DN is hidden or not
+//KDN_IAPName             string    Name of a Connection Method that is
+//                                  bound to the DN
+//KDN_IAPName2..10        string    Same as above
+//KDN_EmbeddedDN          string    Name of an Embedded DN that is bound
+//                                  to the DN
+//===============
+//Global settings
+//===============
+//KAttachMode             string    Gprs attach mode
+//KDefaultAP              string    Default Gprs access point
+//KTableProtection        string    Table level protection
+//KDefaultDnIcon          integer   Default icon for DNs
+//KPriorityLan            integer   Default priority for Lan bearer type
+//KPriorityWlan           integer   Default priority for WLan bearer type
+//KPriorityPan            integer   Default priority for Pan bearer type
+//KPriorityGprsOut        integer   Default priority for outgoing Gprs
+//                                  bearer type
+//KPriorityGprsIn         integer   Default priority for incoming Gprs
+//                                  bearer type
+//KPriorityCdma2k         integer   Default priority for CDMA2000 bearer type
+//KPriorityDialOut        integer   Default priority for incoming dial
+//                                  bearer type
+//KPriorityDialIn         integer   Default priority for outgoing dial
+//                                  bearer type
+//KPriorityVpn            integer   Default priority for Vpn bearer type
+//KPriorityMip            integer   Default priority for Mip bearer type
+//KUIPriorityLan          integer   Default UI priority for Lan bearer type
+//KUIPriorityWlan         integer   Default UI priority for WLan bearer type
+//KUIPriorityPan          integer   Default UI priority for Pan bearer type
+//KUIPriorityGprsOut      integer   Default UI priority for outgoing Gprs
+//                                  bearer type
+//KUIPriorityGprsIn       integer   Default UI priority for incoming Gprs
+//                                  bearer type
+//KUIPriorityCdma2k       integer   Default UI priority for CDMA2000
+//                                  bearer type
+//KUIPriorityDialOut      integer   Default UI priority for incoming dial
+//                                  bearer type
+//KUIPriorityDialIn       integer   Default UI priority for outgoing dial
+//                                  bearer type
+//KUIPriorityVpn          integer   Default UI priority for Vpn bearer type
+//KUIPriorityMip          integer   Default UI priority for Mip bearer type
+
+//KDefaultConnectionType  integer   Default connection method type
+//KDefaultConnectionName  string    Default connection method name
+
+//KUsageOfWlan            integer   Usage of known WLAN networks, automatical or manual
+//KSeamlessnessHome       integer   Cellular data usage in home network
+//KSeamlessnessVisitor    integer   Cellular data usage in foreign networks
+
+
+//KGprsLastSocketActivityTimeout    integer
+//KGprsLastSessionClosedTimeout     integer The time how long Gprs PDP context stays active 
+//                                          after the last application using the connection was closed.
+//KGprsLastSocketClosedTimeout      integer
+//KCsdLastSocketActivityTimeout     integer
+//KCsdLastSessionClosedTimeout      integer
+//KCsdLastSocketClosedTimeout       integer
+//KWlanLastSocketActivityTimeout    integer
+//KWlanLastSessionClosedTimeout     integer
+//KWlanLastSocketClosedTimeout      integer
+//KWlanBGScanInterval               integer
+//KWlanUseDefSettings               integer
+//KWlanLongRetry                    integer
+//KWlanShortRetry                   integer
+//KWlanRTS                          integer
+//KWlanTxPowerLevel                 integer
+//KWlanRadioMeasurements            integer
+//KWlanPowerMode                    integer Whether WLAN power save is on or off
+
+
+//String literals defined for input parameters
+
+//General & Gprs specific
+_LIT16( KConnectionName,            "ConnectionName" );
+_LIT16( KConnectionId,              "ConnectionId" );
+_LIT16( KProtected,                 "Protected" );
+_LIT16( KHidden,                    "Hidden" );
+_LIT16( KHiddenAgent,               "HiddenAgent" );
+_LIT16( KHighlighted,               "Highlighted" );
+_LIT16( KSeamlessness,              "Seamlessness" );
+_LIT16( KGprs_AP_Name,              "Gprs_AP_Name" );
+_LIT16( KUserName,                  "UserName" );
+_LIT16( KPromptPassword,            "PromptPassword" );
+_LIT16( KPassword,                  "Password" );
+_LIT16( KPasswordAuthType,          "PasswordAuthenticationType" );
+_LIT16( KWAPGatewayIP,              "WAPGatewayIP" );
+_LIT16( KStartingPage,              "StartingPage" );
+_LIT16( KWTLS_Security,             "WTLS_Security" );
+_LIT16( KWAP_ConnectionType,        "WAP_ConnectionType" );
+_LIT16( KPhoneIP,                   "PhoneIP" );
+_LIT16( KPrimaryNameServer,         "PrimaryNameServer" );
+_LIT16( KSecondaryNameServer,       "SecondaryNameServer" );
+_LIT16( KProxyServerAddress,        "ProxyServerAddress" );
+_LIT16( KProxyPortNumber,           "ProxyPortNumber" );
+_LIT16( KProxyProtocolName,         "ProxyProtocolName");
+_LIT16( KPrimaryIP6NameServer,      "PrimaryIP6NameServer" );
+_LIT16( KSecondaryIP6NameServer,    "SecondaryIP6NameServer" );
+_LIT16( KNetworkType,               "NetworkType");
+_LIT16( KIspType,                   "IspType" );
+_LIT16( KGprsUseEdge,               "GprsUseEdge");
+_LIT16( KLinger,                    "Linger");
+
+//Lan specific
+_LIT16( KLanIfNetworks,             "LanIfNetworks" );
+_LIT16( KLanIpNetMask,              "LanIpNetMask" );
+_LIT16( KLanIpGateway,              "LanIpGateway" );
+_LIT16( KLanIpAddrFromServer,       "IpAddrFromServer" );
+_LIT16( KLanIpDNSAddrFromServer,    "IpDNSAddrFromServer" ); 
+_LIT16( KLanConfigDaemonManagerName,"ConfigDaemonManagerName" );
+_LIT16( KLanConfigDaemonName,       "ConfigDaemonName" );
+
+//Wlan specific
+_LIT16( KNetworkName,               "NetworkName" );
+_LIT16( KNetworkMode,               "NetworkMode" );
+_LIT16( KSecurityMode,              "SecurityMode" );
+_LIT16( KWlanIpGatewayAddress,      "WlanIpGatewayAddress" );
+_LIT16( KWlanIpNetMask,             "WlanIpNetMask" );
+_LIT16( KWlanScanSSId,              "WlanScanSSId" );
+_LIT16( KWlanChannelId,             "WlanChannelId" );
+
+//WEP security
+_LIT16( KWEPKeyInUse,               "WEPKeyInUse" );
+_LIT16( KWEPAuthType,               "WEPAuthType" );
+_LIT16( KWEPKey1Length,             "WEPKey1Length" );
+_LIT16( KWEPKey1Format,             "WEPKey1Format" );
+_LIT16( KWEPKey1Data,               "WEPKey1Data" );
+_LIT16( KWEPKey2Length,             "WEPKey2Length" );
+_LIT16( KWEPKey2Format,             "WEPKey2Format" );
+_LIT16( KWEPKey2Data,               "WEPKey2Data" );
+_LIT16( KWEPKey3Length,             "WEPKey3Length" );
+_LIT16( KWEPKey3Format,             "WEPKey3Format" );
+_LIT16( KWEPKey3Data,               "WEPKey3Data" );
+_LIT16( KWEPKey4Length,             "WEPKey4Length" );
+_LIT16( KWEPKey4Format,             "WEPKey4Format" );
+_LIT16( KWEPKey4Data,               "WEPKey4Data" );
+
+//WPA security
+_LIT16( KWPAPresharedKey,           "WPAPresharedKey" );
+_LIT16( KWPAKeyLength,              "WPAKeyLength" );
+_LIT16( KWPAEapMethod,              "WPAEapMethod");
+_LIT16( KWPAUseOfPresharedKey,      "WPAUseOfPresharedKey" );
+
+//EAP security
+_LIT16( KEapGtcUsername,            "EapGtcUsername" );
+_LIT16( KEapGtcSessionValidityTime, "EapGtcSessionValidityTime" );
+_LIT16( KEapGtcEncapsulation,       "EapGtcEncapsulation" );
+
+
+_LIT16( KEapTlsUsername,            "EapTlsUsername" );
+_LIT16( KEapTlsRealm,               "EapTlsRealm" );
+_LIT16( KEapTlsVerifyServerRealm,   "EapTlsVerifyServerRealm" );
+_LIT16( KEapTlsRequireClientAuth,   "EapTlsRequireClientAuth" );
+_LIT16( KEapTlsSessionValidityTime, "EapTlsSessionValidityTime" );
+_LIT16( KEapTlsCipherSuites,        "EapTlsCipherSuites" );
+_LIT16( KEapTlsUserCertSubjectKeyId,"EapTlsUserCertSubjectKeyId" );
+_LIT16( KEapTlsUserCertIssuerName,  "EapTlsUserCertIssuerName" );
+_LIT16( KEapTlsUserCertSerialNumber,"EapTlsUserCertSerialNumber" );
+_LIT16( KEapTlsCaCertSubjectKeyId,  "EapTlsCaCertSubjectKeyId" );
+_LIT16( KEapTlsCaCertIssuerName,    "EapTlsCaCertIssuerName" );
+_LIT16( KEapTlsCaCertSerialNumber,  "EapTlsCaCertSerialNumber" );
+_LIT16( KEapTlsEncapsulation,       "EapTlsEncapsulation" );
+
+
+_LIT16( KEapLeapUsername,           "EapLeapUsername" );
+_LIT16( KEapLeapPassword,           "EapLeapPassword" );
+_LIT16( KEapLeapSessionValidityTime,"EapLeapSessionValidityTime" );
+
+
+_LIT16( KEapSimUsername,            "EapSimUsername" );
+_LIT16( KEapSimRealm,               "EapSimRealm" );
+_LIT16( KEapSimUsePseudonyms,       "EapSimUsePseudonyms" );
+_LIT16( KEapSimSessionValidityTime, "EapSimSessionValidityTime" );
+_LIT16( KEapSimEncapsulation,       "EapSimEncapsulation" );
+
+_LIT16( KEapTtlsUsername,           "EapTtlsUsername" );
+_LIT16( KEapTtlsRealm,              "EapTtlsRealm" );
+_LIT16( KEapTtlsVerifyServerRealm,  "EapTtlsVerifyServerRealm" );
+_LIT16( KEapTtlsRequireClientAuth,  "EapTtlsRequireClientAuth" );
+_LIT16( KEapTtlsSessionValidityTime,"EapTtlsSessionValidityTime" );
+_LIT16( KEapTtlsCipherSuites,       "EapTtlsCipherSuites" );
+_LIT16( KEapTtlsEncapsulatedTypes,  "EapTtlsEncapsulatedTypes" );
+_LIT16( KEapTtlsUserCertSubjectKeyId,"EapTtlsUserCertSubjectKeyId" );
+_LIT16( KEapTtlsUserCertIssuerName, "EapTtlsUserCertIssuerName" );
+_LIT16( KEapTtlsUserCertSerialNumber,"EapTtlsUserCertSerialNumber" );
+_LIT16( KEapTtlsCaCertSubjectKeyId, "EapTtlsCaCertSubjectKeyId" );
+_LIT16( KEapTtlsCaCertIssuerName,   "EapTtlsCaCertIssuerName" );
+_LIT16( KEapTtlsCaCertSerialNumber, "EapTtlsCaCertSerialNumber" );
+
+_LIT16( KEapAkaUsername,            "EapAkaUsername" );
+_LIT16( KEapAkaRealm,               "EapAkaRealm" );
+_LIT16( KEapAkaUsePseudonyms,       "EapAkaUsePseudonyms" );
+_LIT16( KEapAkaSessionValidityTime, "EapAkaSessionValidityTime" );
+_LIT16( KEapAkaEncapsulation,       "EapAkaEncapsulation" );
+
+_LIT16( KEapPeapUsername,           "EapPeapUsername" );
+_LIT16( KEapPeapRealm,              "EapPeapRealm" );
+_LIT16( KEapPeapVerifyServerRealm,  "EapPeapVerifyServerRealm" );
+_LIT16( KEapPeapRequireClientAuth,  "EapPeapRequireClientAuth" );
+_LIT16( KEapPeapSessionValidityTime,"EapPeapSessionValidityTime" );
+_LIT16( KEapPeapCipherSuites,       "EapPeapCipherSuites" );
+_LIT16( KEapPeapV0Allowed,          "EapPeapV0Allowed" );
+_LIT16( KEapPeapV1Allowed,          "EapPeapV1Allowed" );
+_LIT16( KEapPeapV2Allowed,          "EapPeapV2Allowed" );
+_LIT16( KEapPeapEncapsulatedTypes,  "EapPeapEncapsulatedTypes" );
+_LIT16( KEapPeapUserCertSubjectKeyId,"EapPeapUserCertSubjectKeyId" );
+_LIT16( KEapPeapUserCertIssuerName, "EapPeapUserCertIssuerName" );
+_LIT16( KEapPeapUserCertSerialNumber,"EapPeapUserCertSerialNumber" );
+_LIT16( KEapPeapCaCertSubjectKeyId, "EapPeapCaCertSubjectKeyId" );
+_LIT16( KEapPeapCaCertIssuerName,   "EapPeapCaCertIssuerName" );
+_LIT16( KEapPeapCaCertSerialNumber, "EapPeapCaCertSerialNumber" );
+
+_LIT16( KEapMschapv2Username,       "EapMschapv2Username" );
+_LIT16( KEapMschapv2Password,       "EapMschapv2Password" );
+_LIT16( KEapMschapv2SessionValidityTime,"EapMschapv2SessionValidityTime" );
+_LIT16( KEapMschapv2Encapsulation,  "EapMschapv2Encapsulation" );
+
+_LIT16( KEapFastUsername,           "EapFastUsername" );
+_LIT16( KEapFastRealm,              "EapFastRealm" );
+_LIT16( KEapFastVerifyServerRealm,  "EapFastVerifyServerRealm" );
+_LIT16( KEapFastRequireClientAuth,  "EapFastRequireClientAuth" );
+_LIT16( KEapFastSessionValidityTime,"EapFastSessionValidityTime" );
+_LIT16( KEapFastCipherSuites,       "EapFastCipherSuites" );
+_LIT16( KEapFastEncapsulatedTypes,  "EapFastEncapsulatedTypes" );
+_LIT16( KEapFastAuthProvModeAllowed,"EapFastAuthProvModeAllowed" );
+_LIT16( KEapFastUnauthProvModeAllowed,"EapFastUnauthProvModeAllowed" );
+_LIT16( KEapFastWarnADHPNoPAC,      "EapFastWarnADHPNoPAC" );
+_LIT16( KEapFastWarnADHPNoMatchingPAC,"EapFastWarnADHPNoMatchingPAC" );
+_LIT16( KEapFastWarnNotDefaultServer,"EapFastWarnNotDefaultServer" );
+_LIT16( KEapFastUserCertSubjectKeyId,"EapFastUserCertSubjectKeyId" );
+_LIT16( KEapFastUserCertIssuerName, "EapFastUserCertIssuerName" );
+_LIT16( KEapFastUserCertSerialNumber,"EapFastUserCertSerialNumber" );
+_LIT16( KEapFastCaCertSubjectKeyId, "EapFastCaCertSubjectKeyId" );
+_LIT16( KEapFastCaCertIssuerName,   "EapFastCaCertIssuerName" );
+_LIT16( KEapFastCaCertSerialNumber, "EapFastCaCertSerialNumber" );
+
+_LIT16( KMschapv2Username,          "Mschapv2Username" );
+_LIT16( KMschapv2Password,          "Mschapv2Password" );
+_LIT16( KMschapv2SessionValidityTime,"Mschapv2SessionValidityTime" );
+_LIT16( KMschapv2Encapsulation,     "Mschapv2Encapsulation" );
+
+
+//VPN specific
+_LIT16( KVpnIapName,                "IAP_Name" );
+_LIT16( KVpnServicePolicy,          "Policy_ID" );
+
+//DN specific
+_LIT16( KDN_Name,                   "Name" );
+_LIT16( KDN_Id,                     "DNId" );
+_LIT16( KDN_Icon,                   "Icon" );
+_LIT16( KDN_Metadata,               "Metadata" );
+_LIT16( KDN_Protection,             "Protection" );
+_LIT16( KDN_EmbeddedDNName,         "EmbeddedDN" );
+_LIT16( KDN_IAPName,                "IAP" );
+
+// Needed because of Customization Tool limitations
+_LIT16( KDN_IAPName2,               "IAP2" );
+_LIT16( KDN_IAPName3,               "IAP3" );
+_LIT16( KDN_IAPName4,               "IAP4" );
+_LIT16( KDN_IAPName5,               "IAP5" );
+_LIT16( KDN_IAPName6,               "IAP6" );
+_LIT16( KDN_IAPName7,               "IAP7" );
+_LIT16( KDN_IAPName8,               "IAP8" );
+_LIT16( KDN_IAPName9,               "IAP9" );
+_LIT16( KDN_IAPName10,              "IAP10" );
+
+//Global settings
+_LIT16( KAttachMode,                "Attachmode" );
+_LIT16( KDefaultAP,                 "DefaultAP" );
+_LIT16( KDefaultDnIcon,             "DefaultDnIcon" );
+_LIT16( KPriorityLan,               "PriorityLan" );
+_LIT16( KPriorityWlan,              "PriorityWlan" );
+_LIT16( KPriorityPan,               "PriorityPan" );
+_LIT16( KPriorityGprsOut,           "PriorityGprsOut" );
+_LIT16( KPriorityGprsIn,            "PriorityGprsIn" );
+_LIT16( KPriorityCdma2k,            "PriorityCdma2k" );
+_LIT16( KPriorityDialOut,           "PriorityDialOut" );
+_LIT16( KPriorityDialIn,            "PriorityDialIn" );
+_LIT16( KPriorityVpn,               "PriorityVpn" );
+_LIT16( KPriorityMip,               "PriorityMip" );
+_LIT16( KUIPriorityLan,             "UIPriorityLan" );
+_LIT16( KUIPriorityWlan,            "UIPriorityWlan" );
+_LIT16( KUIPriorityPan,             "UIPriorityPan" );
+_LIT16( KUIPriorityGprsOut,         "UIPriorityGprsOut" );
+_LIT16( KUIPriorityGprsIn,          "UIPriorityGprsIn" );
+_LIT16( KUIPriorityCdma2k,          "UIPriorityCdma2k" );
+_LIT16( KUIPriorityDialOut,         "UIPriorityDialOut" );
+_LIT16( KUIPriorityDialIn,          "UIPriorityDialIn" );
+_LIT16( KUIPriorityVpn,             "UIPriorityVpn" );
+_LIT16( KUIPriorityMip,             "UIPriorityMip" );
+_LIT16( KUsageOfWlan,               "UsageOfWlan" );
+_LIT16( KCellularDataUsageHome,     "CellularDataUsageHome" );
+_LIT16( KCellularDataUsageVisitor,  "CellularDataUsageVisitor" );
+_LIT16( KGprsLastSocketActivityTimeout, "GprsLastSocketActivityTimeout" );
+_LIT16( KGprsLastSessionClosedTimeout,  "GprsLastSessionClosedTimeout" );
+_LIT16( KGprsLastSocketClosedTimeout,   "GprsLastSocketClosedTimeout" );
+_LIT16( KWlanLastSocketActivityTimeout, "WlanLastSocketActivityTimeout" );
+_LIT16( KWlanLastSessionClosedTimeout,  "WlanLastSessionClosedTimeout" );
+_LIT16( KWlanLastSocketClosedTimeout,   "WlanLastSocketClosedTimeout" );
+_LIT16( KWlanBGScanInterval,        "WlanBGScanInterval" );
+_LIT16( KWlanUseDefSettings,        "WlanUseDefSettings" );
+_LIT16( KWlanLongRetry,             "WlanLongRetry" );
+_LIT16( KWlanShortRetry,            "WlanShortRetry" );
+_LIT16( KWlanRTS,                   "WlanRTS" );
+_LIT16( KWlanTxPowerLevel,          "WlanTxPowerLevel" );
+_LIT16( KWlanRadioMeasurements,     "WlanRadioMeasurements" );
+_LIT16( KWlanPowerMode,             "WlanPowerMode" );
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CReaderXML::NewL
+// ---------------------------------------------------------
+//
+CReaderXML* CReaderXML::NewLC( const TDesC& aInFileName,
+                               const TDbCreatorInputCharSet aCharSet )
+    {
+    CReaderXML* self = new ( ELeave ) CReaderXML( aCharSet );
+
+    CleanupStack::PushL( self );
+
+    self->CReaderBase::ConstructL( aInFileName );
+    self->ConstructL();
+
+    return self;
+    }
+
+
+// ---------------------------------------------------------
+// CReaderXML::ConstructL
+// ---------------------------------------------------------
+//
+void CReaderXML::ConstructL()
+    {
+    //if charset is not given as a parameter - detect it
+    if ( iCharSet == ECharSetUnknown )
+        {
+        DetectEncodingL();
+        }
+        
+    FillPacketDataParams();
+    FillLanParams();
+    FillWLanParams();
+    FillVpnParams();
+    FillGlobalParams();
+    FillDNParams();                
+    }
+
+
+// ---------------------------------------------------------
+// CReaderXML::CReaderXML
+// ---------------------------------------------------------
+//
+CReaderXML::CReaderXML( const TDbCreatorInputCharSet aCharSet ) :
+    CReaderBase( EFileXML, EFeatureNone ),
+    iCharSet( aCharSet ),
+    iLine ( NULL ),
+    iFoundGlobal( EFalse )
+    {
+    //no implementation required
+    }
+    
+    
+// ---------------------------------------------------------
+// CReaderXML::~CReaderXML
+// ---------------------------------------------------------
+//
+CReaderXML::~CReaderXML()
+    {
+    delete iLine;
+    
+    iPDParams.Close();
+    iLanParams.Close();
+    iWLanParams.Close();
+    iVpnParams.Close();
+    iGlobalParams.Close();
+    iDNParams.Close();
+    }
+
+
+// ---------------------------------------------------------
+// CReaderXML::LocateFeature
+// ---------------------------------------------------------
+//
+void CReaderXML::LocateFeatureL()
+    {
+    iCurrentFeature = EFeatureNone;
+    TInt result( KErrNone );
+    TBool eof( EFalse );
+    
+    //looks for the next feature
+    while ( !eof && CurrentFeature() == EFeatureNone )
+        {
+        //reads the next line
+        result = ReadLineL();
+        
+        if ( result == KErrEof )
+            {
+            //end of file
+            eof = ETrue;    
+            }
+        else if ( result )    
+            {
+            //other error
+            User::Leave( result );    
+            }
+        else
+            {
+            //no error
+            if ( iLine->FindF( KFileTail ) == KErrNone || 
+                 iLine->FindF( KFileTail2 ) == KErrNone )
+                {
+                //end of file is reached ("/variantvariant" found)
+                eof = ETrue;            
+                }
+            else
+                {
+                //try to recognize a feature
+                iCurrentFeature = DetectFeatureHead();
+                }//else
+            }//else        
+        }//while
+    }
+
+
+// ---------------------------------------------------------
+// CReaderXML::LocateAP
+// ---------------------------------------------------------
+//
+TBool CReaderXML::LocateAPL()
+    {
+    TBool found( EFalse );    //found feature data
+    TBool eofea( EFalse );    //end of feature
+    
+    if ( CurrentFeature() == EFeatureGlobal )
+        {
+        //for Global settings there is no feature data header
+        found = iFoundGlobal;
+        iFoundGlobal = EFalse;
+        }
+    else
+        {
+        //looks for the next feature header
+        while ( !eofea && !found )
+            {
+            User::LeaveIfError( ReadLineL() );
+            
+            if ( DetectFeatureTail() )
+                {
+                //feature tail is detected - no more data to process
+                eofea = ETrue;    
+                }
+            else
+                {
+                //looks for feature data header
+                switch ( CurrentFeature() )
+                    {
+                    case EFeaturePacketData:
+                        found = ( iLine->FindF( KDataHeadPacketData ) != KErrNotFound ); 
+                        break;
+                    case EFeatureWLAN:
+                        found = ( iLine->FindF( KDataHeadWLAN ) != KErrNotFound );
+                        break;
+                    case EFeatureLAN:
+                        found = ( iLine->FindF( KDataHeadLAN ) != KErrNotFound );
+                        break;
+                    case EFeatureVPN:
+                        found = ( iLine->FindF( KDataHeadVPN ) != KErrNotFound );
+                        break;
+                    case EFeatureDN:
+                        found = ( iLine->FindF( KDataHeadDN ) != KErrNotFound );
+                        break;
+                    }//switch
+                }//else
+            }//while
+        }//else
+            
+    return found;
+    
+    }
+           
+
+// ---------------------------------------------------------
+// CReaderXML::ParseAPL
+// ---------------------------------------------------------
+//
+void CReaderXML::ParseAPL()
+    {
+    do
+        {            
+        User::LeaveIfError( ReadLineL() );
+        TInt fieldId = DetectParam();
+        
+        if ( fieldId != KErrNotFound )
+            {
+            HBufC16* param = ReadParam( EParamValue );
+            if ( param )
+                {
+                ConvertSpecialXMLChars( param );
+                CleanupStack::PushL( param );
+                TagContainer().AddL( param , fieldId );        
+                CleanupStack::Pop( param );
+                }    
+            else
+                {
+                //simply skip line
+                }        
+            }
+        
+        }
+    while ( !DetectTailAP() );
+    }
+    
+// ---------------------------------------------------------
+// CReaderXML::Reset
+// ---------------------------------------------------------
+//
+TInt CReaderXML::Reset()
+    {
+    iFilePos = 0;
+    return InputFile().Seek( ESeekStart, iFilePos );
+    }
+              
+        
+// ---------------------------------------------------------
+// CReaderXML::ToDoLog
+// ---------------------------------------------------------
+//
+void CReaderXML::ToDoLog()
+    {
+    CLOG_WRITE( "Line :" )
+    FileLogger().Write( *iLine );
+    CLOG_WRITE( "--------------------------------------------\n\n" )
+    }
+    
+// ---------------------------------------------------------
+// Private methods
+// ---------------------------------------------------------
+ 
+// ---------------------------------------------------------
+// CReaderXML::ReadLine
+// ---------------------------------------------------------
+//  
+TInt CReaderXML::ReadLineL()
+    {
+    //go to the actual position
+    TInt result = InputFile().Seek(ESeekStart, iFilePos);
+    
+    //temporary buffer for line
+    TBuf8<KMaxLineSize> buf;
+
+    if (result == KErrNone) 
+        {
+        result = InputFile().Read(buf, buf.MaxSize());
+        }
+
+    //if seeking and reading both succesful extract one line form the buffer
+    if (result == KErrNone)
+        {
+        TPtrC8 ptrBuf8;
+        ptrBuf8.Set( buf );
+
+        if (result == KErrNone || result == KErrEof)
+            {          
+            switch ( iCharSet )
+                {
+                case ECharSetUnicode:
+                    {                     
+                    //simply copy to a Unicode descriptor
+                    TPtrC16 ptrBuf16( ( TText16* )ptrBuf8.Ptr(), \
+                                        ptrBuf8.Length() / KAsciiUnicodeRatio );
+                                        
+                    TPtrC16 ptrLine;
+                    result = ExtractLine(ptrBuf16, ptrLine);  
+                    
+                    if ( result == KErrNone ) 
+                        {
+                        delete iLine;
+                        iLine = NULL;
+                        iLine = ptrLine.AllocL();
+                        
+                        //Increment the file position
+                        iFilePos += iLine->Length() * KAsciiUnicodeRatio;
+                        }
+                    
+                    break;
+                    } 
+                case ECharSetAscii:
+                case ECharSetUtf8:
+                default:
+                    {                    
+                    //conversion to Unicode is needed
+                    HBufC16* hBuf16 = HBufC16::NewLC( KMaxLineSize );
+                    TPtr16 ptrBuf16( hBuf16->Des() );
+                    
+                    if( iCharSet == ECharSetUtf8 )
+                        {
+                        CnvUtfConverter::ConvertToUnicodeFromUtf8
+                                                    ( ptrBuf16, ptrBuf8 );
+                        }
+                    else
+                        {
+                        ptrBuf16.Copy( ptrBuf8 );
+                        }
+                    
+                    TPtrC16 ptrLine;
+                    result = ExtractLine(ptrBuf16, ptrLine); 
+                    
+                    if ( result == KErrNone ) 
+                        {
+                        delete iLine;
+                        iLine = NULL;
+                        iLine = ptrLine.AllocL();
+                        
+                        // Increment the file position
+                        // Line in unicode format converted back to UTF-8
+                        // for getting the right lenght and osition in file
+                        CnvUtfConverter::ConvertFromUnicodeToUtf8( 
+                                            buf, iLine->Des() );
+                        iFilePos += buf.Length();
+                        }
+                    
+                    CleanupStack::PopAndDestroy( hBuf16 ); 
+                    
+                    break;
+                    }//case
+                }//switch
+            }//if
+        }//if
+
+    return result;
+    }
+ 
+ 
+// ---------------------------------------------------------
+// CReaderXML::ExtractLine
+// ---------------------------------------------------------
+//     
+TInt CReaderXML::ExtractLine(const TPtrC16& aBuffer, TPtrC16& aLine)
+    {
+    // Whitespace characters
+    const TChar KSpace = ' ';
+    const TChar KNewLine = '\n';
+    const TChar KCarriageReturn = '\r';
+    const TChar KTab = '\t';
+    const TChar KTagStart = '<';
+    
+    
+    // A line is considered to contain one parameter. It starts from the
+    // current position and lasts until the end of the current parameter.
+    // The end is detected by looking for the characters ">" and "<" with
+    // any number of white spaces between them. The next line will start at
+    // the "<" character.
+    TBool lineEndFound( EFalse );
+    TBool tagEndFound( EFalse );
+    TInt pos( 0 );
+    while( !lineEndFound && pos < aBuffer.Length() )
+        {
+        if( !tagEndFound && KParamNameTail.iBuf[ 0 ] == aBuffer[ pos ] )
+            {
+            tagEndFound = ETrue;
+            }
+        else if( tagEndFound && KParamNameHead.iBuf[ 0 ] == aBuffer[ pos ] )
+            {
+            lineEndFound = ETrue;
+            break;
+            }
+        
+        else if( ( KSpace != aBuffer[ pos ] ) &&
+                 ( KNewLine != aBuffer[ pos ] ) &&
+                 ( KCarriageReturn != aBuffer[ pos ] ) &&
+                 ( KTab != aBuffer[ pos ] ) && 
+                   tagEndFound )
+            {
+            tagEndFound = EFalse;
+            }
+        ++pos;
+        }
+    
+    if( !lineEndFound )
+        {
+        //End of line not found--malformed xml file or no more data
+        //get highest file position; and check EoF
+        TInt hiPos = 0;
+        
+        if (InputFile().Size(hiPos) != KErrNone) 
+            {
+            return KErrGeneral;    
+            }
+        
+        //check for end of file
+        if ( aBuffer.Length() < KMaxLineSize )
+            {
+            aLine.Set( aBuffer );
+            return KErrEof;
+            }
+        else
+            {
+            return KErrNotFound;    
+            }
+        }
+
+    aLine.Set( aBuffer.Left( pos ) );
+
+    return KErrNone ;
+    }
+
+// ---------------------------------------------------------
+// CReaderXML::DetectFeatureHead
+// ---------------------------------------------------------
+//     
+TDbCreatorFeatures CReaderXML::DetectFeatureHead()
+    {
+    TDbCreatorFeatures feature( EFeatureNone );
+    
+    if ( iLine->FindF( KFeatureHeadPacketData ) != KErrNotFound )
+        {
+        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeaturePacketData" );
+        feature = EFeaturePacketData;
+        }
+    else if ( iLine->FindF( KFeatureHeadWLAN ) != KErrNotFound )
+        {
+        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureWLAN" );
+        feature = EFeatureWLAN;
+        }
+    else if ( iLine->FindF( KFeatureHeadLAN ) != KErrNotFound )
+        {
+        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureLAN" );
+        feature = EFeatureLAN;
+        }
+    else if ( iLine->FindF( KFeatureHeadVPN ) != KErrNotFound )
+        {
+        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureVPN" );
+        feature = EFeatureVPN;
+        }
+    else if ( iLine->FindF( KFeatureHeadDN ) != KErrNotFound )
+        {
+        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureDN" );
+        feature = EFeatureDN;
+        }
+    else if ( iLine->FindF( KFeatureHeadGlobal ) != KErrNotFound )
+        {
+        CLOG_WRITE( "CReaderXML::DetectFeatureHead(): EFeatureGlobal" );
+        feature = EFeatureGlobal;
+        iFoundGlobal = ETrue;        
+        }
+    else
+        {
+        //feature not found            
+        }
+    
+    return feature;
+
+    }
+    
+    
+// ---------------------------------------------------------
+// CReaderXML::DetectFeatureTail
+// ---------------------------------------------------------
+//     
+TBool CReaderXML::DetectFeatureTail()
+    {
+    TBool found( EFalse );
+        
+    switch ( CurrentFeature() )        
+        {
+        case EFeaturePacketData:
+            found = ( iLine->FindF( KFeatureTailPacketData ) != KErrNotFound ); 
+            break;
+        case EFeatureWLAN:
+            found = ( iLine->FindF( KFeatureTailWLAN ) != KErrNotFound );
+            break;
+        case EFeatureLAN:
+            found = ( iLine->FindF( KFeatureTailLAN ) != KErrNotFound );
+            break;
+        case EFeatureVPN:
+            found = ( iLine->FindF( KFeatureTailVPN ) != KErrNotFound );
+            break;
+        case EFeatureDN:
+            found = ( iLine->FindF( KFeatureTailDN ) != KErrNotFound );
+            break;
+        case EFeatureGlobal:
+            found = ( iLine->FindF( KFeatureTailGlobal ) != KErrNotFound );
+            break;
+        }
+    
+    return found;
+    }
+    
+    
+// ---------------------------------------------------------
+// CReaderXML::DetectTailAP
+// ---------------------------------------------------------
+//     
+TBool CReaderXML::DetectTailAP()
+    {
+    TBool found( EFalse );
+        
+    switch ( CurrentFeature() )        
+        {
+        case EFeaturePacketData:
+            found = ( iLine->FindF( KDataTailPacketData ) != KErrNotFound ); 
+            break;
+        case EFeatureWLAN:
+            found = ( iLine->FindF( KDataTailWLAN ) != KErrNotFound );
+            break;
+        case EFeatureLAN:
+            found = ( iLine->FindF( KDataTailLAN ) != KErrNotFound );
+            break;
+        case EFeatureVPN:
+            found = ( iLine->FindF( KDataTailVPN ) != KErrNotFound );
+            break;
+        case EFeatureDN:
+            found = ( iLine->FindF( KDataTailDN ) != KErrNotFound );
+            break;
+        case EFeatureGlobal:
+            //there is no data tail for Global settings -- looks for feature tail
+            found = ( iLine->FindF( KFeatureTailGlobal ) != KErrNotFound );
+            break;
+        }
+    
+    return found;
+    }
+    
+    
+// ---------------------------------------------------------
+// CReaderXML::DetectParamL
+// ---------------------------------------------------------
+//
+TInt CReaderXML::DetectParam()
+    {
+    TInt fieldId( KErrNotFound ); //field id of detected parameter 
+    RArray<EInputParams> *params( NULL ); //pointer to the table used 
+                                        //for or detection    
+
+    switch ( CurrentFeature() )        
+        {
+        case EFeaturePacketData:
+            params   = &iPDParams;
+            break;
+        case EFeatureWLAN:
+            params   = &iWLanParams;
+            break;
+        case EFeatureLAN:
+            params   = &iLanParams;
+            break;
+        case EFeatureVPN:
+            params   = &iVpnParams;
+            break;
+        case EFeatureDN:
+            params =   &iDNParams;
+            break;
+        case EFeatureGlobal:
+            params   = &iGlobalParams;
+            break;
+        default:
+            User::Panic( KPanicInvalidCase, KErrInvalidCase );
+        }
+       
+    //looks for parameter match
+    HBufC16* paramName = ReadParam( EParamName );
+    if ( paramName == NULL )
+            {
+            return fieldId;
+            }
+
+    TBool found ( EFalse );
+    for ( TInt idx = 0; idx < params->Count() && !found; idx++ )
+        {        
+        if ( paramName->CompareF( (*params)[idx].iParam ) == 0 )
+            {
+            fieldId = (*params)[idx].iId;
+            found = ETrue;            
+            }
+        }
+       
+    delete paramName;   
+    return fieldId;
+    }
+  
+    
+// ---------------------------------------------------------
+// CReaderXML::ReadParam
+// ---------------------------------------------------------
+//     
+HBufC16* CReaderXML::ReadParam( TParamSegment aSegment )
+    {
+    TBuf<KMaxItemLength> tag; //local buffer
+    TInt posh( 0 ); //header position
+    TInt post( 0 ); //tail position
+    HBufC16* ret = NULL; // returned pointer
+    
+    //  calculation of the position 
+    //
+    //  EParamValue:           posh|     post|
+    //                             |         |
+    //  EParamName:  posh|    post||         |
+    //                   ¡        ¡¡         ¡ 
+    //                  <ParamName>ParamValue</ParamName>
+    
+    switch ( aSegment )
+        {
+        case EParamValue:
+            posh = iLine->Find( KParamValueHead ) + 1;
+            post = iLine->Find( KParamValueTail );
+            break;
+        case EParamName:
+            posh = iLine->Find( KParamNameHead ) + 1;
+            post = iLine->Find( KParamNameTail );
+            break;
+        default:
+            break;
+        }
+    
+    if ( posh == KErrNotFound || post == KErrNotFound || post == 0 )
+        {
+        //line must contain header and tail and longer than 0
+        ret = NULL;
+        }
+    else
+        {
+        // Copis the value to the local buffer and allocates buffer
+        tag.Copy( iLine->Mid( posh, post - posh ) );
+        ret = tag.Alloc();
+        // Checks the result.
+        if( ret == NULL )
+            {
+            CLOG_WRITE_FORMAT( "! Warning: tag could not be allocated %S:",
+                                     &tag );
+            }
+// Debugging help; commented out for clearer log.
+//        else 
+//            {
+//            if (aSegment == EParamValue)
+//                {
+//                CLOG_WRITE_FORMAT( "CReaderXML::ReadParam: value %S", &tag );
+//                }
+//            else if (aSegment == EParamName)
+//                {
+//                CLOG_WRITE_FORMAT( "CReaderXML::ReadParam: name %S", &tag );
+//                }
+//            }
+        }
+    return ret;
+    }
+
+
+// ---------------------------------------------------------
+// CReaderXML::DetectEncoding
+// ---------------------------------------------------------
+//     
+void CReaderXML::DetectEncodingL()
+    {
+    TInt originalPos( iFilePos );  //stores original file position
+    TBool found( EFalse );
+    
+    for ( TInt i = ECharSetUnicode; i >= ECharSetAscii && !found; i--)
+        {
+        //assumes that the first line contains version and encoding info
+        iFilePos = 0;
+        iCharSet = static_cast<TDbCreatorInputCharSet>( i );
+        
+        if ( ReadLineL() == KErrNone )
+            {
+            if( iCharSet == ECharSetAscii )
+                {
+                if ( ( iLine->FindF( KXmlVersion ) != KErrNotFound ) ||
+                     ( iLine->FindF( KEncoding ) != KErrNotFound ) )
+                    {
+                    if( iLine->FindF( KEncodingUtf8 ) != KErrNotFound )
+                        {
+                        iCharSet = ECharSetUtf8;
+                        }
+                    found = ETrue;
+                    }
+                }
+            else if( iCharSet == ECharSetUnicode )
+                {
+                if ( ( iLine->FindF( KXmlVersion ) != KErrNotFound ) ||
+                     ( iLine->FindF( KEncoding ) != KErrNotFound ) )
+                    {
+                    found = ETrue;
+                    }
+                }
+            }
+        }
+    iFilePos = originalPos;
+    }
+    
+// ---------------------------------------------------------
+// CReaderXML::ConvertSpecialXMLChars
+// ---------------------------------------------------------
+//
+void CReaderXML::ConvertSpecialXMLChars( HBufC* aPtrTag )
+    {
+    if ( aPtrTag == NULL )
+            {
+                return;
+            }   
+    _LIT16( escapeStart, "&" );
+    
+    //check if there are parameters to be replaced, if not: return
+    if ( aPtrTag->Des().Find( escapeStart ) == KErrNotFound )
+            {
+                return;
+            }
+                
+    _LIT16( spXML1, "&lt;" );
+    _LIT16( sp1, "<" );
+    ReplaceInString( aPtrTag, spXML1, sp1 );
+    _LIT16( spXML2, "&amp;" );
+    _LIT16( sp2, "&" );
+    ReplaceInString( aPtrTag, spXML2, sp2 );
+    _LIT16( spXML3, "&gt;" );
+    _LIT16( sp3, ">" );
+    ReplaceInString( aPtrTag, spXML3, sp3 );
+    _LIT16( spXML4, "&quot;" );
+    _LIT16( sp4, "\"" );
+    ReplaceInString( aPtrTag, spXML4, sp4 );
+    _LIT16( spXML5, "&apos;" );
+    _LIT16( sp5, "\'" );
+    ReplaceInString( aPtrTag, spXML5, sp5 );
+    _LIT16( spXML6, "&iexcl;" );
+    _LIT16( sp6, "\u00a1" );
+    ReplaceInString( aPtrTag, spXML6, sp6 );
+    _LIT16( spXML7, "&cent;" );
+    _LIT16( sp7, "\u00a2" );
+    ReplaceInString( aPtrTag, spXML7, sp7 );
+    _LIT16( spXML8, "&pound;" );
+    _LIT16( sp8, "\u00a3" );
+    ReplaceInString( aPtrTag, spXML8, sp8 );
+    _LIT16( spXML9, "&curren;" );
+    _LIT16( sp9, "\u00a4" );
+    ReplaceInString( aPtrTag, spXML9, sp9 );
+    _LIT16( spXML10, "&yen;" );
+    _LIT16( sp10, "\u00a5" );
+    ReplaceInString( aPtrTag, spXML10, sp10 );
+    _LIT16( spXML11, "&brvbar;" );
+    _LIT16( sp11, "\u00a6" );
+    ReplaceInString( aPtrTag, spXML11, sp11 );
+    _LIT16( spXML12, "&sect;" );
+    _LIT16( sp12, "\u00a7" );
+    ReplaceInString( aPtrTag, spXML12, sp12 );
+    _LIT16( spXML13, "&uml;" );
+    _LIT16( sp13, "\u00a8" );
+    ReplaceInString( aPtrTag, spXML13, sp13 );
+    _LIT16( spXML14, "&copy;" );
+    _LIT16( sp14, "\u00a9" );
+    ReplaceInString( aPtrTag, spXML14, sp14 );
+    _LIT16( spXML15, "&ordf;" );
+    _LIT16( sp15, "\u00aa" );
+    ReplaceInString( aPtrTag, spXML15, sp15 );
+    _LIT16( spXML16, "&laquo;" );
+    _LIT16( sp16, "\u00ab" );
+    ReplaceInString( aPtrTag, spXML16, sp16 );
+    _LIT16( spXML17, "&not;" );
+    _LIT16( sp17, "\u00ac" );
+    ReplaceInString( aPtrTag, spXML17, sp17 );
+    _LIT16( spXML18, "&reg;" );
+    _LIT16( sp18, "\u00ae" );
+    ReplaceInString( aPtrTag, spXML18, sp18 );
+    _LIT16( spXML19, "&macr;" );
+    _LIT16( sp19, "\u00af" );
+    ReplaceInString( aPtrTag, spXML19, sp19 );
+    _LIT16( spXML20, "&deg;" );
+    _LIT16( sp20, "\u00b0" );
+    ReplaceInString( aPtrTag, spXML20, sp20 );
+    _LIT16( spXML21, "&plusmn;" );
+    _LIT16( sp21, "\u00b1" );
+    ReplaceInString( aPtrTag, spXML21, sp21 );
+    _LIT16( spXML22, "&sup2;" );
+    _LIT16( sp22, "\u00b2" );
+    ReplaceInString( aPtrTag, spXML22, sp22 );
+    _LIT16( spXML23, "&sup3;" );
+    _LIT16( sp23, "\u00b3" );
+    ReplaceInString( aPtrTag, spXML23, sp23 );
+    _LIT16( spXML24, "&acute;" );
+    _LIT16( sp24, "\u00b4" );
+    ReplaceInString( aPtrTag, spXML24, sp24 );
+    _LIT16( spXML25, "&micro;" );
+    _LIT16( sp25, "\u00b5" );
+    ReplaceInString( aPtrTag, spXML25, sp25 );
+    _LIT16( spXML26, "&para;" );
+    _LIT16( sp26, "\u00b6" );
+    ReplaceInString( aPtrTag, spXML26, sp26 );  
+    _LIT16( spXML27, "&middot;" );
+    _LIT16( sp27, "\u00b7" );
+    ReplaceInString( aPtrTag, spXML27, sp27 );
+    _LIT16( spXML28, "&cedil;" );
+    _LIT16( sp28, "\u00b8" );
+    ReplaceInString( aPtrTag, spXML28, sp28 );
+    _LIT16( spXML29, "&sup1;" );
+    _LIT16( sp29, "\u00b9" );
+    ReplaceInString( aPtrTag, spXML29, sp29 );
+    _LIT16( spXML30, "&ordm;" );
+    _LIT16( sp30, "\u00ba" );
+    ReplaceInString( aPtrTag, spXML30, sp30 );
+    _LIT16( spXML31, "&raquo;" );
+    _LIT16( sp31, "\u00bb" );
+    ReplaceInString( aPtrTag, spXML31, sp31 );
+    _LIT16( spXML32, "&frac14;" );
+    _LIT16( sp32, "\u00bc" );
+    ReplaceInString( aPtrTag, spXML32, sp32 );
+    _LIT16( spXML33, "&frac12;" );
+    _LIT16( sp33, "\u00bd" );
+    ReplaceInString( aPtrTag, spXML33, sp33 );
+    _LIT16( spXML34, "&frac34;" );
+    _LIT16( sp34, "\u00be" );
+    ReplaceInString( aPtrTag, spXML34, sp34 );
+    _LIT16( spXML35, "&iquest;" );
+    _LIT16( sp35, "\u00bf" );
+    ReplaceInString( aPtrTag, spXML35, sp35 );
+    _LIT16( spXML36, "&Agrave;" );
+    _LIT16( sp36, "\u00c0" );
+    ReplaceInString( aPtrTag, spXML36, sp36 );
+    _LIT16( spXML37, "&Aacute;" );
+    _LIT16( sp37, "\u00c1" );
+    ReplaceInString( aPtrTag, spXML37, sp37 );
+    _LIT16( spXML38, "&Acirc;" );
+    _LIT16( sp38, "\u00c2" );
+    ReplaceInString( aPtrTag, spXML38, sp38 );
+    _LIT16( spXML39, "&Atilde;" );
+    _LIT16( sp39, "\u00c3" );
+    ReplaceInString( aPtrTag, spXML39, sp39 );
+    _LIT16( spXML40, "&Auml;" );
+    _LIT16( sp40, "\u00c4" );
+    ReplaceInString( aPtrTag, spXML40, sp40 );
+    _LIT16( spXML41, "&Aring;" );
+    _LIT16( sp41, "\u00c5" );
+    ReplaceInString( aPtrTag, spXML41, sp41 );
+    _LIT16( spXML42, "&AElig;" );
+    _LIT16( sp42, "\u00c6" );
+    ReplaceInString( aPtrTag, spXML42, sp42 ); 
+    _LIT16( spXML43, "&Ccedil;" );
+    _LIT16( sp43, "\u00c7" );
+    ReplaceInString( aPtrTag, spXML43, sp43 );
+    _LIT16( spXML44, "&Egrave;" );
+    _LIT16( sp44, "\u00c8" );
+    ReplaceInString( aPtrTag, spXML44, sp44 );
+    _LIT16( spXML45, "&Eacute;" );
+    _LIT16( sp45, "\u00c9" );
+    ReplaceInString( aPtrTag, spXML45, sp45 );
+    _LIT16( spXML46, "&Ecirc;" );
+    _LIT16( sp46, "\u00ca" );
+    ReplaceInString( aPtrTag, spXML46, sp46 );
+    _LIT16( spXML47, "&Euml;" );
+    _LIT16( sp47, "\u00cb" );
+    ReplaceInString( aPtrTag, spXML47, sp47 );
+    _LIT16( spXML48, "&Igrave;" );
+    _LIT16( sp48, "\u00cc" );
+    ReplaceInString( aPtrTag, spXML48, sp48 );
+    _LIT16( spXML49, "&Iacute;" );
+    _LIT16( sp49, "\u00cd" );
+    ReplaceInString( aPtrTag, spXML49, sp49 );
+    _LIT16( spXML50, "&Icirc;" );
+    _LIT16( sp50, "\u00ce" );
+    ReplaceInString( aPtrTag, spXML50, sp50 );
+    _LIT16( spXML51, "&Iuml;" );
+    _LIT16( sp51, "\u00cf" );
+    ReplaceInString( aPtrTag, spXML51, sp51 );
+    _LIT16( spXML52, "&ETH;" );
+    _LIT16( sp52, "\u00d0" );
+    ReplaceInString( aPtrTag, spXML52, sp52 );
+    _LIT16( spXML53, "&Ntilde;" );
+    _LIT16( sp53, "\u00d1" );
+    ReplaceInString( aPtrTag, spXML53, sp53 );
+    _LIT16( spXML54, "&Ograve;" );
+    _LIT16( sp54, "\u00d2" );
+    ReplaceInString( aPtrTag, spXML54, sp54 );
+    _LIT16( spXML55, "&Oacute;" );
+    _LIT16( sp55, "\u00d3" );
+    ReplaceInString( aPtrTag, spXML55, sp55 );
+    _LIT16( spXML56, "&Ocirc;" );
+    _LIT16( sp56, "\u00d4" );
+    ReplaceInString( aPtrTag, spXML56, sp56 );
+    _LIT16( spXML57, "&Otilde;" );
+    _LIT16( sp57, "\u00d5" );
+    ReplaceInString( aPtrTag, spXML57, sp57 );
+    _LIT16( spXML58, "&Ouml;" );
+    _LIT16( sp58, "\u00d6" );
+    ReplaceInString( aPtrTag, spXML58, sp58 );
+    _LIT16( spXML59, "&times;" );
+    _LIT16( sp59, "\u00d7" );
+    ReplaceInString( aPtrTag, spXML59, sp59 );
+    _LIT16( spXML60, "&Oslash;" );
+    _LIT16( sp60, "\u00d8" );
+    ReplaceInString( aPtrTag, spXML60, sp60 );
+    _LIT16( spXML61, "&Ugrave;" );
+    _LIT16( sp61, "\u00d9" );
+    ReplaceInString( aPtrTag, spXML61, sp61 );
+    _LIT16( spXML62, "&Uacute;" );
+    _LIT16( sp62, "\u00da" );
+    ReplaceInString( aPtrTag, spXML62, sp62 );
+    _LIT16( spXML63, "&Ucirc;" );
+    _LIT16( sp63, "\u00db" );
+    ReplaceInString( aPtrTag, spXML63, sp63 );
+    _LIT16( spXML64, "&Uuml;" );
+    _LIT16( sp64, "\u00dc" );
+    ReplaceInString( aPtrTag, spXML64, sp64 );
+    _LIT16( spXML65, "&Yacute;" );
+    _LIT16( sp65, "\u00dd" );
+    ReplaceInString( aPtrTag, spXML65, sp65 );
+    _LIT16( spXML66, "&THORN;" );
+    _LIT16( sp66, "\u00de" );
+    ReplaceInString( aPtrTag, spXML66, sp66 );
+    _LIT16( spXML67, "&szlig;" );
+    _LIT16( sp67, "\u00df" );
+    ReplaceInString( aPtrTag, spXML67, sp67 );
+    _LIT16( spXML68, "&agrave;" );
+    _LIT16( sp68, "\u00e0" );
+    ReplaceInString( aPtrTag, spXML68, sp68 );
+    _LIT16( spXML69, "&aacute;" );
+    _LIT16( sp69, "\u00e1" );
+    ReplaceInString( aPtrTag, spXML69, sp69 );
+    _LIT16( spXML70, "&acirc;" );
+    _LIT16( sp70, "\u00e2" );
+    ReplaceInString( aPtrTag, spXML70, sp70 );
+    _LIT16( spXML71, "&atilde;" );
+    _LIT16( sp71, "\u00e3" );
+    ReplaceInString( aPtrTag, spXML71, sp71 );
+    _LIT16( spXML72, "&auml;");
+    _LIT16( sp72, "\u00e4" );
+    ReplaceInString( aPtrTag, spXML72, sp72 );
+    _LIT16( spXML73, "&aring;" );
+    _LIT16( sp73, "\u00e5" );
+    ReplaceInString( aPtrTag, spXML73, sp73 );
+    _LIT16( spXML74, "&aelig;" );
+    _LIT16( sp74, "\u00e6" );
+    ReplaceInString( aPtrTag, spXML74, sp74 );
+    _LIT16( spXML75, "&acedil;" );
+    _LIT16( sp75, "\u00e7" );
+    ReplaceInString( aPtrTag, spXML75, sp75 );
+    _LIT16( spXML76, "&egrave;" );
+    _LIT16( sp76, "\u00e8" );
+    ReplaceInString( aPtrTag, spXML76, sp76 );
+    _LIT16( spXML77, "&eacute;" );
+    _LIT16( sp77, "\u00e9" );
+    ReplaceInString( aPtrTag, spXML77, sp77 );
+    _LIT16( spXML78, "&ecirc;" );
+    _LIT16( sp78, "\u00ea" );
+    ReplaceInString( aPtrTag, spXML78, sp78 );
+    _LIT16( spXML79, "&euml;" );
+    _LIT16( sp79, "\u00eb" );
+    ReplaceInString( aPtrTag, spXML79, sp79 );
+    _LIT16( spXML80, "&igrave;" );
+    _LIT16( sp80, "\u00ec" );
+    ReplaceInString( aPtrTag, spXML80, sp80 );
+    _LIT16( spXML81, "&iacute;" );
+    _LIT16( sp81, "\u00ed" );
+    ReplaceInString( aPtrTag, spXML81, sp81 );
+    _LIT16( spXML82, "&icirc;" );
+    _LIT16( sp82, "\u00ee" );
+    ReplaceInString( aPtrTag, spXML82, sp82 );
+    _LIT16( spXML83, "&iuml;" );
+    _LIT16( sp83, "\u00ef" );
+    ReplaceInString( aPtrTag, spXML83, sp83 );
+    _LIT16( spXML84, "&eth;" );
+    _LIT16( sp84, "\u00f0" );
+    ReplaceInString( aPtrTag, spXML84, sp84 );
+    _LIT16( spXML85, "&ntilde;" );
+    _LIT16( sp85, "\u00f1" );
+    ReplaceInString( aPtrTag, spXML85, sp85 );
+    _LIT16( spXML86, "&ograve;" );
+    _LIT16( sp86, "\u00f2" );
+    ReplaceInString( aPtrTag, spXML86, sp86 );
+    _LIT16( spXML87, "&oacute;" );
+    _LIT16( sp87, "\u00f3" );
+    ReplaceInString( aPtrTag, spXML87, sp87 );
+    _LIT16( spXML88, "&ocirc;" );
+    _LIT16( sp88, "\u00f4" );
+    ReplaceInString( aPtrTag, spXML88, sp88 );
+    _LIT16( spXML89, "&otilde;" );
+    _LIT16( sp89, "\u00f5" );
+    ReplaceInString( aPtrTag, spXML89, sp89 );
+    _LIT16( spXML90, "&ouml;" );
+    _LIT16( sp90, "\u00f6" );
+    ReplaceInString( aPtrTag, spXML90, sp90 );
+    _LIT16( spXML91, "&divide;" );
+    _LIT16( sp91, "\u00f7" );
+    ReplaceInString( aPtrTag, spXML91, sp91 );
+    _LIT16( spXML92, "&oslash;" );
+    _LIT16( sp92, "\u00f8" );
+    ReplaceInString( aPtrTag, spXML92, sp92 );
+    _LIT16( spXML93, "&ugrave;" );
+    _LIT16( sp93, "\u00f9" );
+    ReplaceInString( aPtrTag, spXML93, sp93 );
+    _LIT16( spXML94, "&uacute;" );
+    _LIT16( sp94, "\u00fa" );
+    ReplaceInString( aPtrTag, spXML94, sp94 );
+    _LIT16( spXML95, "&ucirc;" );
+    _LIT16( sp95, "\u00fb" );
+    ReplaceInString( aPtrTag, spXML95, sp95 );
+    _LIT16( spXML96, "&uuml;" );
+    _LIT16( sp96, "\u00fc" );
+    ReplaceInString( aPtrTag, spXML96, sp96 );
+    _LIT16( spXML97, "&yacute;" );
+    _LIT16( sp97, "\u00fd" );
+    ReplaceInString( aPtrTag, spXML97, sp97 );
+    _LIT16( spXML98, "&thorn;" );
+    _LIT16( sp98, "\u00de" );
+    ReplaceInString( aPtrTag, spXML98, sp98 );
+    _LIT16( spXML99, "&yuml;" );
+    _LIT16( sp99, "\u00ff" );
+    ReplaceInString( aPtrTag, spXML99, sp99 );
+    _LIT16( spXML100, "&OElig;" );
+    _LIT16( sp100, "\u0152" );
+    ReplaceInString( aPtrTag, spXML100, sp100 );
+    _LIT16( spXML101, "&oelig;" );
+    _LIT16( sp101, "\u0153" );
+    ReplaceInString( aPtrTag, spXML101, sp101 );
+    _LIT16( spXML102, "&Scaron;" );
+    _LIT16( sp102, "\u0160" );
+    ReplaceInString( aPtrTag, spXML102, sp102 );
+    _LIT16( spXML103, "&scaron;" );
+    _LIT16( sp103, "\u0161" );
+    ReplaceInString( aPtrTag, spXML103, sp103 );
+    _LIT16( spXML104, "&Yuml;" );
+    _LIT16( sp104, "\u0178" );
+    ReplaceInString( aPtrTag, spXML104, sp104 );
+    _LIT16( spXML105, "&fnof;" );
+    _LIT16( sp105, "\u0192" );
+    ReplaceInString( aPtrTag, spXML105, sp105 );
+    _LIT16( spXML106, "&circ;" );
+    _LIT16( sp106, "\u02c6" );
+    ReplaceInString( aPtrTag, spXML106, sp106 );
+    _LIT16( spXML107, "&tilde;" );
+    _LIT16( sp107, "\u02dc" );
+    ReplaceInString( aPtrTag, spXML107, sp107 );
+    }
+
+// ---------------------------------------------------------
+// CReaderXML::Replace
+// ---------------------------------------------------------
+//
+void CReaderXML::ReplaceInString(   HBufC* aPtrTag, 
+                                const TDesC& aSpXML, 
+                                const TDesC& aSp )
+    {
+        if( aPtrTag == NULL )
+        {
+            return;
+        }
+    TInt strPos = aPtrTag->Des().Find(aSpXML);
+    while ( strPos != KErrNotFound )
+        {
+        aPtrTag->Des().Replace(strPos, aSpXML.Length() , aSp);
+        strPos = aPtrTag->Des().Find(aSpXML);     
+        }
+    }   
+
+//maximum number of VPN AP parameters
+
+
+void CReaderXML::FillPacketDataParams()    
+    {
+    iPDParams.Append( EInputParams( ECmName,                          KConnectionName ) );
+    iPDParams.Append( EInputParams( ECmId,                            KConnectionId ) );
+    iPDParams.Append( EInputParams( ECmProtected,                     KProtected ) );
+    iPDParams.Append( EInputParams( ECmHidden,                        KHidden ) );
+    iPDParams.Append( EInputParams( ECmMetaHiddenAgent,               KHiddenAgent ) );
+    iPDParams.Append( EInputParams( ECmMetaHighlight,                 KHighlighted ) );
+    iPDParams.Append( EInputParams( ECmSeamlessnessLevel,             KSeamlessness ) );
+    iPDParams.Append( EInputParams( EPacketDataAPName,                KGprs_AP_Name ) );
+    iPDParams.Append( EInputParams( EPacketDataIFAuthName,            KUserName ) );
+    iPDParams.Append( EInputParams( EPacketDataIFPromptForAuth,       KPromptPassword ) );
+    iPDParams.Append( EInputParams( EPacketDataIFAuthPass,            KPassword ) );
+    iPDParams.Append( EInputParams( EPacketDataDisablePlainTextAuth,  KPasswordAuthType ) );
+    iPDParams.Append( EInputParams( ECmWapIPGatewayAddress,           KWAPGatewayIP ) );
+    iPDParams.Append( EInputParams( ECmStartPage,                     KStartingPage ) );
+    iPDParams.Append( EInputParams( ECmWapIPSecurity,                 KWTLS_Security ) );
+    iPDParams.Append( EInputParams( ECmWapIPWSPOption,                KWAP_ConnectionType ) );
+    iPDParams.Append( EInputParams( EPacketDataIPAddr,                KPhoneIP ) );
+    iPDParams.Append( EInputParams( EPacketDataIPNameServer1,         KPrimaryNameServer ) );
+    iPDParams.Append( EInputParams( EPacketDataIPNameServer2,         KSecondaryNameServer ) );
+    iPDParams.Append( EInputParams( ECmProxyServerName,               KProxyServerAddress ) );
+    iPDParams.Append( EInputParams( ECmProxyPortNumber,               KProxyPortNumber ) );
+    iPDParams.Append( EInputParams( ECmProxyProtocolName,             KProxyProtocolName ) );
+    iPDParams.Append( EInputParams( EPacketDataIPIP6NameServer1,      KPrimaryIP6NameServer ) );
+    iPDParams.Append( EInputParams( EPacketDataIPIP6NameServer2,      KSecondaryIP6NameServer ) );
+    iPDParams.Append( EInputParams( EPacketDataApType,                KIspType ) );
+    iPDParams.Append( EInputParams( EPacketDataPDPType,               KNetworkType ) );
+    iPDParams.Append( EInputParams( EPacketDataUseEdge,               KGprsUseEdge ) );
+    iPDParams.Append( EInputParams( EPacketDataLinger,                KLinger ) );
+    };
+
+void CReaderXML::FillLanParams()    
+    {
+    iLanParams.Append( EInputParams( ECmName,                           KConnectionName ) );
+    iLanParams.Append( EInputParams( ECmId,                             KConnectionId ) );
+    iLanParams.Append( EInputParams( ECmProtected,                      KProtected ) );
+    iLanParams.Append( EInputParams( ECmHidden,                         KHidden ) );
+    iLanParams.Append( EInputParams( ECmMetaHiddenAgent,                KHiddenAgent ) );
+    iLanParams.Append( EInputParams( ECmMetaHighlight,                  KHighlighted ) );
+    iLanParams.Append( EInputParams( ECmSeamlessnessLevel,              KSeamlessness ) );
+    iLanParams.Append( EInputParams( ECmWapIPGatewayAddress,            KWAPGatewayIP ) );
+    iLanParams.Append( EInputParams( ECmStartPage,                      KStartingPage ) );
+    iLanParams.Append( EInputParams( ECmWapIPSecurity,                  KWTLS_Security ) );
+    iLanParams.Append( EInputParams( ECmWapIPWSPOption,                 KWAP_ConnectionType ) );
+    iLanParams.Append( EInputParams( ECmProxyServerName,                KProxyServerAddress ) );
+    iLanParams.Append( EInputParams( ECmProxyPortNumber,                KProxyPortNumber ) );
+    iLanParams.Append( EInputParams( ECmProxyProtocolName,              KProxyProtocolName ) );
+    iLanParams.Append( EInputParams( ELanIfNetworks,                    KLanIfNetworks ) );
+    iLanParams.Append( EInputParams( ELanIpNetMask,                     KLanIpNetMask ) );
+    iLanParams.Append( EInputParams( ELanIpGateway,                     KLanIpGateway ) );
+    iLanParams.Append( EInputParams( ELanIpAddr,                        KPhoneIP ) );
+    iLanParams.Append( EInputParams( ELanIpNameServer1,                 KPrimaryNameServer ) );
+    iLanParams.Append( EInputParams( ELanIpNameServer2,                 KSecondaryNameServer ) );
+    iLanParams.Append( EInputParams( ELanIp6NameServer1,                KPrimaryIP6NameServer ) );
+    iLanParams.Append( EInputParams( ELanIp6NameServer2,                KSecondaryIP6NameServer ) );
+    iLanParams.Append( EInputParams( ELanIpAddrFromServer,              KLanIpAddrFromServer ) );
+    iLanParams.Append( EInputParams( ELanIpDNSAddrFromServer,           KLanIpDNSAddrFromServer ) );
+    iLanParams.Append( EInputParams( ELanConfigDaemonManagerName,       KLanConfigDaemonManagerName ) );
+    iLanParams.Append( EInputParams( ELanConfigDaemonName,              KLanConfigDaemonName ) );
+    };
+    
+//Binds WLAN access point parameters to field IDs
+void CReaderXML::FillWLanParams()    
+    {        
+    iWLanParams.Append( EInputParams( ECmName,                      KConnectionName ) );
+    iWLanParams.Append( EInputParams( ECmId,                        KConnectionId ) );
+    iWLanParams.Append( EInputParams( ECmProtected,                 KProtected ) );
+    iWLanParams.Append( EInputParams( ECmHidden,                    KHidden ) );
+    iWLanParams.Append( EInputParams( ECmMetaHiddenAgent,           KHiddenAgent ) );
+    iWLanParams.Append( EInputParams( ECmMetaHighlight,             KHighlighted ) );
+    iWLanParams.Append( EInputParams( ECmSeamlessnessLevel,         KSeamlessness ) );
+    iWLanParams.Append( EInputParams( ECmStartPage,                 KStartingPage ) );
+    iWLanParams.Append( EInputParams( EWlanSSID,                    KNetworkName ) );
+    iWLanParams.Append( EInputParams( EWlanConnectionMode,          KNetworkMode ) );
+    iWLanParams.Append( EInputParams( EWlanSecurityMode,            KSecurityMode ) );
+    iWLanParams.Append( EInputParams( EWlanIpNameServer1,           KPrimaryNameServer ) );
+    iWLanParams.Append( EInputParams( EWlanIpNameServer2,           KSecondaryNameServer ) );
+    iWLanParams.Append( EInputParams( EWlanIp6NameServer1,          KPrimaryIP6NameServer ) );
+    iWLanParams.Append( EInputParams( EWlanIp6NameServer2,          KSecondaryIP6NameServer ) );
+    iWLanParams.Append( EInputParams( EWlanIpGateway,               KWlanIpGatewayAddress ) );
+    iWLanParams.Append( EInputParams( ECmProxyServerName,           KProxyServerAddress ) );
+    iWLanParams.Append( EInputParams( ECmProxyProtocolName,         KProxyProtocolName ) );
+    iWLanParams.Append( EInputParams( EWlanIpNetMask,               KWlanIpNetMask ) );
+    iWLanParams.Append( EInputParams( ECmProxyPortNumber,           KProxyPortNumber ) );
+    iWLanParams.Append( EInputParams( EWlanIpAddr,                  KPhoneIP ) ); 
+    iWLanParams.Append( EInputParams( EWlanScanSSID,                KWlanScanSSId ) );
+    iWLanParams.Append( EInputParams( EWlanChannelID,               KWlanChannelId ) );
+    iWLanParams.Append( EInputParams( EWEPKeyInUse,                 KWEPKeyInUse ) );
+    iWLanParams.Append( EInputParams( EWEPAuthType,                 KWEPAuthType ) );
+    iWLanParams.Append( EInputParams( EWEPKey1Length,               KWEPKey1Length ) );
+    iWLanParams.Append( EInputParams( EWEPKey1Format,               KWEPKey1Format ) );
+    iWLanParams.Append( EInputParams( EWEPKey1Data,                 KWEPKey1Data ) );
+    iWLanParams.Append( EInputParams( EWEPKey2Length,               KWEPKey2Length ) );
+    iWLanParams.Append( EInputParams( EWEPKey2Format,               KWEPKey2Format ) );
+    iWLanParams.Append( EInputParams( EWEPKey2Data,                 KWEPKey2Data ) );
+    iWLanParams.Append( EInputParams( EWEPKey3Length,               KWEPKey3Length ) );
+    iWLanParams.Append( EInputParams( EWEPKey3Format,               KWEPKey3Format ) );
+    iWLanParams.Append( EInputParams( EWEPKey3Data,                 KWEPKey3Data ) );
+    iWLanParams.Append( EInputParams( EWEPKey4Length,               KWEPKey4Length ) );
+    iWLanParams.Append( EInputParams( EWEPKey4Format,               KWEPKey4Format ) );
+    iWLanParams.Append( EInputParams( EWEPKey4Data,                 KWEPKey4Data ) );
+    iWLanParams.Append( EInputParams( EWPAPresharedKey,             KWPAPresharedKey ) );
+    iWLanParams.Append( EInputParams( EWPAKeyLength,                KWPAKeyLength ) );
+    iWLanParams.Append( EInputParams( EWPAEapMethod,                KWPAEapMethod ) );
+    iWLanParams.Append( EInputParams( EWPAUseOfPresharedKey,        KWPAUseOfPresharedKey ) );
+    iWLanParams.Append( EInputParams( EEapGtcUsername,              KEapGtcUsername ) );
+    iWLanParams.Append( EInputParams( EEapGtcSessionValidityTime,   KEapGtcSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapGtcEncapsulation,         KEapGtcEncapsulation ) );
+    iWLanParams.Append( EInputParams( EEapTlsUsername,              KEapTlsUsername ) );
+    iWLanParams.Append( EInputParams( EEapTlsRealm,                 KEapTlsRealm ) );
+    iWLanParams.Append( EInputParams( EEapTlsVerifyServerRealm,     KEapTlsVerifyServerRealm ) );
+    iWLanParams.Append( EInputParams( EEapTlsRequireClientAuth,     KEapTlsRequireClientAuth ) );
+    iWLanParams.Append( EInputParams( EEapTlsSessionValidityTime,   KEapTlsSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapTlsCipherSuites,          KEapTlsCipherSuites ) );
+    iWLanParams.Append( EInputParams( EEapTlsUserCertSubjectKeyId,  KEapTlsUserCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapTlsUserCertIssuerName,    KEapTlsUserCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapTlsUserCertSerialNumber,  KEapTlsUserCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapTlsCaCertSubjectKeyId,    KEapTlsCaCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapTlsCaCertIssuerName,      KEapTlsCaCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapTlsCaCertSerialNumber,    KEapTlsCaCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapTlsEncapsulation,         KEapTlsEncapsulation ) );
+    iWLanParams.Append( EInputParams( EEapLeapUsername,             KEapLeapUsername ) );
+    iWLanParams.Append( EInputParams( EEapLeapPassword,             KEapLeapPassword ) );
+    iWLanParams.Append( EInputParams( EEapLeapSessionValidityTime,  KEapLeapSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapSimUsername,              KEapSimUsername ) );
+    iWLanParams.Append( EInputParams( EEapSimRealm,                 KEapSimRealm ) );
+    iWLanParams.Append( EInputParams( EEapSimUsePseudonyms,         KEapSimUsePseudonyms ) );
+    iWLanParams.Append( EInputParams( EEapSimSessionValidityTime,   KEapSimSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapSimEncapsulation,         KEapSimEncapsulation ) );
+    iWLanParams.Append( EInputParams( EEapTtlsUsername,             KEapTtlsUsername ) );
+    iWLanParams.Append( EInputParams( EEapTtlsRealm,                KEapTtlsRealm ) );
+    iWLanParams.Append( EInputParams( EEapTtlsVerifyServerRealm,    KEapTtlsVerifyServerRealm ) );
+    iWLanParams.Append( EInputParams( EEapTtlsRequireClientAuth,    KEapTtlsRequireClientAuth ) );
+    iWLanParams.Append( EInputParams( EEapTtlsSessionValidityTime,  KEapTtlsSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapTtlsCipherSuites,         KEapTtlsCipherSuites ) );
+    iWLanParams.Append( EInputParams( EEapTtlsEncapsulatedTypes,    KEapTtlsEncapsulatedTypes ) );
+    iWLanParams.Append( EInputParams( EEapTtlsUserCertSubjectKeyId, KEapTtlsUserCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapTtlsUserCertIssuerName,   KEapTtlsUserCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapTtlsUserCertSerialNumber, KEapTtlsUserCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapTtlsCaCertSubjectKeyId,   KEapTtlsCaCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapTtlsCaCertIssuerName,     KEapTtlsCaCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapTtlsCaCertSerialNumber,   KEapTtlsCaCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapAkaUsername,              KEapAkaUsername ) );
+    iWLanParams.Append( EInputParams( EEapAkaRealm,                 KEapAkaRealm ) );
+    iWLanParams.Append( EInputParams( EEapAkaUsePseudonyms,         KEapAkaUsePseudonyms ) );
+    iWLanParams.Append( EInputParams( EEapAkaSessionValidityTime,   KEapAkaSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapAkaEncapsulation,         KEapAkaEncapsulation ) );
+    iWLanParams.Append( EInputParams( EEapPeapUsername,             KEapPeapUsername ) );
+    iWLanParams.Append( EInputParams( EEapPeapRealm,                KEapPeapRealm ) );
+    iWLanParams.Append( EInputParams( EEapPeapVerifyServerRealm,    KEapPeapVerifyServerRealm ) );
+    iWLanParams.Append( EInputParams( EEapPeapRequireClientAuth,    KEapPeapRequireClientAuth ) );
+    iWLanParams.Append( EInputParams( EEapPeapSessionValidityTime,  KEapPeapSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapPeapCipherSuites,         KEapPeapCipherSuites ) );
+    iWLanParams.Append( EInputParams( EEapPeapV0Allowed,            KEapPeapV0Allowed ) );
+    iWLanParams.Append( EInputParams( EEapPeapV1Allowed,            KEapPeapV1Allowed ) );
+    iWLanParams.Append( EInputParams( EEapPeapV2Allowed,            KEapPeapV2Allowed ) );
+    iWLanParams.Append( EInputParams( EEapPeapEncapsulatedTypes,    KEapPeapEncapsulatedTypes ) );
+    iWLanParams.Append( EInputParams( EEapPeapUserCertSubjectKeyId, KEapPeapUserCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapPeapUserCertIssuerName,   KEapPeapUserCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapPeapUserCertSerialNumber, KEapPeapUserCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapPeapCaCertSubjectKeyId,   KEapPeapCaCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapPeapCaCertIssuerName,     KEapPeapCaCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapPeapCaCertSerialNumber,   KEapPeapCaCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapMschapv2Username,         KEapMschapv2Username ) );
+    iWLanParams.Append( EInputParams( EEapMschapv2Password,         KEapMschapv2Password ) );
+    iWLanParams.Append( EInputParams( EEapMschapv2SessionValidityTime, KEapMschapv2SessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapMschapv2Encapsulation,    KEapMschapv2Encapsulation ) );
+    iWLanParams.Append( EInputParams( EEapFastUsername,             KEapFastUsername ) );
+    iWLanParams.Append( EInputParams( EEapFastRealm,                KEapFastRealm ) );
+    iWLanParams.Append( EInputParams( EEapFastVerifyServerRealm,    KEapFastVerifyServerRealm ) );
+    iWLanParams.Append( EInputParams( EEapFastRequireClientAuth,    KEapFastRequireClientAuth ) );
+    iWLanParams.Append( EInputParams( EEapFastSessionValidityTime,  KEapFastSessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EEapFastCipherSuites,         KEapFastCipherSuites ) );
+    iWLanParams.Append( EInputParams( EEapFastEncapsulatedTypes,    KEapFastEncapsulatedTypes ) );
+    iWLanParams.Append( EInputParams( EEapFastAuthProvModeAllowed,  KEapFastAuthProvModeAllowed ) );
+    iWLanParams.Append( EInputParams( EEapFastUnauthProvModeAllowed, KEapFastUnauthProvModeAllowed ) );
+    iWLanParams.Append( EInputParams( EEapFastWarnADHPNoPAC,        KEapFastWarnADHPNoPAC ) );
+    iWLanParams.Append( EInputParams( EEapFastWarnADHPNoMatchingPAC, KEapFastWarnADHPNoMatchingPAC ) );
+    iWLanParams.Append( EInputParams( EEapFastWarnNotDefaultServer, KEapFastWarnNotDefaultServer ) );
+    iWLanParams.Append( EInputParams( EEapFastUserCertSubjectKeyId, KEapFastUserCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapFastUserCertIssuerName,   KEapFastUserCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapFastUserCertSerialNumber, KEapFastUserCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EEapFastCaCertSubjectKeyId,   KEapFastCaCertSubjectKeyId ) );
+    iWLanParams.Append( EInputParams( EEapFastCaCertIssuerName,     KEapFastCaCertIssuerName ) );
+    iWLanParams.Append( EInputParams( EEapFastCaCertSerialNumber,   KEapFastCaCertSerialNumber ) );
+    iWLanParams.Append( EInputParams( EMschapv2Username,            KMschapv2Username ) );
+    iWLanParams.Append( EInputParams( EMschapv2Password,            KMschapv2Password ) );
+    iWLanParams.Append( EInputParams( EMschapv2SessionValidityTime, KMschapv2SessionValidityTime ) );
+    iWLanParams.Append( EInputParams( EMschapv2Encapsulation, 		KMschapv2Encapsulation ) );        
+    };
+    
+    
+
+void CReaderXML::FillVpnParams()    
+    {
+    iVpnParams.Reset();
+        
+    iVpnParams.Append( EInputParams( ECmName,              KConnectionName ) );
+    iVpnParams.Append( EInputParams( ECmId,                KConnectionId ) );
+    iVpnParams.Append( EInputParams( ECmProtected,         KProtected ) );
+    iVpnParams.Append( EInputParams( ECmHidden,            KHidden ) );
+    iVpnParams.Append( EInputParams( ECmMetaHiddenAgent,   KHiddenAgent ) );
+    iVpnParams.Append( EInputParams( ECmMetaHighlight,     KHighlighted ) );
+    iVpnParams.Append( EInputParams( ECmSeamlessnessLevel, KSeamlessness ) );
+    iVpnParams.Append( EInputParams( ECmProxyServerName,   KProxyServerAddress ) );
+    iVpnParams.Append( EInputParams( ECmProxyPortNumber,   KProxyPortNumber ) );
+    iVpnParams.Append( EInputParams( ECmProxyProtocolName, KProxyProtocolName ) );
+    iVpnParams.Append( EInputParams( EVPN_IapName,         KVpnIapName ) );
+    iVpnParams.Append( EInputParams( EVpnServicePolicy,    KVpnServicePolicy ) );
+
+    };    
+
+//Binds Gobal settings parameters to field IDs
+void CReaderXML::FillGlobalParams()    
+    {         
+    iGlobalParams.Append( EInputParams( EGPRSAttachMode,        KAttachMode ) );
+    iGlobalParams.Append( EInputParams( EDefaultAP,             KDefaultAP) );
+    iGlobalParams.Append( EInputParams( EDefaultDnIcon,         KDefaultDnIcon ) );
+    iGlobalParams.Append( EInputParams( EPriorityLan,           KPriorityLan ) );
+    iGlobalParams.Append( EInputParams( EPriorityWlan,          KPriorityWlan ) );
+    iGlobalParams.Append( EInputParams( EPriorityPan,           KPriorityPan ) );
+    iGlobalParams.Append( EInputParams( EPriorityGprsOut,       KPriorityGprsOut ) );
+    iGlobalParams.Append( EInputParams( EPriorityGprsIn,        KPriorityGprsIn ) );
+    iGlobalParams.Append( EInputParams( EPriorityCdma2k,        KPriorityCdma2k ) );
+    iGlobalParams.Append( EInputParams( EPriorityDialOut,       KPriorityDialOut ) );
+    iGlobalParams.Append( EInputParams( EPriorityDialIn,        KPriorityDialIn ) );
+    iGlobalParams.Append( EInputParams( EPriorityVpn,           KPriorityVpn ) );
+    iGlobalParams.Append( EInputParams( EPriorityMip,           KPriorityMip ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityLan,         KUIPriorityLan ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityWlan,        KUIPriorityWlan ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityPan,         KUIPriorityPan ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityGprsOut,     KUIPriorityGprsOut ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityGprsIn,      KUIPriorityGprsIn ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityCdma2k,      KUIPriorityCdma2k ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityDialOut,     KUIPriorityDialOut ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityDialIn,      KUIPriorityDialIn ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityVpn,         KUIPriorityVpn ) );
+    iGlobalParams.Append( EInputParams( EUIPriorityMip,         KUIPriorityMip ) );
+    iGlobalParams.Append( EInputParams( EUsageOfWlan,           KUsageOfWlan ) );
+    iGlobalParams.Append( EInputParams( ECellularDataUsageHome,         KCellularDataUsageHome ) );
+    iGlobalParams.Append( EInputParams( ECellularDataUsageVisitor,      KCellularDataUsageVisitor ) );
+    iGlobalParams.Append( EInputParams( EGprsLastSocketActivityTimeout, KGprsLastSocketActivityTimeout ) );
+    iGlobalParams.Append( EInputParams( EGprsLastSessionClosedTimeout,  KGprsLastSessionClosedTimeout ) );
+    iGlobalParams.Append( EInputParams( EGprsLastSocketClosedTimeout,   KGprsLastSocketClosedTimeout ) );
+    iGlobalParams.Append( EInputParams( EWlanLastSocketActivityTimeout, KWlanLastSocketActivityTimeout ) );
+    iGlobalParams.Append( EInputParams( EWlanLastSessionClosedTimeout,  KWlanLastSessionClosedTimeout ) );
+    iGlobalParams.Append( EInputParams( EWlanLastSocketClosedTimeout,   KWlanLastSocketClosedTimeout ) );
+    iGlobalParams.Append( EInputParams( EWlanBGScanInterval,    KWlanBGScanInterval ) );
+    iGlobalParams.Append( EInputParams( EWlanUseDefSettings,    KWlanUseDefSettings ) );
+    iGlobalParams.Append( EInputParams( EWlanLongRetry,         KWlanLongRetry ) );
+    iGlobalParams.Append( EInputParams( EWlanShortRetry,        KWlanShortRetry ) );
+    iGlobalParams.Append( EInputParams( EWlanRTS,               KWlanRTS ) );
+    iGlobalParams.Append( EInputParams( EWlanTxPowerLevel,      KWlanTxPowerLevel ) );
+    iGlobalParams.Append( EInputParams( EWlanRadioMeasurements, KWlanRadioMeasurements ) );
+    iGlobalParams.Append( EInputParams( EWlanPowerMode,         KWlanPowerMode ) );
+    
+    };
+
+//Describes a Destination Network
+void CReaderXML::FillDNParams()    
+    {        
+    iDNParams.Append( EInputParams( EDN_Name,           KDN_Name ) );
+    iDNParams.Append( EInputParams( EDN_Id,             KDN_Id ) );
+    iDNParams.Append( EInputParams( EDN_Icon,           KDN_Icon ) );
+    iDNParams.Append( EInputParams( EDN_Metadata,       KDN_Metadata ) );
+    iDNParams.Append( EInputParams( EDN_Protection,     KDN_Protection ) );
+    iDNParams.Append( EInputParams( EDN_Hidden,         KHidden ) );
+    iDNParams.Append( EInputParams( EDN_HiddenAgent,    KHiddenAgent ) );
+    iDNParams.Append( EInputParams( EDN_Highlighted,    KHighlighted ) );
+    iDNParams.Append( EInputParams( EDN_EmbeddedDNName, KDN_EmbeddedDNName ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName ) );
+    // Needed because of Customization Tool limitations
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName2 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName3 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName4 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName5 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName6 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName7 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName8 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName9 ) );
+    iDNParams.Append( EInputParams( EDN_IAPName,        KDN_IAPName10 ) );   
+    };
+        
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdctagcontainer.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:  Method definitions of the class CTagContainer.
+*
+*/
+
+
+
+#include "cdctagcontainer.h"
+#include "cdcerrors.h"
+
+//CONSTANTS
+const TInt KGranularity = 20;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// Constructor of ETag
+// ---------------------------------------------------------
+CTagContainer::ETag::ETag( HBufC16* aTag, TInt aFieldId ):
+    iFieldId( aFieldId ),
+    iTag( aTag )
+    {
+    //no implementation needed    
+    }
+
+// ---------------------------------------------------------
+// Destructor of ETag
+// ---------------------------------------------------------
+CTagContainer::ETag::~ETag() 
+    {
+    delete iTag;    
+    }
+    
+// ---------------------------------------------------------
+// TTagContainer NewL
+// ---------------------------------------------------------
+//    
+CTagContainer* CTagContainer::NewL()
+    {
+    CTagContainer* self = new ( ELeave ) CTagContainer();
+    CleanupStack::PushL( self );
+
+    // From Base class
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;    
+    }
+    
+// ---------------------------------------------------------
+// TTagContainer ConstructL
+// ---------------------------------------------------------
+//        
+void CTagContainer::ConstructL()
+    {
+    iTags = new (ELeave) CArrayPtrSeg<ETag>( KGranularity );    
+    }
+    
+// ---------------------------------------------------------
+// TTagContainer Constructor
+// ---------------------------------------------------------
+//
+CTagContainer::CTagContainer()
+    {
+    }
+    
+// ---------------------------------------------------------
+// TTagContainer Destructor
+// ---------------------------------------------------------
+//
+CTagContainer::~CTagContainer()
+    {
+    Clear();
+    delete iTags;
+    }
+        
+// ---------------------------------------------------------
+// CTagContainer::Clear
+// ---------------------------------------------------------
+//
+void CTagContainer::Clear()
+    {
+    iTags->ResetAndDestroy();
+    }
+    
+// ---------------------------------------------------------
+// CTagContainer::Add
+// ---------------------------------------------------------
+//    
+void CTagContainer::AddL( HBufC16* aTag, TInt aFieldId )
+    {
+    ETag* tag = new (ELeave) ETag( aTag, aFieldId );
+    //lint -sem( iTags->AppendL, custodial(1) )
+    
+    CleanupStack::PushL( tag );
+    iTags->AppendL( tag );
+    CleanupStack::Pop( tag );
+    }
+    
+// ---------------------------------------------------------
+// CTagContainer::Tag
+// ---------------------------------------------------------
+//    
+HBufC16* CTagContainer::Tag( TUint aIdx )
+    {
+    __ASSERT_ALWAYS( aIdx < Count(), 
+                 User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+                 
+    return iTags->At(aIdx)->iTag;
+    }
+
+// ---------------------------------------------------------
+// CTagContainer::FieldId
+// ---------------------------------------------------------
+//    
+TInt CTagContainer::FieldId( TUint aIdx )
+    {
+    __ASSERT_ALWAYS( aIdx < Count(), 
+                 User::Panic ( KPanicOutOfRange, KErrOutOfRange ) );
+
+    return iTags->At( aIdx )->iFieldId;
+    }
+    
+// ---------------------------------------------------------
+// CTagContainer::Count
+// ---------------------------------------------------------
+//    
+TInt CTagContainer::Count()
+    {
+    return iTags->Count();
+    }
+
+// End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcwlandevicesettings.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,279 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CWlanDeviceSettings
+*
+*/
+
+
+
+// INCLUDE FILES
+#include "cdcwlandevicesettings.h"
+#include "cdclogger.h"
+
+#include <cdbcols.h>
+#include <WlanCdbCols.h>
+
+#include <metadatabase.h>
+#include <commsdattypeinfov1_1.h>
+#include <commsdattypesv1_1.h>
+#include <wlancontainer.h>
+
+
+// CONSTANTS
+// WLAN Device Settings table - default settings
+const TUint32 KDefaultBGScanInterval    = 0xFFFFFFFF;   // Automatic scan
+const TBool   KDefaultUseDefSettings    = ETrue;
+const TUint32 KDefaultLongRetry         = 4;
+const TUint32 KDefaultShortRetry        = 7;
+const TUint32 KDefaultRTS               = 2347;
+const TUint32 KDefaultTxPowerLevel      = 100;  //mW
+const TBool   KDefaultRadioMeasurements = ETrue;  
+const TBool   KDefaultWlanPowerMode     = ETrue;        
+
+// Increase version every time the content of the table changes
+const TUint32 KWlanDeviceSettingsTableVersion = 9;
+
+
+// ================= MEMBER FUNCTIONS ======================
+
+// ---------------------------------------------------------
+// Constructor
+// ---------------------------------------------------------
+//
+CWlanDeviceSettings::CWlanDeviceSettings()
+    {
+    }
+    
+
+// ---------------------------------------------------------
+// Symbian 2nd phase constructor can leave.
+// ---------------------------------------------------------
+//
+void CWlanDeviceSettings::ConstructL()
+    {
+    DEBUG( "CWlanDeviceSettings::ConstructL()" )
+    
+    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    
+    // Open the WLAN device settings table.
+    if( !iSession->IsInTransaction() )
+        {
+        iSession->OpenTransactionL();
+        }
+    OpenTableL();
+    iSession->CommitTransactionL();
+    DEBUG( "CWlanDeviceSettings::ConstructL() Tables opened ok." )
+    }
+
+
+// ---------------------------------------------------------
+// Static constructor.
+// ---------------------------------------------------------
+//
+CWlanDeviceSettings* CWlanDeviceSettings::NewL()
+    {
+    DEBUG( "CWlanDeviceSettings::NewL()" )
+
+    CWlanDeviceSettings* self = new (ELeave) CWlanDeviceSettings;
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+    
+
+// ---------------------------------------------------------
+// Destructor
+// ---------------------------------------------------------
+//
+CWlanDeviceSettings::~CWlanDeviceSettings()
+    {
+    DEBUG( "CWlanDeviceSettings::~CWlanDeviceSettings()" )
+    
+    if ( iSession )
+        {
+        iSession->Close();
+        delete iSession; 
+        }
+    }
+
+
+// ---------------------------------------------------------
+// CWlanDeviceSettings::GetDefaultSettings
+// ---------------------------------------------------------
+//
+void CWlanDeviceSettings::GetDefaultSettings( SWlanDeviceSettings& aSettings )
+    {
+    DEBUG( "CWlanDeviceSettings::GetDefaultSettings()" )
+
+    aSettings.backgroundScanInterval = KDefaultBGScanInterval; 
+    aSettings.savedBgScanInterval    = KDefaultBGScanInterval; 
+    aSettings.useDefaultSettings     = KDefaultUseDefSettings;        
+    aSettings.longRetry              = KDefaultLongRetry;
+    aSettings.shortRetry             = KDefaultShortRetry;
+    aSettings.rts                    = KDefaultRTS;
+    aSettings.txPowerLevel           = KDefaultTxPowerLevel;
+    aSettings.radioMeasurements      = KDefaultRadioMeasurements;
+    aSettings.powerMode              = KDefaultWlanPowerMode;
+    }
+
+
+// ---------------------------------------------------------
+// CWlanDeviceSettings::OpenTableL
+// ---------------------------------------------------------
+//
+void CWlanDeviceSettings::OpenTableL()
+    {
+    DEBUG( "CWlanDeviceSettings::OpenTableL()" )
+    
+    // See if there is a record whose device settings type is
+    // 'WLAN default settings'
+    CMDBGenericRecord* deviceSettingsTable = static_cast< CMDBGenericRecord* >
+                        ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( deviceSettingsTable );
+    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
+    deviceSettingsTable->LoadL( *iSession );
+    
+    CMDBElement* tableType = deviceSettingsTable->GetFieldByIdL
+                                            ( KCDTIdWlanDeviceSettingsType );
+    CMDBField< TUint32 >* tableTypeField =
+                            static_cast< CMDBField< TUint32 >* >( tableType );
+    tableTypeField->SetL( KWlanDefaultSettings );
+    
+    if( !deviceSettingsTable->FindL( *iSession ) )
+        {
+        // If not, store empty record
+        deviceSettingsTable->SetRecordId( KCDNewRecordRequest );
+        deviceSettingsTable->StoreL( *iSession );
+        // And fill it with data
+        FillRecordL( KWlanDefaultSettings, deviceSettingsTable );
+        deviceSettingsTable->ModifyL( *iSession );
+        }
+    CleanupStack::PopAndDestroy( deviceSettingsTable );
+    
+    // See if there is a record whose device settings type is
+    // 'WLAN user settings'
+    deviceSettingsTable = static_cast< CMDBGenericRecord* >
+                                ( CCDRecordBase::RecordFactoryL( 0 ) );
+    CleanupStack::PushL( deviceSettingsTable );
+    deviceSettingsTable->InitializeL( TPtrC( WLAN_DEVICE_SETTINGS ), NULL );
+    deviceSettingsTable->LoadL( *iSession );
+    
+    tableType = deviceSettingsTable->GetFieldByIdL( KCDTIdWlanDeviceSettingsType );
+    tableTypeField = static_cast< CMDBField< TUint32 >* >( tableType );
+    tableTypeField->SetL( KWlanUserSettings );
+    
+    if( !deviceSettingsTable->FindL( *iSession ) )
+        {
+        // If not, store empty record
+        deviceSettingsTable->SetRecordId( KCDNewRecordRequest );
+        deviceSettingsTable->StoreL( *iSession );
+        // And fill it with data
+        FillRecordL( KWlanUserSettings, deviceSettingsTable );
+        deviceSettingsTable->ModifyL( *iSession );
+        }
+    CleanupStack::PopAndDestroy( deviceSettingsTable );
+    }
+
+
+// ---------------------------------------------------------
+// CWlanDeviceSettings::FillRecordL
+// ---------------------------------------------------------
+//
+
+void CWlanDeviceSettings::FillRecordL( TUint32 aTableType, 
+                                      CMDBGenericRecord* aRecord )
+    {
+    DEBUG1( "CWlanDeviceSettings::NewRecordL() Type=%d", aTableType )
+    
+    SWlanDeviceSettings settings;
+    GetDefaultSettings( settings );
+    
+    // Device Settings Type
+    CMDBElement* tableType = aRecord->GetFieldByIdL
+                                            ( KCDTIdWlanDeviceSettingsType );
+    CMDBField< TUint32 >* tableTypeField =
+                            static_cast< CMDBField< TUint32 >* >( tableType );
+    tableTypeField->SetL( aTableType );
+    
+    // Table Version
+    CMDBElement* tableVersion = aRecord->GetFieldByIdL
+                                                    ( KCDTIdTableVersion );
+    CMDBField< TUint32 >* tableVersionField =
+                        static_cast< CMDBField< TUint32 >* >( tableVersion );
+    
+    tableVersionField->SetL( KWlanDeviceSettingsTableVersion );
+
+    // BG Scan Interval
+    CMDBElement* bgScanInterval = aRecord->GetFieldByIdL
+                                                    ( KCDTIdBgScanInterval );
+    CMDBField< TUint32 >* bgScanIntervalField =
+                        static_cast< CMDBField< TUint32 >* >( bgScanInterval );
+    bgScanIntervalField->SetL( settings.backgroundScanInterval );
+    
+    // Saved BG Scan Interval
+    CMDBElement* savedBgScanInterval = aRecord->GetFieldByIdL
+                                                    ( KCDTIdSavedBgScanInterval );
+    CMDBField< TUint32 >* savedBgScanIntervalField =
+                        static_cast< CMDBField< TUint32 >* >( savedBgScanInterval );
+    savedBgScanIntervalField->SetL( settings.savedBgScanInterval );
+    
+    // Use Default Settings
+    CMDBElement* useDefaultSettings = aRecord->GetFieldByIdL
+                                                ( KCDTIdUseDefaultSettings );
+    CMDBField< TBool >* useDefaultSettingsField =
+                    static_cast< CMDBField< TBool >* >( useDefaultSettings );
+    useDefaultSettingsField->SetL( settings.useDefaultSettings );
+    
+    // Long Retry
+    CMDBElement* longRetry = aRecord->GetFieldByIdL( KCDTIdWlanLongRetry );
+    CMDBField< TUint32 >* longRetryField =
+                        static_cast< CMDBField< TUint32 >* >( longRetry );
+    longRetryField->SetL( settings.longRetry );
+    
+    // Short Retry
+    CMDBElement* shortRetry = aRecord->GetFieldByIdL( KCDTIdWlanShortRetry );
+    CMDBField< TUint32 >* shortRetryField =
+                        static_cast< CMDBField< TUint32 >* >( shortRetry );
+    shortRetryField->SetL( settings.shortRetry );
+    
+    // RTS Threshold
+    CMDBElement* rts = aRecord->GetFieldByIdL( KCDTIdWlanRTSThreshold );
+    CMDBField< TUint32 >* rtsField =
+                        static_cast< CMDBField< TUint32 >* >( rts );
+    rtsField->SetL( settings.rts );
+    
+    // TX Power Level
+    CMDBElement* txPowerLevel = aRecord->GetFieldByIdL( KCDTIdTxPowerLevel );
+    CMDBField< TUint32 >* txPowerLevelField =
+                        static_cast< CMDBField< TUint32 >* >( txPowerLevel );
+    txPowerLevelField->SetL( settings.txPowerLevel );
+    
+    // Radio Measurements
+    CMDBElement* radioMeasurements = aRecord->GetFieldByIdL
+                                            ( KCDTIdAllowRadioMeasurements );
+    CMDBField< TBool >* radioMeasurementsField =
+                    static_cast< CMDBField< TBool >* >( radioMeasurements );
+    radioMeasurementsField->SetL( settings.radioMeasurements );
+    
+    // Power Mode
+    CMDBElement* powerMode = aRecord->GetFieldByIdL( KCDTIdWlanPowerMode );
+    CMDBField< TBool >* powerModeField =
+                    static_cast< CMDBField< TBool >* >( powerMode );
+    powerModeField->SetL( settings.powerMode );
+    }
+
+//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/commsdatcreator/src/cdcwlantables.cpp	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,252 @@
+/*
+* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Implementation of the class CWlanTables
+*
+*/
+
+
+
+
+// INCLUDE FILES
+#include "cdclogger.h"
+#include "cdcwlantables.h"
+
+#include <wlancontainer.h>
+
+// CONSTANTS
+/// Modem bearer names for WLAN connection methods
+_LIT( KWlanBearerName, "WLANBearer" );
+_LIT( KWlanBearerAgent, "wlanagt.agt" );
+_LIT( KWlanBearerNif, "wlannif" );
+
+_LIT( KWlanLDDName, "not used" );
+_LIT( KWlanPDDName, "not used" );
+const TInt KWlanLastSocketActivityTimeout = -1;
+const TInt KWlanLastSessionClosedTimeout = 1;
+const TInt KWlanLastSocketClosedTimeout = -1;
+
+
+// ================= MEMBER FUNCTIONS =======================
+
+// ---------------------------------------------------------
+// CWlanTables::NewL
+// ---------------------------------------------------------
+//
+CWlanTables* CWlanTables::NewL()
+    {
+
+    CWlanTables* self = new ( ELeave ) CWlanTables;
+
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+
+    return self;
+    }
+
+
+// ---------------------------------------------------------
+// CWlanTables::CWlanTables
+// ---------------------------------------------------------
+//
+CWlanTables::CWlanTables()
+    {
+    //no implementation needed
+    }
+
+
+// ---------------------------------------------------------
+// CWlanTables::ConstructL
+// ---------------------------------------------------------
+//
+void CWlanTables::ConstructL()
+    {
+    iSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
+    }
+
+
+// ---------------------------------------------------------
+// CWlanTables::~CWlanTables
+// ---------------------------------------------------------
+//
+CWlanTables::~CWlanTables()
+    {
+    if ( iSession )
+        {
+        iSession->Close();
+        delete iSession; 
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CreateWlanServiceTableL
+// ---------------------------------------------------------
+//
+void CWlanTables::CheckAndCreateTablesL()
+    {
+    // Check WLAN Device Settings Table (creates if does not exist).
+    CreateWlanDeviceSettingsTableL();
+    
+    // Check WLAN Service Table (creates if does not exist).
+    CreateWlanServiceTableL();
+
+    // Check WLAN Secondary SSID Table (creates if does not exist).
+    CreateWlanSecSSIDTableL();
+    
+    // Check WLAN bearer record (creates if does not exist).
+    CreateWlanBearerRecordL();    
+    }
+    
+// ---------------------------------------------------------
+// CreateWlanServiceTableL
+// ---------------------------------------------------------
+//
+void CWlanTables::CreateWlanServiceTableL()
+    {
+    //checks whether table exists
+    TInt error( KErrNone );
+    
+    TRAP( error, CCDWlanServiceRecord::TableIdL( *iSession ) );
+    if( error == KErrNotFound )
+        {    
+        //table not found -- add new table
+        CCDWlanServiceRecord::CreateTableL( *iSession );
+        
+        //check result
+        TRAP( error, CCDWlanServiceRecord::TableIdL( *iSession ) );
+        
+        if ( error == KErrNone )
+            {
+            CLOG_WRITE( "Added WLAN service table" )
+            }
+        }
+    else if ( error == KErrNone)
+        {
+            CLOG_WRITE( "WLAN service table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+
+// ---------------------------------------------------------
+// CreateWlanDeviceTableL
+// ---------------------------------------------------------
+//
+void CWlanTables::CreateWlanDeviceSettingsTableL()
+    {
+    //checks whether table exists
+    TInt error( KErrNone );
+    
+    TRAP( error, CCDWlanDeviceSettingsRecord::TableIdL( *iSession ) );
+    if( error == KErrNotFound )
+        {    
+        //table not found -- add new table
+        CCDWlanDeviceSettingsRecord::CreateTableL( *iSession );
+        
+        //check result
+        TRAP( error, CCDWlanDeviceSettingsRecord::TableIdL( *iSession ) );
+        if ( error == KErrNone )
+            {
+            CLOG_WRITE( "Added Device Settings table" )
+            }
+        }
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "Device Settings table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+    
+    
+// ---------------------------------------------------------
+// CreateWlanSecSSIDTableL
+// ---------------------------------------------------------
+//
+void CWlanTables::CreateWlanSecSSIDTableL()
+    {
+    //checks whether table exists
+    TInt error( KErrNone );
+    
+    TRAP( error, CCDWLANSecSSIDTable::TableIdL( *iSession ) );
+    if( error == KErrNotFound )
+        {    
+        //table not found -- add new table
+        CCDWLANSecSSIDTable::CreateTableL( *iSession );
+        
+        //check result
+        TRAP( error, CCDWLANSecSSIDTable::TableIdL( *iSession ) );
+        
+        if ( error == KErrNone )
+            {
+            CLOG_WRITE( "Added Secondary SSID table" )
+            }
+        }
+    else if ( error == KErrNone)
+        {
+        CLOG_WRITE( "Secondary SSID table already exists" )
+        }
+    else
+        {
+        //do nothing             
+        }
+    }
+
+// ---------------------------------------------------------
+// CreateWlanBearerRecordL
+// ---------------------------------------------------------
+//
+void CWlanTables::CreateWlanBearerRecordL()
+    {
+	CCDLANBearerRecord* record = static_cast<CCDLANBearerRecord*>
+                ( CCDRecordBase::RecordFactoryL( KCDTIdLANBearerRecord ) );
+    CleanupStack::PushL( record );    
+    
+   	record->iRecordName.SetL( TPtrC( KWlanBearerName ) );
+   	
+    if ( !record->FindL( *iSession ) )
+        { // bearer not found -> create dummy values. Copied from CmManager initialization.               
+        record->SetRecordId( KCDNewRecordRequest );
+        
+        record->iBearerAgent.SetL( KWlanBearerAgent );
+        record->iRecordName.SetL( KWlanBearerName );
+        record->iLanBearerNifName.SetL( KWlanBearerNif );
+        record->iLanBearerLddName.SetL( KWlanLDDName );
+        record->iLanBearerPddName.SetL( KWlanPDDName );
+        record->iLastSocketActivityTimeout.SetL(
+                                ( TUint32 )KWlanLastSocketActivityTimeout );
+        record->iLastSessionClosedTimeout.SetL(
+                                (TUint32 )KWlanLastSessionClosedTimeout );
+        record->iLastSocketClosedTimeout.SetL(
+                                ( TUint32 )KWlanLastSocketClosedTimeout );
+        record->StoreL( *iSession );
+        CLOG_WRITE( "Added WLAN bearer record" );
+        }
+    else
+		{
+		CLOG_WRITE( "WLAN bearer record already exists" );
+		}
+
+    CleanupStack::PopAndDestroy( record );
+    }
+
+
+
+//  End of File.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbcreator/conf/bld.inf	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "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:   Build information for the DbCreator Config files and ROM
+*
+*/
+
+
+#include <platform_paths.hrh>
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+commsdatcreator.confml				MW_LAYER_CONFML(commsdatcreator.confml)
+commsdatcreator_01.gcfml			MW_LAYER_GCFML(commsdatcreator_01.gcfml)
+commsdatcreator.implml          MW_LAYER_CRML(commsdatcreator.implml)
+../rom/commsdatcreator.iby						CORE_MW_LAYER_IBY_EXPORT_PATH(commsdatcreator.iby)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,201 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0" xmlns:qt="http://www.nokia.com/qt">
+ <package id="ipconnmgmt" name="IP Connectivity Management" levels="plugin framework server utils api">
+  <collection id="ipcm_plat" name="IP Connectivity Management Platform Interfaces" level="api">
+   <component id="ipcm_plat_qt_build" name="IP Connectivity Management Qt Platform Interfaces" class="api" filter="s60" introduced="^4">
+    <unit bldFile="ipcm_plat" qt:proFile="ipcm_plat.pro"/>
+   </component>
+   <component id="access_point_engine_misc_api" name="Access Point Engine Misc API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/access_point_engine_misc_api/access_point_engine_misc_api.metaxml"/>
+    <unit bldFile="ipcm_plat/access_point_engine_misc_api/group"/>
+   </component>
+   <component id="bearer_settings_plugin_api" name="Bearer Settings Plugin API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/bearer_settings_plugin_api/bearer_settings_plugin_api.metaxml"/>
+    <unit bldFile="ipcm_plat/bearer_settings_plugin_api/group"/>
+   </component>
+   <component id="commsdat_wlan_api" name="CommsDat WLAN API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/commsdat_wlan_api/commsdat_wlan_api.metaxml"/>
+    <unit bldFile="ipcm_plat/commsdat_wlan_api/group"/>
+   </component>
+   <component id="connection_monitor_extension_api" name="Connection Monitor Extension API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/connection_monitor_extension_api/connection_monitor_extension_api.metaxml"/>
+    <unit bldFile="ipcm_plat/connection_monitor_extension_api/group"/>
+   </component>
+   <component id="connection_ui_utilities_api" name="Connection UI Utilities API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/connection_ui_utilities_api/connection_ui_utilities_api.metaxml"/>
+    <unit bldFile="ipcm_plat/connection_ui_utilities_api/group"/>
+   </component>
+   <component id="disconnect_dialog_api" name="Disconnect Dialog API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/disconnect_dialog_api/disconnect_dialog_api.metaxml"/>
+    <unit bldFile="ipcm_plat/disconnect_dialog_api/group"/>
+   </component>
+   <component id="disconnect_dialog_disable_api" name="Disconnect Dialog Disable API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/disconnect_dialog_disable_api/disconnect_dialog_disable_api.metaxml"/>
+    <unit bldFile="ipcm_plat/disconnect_dialog_disable_api/group"/>
+   </component>
+   <component id="extended_connection_settings_api" name="Extended Connection Settings API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/extended_connection_settings_api/extended_connection_settings_api.metaxml"/>
+    <unit bldFile="ipcm_plat/extended_connection_settings_api/group"/>
+   </component>
+   <component id="pdpcontextmanager2_reset_factory_settings_api" name="PDP Context Manager 2 Reset Factory Settings API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/pdpcontextmanager2_reset_factory_settings_api/pdpcontextmanager2_reset_factory_settings_api.metaxml"/>
+    <unit bldFile="ipcm_plat/pdpcontextmanager2_reset_factory_settings_api/group"/>
+   </component>
+   <component id="pdpcontextmanager2_settings_api" name="PDP Context Manager 2 Settings API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_plat/pdpcontextmanager2_settings_api/pdpcontextmanager2_settings_api.metaxml"/>
+    <unit bldFile="ipcm_plat/pdpcontextmanager2_settings_api/group"/>
+   </component>
+   <component id="mpm_connect_screen_api" name="MPM Connect Screen API" class="api" filter="s60">
+    <unit bldFile="ipcm_plat/mpm_connect_screen_api/group"/>
+   </component>
+   <component id="flextimer_api" name="Flex Timer API" class="api" filter="s60" introduced="^4">
+    <unit bldFile="ipcm_plat/flextimer_api/group"/>
+   </component>
+   <component id="mpm_vpn_toggle_api" name="MPM VPN Toggle API" class="api" filter="s60" introduced="^4">
+    <meta rel="Api" href="ipcm_plat/mpm_vpn_toggle_api/mpm_vpn_toggle_api.metaxml"/>
+    <unit bldFile="ipcm_plat/mpm_vpn_toggle_api/group"/>
+   </component>
+  </collection>
+  <collection id="ipcm_pub" name="IP Connectivity Management Public Interfaces" level="api">
+   <component id="connection_settings_api" name="Connection Settings API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/connection_settings_api/connection_settings_api.metaxml"/>
+    <unit bldFile="ipcm_pub/connection_settings_api/group"/>
+   </component>
+   <component id="access_point_engine_api" name="Access Point Engine API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/access_point_engine_api/access_point_engine_api.metaxml"/>
+    <unit bldFile="ipcm_pub/access_point_engine_api/group"/>
+   </component>
+   <component id="access_point_settings_handler_api" name="Access Point Settings Handler API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/access_point_settings_handler_api/access_point_settings_handler_api.metaxml"/>
+    <unit bldFile="ipcm_pub/access_point_settings_handler_api/group"/>
+   </component>
+   <component id="data_connection_log_counters_api" name="Data Connection Log Counters API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/data_connection_log_counters_api/data_connection_log_counters_api.metaxml"/>
+    <unit bldFile="ipcm_pub/data_connection_log_counters_api/group"/>
+   </component>
+   <component id="connection_monitor_server_api" name="Connection Monitor Server API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/connection_monitor_server_api/connection_monitor_server_api.metaxml"/>
+    <unit bldFile="ipcm_pub/connection_monitor_server_api/group"/>
+   </component>
+   <component id="connection_settings_ui_api" name="Connection Settings UI API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/connection_settings_ui_api/connection_settings_ui_api.metaxml"/>
+    <unit bldFile="ipcm_pub/connection_settings_ui_api/group"/>
+   </component>
+   <component id="agent_dialog_api" name="Agent Dialog API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/agent_dialog_api/agent_dialog_api.metaxml"/>
+    <unit bldFile="ipcm_pub/agent_dialog_api/group"/>
+   </component>
+   <component id="extendedconnpref_api" name="Extended Connection Preferences API" class="api" filter="s60">
+    <meta rel="Api" href="ipcm_pub/extendedconnpref_api/extendedconnpref_api.metaxml"/>
+    <unit bldFile="ipcm_pub/extendedconnpref_api/group"/>
+   </component>
+  </collection>
+  <collection id="alwayson_net_plugin" name="Always Online Net Plugin" level="server">
+   <component id="pdpcontextmanager2" filter="s60" name="PDP Context Manager 2">
+    <unit bldFile="alwayson_net_plugin/pdpcontextmanager2/group"/>
+   </component>
+  </collection>
+  <collection id="apengine" name="Access Point Engine" level="framework">
+   <component id="apeng" filter="s60" name="Access Point Engine">
+    <unit bldFile="apengine/apeng/group"/>
+   </component>
+   <component id="apsettingshandlerui" filter="s60" name="Access Point Settings Handler UI">
+    <unit bldFile="apengine/apsettingshandlerui/group"/>
+   </component>
+  </collection>
+  <collection id="bearermanagement" name="Bearer Management" level="framework">
+   <component id="mpm" filter="s60" name="Mobility Policy Manager">
+    <unit bldFile="bearermanagement/mpm/group"/>
+   </component>
+   <component id="extendedconnpref" filter="s60" name="Extended Connection Preferences">
+    <unit bldFile="bearermanagement/extendedconnpref/group"/>
+   </component>
+   <component id="s60mcpr" filter="s60" name="S60 Meta-Connection Provider" class="plugin">
+    <unit bldFile="bearermanagement/S60MCPR/group"/>
+   </component>
+  </collection>
+  <collection id="cmmanager" name="Connection Method Manager" level="framework">
+   <component id="cmmgr" filter="s60" name="CM Manager">
+    <unit bldFile="cmmanager/cmmgr/group"/>
+   </component>
+   <component id="connection_settings_shim" name="Connection Settings Shim" introduced="^4" filter="s60">
+     <unit bldFile="cmmanager/connection_settings_shim" qt:proFile="connection_settings_shim.pro"/>
+   </component>
+   <component id="cmapplsettingsui" name="Connection Settings UI" introduced="^4" filter="s60">
+     <unit bldFile="cmmanager/cmapplsettingsui" qt:proFile="cmapplsettingsui.pro"/>
+   </component>
+   <component id="cpipsettingsplugin" name="Connection Settings IP Plugin" class="plugin" introduced="^4" filter="s60">
+     <unit bldFile="cmmanager/cpipsettingsplugin" qt:proFile="cpipsettingsplugin.pro"/>
+   </component>
+   <component id="cpdestinationplugin" name="CP Destination Plugin" class="plugin" introduced="^4" filter="s60">
+     <unit bldFile="cmmanager/cpdestinationplugin" qt:proFile="cpdestinationplugin.pro"/>
+   </component>
+   <component id="cppacketdataapplugin" name="CP Packet Data AP Pplugin" class="plugin" introduced="^4" filter="s60">
+     <unit bldFile="cmmanager/cppacketdataapplugin" qt:proFile="cppacketdataapplugin.pro"/>
+   </component>
+   <component id="cpwlanapplugin" name="CP WLAN AP Plugin" class="plugin" introduced="^4" filter="s60">
+     <unit bldFile="cmmanager/cpwlanapplugin" qt:proFile="cpwlanapplugin.pro"/>
+   </component>
+  </collection>
+  <collection id="connectionmonitoring" name="Connection Monitoring" level="server">
+   <component id="connectionmonitorui" filter="s60" name="Connection Monitor UI">
+    <unit bldFile="connectionmonitoring/connectionmonitorui/group"/>
+   </component>
+   <component id="connmon" filter="s60" name="Connection Monitor">
+    <!-- either split into two components, or #include from a common bld.inf -->
+    <unit bldFile="connectionmonitoring/connmon/connectionmonitor/group"/>
+    <unit bldFile="connectionmonitoring/connmon/dataconnectionlogger/group"/>
+   </component>
+   <component id="connmonext" filter="s60" name="Connection Monitor Extension API">
+    <unit bldFile="connectionmonitoring/connmonext/group"/>
+   </component>
+   <component id="cellularindicatorplugin" name="Cellular Indicator Plugin" class="plugin" introduced="^4" filter="s60">
+     <unit bldFile="connectionmonitoring/cellularindicatorplugin" qt:proFile="cellularindicatorplugin.pro"/>
+   </component>
+   <component id="indicatorobserver" name="Indicator Observer" introduced="^4" filter="s60">
+     <unit bldFile="connectionmonitoring/indicatorobserver" qt:proFile="indicatorobserver.pro"/>
+   </component>
+   <component id="connectionmonitoringnview" name="Connection View" introduced="^4" filter="s60">
+     <unit bldFile="connectionmonitoring/connectionview" qt:proFile="connectionview.pro"/>
+   </component>
+  </collection>
+  <collection id="connectionutilities" name="Connection Utilities" level="utils">
+   <component id="connectiondialogs" filter="s60" name="Connection Dialogs">
+    <unit bldFile="connectionutilities/connectiondialogs/group"/>
+   </component>
+   <component id="confirmqueries" name="Confirm Queries" introduced="^4" filter="s60">
+     <unit bldFile="connectionutilities/confirmqueries" qt:proFile="confirmqueries.pro"/>
+   </component>
+  </collection>
+  <collection id="keepalive" name="Keep Alive" level="server">
+   <component id="flextimer" filter="s60" name="Flex Timer" introduced="^4">
+    <unit bldFile="keepalive/flextimer/group"/>
+   </component>
+  </collection>
+  <collection id="dbcreator" name="DB Creator" level="utils">
+   <component id="commsdatcreator" filter="s60" name="Comms Database Creator" introduced="9.3">
+    <unit bldFile="dbcreator/commsdatcreator/group"/>
+   </component>
+   <component id="commsdatcreatorrfsplugin" filter="s60" name="Comms Database Creator RFS Plugin" class="plugin" introduced="9.3">
+    <meta rel="config">
+     <not-defined condition="WINSCW"/>
+    </meta>
+    <unit bldFile="dbcreator/commsdatcreatorrfsplugin/group"/>
+   </component>
+   <component id="commsdatstartup" filter="s60" name="Comms Database Startup" introduced="9.3">
+    <unit bldFile="dbcreator/commsdatstartup/group"/>
+   </component>
+   <component id="dbcreatorexe" filter="s60" name="DB Creator" introduced="9.3">
+    <unit bldFile="dbcreator/dbcreatorexe/group"/>
+   </component>
+   <component id="dbcreator_conf" filter="s60" name="DB Creator Config" class="config" introduced="9.3">
+    <unit bldFile="dbcreator/conf"/>
+   </component>
+  </collection>
+  <collection id="ipconnmgmt_info" name="IP Connectivity Management Info" level="api">
+   <component id="ipcm_data" filter="s60" name="IP Connectivity Management Data" class="config">
+    <unit bldFile="data"/>
+   </component>
+  </collection>
+ </package>
+</SystemDefinition>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml	Mon Aug 23 13:40:12 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="mw"/>