inc/wvsettings.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 31 Mar 2010 21:19:27 +0300
branchRCL_3
changeset 11 c303fa51f66d
parent 0 094583676ce7
permissions -rw-r--r--
Revision: 201010 Kit: 201013

/*
* 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