--- a/uiservicetab/vimpststorage/src/cvimpststoragemanager.cpp Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2008 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 storage manager
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "cvimpststorageserviceview.h"
-
-#include <e32std.h>
-
-#include "cvimpststoragemanager.h"
-#include "tvimpststoragepanics.h"
-#include "uiservicetabtracer.h"
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::InitialiseLibraryL
-// Factory method that create the singleton instance of the storage manager
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTStorageManager::InitialiseLibraryL()
- {
- TRACER_AUTO;
- //see whether there is an instance in the TLS
- //if not create the instance and set the same in TLS
- CVIMPSTStorageManager *sm = static_cast<CVIMPSTStorageManager*>( Dll::Tls() );
- if ( ! sm )
- {
- // no existing instance, create a new one
- CVIMPSTStorageManager *manager = CVIMPSTStorageManager::NewL();
- sm = manager;
- CleanupStack::PushL( manager );
- User::LeaveIfError( Dll::SetTls( static_cast<TAny*>( sm ) ) );
- CleanupStack::Pop( manager );
- }
- }
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::Release
-// Factory method to release the singleton instance of the storage manager
-// -----------------------------------------------------------------------------
-//
-TInt CVIMPSTStorageManager::Release()
- {
- TRACER_AUTO;
- //if any instance in TLS get the same and delete it
- CVIMPSTStorageManager *storage = static_cast<CVIMPSTStorageManager*>( Dll::Tls() );
- if ( storage )
- {
- delete storage;
- Dll::SetTls( NULL );
- }
- return KErrNone;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::Instance()
-// -----------------------------------------------------------------------------
-//
-CVIMPSTStorageManager& CVIMPSTStorageManager::Instance()
- {
- TRACER_AUTO;
- //get the instance frm TLS and return the same
- CVIMPSTStorageManager *storage = static_cast<CVIMPSTStorageManager*>( Dll::Tls() );
-
- __ASSERT_ALWAYS( storage,
- User::Panic( KPanicCategory, KLIBNOTINITIALIZED ) );
- return *storage;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::NewL
-// -----------------------------------------------------------------------------
-//
- CVIMPSTStorageManager* CVIMPSTStorageManager::NewL()
- {
- TRACER_AUTO;
- //creates the instance
- CVIMPSTStorageManager* self = new( ELeave ) CVIMPSTStorageManager;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::ConstructL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTStorageManager::ConstructL()
- {
- TRACER_AUTO;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::~CVIMPSTStorageManager
-// -----------------------------------------------------------------------------
-//
- CVIMPSTStorageManager::~CVIMPSTStorageManager()
- {
- TRACER_AUTO;
- //release all the existing views
- iServiceViewList.ResetAndDestroy();
- }
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::CreateServiceViewL
-// -----------------------------------------------------------------------------
-//
-CVIMPSTStorageServiceView* CVIMPSTStorageManager::CreateServiceViewL( TUint32 aServiceId,
- const TDesC& aStoreName,
- const TDesC& aServiceName )
- {
- TRACER_AUTO;
- //creates a new view based on the service id.
- TInt index = KErrNotFound;
- CVIMPSTStorageServiceView* serviceView = NULL;
-
- //check if the view already exists in the viewlist
- index = FindServiceView(aServiceId);
- if( KErrNotFound == index )
- {
- TRACE( "service does not exit" );
- // service view is not found
- // check if store name is valid create a service view for aServiceId
- if( aStoreName.Length() )
- {
- TRACE(" store name is valid" );
- serviceView = CVIMPSTStorageServiceView::NewL(aServiceId,
- aStoreName, aServiceName);
- iServiceViewList.Append(serviceView);
- TRACE( "new view created for serviceId = %d",aServiceId );
- }
- // if store name is not valid ,return NULL
- }
- else
- {
- TRACE( " service already exist = %d",aServiceId );
- serviceView = iServiceViewList[ FindServiceView(aServiceId)];
- }
- //return the extisting view from the viewlist
- return serviceView;
- }
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::FindServiceView
-// -----------------------------------------------------------------------------
-//
-TInt CVIMPSTStorageManager::FindServiceView( TUint32 aServiceId)
- {
- TRACER_AUTO;
- //search whether the view exists in the view list.
- TInt index = KErrNotFound;
- TInt count = iServiceViewList.Count();
- for(TInt i = 0; i < count; i++ )
- {
- if( aServiceId == iServiceViewList[ i ]->GetServiceId() )
- {
- TRACE( "aServiceId found = %d" ,aServiceId );
- index = i;
- break;
- }
- }
- return index;
- }
-
-
-// -----------------------------------------------------------------------------
-// CVIMPSTStorageManager::RemoveServiceView
-// -----------------------------------------------------------------------------
-//
-void CVIMPSTStorageManager::RemoveServiceView( TUint32 aServiceId)
- {
- TRACER_AUTO;
- //searches and removes the view from the view list.
- TInt index = FindServiceView(aServiceId);
- if( index >= 0 )
- {
- TRACE( "aServiceId found = %d" ,aServiceId );
- //view exists, so delete and remove the same
- CVIMPSTStorageServiceView* serviceView = iServiceViewList[ index ];
- iServiceViewList.Remove( index );
- delete serviceView;
- iServiceViewList.Compress();
- }
- }
-
-// End of File