ImagePrint/ImagePrintUI/imageprintapp/src/cidlemode.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:45:53 +0200
changeset 0 d11fb78c4374
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2005-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 "cidlemode.h"
#include "muimodeobserver.h"
#include "muimode.h"
#include "mprintsettings.h"
#include "cuiprotocolcontroller.h"
#include "ciffactory.h"
#include "mdiscoveryobserver.h"
#include "clog.h"

CIdleMode* CIdleMode::NewL( MUIModeObserver* aUIModeObserver,
                            CIFFactory& aIFFactory )
    {
    CIdleMode* self = NewLC( aUIModeObserver, aIFFactory );
    CleanupStack::Pop( self );
    return self;
    }

CIdleMode* CIdleMode::NewLC( MUIModeObserver* aUIModeObserver,
                             CIFFactory& aIFFactory )
    {
    CIdleMode* self = new ( ELeave ) CIdleMode( aUIModeObserver );
    CleanupStack::PushL( self );
    self->ConstructL( aIFFactory );
    return self;
    }

// Default constructor
CIdleMode::CIdleMode( MUIModeObserver* aUIModeObserver )
	{
    iUIModeObserver = aUIModeObserver;
    }

// 2nd phase constructor
void CIdleMode::ConstructL( CIFFactory& aIFFactory )
    {
    iIFFactory = &aIFFactory;
    iUIProtocolController = CUIProtocolController::NewL( this, aIFFactory );
    }

// Destructor
CIdleMode::~CIdleMode()
    {
    delete iUIProtocolController;
	}

void CIdleMode::SearchDefaultPrinterL()
    {
    LOG("void CIdleMode::SearchDefaultPrinterL() START");
    TBool printerFound = iUIProtocolController->SearchDefaultPrinterL();
    // If printer was found change to settings view
    if( printerFound )
        {  
        LOG("void CIdleMode::SearchDefaultPrinterL() Printer found");
        iUIModeObserver->ChangeViewL( MUIModeObserver::SettingsView );
        }
    // Printer was not found or discovery cancelled
    else 
        {
        LOG("void CIdleMode::SearchDefaultPrinterL() Printer not found");
        iUIModeObserver->ChangeViewL( MUIModeObserver::SettingsView );
        }
    LOG("void CIdleMode::SearchDefaultPrinterL() END");
    }

TBool CIdleMode::ChangeDefaultPrinterL( TInt aProtocol )
    {
    TBool printerFound = iUIProtocolController->
                                ChangeDefaultPrinterL( aProtocol );

    return printerFound;
    }


void CIdleMode::UsbCableDisconnected()
    {
    if ( iIFFactory->SettingsIF()->GetCurrentPrinterProtocol() == 
         MDiscoveryObserver::EUSB )
    	{
    	// No leaving function. Ignore leave. 
	    TRAP_IGNORE( iUIModeObserver->ChangeViewL( MUIModeObserver::ImageSelectionView ));    	
    	}
    }

//  End of File