--- a/upnpframework/upnpcommand/src/upnpnotehandler.cpp Fri Sep 17 08:31:21 2010 +0300
+++ b/upnpframework/upnpcommand/src/upnpnotehandler.cpp Mon Nov 01 12:37:49 2010 +0200
@@ -1,432 +1,462 @@
-/*
-* Copyright (c) 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: Source file for CUpnpNoteHandler class.
-*
-*/
-
-
-// INCLUDE FILES
-// system
-#include <bautils.h> // BaflUtils
-#include <eikenv.h> // CEikonEnv
-#include <AknWaitDialog.h> // CAknWaitDialog
-#include <StringLoader.h> // StringLoader
-#include <aknnotewrappers.h> // CAknErrorNote
-// upnpframework / common ui
-#include "upnpcommonui.h" // CUPnPCommonUI
-// command internal
-#include <upnpcommandresources.rsg> // UpnpCommand resource file
-#include "upnpnotehandler.h"
-
-_LIT( KComponentLogfile, "upnpcommand.log");
-#include "upnplog.h"
-
-
-// CONSTANTS
-_LIT( KResFileName, "\\resource\\upnpcommandresources.rsc" );
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::NewL
-// Creates an instance of the implementation.
-// --------------------------------------------------------------------------
-//
-CUpnpNoteHandler* CUpnpNoteHandler::NewL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::NewL" );
-
- // Create instance
- CUpnpNoteHandler* self = NULL;
- self = new (ELeave) CUpnpNoteHandler();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::CUpnpNoteHandler
-// First phase construction.
-// --------------------------------------------------------------------------
-//
-CUpnpNoteHandler::CUpnpNoteHandler()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Constructor" );
-
- iWaitNote = NULL;
-
- // DRM note will be shown only once
- iDrmNoteShown = EFalse;
- }
-
-// --------------------------------------------------------------------------
-// Destructor.
-// --------------------------------------------------------------------------
-//
-CUpnpNoteHandler::~CUpnpNoteHandler()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Destructor" );
-
- // If wait note is running, finish it
- if( iWaitNote )
- {
- TRAP_IGNORE( iWaitNote->ProcessFinishedL() );
- }
-
- // Un-load resource file
- if ( iResFileOffset )
- {
- CEikonEnv::Static()->DeleteResourceFile( iResFileOffset );
- iResFileOffset = 0;
- }
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ConstructL
-// Perform the second phase of two phase construction. Reserves the Upnp Fw
-// resources (they are released when the task is destroyed).
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ConstructL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ConstructL" );
-
- // Get the pointer to coe env (owned by Eikon env)
- CEikonEnv* coeEnv = CEikonEnv::Static();
- if( !coeEnv )
- {
- User::Leave( KErrNotSupported );
- }
-
- // Get the filesession reference from coe env
- RFs& fileSession = coeEnv->FsSession();
-
- // Load resource file
- TFileName rscFileName( KResFileName );
- TFileName dllName;
- Dll::FileName( dllName );
- TBuf<2> drive = dllName.Left( 2 ); // Drive letter followed by ':'
- rscFileName.Insert( 0, drive );
-
- // Get the exact filename of the resource file
- BaflUtils::NearestLanguageFile( fileSession, rscFileName );
-
- // Check if the resource file exists or not
- if ( !BaflUtils::FileExists( fileSession, rscFileName ) )
- {
- __LOG( "[UpnpCommand]\t Resource file does not exist!" );
- User::Leave( KErrNotFound );
- }
-
- // Read the resource file offset
- iResFileOffset = coeEnv->AddResourceFileL( rscFileName );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::RunConnectingWaitNote
-// Launches the "Connecting" wait note.
-// --------------------------------------------------------------------------
-//
-TInt CUpnpNoteHandler::RunConnectingWaitNote()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::\
-RunConnectingWaitNote" );
-
- TInt status = KErrNone;
- status = RunWaitNote( R_COMMAND_CONNECTING_WAIT_NOTE );
- return status;
- }
-
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowDrmNoteL
-// Show "DRM protected files not supported." info note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowDrmNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowDrmNoteL" );
-
- if( !iDrmNoteShown )
- {
- iDrmNoteShown = ETrue;
- ShowErrorNoteL( R_COMMAND_DRM_FILE_TEXT );
- }
- else
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowDrmNoteL, skipped" );
- }
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowConnectionLostNoteL
-// Show "Connection failed." info note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowConnectionLostNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowConnectionLostNoteL" );
-
- ShowErrorNoteL( R_COMMAND_ERR_CON_FAILED_TEXT );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowLocalMSStartErrorNoteL
-// Show "Connection failed." info note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowLocalMSStartErrorNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowLocalMSStartErrorNoteL" );
-
- // local mediaserver refuses to start.
- // use "connection failed" - this describes the error best.
- ShowErrorNoteL( R_COMMAND_ERR_CON_FAILED_TEXT );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowCopyInfoNoteL
-// Show "%N files copied to %U" info note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowCopyInfoNoteL( TInt aCount,
- const TDesC& aServerName )
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowCopyInfoNoteL" );
-
- HBufC* infoText = NULL;
-
- if( aCount == 1 )
- {
- infoText = StringLoader::LoadLC(
- R_COMMAND_INFO_COPY_EXT_ONE_TEXT,
- aServerName );
- }
- else
- {
- infoText = StringLoader::LoadLC(
- R_COMMAND_INFO_COPY_EXT_MANY_TEXT,
- aServerName,
- aCount );
- }
-
- ShowInfoNoteL( *infoText );
-
- CleanupStack::PopAndDestroy( infoText );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowMoveInfoNoteL
-// Show "1 file moved to %U" info note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowMoveInfoNoteL( TInt aCount,
- const TDesC& aServerName )
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowMoveInfoNoteL" );
- // NOTE: defect in UI spec. Missing loc text. Using
- // "N files copied" localisation instead.
-
- HBufC* infoText = NULL;
-
- if( aCount == 1 )
- {
- infoText = StringLoader::LoadLC(
- R_COMMAND_INFO_MOVE_EXT_ONE_TEXT,
- aServerName );
- }
- else
- {
- infoText = StringLoader::LoadLC(
- R_COMMAND_INFO_MOVE_EXT_MANY_TEXT,
- aServerName,
- aCount );
- }
-
- ShowInfoNoteL( *infoText );
-
- CleanupStack::PopAndDestroy( infoText );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowCopyErrorNoteL
-// Show "Selected device does not support this operation" error note
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowCopyErrorNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowCopyErrorNoteL" );
-
- ShowErrorNoteL( R_COMMAND_ERR_GENERAL_FAILURE_TEXT );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowMoveErrorNoteL
-// Show "Selected device does not support this operation" error note
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowMoveErrorNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowMoveErrorNoteL" );
-
- ShowErrorNoteL( R_COMMAND_ERR_GENERAL_FAILURE_TEXT );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowCopyDisconnectionErrorNoteL
-// Show "Connection lost, some files may not be copied" error note
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowCopyDisconnectionErrorNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::\
-ShowCopyDisconnectionErrorNoteL" );
-
- ShowErrorNoteL( R_COMMAND_ERR_CONN_LOST_COPY_TEXT );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowMoveDisconnectionErrorNoteL
-// Show "Connection lost. Some files might not be moved" error note
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowMoveDisconnectionErrorNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::\
-ShowMoveDisconnectionErrorNoteL" );
-
- ShowErrorNoteL( R_COMMAND_ERR_CONN_LOST_MOVE_TEXT);
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowPlaybackFailedNoteL
-// Show "Playback failed on the remote device for unknown error.
-// Try again" info note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowPlaybackFailedNoteL()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowPlaybackFailedNoteL" );
-
- ShowErrorNoteL( R_COMMAND_ERR_RENDERING_FAILED_UNKNOWN_TEXT );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::RunWaitNote
-// Launches the wait note.
-// --------------------------------------------------------------------------
-//
-TInt CUpnpNoteHandler::RunWaitNote( TInt aResource )
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::RunWaitNote" );
-
- TInt status = KErrNone;
-
-
- // If the note is already showing
- if( iWaitNote )
- {
- status = KErrInUse;
- }
- else
- {
- // Create the wait note
- iWaitNote = new CAknWaitDialog(
- ( REINTERPRET_CAST( CEikDialog**, &iWaitNote ) ), ETrue );
- if( iWaitNote )
- {
- // Execute the wait note
- TBool noteResult = EFalse;
- TRAP( status, noteResult =
- iWaitNote->ExecuteLD(
- aResource ) );
- if( !noteResult )
- {
- status = KErrCancel;
- }
-
- // Clean up
- iWaitNote = NULL;
- }
- else
- {
- // If we failed to allocate memory for the note
- status = KErrNoMemory;
- }
-
- }
-
- return status;
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::CloseWaitNote
-// Closes the "Activating sharing" wait note.
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::CloseWaitNote()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::CloseWaitNote" );
-
- // If wait note is running, finish it
- if( iWaitNote )
- {
- TRAP_IGNORE( iWaitNote->ProcessFinishedL() );
- }
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowInfoNoteL
-// Show info note
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowInfoNoteL( const TDesC& aText )
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowInfoNoteL" );
-
- CAknInformationNote* infoNote =
- new ( ELeave ) CAknInformationNote( ETrue );
- infoNote->ExecuteLD( aText );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ShowErrorNoteL
-// Show error note
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ShowErrorNoteL( TInt aResource )
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowInfoNoteL" );
-
- // Load the string, and show the note
- HBufC* errorText = StringLoader::LoadLC( aResource );
- CAknInformationNote* errorNote =
- new ( ELeave ) CAknInformationNote( ETrue );
- errorNote->ExecuteLD( *errorText );
- CleanupStack::PopAndDestroy( errorText );
- }
-
-// --------------------------------------------------------------------------
-// CUpnpNoteHandler::ResetDrmNoteCount
-// Drm note can shoud be shown only one in operation
-// this reset calculator so that note can be shown again
-// --------------------------------------------------------------------------
-//
-void CUpnpNoteHandler::ResetDrmNoteCount()
- {
- __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ResetDrmNoteCount" );
- iDrmNoteShown = EFalse;
- }
-
-// End of File
+/*
+* Copyright (c) 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: Source file for CUpnpNoteHandler class.
+*
+*/
+
+
+// INCLUDE FILES
+// system
+#include <bautils.h> // BaflUtils
+#include <eikenv.h> // CEikonEnv
+#include <AknWaitDialog.h> // CAknWaitDialog
+#include <StringLoader.h> // StringLoader
+#include <aknnotewrappers.h> // CAknErrorNote
+// upnpframework / common ui
+#include "upnpcommonui.h" // CUPnPCommonUI
+// command internal
+#include <upnpcommandresources.rsg> // UpnpCommand resource file
+#include "upnpnotehandler.h"
+
+_LIT( KComponentLogfile, "upnpcommand.log");
+#include "upnplog.h"
+
+
+// CONSTANTS
+_LIT( KResFileName, "\\resource\\upnpcommandresources.rsc" );
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::NewL
+// Creates an instance of the implementation.
+// --------------------------------------------------------------------------
+//
+CUpnpNoteHandler* CUpnpNoteHandler::NewL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::NewL" );
+
+ // Create instance
+ CUpnpNoteHandler* self = NULL;
+ self = new (ELeave) CUpnpNoteHandler();
+ CleanupStack::PushL( self );
+ self->ConstructL();
+ CleanupStack::Pop( self );
+
+ return self;
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::CUpnpNoteHandler
+// First phase construction.
+// --------------------------------------------------------------------------
+//
+CUpnpNoteHandler::CUpnpNoteHandler()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Constructor" );
+
+ iWaitNote = NULL;
+
+ // DRM note will be shown only once
+ iDrmNoteShown = EFalse;
+ }
+
+// --------------------------------------------------------------------------
+// Destructor.
+// --------------------------------------------------------------------------
+//
+CUpnpNoteHandler::~CUpnpNoteHandler()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Destructor" );
+
+ // If wait note is running, finish it
+ if( iWaitNote )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Destructor\
+ iWaitNote->ProcessFinishedL " );
+ TRAP_IGNORE( iWaitNote->ProcessFinishedL() );
+ }
+
+ // Un-load resource file
+ if ( iResFileOffset )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Destructor\
+ Un-load resource file " );
+ CEikonEnv::Static()->DeleteResourceFile( iResFileOffset );
+ iResFileOffset = 0;
+ }
+
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::Destructor - end" );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ConstructL
+// Perform the second phase of two phase construction. Reserves the Upnp Fw
+// resources (they are released when the task is destroyed).
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ConstructL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ConstructL" );
+
+ // Get the pointer to coe env (owned by Eikon env)
+ CEikonEnv* coeEnv = CEikonEnv::Static();
+ if( !coeEnv )
+ {
+ User::Leave( KErrNotSupported );
+ }
+
+ // Get the filesession reference from coe env
+ RFs& fileSession = coeEnv->FsSession();
+
+ // Load resource file
+ TFileName rscFileName( KResFileName );
+ TFileName dllName;
+ Dll::FileName( dllName );
+ TBuf<2> drive = dllName.Left( 2 ); // Drive letter followed by ':'
+ rscFileName.Insert( 0, drive );
+
+ // Get the exact filename of the resource file
+ BaflUtils::NearestLanguageFile( fileSession, rscFileName );
+
+ // Check if the resource file exists or not
+ if ( !BaflUtils::FileExists( fileSession, rscFileName ) )
+ {
+ __LOG( "[UpnpCommand]\t Resource file does not exist!" );
+ User::Leave( KErrNotFound );
+ }
+
+ // Read the resource file offset
+ iResFileOffset = coeEnv->AddResourceFileL( rscFileName );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::RunConnectingWaitNote
+// Launches the "Connecting" wait note.
+// --------------------------------------------------------------------------
+//
+TInt CUpnpNoteHandler::RunConnectingWaitNote()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::\
+RunConnectingWaitNote" );
+
+ TInt status = KErrNone;
+ status = RunWaitNote( R_COMMAND_CONNECTING_WAIT_NOTE );
+ return status;
+ }
+
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowDrmNoteL
+// Show "DRM protected files not supported." info note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowDrmNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowDrmNoteL" );
+
+ if( !iDrmNoteShown )
+ {
+ iDrmNoteShown = ETrue;
+ ShowErrorNoteL( R_COMMAND_DRM_FILE_TEXT );
+ }
+ else
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowDrmNoteL, skipped" );
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowConnectionLostNoteL
+// Show "Connection failed." info note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowConnectionLostNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowConnectionLostNoteL" );
+
+ ShowErrorNoteL( R_COMMAND_ERR_CON_FAILED_TEXT );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowLocalMSStartErrorNoteL
+// Show "Connection failed." info note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowLocalMSStartErrorNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowLocalMSStartErrorNoteL" );
+
+ // local mediaserver refuses to start.
+ // use "connection failed" - this describes the error best.
+ ShowErrorNoteL( R_COMMAND_ERR_CON_FAILED_TEXT );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowCopyInfoNoteL
+// Show "%N files copied to %U" info note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowCopyInfoNoteL( TInt aCount,
+ const TDesC& aServerName )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowCopyInfoNoteL" );
+
+ HBufC* infoText = NULL;
+
+ if( aCount == 1 )
+ {
+ infoText = StringLoader::LoadLC(
+ R_COMMAND_INFO_COPY_EXT_ONE_TEXT,
+ aServerName );
+ }
+ else
+ {
+ infoText = StringLoader::LoadLC(
+ R_COMMAND_INFO_COPY_EXT_MANY_TEXT,
+ aServerName,
+ aCount );
+ }
+
+ ShowInfoNoteL( *infoText );
+
+ CleanupStack::PopAndDestroy( infoText );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowMoveInfoNoteL
+// Show "1 file moved to %U" info note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowMoveInfoNoteL( TInt aCount,
+ const TDesC& aServerName )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowMoveInfoNoteL" );
+ // NOTE: defect in UI spec. Missing loc text. Using
+ // "N files copied" localisation instead.
+
+ HBufC* infoText = NULL;
+
+ if( aCount == 1 )
+ {
+ infoText = StringLoader::LoadLC(
+ R_COMMAND_INFO_MOVE_EXT_ONE_TEXT,
+ aServerName );
+ }
+ else
+ {
+ infoText = StringLoader::LoadLC(
+ R_COMMAND_INFO_MOVE_EXT_MANY_TEXT,
+ aServerName,
+ aCount );
+ }
+
+ ShowInfoNoteL( *infoText );
+
+ CleanupStack::PopAndDestroy( infoText );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowCopyErrorNoteL
+// Show "Selected device does not support this operation" error note
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowCopyErrorNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowCopyErrorNoteL" );
+
+ ShowErrorNoteL( R_COMMAND_ERR_GENERAL_FAILURE_TEXT );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowMoveErrorNoteL
+// Show "Selected device does not support this operation" error note
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowMoveErrorNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowMoveErrorNoteL" );
+
+ ShowErrorNoteL( R_COMMAND_ERR_GENERAL_FAILURE_TEXT );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowCopyDisconnectionErrorNoteL
+// Show "Connection lost, some files may not be copied" error note
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowCopyDisconnectionErrorNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::\
+ShowCopyDisconnectionErrorNoteL" );
+
+ ShowErrorNoteL( R_COMMAND_ERR_CONN_LOST_COPY_TEXT );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowMoveDisconnectionErrorNoteL
+// Show "Connection lost. Some files might not be moved" error note
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowMoveDisconnectionErrorNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::\
+ShowMoveDisconnectionErrorNoteL" );
+
+ ShowErrorNoteL( R_COMMAND_ERR_CONN_LOST_MOVE_TEXT);
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowPlaybackFailedNoteL
+// Show "Playback failed on the remote device for unknown error.
+// Try again" info note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowPlaybackFailedNoteL()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowPlaybackFailedNoteL" );
+
+ ShowErrorNoteL( R_COMMAND_ERR_RENDERING_FAILED_UNKNOWN_TEXT );
+ }
+
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowRendererInUseNoteL
+// Show "%U is already in use. Please try again later." - note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowRendererInUseNoteL( const TDesC& aDeviceName )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowRendererInUseNoteL" );
+
+ // Load note text
+ HBufC* textFormat = StringLoader::LoadLC(
+ R_COMMAND_RENDERER_IN_USE_TEXT );
+ HBufC* noteText = HBufC::NewLC( textFormat->Length()
+ + aDeviceName.Length() );
+ noteText->Des().Format( textFormat->Des() , &aDeviceName );
+ // Create and launch the error note
+ CAknErrorNote* errorNote = new( ELeave ) CAknErrorNote;
+ errorNote->ExecuteLD( *noteText );
+ CleanupStack::PopAndDestroy( noteText );
+ CleanupStack::PopAndDestroy( textFormat );
+ }
+
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::RunWaitNote
+// Launches the wait note.
+// --------------------------------------------------------------------------
+//
+TInt CUpnpNoteHandler::RunWaitNote( TInt aResource )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::RunWaitNote" );
+
+ TInt status = KErrNone;
+
+
+ // If the note is already showing
+ if( iWaitNote )
+ {
+ status = KErrInUse;
+ }
+ else
+ {
+ // Create the wait note
+ iWaitNote = new CAknWaitDialog(
+ ( REINTERPRET_CAST( CEikDialog**, &iWaitNote ) ), ETrue );
+ if( iWaitNote )
+ {
+ // Execute the wait note
+ TBool noteResult = EFalse;
+ TRAP( status, noteResult =
+ iWaitNote->ExecuteLD(
+ aResource ) );
+ if( !noteResult )
+ {
+ status = KErrCancel;
+ }
+
+ // Clean up
+ iWaitNote = NULL;
+ }
+ else
+ {
+ // If we failed to allocate memory for the note
+ status = KErrNoMemory;
+ }
+
+ }
+
+ return status;
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::CloseWaitNote
+// Closes the "Activating sharing" wait note.
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::CloseWaitNote()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::CloseWaitNote" );
+
+ // If wait note is running, finish it
+ if( iWaitNote )
+ {
+ TRAP_IGNORE( iWaitNote->ProcessFinishedL() );
+ }
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowInfoNoteL
+// Show info note
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowInfoNoteL( const TDesC& aText )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowInfoNoteL" );
+
+ CAknInformationNote* infoNote =
+ new ( ELeave ) CAknInformationNote( ETrue );
+ infoNote->ExecuteLD( aText );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ShowErrorNoteL
+// Show error note
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ShowErrorNoteL( TInt aResource )
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ShowInfoNoteL" );
+
+ // Load the string, and show the note
+ HBufC* errorText = StringLoader::LoadLC( aResource );
+ CAknInformationNote* errorNote =
+ new ( ELeave ) CAknInformationNote( ETrue );
+ errorNote->ExecuteLD( *errorText );
+ CleanupStack::PopAndDestroy( errorText );
+ }
+
+// --------------------------------------------------------------------------
+// CUpnpNoteHandler::ResetDrmNoteCount
+// Drm note can shoud be shown only one in operation
+// this reset calculator so that note can be shown again
+// --------------------------------------------------------------------------
+//
+void CUpnpNoteHandler::ResetDrmNoteCount()
+ {
+ __LOG( "[UpnpCommand]\t CUpnpNoteHandler::ResetDrmNoteCount" );
+ iDrmNoteShown = EFalse;
+ }
+
+// End of File