internetradio2.0/ircommon/src/irbrowsechannelitems.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 18 Aug 2010 09:40:26 +0300
changeset 14 896e9dbc5f19
permissions -rw-r--r--
Revision: 201031 Kit: 201033

/*
* 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 "irbrowsechannelitems.h"
#include "irdebug.h"

// ======== LOCAL FUNCTIONS ========

// ======== MEMBER FUNCTIONS ========

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::NewLC()
// Static function
// standard two phased constructor
// ---------------------------------------------------------------------------
//    
EXPORT_C CIRBrowseChannelItems* CIRBrowseChannelItems::NewLC()
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::NewLC - Entering" );
    CIRBrowseChannelItems* self = new( ELeave )CIRBrowseChannelItems;
    CleanupStack::PushL( self );
    self->ConstructL();
    IRLOG_DEBUG( "CIRBrowseChannelItems::NewLC - Exiting." );
    return self;
    }


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::NewL()
// Static function
// standard two phased constructor
// ---------------------------------------------------------------------------
//
EXPORT_C CIRBrowseChannelItems* CIRBrowseChannelItems::NewL()
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::NewL - Entering" );
    CIRBrowseChannelItems* self = CIRBrowseChannelItems::NewLC();
    CleanupStack::Pop( self );
    IRLOG_DEBUG( "CIRBrowseChannelItems::NewL - Exiting." );
    return self;
    }


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::ConstructL()
// standard two phased constructor
// ---------------------------------------------------------------------------
//
 void CIRBrowseChannelItems::ConstructL() const
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::ConstructL" );
    return;
    }


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::~CIRBrowseChannelItems()
// standard C++ destructor
// ---------------------------------------------------------------------------
//    
 CIRBrowseChannelItems::~CIRBrowseChannelItems()
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::~CIRBrowseChannelItems - Entering" );
    delete iChannelName;
    iChannelName = NULL;
    delete iChannelGetOperation;
    iChannelGetOperation = NULL;
    delete iShortDescription;
    iShortDescription = NULL;
    iImgUrl.Close();
    
    delete iBannerUrl;
    iBannerUrl = NULL;
    delete iClickThroughUrl;
    iClickThroughUrl = NULL;

    IRLOG_DEBUG( "CIRBrowseChannelItems::~CIRBrowseChannelItems - Exiting." );
    }


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetTextL()
// Set data namely channelname,channelid,description
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetTextL( const TDesC& aChannelName, 
    const TDesC& aChannelId, const TDesC& aDescription )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetTextL - Entering" );
    iChannelName = aChannelName.Alloc();
    iShortDescription = aDescription.Alloc();    
    TLex var( aChannelId );
    var.Val( iChannelID );
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetTextL - Exiting." );
    }
    

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetGetOperationL()
// Set data get methord
// ---------------------------------------------------------------------------
//    
EXPORT_C void CIRBrowseChannelItems::SetGetOperationL( 
    const TDesC& aChannelGetOperation )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetGetOperationL - Entering" );
    iChannelGetOperation = aChannelGetOperation.Alloc();
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetGetOperationL - Exiting." );
    }


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetSize()
// Set data size of data
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetSize( const TDesC& aSize )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetSize - Entering" );
    TLex var( aSize );
    var.Val( iSize );
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetSize - Exiting." );
    }


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetImageUrlL()
// Set the url for the iImgUrl
// ---------------------------------------------------------------------------
//    
EXPORT_C void CIRBrowseChannelItems::SetImageUrlL( const TDesC& aImgUrl )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetImageUrlL - Entering" );
    iImgUrl.CreateL( aImgUrl.Length() );
    iImgUrl.Copy( aImgUrl );
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetImageUrlL - Exiting." );
    }
    

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::ExternalizeL()
// Externalizes data into persistent storage
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::ExternalizeL( RWriteStream& aStream ) const
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::ExternalizeL - Entering" );
    if ( iChannelName )
        {
        aStream.WriteInt32L( iChannelName->Des().MaxLength() );
        aStream << *iChannelName;
        }
    else 
        {
        aStream.WriteInt32L (0 );
        }
    
    if ( ( iShortDescription ) && ( iShortDescription->Des().MaxLength() != 0 ) )
        {    
        TInt a = iShortDescription->Des().MaxLength();
        aStream.WriteInt32L( iShortDescription->Des().MaxLength() );
        aStream << *iShortDescription;
        }
    else
        {
        aStream.WriteInt32L( 0 );
        }
    
    if ( iChannelGetOperation )
        {
        aStream.WriteInt32L( iChannelGetOperation->Des().MaxLength() );
        aStream << *iChannelGetOperation;
        }
    else
        {
        aStream.WriteInt32L( 0 );
        }
    
    aStream.WriteInt32L( iBitrate1 );
    aStream.WriteInt32L( iBitrate2 );
    aStream.WriteInt32L( iBitrate3 );
    aStream.WriteUint32L( iChannelID );
    if ( iBannerUrl )
        {
        aStream.WriteInt32L( iBannerUrl->Des().MaxLength() );
        aStream << *iBannerUrl;
        }
    else
        {
        aStream.WriteInt32L( 0 );
        }
    
    if ( iClickThroughUrl )    
        {
        aStream.WriteInt32L( iClickThroughUrl->Des().MaxLength() );
        aStream << *iClickThroughUrl;
        }
    else
        {
        aStream.WriteInt32L( 0 );
        }
        
    if ( iImgUrl.Length() != 0 )
        {
        aStream.WriteInt32L( iImgUrl.MaxLength() );
        aStream << iImgUrl;
        }
    else
        {
        aStream.WriteInt32L( 0 );    
        }

    IRLOG_DEBUG( "CIRBrowseChannelItems::ExternalizeL - Exiting." );
    }  


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::InternalizeL()
// internalizes data from persistent storage
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::InternalizeL( RReadStream& aStream )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::InternalizeL - Entering" );
    TInt maxlen;
    maxlen = aStream.ReadInt32L();
    if ( maxlen != 0 )
        {
        iChannelName = HBufC::NewL( aStream,maxlen );
        }
    
    maxlen = aStream.ReadInt32L();
    if ( maxlen != 0 )
        {
        iShortDescription = HBufC::NewL( aStream,maxlen );
        }
    
    maxlen = aStream.ReadInt32L();
    if ( maxlen != 0 )
        {
        iChannelGetOperation = HBufC::NewL( aStream,maxlen );
        }
    iBitrate1 = aStream.ReadInt32L();
    iBitrate2 = aStream.ReadInt32L();
    iBitrate3 = aStream.ReadInt32L();
    iChannelID = aStream.ReadUint32L();
    
    maxlen = aStream.ReadInt32L();
    if ( maxlen != 0 )
        {
        iBannerUrl = HBufC::NewL( aStream, maxlen );
        }
    
    maxlen = aStream.ReadInt32L();
    if ( maxlen != 0 )
        {
        iClickThroughUrl = HBufC::NewL( aStream, maxlen );
        }
    
    maxlen = aStream.ReadInt32L();
    if ( maxlen != 0 )
        {
        iImgUrl.Close();
        iImgUrl.CreateL( aStream, maxlen );            
        }
    
    IRLOG_DEBUG( "CIRBrowseChannelItems::InternalizeL - Exiting." );
    }  
    


// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetBitrate()
// Set data for 3bitrates
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBitrate( const TDesC& aBitrate1, 
    const TDesC& aBitrate2, const TDesC& aBitrate3 )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate3 - Entering" );
    TLex var1( aBitrate1 );
    var1.Val( iBitrate1 );
    TLex var2( aBitrate2 );
    var2.Val( iBitrate2 );
    TLex var3( aBitrate3 );
    var3.Val( iBitrate3 );    
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate3 - Exiting." );
    }
    

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetBitrate()
// Set data for 2 bitrates
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBitrate( const TDesC& aBitrate1, 
    const TDesC& aBitrate2)
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate2 - Entering" );
    TLex var1( aBitrate1 );
    var1.Val( iBitrate1 );
    TLex var2( aBitrate2 );
    var2.Val( iBitrate2 );
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate2 - Exiting." );
    }
    

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetBitrate()
// Set data for 1 bitrate
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBitrate( const TDesC& aBitrate1 )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate1 - Entering" );
    TLex var1( aBitrate1 );
    var1.Val( iBitrate1 );    
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBitrate1 - Exiting." );
    }

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetBannerUrl()
// Set data namely BannerUrl
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetBannerUrl( const TDesC& aBannerUrl )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBannerUrl - Entering" );
    iBannerUrl = aBannerUrl.Alloc();
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetBannerUrl - Exiting." );
    }
    

// ---------------------------------------------------------------------------
// CIRBrowseChannelItems::SetBannerUrl()
// Set data namely BannerUrl
// ---------------------------------------------------------------------------
//
EXPORT_C void CIRBrowseChannelItems::SetClickThroughUrl( const TDesC& aClickThroughUrl )
    {
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetClickThroughUrl - Entering" );
    iClickThroughUrl = aClickThroughUrl.Alloc();
    IRLOG_DEBUG( "CIRBrowseChannelItems::SetClickThroughUrl - Exiting." );
    }