DirectPrint/DirectPrintApp/inc/directprintappappui.h
changeset 19 2275db202402
parent 11 613a5ff70823
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DirectPrint/DirectPrintApp/inc/directprintappappui.h	Tue May 11 14:10:02 2010 +0800
@@ -0,0 +1,246 @@
+/*
+* 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:
+* {Description of the file}
+*
+*/
+
+// Protection against nested includes
+#ifndef __DIRECTPRINTAPPAPPUI_H__
+#define __DIRECTPRINTAPPAPPUI_H__
+
+// System includes
+#include <aknviewappui.h>
+#include <aknnavide.h>
+#include <AknTabObserver.h> 
+#include <e32property.h>
+#include <xmlengdocument.h>				// RXmlEngDocument
+#include <xmlengdomparser.h>			// RXmlEngDOMParser
+#include <xmlengdomimplementation.h>	// RXmlEngDOMImplementation
+
+// User includes
+#include "DirectPrintEngineObserver.h"
+#include "DirectPrintBearerMngObserver.h"
+
+// Forward declarations
+class CDirectPrintMainView;
+class CDirectPrintAppDocument;
+class CDirectPrintEngine;
+class CDirectPrintBearerMgr;
+class CDirectPrintUiPluginMgr;
+
+// Class declaration
+class CDirectPrintAppAppUi : public CAknViewAppUi,
+							 public MAknTabObserver,
+							 public MDirectPrintEngineObserver,
+							 public MDirectPrintBearerMngObserver
+	{
+public: // Constructors and destructor
+	CDirectPrintAppAppUi();
+	virtual ~CDirectPrintAppAppUi();
+	void ConstructL();
+
+private:
+	// Functions from base classes
+
+	/**
+	 * From CEikAppUi, HandleCommandL.
+	 * Takes care of command handling.
+	 * @param aCommand Command to be handled.
+	 */
+	void HandleCommandL( TInt aCommand );
+
+	/**
+	 * From CEikAppUi, HandleResourceChangeL.
+	 * Handles a change to the application's resources.
+	 * @param aType Type of resources.
+	 */
+	void HandleResourceChangeL( TInt aType );
+
+public: // from MAknTabObserver
+	/**
+	 * From MAknTabObserver, TabChangedL.
+	 * Handles a change to the tabs.
+	 * @param aIndex Index of tabs.
+	 */
+	void TabChangedL(TInt aIndex);
+
+public: // from MDirectPrintEngineObserver
+	/**
+	 * From MDirectPrintEngineObserver, HandlePrintEventL.
+	 * Handles user events.
+	 * @param aEvent The ID of the event.
+	 * @param aError The ID of the error.
+	 * @param aParam Parameter.
+	 */
+	void HandlePrintEventL(TDirectPrintEngineEvents aEvent,
+						   TInt aError, 
+						   const TDesC& aParam);
+
+public: // from MDirectPrintBearerMngObserver
+	/**
+	 * From MDirectPrintBearerMngObserver, HandleBearerMngEventL.
+	 * Handles user events.
+	 * @param aEvent The ID of the event.
+	 * @param aError Error code.
+	 * @param aParam Parameter.
+	 */
+	void HandleBearerMngEventL(TDirectPrintBearerMngEvents aEvent,
+						   TInt aError, 
+						   const TDesC& aParam);
+
+	/**
+	 * From MDirectPrintBearerMngObserver, PrintJobProgressEvent.
+	 * Handles user events.
+	 * @param aStatus The ID of the status.
+	 * @param aPercentCompletion Percentage of progress.
+	 * @param aJobStateCode The ID of job states.
+	 */
+	void PrintJobProgressEvent( TInt aStatus, 
+							TInt aPercentCompletion, 
+							TInt aJobStateCode );
+							
+
+	/**
+	 * From MDirectPrintBearerMngObserver, PrintJobErrorEvent.
+	 * Handles user events.
+	 * @param aError The ID of the error.
+	 * @param aErrorStringCode The ID of error strings.
+	 */
+	void PrintJobErrorEvent( TInt aError, 
+							TInt aErrorStringCode );
+							
+
+	/**
+	 * From MDirectPrintBearerMngObserver, PrinterStatusEvent.
+	 * Handles user events.
+	 * @param aError The ID of the error.
+	 * @param aErrorStringCode The ID of error strings.
+	 */
+	void PrinterStatusEvent( TInt aError, 
+							TInt aErrorStringCode );
+
+	/**
+	 * From MDirectPrintBearerMngObserver, PreviewImageEvent.
+	 * Handles user events.
+	 * @param aFsBitmapHandle The Handle of the bitmap.
+	 */
+	void PreviewImageEvent( TInt aFsBitmapHandle );
+
+	/**
+	 * From MDirectPrintBearerMngObserver, ShowMessageL.
+	 * Show messages.
+	 * @param aMsgLine1Code The ID of message.
+	 * @param aMsgLine2Code The ID of message.
+	 */
+	void ShowMessageL( TInt aMsgLine1Code, 
+							TInt aMsgLine2Code );
+
+	/**
+	 * From MDirectPrintBearerMngObserver, AskYesNoQuestionL.
+	 * Show Yes/No question.
+	 * @param aMsgLine1Code The ID of message.
+	 * @param aMsgLine2Code The ID of message.
+	 * @return ETrue is Yes. EFalse is No.
+	 */
+	TBool AskYesNoQuestionL( TInt aMsgLine1Code, 
+							TInt aMsgLine2Code );
+
+	/**
+	 * From MDirectPrintBearerMngObserver, AskForInputL.
+	 * input.
+	 * @param aMsgLine1Code The ID of message.
+	 * @param aMsgLine2Code The ID of message.
+	 * @return Inputed strings.
+	 */
+	const TDesC& AskForInputL( TInt aMsgLine1Code, 
+							TInt aMsgLine2Code );
+
+public:
+	/**
+	 * engine object.
+	 * 
+	 * @return Pointer to a engine object.
+	 */
+	inline CDirectPrintEngine* Engine() {return iEngine;}
+
+	/**
+	 * document object.
+	 * 
+	 * @return Pointer to a document object.
+	 */
+	inline CDirectPrintAppDocument* Doc() {return iDoc;}
+
+	/**
+	 * Plugin manager object.
+	 * 
+	 * @return Reference to a plugin manager object.
+	 */
+	inline CDirectPrintUiPluginMgr& PluginMgr() {return *iPluginMgr;}
+
+	/**
+	 * Bearer manager object.
+	 * 
+	 * @return Pointer to a bearer manager object.
+	 */
+	inline CDirectPrintBearerMgr* BearerMgr() {return iBearerMgr;}
+
+private:
+	void MakeNaviPaneVisibleL(TBool aVisible);
+	void MakeStatusPaneVisible(TBool aVisible);
+
+	void InitializeViewsL();
+	void LoadParamL();
+	void GetParamFromAiwProviderL();
+
+	void InitializeEngineL();
+	void InitializeBearerMngL();
+	void InitializePluginMgrL();
+
+private: // Data
+	// Used for navigation pane text
+	CAknNavigationDecorator* iNaviDecorator;
+
+	// Document class
+	CDirectPrintAppDocument* iDoc;
+
+	// previous view id
+	TUid iBackViewUid;
+
+	// For AIW calls;
+	TInt iAiwState;
+
+	// publish/subscribe of aiw print
+	RProperty iAiwCall;
+
+	// print engine
+	CDirectPrintEngine* iEngine;
+	
+	// bearer manager
+	CDirectPrintBearerMgr* iBearerMgr;
+
+	// param xml object
+	RXmlEngDocument iXmlEngDoc;
+    RXmlEngDOMImplementation iXmlDomImpl;
+    RXmlEngDOMParser iXmlParser;
+
+	HBufC8*	iXmlParam;
+
+	CDirectPrintUiPluginMgr* iPluginMgr;
+	};
+
+#endif // __DIRECTPRINTAPPAPPUI_H__
+
+// End of File
+