internetradio2.0/ircommon/src/irotaupdate.cpp
changeset 14 896e9dbc5f19
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/internetradio2.0/ircommon/src/irotaupdate.cpp	Wed Aug 18 09:40:26 2010 +0300
@@ -0,0 +1,220 @@
+/*
+* 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:
+ *
+ */
+
+#include <s32strm.h>
+
+#include "irdebug.h"
+#include "irotaupdate.h"
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+//----------------------------------------------------------------------------
+// Function : NewLC
+// Function returns an instance of CIROTAUpdate
+// Two phase constructor
+//----------------------------------------------------------------------------
+//
+EXPORT_C CIROTAUpdate* CIROTAUpdate::NewLC()
+	{
+	IRLOG_DEBUG( "CIROTAUpdate::NewLC - Entering" );
+	CIROTAUpdate* self = new( ELeave )CIROTAUpdate;
+	CleanupStack::PushL( self );
+	self->ConstructL();
+	IRLOG_DEBUG( "CIROTAUpdate::NewLC - Exiting." );
+	return self;
+	}
+
+
+//----------------------------------------------------------------------------
+// Function : NewL
+// Function returns an instance of CIROTAUpdate
+// Two phase constructor
+//----------------------------------------------------------------------------
+//
+EXPORT_C CIROTAUpdate* CIROTAUpdate::NewL()
+	{
+	IRLOG_DEBUG( "CIROTAUpdate::NewL - Entering" );
+	CIROTAUpdate* self = CIROTAUpdate::NewLC();
+	CleanupStack::Pop( self );
+	IRLOG_DEBUG( "CIROTAUpdate::NewL - Exiting." );
+	return self;
+	}
+
+
+//----------------------------------------------------------------------------
+//CIROTAUpdate::ConstructL()
+//standard second phase constructor
+//----------------------------------------------------------------------------
+//
+EXPORT_C void CIROTAUpdate::ConstructL()
+	{
+    IRLOG_DEBUG( "CIROTAUpdate::ConstructL" );
+	return;
+	}
+
+
+//----------------------------------------------------------------------------
+// CIROTAUpdate::~CIROTAUpdate()
+// standard C++ destructor
+//----------------------------------------------------------------------------
+//	
+CIROTAUpdate::~CIROTAUpdate()
+	{
+    IRLOG_DEBUG( "CIROTAUpdate::~CIROTAUpdate - Entering" ); 
+    delete iUpdateMethod;
+    delete iVersion;
+    delete iOTAUrl;
+    IRLOG_DEBUG( "CIROTAUpdate::~CIROTAUpdate - Exiting." );
+	}
+
+
+//----------------------------------------------------------------------------
+//CIROTAUpdate::SetUpdateMethod()
+//Function to set update method
+//----------------------------------------------------------------------------
+//
+EXPORT_C void CIROTAUpdate::SetUpdateMethod( const TDesC& aUpdateMethod )
+	{
+	IRLOG_DEBUG( "CIROTAUpdate::SetUpdateMethod - Entering" );
+	iUpdateMethod = aUpdateMethod.Alloc();
+	IRLOG_DEBUG( "CIROTAUpdate::SetUpdateMethod - Exiting." );
+	}
+	
+
+//----------------------------------------------------------------------------
+// CIROTAUpdate::SetVersion()
+// Function to set version
+//----------------------------------------------------------------------------
+//	
+EXPORT_C  void CIROTAUpdate::SetVersion( const TDesC& aVersion )
+	{          
+	IRLOG_DEBUG( "CIROTAUpdate::SetVersion - Entering" );
+	iVersion = aVersion.Alloc();
+	IRLOG_DEBUG( "CIROTAUpdate::SetVersion - Exiting." );
+	}
+
+
+//----------------------------------------------------------------------------
+// CIROTAUpdate::SetUpdateInterval()
+// Function to set update interval
+//----------------------------------------------------------------------------
+//
+EXPORT_C void CIROTAUpdate::SetUpdateInterval( const TDesC& aUpdateInterval )
+	{
+	IRLOG_DEBUG( "CIROTAUpdate::SetUpdateInterval - Entering" );
+	TLex var( aUpdateInterval );
+	var.Val( iUpdateInterval );
+	IRLOG_DEBUG( "CIROTAUpdate::SetUpdateInterval - Exiting." );
+	}
+	
+
+//----------------------------------------------------------------------------
+// CIROTAUpdate::SetOTAUrl()
+// Function to set OTA Url
+//----------------------------------------------------------------------------
+//
+EXPORT_C void CIROTAUpdate::SetOTAUrl( const TDesC& aOTAUrl )
+  {
+    IRLOG_DEBUG( "CIROTAUpdate::SetOTAUrl - Entering" );
+	iOTAUrl = aOTAUrl.Alloc();
+	IRLOG_DEBUG( "CIROTAUpdate::SetOTAUrl - Exiting." );
+  }
+
+
+// ---------------------------------------------------------------------------
+// CIROTAUpdate::ExternalizeL()
+// externalizes the data
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CIROTAUpdate::ExternalizeL( RWriteStream& aStream ) const
+	{
+	IRLOG_DEBUG( "CIROTAUpdate::ExternalizeL - Entering" );
+	aStream.WriteInt32L( iUpdateInterval );
+	TInt length = 0;
+	if( iVersion )
+		{
+		length = iVersion->Length();
+		aStream.WriteInt32L( length );
+		aStream << *iVersion;
+		}
+	else
+		{
+		length = 0;
+		aStream.WriteInt32L( length );
+		}
+
+	if ( iOTAUrl )
+		{
+		length = iOTAUrl->Length();
+		aStream.WriteInt32L( length );
+		aStream << *iOTAUrl;
+		}
+	else
+		{
+		length = 0;
+		aStream.WriteInt32L( length );
+		}
+		
+	if ( iUpdateMethod )
+		{
+		length = iUpdateMethod->Length();
+		aStream.WriteInt32L( length );
+		aStream << *iUpdateMethod;
+		}
+	else
+		{
+		length = 0;
+		aStream.WriteInt32L( length );
+		}
+	
+    IRLOG_DEBUG( "CIROTAUpdate::ExternalizeL - Exiting." );
+	}  
+
+
+// ---------------------------------------------------------------------------
+// CIROTAUpdate::InternalizeL()
+// internalizes the data.
+// ---------------------------------------------------------------------------
+//
+EXPORT_C void CIROTAUpdate::InternalizeL( RReadStream& aStream )
+	{
+	IRLOG_DEBUG( "CIROTAUpdate::InternalizeL - Entering" );
+	iUpdateInterval = aStream.ReadInt32L();
+	TInt length = aStream.ReadInt32L();
+	if ( length )
+		{
+		iVersion = HBufC::NewL( aStream, length );
+		}
+		
+	length = aStream.ReadInt32L();
+	if ( length )
+		{
+		iOTAUrl = HBufC::NewL( aStream, length );
+		}
+		
+ 	length = aStream.ReadInt32L();
+	if ( length )
+		{
+		iUpdateMethod = HBufC::NewL( aStream, length );
+		}
+	
+	IRLOG_DEBUG( "CIRBrowseCatagoryItems::InternalizeL - Exiting." );
+	}  
+	
+