remotestoragefw/mountmanager/src/rsfwmountman.cpp
branchRCL_3
changeset 16 1aa8c82cb4cb
parent 0 3ad9d5175a89
--- /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 <rsfwmountman.h>
+#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