DirectPrint/DirectPrintApp/src/directprintappappui.cpp
changeset 19 2275db202402
parent 11 613a5ff70823
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DirectPrint/DirectPrintApp/src/directprintappappui.cpp	Tue May 11 14:10:02 2010 +0800
@@ -0,0 +1,665 @@
+/*
+* Copyright (c) 2010 Kanrikogaku Kenkyusho, Ltd.
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "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:
+* Kanrikogaku Kenkyusho, Ltd. - Initial contribution
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+// INCLUDE FILES
+#include <avkon.hrh>
+#include <aknnotewrappers.h>
+#include <akntabgrp.h>
+#include <barsread.h>
+#include <stringloader.h>
+#include <DirectPrintApp.rsg>
+#include <f32file.h>
+#include <s32file.h>
+#include <f32file.h>
+#include <aiwmenu.h>					// CAiwGenericParamList
+
+//not use #include <featmgr.h>			// FeatureManager
+
+#include <xmlengdomparser.h>			// RXmlEngDOMParser
+#include <xmlengdomimplementation.h>	// RXmlEngDOMImplementation
+#include <xmlengerrors.h>
+
+// Start ImagePrint Provide
+#include "imageprint.h"  
+#include "printmessagecodes.h"
+// End   ImagePrint Provide
+
+#include "clog.h"
+#include "aiwprintproperty.h"
+
+#include "directprintapp.pan"
+#include "directprintappappui.h"
+#include "directprintapp.hrh"
+#include "directprintappdocument.h"
+#include "directprintmodel.h"
+
+#include "directprintmainview.h"
+#include "directprintlistview.h"
+#include "directprintsettingview.h"
+#include "directprintpreviewview.h"
+#include "directprintpropertyview.h"
+#include "directprintsearchresultview.h"
+#include "directprintengine.h"
+#include "directprintbearermgr.h"
+#include "directprintmsgutil.h"
+#include "directprintuipluginmgr.h"
+
+// ============================ MEMBER FUNCTIONS ===============================
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::ConstructL()
+// Symbian 2nd phase constructor can leave.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::ConstructL()
+	{
+	LOG("CDirectPrintAppAppUi::ConstructL BEGIN");
+	// Initialise app UI with standard value.
+    //BaseConstructL( EAknEnableSkin | EAknEnableMSK );
+    BaseConstructL( EAknEnableSkin );
+
+//not use    FeatureManager::InitializeLibL();
+
+    iDoc = static_cast<CDirectPrintAppDocument*>( CAknAppUi::Document() );
+
+	TRAPD( err, InitializeEngineL() );
+	if ( err == KErrInUse )
+		{
+		LOG1("InitializeEngineL Error [%d]", err);
+		CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PRINT_IN_USE);
+		Exit();
+		}
+	else
+		{
+		User::LeaveIfError( err );
+		}
+
+	TRAP( err, InitializeBearerMngL() );
+	if ( err == KErrInUse || err == KErrAlreadyExists )
+		{
+		LOG1("InitializeBearerMngL Error [%d]", err);
+		CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PRINT_IN_USE);
+		Exit();
+		}
+	else
+		{
+		User::LeaveIfError( err );
+		}
+
+	InitializePluginMgrL();
+
+	LOG("CDirectPrintAppAppUi::ConstructL StatusPane...");
+	CEikStatusPane* statusPane = StatusPane();
+	CAknNavigationControlContainer* naviPane = (CAknNavigationControlContainer*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
+		{
+		TResourceReader reader;
+		iCoeEnv->CreateResourceReaderLC(reader, R_DIRECTPRINT_PROPERTYSETTING_NAVI_DECORATOR);
+		iNaviDecorator = naviPane->ConstructNavigationDecoratorFromResourceL(reader);
+		CleanupStack::PopAndDestroy();
+		}
+	CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(iNaviDecorator->DecoratedControl());
+	tabGroup->SetObserver(this);
+
+	LOG("CDirectPrintAppAppUi::ConstructL aiw param...");
+	// aiw param
+	iAiwState = ENotAiwCall;
+	TInt r = iAiwCall.Attach(KPrintPropertyCat,EPrintProperty,EOwnerProcess);
+	if (r == KErrNone)
+		{
+		iAiwCall.Get(KPrintPropertyCat,EPrintProperty,iAiwState);
+		}
+
+	if ( iAiwState == EAiwPrintCall )
+		{
+		// Set the aiw call RProperty key back to default value so that
+		// if application for some reason crashes the value is not left for AIW mode.
+		iAiwCall.Set( KPrintPropertyCat,EPrintProperty, ENotAiwCall );
+		TRAP( err, LoadParamL() );
+		if ( err != KErrNone )
+			{
+			CDirectPrintMsgUtil::DisplayErrorNoteL(R_DIRECTPRINT_MSG_PARAM_INCORRECT);
+			Exit();
+			}
+		}
+
+	LOG("CDirectPrintAppAppUi::ConstructL InitializeViewsL...");
+	InitializeViewsL();
+
+    iCoeEnv->RootWin().EnableScreenChangeEvents();
+
+	LOG("CDirectPrintAppAppUi::ConstructL END");
+	}
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::CDirectPrintAppAppUi()
+// C++ default constructor can NOT contain any code, that might leave.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppAppUi::CDirectPrintAppAppUi()
+	{
+	// No implementation required
+	}
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::~CDirectPrintAppAppUi()
+// Destructor.
+// -----------------------------------------------------------------------------
+//
+CDirectPrintAppAppUi::~CDirectPrintAppAppUi()
+	{
+//not use	FeatureManager::UnInitializeLib();
+
+    if (iXmlEngDoc.NotNull()) 
+        {
+	    iXmlEngDoc.Close();               // closing all opened objects
+	    iXmlParser.Close();
+	    iXmlDomImpl.Close();
+        }
+	delete iXmlParam;
+	delete iEngine;
+	delete iBearerMgr;
+	delete iPluginMgr;
+	delete iNaviDecorator;
+    iAiwCall.Close();
+	}
+
+// -----------------------------------------------------------------------------
+// CDirectPrintAppAppUi::HandleCommandL()
+// Takes care of command handling.
+// -----------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::HandleCommandL( TInt aCommand )
+	{
+	LOG1("CDirectPrintAppAppUi::HandleCommandL(%d) BEGIN", aCommand);
+	switch( aCommand )
+		{
+		case EEikCmdExit:
+		case EAknSoftkeyExit:
+		case EDirectPrintCmdIdMainViewExit:
+			{
+			LOG1("BearerStatu=%d", iBearerMgr->BearerStatus());
+
+			TBool isPrinting = EFalse;
+			switch (iBearerMgr->BearerStatus())
+				{
+				case CDirectPrintBearerMgr::EBearerMngCreatingJob:
+				case CDirectPrintBearerMgr::EBearerMngPrinting:
+					isPrinting = ETrue;
+					break;
+				case CDirectPrintBearerMgr::EBearerMngClosing:
+				case CDirectPrintBearerMgr::EBearerMngCanceling:
+				case CDirectPrintBearerMgr::EBearerMngNotConnected:
+				case CDirectPrintBearerMgr::EBearerMngConnected:
+				default:
+					isPrinting = EFalse;
+					break;
+				}
+
+			if (!isPrinting)
+				{
+				iDoc->Model().ExternalizeDataL();
+				Exit();
+				}
+			else
+				{
+				// Show information message
+				HBufC* textResource = StringLoader::LoadLC(R_DIRECTPRINT_MSG_NOW_PRINTING);
+				CAknInformationNote* informationNote;
+				informationNote = new (ELeave) CAknInformationNote;
+				informationNote->ExecuteLD(*textResource);
+				CleanupStack::PopAndDestroy(textResource);
+				}
+			}
+			break;
+		case EDirectPrintCmdIdMainViewPrint:
+		case EDirectPrintCmdIdPropertySettingViewPrint:
+		case EDirectPrintCmdIdPreviewViewPrint:
+			{
+			MakeNaviPaneVisibleL(EFalse);
+			//TInt modelcount = iEngine->ModelCount();
+			iEngine->SetUseModel(0);
+			iEngine->PrintL();
+			}
+			break;
+		case EDirectPrintCmdIdMainViewPreview:
+		case EDirectPrintCmdIdPropertySettingViewPreview:
+			{
+			TVwsViewId id;
+			GetActiveViewId(id);
+			iBackViewUid = id.iViewUid;
+			//MakeStatusPaneVisible(EFalse);
+			MakeNaviPaneVisibleL(EFalse);
+			ActivateLocalViewL(TUid::Uid(EDirectPrintPreviewViewId));
+			}
+			break;
+		case EDirectPrintCmdIdMainViewPropertySetting:
+			{
+			if (iDoc->Model().PrinterCount() > 0)
+				{
+				CAknTabGroup* tabGroup = static_cast<CAknTabGroup*>(iNaviDecorator->DecoratedControl());
+				tabGroup->SetActiveTabByIndex(0);
+			//	tabGroup->SetActiveTabByIndex(1);
+				MakeNaviPaneVisibleL(ETrue);
+			//	ActivateLocalViewL(TUid::Uid(EDirectPrintPropertySetting1ViewId));
+			//	ActivateLocalViewL(TUid::Uid(EDirectPrintPropertySetting2ViewId));
+				ActivateLocalViewL(TUid::Uid(EDirectPrintPropertyViewId));
+				}
+			}
+			break;
+		case EDirectPrintCmdIdMainViewPrinterList:
+			{
+			MakeNaviPaneVisibleL(EFalse);
+			ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
+			}
+			break;
+		case EDirectPrintCmdIdPrinterSettingViewBack:
+			{
+			if (iBackViewUid != TUid::Uid(0))
+				{
+				ActivateLocalViewL(iBackViewUid);
+				iBackViewUid = TUid::Uid(0);
+				}
+			else
+				{
+				ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
+				}
+			}
+			break;
+		case EDirectPrintCmdIdMainViewPrinterSetting:
+		case EDirectPrintCmdIdPrinterListViewNew:
+		case EDirectPrintCmdIdPrinterListViewEdit:
+			{
+			if ((iDoc->Model().PrinterCount() > 0) || (iDoc->Model().IsNewData()))
+				{
+				TVwsViewId id;
+				GetActiveViewId(id);
+				iBackViewUid = id.iViewUid;
+				MakeNaviPaneVisibleL(EFalse);
+				ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterSettingViewId));
+				}
+			}
+			break;
+		case EDirectPrintCmdIdPrinterListViewDone:
+		case EDirectPrintCmdIdPropertySettingViewBack:
+			{
+			MakeNaviPaneVisibleL(EFalse);
+			ActivateLocalViewL(TUid::Uid(EDirectPrintMainViewId));
+			}
+			break;
+		case EDirectPrintCmdIdPrinterListViewSearch:
+			{
+			// Start printer search
+			//SearchPrinterL();
+			ActivateLocalViewL(TUid::Uid(EDirectPrintSearchResultViewId));
+			}
+			break;
+		case EDirectPrintCmdIdSearchResultViewSearch:
+			{
+			// Start printer search
+			//SearchPrinterL();
+			}
+			break;
+		case EDirectPrintCmdIdSearchResultViewSelect:
+		case EDirectPrintCmdIdSearchResultViewCancel:
+			{
+			ActivateLocalViewL(TUid::Uid(EDirectPrintPrinterListViewId));
+			}
+			break;
+		case EDirectPrintCmdIdPreviewViewBack:
+			{
+			MakeStatusPaneVisible(ETrue);
+			if (iBackViewUid != TUid::Uid(0))
+				{
+				if (iBackViewUid != TUid::Uid(EDirectPrintMainViewId))
+					{
+					MakeNaviPaneVisibleL(ETrue);
+					}
+				ActivateLocalViewL(iBackViewUid);
+				iBackViewUid = TUid::Uid(0);
+				}
+			else
+				{
+				ActivateLocalViewL(TUid::Uid(EDirectPrintMainViewId));
+				}
+			}
+			break;
+		case EDirectPrintCmdIdPrinterListViewDelete:
+		default:
+			break;
+		}
+	LOG("CDirectPrintAppAppUi::HandleCommandL END");
+	}
+
+void CDirectPrintAppAppUi::HandleResourceChangeL( TInt aType )
+	{
+	// base-class call also
+	CAknAppUi::HandleResourceChangeL(aType);
+	if (aType == KEikDynamicLayoutVariantSwitch)
+		{
+		}
+	}
+
+void CDirectPrintAppAppUi::TabChangedL(TInt aIndex)
+	{
+	TVwsViewId id;
+	GetActiveViewId(id);
+	if (id.iViewUid.iUid == EDirectPrintPropertyViewId)
+		{
+		CDirectPrintPropertyView* view = static_cast<CDirectPrintPropertyView*>(View(id.iViewUid));
+		view->ChangeTabL(aIndex);
+		}
+	}
+
+void CDirectPrintAppAppUi::MakeNaviPaneVisibleL(TBool aVisible)
+	{
+	CEikStatusPane* statusPane = StatusPane();
+	CAknNavigationControlContainer* naviPane = (CAknNavigationControlContainer*) statusPane->ControlL(TUid::Uid(EEikStatusPaneUidNavi));
+
+	if (aVisible)
+		{
+		naviPane->PushL(*iNaviDecorator);
+		}
+	else
+		{
+		naviPane->Pop(iNaviDecorator);
+		}
+	}
+
+void CDirectPrintAppAppUi::MakeStatusPaneVisible(TBool aVisible)
+	{
+	CEikStatusPane* statusPane = StatusPane();
+	statusPane->MakeVisible(aVisible);
+	}
+
+void CDirectPrintAppAppUi::InitializeViewsL()
+	{
+	LOG("CDirectPrintAppAppUi::InitializeViewsL begin");
+	// Create view
+	LOG("-->CDirectPrintMainView");
+	CDirectPrintMainView* view1 = CDirectPrintMainView::NewL();
+	CleanupStack::PushL(view1);
+	AddViewL(view1);
+	CleanupStack::Pop(view1);
+
+	LOG("-->CDirectPrintListView");
+	CDirectPrintListView* view2 = CDirectPrintListView::NewL();
+	CleanupStack::PushL(view2);
+	AddViewL(view2);
+	CleanupStack::Pop(view2);
+
+	LOG("-->CDirectPrintSearchResultView");
+	CDirectPrintSearchResultView* view3 = CDirectPrintSearchResultView::NewL();
+	AddViewL(view3);
+
+	LOG("-->CDirectPrintPrinterSettingView");
+	CDirectPrintPrinterSettingView* view4 = CDirectPrintPrinterSettingView::NewL();
+	CleanupStack::PushL(view4);
+	AddViewL(view4);
+	CleanupStack::Pop(view4);
+
+	LOG("-->CDirectPrintPreviewView");
+	CDirectPrintPreviewView* view5 = CDirectPrintPreviewView::NewL();
+	CleanupStack::PushL(view5);
+	AddViewL(view5);
+	CleanupStack::Pop(view5);
+
+	LOG("-->CDirectPrintPropertyView");
+	CDirectPrintPropertyView* view6 = CDirectPrintPropertyView::NewL();
+	CleanupStack::PushL(view6);
+	AddViewL(view6);
+	CleanupStack::Pop(view6);
+
+	// Check plugins. Create view, if extended view exists.
+
+	SetDefaultViewL( *view1 );
+
+	iBackViewUid = TUid::Uid(0);
+	LOG("CDirectPrintAppAppUi::InitializeViewsL end");
+	}
+
+
+void CDirectPrintAppAppUi::LoadParamL()
+	{
+	// get the xml parameter from AIW provider
+	// after that iXmlEngDoc is set in the function.
+	GetParamFromAiwProviderL();
+	// set the xml param to the engine side, and 
+	// the adapted band plugin is loaded and the xml
+	// parameter is sent to the plugin.
+	iEngine->SetParamL(&iXmlEngDoc);
+	}
+
+void CDirectPrintAppAppUi::GetParamFromAiwProviderL()
+	{
+	LOG("CDirectPrintAppAppUi::GetParamFromAiwProviderL() BEGIN");
+
+	RFileReadStream readStream;
+	TFileName paramFile;
+	_LIT( KParamFile, "c:\\system\\data\\T_AIW_TEMP.DAT");
+	paramFile.Copy(KParamFile);
+
+	User::LeaveIfError( readStream.Open(iCoeEnv->FsSession(), paramFile, EFileRead) );
+	readStream.PushL();
+	CAiwGenericParamList* paramList = CAiwGenericParamList::NewLC(readStream);
+
+	TInt index( 0 );
+	const TAiwGenericParam* param = paramList->FindFirst(index,
+			EGenericParamPrintXMLFile,
+			EVariantTypeDesC8);
+	TPtrC8 ptrParam = param->Value().AsData();
+	if ( ptrParam.Length() == 0)
+		{
+		User::Leave(KErrArgument);
+		}
+
+	// set file name
+	iXmlParam = ptrParam.AllocL();
+
+	// parse XML param
+	// opening DOM implementation object 
+	iXmlDomImpl.OpenL();
+	// opening parser object
+	User::LeaveIfError(iXmlParser.Open( iXmlDomImpl ));
+	// ParseL return KXmlEngErrParsing
+	iXmlEngDoc =iXmlParser.ParseL( *iXmlParam );   // parsing buffer
+
+	CleanupStack::PopAndDestroy(paramList); //paramList
+	readStream.Close();
+	readStream.Pop();
+	LOG("CDirectPrintAppAppUi::GetParamFromAiwProviderL() END");
+	}
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::InitializeEngineL()
+// Initialize print engine.
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::InitializeEngineL()
+	{
+	iEngine = CDirectPrintEngine::NewL(iDoc->Model());
+	iEngine->SetObserver(this);
+	}
+
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::HandlePrintEventL()
+// Handle the events from engine side
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::HandlePrintEventL(
+							TDirectPrintEngineEvents aEvent,
+							TInt /*aError*/, 
+							const TDesC& /*aParam*/)
+	{
+
+	switch (aEvent)
+		{
+		case EDirectPrintEngineEventStartCreatePrintData:
+			break;
+		case EDirectPrintEngineEventFinishCreatePrintData:
+			{
+			//TInt msgid = R_DIRECTPRINT_MSG_BEARER_OPEN_ERR;
+			TRAPD(err, iBearerMgr->CreateJobL());
+			if (err == KErrNone)
+				{
+				//msgid = R_DIRECTPRINT_MSG_SUBMIT_PRINT_ERR;
+				TRAP(err, iBearerMgr->SubmitPrintJobL());
+				}
+
+			if (err != KErrNone)
+				{
+				// show bearer open error
+				CAknErrorNote* errornote = new (ELeave) CAknErrorNote( ETrue );
+				HBufC* format = StringLoader::LoadLC( R_DIRECTPRINT_MSG_BEARER_OPEN_ERR );
+				HBufC* msg = HBufC::NewLC(format->Length()+5);
+				TPtr ptrMsg(msg->Des());
+				ptrMsg.AppendFormat(*format, err);
+				errornote->ExecuteLD( *msg );
+				CleanupStack::PopAndDestroy( msg );
+				CleanupStack::PopAndDestroy( format );
+				}
+			}
+			break;
+		case EDirectPrintEngineEventCancelCreatePrintData:
+			break;
+		case EDirectPrintEngineEventErrorCreatePrintData:
+			break;
+		default:
+			break;
+		}
+	}
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::InitializeBearerMngL()
+// Initialize bearer manager.
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::InitializeBearerMngL()
+	{
+	iBearerMgr = CDirectPrintBearerMgr::NewL(this, iDoc->Model());
+	}
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::InitializePluginMgrL()
+// Initialize plugin manager.
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::InitializePluginMgrL()
+	{
+	iPluginMgr = CDirectPrintUiPluginMgr::NewL(iDoc->Model());
+	}
+
+// ---------------------------------------------------------------------------
+// CDirectPrintAppAppUi::HandleBearerMngEventL()
+// Handle the events from engine side
+// ---------------------------------------------------------------------------
+//
+void CDirectPrintAppAppUi::HandleBearerMngEventL(
+							TDirectPrintBearerMngEvents aEvent,
+							TInt /*aError*/, 
+							const TDesC& /*aParam*/)
+	{
+
+	switch (aEvent)
+		{
+		case EDirectPrintBearerMngErrorConnectBearer:
+			break;
+		case EDirectPrintBearerMngConnectedBearer:
+			break;
+		default:
+			break;
+		}
+	}
+
+void CDirectPrintAppAppUi::PrintJobProgressEvent( TInt aStatus,
+										TInt aPercentCompletion,
+										TInt aJobStateCode )
+	{
+	LOG3("Start CDirectPrintAppAppUi::PrintJobProgressEvent[%d],[%d],[%d]", 
+												aStatus, aPercentCompletion, aJobStateCode);
+	if ( aStatus == EActive )
+		{
+		LOG("aStatus == EActive");
+
+		}
+	else
+		{
+		LOG("aStatus == EDone");
+		if ( aJobStateCode == ECancelling && aStatus == EDone )
+			{
+			LOG("ECancelling");
+			}
+		else if ( aJobStateCode == ECancellingNoMessage && aStatus == EDone )
+			{
+			LOG("ECancellingNoMessage");
+			}
+		else
+			{
+			LOG("Finish");
+			this->iBearerMgr->CloseSession();
+			}
+		}
+	LOG("End   CDirectPrintAppAppUi::PrintJobProgressEvent");
+	}
+
+void CDirectPrintAppAppUi::PrintJobErrorEvent( TInt aError,
+										TInt aErrorStringCode )
+	{
+	LOG2("Start CDirectPrintAppAppUi::PrintJobErrorEvent[%d], [%d]", aError, aErrorStringCode);
+	LOG("Finish when error happen");
+	this->iBearerMgr->CloseSession();
+	LOG("End   CDirectPrintAppAppUi::PrintJobErrorEvent");
+	}
+
+void CDirectPrintAppAppUi::PrinterStatusEvent( TInt aError,
+										TInt aErrorStringCode )
+	{
+	LOG2("Start CDirectPrintAppAppUi::PrinterStatusEvent[%d], [%d]", aError, aErrorStringCode);
+	LOG("End   CDirectPrintAppAppUi::PrinterStatusEvent");
+	}
+
+void CDirectPrintAppAppUi::PreviewImageEvent( TInt /*aFsBitmapHandle*/ )
+	{
+	LOG("Start CDirectPrintAppAppUi::PreviewImageEvent");
+	LOG("End   CDirectPrintAppAppUi::PreviewImageEvent");
+	}
+
+void CDirectPrintAppAppUi::ShowMessageL( TInt aMsgLine1Code,
+										TInt aMsgLine2Code )
+	{
+	LOG2("Start CDirectPrintAppAppUi::ShowMessageL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
+	LOG("End   CDirectPrintAppAppUi::ShowMessageL");
+	}
+
+TBool CDirectPrintAppAppUi::AskYesNoQuestionL( TInt aMsgLine1Code,
+										TInt aMsgLine2Code )
+	{
+	LOG2("Start CDirectPrintAppAppUi::AskYesNoQuestionL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
+	LOG("End   CDirectPrintAppAppUi::AskYesNoQuestionL");
+	return EFalse;
+	}
+
+const TDesC& CDirectPrintAppAppUi::AskForInputL( TInt aMsgLine1Code,
+										TInt aMsgLine2Code )
+	{
+	LOG2("Start CDirectPrintAppAppUi::AskForInputL[%d], [%d]", aMsgLine1Code, aMsgLine2Code);
+	LOG("End   CDirectPrintAppAppUi::AskForInputL");
+	return KNullDesC;
+	}
+
+// End of File
+