--- a/stif/ConsoleUI/src/ConsoleNotify.cpp Mon Jun 28 15:36:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,474 +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: This module contains implementation of CMenuNotifier
-* and CMenuDialog class implementations.
-*
-*/
-
-// INCLUDE FILES
-#include <e32base.h>
-#include <e32cons.h>
-#include <e32svr.h>
-#include <f32file.h>
-#include "ConsoleUI.h"
-#include "ConsoleMenus.h"
-
-// EXTERNAL DATA STRUCTURES
-
-// EXTERNAL FUNCTION PROTOTYPES
-
-// CONSTANTS
-const TInt KDefaultTime = 2;
-
-// MACROS
-#ifndef __WINS__
- #define GETPTR &
-#else
- #define GETPTR
-#endif
-
-// LOCAL CONSTANTS AND MACROS
-
-// MODULE DATA STRUCTURES
-
-// LOCAL FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-
-// ==================== LOCAL FUNCTIONS =======================================
-
-// None
-
-
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuNotifier
-
- Method: NewL
-
- Description: Constructs new menu notifier
-
- Parameters: CConsoleMain* aConsole :in: Pointer to main console
- CMenu* aParent :in: Parent menu
- const TDesC& aName :in: Menu name
-
- Return Values: CMenu* New menu
-
- Errors/Exceptions: Leaves if memory allocation fails
- Leaves if ConstructL leaves.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CMenuNotifier* CMenuNotifier::NewL( const TDesC& aError, CConsoleMain* aMain )
- {
-
- CMenuNotifier* self = new ( ELeave ) CMenuNotifier( aMain );
- CleanupStack::PushL( self );
- self->ConstructL( aError );
- CleanupStack::Pop( self );
- return self;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuNotifier
-
- Method: ConstructL
-
- Description: Second level constructor.
-
- Parameters: CConsoleMain* aConsole :in: Pointer to main console
- CMenu* aParent :in: Parent menu
- const TDesC& aName :in: Menu name
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CMenuNotifier::ConstructL( const TDesC& aError )
- {
-
- TSize size = iMain->GetConsole()->ScreenSize();
- size.iWidth = Min( size.iWidth - KMenuOverhead,
- aError.Length() );
- size.iHeight = aError.Length()/size.iWidth + 2;
-
- iConsole = Console::NewL( _L("Error note"), size );
-
- iConsole->Printf( _L("Error:") );
- iConsole->Printf( aError );
- iConsole->Printf( _L("\n") );
- iConsole->Printf( _L("Press any key") );
-
- iTimer.CreateLocal();
-
- CActiveScheduler::Add ( &iCallBack1 );
- CActiveScheduler::Add ( &iCallBack2 );
-
- // Get timer
- iTimer.After( iCallBack1.Activate(), 10000000 );
-
- // Poll keypresses
- iConsole->Read ( iCallBack2.Activate() );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuNotifier
-
- Method: CMenuNotifier
-
- Description: Constructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-#pragma warning( disable : 4355 ) // Incomplete this usage
-CMenuNotifier::CMenuNotifier( CConsoleMain* aMain ):
- iCallBack1 ( this, GETPTR CMenuNotifier::Run1 ),
- iCallBack2 ( this, GETPTR CMenuNotifier::Run1 ),
- iMain( aMain )
- {
- }
-#pragma warning( default : 4355 )
-
-/*
--------------------------------------------------------------------------------
-e
- Class: CMenuNotifier
-
- Method: ~CMenuNotifier
-
- Description: Destructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CMenuNotifier::~CMenuNotifier()
- {
- iTimer.Close();
- delete iConsole;
-
- }
-
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuNotifier
-
- Method: Run1
-
- Description: Callback function. Closes dialog
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CMenuNotifier::Run1()
- {
-
- if ( iCallBack1.isCompleted() && iCallBack2.isCompleted() )
- {
- // Both callback have been done, delete this object
- delete this;
- return;
- }
- else
- {
- // One callback finished, stop listening anything else
- iConsole->ReadCancel();
- iTimer.Cancel();
- }
- }
-
-
-// ================= MEMBER FUNCTIONS =========================================
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuDialog
-
- Method: NewL
-
- Description: Constructs new menu dialog
-
- Parameters: const TDesC& aMessage: in: Message to dialog
-
- Return Values: CMenu* New menu
-
- Errors/Exceptions: Leaves if memory allocation fails
- Leaves if ConstructL leaves.
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CMenuDialog* CMenuDialog::NewL( CConsoleMain* aMain,
- const TDesC& aLine1,
- const TDesC& aLine2,
- TInt aTimeInSecs )
- {
-
- CMenuDialog* self = new ( ELeave ) CMenuDialog( aMain );
- CleanupStack::PushL( self );
- self->ConstructL( aLine1, aLine2, aTimeInSecs );
- CleanupStack::Pop( self );
- return self;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuDialog
-
- Method: ConstructL
-
- Description: Second level constructor.
-
- Parameters: const TDesC& aMessage: in: Message to dialog
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CMenuDialog::ConstructL( const TDesC& aLine1,
- const TDesC& aLine2,
- TInt aTimeInSecs )
- {
-
- TSize size = iMain->GetConsole()->ScreenSize();
- size.iWidth = Min( size.iWidth - KMenuOverhead,
- Max( aLine1.Length(), aLine2.Length() ) );
- size.iHeight = aLine1.Length()/size.iWidth + aLine2.Length()/size.iWidth + 2;
-
- iConsole = Console::NewL( _L("Info"), size );
-
- if( aLine1.Length() > 0 )
- {
- iConsole->Printf( aLine1 );
- }
- if( aLine2.Length() > 0 )
- {
- iConsole->Printf( _L("\n") );
- iConsole->Printf( aLine2 );
- }
-
- if( aTimeInSecs == 0 )
- {
- aTimeInSecs = KDefaultTime;
- }
- iTimer.CreateLocal();
-
- CActiveScheduler::Add ( &iCallBack1 );
- // Get timer
- iTimer.After( iCallBack1.Activate(), aTimeInSecs*1000*1000 );
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuDialog
-
- Method: CMenuDialog
-
- Description: Constructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-#pragma warning( disable : 4355 ) // Incomplete this usage
-CMenuDialog::CMenuDialog( CConsoleMain* aMain ):
- iMain( aMain ),
- iCallBack1 ( this, GETPTR CMenuDialog::Run1 ),
- iCallBack2 ( this, GETPTR CMenuDialog::Run1 )
- {
- }
-#pragma warning( default : 4355 )
-
-/*
--------------------------------------------------------------------------------
-e
- Class: CMenuDialog
-
- Method: ~CMenuDialog
-
- Description: Destructor
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-CMenuDialog::~CMenuDialog()
- {
-
- //if( iCallBack1.IsActive() )
- // {
- iTimer.Cancel();
- iTimer.Close();
- iCallBack1.Cancel();
- // }
-
- if( iCallBack2.IsActive() )
- {
- User::RequestComplete( iStatus, KErrCancel );
- if( iConsole != NULL )
- {
- iConsole->ReadCancel();
- }
- iCallBack2.Cancel();
- }
-
- delete iConsole;
-
- }
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuDialog
-
- Method: Run1
-
- Description: Callback function. Closes dialog
-
- Parameters: None
-
- Return Values: None
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-void CMenuDialog::Run1()
- {
-
- if ( iCallBack2.isCompleted() )
- {
- *iKeyCode = iConsole->KeyCode();
-
- User::RequestComplete( iStatus, iCallBack2.Status().Int() );
- }
-
- TInt index = iMain->iDialogs.Find( this );
- if( index >= 0 )
- {
- iMain->iDialogs.Remove( index );
- }
- // Timeout, delete this object
- delete this;
- return;
-
- }
-
-
-/*
--------------------------------------------------------------------------------
-
- Class: CMenuDialog
-
- Method: WaitForKeypress
-
- Description: Wait for keypress
-
- Parameters: None
-
- Return Values: Symbian OS error code
-
- Errors/Exceptions: None
-
- Status: Draft
-
--------------------------------------------------------------------------------
-*/
-TInt CMenuDialog::WaitForKeypress( TKeyCode& aKeyCode,
- TRequestStatus& aStatus )
- {
-
- aStatus = KRequestPending;
- iKeyCode = &aKeyCode;
- iStatus = &aStatus;
-
- CActiveScheduler::Add ( &iCallBack2 );
-
- // Poll keypresses
- iConsole->Read( iCallBack2.Activate() );
-
- return KErrNone;
-
- }
-
-// ================= OTHER EXPORTED FUNCTIONS =================================
-
-// End of File