diff -r 87c71b25c937 -r 88ee4cf65e19 remotestoragefw/gsplugin/src/rsfwgsremotedrivesettingscontainer.cpp --- a/remotestoragefw/gsplugin/src/rsfwgsremotedrivesettingscontainer.cpp Wed Jun 09 10:37:35 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,757 +0,0 @@ -/* -* Copyright (c) 2005 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 GS plugin Settins list container -* -*/ - - -// INCLUDE FILES -#include -#include -#include -#include -#include -#include -#include - -#include "rsfwgslocalviewids.h" -#include "rsfwgsplugin.h" -#include "rsfwgsremotedrivesettingscontainer.h" -#include "rsfwgspluginsettinglist.h" -#include "rsfwgssettingsdata.h" -#include "rsfwmountman.h" -#include "rsfwmountentry.h" -#include "rsfwmountutils.h" -#include "rsfwcommon.h" -#include "mdebug.h" - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::CRsfwGsPluginDriveSettingsContainer() -// --------------------------------------------------------------------------- -// -CRsfwGsPluginDriveSettingsContainer::CRsfwGsPluginDriveSettingsContainer(CAknView* aView) : iView(aView) - { - - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::ConstructL(const TRect& aRect) -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::ConstructL( const TRect& aRect, - CRsfwMountMan* aMountMan) - { - #ifdef _DEBUG - RDebug::Print( _L( "[CRsfwGsPluginDriveSettingsContainer] ConstructL()" ) ); - #endif - - iMountMan = aMountMan; - - CEikStatusPane* sp = static_cast - ( iEikonEnv->EikAppUi() )->StatusPane(); - CAknTitlePane* title = static_cast - ( sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - - // Set the proper title of this list - TResourceReader rReader; - iCoeEnv->CreateResourceReaderLC( rReader, R_GS_RSFW_REMOTE_DRIVE_SETTINGS_VIEW_TITLE ); - title->SetFromResourceL( rReader ); - CleanupStack::PopAndDestroy(); //rReader - - CreateWindowL(); // Makes the control a window-owning control - - // construct the data object the settings list will use - iData = CRsfwGsSettingsData::NewL(); - // construct control and set parent - iSettingList = CRsfwGsPluginSettingsList::NewL(*iData); - iSettingList->SetContainerWindowL(*this); - - // CreateResourceReaderLC will allocate a buffer to be used by - // the TResourceReader. This buffer is pushed onto the cleanup - // stack - not the TResourceReader itself - iEikonEnv->CreateResourceReaderLC(rReader, R_SETTINGS); - iSettingList->ConstructFromResourceL(rReader); - - // Clean up the buffer allocated above, NOT the reader itself. - // Cannot use expected item overload of PopAndDestroy() as buffer - // is inaccessible. - CleanupStack::PopAndDestroy(); - iSettingList->ActivateL(); - - iCoeEnv->AddForegroundObserverL( *this ); - - SetRect( aRect ); - ActivateL(); - - - #ifdef _DEBUG - RDebug::Print( _L( "[CRsfwGsPluginDriveSettingsContainer] Construct done" ) ); - #endif - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::~CRsfwGsPluginDriveSettingsContainer() -// --------------------------------------------------------------------------- -// -CRsfwGsPluginDriveSettingsContainer::~CRsfwGsPluginDriveSettingsContainer() - { - iCoeEnv->RemoveForegroundObserver( *this ); - if (iData) - delete iData; - if(iSettingList) // if setting list has been created - { - delete iSettingList; - iSettingList = NULL; - } - - // Ecom session is used to make sure that user gives address - // that corresponds to some installed access plugin - // (currently via mountils::isaddressvalid) - // this closes the session (if not in use anymore) - REComSession::FinalClose(); - } - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::SizeChanged() -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::SizeChanged() - { - iSettingList->SetRect(Rect()); - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::CountComponentControls() const -// --------------------------------------------------------------------------- -// -TInt CRsfwGsPluginDriveSettingsContainer::CountComponentControls() const - { - return 1; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::ComponentControl( TInt aIndex ) const -// --------------------------------------------------------------------------- -// -CCoeControl* CRsfwGsPluginDriveSettingsContainer::ComponentControl( TInt aIndex ) const - { - switch ( aIndex ) - { - case 0: - return iSettingList; - default: - return NULL; - } - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::EditCurrentItemL() -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::EditCurrentItemL() - { - iSettingList->EditCurrentItemL(); - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::OfferKeyEventL() -// --------------------------------------------------------------------------- -// -TKeyResponse CRsfwGsPluginDriveSettingsContainer::OfferKeyEventL( - const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - if (iSettingList) - return iSettingList->OfferKeyEventL(aKeyEvent, aType); - else - return EKeyWasNotConsumed; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::Draw(const TRect& aRect) const -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::Draw(const TRect& aRect) const - { - CWindowGc& gc = SystemGc(); - gc.Clear(aRect); - } - - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::HandleListBoxEventL() -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent aListBoxEvent) - { - // if the Select Key has been pressed - if ((aListBoxEvent == MEikListBoxObserver::EEventEnterKeyPressed) || - (aListBoxEvent == MEikListBoxObserver::EEventItemSingleClicked)) - { - iSettingList->EditCurrentItemL(); - } - } - - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL(TDesC& aRemoteDriveName) -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL(const TDesC& aRemoteDriveName) - { - DEBUGSTRING(("CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL enter")); - const CRsfwMountEntry* mountEntry = NULL; - - // read the source setting - DEBUGSTRING(("read the source setting")); - mountEntry = iMountMan->MountEntryL(aRemoteDriveName); - User::LeaveIfNull((TAny *)mountEntry); - - // compulsory fields - DEBUGSTRING(("compulsory fields")); - iData->Reset(); - iData->iSettingName = *(mountEntry->Item(EMountEntryItemName)); - iData->iURL =*(mountEntry->Item(EMountEntryItemUri)); - const HBufC* drive = (mountEntry->Item(EMountEntryItemDrive)); - if (drive && drive->Length()) - { - iData->iDriveLetter =(*drive)[0]; - } - // optional fields - DEBUGSTRING(("optional fields")); - if (mountEntry->Item(EMountEntryItemUserName)) - { - DEBUGSTRING(("setting user id")); - iData->iUserID = *(mountEntry->Item(EMountEntryItemUserName)); - } - - if (mountEntry->Item(EMountEntryItemPassword)) - { - DEBUGSTRING(("setting passwd")); - iData->iPassword = *(mountEntry->Item(EMountEntryItemPassword)); - } - - if (mountEntry->Item(EMountEntryItemIap)) - { - DEBUGSTRING16(("setting access pointDes to %S", (mountEntry->Item(EMountEntryItemIap)))); - iData->iAccessPointDes = *(mountEntry->Item(EMountEntryItemIap)); - // if the access point name returned from CenRep was '?', set it to "None" in UI - if (iData->iAccessPointDes == KIapAskUser) - { - iData->iAccessPointName = KNullDesC; - } - else - { - // try to resolve access point id into name - TLex lex(iData->iAccessPointDes); - TInt ap, err; - err = lex.Val(ap); - if (!err) - { - iSettingList->GetAccessPointNameL(ap, iData->iAccessPointName); - DEBUGSTRING(("setting access point")); - iData->iAccessPoint = ap; - } - else - { - DEBUGSTRING(("setting access point name")); - iData->iAccessPointName = KNullDesC; - } - } - } - - DEBUGSTRING(("iData constructed")); - iSettingList->LoadSettingsL(); - SetTitlePaneTextL(iData->iSettingName); - iSettingList->ResetItemIndex(); - DEBUGSTRING(("CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveForEditingL exit")); - } - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveNewDefaultL(TDesC& aRemoteDriveName); -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::PrepareRemoteDriveNewDefaultL(TDesC& aRemoteDriveName) - { - iData->Reset(); - iData->iSettingName = aRemoteDriveName; - iSettingList->LoadSettingsL(); - iSettingList->ResetItemIndex(); - iSettingList->DrawDeferred(); - SetTitlePaneTextL(iData->iSettingName); - } - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::SetTitlePaneTextL( const TDesC& aTitleText ) const -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::SetTitlePaneTextL( const TDesC& aTitleText ) const - { - CAknTitlePane* title = static_cast< CAknTitlePane* > - ( iEikonEnv->AppUiFactory()->StatusPane()->ControlL( - TUid::Uid( EEikStatusPaneUidTitle ) ) ); - if ( !title ) - { - User::Leave( KErrNotSupported ); - } - title->SetTextL( aTitleText ); - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::AreCompulsoryItemsFilled() -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::AreCompulsoryItemsFilled() - { - TUriParser uriParser; - uriParser.Parse(iData->iURL); - HBufC* host = HBufC::NewL(KMaxURLLength); - TPtr hostPtr = host->Des(); - hostPtr = uriParser.Extract(EUriHost); - - if ( ((iData->iSettingName)!=KNullDesC) && (hostPtr!=KNullDesC)) - { - delete host; - return ETrue; - } - delete host; - return EFalse; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::DisplayDeleteOrDontSaveDialog() -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::DisplayDeleteOrDontSaveDialogL() - { - - HBufC* myDisplayMessage = NULL; - myDisplayMessage = StringLoader::LoadLC(R_STR_REMOTE_DRIVE_CONF_COMPULSORY); - CAknQueryDialog* query = CAknQueryDialog::NewL - (CAknQueryDialog::EConfirmationTone); - TBool answer = query->ExecuteLD( R_CONFIRMATION_QUERY, *myDisplayMessage ); - CleanupStack::PopAndDestroy(myDisplayMessage); - return answer; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::DeleteremoteDriveIfExistL() -// --------------------------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::DeleteRemoteDriveIfExistL() - { - iMountMan->DeleteMountEntryL(iData->iDriveLetter); - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::IsExitProcessingOKL() -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::IsExitProcessingOKL() - { - if (AreCompulsoryItemsFilled()) - { - if (!(RsfwMountUtils::IsFriendlyNameValid(iData->iSettingName))) - { - HBufC* myDisplayMessage = NULL; - myDisplayMessage = StringLoader::LoadLC(R_STR_RSFW_ERROR_ILLEGAL_CHARACTERS); - CAknErrorNote* errorNote = new CAknErrorNote(EFalse); - errorNote->ExecuteLD(*myDisplayMessage); - CleanupStack::PopAndDestroy(myDisplayMessage); - iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemDriveName-1); - return EFalse; - } - - // Uri must contain some scheme, like http:// or upnp:// - if (!IsDriveAddressValidL(iData->iURL)) - { - HBufC* myDisplayMessage = NULL; - myDisplayMessage = StringLoader::LoadLC(R_STR_RSFW_ERROR_ILLEGAL_ADDRESS); - CAknNoteDialog* noteDlg = new ( ELeave ) CAknNoteDialog( ); - noteDlg->SetTextL( *myDisplayMessage ); - noteDlg->ExecuteLD( R_RSFW_INFORMATION_NOTE ); - CleanupStack::PopAndDestroy(myDisplayMessage); - iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemURL-1); - return EFalse; - } - - // settings seem to be ok - return SaveOrCreateAndSaveRemoteDriveL(ETrue); - } - else - { - if (DisplayDeleteOrDontSaveDialogL()) - { - DeleteRemoteDriveIfExistL(); - } - else - { - // set focus on the address field as that is the first (and only) - // unfilled compulsary setting field - iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemURL-1); - return EFalse; - } - } - - return ETrue; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::SaveSettingsL -// Attempts to save settings -// --------------------------------------------------------------------------- -void CRsfwGsPluginDriveSettingsContainer::SaveSettingsL() - { - if (AreCompulsoryItemsFilled()) - { - if (!(RsfwMountUtils::IsFriendlyNameValid(iData->iSettingName))) - { - return; - } - // Uri must contain some scheme, like http:// or upnp:// - if (!IsDriveAddressValidL(iData->iURL)) - { - return; - } - // settings seem to be ok - SaveOrCreateAndSaveRemoteDriveL(EFalse); - } - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::SaveOrCreateAndSaveremoteDriveL() -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::SaveOrCreateAndSaveRemoteDriveL(TBool aShowDialog) - { - // try to get mountentry with this drive letter - const CRsfwMountEntry* existingMountEntry = iMountMan->MountEntryL(iData->iDriveLetter); - - // to keep names unique check if the setting with this name is already exist - // ask user to change name - TBool isConflict; - if (existingMountEntry) - { - isConflict = IsRemoteDriveNameConflictL(iData->iSettingName, *(existingMountEntry->Item(EMountEntryItemDrive))); - } - else - { - TBuf<5> bogusDrive; - bogusDrive.Append(_L("C:\\")); - isConflict = IsRemoteDriveNameConflictL(iData->iSettingName, bogusDrive); - } - - if (isConflict) - { - if (aShowDialog) - { - HBufC* myFormatMessage = NULL; - if ( iData->iSettingName.Length() ) - { - myFormatMessage = StringLoader::LoadLC( R_STR_REMOTE_DRIVE_NAME_ALREADY_EXIST, iData->iSettingName); - } - else - { - myFormatMessage = StringLoader::LoadLC( R_STR_REMOTE_DRIVE_NAME_ALREADY_EXIST ); - } - - CAknErrorNote* note = new CAknErrorNote(EFalse); - note->SetTimeout( CAknNoteDialog::ELongTimeout ); - note->ExecuteLD( *myFormatMessage ); - CleanupStack::PopAndDestroy(myFormatMessage); - // set focus to drive - iSettingList->ListBox()->SetCurrentItemIndex(ESettingItemDriveName-1); - } - return EFalse; - } - else if (!existingMountEntry || DataChanged(existingMountEntry)) - { - - CRsfwMountEntry* newMountEntry = CRsfwMountEntry::NewLC(); - if (existingMountEntry) - { - // the same drive letter must be set as it is the key - newMountEntry->SetItemL(EMountEntryItemDrive, *(existingMountEntry->Item(EMountEntryItemDrive))); - } - - newMountEntry->SetItemL(EMountEntryItemName, iData->iSettingName); - newMountEntry->SetItemL(EMountEntryItemUri, iData->iURL); - if ((iData->iUserID)!=KNullDesC) - { - newMountEntry->SetItemL(EMountEntryItemUserName, iData->iUserID); - } - - if ((iData->iPassword)!=KNullDesC) - { - newMountEntry->SetItemL(EMountEntryItemPassword, iData->iPassword); - } - if ((iData->iAccessPointDes)!=KNullDesC) - { - newMountEntry->SetItemL(EMountEntryItemIap, iData->iAccessPointDes); - } - else - { - newMountEntry->SetItemL(EMountEntryItemIap, KIapAskUser); - } - - newMountEntry->SetItemL(EMountEntryItemInactivityTimeout, iData->iInActivityTimeout); - - // depending on whether this is new mount created or existing mount edited - // choose proper method from MountMan API - // pop here from the stack since ownership is passed to the mountman - CleanupStack::Pop(newMountEntry); - - if (!existingMountEntry) - { - iMountMan->AddMountEntryL(newMountEntry); - } - else - { - iMountMan->EditMountEntryL(newMountEntry); - } - } - return ETrue; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::DataChanged -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::DataChanged(const CRsfwMountEntry* aCurrentData) -{ - if (!aCurrentData) - { - return ETrue; - } - - // compulsary settings - if (iData->iSettingName != *(aCurrentData->Item(EMountEntryItemName))) - { - return ETrue; - } - if (iData->iURL != *(aCurrentData->Item(EMountEntryItemUri))) - { - return ETrue; - } - - // optional settings - if (!aCurrentData->Item(EMountEntryItemUserName)) - { - if (iData->iUserID != KNullDesC) - { - return ETrue; - } - } - else - { - if (iData->iUserID != *(aCurrentData->Item(EMountEntryItemUserName))) - { - return ETrue; - } - } - - if (!aCurrentData->Item(EMountEntryItemPassword)) - { - if (iData->iPassword != KNullDesC) - { - return ETrue; - } - } - else - { - if (iData->iPassword != *(aCurrentData->Item(EMountEntryItemPassword))) - { - return ETrue; - } - } - - if (!aCurrentData->Item(EMountEntryItemIap)) - { - if (iData->iAccessPointDes != KNullDesC) - { - return ETrue; - } - } - else - { - if (iData->iAccessPointDes != *(aCurrentData->Item(EMountEntryItemIap))) - { - return ETrue; - } - } - - - return EFalse; -} - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::IsRemoteDriveNameExistL(TDesC& aremoteDriveName) -// -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::IsRemoteDriveNameConflictL( - TDesC& aRemoteDriveName, - const TDesC& aDriveLetter) - { - TBool ret(EFalse); - CDesCArray* remoteDriveList = NULL; - - TRAPD(err, remoteDriveList = LoadRemoteDriveNamesL()); - if(err!=KErrNone) - { - return EFalse; - } - CleanupStack::PushL(remoteDriveList); - - TInt remoteDriveListCount = remoteDriveList->Count(); - for (TInt i = 0; i< remoteDriveListCount; i++) - { - if (!((remoteDriveList->MdcaPoint(i)).CompareF(aRemoteDriveName))) // if equal - { - // check whether the drive letter is the same or not - const CRsfwMountEntry* existingDrive = - iMountMan->MountEntryL(aRemoteDriveName); - if ((existingDrive->Item(EMountEntryItemDrive))->Compare(aDriveLetter) == 0 ) - { - ret = EFalse; - } - else - { - ret = ETrue; - } - break; - } - } - CleanupStack::PopAndDestroy(remoteDriveList); - return ret; - - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::IsDriveAddressValidL -// --------------------------------------------------------------------------- -// -TBool CRsfwGsPluginDriveSettingsContainer::IsDriveAddressValidL(const TDesC& aDriveAddress) - { - HBufC8* urlBuffer = HBufC8::NewL(KMaxURLLength); - TPtr8 bufPtr = urlBuffer->Des(); - bufPtr.Append(aDriveAddress); - TBool isAddressValid = RsfwMountUtils::IsDriveAddressValid(*urlBuffer); - delete urlBuffer; - return isAddressValid; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::LoadRemoteDriveNamesL -// --------------------------------------------------------------------------- -// -CDesCArray* CRsfwGsPluginDriveSettingsContainer::LoadRemoteDriveNamesL() - { - CDesCArray* myArray = new (ELeave) CDesC16ArraySeg(4); - iMountMan->GetMountNamesL(myArray); - return myArray; - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::HandleResourceChange() -// --------------------------------------------------------------------------- -void CRsfwGsPluginDriveSettingsContainer::HandleResourceChange( TInt aType ) - { - if ( aType == KAknsMessageSkinChange || - aType == KEikDynamicLayoutVariantSwitch ) - { - if (aType != KAknsMessageSkinChange) - { - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, - mainPaneRect); - SetRect( mainPaneRect ); - } - - DrawDeferred(); - CRsfwGsPlugin* tempView = static_cast (iView); - tempView->HandleResourceChangeManual(aType); - } - CCoeControl::HandleResourceChange( aType ); - } - - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::HandleResourceChangeManual() -// --------------------------------------------------------------------------- -void CRsfwGsPluginDriveSettingsContainer::HandleResourceChangeManual(TInt aType) - { - if (aType != KAknsMessageSkinChange) - { - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, - mainPaneRect); - SetRect( mainPaneRect ); - } - - DrawDeferred(); - iSettingList->HandleResourceChange(aType); - } - -// --------------------------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::FocusChanged -// Set focus on the selected listbox. For animated skins feature. -// --------------------------------------------------------------------------- -void CRsfwGsPluginDriveSettingsContainer::FocusChanged(TDrawNow /*aDrawNow*/) - { - if(iSettingList) - { - iSettingList->SetFocus( IsFocused() ); - } - } - -// --------------------------------------------------------- -// CRsfwGsPluginDriveSettingsContainer::GetHelpContext -// This function is called when Help application is launched -// --------------------------------------------------------- -// -void CRsfwGsPluginDriveSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const - { - aContext.iMajor = KGSRsfwPluginUID; - // aContext.iContext = KRSFW_HLP_EDIT_SET; - } - - - TDes& CRsfwGsPluginDriveSettingsContainer::GetCurrentRemoteDriveName() - { - return iData->iSettingName; - } - - -// from MCoeForegroundObserver - -void CRsfwGsPluginDriveSettingsContainer::HandleGainingForeground() - { - - } - - -void CRsfwGsPluginDriveSettingsContainer::HandleLosingForeground() - { - - } - - -// End of File