inc/wvsettings.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/wvsettings.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,145 @@
+/*
+* 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 "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: 
+*			 WirelessVillage OTA settings parser.
+*
+*/
+
+
+#ifndef CWVSettings_H
+#define CWVSettings_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <xmlelemt.h>
+#include <cnode.h>
+
+class CWVSettingsParser :public CBase 
+    {
+    public:  // Constructors and destructor
+		
+   		/**
+        * Two-phased constructor.
+        */
+        IMPORT_C static CWVSettingsParser* NewL ();
+        /**
+        * Destructor
+        */
+		virtual ~CWVSettingsParser();
+
+    public: // New functions
+
+		/**
+        * Parses the data
+        * @param aDataBuffer contains the data 
+		* @return EFalse, if mandatory value is missing, otherwise ETrue
+        */
+		IMPORT_C TBool ParseL(TDesC8& aDataBuffer);	
+		/**
+        * Accessor to the root element (WVSettings)
+        * @return CXmlElement*, pointer to the root element 
+        */
+		IMPORT_C CXmlElement* Root ();	
+		/**
+        * Parses the data, sets values to the internal data structure
+        * @param aDataPtr pointer to the data 
+        */
+		void DoParseL(TDesC8& aDataBuffer);
+		/**
+        * Read element, sets values to the internal data structure
+        * @param aDataPtr pointer to the data 
+		* @return number of parsed bytes 
+        */
+		TInt ReadElementWithContentL(TUint8* ptr, HBufC* aDataBuffer);
+		/**
+        * Read empty element
+        * @param aDataPtr pointer to the data 
+		* @return number of parsed bytes 
+        */
+		TInt ReadEmptyElement(TUint8* aDataPtr, HBufC* aDataBuffer);
+		/**
+        * Parses the data, sets values to the internal data structure
+        * @param aDataPtr pointer to the data 
+		* @return number of parsed bytes 
+        */
+		TInt ReadSupportedVersionsL(TUint8* aDataPtr);
+		/**
+        * Creates xml tree
+        */
+		void CreateXmlElementTreeL ();
+		/**
+        * Validates the data
+        * @return EFalse, if mandatory value is missing, otherwise ETrue
+        */
+		TBool Validate ();
+
+    private:
+		/**
+        * C++ default constructor.
+        */
+		CWVSettingsParser();
+		/**
+        * Actual construction.
+        */
+		void ConstructL ();
+
+    private:    // Data
+		
+		TInt iDatabufferSize;
+		TInt iParsedBytes;
+		CXmlElement* iRootElement;
+		HBufC* iWVOTAVersion;
+		HBufC* iWVPassword;
+		HBufC* iWVPreferredProtocol;
+		HBufC* iWVProxyAddress;
+		HBufC* iWVProxyPort;
+		HBufC* iWVProxyUser;
+		HBufC* iWVProxyPassword;
+		HBufC* iWVRefName;
+		HBufC* iWVSAPFourWaySupported1;
+		HBufC* iWVSAPFourWaySupported2;
+		HBufC* iWVSAPMobileNumber;
+		HBufC* iWVSAPURI;
+		HBufC* iWVSettingsName;
+		HBufC* iWVSMSCMobileNumber;
+		HBufC* iWVUserID;	
+		CArrayPtrFlat<HBufC>* iWVSupportedVersions;
+		TBool iListEmpty;
+		// these are used for validating
+		// and xml tree creation
+		TBool iOTAVersion;
+		TBool iPassword;
+		TBool iPreferredProtocol;
+		TBool iProxyAddress;
+		TBool iProxyPort;
+		TBool iProxyUser;
+		TBool iProxyPassword;
+		TBool iRefName;
+		TBool iSAP4WaySupportedSms;
+		TBool iSAP4WaySupportedHttp;
+		TBool iSAPMobileNumber;
+		TBool iSAPURI;
+		TBool iSettingsName;
+		TBool iSMSCMobileNumber;
+		TBool iUserID;	
+		TBool iSupportedVersions;
+		TBool iCommon;
+		TBool iSms;
+		TBool iHttp;
+		TBool iProxy;
+    };
+
+#endif     
+            
+// End of File