internetradio2.0/datastructuresinc/irotaupdate.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 19 Apr 2010 14:01:53 +0300
changeset 0 09774dfdd46b
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* Copyright (c) 2006-2007 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:  ?Description
*
*/


#ifndef IROTAUPDATE_H
#define IROTAUPDATE_H

#include <e32base.h>

class RReadStream;
class RWriteStream;

/**
 * This class provides the basic structure to hold the OTA information.
 *information that come from the isds server is parsed and put into this structure
 *It also provides the basic setter functions to 
 *manage the OTA information.
 * @code
 *CIROTAUpdate* ota = CIROTAUpdate::NewL()
 *ota->SetXXX();
 *delete ota;
 * @endcode
 *   
 */

class CIROTAUpdate : public CBase
	{
	public :
	
	/**
	*Function : NewL
	*Function returns an instance of CIROTAUpdate
	*Two phase constructor
	*@return instance of CIROTAUpdate
	*/
	IMPORT_C	static CIROTAUpdate* NewLC();
	
	
	/**
	*CIROTAUpdate::NewLC()
	*Static function
	*standard two phased constructor
	*@return *CIROTAUpdate
	*/
	IMPORT_C 	static CIROTAUpdate* NewL();
    
	
	/**
	*CIROTAUpdate::ConstructL()
	*standard second phase constructor
	*/
	IMPORT_C	void ConstructL();
	
	
	/**
	*CIROTAUpdate::~CIROTAUpdate()
	*standard C++ destructor
	*/
	~CIROTAUpdate();
	
	public:
	
	
	/**
	*CIROTAUpdate::SetUpdateMethod()
	*Function to set update method
	*@param TDesC
	*/
	IMPORT_C  void     SetUpdateMethod(const TDesC& aUpdateMethod);
	
	
	/**
	*CIROTAUpdate::SetVersion()
	*Function to set version
	*@param TDesC
	*/
	IMPORT_C  void	 SetVersion(const TDesC& aVersion);
	
	
	/**
	*CIROTAUpdate::SetUpdateInterval()
	*Function to set update interval
	*@param TDesC
	*/
	IMPORT_C  void	 SetUpdateInterval(const TDesC& aUpdateInterval);
	
	
	/**
	*CIROTAUpdate::SetOTAUrl()
	*Function to set OTA Url
	*@param TDesC
	*/
	IMPORT_C  void 	 SetOTAUrl(const TDesC& aOTAUrl);
	
	
	/**
	*CIROTAUpdate::ExternalizeL()
	*externalizes the data
	*@param RWriteStream
	*/
	IMPORT_C  void     ExternalizeL(RWriteStream& aStream) const;
	
	
	/**
	*CIROTAUpdate::InternalizeL()
	*internalizes the data
	*@param RWriteStream
	*/
	IMPORT_C  void     InternalizeL(RReadStream& aStream);
	
	public :
	//native or browser	
	HBufC*   iUpdateMethod;
	//version no
	HBufC*   iVersion; 
	//url where the newer version can be found
	HBufC*	 iOTAUrl;
	//silence period
	TInt     iUpdateInterval;
   };
   
   #endif// IROTAUPDATE_H