locationsystemui/locationsysui/locsysuiview/src/locsettingsuiengine.cpp
branchRCL_3
changeset 44 2b4ea9893b66
parent 42 02ba3f1733c6
child 45 6b6920c56e2f
--- a/locationsystemui/locationsysui/locsysuiview/src/locsettingsuiengine.cpp	Thu Aug 19 10:20:18 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-/*
-* Copyright (c) 2005-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: This defines the engine class for Location settings Ui
-*
-*/
-
-
-// System Include 
-#include <aknViewAppUi.h>
-
-// User Include
-#include "locsettingsuiengine.h"
-#include "locsettingsuiecomnotifier.h"
-#include "locationsettings.h"
-#include "locsettingsuipluginloader.h"
-#include "locsettingsui.h"
-#include "locsettingsuiparams.h"
-
-// ========================= MEMBER FUNCTIONS ================================
-
-// ---------------------------------------------------------------------------
-// CLocSettingsUiEngine::CLocSettingsUiEngine
-// Overloaded Constructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiEngine::CLocSettingsUiEngine( CAknViewAppUi&	aAppUi )
-	:iAppUi( aAppUi )
-	{		
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSystemUiView::~CLocSettingsUiEngine
-// Destructor
-//
-// ---------------------------------------------------------------------------
-//
-CLocSettingsUiEngine::~CLocSettingsUiEngine()
-	{
-
-	// Delete the Settings UI Descriptions
-	while ( iSettingsArray.Count() > 0 )
-		{
-		// Remove the first item
-		CLocationSettings* item = iSettingsArray[0];
-		iSettingsArray.Remove( 0 );
-		
-		// Delete the element
-		delete item;
-		item = NULL;
-		}
-	iSettingsArray.Reset();
-	iSettingsArray.Close();
-	
-	// Delete the Plug-in Loader
-	delete iPluginLoader;	
-	}	
-					 
-// ---------------------------------------------------------------------------
-// CLocSettingsUiEngine* CLocSettingsUiEngine::NewL
-// Two Phase Constructor. 
-//
-// @param 	aAppUi				    Reference to the Application UI class that
-//									launched the Settings Application
-// @return	CLocSettingsUiEngine*	Reference to the created object
-// ---------------------------------------------------------------------------  
-//
-EXPORT_C CLocSettingsUiEngine* CLocSettingsUiEngine::NewL( CAknViewAppUi& aAppUi )
-	{
-    CLocSettingsUiEngine* self = CLocSettingsUiEngine::NewLC( aAppUi );
-	CleanupStack::Pop( self );
-	return self;
-	}
-	
-// ---------------------------------------------------------------------------
-// CLocSettingsUiEngine* CLocSettingsUiEngine::NewLC
-// Two Phase Constructor. 
-//
-// @param 	aAppUi					Reference to the Application UI class that
-//									launched the Settings Application
-// @return	CLocSettingsUiEngine*	Reference to the created object
-// ---------------------------------------------------------------------------  
-//
-EXPORT_C CLocSettingsUiEngine* CLocSettingsUiEngine::NewLC( CAknViewAppUi&	aAppUi )
-	{
-    CLocSettingsUiEngine* self = new(ELeave) CLocSettingsUiEngine( aAppUi );
-	CleanupStack::PushL( self );
-	self->ConstructL();
-	return self;
-	}
-
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiDesc::ConstructL
-// Second Phase of the two phase constructor. The caption string is copied into
-// 
-// ---------------------------------------------------------------------------
-//									 
-void CLocSettingsUiEngine::ConstructL()
-	{
-	
-	// Construct the Plug-In Loader
-	iPluginLoader = CLocSettingsUiPluginLoader::NewL( iAppUi );
-
-	}
-
-// ---------------------------------------------------------------------------
-// CLocationSettings* CLocSettingsUiEngine::CreateSettingsUiL
-// 
-// Creates a single Settings UI Object.
-// In case the object already exists, then a reference to the existing object is
-// returned and no new object is created. In either case, the class retains the
-// ownership of the created object.
-//
-// @param aImplementationUid The Implementation UID of the plug-in that
-//                           has to be created.
-// @return CLocationSettings* Reference to the created object.
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CLocationSettings* CLocSettingsUiEngine::CreateSettingsUiL( 
-                                                        TUid aImplementationUid )
-    {
-    // Scan through the existing list of Settings UIs. Incase, a UI with the
-    // same UID exists then return the same. If not create a new implmentation
-    // and return a reference to it
-    
-    TInt index = KErrNotFound;
-    
-    // Iterate through the Settings UI array
-	for ( TInt count = 0; count < iSettingsArray.Count(); count++ )
-	{
-	CLocationSettings* currentItem = iSettingsArray[count];
-	// If the Settings object for the Implementation UID already
-	// exisits then dont do anything
-	if ( aImplementationUid == currentItem->ImplementationUid())
-		{
-		index = count;
-		break;
-		}
-	}
-    
-    if( KErrNotFound != index )
-        {
-        // A Settings UI corresponding to the UID already exists. Return a 
-        // reference to the same.
-        return iSettingsArray[index];
-        }
-    else
-        {
-        // Settings UI does not exist. Create a new implementation and 
-        // return the same
-        return  &( iPluginLoader->CreateSettingsUiL( aImplementationUid,
-                                                     iSettingsArray ));                                                   
-        
-        }
-    }
-        
-// ---------------------------------------------------------------------------
-// RPointerArray<CLocationSettings>& CLocSettingsUiEngine::CreateAvailableSettingsUiL
-//
-// Creates all the available settings UI. This function call performs
-// an ECom discovery of all the possible ECom plugins that are 
-// available and creates the Settings UI components as well as the 
-// plug-in UI. The ownership of the created objects is not transferred
-// to the callee but retained with the Engine class. This function needs 
-// that No settings UIs have been already created. Incase, there exists
-// any Settings UIs then the function leaves with KErrAlreadyExists.
-//
-// @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-//                                           objects.
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CLocationSettings>& CLocSettingsUiEngine::CreateAvailableSettingsUiL()
-    {
-	
-	// The function expects that there are no existing Settings UI elements 
-	// present. Hence, the need to check
-	if( iSettingsArray.Count())
-	    {
-	    User::Leave( KErrAlreadyExists );
-	    }
-	    
-	// Create the Settings UIs 
-	iPluginLoader->CreateAvailableSettingsUisL( iSettingsArray );
-	
-	// Return a reference to the created Settings UI structures
-	return iSettingsArray;	
-    }
-        
-// ---------------------------------------------------------------------------
-// PointerArray<CLocationSettings>& CLocSettingsUiEngine::UpdateAvailableSettingsUisL()
-//
-// Updates the list of available UIs. The new list would contain all the
-// latest additions to the list of UIs in addition to the existing
-// UIs. The interface does not delete any instances if they are not in
-// the current implementation list.
-//
-// @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-//                                           objects.   
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CLocationSettings>& CLocSettingsUiEngine::UpdateAvailableSettingsUisL()
-	{
-	
-	// Create the Settings UIs 
-	iPluginLoader->CreateAvailableSettingsUisL( iSettingsArray );
-	
-	// Return a reference to the created Settings UI structures
-	return iSettingsArray;
-	}
-	
-// ---------------------------------------------------------------------------
-// RPointerArray<CLocationSettings>& CLocSettingsUiEngine::SettingsUiArray
-// 
-// Accessor function to obtain the Settings UI structures. The ownership of the 
-// internal objects is not transferred.
-// 
-//  @return RPointerArray<CLocationSettings>& Reference to the array of Settings
-//                                            objects. 
-// ---------------------------------------------------------------------------
-//
-RPointerArray<CLocationSettings>& CLocSettingsUiEngine::SettingsUiArray()
-    {
-    return iSettingsArray;
-    }
-
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiEngine::StartSettingsEComNotification
-// Starts the Ecom notification for observing loading and unloading of the 
-// underlying sub-settings plug-ins
-//
-// @param aSettingsNotifer  Notifier for communication of changes in the 
-//                          Ecom loading and unloading for sub-settings
-//                          plug-ins
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiEngine::StartSettingsEComNotificationL( 
-                            MLocSettingsUiEcomNotifer*   aNotifier )
-    {
-    iPluginLoader->StartEComNotifyL( aNotifier );
-    }
-                    
-// ---------------------------------------------------------------------------
-// void CLocSettingsUiEngine::StopSettingsEComNotification
-// Stops ECom notification. Does nothing in case there was no outstanding
-// request
-// ---------------------------------------------------------------------------
-//
-void CLocSettingsUiEngine::StopSettingsEComNotification()
-    {
-    iPluginLoader->StopEComNotify();
-    }