--- a/srsf/nssvasapi/nssvasdb/src/nssvascvasdbbuilder.cpp Mon Jan 18 20:20:30 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +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: CNssVasDbBuilder is owned by CNssVASDBMgr. It is responsible for creating
-* the context manaher, tag manager, vas db event notifier, and tag select
-* notifier. This class is a singleton, and is created using the InstanceL(),
-* and deleted using the RemoveInstance() methods.
-*
-*/
-
-
-#include "nssvascvasdbbuilder.h"
-#include "rubydebug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::InstanceL
-// This function returns an instance of CNssVASDBBuilder.
-// Must be called one to one with RemoveInstance().
-// -----------------------------------------------------------------------------
-//
-CNssVASDBBuilder* CNssVASDBBuilder::InstanceL()
- {
- RUBY_DEBUG_BLOCK( "CNssVASDBBuilder::InstanceL" );
-
- TThreadLocalStorage* pTls = 0;
- if (Dll::Tls() == 0)
- {
- CNssVASDBBuilder* instance = CNssVASDBBuilder::NewL();
- CleanupStack::PushL(instance);
- pTls = new (ELeave) TThreadLocalStorage ();
- CleanupStack::Pop(instance);
- pTls->iInstance = instance;
- pTls->iInstanceCount = 0;
- Dll::SetTls (pTls);
- }
- else
- {
- pTls = (TThreadLocalStorage *) Dll::Tls();
- }
- pTls->iInstanceCount++;
- return pTls->iInstance;
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::RemoveInstance
-// This method removes one instance of this class by decrementing
-// the number of instances. When the number of instances hit 0,
-// the object is deleted. Must be called one to one with InstanceL().
-// -----------------------------------------------------------------------------
-//
-void CNssVASDBBuilder::RemoveInstance()
- {
- RUBY_DEBUG0( "CNssVASDBBuilder::RemoveInstance" );
-
- TThreadLocalStorage* pTls = (TThreadLocalStorage *) Dll::Tls();
- if (--pTls->iInstanceCount <= 0)
- {
- delete pTls->iInstance;
- delete (TThreadLocalStorage *) Dll::Tls();
- Dll::SetTls (0);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::CNssVASDBBuilder
-// C++ constructor
-// -----------------------------------------------------------------------------
-//
-CNssVASDBBuilder::CNssVASDBBuilder()
- {
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::ConstructL
-// EPOC Constructor
-// -----------------------------------------------------------------------------
-//
-void CNssVASDBBuilder::ConstructL()
- {
- iVasDatabase = CNssVASDatabase::NewL(CActive::EPriorityStandard);
- iContextMgr = CNssContextMgr::NewL(iVasDatabase);
- iTagMgr = CNssTagMgr::NewL(iVasDatabase, iContextMgr);
- iDBTagSelectNotifier = CNssDBTagSelectNotifier::NewL(iVasDatabase);
- //iVASDBEventNotifier = new (ELeave) CNssVASDBEventNotifier(iVasDatabase);
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::NewL
-// 2 phase Construction
-// -----------------------------------------------------------------------------
-//
-CNssVASDBBuilder* CNssVASDBBuilder::NewL()
- {
- RUBY_DEBUG_BLOCK( "CNssVASDBBuilder::NewL" );
-
- CNssVASDBBuilder* self = NewLC();
- CleanupStack::Pop(self);
- return (self);
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::NewLC
-// 2 phase Construction
-// -----------------------------------------------------------------------------
-//
-CNssVASDBBuilder* CNssVASDBBuilder::NewLC()
- {
- CNssVASDBBuilder* self = new(ELeave)CNssVASDBBuilder;
- CleanupStack::PushL(self);
- self->ConstructL();
- return (self);
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::~CNssVASDBBuilder
-// destructor
-// -----------------------------------------------------------------------------
-//
-CNssVASDBBuilder::~CNssVASDBBuilder()
- {
- RUBY_DEBUG0( "CNssVASDBBuilder::~CNssVASDBBuilder" );
-
- if(iContextMgr)
- {
- delete iContextMgr;
- iContextMgr = NULL;
- }
- if(iTagMgr)
- {
- delete iTagMgr;
- iTagMgr = NULL;
- }
- if(iDBTagSelectNotifier)
- {
- delete iDBTagSelectNotifier;
- iDBTagSelectNotifier = NULL;
- }
- if(iVASDBEventNotifier)
- {
- delete iVASDBEventNotifier;
- iVASDBEventNotifier = NULL;
- }
- if(iVasDatabase)
- {
- iVasDatabase->CloseDatabase();
- delete iVasDatabase;
- iVasDatabase = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::InitializeL
-// initialises CNssVASDatabase, by connecting, creating (if not created)
-// and opening the datatabase
-// -----------------------------------------------------------------------------
-//
-void CNssVASDBBuilder::InitializeL()
- {
- RUBY_DEBUG_BLOCK( "CNssVASDBBuilder::InitializeL" );
- if( iInitialized )
- {
- RUBY_DEBUG0( "CNssVASDBBuilder::InitializeL Already initialized. Ignoring" );
- return;
- }
-
- TInt err = iVasDatabase->CreateDb();
- if ( err != KErrNone )
- {
- User::Leave( err ); // failed to create database
- }
-
- // open database
- err = iVasDatabase->OpenDatabase();
- if ( err != KErrNone && err != KErrDbAlreadyOpen )
- {
- RUBY_DEBUG0( "CNssVASDBBuilder::InitializeL ERROR cannot open VAS DB" );
-
- User::Leave( err );
- }
- iInitialized = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::GetContextMgr
-// gets the context manager
-// -----------------------------------------------------------------------------
-//
-CNssContextMgr* CNssVASDBBuilder::GetContextMgr()
- {
- return iContextMgr;
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::GetTagMgr
-// gets the tag manager
-// -----------------------------------------------------------------------------
-//
-CNssTagMgr* CNssVASDBBuilder::GetTagMgr()
- {
- return iTagMgr;
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::GetVASDBEventNotifier
-// gets the vas db event notifier
-// -----------------------------------------------------------------------------
-//
-CNssVASDBEventNotifier* CNssVASDBBuilder::GetVASDBEventNotifier()
- {
- return iVASDBEventNotifier;
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::GetTagSelectNotifier
-// gets the tag select notifier
-// -----------------------------------------------------------------------------
-//
-CNssDBTagSelectNotifier* CNssVASDBBuilder::GetTagSelectNotifier()
- {
- return iDBTagSelectNotifier;
- }
-
-// -----------------------------------------------------------------------------
-// CNssVASDBBuilder::Close
-// closes the database
-// -----------------------------------------------------------------------------
-//
-void CNssVASDBBuilder::Close()
- {
- RUBY_DEBUG0( "CNssVASDBBuilder::Close" );
-
- if(iVasDatabase)
- {
- iVasDatabase->CloseDatabase();
- }
- }
-