internetradio2.0/presetpluginsrc/irpresetimpl.cpp
changeset 0 09774dfdd46b
child 8 3b03c28289e6
equal deleted inserted replaced
-1:000000000000 0:09774dfdd46b
       
     1 /*
       
     2 * Copyright (c) 2006-2008 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  ?Description
       
    15 *
       
    16 */
       
    17 
       
    18 #include <s32strm.h>
       
    19 
       
    20 #include "irchannelserverurl.h"
       
    21 #include "irchannelserverurlimpl.h"
       
    22 #include "irdebug.h"
       
    23 #include "irpresetimpl.h"
       
    24 #include "irisdspreset.h"
       
    25 
       
    26 const TInt KUrlArrayMaxLength = 128;
       
    27 const TInt KUrlForBitrateMaxLength = 128;
       
    28 
       
    29 // ======== MEMBER FUNCTIONS ========
       
    30 
       
    31 // ---------------------------------------------------------------------------
       
    32 // CIRPresetImpl::NewL()
       
    33 // Static function
       
    34 // standard two phased constructor
       
    35 // ---------------------------------------------------------------------------
       
    36 //
       
    37 CIRPresetImpl* CIRPresetImpl::NewL( TAny* aParams )
       
    38 	{
       
    39 	IRLOG_DEBUG( "CIRPresetImpl::NewL" );
       
    40 	CIRPresetImpl* self = CIRPresetImpl::NewLC( aParams );
       
    41 	CleanupStack::Pop( self );
       
    42 	IRLOG_DEBUG( "CIRPresetImpl::NewL - Exiting." );
       
    43 	return self;
       
    44 	}
       
    45 
       
    46 // ---------------------------------------------------------------------------
       
    47 // CIRPresetImpl::NewLC()
       
    48 // Static function
       
    49 // standard two phased constructor
       
    50 // ---------------------------------------------------------------------------
       
    51 //
       
    52 CIRPresetImpl* CIRPresetImpl::NewLC( TAny* aParams )
       
    53 	{
       
    54 	IRLOG_DEBUG( "CIRPresetImpl::NewLC" );
       
    55 	CIRPresetImpl* self = new (ELeave) CIRPresetImpl;
       
    56 	CleanupStack::PushL( self );
       
    57 	self->ConstructL( aParams );
       
    58 	IRLOG_DEBUG( "CIRPresetImpl::NewLC - Exiting." );
       
    59 	return self;
       
    60 	}
       
    61 
       
    62 // ---------------------------------------------------------------------------
       
    63 // CIRPresetImpl::ConstructL()
       
    64 // standard second phase constructor
       
    65 // ---------------------------------------------------------------------------
       
    66 //
       
    67 void CIRPresetImpl::ConstructL(TAny* aParams)
       
    68 	{
       
    69 	IRLOG_DEBUG( "CIRPresetImpl::ConstructL" );
       
    70 	BaseConstructL(aParams);
       
    71 	iUrlArray=
       
    72 		new (ELeave) CArrayPtrFlat<CIRChannelServerUrlImpl>(
       
    73 		KUrlArrayMaxLength);
       
    74 	iUrlForBitrate=new (ELeave) CDesCArrayFlat(KUrlForBitrateMaxLength);
       
    75 	IRLOG_DEBUG( "CIRPresetImpl::ConstructL - Exiting." );
       
    76 	}
       
    77 
       
    78 // ---------------------------------------------------------------------------
       
    79 // CIRPresetImpl::~CIRPresetImpl()
       
    80 // standard C++ destructor
       
    81 // ---------------------------------------------------------------------------
       
    82 //
       
    83 CIRPresetImpl::~CIRPresetImpl()
       
    84 	{
       
    85 	IRLOG_DEBUG( "CIRPresetImpl::~CIRPresetImpl" );
       
    86 	iLanguageCode.Close();
       
    87 	iLanguage.Close();
       
    88 	iCountryCode.Close();
       
    89 	iCountry.Close();
       
    90 	iLastModified.Close();
       
    91 	iAdvertisementUrl.Close();
       
    92 	iAdvertisementInUse.Close();
       
    93 	iImgUrl.Close();
       
    94 	iLogoData.Close();
       
    95 	iDescription.Close();
       
    96 	iShortDesc.Close();
       
    97 	iGenereName.Close();
       
    98 	iGenereId.Close();
       
    99 	iMusicStoreStatus.Close();
       
   100 	delete iUrlForBitrate;
       
   101 	if (iUrlArray)
       
   102 		{
       
   103 		iUrlArray->ResetAndDestroy();
       
   104 		}
       
   105 
       
   106 	delete iUrlArray;
       
   107 	iBitrateArray.Close();
       
   108 	IRLOG_DEBUG( "CIRPresetImpl::~CIRPresetImpl - Exiting." );
       
   109 	}
       
   110 
       
   111 
       
   112 // ---------------------------------------------------------------------------
       
   113 // CIRPresetImpl::SetId()
       
   114 // Function to set iPresetId
       
   115 // ---------------------------------------------------------------------------
       
   116 //
       
   117 void CIRPresetImpl::SetId(TInt aId)
       
   118 	{
       
   119 	iPresetId=aId;
       
   120 	}
       
   121 
       
   122 // ---------------------------------------------------------------------------
       
   123 // CIRPresetImpl::SetId()
       
   124 // Function to set iPresetId from a TDesC
       
   125 // ---------------------------------------------------------------------------
       
   126 //
       
   127 void CIRPresetImpl::SetId(const TDesC &aId)
       
   128 	{
       
   129 	TLex conv(aId);
       
   130 	conv.Val(iPresetId);
       
   131 	}
       
   132 
       
   133 // ---------------------------------------------------------------------------
       
   134 // CIRPresetImpl::SetLangCode()
       
   135 // Function to set iLanguageCode from a TDesC
       
   136 // ---------------------------------------------------------------------------
       
   137 //
       
   138 void CIRPresetImpl::SetLangCode(const TDesC &aLangId)
       
   139 	{
       
   140 	iLanguageCode.Close();
       
   141 	iLanguageCode.Create( aLangId );
       
   142 	}
       
   143 
       
   144 // ---------------------------------------------------------------------------
       
   145 // CIRPresetImpl::SetLang()
       
   146 // Function to set iLanguage from a TDesC
       
   147 // ---------------------------------------------------------------------------
       
   148 //
       
   149 void CIRPresetImpl::SetLang(const TDesC& aLangName)
       
   150 	{
       
   151 	iLanguage.Close();
       
   152 	iLanguage.Create( aLangName );
       
   153 	}
       
   154 
       
   155 // ---------------------------------------------------------------------------
       
   156 // CIRPresetImpl::SetCountryCode()
       
   157 // Function to set iCountryCode from a TDesC
       
   158 // ---------------------------------------------------------------------------
       
   159 void CIRPresetImpl::SetCountryCode(const TDesC &aCountryId)
       
   160 	{
       
   161 	iCountryCode.Close();
       
   162 	iCountryCode.Create( aCountryId );
       
   163 	}
       
   164 
       
   165 // ---------------------------------------------------------------------------
       
   166 // CIRPresetImpl::SetCountryName()
       
   167 // Function to set iCountry from a TDesC
       
   168 // ---------------------------------------------------------------------------
       
   169 //
       
   170 void CIRPresetImpl::SetCountryName(const TDesC& aCountryName)
       
   171 	{
       
   172 	iCountry.Close();
       
   173 	iCountry.Create( aCountryName );
       
   174 	}
       
   175 
       
   176 // ---------------------------------------------------------------------------
       
   177 // CIRPresetImpl::SetLangInfo()
       
   178 // Function to set iLanguageCode, iLanguage
       
   179 // ---------------------------------------------------------------------------
       
   180 //
       
   181 void CIRPresetImpl::SetLangInfo(const TDesC &aLangId,const TDesC& aLangName)
       
   182 	{
       
   183     SetLangCode( aLangId );
       
   184     SetLang( aLangName );
       
   185 	}
       
   186 
       
   187 
       
   188 // ---------------------------------------------------------------------------
       
   189 // CIRPresetImpl::SetLangInfo()
       
   190 // Function to set iCountryCode, iCountry
       
   191 // ---------------------------------------------------------------------------
       
   192 //
       
   193 void CIRPresetImpl::SetCountryInfo(const TDesC &aCountryId,
       
   194 	const TDesC& aCountryName)
       
   195 	{
       
   196 	SetCountryCode( aCountryId );
       
   197     SetCountryName( aCountryName );
       
   198 	}
       
   199 
       
   200 // ---------------------------------------------------------------------------
       
   201 // CIRPresetImpl::SetLastModifiedTime()
       
   202 // Function to set iLastModified
       
   203 // ---------------------------------------------------------------------------
       
   204 //
       
   205 void CIRPresetImpl::SetLastModifiedTime(const TDesC &aLastModified)
       
   206 	{
       
   207 	iLastModified.Close();
       
   208 	iLastModified.Create( aLastModified );
       
   209 	}
       
   210 
       
   211 // ---------------------------------------------------------------------------
       
   212 // CIRPresetImpl::SetGenreInfo()
       
   213 // Function to set iGenereName, iGenereId
       
   214 // ---------------------------------------------------------------------------
       
   215 //
       
   216 void CIRPresetImpl::SetGenreInfo(const TDesC& aGenreId,
       
   217 	const TDesC& aGenreName)
       
   218 	{
       
   219 	iGenereName.Close();
       
   220 	iGenereName.Create( aGenreName );
       
   221 	iGenereId.Close();
       
   222 	iGenereId.Create( aGenreId );
       
   223 	}
       
   224 
       
   225 // ---------------------------------------------------------------------------
       
   226 // CIRPresetImpl::SetImgUrl()
       
   227 // Function to set iImgUrl
       
   228 // ---------------------------------------------------------------------------
       
   229 //
       
   230 void CIRPresetImpl::SetImgUrl(const TDesC& aImgUrl)
       
   231 	{
       
   232 	iImgUrl.Close();
       
   233 	iImgUrl.Create( aImgUrl );
       
   234 	}
       
   235 
       
   236 // ---------------------------------------------------------------------------
       
   237 // From class CIRPresetImpl
       
   238 // Sets the raw logo image data.
       
   239 // ---------------------------------------------------------------------------
       
   240 //
       
   241 void CIRPresetImpl::SetLogoData( const TDesC8& aData )
       
   242     {
       
   243 		iLogoData.Close();
       
   244 		iLogoData.Create( aData );
       
   245     }
       
   246 
       
   247 // ---------------------------------------------------------------------------
       
   248 // From class CIRPresetImpl
       
   249 // Returns the raw logo image data.
       
   250 // ---------------------------------------------------------------------------
       
   251 //
       
   252 const TDesC8& CIRPresetImpl::GetLogoData() const
       
   253     {
       
   254     return iLogoData;
       
   255     }
       
   256 
       
   257 // ---------------------------------------------------------------------------
       
   258 // CIRPresetImpl::SetAdvertisementUrl()
       
   259 // Function to set iAdvertisementUrl
       
   260 // ---------------------------------------------------------------------------
       
   261 //
       
   262 void CIRPresetImpl::SetAdvertisementUrl(const TDesC& aAdvertisementUrl)
       
   263 	{
       
   264 	iAdvertisementUrl.Close();
       
   265 	iAdvertisementUrl.Create( aAdvertisementUrl );
       
   266 	}
       
   267 
       
   268 // ---------------------------------------------------------------------------
       
   269 // CIRPresetImpl::SetAdvertisementInUse()
       
   270 // Function to set iAdvertisementInUse
       
   271 // ---------------------------------------------------------------------------
       
   272 //
       
   273 void CIRPresetImpl::SetAdvertisementInUse(const TDesC& aAdvertisementInUse)
       
   274 	{
       
   275 	iAdvertisementInUse.Close();
       
   276 	iAdvertisementInUse.Create( aAdvertisementInUse );
       
   277 	}
       
   278 
       
   279 // ---------------------------------------------------------------------------
       
   280 // CIRPresetImpl::SetDescription()
       
   281 // Function to set iDescription
       
   282 // ---------------------------------------------------------------------------
       
   283 //
       
   284 void CIRPresetImpl:: SetDescription(const TDesC& aDescription)
       
   285 	{
       
   286     iDescription.Close();
       
   287     iDescription.Create( aDescription );
       
   288 	}
       
   289 
       
   290 
       
   291 // ---------------------------------------------------------------------------
       
   292 // CIRPresetImpl::SetShortDesc()
       
   293 // Function to set iShortDesc
       
   294 // ---------------------------------------------------------------------------
       
   295 //
       
   296 void CIRPresetImpl:: SetShortDesc(const TDesC& aShortDesc)
       
   297 	{
       
   298     iShortDesc.Close();
       
   299     iShortDesc.Create( aShortDesc );
       
   300 	}
       
   301 
       
   302 // ---------------------------------------------------------------------------
       
   303 // CIRPresetImpl::SetUrlCount()
       
   304 // Function to set iChannelUrlCount
       
   305 // ---------------------------------------------------------------------------
       
   306 //
       
   307 void CIRPresetImpl::SetUrlCount()
       
   308 	{
       
   309 	iChannelUrlCount=iUrlArray->Count();
       
   310 	}
       
   311 
       
   312 // ---------------------------------------------------------------------------
       
   313 // CIRPresetImpl::SetUrlCount()
       
   314 // Function to set iChannelUrlCount
       
   315 // ---------------------------------------------------------------------------
       
   316 void CIRPresetImpl::SetUrlCount(TInt aCnt)
       
   317 	{
       
   318 	iChannelUrlCount=aCnt;
       
   319 	}
       
   320 
       
   321 // ---------------------------------------------------------------------------
       
   322 // CIRPresetImpl::SetChannelType()
       
   323 // Function to set iType
       
   324 // ---------------------------------------------------------------------------
       
   325 //
       
   326 void CIRPresetImpl::SetChannelType(TInt aType)
       
   327 	{
       
   328 	iType = aType;
       
   329 	}
       
   330 
       
   331 // ---------------------------------------------------------------------------
       
   332 // CIRPresetImpl::SetUrl()
       
   333 // Function to set Url parameter
       
   334 // ---------------------------------------------------------------------------
       
   335 //
       
   336 void CIRPresetImpl::SetUrlL(const TDesC &aServerName,const TDesC &aUrl,
       
   337 	const TDesC &aBitrate)
       
   338 	{
       
   339 	IRLOG_DEBUG( "CIRPresetImpl::SetUrlL" );
       
   340 	CIRChannelServerUrlImpl* hold=CIRChannelServerUrlImpl::NewL();
       
   341 	hold->SetServerName(aServerName);
       
   342 	hold->SetServerUrl(aUrl);
       
   343 	TLex conv(aBitrate);
       
   344 	TInt conVal = 0;
       
   345 	conv.Val(conVal);
       
   346 	hold->SetBitRate(conVal);
       
   347 	//ownership transferred to the array
       
   348 	//no need to delete hold
       
   349 	iUrlArray->AppendL(hold);
       
   350 	IRLOG_DEBUG( "CIRPresetImpl::SetUrlL - Exiting." );
       
   351 	}
       
   352 
       
   353 
       
   354 
       
   355 // ---------------------------------------------------------------------------
       
   356 // CIRPresetImpl::SetUrl()
       
   357 // Function to set Url parameter
       
   358 // ---------------------------------------------------------------------------
       
   359 //
       
   360 void CIRPresetImpl::SetUrlL(const TDesC &aServerName,const TDesC &aUrl,
       
   361 	TInt aBitrate)
       
   362 	{
       
   363 	IRLOG_DEBUG( "CIRPresetImpl::SetUrlL(const TDesC &aServerName,const TDesC &aUrl,TInt aBitrate)" );
       
   364 	CIRChannelServerUrlImpl* hold=CIRChannelServerUrlImpl::NewL();
       
   365 	hold->SetServerName(aServerName);
       
   366 	hold->SetServerUrl(aUrl);
       
   367 	hold->SetBitRate(aBitrate);
       
   368 	iUrlArray->AppendL(hold);
       
   369 	IRLOG_DEBUG( "CIRPresetImpl::SetUrlL(const TDesC &aServerName,const TDesC &aUrl,TInt aBitrate) - Exiting." );
       
   370 	}
       
   371 
       
   372 
       
   373 // ---------------------------------------------------------------------------
       
   374 // CIRPresetImpl::SetMusicStoreStatus()
       
   375 // Function to set iMusicStoreStatus
       
   376 // ---------------------------------------------------------------------------
       
   377 //
       
   378 void CIRPresetImpl::SetMusicStoreStatus(const TDesC& aMusicStoreStatus)
       
   379 	{
       
   380 	IRLOG_DEBUG( "CIRPresetImpl::SetMusicStoreStatus - Entering" );
       
   381     iMusicStoreStatus.Close();
       
   382     iMusicStoreStatus.Create( aMusicStoreStatus );
       
   383 	IRLOG_DEBUG( "CIRPresetImpl::SetMusicStoreStatus - Exiting" );
       
   384 	}
       
   385 
       
   386 
       
   387 
       
   388 // ---------------------------------------------------------------------------
       
   389 // CIRPresetImpl::GetId()
       
   390 // Function to get iPresetId
       
   391 // ---------------------------------------------------------------------------
       
   392 //
       
   393 TInt CIRPresetImpl::GetId()const
       
   394 	{
       
   395 	return iPresetId;
       
   396 	}
       
   397 
       
   398 
       
   399 // ---------------------------------------------------------------------------
       
   400 // CIRPresetImpl::GetLangId()
       
   401 // Function to get iLanguageCode
       
   402 // ---------------------------------------------------------------------------
       
   403 //
       
   404 const TDesC& CIRPresetImpl::GetLangId() const
       
   405 	{
       
   406 	return iLanguageCode;
       
   407 	}
       
   408 
       
   409 
       
   410 // ---------------------------------------------------------------------------
       
   411 // CIRPresetImpl::GetLangName()
       
   412 // Function to get iLanguage
       
   413 // ---------------------------------------------------------------------------
       
   414 //
       
   415 const TDesC& CIRPresetImpl::GetLangName() const
       
   416 	{
       
   417 	return iLanguage;
       
   418 	}
       
   419 
       
   420 
       
   421 // ---------------------------------------------------------------------------
       
   422 // CIRPresetImpl::GetCountryId()
       
   423 // Function to get iCountryCode
       
   424 // ---------------------------------------------------------------------------
       
   425 //
       
   426 const TDesC& CIRPresetImpl::GetCountryId() const
       
   427 	{
       
   428 	return iCountryCode;
       
   429 	}
       
   430 
       
   431 
       
   432 // ---------------------------------------------------------------------------
       
   433 // CIRPresetImpl::GetCountryName()
       
   434 // Function to get iCountry
       
   435 // ---------------------------------------------------------------------------
       
   436 //
       
   437 const TDesC& CIRPresetImpl::GetCountryName() const
       
   438 	{
       
   439 	return iCountry;
       
   440 	}
       
   441 
       
   442 
       
   443 // ---------------------------------------------------------------------------
       
   444 // CIRPresetImpl::GetLastModifiedTime()
       
   445 // Function to get iLastModified
       
   446 // ---------------------------------------------------------------------------
       
   447 //
       
   448 const TDesC& CIRPresetImpl::GetLastModifiedTime() const
       
   449 	{
       
   450 	return iLastModified;
       
   451 	}
       
   452 
       
   453 
       
   454 // ---------------------------------------------------------------------------
       
   455 // CIRPresetImpl::GetGenreId()
       
   456 // Function to get iGenereId
       
   457 // ---------------------------------------------------------------------------
       
   458 //
       
   459 const TDesC& CIRPresetImpl::GetGenreId() const
       
   460 	{
       
   461 	return iGenereId;
       
   462 	}
       
   463 
       
   464 
       
   465 // ---------------------------------------------------------------------------
       
   466 // CIRPresetImpl::GetGenreName()
       
   467 // Function to get iGenereName
       
   468 // ---------------------------------------------------------------------------
       
   469 //
       
   470 const TDesC& CIRPresetImpl::GetGenreName() const
       
   471 	{
       
   472 	return iGenereName;
       
   473 	}
       
   474 
       
   475 
       
   476 // ---------------------------------------------------------------------------
       
   477 // CIRPresetImpl::GetAdvertisementUrl()
       
   478 // Function to get iAdvertisementUrl
       
   479 // ---------------------------------------------------------------------------
       
   480 //
       
   481 const TDesC& CIRPresetImpl::GetAdvertisementUrl() const
       
   482 	{
       
   483 	return iAdvertisementUrl;
       
   484 	}
       
   485 
       
   486 // ---------------------------------------------------------------------------
       
   487 // CIRPresetImpl::GetImgUrl()
       
   488 // Function to get iImgUrl
       
   489 // ---------------------------------------------------------------------------
       
   490 //
       
   491 const TDesC& CIRPresetImpl::GetImgUrl() const
       
   492 	{
       
   493 	return iImgUrl;
       
   494 	}
       
   495 
       
   496 // ---------------------------------------------------------------------------
       
   497 // CIRPresetImpl::GetUrlCount()
       
   498 // Function to get iChannelUrlCount
       
   499 // ---------------------------------------------------------------------------
       
   500 //
       
   501 TInt CIRPresetImpl::GetUrlCount() const
       
   502 	{
       
   503 	return iChannelUrlCount;
       
   504 	}
       
   505 
       
   506 /*
       
   507  * get the channel url at specified position
       
   508  *
       
   509  */
       
   510 const TDesC& CIRPresetImpl::GetChannelUrlAt(TInt aIndex) const
       
   511 {
       
   512     return iUrlArray->At(aIndex)->GetServerUrl();
       
   513 }
       
   514 
       
   515 // ---------------------------------------------------------------------------
       
   516 // CIRPresetImpl::GetUrl()
       
   517 // Function to get iLanguageCode
       
   518 // ---------------------------------------------------------------------------
       
   519 //
       
   520 CIRChannelServerUrlImpl& CIRPresetImpl::GetUrl(TInt aInt)const
       
   521 	{
       
   522 	ASSERT( aInt >= 0 && aInt < iUrlArray->Count() );
       
   523 	return ((*iUrlArray->At(aInt)));
       
   524 	}
       
   525 
       
   526 // ---------------------------------------------------------------------------
       
   527 // CIRPresetImpl::GetDescription()
       
   528 // Function to get iDescription
       
   529 // ---------------------------------------------------------------------------
       
   530 //
       
   531 const TDesC& CIRPresetImpl::GetDescription() const
       
   532 	{
       
   533 	return iDescription;
       
   534 	}
       
   535 
       
   536 // ---------------------------------------------------------------------------
       
   537 //CIRPresetImpl::GetShortDescription()
       
   538 //Function to get iDescription
       
   539 // ---------------------------------------------------------------------------
       
   540 //
       
   541 const TDesC& CIRPresetImpl::GetShortDescription() const
       
   542 	{
       
   543 	return iShortDesc;
       
   544 	}
       
   545 
       
   546 // ---------------------------------------------------------------------------
       
   547 //CIRPresetImpl::GetMusicStoreStatus()
       
   548 //Function to get iMusicStoreStatus
       
   549 // ---------------------------------------------------------------------------
       
   550 //
       
   551 const TDesC& CIRPresetImpl::GetMusicStoreStatus() const
       
   552 	{
       
   553 	return iMusicStoreStatus;
       
   554 	}
       
   555 
       
   556 
       
   557 
       
   558 
       
   559 // ---------------------------------------------------------------------------
       
   560 // CIRPresetImpl::GetChannelType()
       
   561 // Function to get iType
       
   562 // ---------------------------------------------------------------------------
       
   563 //
       
   564 TInt CIRPresetImpl::GetChannelType()const
       
   565 	{
       
   566 	return iType;
       
   567 	}
       
   568 
       
   569 // ---------------------------------------------------------------------------
       
   570 // CIRPresetImpl& CIRPresetImpl::operator=(const CIRPresetImpl& preset)
       
   571 // assignment operator eg. preset1=preset2
       
   572 // shallow copy
       
   573 // ---------------------------------------------------------------------------
       
   574 //
       
   575 CIRPresetImpl& CIRPresetImpl::operator=(const CIRPresetImpl& aPreset)
       
   576 	{
       
   577 	IRLOG_DEBUG( "CIRPresetImpl::operator=" );
       
   578     if(&aPreset == this)
       
   579 		{
       
   580 		return *this;
       
   581 		}
       
   582 	//copy data members
       
   583 	iUniqId = aPreset.iUniqId;
       
   584  	iPresetId = aPreset.iPresetId;
       
   585 
       
   586 	TRAP_IGNORE(SetNameL(aPreset.Name()))
       
   587 
       
   588 	iLanguageCode.Close();
       
   589 	iLanguageCode.Create(aPreset.iLanguageCode);
       
   590 
       
   591 	iLanguage.Close();
       
   592 	iLanguage.Create(aPreset.iLanguage);
       
   593 
       
   594 	iCountryCode.Close();
       
   595 	iCountryCode.Create(aPreset.iCountryCode);
       
   596 
       
   597 	iCountry.Close();
       
   598 	iCountry.Create(aPreset.iCountry);
       
   599 
       
   600 	iLastModified.Close();
       
   601 	iLastModified.Create(aPreset.iLastModified);
       
   602 
       
   603 	iAdvertisementUrl.Close();
       
   604 	iAdvertisementUrl.Create(aPreset.iAdvertisementUrl);
       
   605 
       
   606 	iAdvertisementInUse.Close();
       
   607 	iAdvertisementInUse.Create(aPreset.iAdvertisementInUse);
       
   608 
       
   609 	iImgUrl.Close();
       
   610 	iImgUrl.Create(aPreset.iImgUrl);
       
   611 
       
   612 	iLogoData.Close();
       
   613 	iLogoData.Create( aPreset.iLogoData );
       
   614 
       
   615 	iDescription.Close();
       
   616 	iDescription.Create(aPreset.iDescription);
       
   617 
       
   618 	iShortDesc.Close();
       
   619 	iShortDesc.Create(aPreset.iShortDesc);
       
   620 	
       
   621 	iMusicStoreStatus.Close();
       
   622 	iMusicStoreStatus.Create(aPreset.iMusicStoreStatus);
       
   623 
       
   624 	iGenereName.Close();
       
   625 	iGenereName.Create(aPreset.iGenereName);
       
   626 
       
   627 	iGenereId.Close();
       
   628 	iGenereId.Create(aPreset.iGenereId);
       
   629 
       
   630 	iChannelUrlCount = aPreset.iChannelUrlCount;
       
   631 	iType = aPreset.iType;  //0 for user defined 1 for isds type.
       
   632 	for(TInt cnt=0;cnt<iChannelUrlCount;cnt++)
       
   633 		{
       
   634 		ASSERT( cnt >= 0 && cnt < aPreset.iUrlArray->Count() );
       
   635 		TRAPD(errUrl,SetUrlL(aPreset.iUrlArray->At(cnt)->GetServerName(),
       
   636 							 aPreset.iUrlArray->At(cnt)->GetServerUrl(),
       
   637 							 aPreset.iUrlArray->At(cnt)->GetBitRate()))
       
   638 		if(errUrl!=KErrNone)
       
   639 			{
       
   640 			return *this ;
       
   641 			}
       
   642 		}
       
   643 	IRLOG_DEBUG( "CIRPresetImpl::operator= - Exiting." );
       
   644  	return *this;
       
   645 	}
       
   646 
       
   647 
       
   648 // ---------------------------------------------------------------------------
       
   649 // CIRPresetImpl::CIRPresetImpl()
       
   650 // default C++ constructor
       
   651 // standard two phased constructor
       
   652 // ---------------------------------------------------------------------------
       
   653 CIRPresetImpl::CIRPresetImpl()
       
   654 	{
       
   655 	// no implementation
       
   656 	}
       
   657 
       
   658 
       
   659 // ---------------------------------------------------------------------------
       
   660 // CIRPresetImpl::CIRPresetImpl()
       
   661 // default C++ constructor
       
   662 // standard two phased constructor
       
   663 // ---------------------------------------------------------------------------
       
   664 //
       
   665 void CIRPresetImpl::ExternalizeL(RWriteStream& aWriteStream)const
       
   666 	{
       
   667 	IRLOG_DEBUG( "CIRPresetImpl::ExternalizeL" );
       
   668 //! externalize TInts s
       
   669 	aWriteStream.WriteUint32L(iUniqId);
       
   670 	aWriteStream.WriteInt32L(iPresetId);
       
   671 	aWriteStream.WriteInt32L(iType);
       
   672 	aWriteStream.WriteInt32L(iChannelUrlCount);
       
   673 
       
   674 	//Externalize HBufC s
       
   675 	//algo
       
   676 	//1.check if data is present for the particular member variable
       
   677 	//2.if yes get the length of the data and externalize the length and then the data
       
   678 	//3.if no data is present write the length as 0.
       
   679 	TInt len = 0;
       
   680 	if(!iLanguageCode.Length())
       
   681 		{
       
   682 		len=0;
       
   683 		aWriteStream.WriteInt32L(len);
       
   684 		}
       
   685 	else
       
   686 		{
       
   687 		len=iLanguageCode.Length();
       
   688 		aWriteStream.WriteInt32L(len);
       
   689 		aWriteStream<<iLanguageCode;
       
   690 		}
       
   691 
       
   692 	if(!iLanguage.Length())
       
   693 		{
       
   694 		len=0;
       
   695 		aWriteStream.WriteInt32L(len);
       
   696 		}
       
   697 	else
       
   698 		{
       
   699 		len=iLanguage.Length();
       
   700 		aWriteStream.WriteInt32L(len);
       
   701 		aWriteStream<<iLanguage;
       
   702 		}
       
   703 
       
   704 	if(!iCountryCode.Length())
       
   705 		{
       
   706 		len=0;
       
   707 		aWriteStream.WriteInt32L(len);
       
   708 		}
       
   709 	else
       
   710 		{
       
   711 		len=iCountryCode.Length();
       
   712 		aWriteStream.WriteInt32L(len);
       
   713 		aWriteStream<<iCountryCode;
       
   714 		}
       
   715 
       
   716 	if(!iCountry.Length())
       
   717 		{
       
   718 		len=0;
       
   719 		aWriteStream.WriteInt32L(len);
       
   720 		}
       
   721 	else
       
   722 		{
       
   723 		len=iCountry.Length();
       
   724 		aWriteStream.WriteInt32L(len);
       
   725 		aWriteStream<<iCountry;
       
   726 		}
       
   727 
       
   728 	if(!iGenereName.Length())
       
   729 		{
       
   730 		len=0;
       
   731 		aWriteStream.WriteInt32L(len);
       
   732 		}
       
   733 	else
       
   734 		{
       
   735 		len=iGenereName.Length();
       
   736 		aWriteStream.WriteInt32L(len);
       
   737 		aWriteStream<<iGenereName;
       
   738 		}
       
   739 
       
   740 	if(!iGenereId.Length())
       
   741 		{
       
   742 		len=0;
       
   743 		aWriteStream.WriteInt32L(len);
       
   744 		}
       
   745 	else
       
   746 		{
       
   747 		len=iGenereId.Length();
       
   748 		aWriteStream.WriteInt32L(len);
       
   749 		aWriteStream<<iGenereId;
       
   750 		}
       
   751 
       
   752 	if(!iLastModified.Length())
       
   753 		{
       
   754 		len=0;
       
   755 		aWriteStream.WriteInt32L(len);
       
   756 		}
       
   757 	else
       
   758 		{
       
   759 		len=iLastModified.Length();
       
   760 		aWriteStream.WriteInt32L(len);
       
   761 		aWriteStream<<iLastModified;
       
   762 		}
       
   763 
       
   764 	if(!iAdvertisementUrl.Length())
       
   765 		{
       
   766 		len=0;
       
   767 		aWriteStream.WriteInt32L(len);
       
   768 		}
       
   769 	else
       
   770 		{
       
   771 		len=iAdvertisementUrl.Length();
       
   772 		aWriteStream.WriteInt32L(len);
       
   773 		aWriteStream<<iAdvertisementUrl;
       
   774 		}
       
   775 
       
   776 	if(!iAdvertisementInUse.Length())
       
   777 		{
       
   778 		len=0;
       
   779 		aWriteStream.WriteInt32L(len);
       
   780 		}
       
   781 	else
       
   782 		{
       
   783 		len=iAdvertisementInUse.Length();
       
   784 		aWriteStream.WriteInt32L(len);
       
   785 		aWriteStream<<iAdvertisementInUse;
       
   786 		}
       
   787 
       
   788 	if(!iImgUrl.Length())
       
   789 		{
       
   790 		len=0;
       
   791 		aWriteStream.WriteInt32L(len);
       
   792 		}
       
   793 	else
       
   794 		{
       
   795 		len=iImgUrl.Length();
       
   796 		aWriteStream.WriteInt32L(len);
       
   797 		aWriteStream<<iImgUrl;
       
   798 		}
       
   799 
       
   800 	if(!iDescription.Length())
       
   801 		{
       
   802 		len=0;
       
   803 		aWriteStream.WriteInt32L(len);
       
   804 		}
       
   805 	else
       
   806 		{
       
   807 		len=iDescription.Length();
       
   808 		aWriteStream.WriteInt32L(len);
       
   809 		aWriteStream<<iDescription;
       
   810 		}
       
   811 
       
   812 	if(!iShortDesc.Length())
       
   813 		{
       
   814 		len=0;
       
   815 		aWriteStream.WriteInt32L(len);
       
   816 		}
       
   817 	else
       
   818 		{
       
   819 		len=iShortDesc.Length();
       
   820 		aWriteStream.WriteInt32L(len);
       
   821 		aWriteStream<<iShortDesc;
       
   822 		}
       
   823 
       
   824 	if(!iMusicStoreStatus.Length())
       
   825 		{
       
   826 		len=0;
       
   827 		aWriteStream.WriteInt32L(len);
       
   828 		}
       
   829 	else
       
   830 		{
       
   831 		len=iMusicStoreStatus.Length();
       
   832 		aWriteStream.WriteInt32L(len);
       
   833 		aWriteStream<<iMusicStoreStatus;
       
   834 		}
       
   835 
       
   836 	if(!iLogoData.Length())
       
   837 		{
       
   838 		len=0;
       
   839 		aWriteStream.WriteInt32L(len);
       
   840 		}
       
   841 	else
       
   842 		{
       
   843 		len=iLogoData.Length();
       
   844 		aWriteStream.WriteInt32L(len);
       
   845 		aWriteStream<<iLogoData;
       
   846 		}
       
   847 
       
   848 	//externalizing the preset data
       
   849 	for(TInt cnt=0;cnt<iChannelUrlCount;cnt++)
       
   850 		{
       
   851 		GetUrl(cnt).ExternalizeL(aWriteStream);
       
   852 		}
       
   853 	
       
   854 	//added by Peter on June 23rd, 2009
       
   855 	aWriteStream.WriteInt32L(iPlayedTimes);
       
   856 	
       
   857 	IRLOG_DEBUG( "CIRPresetImpl::ExternalizeL - Exiting." );
       
   858 	}
       
   859 
       
   860 
       
   861 // ---------------------------------------------------------------------------
       
   862 // CIRPresetImpl::CIRPresetImpl()
       
   863 // Internalizes the preset data
       
   864 // required for being derived from CPSPresetInterface
       
   865 // ---------------------------------------------------------------------------
       
   866 //
       
   867  void CIRPresetImpl::InternalizeL(RReadStream& aReadStream)
       
   868 	{
       
   869 	IRLOG_DEBUG( "CIRPresetImpl::InternalizeL" );
       
   870 	//! Internalize TInts s
       
   871 	iUniqId = aReadStream.ReadUint32L();
       
   872 	iPresetId=aReadStream.ReadInt32L();
       
   873 	iType=aReadStream.ReadInt32L();
       
   874 	iChannelUrlCount=aReadStream.ReadInt32L();
       
   875 	TInt len = 0;
       
   876 
       
   877 	//algo
       
   878 	//1.get the length of the data
       
   879 	//2.read that many bytes
       
   880 	//3.if read length is zero. skip.
       
   881 	len=aReadStream.ReadInt32L();
       
   882 	iLanguageCode.Close();
       
   883 	if(len!=0)
       
   884 		{
       
   885 		iLanguageCode.CreateL(aReadStream,len);
       
   886 		}
       
   887 
       
   888 	len=aReadStream.ReadInt32L();
       
   889 	iLanguage.Close();
       
   890 	if(len!=0)
       
   891 		{
       
   892 		iLanguage.CreateL(aReadStream,len);
       
   893 		}
       
   894 
       
   895 	len=aReadStream.ReadInt32L();
       
   896 	iCountryCode.Close();
       
   897 	if(len!=0)
       
   898 		{
       
   899 		iCountryCode.CreateL(aReadStream,len);
       
   900 		}
       
   901 
       
   902 	len=aReadStream.ReadInt32L();
       
   903 	iCountry.Close();
       
   904 	if(len!=0)
       
   905 		{
       
   906 		iCountry.CreateL(aReadStream,len);
       
   907 		}
       
   908 
       
   909 	len=aReadStream.ReadInt32L();
       
   910 	iGenereName.Close();
       
   911 	if(len!=0)
       
   912 		{
       
   913 		iGenereName.CreateL(aReadStream,len);
       
   914 		}
       
   915 
       
   916 	len=aReadStream.ReadInt32L();
       
   917 	iGenereId.Close();
       
   918 	if(len!=0)
       
   919 		{
       
   920 		iGenereId.CreateL(aReadStream,len);
       
   921 		}
       
   922 
       
   923 	len=aReadStream.ReadInt32L();
       
   924 	iLastModified.Close();
       
   925 	if(len!=0)
       
   926 		{
       
   927 		iLastModified.CreateL(aReadStream,len);
       
   928 		}
       
   929 
       
   930 	len=aReadStream.ReadInt32L();
       
   931 	iAdvertisementUrl.Close();
       
   932 	if(len!=0)
       
   933 		{
       
   934 		iAdvertisementUrl.CreateL(aReadStream,len);
       
   935 		}
       
   936 
       
   937 	len=aReadStream.ReadInt32L();
       
   938 	iAdvertisementInUse.Close();
       
   939 	if(len!=0)
       
   940 		{
       
   941 		iAdvertisementInUse.CreateL(aReadStream,len);
       
   942 		}
       
   943 
       
   944 	len=aReadStream.ReadInt32L();
       
   945 	iImgUrl.Close();
       
   946 	if(len!=0)
       
   947 		{
       
   948 		iImgUrl.CreateL(aReadStream,len);
       
   949 		}
       
   950 
       
   951 	len=aReadStream.ReadInt32L();
       
   952 	iDescription.Close();
       
   953 	if(len!=0)
       
   954 		{
       
   955 		iDescription.CreateL(aReadStream,len);
       
   956 		}
       
   957 
       
   958 	len=aReadStream.ReadInt32L();
       
   959 	iShortDesc.Close();
       
   960 	if(len!=0)
       
   961 		{
       
   962 		iShortDesc.CreateL(aReadStream,len);
       
   963 		}
       
   964 
       
   965 	len=aReadStream.ReadInt32L();
       
   966 	iMusicStoreStatus.Close();
       
   967 	if(len!=0)
       
   968 		{
       
   969 		iMusicStoreStatus.CreateL(aReadStream,len);	
       
   970 		}
       
   971 	
       
   972 
       
   973 	len=aReadStream.ReadInt32L();
       
   974 	iLogoData.Close();
       
   975 	if(len!=0)
       
   976 		{
       
   977 		iLogoData.CreateL(aReadStream,len);
       
   978 		}
       
   979 
       
   980 	//internalizing the preset data
       
   981 	CIRChannelServerUrlImpl *url = NULL;
       
   982 	for(TInt cnt=0;cnt<iChannelUrlCount;cnt++)
       
   983 		{
       
   984 		url = CIRChannelServerUrlImpl::NewLC();
       
   985 		url->InternalizeL(aReadStream);
       
   986 		iUrlArray->AppendL(url);
       
   987 	    CleanupStack::Pop(url);
       
   988 		}
       
   989 	
       
   990 	iPlayedTimes = aReadStream.ReadInt32L();
       
   991 	IRLOG_DEBUG( "CIRPresetImpl::InternalizeL - Exiting." );
       
   992 	}
       
   993 
       
   994 
       
   995 // ---------------------------------------------------------------------------
       
   996 // void CIRPresetImpl::CIRIsdsPresetToCIRPresetImpl(const CIRIsdsPreset& aIsdsPreset)
       
   997 // used to convert the isdspresets to plugnized presets.
       
   998 // Does a deep copy for all the member variables
       
   999 // ---------------------------------------------------------------------------
       
  1000 //
       
  1001 void CIRPresetImpl::CIRIsdsPresetToCIRPresetImpl(const CIRIsdsPreset& aIsdsPreset)
       
  1002  	{
       
  1003 	IRLOG_DEBUG( "CIRPresetImpl::CIRIsdsPresetToCIRPresetImpl" );
       
  1004 	iUniqId = aIsdsPreset.UniqId();
       
  1005  	iPresetId = aIsdsPreset.GetId();
       
  1006 	iChannelUrlCount = aIsdsPreset.GetUrlCount();
       
  1007 	iType = aIsdsPreset.GetChannelType();  //0 for user defined 1 for isds type.
       
  1008 
       
  1009     TRAP_IGNORE( SetNameL( aIsdsPreset.GetName() ) )
       
  1010     SetLangCode( aIsdsPreset.GetLangId() );
       
  1011 
       
  1012 	SetLogoData( aIsdsPreset.GetLogoData() );
       
  1013     SetLang( aIsdsPreset.GetLangName() );
       
  1014     SetCountryCode( aIsdsPreset.GetCountryId() );
       
  1015     SetCountryName( aIsdsPreset.GetCountryName() );
       
  1016     SetLastModifiedTime( aIsdsPreset.GetLastModifiedTime() );
       
  1017     SetAdvertisementUrl( aIsdsPreset.GetAdvertisementUrl() );
       
  1018     SetAdvertisementInUse( aIsdsPreset.GetAdvertisementInUse() );
       
  1019     SetImgUrl( aIsdsPreset.GetImgUrl() );
       
  1020     SetDescription( aIsdsPreset.GetDescription() );
       
  1021     SetShortDesc( aIsdsPreset.GetShortDescription() );
       
  1022     SetMusicStoreStatus(aIsdsPreset.GetMusicStoreStatus());
       
  1023     SetGenreInfo( aIsdsPreset.GetGenreId(), aIsdsPreset.GetGenreName() );
       
  1024 
       
  1025 
       
  1026     iUrlArray->ResetAndDestroy();
       
  1027 
       
  1028 	for(TInt cnt=0;cnt<aIsdsPreset.GetUrlCount();cnt++)
       
  1029 		{
       
  1030 		ASSERT( cnt >= 0 && cnt < aIsdsPreset.iUrlArray->Count() );
       
  1031 		TRAPD(errUrl,SetUrlL(aIsdsPreset.iUrlArray->At(cnt)->GetServerName(),
       
  1032 							 aIsdsPreset.iUrlArray->At(cnt)->GetServerUrl(),
       
  1033 							 aIsdsPreset.iUrlArray->At(cnt)->GetBitRate()))
       
  1034 		if(errUrl!=KErrNone)
       
  1035 			{
       
  1036 			return ;
       
  1037 			}
       
  1038 		}
       
  1039 	IRLOG_DEBUG( "CIRPresetImpl::CIRIsdsPresetToCIRPresetImpl - Exiting." );
       
  1040  	}
       
  1041 /*
       
  1042 // ---------------------------------------------------------------------------
       
  1043 // void CIRPresetImpl::UserDefinedPresetToCIRPresetImpl
       
  1044 // used to convert the userdefined preset to plugnized presets.
       
  1045 // Does a deep copy for all the member variables
       
  1046 // ---------------------------------------------------------------------------
       
  1047 //
       
  1048 void CIRPresetImpl::UserDefinedPresetToCIRPresetImpl(const TDesC& aName,
       
  1049 	const TDesC& aURl,TInt aId,TInt aIndex)
       
  1050 	{
       
  1051 	IRLOG_DEBUG( "CIRPresetImpl::UserDefinedPresetToCIRPresetImpl" );
       
  1052 	iPresetId=aId;
       
  1053 	TRAP_IGNORE(SetNameL(aName))
       
  1054 	SetChannelType(0);//type set to user defined
       
  1055 	//done to match the API,new API should be exposed by DS to accept only Url
       
  1056 	_LIT(KServerName,"NA");
       
  1057 	//copy the url
       
  1058 	TRAPD(errUrl,SetUrlL(KServerName,aURl,0))
       
  1059 	if(errUrl!=KErrNone)
       
  1060 		{
       
  1061 	    IRLOG_ERROR2( "CIRPresetImpl::UserDefinedPresetToCIRPresetImpl - SetUrlL left with %d.", errUrl );
       
  1062 		return ; // WHATTHEHECK
       
  1063 		}
       
  1064 	// manually added channels have only one channel url
       
  1065     SetUrlCount(1);
       
  1066 	IRLOG_DEBUG( "CIRPresetImpl::UserDefinedPresetToCIRPresetImpl - Exiting." );
       
  1067 	}
       
  1068 */
       
  1069 
       
  1070 // ---------------------------------------------------------------------------
       
  1071 //CIRPresetImpl::CopyPresetData()
       
  1072 // copy data to CIRIsdsPreset
       
  1073 // ---------------------------------------------------------------------------
       
  1074 //
       
  1075 void CIRPresetImpl::CopyPresetData(CIRIsdsPreset& aIsdsPreset) const
       
  1076 	{
       
  1077 	IRLOG_DEBUG( "CIRPresetImpl::CopyPresetData" );
       
  1078 	aIsdsPreset.SetUniqId( this->Id() );
       
  1079 	aIsdsPreset.SetId( iPresetId );
       
  1080 	aIsdsPreset.SetUrlCount( iChannelUrlCount );
       
  1081 	aIsdsPreset.SetChannelType( iType );  //0 for user defined 1 for isds type.
       
  1082 	//algo
       
  1083 	//1.check if the CIRIsdsPreset,member contains any data
       
  1084 	//2.if yes delete it and set it to null
       
  1085 	//3.allocate memory and copy data
       
  1086 	aIsdsPreset.SetGenreName( iGenereName );
       
  1087 	aIsdsPreset.SetGenreId( iGenereId );
       
  1088 	aIsdsPreset.SetLangCode( iLanguageCode );
       
  1089 
       
  1090 	aIsdsPreset.SetLogoData(iLogoData);
       
  1091 	aIsdsPreset.SetLang( iLanguage );
       
  1092 	aIsdsPreset.SetCountryCode( iCountryCode );
       
  1093 	aIsdsPreset.SetCountryName( iCountry );
       
  1094 	aIsdsPreset.SetName( Name() );
       
  1095 	aIsdsPreset.SetLastModifiedTime( iLastModified );
       
  1096 	aIsdsPreset.SetAdvertisementUrl( iAdvertisementUrl );
       
  1097 	aIsdsPreset.SetAdvertisementInUse( iAdvertisementInUse );
       
  1098 	aIsdsPreset.SetImgUrl( iImgUrl );
       
  1099 	aIsdsPreset.SetDescription( iDescription );
       
  1100 	aIsdsPreset.SetShortDesc( iShortDesc );
       
  1101 	aIsdsPreset.SetMusicStoreStatus( iMusicStoreStatus );
       
  1102 
       
  1103     aIsdsPreset.iUrlArray->ResetAndDestroy();
       
  1104 
       
  1105 	for(TInt cnt=0;cnt<iChannelUrlCount;cnt++)
       
  1106 		{
       
  1107 		ASSERT( cnt >= 0 && cnt < iUrlArray->Count() );
       
  1108 		TRAPD(errUrl,aIsdsPreset.SetUrlL(iUrlArray->At(cnt)->GetServerName(),
       
  1109 										 iUrlArray->At(cnt)->GetServerUrl(),
       
  1110 										 iUrlArray->At(cnt)->GetBitRate()))
       
  1111 		if(errUrl!=KErrNone)
       
  1112 			{
       
  1113 			return ;
       
  1114 			}
       
  1115 		}
       
  1116 	IRLOG_DEBUG( "CIRPresetImpl::CopyPresetData - Exiting." );
       
  1117 	}
       
  1118 
       
  1119 
       
  1120 // ---------------------------------------------------------------------------
       
  1121 // CIRPresetImpl::GetAvailableBitrates()
       
  1122 // Function to get available bitrates
       
  1123 // ---------------------------------------------------------------------------
       
  1124 //
       
  1125 RArray<TInt>& CIRPresetImpl::GetAvailableBitrates()
       
  1126 	{
       
  1127 	IRLOG_DEBUG( "CIRPresetImpl::GetAvailableBitrates" );
       
  1128 	iBitrateArray.Reset();
       
  1129 	//creates an array of bitrates(int)that are available for a particular preset
       
  1130 	for(TInt loop=0;loop<iUrlArray->Count();loop++)
       
  1131 		{
       
  1132 		iBitrateArray.InsertInOrder(iUrlArray->At(loop)->GetBitRate());
       
  1133 		}
       
  1134 	IRLOG_DEBUG( "CIRPresetImpl::GetAvailableBitrates - Exiting." );
       
  1135 	return iBitrateArray;
       
  1136 	}
       
  1137 
       
  1138 //----------------------------------------------------------------------------
       
  1139 // TInt UniqId()
       
  1140 //----------------------------------------------------------------------------
       
  1141 TUint32 CIRPresetImpl::UniqId()
       
  1142 	{
       
  1143 	return iUniqId;
       
  1144 	}
       
  1145 //----------------------------------------------------------------------------
       
  1146 //  SetUniqId(TInt)
       
  1147 //----------------------------------------------------------------------------
       
  1148 void CIRPresetImpl::SetUniqId( TUint32 aId)
       
  1149 	{
       
  1150 	iUniqId = aId;
       
  1151 	}
       
  1152 
       
  1153 /*
       
  1154  * Returns the played times of the channel
       
  1155  */
       
  1156 TInt CIRPresetImpl::GetPlayedTimes() const
       
  1157 {
       
  1158     return iPlayedTimes;
       
  1159 }
       
  1160 
       
  1161 /*
       
  1162  * Set the played times of the channel
       
  1163  */
       
  1164 void CIRPresetImpl::SetPlayedTimes(TInt aPlayedTimes)
       
  1165 {
       
  1166     iPlayedTimes = aPlayedTimes;
       
  1167 }