diff -r 26673e532f65 -r 159fc2f68139 ImagePrint/ImagePrintUI/imageprinteng/src/cdiscoverymanager.cpp --- a/ImagePrint/ImagePrintUI/imageprinteng/src/cdiscoverymanager.cpp Tue May 25 12:42:41 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,263 +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 "tprinter.h" -#include "cdiscoverymanager.h" -#include "ciffactory.h" -#include "cprintjobmanager.h" -#include "csettingsmanager.h" -#include "imageprint.h" -#include "cimageprint.h" -#include "clog.h" - -const TInt KMMCID( 1 ); - -// CONSTRUCTION -CDiscoveryManager* CDiscoveryManager::NewL( - CIFFactory* aFactory ) - { - CDiscoveryManager* self = CDiscoveryManager::NewLC( aFactory ); - CleanupStack::Pop(); // self - - return self; - } - -CDiscoveryManager* CDiscoveryManager::NewLC( - CIFFactory* aFactory ) - { - CDiscoveryManager* self = - new ( ELeave ) CDiscoveryManager( aFactory ); - CleanupStack::PushL( self ); - self->ConstructL(); - - return self; - } - -// Constructor -CDiscoveryManager::CDiscoveryManager( - CIFFactory* aFactory ) : - iFactory( aFactory ) - { - } - -// Destruction -CDiscoveryManager::~CDiscoveryManager() - { - } - -// 2nd phase constructor -void CDiscoveryManager::ConstructL() - { - } - -// Returns supported protocols -TUint CDiscoveryManager::SupportedProtocols() - { - return iFactory->Engine()->SupportedProtocols(); - } - -// Initiates device discovery -void CDiscoveryManager::StartDeviceDiscoveryL( - MDiscoveryObserver* aNotifier, - TUint aProtocol ) - { - TInt discoveryError( KErrNone ); - LOG("CDiscoveryManager::StartDeviceDiscoveryL BEGIN"); - iMMCUid = -1; - iCancelling = EFalse; - iOnGoingDiscovery = ETrue; - iDiscoveryObserver = aNotifier; - TRAP_IGNORE( discoveryError = iFactory->Engine()->StartDiscoveryL( *this, aProtocol ) ); - LOG1("CDiscoveryManager::StartDeviceDiscoveryL END, error = %d", discoveryError); - User::LeaveIfError( discoveryError ); - } - -// Cancels the discovery notification -void CDiscoveryManager::CancelDeviceDiscoveryL() - { - if ( iOnGoingDiscovery ) - { - User::LeaveIfError( iFactory->Engine()->CancelDiscovery() ); - iCancelling = ETrue; - iOnGoingDiscovery = EFalse; - } - } - -// Chooses the printer -TInt CDiscoveryManager::ChoosePrinterL( - TInt aPrinterUid ) - { - LOG("CDiscoveryManager::ChoosePrinterL BEGIN"); - TInt err = 0; - - // Create print job - CPrintJobManager* printJobManager = - static_cast( iFactory->PrintJobIF() ); - iOnGoingDiscovery = EFalse; - - err = printJobManager->CreatePrintJobL( aPrinterUid ); - LOG2("CDiscoveryManager::ChoosePrinterL printjob ret: %d with printer uid: %d", err, aPrinterUid ); - if ( err == KErrNone ) - { - if( aPrinterUid == KMMCID ) - { - iMMCUid = KMMCID; - } - - // Do initialization of the settings manager once print job is - // created and the settings can be fetched - CSettingsManager* settings = - static_cast( iFactory->SettingsIF() ); - settings->InitSettingsL( aPrinterUid, iMMCUid ); - - iPrinterUid = aPrinterUid; - } - - LOG("CDiscoveryManager::ChoosePrinterL END"); - return err; - } - -// Called when the server finds the printer -void CDiscoveryManager::FoundPrinterL( - const TPrinter& aPrinterInfo ) - { - HBufC* name = HBufC::NewLC( aPrinterInfo.iDisplayName.Length() ); - name->Des().Copy( aPrinterInfo.iDisplayName ); - - MDiscoveryObserver::TPrinterType type; - switch ( aPrinterInfo.iProtocol ) - { - case KImagePrint_PrinterProtocol_BPP: - type = MDiscoveryObserver::EBPP; - break; - case KImagePrint_PrinterProtocol_DPOF: - type = MDiscoveryObserver::EMMC; - iMMCUid = aPrinterInfo.iPrinterID; - break; - case KImagePrint_PrinterProtocol_PictBridge: - type = MDiscoveryObserver::EUSB; - break; - - case KImagePrint_PrinterProtocol_OPP_Printer: //fallthrough - case KImagePrint_PrinterProtocol_OPP_PC: - type = MDiscoveryObserver::EOPP; - break; - case KImagePrint_PrinterProtocol_UPnP: - type = MDiscoveryObserver::EWLAN; - break; - default: - type = MDiscoveryObserver::EBPP; - break; - } - - if( iOnGoingDiscovery != EFalse ) - { - iDiscoveryObserver->NotifyNewPrintDeviceL( - name, aPrinterInfo.iPrinterID, - aPrinterInfo.iProperties & TPrinter::Cached, - type, aPrinterInfo.iVendor ); - } - CleanupStack::PopAndDestroy(); // name - } - -// Called to inform the status -void CDiscoveryManager::DiscoveryStatusL( - TInt aStatus, - TInt aErrorCode, - TInt /*aErrorStringCode*/ ) - { - // When Bluetooth discovery is finished, but Bluetooth is not enabled pass error code to UI. - if ( aErrorCode == ENoConnection ) - { - if (iDiscoveryObserver) - { - iDiscoveryObserver->DiscoveryError( aErrorCode ); - } - } - if ( iCancelling ) - { - // Exection continues in CancelDiscoveryL() - if ( iDiscoveryObserver ) - { - iDiscoveryObserver->DeviceDiscoveryCompleted(); - } - } - else - { - if ( iOnGoingDiscovery ) - { - if ( aStatus == EDiscovering ) - { - iOnGoingDiscovery = EFalse; - if ( iDiscoveryObserver ) - { - iDiscoveryObserver->DeviceDiscoveryCompleted(); - } - } - else if ( aStatus == EDoneDiscovery ) - { - iOnGoingDiscovery = EFalse; - if ( iDiscoveryObserver ) - { - iDiscoveryObserver->DeviceDiscoveryCompleted(); - } - } - else if ( aStatus == ECancellingDiscovery ) - { - if ( iDiscoveryObserver ) - { - iDiscoveryObserver->DiscoveryError( aErrorCode ); - } - } - else - { - User::Leave( KErrUnknown ); - } - } - } - } - -// Removes cached printer from the list -void CDiscoveryManager::RemovePrinterL( const TPrinter& aPrinterInfo ) - { - if( iOnGoingDiscovery != EFalse ) - { - iDiscoveryObserver->RemoveCachedPrinterL( aPrinterInfo.iPrinterID ); - } - } - -TInt CDiscoveryManager::IsPictBridgeMode() - { - LOG("CDiscoveryManager::IsPictBridgeMode() START"); - TInt retValue = -999; - retValue = iFactory->ImagePrintClient().IsPictBridgeMode(); - LOG1("IsPictBridgeMode() returned: %d", retValue); - LOG("CDiscoveryManager::IsPictBridgeMode() END"); - return retValue; - } - -void CDiscoveryManager::RemoveDiscoveryObserver() - { - iOnGoingDiscovery = EFalse; - iDiscoveryObserver = 0; - } - -// End of File