--- a/connectivitymodules/SeCon/cntparser/src/cntparserserverexe.cpp Thu Aug 19 10:44:03 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-/*
-* Copyright (c) 2002-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: CCntParserServer implementation.
-*
-*/
-
-
-#include "clientserver.h"
-#include "cntparserserver.h"
-#include "cntparserserversession.h"
-#include "irmcconsts.h"
-
-#include "debug.h"
-
-#include <cntdb.h>
-
-//------------------------------------------------------------
-// RunServer
-//------------------------------------------------------------
-TInt CCntParserServer::RunServer()
- {
- LOGGER_ENTERFN( "CCntParserServer::RunServer" );
-
- CTrapCleanup* cleanup = CTrapCleanup::New();
- TInt ret( KErrNoMemory );
- if( cleanup )
- {
- TRAP( ret, CCntParserServer::RunServerL() );
- delete cleanup;
- }
- if( ret != KErrNone )
- {
- // Signal the client that server creation failed
- RProcess::Rendezvous( ret );
- }
- LOGGER_LEAVEFN( "CCntParserServer::RunServer" );
- return ret;
- }
-//------------------------------------------------------------
-// RunServerL
-//------------------------------------------------------------
-void CCntParserServer::RunServerL()
- {
- // Create and install the active scheduler we need
- LOGGER_ENTERFN( "CCntParserServer::RunServerL" );
- CActiveScheduler *as=new (ELeave)CActiveScheduler;
- CleanupStack::PushL( as );
- CActiveScheduler::Install( as );
-
- // Create server
- CCntParserServer::NewL();
-
- // Initialisation complete, now signal the client
- User::LeaveIfError( RThread().RenameMe( KTxtServer ) );
- RProcess::Rendezvous( KErrNone );
-
- // Ready to run
- CActiveScheduler::Start();
-
- // Cleanup the scheduler
- CleanupStack::PopAndDestroy( as );
- LOGGER_LEAVEFN( "CCntParserServer::RunServerL" );
- }
-//------------------------------------------------------------
-// E32Main()
-//------------------------------------------------------------
-TInt E32Main()
- {
- return CCntParserServer::RunServer();
- }
-//------------------------------------------------------------
-// PanicServer(TCntParserServerPanic aPanic)
-//------------------------------------------------------------
-GLDEF_C void PanicServer(TCntParserServerPanic aPanic)
- {
- LOGGER_WRITE( "PANIC SERVER!" );
- _LIT(KTxtServerPanic,"Parser server panic");
- User::Panic( KTxtServerPanic, aPanic );
- }
-
-
-//**********************************
-//CCntParserServer
-//**********************************
-
-//------------------------------------------------------------
-// CCntParserServer::CCntParserServer()
-//------------------------------------------------------------
-CCntParserServer::CCntParserServer() : CServer2( EPriorityStandard )
- {
- }
-//------------------------------------------------------------
-// CCntParserServer::~CCntParserServer()
-//------------------------------------------------------------
-EXPORT_C CCntParserServer::~CCntParserServer()
- {
- if( iCollector )
- {
- iCollector->Cancel();
- }
- delete iCollector;
- delete iCurrentDatabase;
- LOGGER_WRITE( "CntParserServer: DELETED!" );
- }
-//------------------------------------------------------------
-// CCntParserServer* CCntParserServer::NewL()
-//------------------------------------------------------------
-EXPORT_C CCntParserServer* CCntParserServer::NewL()
- {
- LOGGER_WRITE( "CntParserServer: NEW" );
- CCntParserServer* pS=new (ELeave) CCntParserServer();
- CleanupStack::PushL(pS);
- pS->StartL( KCntParserName );
- CleanupStack::Pop( pS );
- LOGGER_WRITE( "CntParserServer: Created" );
- return pS;
- }
-//------------------------------------------------------------
-// CCntParserServer::NewSessionL(const TVersion &aVersion, const RMessage2& /*aMsg*/) const
-//------------------------------------------------------------
-CSession2* CCntParserServer::NewSessionL(const TVersion &aVersion, const RMessage2& /*aMsg*/) const
- {
- LOGGER_WRITE( "CntParserServer: NEW SessionL" );
- // check we're the right version
- TVersion v( KCntParserMajorVersionNumber,KCntParserMinorVersionNumber,KCntParserBuildVersionNumber );
- if ( !User::QueryVersionSupported( v,aVersion ) )
- User::Leave( KErrNotSupported );
- CCntParserServerSession* self=CCntParserServerSession::NewL( (CCntParserServer*)this );
- return self;
- }
-//------------------------------------------------------------
-// CCntParserServer::IncreaseSessionCountL()
-//------------------------------------------------------------
-void CCntParserServer::IncreaseSessionCountL()
- {
- LOGGER_WRITE( "CntParserServer: Increase Session Count" );
- iSessionCount++;
- if( iSessionCount == 1 ) //If first session, prepare collector
- {
- PrepareCollectorL();
- }
- }
-//------------------------------------------------------------
-// CCntParserServer::DecreaseSessionCount()
-//------------------------------------------------------------
-void CCntParserServer::DecreaseSessionCount()
- {
- LOGGER_WRITE( "CntParserServer: Decrease Session Count" );
- iSessionCount--;
- if( iSessionCount==0 ) //if last session is disconnected, delete server
- {
- Stop();
- }
- }
-//------------------------------------------------------------
-// CCntParserServer::ContactsParsed()
-//------------------------------------------------------------
-TInt CCntParserServer::ContactsParsed()
- {
- return iCollector->CurrentItem();
- }
-//------------------------------------------------------------
-// CCntParserServer::TotalNumOfContacts()
-//------------------------------------------------------------
-TInt CCntParserServer::TotalNumOfContacts()
- {
- //After the PrepareCollector is called, the number of contacts can be returned
- return iCollector->Count();
- }
-//------------------------------------------------------------
-// CCntParserServer::ContactsSaved()
-//------------------------------------------------------------
-TInt CCntParserServer::ContactsSaved()
- {
- return iCollector->ContactsSaved();
- }
-//------------------------------------------------------------
-// CCntParserServer::PrepareCollectorL()
-//------------------------------------------------------------
-void CCntParserServer::PrepareCollectorL()
- {
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: Open Contact Database" );
-
- TFileName dbFile;
- TFileName defaultDb;
-
- CContactDatabase::GetDefaultNameL( defaultDb );
-
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: GetDefault" );
-
- iCurrentDatabase=CContactDatabase::OpenL();
-
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: OpenDefault" );
-
- iCurrentDatabase->GetCurrentDatabase( dbFile ); //Get selected database
-
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: CompareDefault" );
-
- if( dbFile.CompareF(defaultDb)!=0 && dbFile!=KNullDesC16 /*&& dbFile.CompareF(KSimDummyDatabase)!=0*/) //If the selected database is not the default and something is selected
- {
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: Close Default" );
- delete iCurrentDatabase;
- iCurrentDatabase = NULL;
-
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: OpenSelected" );
- iCurrentDatabase=CContactDatabase::OpenL( dbFile ); //open the selected one
- }
-
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: Is everything ok?" );
- if( !iCurrentDatabase )
- {
- User::Leave( KErrNotFound );
- }
-
- LOGGER_WRITE( "CntParserServer: Prepare collectorL: Create Collector" );
- iCollector = CCntParserCollector::NewL( this,iCurrentDatabase );
-
- iRequests = 0;
- }
-//------------------------------------------------------------
-// CCntParserServer::CreateIrMCL2PhoneBookL()
-//------------------------------------------------------------
-TInt CCntParserServer::CreateIrMCL2PhoneBookL(const TDesC& path, TInt aMaxNumberOfContacts,TBool aForced)
- {
- LOGGER_WRITE( "CntParserServer: CreateIrMCL2PhoneBookL" );
-
- TInt err( KErrNone );
-
- iRequests++;
- if( iRequests == 1 )
- {
- LOGGER_WRITE( "CntParserServer: CreateIrMCL2PhoneBookL: Ready to call collector" );
-
- err = iCollector->CreateIrMCL2FileL( path,aMaxNumberOfContacts,aForced );
- if( err==KPBNotUpdated )
- {
- iRequests = 0; //If the file exists (no parsing), then more requests can be made
- }
- }
- else
- {
- return KErrNotReady;
- }
- return err;
- }
-//------------------------------------------------------------
-// CCntParserServer::CompletePhoneBookRequests()
-//------------------------------------------------------------
-void CCntParserServer::CompletePhoneBookRequests(TInt aErr) //Goes through all the sessions and completes the request
- {
- LOGGER_WRITE( "CntParserServer: Complete phonebook request" );
- iSessionIter.SetToFirst();
- while( iSessionIter!=NULL ) //Go through all sessions
- {
- ( (CCntParserServerSession*) (iSessionIter++) )->CompletePhoneBookRequest( aErr );
- }
- iRequests = 0; //Collector is ready to start again..
- }
-//------------------------------------------------------------
-// CCntParserServer::CancelPhoneBookRequest()
-//------------------------------------------------------------
-void CCntParserServer::CancelPhoneBookRequest()
- {
- if( iRequests == 1 )
- {
- iCollector->Cancel();
- }
- iRequests--;
- }
-//------------------------------------------------------------
-// CCntParserServer::CancelAllPhoneBookRequests()
-//------------------------------------------------------------
-void CCntParserServer::CancelAllPhoneBookRequests()
- {
- iCollector->Cancel();
- iRequests = 0;
- }
-//------------------------------------------------------------
-// CCntParserServer::Disconnect()
-//------------------------------------------------------------
-void CCntParserServer::Disconnect()
- {
- LOGGER_WRITE( "CntParserServer: Disconnect" );
- }
-//------------------------------------------------------------
-// CCntParserServer::Stop()
-//------------------------------------------------------------
-void CCntParserServer::Stop()
- {
- LOGGER_ENTERFN( "CntParserServer::Stop()" );
- if( iCollector )
- {
- iCollector->Cancel();
- }
- delete iCollector;
- iCollector = NULL;
- delete iCurrentDatabase;
- iCurrentDatabase = NULL;
- CActiveScheduler::Stop();
- LOGGER_LEAVEFN( "CntParserServer::Stop()" );
- }
-//------------------------------------------------------------
-// CCntParserServer::SetRequests()
-//------------------------------------------------------------
-void CCntParserServer::SetRequests(TInt aRequests)
- {
- iRequests=aRequests;
- }
-
-
-