qtinternetradio/irqisdsclient/src/irqisdsclientimpl_symbian.cpp
changeset 14 896e9dbc5f19
equal deleted inserted replaced
12:608f67c22514 14:896e9dbc5f19
       
     1 /*
       
     2 * Copyright (c) 2009 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:
       
    15 *
       
    16 */
       
    17 #include "irqisdsclientimpl_symbian.h"
       
    18 #include "irqenums.h"
       
    19 #include "irqfavoritesdb.h"
       
    20 #include "irlogodownloadengine.h"
       
    21 #include "irdataprovider.h"
       
    22 #include "irhttpdataprovider.h"
       
    23 #include "irqutility.h"
       
    24 #include "irbrowsecatagoryitems.h"
       
    25 #include "irbrowsechannelitems.h"
       
    26 #include "isdsclientdll.h"
       
    27 #include "irqisdsdatastructure.h"
       
    28 #include "irqsettings.h"
       
    29 #include "irqlogger.h"
       
    30 
       
    31 IRQIsdsClientImpl::IRQIsdsClientImpl(IRQIsdsClient *aParent) : iISDSClient(NULL), iFavPresets(NULL),
       
    32                                                                     iLogoDownloadEngine(NULL), q_ptr(aParent)
       
    33 {
       
    34     IRQSettings *irSettings = IRQSettings::openInstance();    
       
    35     QString isdsUrl = irSettings->getIsdsUrl();
       
    36     irSettings->closeInstance();
       
    37     
       
    38     if (isdsUrl.endsWith('/')) // remove the last '/' at the end of the url
       
    39     {
       
    40         isdsUrl.chop(1);
       
    41     }
       
    42     TPtrC irqisdsbaseurl(reinterpret_cast<const TUint16*>(isdsUrl.utf16()));
       
    43 
       
    44     TRAPD(error, iISDSClient = CIRIsdsClient::NewL(*this, irqisdsbaseurl));
       
    45     if(KErrNone != error)
       
    46     {
       
    47         return;
       
    48     }
       
    49     
       
    50     iLogoDownloadEngine
       
    51             = iISDSClient->GetDataProvider()->GetHttpDataProvider()->GetLogoDownloadEngine();
       
    52 }
       
    53 
       
    54 IRQIsdsClientImpl::~IRQIsdsClientImpl()
       
    55 {
       
    56     delete iISDSClient;
       
    57 }
       
    58 
       
    59 //used to indicate errors in retrieving data from isds server
       
    60 //@param int, the error code sent by the http receiver 
       
    61 //
       
    62 void IRQIsdsClientImpl::IsdsErrorL(int aErrCode)
       
    63 {
       
    64     LOG_FORMAT( "This is a QString %d", aErrCode);
       
    65     if (KNotFound == aErrCode)
       
    66     {
       
    67         emit q_ptr->operationException(EIRQErrorNotFound);
       
    68     }
       
    69     else if (KErrCouldNotConnect == aErrCode)
       
    70     {
       
    71         emit q_ptr->operationException(EIRQErrorCouldNotConnect);
       
    72     }
       
    73     else if (KDndTimedOut == aErrCode)
       
    74     {
       
    75         emit q_ptr->operationException(EIRQErrorTimeOut);
       
    76     }
       
    77     else if (KServiceUnavailable == aErrCode)
       
    78     {
       
    79         emit q_ptr->operationException(EIRQErrorServiceUnavailable);
       
    80     }
       
    81     else if (KErrCorrupt == aErrCode)
       
    82     {
       
    83         emit q_ptr->operationException(EIRQErrorCorrupt);
       
    84     }
       
    85     else if (KDataProviderTimeout == aErrCode)
       
    86     {
       
    87         emit q_ptr->operationException(EIRQErrorTimeOut);
       
    88     }
       
    89     else
       
    90         emit q_ptr->operationException(EIRQErrorGeneral);
       
    91 }
       
    92 
       
    93 void IRQIsdsClientImpl::isdsSearchRequestImpl(const QString& aIsdsSearchString)
       
    94 {
       
    95 
       
    96     TPtrC16 searchDes(
       
    97             reinterpret_cast<const TUint16*> (aIsdsSearchString.utf16()));
       
    98    
       
    99     TRAPD( err, iISDSClient->IRISDSSearchL(searchDes));
       
   100     if (KErrNone != err)
       
   101     {
       
   102         emit q_ptr->operationException(EIRQErrorGeneral);
       
   103     }
       
   104 }
       
   105 
       
   106  
       
   107 
       
   108 //Send the category request by the category type
       
   109 // 
       
   110 void IRQIsdsClientImpl::isdsCategoryRequestImpl(
       
   111         IRQIsdsClient::IRQIsdsClientInterfaceIDs aIDType, bool& aCache)
       
   112 {
       
   113     iCatBannerTag = false;
       
   114     TRAPD( err, aCache = !(iISDSClient->IRIsdsClientIntefaceL((CIRIsdsClient::TIRIsdsclientInterfaceIDs)aIDType)));
       
   115     if (err != KErrNone)
       
   116     {
       
   117         emit q_ptr->operationException(EIRQErrorGeneral);
       
   118     }
       
   119 }
       
   120 
       
   121 bool IRQIsdsClientImpl::isdsIsCategoryCachedImpl(IRQIsdsClient::IRQIsdsClientInterfaceIDs aIDType)
       
   122 {
       
   123     bool cache = false;
       
   124     TRAP_IGNORE(cache = iISDSClient->IRIsdsIsCategoryCachedL((CIRIsdsClient::TIRIsdsclientInterfaceIDs)aIDType));    
       
   125     return cache;
       
   126 }
       
   127 
       
   128 bool IRQIsdsClientImpl::isdsIsChannelCachedImpl(int aIndex)
       
   129 {
       
   130     bool cache = false;
       
   131     TRAP_IGNORE(cache = iISDSClient->IRIsdsIsChannelCachedL(aIndex)); 
       
   132     return cache;
       
   133 }
       
   134 
       
   135 //Send the channels request by the channel index in the specify category
       
   136 //
       
   137 void IRQIsdsClientImpl::isdsChannelRequestImpl(int aIndex, bool& aCache)
       
   138 {
       
   139     iChannelBannerTag = false;
       
   140     TRAPD( err, aCache = !(iISDSClient->IRIsdsClientIntefaceL(aIndex, CIRIsdsClient::ECatagory)));
       
   141     if (err != KErrNone)
       
   142     {
       
   143         emit q_ptr->operationException(EIRQErrorGeneral);
       
   144     }
       
   145 }
       
   146 
       
   147 //issue a listen request to the isds client
       
   148 //@param int,bool, the current index of channel, the history tag  
       
   149 //
       
   150 void IRQIsdsClientImpl::isdsListenRequestImpl(int aCurrentIndex,
       
   151         bool aHistoryBool)
       
   152 {
       
   153     if (aHistoryBool)
       
   154     {
       
   155         TRAPD( err, iISDSClient->IRIsdsClientIntefaceL(aCurrentIndex, CIRIsdsClient::EChannels, ETrue));
       
   156         if (err != KErrNone)
       
   157         {
       
   158             emit q_ptr->operationException(EIRQErrorGeneral);
       
   159         }
       
   160     }
       
   161     else
       
   162     {
       
   163          
       
   164         TRAPD( err, iISDSClient->IRIsdsClientIntefaceL(aCurrentIndex, CIRIsdsClient::EChannels));
       
   165         if (err != KErrNone)
       
   166         {
       
   167             emit q_ptr->operationException(EIRQErrorGeneral);
       
   168         }
       
   169     }
       
   170 }
       
   171 
       
   172 //to syncronize presets
       
   173 //@param int,QString, the preset id and the last modified tag for the preset   
       
   174 //
       
   175 int IRQIsdsClientImpl::isdsSyncPresetImpl(int aPresetId,
       
   176         const QString& aIfModifySince, IRQFavoritesDB *aFavPresets)
       
   177 {
       
   178     iFavPresets = aFavPresets;
       
   179     TPtrC16 modifySinceDes(
       
   180             reinterpret_cast<const TUint16*> (aIfModifySince.utf16()));
       
   181     TInt result = 0;
       
   182     TRAP_IGNORE(result = iISDSClient->SyncPresetL(aPresetId,modifySinceDes));     
       
   183     return result;
       
   184 }
       
   185 
       
   186 //Cacel the request sent by the UI.
       
   187 //@param None
       
   188 //
       
   189 void IRQIsdsClientImpl::isdsCancelRequestImpl()
       
   190 {
       
   191     TRAPD( err, iISDSClient->IRISDSCancelRequest());
       
   192     if (err != KErrNone)
       
   193     {
       
   194         emit q_ptr->operationException(EIRQErrorGeneral);
       
   195     }
       
   196 }
       
   197 
       
   198 //to see wether category view has a banner.
       
   199 //@param None
       
   200 //
       
   201 bool IRQIsdsClientImpl::isdsIsCategoryBannerImpl()
       
   202 {
       
   203     return iCatBannerTag;
       
   204 }
       
   205 
       
   206 //
       
   207 //to see wether channel view has a banner.
       
   208 //@param None
       
   209 bool IRQIsdsClientImpl::isdsIsChannelBannerImpl()
       
   210 {
       
   211     return iChannelBannerTag;
       
   212 }
       
   213 
       
   214  
       
   215 //the api is called from the UI(nowplaying view) to download logo.
       
   216 //@param None
       
   217 //
       
   218 void IRQIsdsClientImpl::isdsLogoDownSendRequestImpl(IRQPreset* aPreset,
       
   219         int aNPVReq, int aXValue, int aYValue)
       
   220 {
       
   221     if (NULL == aPreset)
       
   222         return;
       
   223 
       
   224     CIRIsdsPreset *cirPreset = NULL;
       
   225     TRAP_IGNORE(cirPreset = CIRIsdsPreset::NewL());
       
   226     IRQUtility::convertIRQPreset2CIRIsdsPreset(*aPreset, *cirPreset);
       
   227     
       
   228     aXValue = aXValue % 1000;
       
   229     aYValue = aYValue % 1000;
       
   230     
       
   231     TRAPD( err, iLogoDownloadEngine->SendRequestL(cirPreset,this, aNPVReq, aXValue, aYValue));//0 0 
       
   232     delete cirPreset;
       
   233     if (err != KErrNone)
       
   234     {
       
   235         emit q_ptr->operationException(EIRQErrorGeneral);
       
   236     }
       
   237 }
       
   238 
       
   239 bool IRQIsdsClientImpl::isdsIsLogoCachedImpl(IRQPreset* aPreset, int aXValue, int aYValue)
       
   240 {
       
   241     if( NULL == aPreset )
       
   242         return false;
       
   243     
       
   244     bool cached = false;
       
   245     CIRIsdsPreset *cirPreset = NULL;
       
   246     TRAP_IGNORE(cirPreset = CIRIsdsPreset::NewL());
       
   247     IRQUtility::convertIRQPreset2CIRIsdsPreset(*aPreset, *cirPreset);
       
   248     aXValue = aXValue % 1000;
       
   249     aYValue = aYValue % 1000;
       
   250     
       
   251     TRAP_IGNORE(cached = iLogoDownloadEngine->IsLogoCachedL(cirPreset,aXValue, aYValue));
       
   252 	  delete cirPreset;
       
   253 	  cirPreset = NULL;
       
   254 	
       
   255     return cached;
       
   256 }
       
   257 
       
   258 //
       
   259 //the api is called to cancel the current transaction
       
   260 //@param None
       
   261 //
       
   262 void IRQIsdsClientImpl::isdsLogoDownCancelTransactionImpl()
       
   263 {
       
   264     iLogoDownloadEngine->CancelTransaction();
       
   265 }
       
   266 
       
   267 //
       
   268 //To know the status of downloading logo
       
   269 bool IRQIsdsClientImpl::isdsLogoDownIsRunningImpl() const
       
   270 {
       
   271     return iLogoDownloadEngine->IsRunning();
       
   272 }
       
   273 
       
   274 //takes the url as a parameter and returns the logo data which is in cache
       
   275 //this API is called form the search results for to display logo on the view
       
   276 //@param QString: the url of the img, int: the status for getting
       
   277 //
       
   278 void IRQIsdsClientImpl::isdsLogoDownCheckCacheLogoImpl(
       
   279         const QString& aURL, int& aStatus)
       
   280 {
       
   281     TInt status = 0;
       
   282     TPtrC16 url(reinterpret_cast<const TUint16*> (aURL.utf16()));
       
   283     TRAP_IGNORE(iLogoDownloadEngine->GetCacheLogoL(url, status));       
       
   284     aStatus = status;
       
   285     
       
   286 }
       
   287 
       
   288 //get the cache logo from the logodown engine. The "send" is the point from a logodown engine
       
   289 //@param None
       
   290 //
       
   291 TDesC8& IRQIsdsClientImpl::isdsLogoDownSendCacheLogoImpl()
       
   292 {
       
   293     return iLogoDownloadEngine->SendCacheLogo();
       
   294 }
       
   295 
       
   296 void IRQIsdsClientImpl::isdsPostLogImpl(const QString &aFileName)
       
   297 {
       
   298     TPtrC16 fileName(
       
   299                 reinterpret_cast<const TUint16*> (aFileName.utf16()));
       
   300     TBuf<256> fileBuf = fileName;
       
   301     TRAP_IGNORE(iISDSClient->IRISDSPostL(fileBuf));     
       
   302 }
       
   303 
       
   304 void IRQIsdsClientImpl::isdsGetIRIDImpl()
       
   305 {
       
   306     TRAP_IGNORE(iISDSClient->IRGetIRIDL());
       
   307 }
       
   308 
       
   309 void IRQIsdsClientImpl::isdsGetBrowseBannerImpl(QString& aBannerUrl, QString& aClickThroughUrl)
       
   310 {
       
   311     aBannerUrl = iCatBannerUrl;
       
   312     aClickThroughUrl = iCatClickThroughUrl;
       
   313 }
       
   314 
       
   315 void IRQIsdsClientImpl::isdsMultSearchImpl(QString aGenreID, QString aCountryID, QString aLanguageID, QString aSearchText)
       
   316 {
       
   317     TPtrC16 genreID(reinterpret_cast<const TUint16*> (aGenreID.utf16()));
       
   318     TPtrC16 countryID(reinterpret_cast<const TUint16*> (aCountryID.utf16()));
       
   319     TPtrC16 languageID(reinterpret_cast<const TUint16*> (aLanguageID.utf16()));
       
   320     TPtrC16 searchText(reinterpret_cast<const TUint16*> (aSearchText.utf16()));
       
   321     TRAP_IGNORE(iISDSClient->IRISDSMultiSearchL(genreID, countryID, languageID, searchText));
       
   322 }
       
   323 //when we get the category data from low layer, the function is called and
       
   324 //we will generate the data pushed to UI, the IRQIsdsClientImpl will not free the 
       
   325 //memory.
       
   326 //
       
   327 void IRQIsdsClientImpl::IsdsCatogoryDataReceivedL(CArrayPtrFlat<
       
   328         CIRBrowseCatagoryItems> & aParsedStructure)
       
   329 {
       
   330     iCatBannerTag = false;
       
   331     iCatBannerUrl.clear();
       
   332     iCatClickThroughUrl.clear();
       
   333 
       
   334     /* the data is pushed to the UI and irqisds is not care when it's deleted */
       
   335     QList<IRQBrowseCategoryItem *> * pushBrowseCategoryItemList = new QList<
       
   336             IRQBrowseCategoryItem *> ;
       
   337     for (TInt i = 0; i < aParsedStructure.Count(); i++)
       
   338     {
       
   339         if (NULL != aParsedStructure[i]->iCatBannerUrl)
       
   340         {
       
   341             iCatBannerTag = true;
       
   342             if (0 != aParsedStructure[i]->iCatBannerUrl->Length())
       
   343             {
       
   344                 iCatBannerUrl = QString::fromUtf16(
       
   345                         aParsedStructure[i]->iCatBannerUrl->Des().Ptr(),
       
   346                         aParsedStructure[i]->iCatBannerUrl->Des().Length());
       
   347             }
       
   348 
       
   349             if (NULL != aParsedStructure[i]->iCatClickThroughUrl)
       
   350             {
       
   351                 if (0 != aParsedStructure[i]->iCatClickThroughUrl->Length())
       
   352                 {
       
   353                     iCatClickThroughUrl
       
   354                             = QString::fromUtf16(
       
   355                                     aParsedStructure[i]->iCatClickThroughUrl->Des().Ptr(),
       
   356                                     aParsedStructure[i]->iCatClickThroughUrl->Des().Length());
       
   357                 }
       
   358             }
       
   359         }// end if ( NULL != ) 
       
   360 
       
   361         if (NULL != aParsedStructure[i]->iCatName)
       
   362         {
       
   363             IRQBrowseCategoryItem * oneItem = new IRQBrowseCategoryItem();
       
   364             oneItem->catName = QString::fromUtf16(
       
   365                     aParsedStructure[i]->iCatName->Des().Ptr(),
       
   366                     aParsedStructure[i]->iCatName->Des().Length());
       
   367             oneItem->size = aParsedStructure[i]->iSize;
       
   368             pushBrowseCategoryItemList->append(oneItem);
       
   369         }
       
   370     }// end for
       
   371 
       
   372     /* now we get the data and we need to signal the ui to stop the 
       
   373      dialog and emit and call the setdata of model*/
       
   374     emit
       
   375     q_ptr->categoryItemsChanged(pushBrowseCategoryItemList);
       
   376 
       
   377 }
       
   378 
       
   379 //when we get the channels data from low layer, the function is called and
       
   380 //we will generate the data pushed to UI
       
   381 //
       
   382 void IRQIsdsClientImpl::IsdsChannelDataReceivedL(CArrayPtrFlat<
       
   383         CIRBrowseChannelItems> & aParsedStructure)
       
   384 {
       
   385     iChannelBannerTag = false;
       
   386     iChannelBannerUrl.clear();
       
   387     iChannelClickThroughUrl.clear();
       
   388 
       
   389     QList<IRQChannelItem *> *pushBrowseChannelItemList = new QList<
       
   390             IRQChannelItem *> ;
       
   391 
       
   392     for (int i = 0; i < aParsedStructure.Count(); i++)
       
   393     {
       
   394         if (NULL != aParsedStructure[i]->iBannerUrl)
       
   395         {
       
   396             iChannelBannerTag = true;
       
   397 
       
   398             if (0 != aParsedStructure[i]->iBannerUrl->Length())
       
   399             {
       
   400                 iChannelBannerUrl = QString::fromUtf16(
       
   401                         aParsedStructure[i]->iBannerUrl->Des().Ptr(),
       
   402                         aParsedStructure[i]->iBannerUrl->Des().Length());
       
   403             }
       
   404 
       
   405             if (NULL != aParsedStructure[i]->iClickThroughUrl)
       
   406             {
       
   407                 if (0 != aParsedStructure[i]->iClickThroughUrl->Length())
       
   408                 {
       
   409                     iChannelClickThroughUrl
       
   410                             = QString::fromUtf16(
       
   411                                     aParsedStructure[i]->iClickThroughUrl->Des().Ptr(),
       
   412                                     aParsedStructure[i]->iClickThroughUrl->Des().Length());
       
   413                 }
       
   414             }
       
   415         } //end if aParsedStructure[i]->
       
   416 
       
   417         if (NULL != aParsedStructure[i]->iChannelName)
       
   418         {
       
   419             IRQChannelItem * oneChannelItem = new IRQChannelItem();
       
   420             oneChannelItem->channelName = QString::fromUtf16(
       
   421                     aParsedStructure[i]->iChannelName->Des().Ptr(),
       
   422                     aParsedStructure[i]->iChannelName->Des().Length());
       
   423             oneChannelItem->shortDescription = QString::fromUtf16(
       
   424                     aParsedStructure[i]->iShortDescription->Des().Ptr(),
       
   425                     aParsedStructure[i]->iShortDescription->Des().Length());
       
   426             //added for search result's cache
       
   427             oneChannelItem->channelID = aParsedStructure[i]->iChannelID;
       
   428 
       
   429             if (0 != aParsedStructure[i]->iImgUrl.Length())
       
   430             {
       
   431 
       
   432                 oneChannelItem->imageURL = QString::fromUtf16(
       
   433                         aParsedStructure[i]->iImgUrl.Ptr(),
       
   434                         aParsedStructure[i]->iImgUrl.Length());;
       
   435             }
       
   436             else
       
   437                 oneChannelItem->imageURL = "";
       
   438 
       
   439             pushBrowseChannelItemList->append(oneChannelItem);
       
   440         }
       
   441     }
       
   442 
       
   443     /* after we get data, we push it to the UI to show*/
       
   444     emit
       
   445     q_ptr->channelItemsChanged(pushBrowseChannelItemList);
       
   446     
       
   447 }
       
   448 
       
   449 //when we get the presets data from low layer, the function is called and
       
   450 //we will generate the data pushed to UI. 
       
   451 //
       
   452 void IRQIsdsClientImpl::IsdsPresetDataReceivedL(
       
   453         CArrayPtrFlat<CIRIsdsPreset> & aParsedStructure)
       
   454 {
       
   455     CIRIsdsPreset* preset = aParsedStructure[0];
       
   456     IRQPreset* qPreset = new IRQPreset();
       
   457     /* we need convert the CIR to QT */
       
   458     IRQUtility::convertCIRIsdsPreset2IRQPrest(*preset, *qPreset);
       
   459     qPreset->type = IRQPreset::EIsds;
       
   460     emit
       
   461     q_ptr->presetResponse(qPreset);
       
   462     
       
   463 }
       
   464 
       
   465 //when we find that the preset to be syc is deleted from isds server, the function 
       
   466 //will be called to notify the UI. DISCUSSED FURTHER
       
   467 //
       
   468 void IRQIsdsClientImpl::IsdsPresetRemovedL(TInt aId)
       
   469 {
       
   470     if(iFavPresets)
       
   471     {
       
   472         iFavPresets->makePresetUserDefined(aId, 0);
       
   473     }
       
   474     emit
       
   475     q_ptr->syncPresetResult(EIRQIsdsSycPresetRemoved, NULL);
       
   476 }
       
   477 
       
   478 //when we find that the preset to be syc is changed from isds server, the function 
       
   479 //will be called to notify the UI.
       
   480 //
       
   481 void IRQIsdsClientImpl::IsdsPresetChangedL(CIRIsdsPreset& aPreset)
       
   482 {
       
   483     IRQPreset* qPreset = new IRQPreset();
       
   484     IRQUtility::convertCIRIsdsPreset2IRQPrest(aPreset, *qPreset);
       
   485     qPreset->type = IRQPreset::EIsds;
       
   486     if(iFavPresets)
       
   487     {        
       
   488         iFavPresets->replacePreset(*qPreset);
       
   489     }
       
   490     emit q_ptr->syncPresetResult(EIRQIsdsSycPresetChanged, qPreset);
       
   491 }
       
   492 
       
   493 //when we find that the preset to be syc is changed from isds server, the function 
       
   494 //will be called to notify the UI.
       
   495 //
       
   496 void IRQIsdsClientImpl::IsdsPresetNoChangeL()
       
   497 {
       
   498     emit q_ptr->syncPresetResult(EIRQIsdsSycPresetNoChange, NULL);
       
   499 
       
   500 }
       
   501 
       
   502 //called back when a preset's logo has downloaded
       
   503 //@param CIRIsdsPreset*, preset with downloaded logo
       
   504 //
       
   505 void IRQIsdsClientImpl::PresetLogoDownloadedL(CIRIsdsPreset* aPreset)
       
   506 {
       
   507     if (NULL == aPreset)
       
   508         return;
       
   509 
       
   510     IRQPreset * irqPreset = new IRQPreset();
       
   511     IRQUtility::convertCIRIsdsPreset2IRQPrest(*aPreset, *irqPreset);
       
   512 
       
   513     emit q_ptr->presetLogoDownloaded(irqPreset);
       
   514 }
       
   515 
       
   516 //called back when a preset's logo has not downloaded
       
   517 //@param CIRIsdsPreset*, preset with no logo data
       
   518 //
       
   519 void IRQIsdsClientImpl::PresetLogoDownloadError(CIRIsdsPreset* aPreset)
       
   520 {
       
   521     if (NULL == aPreset)
       
   522         return;
       
   523 
       
   524     emit q_ptr->presetLogoDownloadError();
       
   525 }
       
   526 
       
   527 //receive the irid from isds server, not implementated
       
   528 //
       
   529 void IRQIsdsClientImpl::IsdsIRIDRecieved(const TDesC& aIRID)
       
   530 {
       
   531     //nothing now
       
   532     QString irid = QString::fromUtf16(aIRID.Ptr(),aIRID.Length());
       
   533     emit q_ptr->iridReceived(irid);     
       
   534 }
       
   535 
       
   536  
       
   537 
       
   538 
       
   539 //
       
   540 //receive the ota info from isds server, not implementated
       
   541 //
       
   542 void IRQIsdsClientImpl::IsdsOtaInfoRecieved(CIROTAUpdate &aOtaData)
       
   543 {
       
   544     //nothing now
       
   545     Q_UNUSED(aOtaData);    
       
   546 }
       
   547 
       
   548 bool IRQIsdsClientImpl::isdsIsConstructSucceed() const
       
   549 {
       
   550     return iISDSClient != NULL;
       
   551 }