diff -r 63cf70d3ecd8 -r 62b719e049f4 mtpdataproviders/mtpimagedp/mediasyncserver/src/cmediasyncserver.cpp --- a/mtpdataproviders/mtpimagedp/mediasyncserver/src/cmediasyncserver.cpp Fri Sep 17 08:34:51 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,202 +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: -// - -/** - @file - @internalTechnology -*/ - -#include -#include - -#include "cmediasyncserver.h" -#include "cmediasyncserversession.h" -#include "cmediasyncobserver.h" -#include "cmediasyncserverdef.h" - -__FLOG_STMT(_LIT8(KComponent, "MediaSyncServer");) - -const TInt KMediaSyncFunctionCodeRanges[] = - { - EMediaSyncClientGetGSHHandle, - EMediaSyncClientShutdown, - EMediaSyncClientNotSupported, - }; - -const TUint KMediaSyncFunctionCodeRangeCount = (sizeof(KMediaSyncFunctionCodeRanges) - / sizeof(KMediaSyncFunctionCodeRanges[0])); - - -const TUint8 KMediaSyncPolicyElementNetworkAndLocal = 0; -const TUint8 KMediaSyncPolicyElementPowerMgmt = 1; - -const TUint8 KMediaSyncElementsIndex[KMediaSyncFunctionCodeRangeCount] = - { - KMediaSyncPolicyElementNetworkAndLocal, - KMediaSyncPolicyElementPowerMgmt, - CPolicyServer::ENotSupported, - }; - -const CPolicyServer::TPolicyElement KMediaSyncPolicyElements[] = - { - {_INIT_SECURITY_POLICY_C2(ECapabilityNetworkServices, ECapabilityLocalServices), CPolicyServer::EFailClient}, - {_INIT_SECURITY_POLICY_C1(ECapabilityPowerMgmt), CPolicyServer::EFailClient}, - }; - -const CPolicyServer::TPolicy KMediaSyncServerPolicy = - { - CPolicyServer::EAlwaysPass, //specifies all connect attempts should pass - KMediaSyncFunctionCodeRangeCount, - KMediaSyncFunctionCodeRanges, - KMediaSyncElementsIndex, // what each range is compared to - KMediaSyncPolicyElements // what policies range is compared to - }; - - -/** -Creates and executes a new CMTPServer instance. -@leave One of the system wide error codes, if a processing failure occurs. -*/ -void CMediaSyncServer::RunServerL() - { - RFs fs; - User::LeaveIfError(fs.Connect()); - CleanupClosePushL(fs); - - TFileName lockFileName; - fs.PrivatePath(lockFileName); - TDriveUnit driveNum = RFs::GetSystemDrive(); - lockFileName.Insert(0, driveNum.Name()); - lockFileName.Append(KMssLockName); - - RFile lockFile; - CleanupClosePushL(lockFile); - TInt ret = KErrNone; - if (!BaflUtils::FileExists(fs, lockFileName)) - { - BaflUtils::EnsurePathExistsL(fs, lockFileName); - ret = lockFile.Create(fs, lockFileName, EFileShareExclusive|EFileWrite); - } - else - { - ret = lockFile.Open(fs, lockFileName, EFileShareExclusive|EFileWrite); - } - - if (ret == KErrNone) - { - // Naming the server thread after the server helps to debug panics - User::LeaveIfError(User::RenameProcess(KMediaSyncServerName)); - - // Create and install the active scheduler. - CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; - CleanupStack::PushL(scheduler); - CActiveScheduler::Install(scheduler); - - // Create the server and leave it on the cleanup stack. - CMediaSyncServer* server = CMediaSyncServer::NewLC(fs); - - // Initialisation complete, signal the client - RProcess::Rendezvous(KErrNone); - - // Execute the server. - CActiveScheduler::Start(); - - // Server shutting down. - CleanupStack::PopAndDestroy(server); - - CleanupStack::PopAndDestroy(scheduler); // scheduler - } - else - { - RProcess::Rendezvous(KErrNone); - } - - CleanupStack::PopAndDestroy(&lockFile); - CleanupStack::PopAndDestroy(&fs); - } - -CMediaSyncServer* CMediaSyncServer::NewLC(RFs& aFs) - { - CMediaSyncServer* self = new (ELeave) CMediaSyncServer; - CleanupStack::PushL(self); - self->ConstructL(aFs); - return self; - } - -CMediaSyncServer::CMediaSyncServer() : - CPolicyServer(CActive::EPriorityStandard, KMediaSyncServerPolicy) - { - - } - -CMediaSyncServer::~CMediaSyncServer() - { - __FLOG(_L8("CMediaSyncServer::~CMediaSyncServer - Entry")); - - delete iDb; - delete iObserver; - - __FLOG(_L8("CMediaSyncServer::~CMediaSyncServer - Exit")); - __FLOG_CLOSE; - } - -void CMediaSyncServer::ConstructL(RFs& aFs) - { - __FLOG_OPEN(KMSSSubsystem, KComponent); - __FLOG(_L8("CMediaSyncServer::ConstructL - Entry")); - - iDb = CMediaSyncDatabase::NewL(aFs); - iObserver = CMediaSyncObserver::NewL(iDb); - iNeedFullSync = iDb->IsMssDbCorrupt(); - - StartL(KMediaSyncServerName); - - __FLOG(_L8("CMediaSyncObserver::ConstructL - Exit")); - } - -CSession2* CMediaSyncServer::NewSessionL(const TVersion&,const RMessage2&) const - { - __FLOG(_L8("CMediaSyncServer::NewSessionL - Entry")); - - CMediaSyncServer* ncThis = const_cast(this); - - __FLOG(_L8("CMediaSyncObserver::NewSessionL - Exit")); - return new(ELeave) CMediaSyncServerSession(ncThis); - } - -CMediaSyncObserver* CMediaSyncServer::MediaSyncObserver() const - { - return iObserver; - } - -CMediaSyncDatabase* CMediaSyncServer::MediaSyncDatabase() const - { - return iDb; - } - -TBool CMediaSyncServer::NeedFullSync() - { - return iNeedFullSync; - } - -void CMediaSyncServer::ClearFullSyncFlag() - { - __FLOG(_L8("CMediaSyncServer::ClearFullSyncFlag - Entry")); - - iNeedFullSync = EFalse; - iDb->ClearMssDbCorrupt(); - - __FLOG(_L8("CMediaSyncObserver::ClearFullSyncFlag - Exit")); - }