diff -r 88ee4cf65e19 -r 1aa8c82cb4cb remotestoragefw/mountmanager/src/rsfwmountman.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/remotestoragefw/mountmanager/src/rsfwmountman.cpp Wed Sep 01 12:15:08 2010 +0100 @@ -0,0 +1,295 @@ +/* +* Copyright (c) 2004-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: RSFW Mount Manager API +* +*/ + + +// INCLUDE FILES +#include +#include "rsfwmountmanimpl.h" + +// ============================ MEMBER FUNCTIONS ============================== +// ---------------------------------------------------------------------------- +// TRsfwMountConfig::ExternalizeL +// ---------------------------------------------------------------------------- +// +EXPORT_C void TRsfwMountConfig::ExternalizeL(RWriteStream& aStream) const + { + aStream.WriteUint32L(iDriveLetter); + aStream << iName; + aStream << iUri; + aStream << iUserName; + // Don't externalize a password that is not part of the mount configuration + // (this is for security) + if (iFlags & KMountFlagAskPassword) + { + TPtrC emptyPassword; + aStream << emptyPassword; + } + else + { + aStream << iPassword; + } + aStream << iAuxData; + aStream.WriteUint32L(iFlags); + aStream.WriteInt32L(iInactivityTimeout); + } + + +// ---------------------------------------------------------------------------- +// TRsfwMountConfig::InternalizeL +// ---------------------------------------------------------------------------- +// +EXPORT_C void TRsfwMountConfig::InternalizeL(RReadStream& aStream) + { + iDriveLetter = aStream.ReadUint32L(); + aStream >> iName; + aStream >> iUri; + aStream >> iUserName; + aStream >> iPassword; + aStream >> iAuxData; + iFlags = aStream.ReadUint32L(); + iInactivityTimeout = aStream.ReadInt32L(); + } + + +// ---------------------------------------------------------------------------- +// TRsfwMountInfo::ExternalizeL +// ---------------------------------------------------------------------------- +// +void TRsfwMountInfo::ExternalizeL(RWriteStream& aStream) const + { + iMountConfig.ExternalizeL(aStream); + } + + +// ---------------------------------------------------------------------------- +// TRsfwMountInfo::InternalizeL +// ---------------------------------------------------------------------------- +// +void TRsfwMountInfo::InternalizeL(RReadStream& aStream) + { + Mem::FillZ(this, sizeof(*this)); + iMountConfig.InternalizeL(aStream); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::CRsfwMountMan +// Constructor +// ---------------------------------------------------------------------------- +// +CRsfwMountMan::CRsfwMountMan() + { + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::ConstructL +// ---------------------------------------------------------------------------- +// +void CRsfwMountMan::ConstructL(TUint aDefaultFlags, + MRsfwMountManObserver* aMountManObserver) + { + iMountManImpl = CRsfwMountManImpl::NewL(aDefaultFlags, aMountManObserver); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::NewL +// ---------------------------------------------------------------------------- +// +EXPORT_C CRsfwMountMan* CRsfwMountMan::NewL(TUint aDefaultFlags, + MRsfwMountManObserver* aMountManObserver) + { + CRsfwMountMan* self = new (ELeave) CRsfwMountMan(); + CleanupStack::PushL(self); + self->ConstructL(aDefaultFlags, aMountManObserver); + CleanupStack::Pop(self); + return self; + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::~CRsfwMountMan +// ---------------------------------------------------------------------------- +// +EXPORT_C CRsfwMountMan::~CRsfwMountMan() + { + delete iMountManImpl; + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::GetMountNamesL +// ---------------------------------------------------------------------------- +// +EXPORT_C void CRsfwMountMan::GetMountNamesL(CDesC16Array* aNames) const + { + iMountManImpl->GetMountNamesL(aNames); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::MountEntry +// ---------------------------------------------------------------------------- +// +EXPORT_C const CRsfwMountEntry* CRsfwMountMan::MountEntryL(const TDesC& aName) const + { + return iMountManImpl->MountEntryL(aName); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::MountEntry +// ---------------------------------------------------------------------------- +// +EXPORT_C const CRsfwMountEntry* CRsfwMountMan::MountEntryL(TChar aDriveLetter) const + { + return iMountManImpl->MountEntryL(aDriveLetter); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::AddMountEntryL +// ---------------------------------------------------------------------------- +// +EXPORT_C void CRsfwMountMan::AddMountEntryL(CRsfwMountEntry* aMountEntry) + { + iMountManImpl->AddMountEntryL(aMountEntry); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::DeleteMountEntry +// ---------------------------------------------------------------------------- +// +EXPORT_C void CRsfwMountMan::DeleteMountEntryL(const TDesC& aName) + { + iMountManImpl->DeleteMountEntryL(aName); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::DeleteMountEntry +// ---------------------------------------------------------------------------- +// +EXPORT_C void CRsfwMountMan::DeleteMountEntryL(TChar aDriveLetter) + { + iMountManImpl->DeleteMountEntryL(aDriveLetter); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::GetAllDrivesL +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::GetAllDrivesL(TDriveList& aDriveList) const + { + return iMountManImpl->GetAllDrivesL(aDriveList); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::GetRemoteMountList +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::GetRemoteMountListL(TDriveList& aDriveList) const + { + return iMountManImpl->GetRemoteMountListL(aDriveList); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::GetMountInfo +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::GetMountInfo(TChar aDriveLetter, + TRsfwMountInfo& aMountInfo) const + { + return iMountManImpl->GetMountInfo(aDriveLetter, aMountInfo); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::SetMountConnectionState +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::SetMountConnectionState(TChar aDriveLetter, + TUint aConnectionState) + { + if (aConnectionState == KMountStronglyConnected) + { + TRsfwMountConfig mountConfig; + mountConfig.iDriveLetter = aDriveLetter; + mountConfig.iFlags = KMountFlagMountAtRfeOnly; + TRAPD(err, iMountManImpl->MountL(aDriveLetter)); + return err; + } + else + { + return iMountManImpl->SetMountConnectionState(aDriveLetter, + aConnectionState); + } + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::SetMountConnectionStateBlind +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::SetMountConnectionStateBlind(TChar aDriveLetter, + TUint aConnectionState) + { + if (aConnectionState == KMountStronglyConnected) + { + TRsfwMountConfig mountConfig; + mountConfig.iDriveLetter = aDriveLetter; + mountConfig.iFlags = KMountFlagMountAtRfeOnly; + TRAPD(err, iMountManImpl->MountBlindL(aDriveLetter)); + return err; + } + else + { + return iMountManImpl->SetMountConnectionState(aDriveLetter, + aConnectionState); + } + } + + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::EditMountEntryL +// ---------------------------------------------------------------------------- +// +EXPORT_C void CRsfwMountMan::EditMountEntryL(CRsfwMountEntry* aMountEntry) + { + iMountManImpl->EditMountEntryL(aMountEntry); + } + + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::RefreshDirectoryL +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::RefreshDirectory(const TDesC& aPath) + { + return iMountManImpl->RefreshDirectory(aPath); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::IsAppOnBlackList +// ---------------------------------------------------------------------------- +// +EXPORT_C TBool CRsfwMountMan::IsAppOnBlackList(TUid aUid) const + { + return iMountManImpl->IsAppOnBlackList(aUid); + } + +// ---------------------------------------------------------------------------- +// CRsfwMountMan::CancelAllRemoteTransfers +// ---------------------------------------------------------------------------- +// +EXPORT_C TInt CRsfwMountMan::CancelRemoteTransfer(const TDesC& aFile) + { + return iMountManImpl->CancelRemoteTransfer(aFile); + } + + +// End of File