webengine/wmlengine/src/markup/include/WalletWrapper.h
changeset 0 dd21522fd290
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webengine/wmlengine/src/markup/include/WalletWrapper.h	Mon Mar 30 12:54:55 2009 +0300
@@ -0,0 +1,194 @@
+/*
+* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
+* 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:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Declaration of class CWalletWrapper.
+*
+*
+*/
+
+
+#ifndef WALLET_WRAPPER_H
+#define WALLET_WRAPPER_H
+
+//  INCLUDES
+#include <e32base.h>
+
+#ifdef __WALLET
+#include <WalletBrowserObserver.h>
+#endif
+
+
+typedef enum
+{
+    WALLET_XHTML_FILL_ALL,
+    WALLET_XHTML_FILL_ONE,
+    WALLET_XHTML_FILL_CLOSED,
+}Wallet_XHTML_FillOption;
+
+typedef enum
+{
+    WALLET_XHTML_FAILURE,
+    WALLET_XHTML_SUCCESS,
+    WALLET_XHTML_OUT_OF_MEMORY,
+    WALLET_XHTML_UNEXPECTED_ERROR,
+    WALLET_XHTML_BAD_INPUT_PARAM
+}WALLET_XHTML_Status_t;
+
+
+// FORWARD DECLARATION
+class CBrCtl;
+
+
+/**
+*  
+*  wallet wrapper handling whole wallet realted function
+*
+*  @lib Browserengine.lib
+*  @since Series 60 2.0
+*/
+class CWalletWrapper :
+                            public CBase
+#ifdef __WALLET
+                              , 
+                            public MWalletObserver
+#endif
+	{
+        /*
+        * Wallet status 
+        */
+        enum TWalletStatus
+            {
+            EWalletCreated = 0,   ///<      Wallet already crated 
+            EEWalletNotExist = -1   ///<      wallet already not created.
+            };
+        /*
+        * Wallet tpye 
+        */
+		enum WalletType
+			{
+			EEcmlNo,			 ///<      No conatin any ecml filed 
+			EEcml				 ///<	   Conatin ecml filed 
+			};
+
+	public:     // construction
+
+        /**
+        * Two-phased constructor. Leaves on failure.
+        * @return The constructed model
+        */
+        static CWalletWrapper* NewL( CBrCtl* aParent);
+
+        /**
+        * Destructor.
+        */
+        virtual ~CWalletWrapper();
+
+	protected:  // construction
+
+        /**
+        * Constructor.
+        */
+		CWalletWrapper( CBrCtl* aParent);
+
+        /**
+        * Second phase constructor. Leaves on failure.
+        */
+		void ConstructL();
+
+	public:			// used to deriving from MKimonoWalletWrapper
+
+		TBool WalletUI_VisibleCloseWallet();
+		WALLET_XHTML_Status_t  WalletFetch_Start( WALLET_XHTML_Status_t (callback)
+                                                    (Wallet_XHTML_FillOption, TUint16*, void*), 
+                                              TUint16* header, 
+                                              TBool ecml_exists, 
+                                              void* context);
+		void WalletFetch_CloseWallet( TBool end_pressed );
+		WALLET_XHTML_Status_t WalletFetch_GetData( TUint16* field_name, 
+                                               TUint16** field_value, 
+                                               TBool none_filled);
+		WALLET_XHTML_Status_t (*iWalletCallback) (Wallet_XHTML_FillOption, TUint16*, void*);
+
+  public:     // from kimone TSK 
+
+        /**
+        * wallet already crated or not               
+        * @since Series 60 2.0
+		* @param -
+        * @return TBool wallet status 
+        */
+		TBool ValletIsCreated();
+
+        /**
+        * called when user press use wallet in the browser view              
+        * @since Series 60 2.0
+		* @param -
+        * @return -
+        */
+        void CmdUseWalletInfoL( );
+
+        /**
+        * called when user press close wallet in the browser view
+        * @since Series 60 2.0
+		* @param -
+        * @return TBool  vallet status 
+        */
+		void CmdCloseWalletL( );
+
+        /**
+        * assyncron wallet destroyer 
+        * @since Series 60 2.0
+		* @param aWrapper pointer to the CWalletWrapper
+        * @return TInt  callback int value 
+        */
+		static TInt DestroyWalletL( TAny* aWrapper );
+        
+        /**
+        * Asyncronous close for wallet on browser exit.
+        * @since Series 60 2.0
+		* @param aWait pointer to CActiveSchedulerWait
+        */
+        void CmdCloseWalletOnExitL ( TAny* aWait );
+
+
+    public: // From MWalletObserver
+
+        /**
+        * vallet Handle the wallet messages
+        * @since Series 60 2.0
+		* @param aOperationId wallet operation id 
+		* @param aData	wallet data
+        * @return - 
+        */
+#ifdef __WALLET
+        void HandleWalletMessageL( enum TWalletOperationId aOperationId, TAny* aData);
+#endif    
+
+private:    // data
+#ifdef __WALLET
+        MBrowserObserver *iWallet;		///< not owned handled by function 
+#endif
+
+        TWalletStatus iWalletStatus;	///< wallet status 
+		    WalletType iWalletType;			///< wallet type 				
+		    TAny* iContext;					
+		    HBufC *iWalletInfoBuffer;    
+		    CBrCtl *iBrCtl; // not owned
+		    CIdle* iAsyncCallBack;			///< asincron desroyer callback 
+		    TBool iFillingFaliure;	
+        TAny* iActiveWait;
+	};
+
+#endif
+
+// End of file
\ No newline at end of file