diff -r 26673e532f65 -r 159fc2f68139 ImagePrint/ImagePrintUI/imageprinteng/src/cidleprinteventcatcher.cpp --- a/ImagePrint/ImagePrintUI/imageprinteng/src/cidleprinteventcatcher.cpp Tue May 25 12:42:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ -/* -* Copyright (c) 2004-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: -* -*/ - - -#include -#include -#include - -#include "tidleevent.h" -#include "cidleprinteventcatcher.h" -#include "crealfactory.h" -#include "midleprinteventobserver.h" -#include "cprinteventcatcher.h" -#include "mprintsettings.h" -#include "clog.h" -#include "mdiscoveryobserver.h" -#include "midleprinteventregisterif.h" -#include "mdiscoveryobserver.h" - -CIdlePrintEventCatcher* CIdlePrintEventCatcher::NewL( - CRealFactory* aFactory /*, - MIdlePrintEventObserver* aIdleUIObserver*/ ) - { - CIdlePrintEventCatcher* self = CIdlePrintEventCatcher::NewLC( aFactory/*, aIdleUIObserver*/ ); - CleanupStack::Pop(); // self - return self; - } - -CIdlePrintEventCatcher* CIdlePrintEventCatcher::NewLC( - CRealFactory* aFactory/*, - MIdlePrintEventObserver* aIdleUIObserver*/ ) - { - CIdlePrintEventCatcher* self = - new ( ELeave ) CIdlePrintEventCatcher( aFactory/*, aIdleUIObserver*/ ); - CleanupStack::PushL( self ); - self->ConstructL(); - - return self; - } - -// Constructor -CIdlePrintEventCatcher::CIdlePrintEventCatcher( - CRealFactory* aFactory/*, - MIdlePrintEventObserver* aIdleUIObserver*/ ) : - iFactory( aFactory )/*, - iIdleUIObserver( aIdleUIObserver )*/ - { - } - -// Destructor -CIdlePrintEventCatcher::~CIdlePrintEventCatcher() - { - iObservers.Reset();//)AndDestroy(); - } - -// 2nd phase constructor -void CIdlePrintEventCatcher::ConstructL() - { - } - -void CIdlePrintEventCatcher::StatusEvent( const TEvent &aEvent, - TInt aError, - TInt aMsgCode ) - { - LOG1("CIdlePrintEventCatcher::StatusEvent, aEventType: %d", aEvent.iEventType); - LOG2("CIdlePrintEventCatcher::StatusEvent, aError: %d, aMsgCode: %d", aError, aMsgCode ); - TInt obsCount = iObservers.Count(); - switch ( aEvent.iEventType ) - { - ///The protocol has made a connection to the printer, device or transport - case EConnect: - { - LOG( "CIdlePrintEventCatcher::StatusEvent CONNECT " ); - if ( (TUint)aEvent.iProtocol == KImagePrint_PrinterProtocol_PictBridge ) - { - for( TInt i=0; iUsbPrinterConnected(); - } - iFactory->SettingsIF()->SetUsbState( ETrue ); - } - break; - } - ///The protocol has been disconnected from the printer, device or transport - case EDisconnect: - { - if ( (TUint)aEvent.iProtocol == KImagePrint_PrinterProtocol_PictBridge ) - { - // If idle print event is called while usb printing is still ongoing, - // printing is cancelled. - if ( iFactory->IsPrinting() && - ( iFactory->SettingsIF()->GetCurrentPrinterProtocol() == - MDiscoveryObserver::EUSB ) && aError != KErrDisconnected) - { - LOG2("printing pictbridge, aError = %d, aMsgCode = %d", aError, aMsgCode ); - iFactory->PrintEventObserverIF()->PrintJobErrorEvent( KErrDisconnected, KErrNone ); - iFactory->SettingsIF()->SetUsbState( EFalse ); - } - else - { - LOG2("not printing or not pictbridge, aError = %d, aMsgCode = %d", aError, aMsgCode ); - if ( ( aError == KErrDisconnected) && - ( iFactory->SettingsIF()->GetCurrentPrinterProtocol() == - MDiscoveryObserver::EUSB ) ) - { - LOG( "CIdlePrintEventCatcher::StatusEvent 'Connection to printer lost' " ); - - TInt error ( KErrNone ); - TRAP( error, iBuf = StringLoader::LoadL( R_NOTE_DISCONNECT_PRINT_ERROR )); - CAknErrorNote* errornote = new CAknErrorNote( ETrue ); - TInt err ( KErrNone ); - TRAP( err, errornote->ExecuteLD( *iBuf )); - - } - for( TInt i=0; iUsbPrinterDisconnected(); - } - if ( iBuf ) - { - delete iBuf; - iBuf = NULL; - } - - } - } - break; - } - - ///The event is notifying a change in the device status, - ///or is reporting an error sent from the device - case EPrinterStatus: - { - if ( EWarning==aEvent.iSeverity || EFatal==aEvent.iSeverity ) - { - for( TInt i=0; iUsbStateChanged( ENOUSBEvent, aMsgCode ); - } - } - break; - } - - ///The event is notifying that an asynchronous leave has occurred - ///in server and user should be notified in some way - case EAsynchronousLeave: - { - LOG( "CIdlePrintEventCatcher::StatusEvent EAsynchronousLeave!"); - LOG2( "CIdlePrintEventCatcher::StatusEvent protocol: %d, error: %d", - aEvent.iProtocol, aError ); - for( TInt i=0; iAsynchronousServerLeave( aError ); - } - CCoeEnv::Static()->HandleError( aError ); - break; - } - default: - { - // Should not be never called - break; - } - } - LOG("CIdlePrintEventCatcher::StatusEvent END"); - } - -void CIdlePrintEventCatcher::RegisterObserver( MIdlePrintEventObserver* aIdleObserver ) - { - iObservers.Append( aIdleObserver ); - } - -void CIdlePrintEventCatcher::UnRegisterObserver( MIdlePrintEventObserver* aIdleObserver ) - { - TInt observerPosition = iObservers.Find( aIdleObserver ); - if( observerPosition != KErrNotFound ) - { - iObservers.Remove( observerPosition ); - } - } - -// End of File