smbmusicapmainplayerlicensecheck.cpp
来自「symbian」· C++ 代码 · 共 441 行 · 第 1/2 页
CPP
441 行
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerLicenseCheck.cpp
//
// Description:
// SmbMusicAPMainPlayerLicenseCheck class source.
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2007/04/02 |暯壀 |怴婯嶌惉
//2007/06/25 |暯壀 |D_82400004484懳墳
//2007/07/05 |暯壀 |QAC++懳墳
//2007/09/18 |暯壀 |NULL僠僃僢僋僐乕僪捛壛
#include "SmbMusicAPMainPlayerLicenseCheck.h"
#include <SmbMusicAPSyncEngineDef.h>
#include "SmbMusicAPMainPlayerFilterListItem.h"
#include "SmbMusicAPMainPlayerFilterViewModel.h"
#include "SmbMusicAPMainPlayerLCInterface.h"
#include "SmbMusicAPMainPlayerFilterView.hrh"
#include "SmbMusicAPMainPlayerUtility.h"
SEMCJ_NAMESPACE_BEGIN
// -----------------------------
// 儔僀僙儞僗僠僃僢僋妋擣僋儔僗
// -----------------------------
/**
僐儞僗僩儔僋僞
* @param[in] aSyncCtrl 摨婜僒乕僶惂屼偺嶲徠
* @param[in] aLCInterface 儔僀僙儞僗峏怴妋擣梡僀儞僞僼僃乕僗
* @param[in] aSyncServer 摨婜僄儞僕儞偺嶲徠
* @return 側偟
*/
TSmbMusicAPMainPlayerLicenseCheck::TSmbMusicAPMainPlayerLicenseCheck(CSmbMusicAPMainPlayerFilterSyncServerController& aSyncCtrl,
MSmbMusicAPMainPlayerLCInterface& aLCInterface,
CSmbMusicAPSyncEngine& aSyncEngine, DCM_NAMESPACE::RLog& aLog) :
iSyncServer(aSyncCtrl),iSyncEngine(aSyncEngine), iRequestID(0),
iLCInterface(aLCInterface), iState(EFilterProcessLCStateIdle), iLog(aLog)
{
// 堦妵儔僀僙儞僗僠僃僢僋愝掕僼儔僌傪弶婜壔偡傞
iSyncEngine.SetLicenceCheckCompletion(EFalse);
}
/**
儔僀僙儞僗峏怴妋擣
* @param[in] aMessageID 儊僢僙乕僕ID
* @param[in] aParam 儕僗僩嵞惗偺儊僢僙乕僕僷儔儊乕僞
* @retval ETrue 旕摨婜梫媮傪弌偟偨/偡偱偵旕摨婜梫媮拞
* @retval EFalse 旕摨婜梫媮傪弌偣側偐偭偨
*/
TBool TSmbMusicAPMainPlayerLicenseCheck::LicenseCheckReq(TUid aMessageID, TSmbMusicAPMainPlayerPrmPlayList aParam)
{
#ifdef __DEBUG_LOG_MAINPLAYER__
TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x00;
_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::LicenseCheckReq() iState:%d MsgID:%d");
// Change-S QAC++懳墳丂暯壀丂2007.07.05
// SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, aMessageID);
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, aMessageID.iUid);
// Change-E QAC++懳墳丂暯壀丂2007.07.05
#endif
TBool isRequesting = EFalse;
// 枹張棟忬懺
switch (iState)
{
case EFilterProcessLCStateIdle:
{
// 嬋慖戰嵞惗偐斲偐傪敾抐偡傞
if (KSmbMusicAPMainPlayerPlaySongListMsgUid == aMessageID) // 嬋慖戰嵞惗
{
// 慖戰嬋偑僒僽僗僋儕僾僔儑儞僐儞僥儞僣偐斲偐傪敾掕偡傞
CSmbMusicAPMainPlayerFilterListItem* item = static_cast<CSmbMusicAPMainPlayerFilterListItem*>(iLCInterface.FilterViewModel()->ActiveListView()->Model()->ItemByIndex(aParam.iIndex));
// Add-S PTX-824 2007.09.18 暯壀
if (NULL == item)
{
TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x09;
_LIT(KLogFmt1, "TSmbMusicAPMainPlayerLicenseCheck::LicenseCheckReq() item NULL");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt1);
// 僄儔乕側偺偱壗傕偣偢return
isRequesting = EFalse;
break;
}
// Add-E PTX-824 2007.09.18 暯壀
TSmbMusicAPSyncEngineLimitation limitInfo = item->Limitation();
// 慖戰嬋偑僒僽僗僋儕僾僔儑儞僐儞僥儞僣偺応崌
if (ESmbMusicAPSyncEngineLimitSubscription == limitInfo)
{
// 惂尷忣曬庢摼梫媮嫟捠張棟
isRequesting = CommonGetSongLimitInfo(aParam);
}
// 慖戰嬋偑僒僽僗僋儕僾僔儑儞僐儞僥儞僣埲奜応崌
else
{
// 儔僀僙儞僗峏怴僠僃僢僋梫媮嫟捠張棟
isRequesting = CommonGetCpList();
}
}
else if (KSmbMusicAPMainPlayerPlayListMsgUid == aMessageID // 儕僗僩嵞惗
|| KSmbMusicAPMainPlayerPlayResumeMsgUid == aMessageID) // 儗僕儏乕儉嵞惗
{
// 儔僀僙儞僗峏怴僠僃僢僋梫媮嫟捠張棟
isRequesting = CommonGetCpList();
}
else // 嬋慖戰嵞惗丒儕僗僩嵞惗偺偳偪傜偱傕側偄応崌
{
// 儘僌傪弌偡
TInt log = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x01;
_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::LicenseCheckReq() iState:%d MsgID:%d");
// Change-S QAC++懳墳丂暯壀丂2007.07.05
// SmbMusicAPMainPlayerUtility::OutputLog(iLog, log, ELogLevelNormal, KLogFmt, iState, aMessageID);
SmbMusicAPMainPlayerUtility::OutputLog(iLog, log, ELogLevelNormal, KLogFmt, iState, aMessageID.iUid);
// Change-E QAC++懳墳丂暯壀丂2007.07.05
// 壗傕偣偢return
}
}
break;
// 儔僀僙儞僗峏怴僠僃僢僋梫媮
case EFilterProcessLCStateGetCpListSetCommand:
{
// 儔僀僙儞僗峏怴僠僃僢僋梫媮嫟捠張棟
isRequesting = CommonGetCpList();
}
break;
// 忋婰埲奜偺忬懺
default:
// 儘僌傪弌偡
TInt log = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x02;
_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::LicenseCheckReq() iState:%d MsgID:%d");
// Change-S QAC++懳墳丂暯壀丂2007.07.05
// SmbMusicAPMainPlayerUtility::OutputLog(iLog, log, ELogLevelNormal, KLogFmt, iState, aMessageID);
SmbMusicAPMainPlayerUtility::OutputLog(iLog, log, ELogLevelNormal, KLogFmt, iState, aMessageID.iUid);
// Change-E QAC++懳墳丂暯壀丂2007.07.05
// 張棟拞側偺偱壗傕偣偢return
isRequesting = ETrue;
break;
}
return isRequesting;
}
/**
惂尷忣曬庢摼梫媮嫟捠張棟
* @param[in] aParam 儕僗僩嵞惗偺儊僢僙乕僕僷儔儊乕僞
* @retval ETrue 旕摨婜梫媮傪弌偟偨/偡偱偵旕摨婜梫媮拞
* @retval EFalse 旕摨婜梫媮傪弌偣側偐偭偨
*/
TBool TSmbMusicAPMainPlayerLicenseCheck::CommonGetSongLimitInfo(TSmbMusicAPMainPlayerPrmPlayList aParam)
{
// 旕摨婜梫媮傪峴偭偨偐斲偐
TBool isRequesting = EFalse;
// 惂尷忣曬庢摼張棟奐巒懸偪
iState = EFilterProcessLCStateGetSongLimitInfoWaitStart;
// 惂尷忣曬庢摼梫媮
TInt result = iSyncServer.GetSongLimitInfo(aParam.iListHandle, aParam.iIndex, EOwnerType_Filter, iRequestID, *this);
if (KErrNone == result)
{
// 惂尷忣曬庢摼梫媮拞
iState = EFilterProcessLCStateGetSongLimitInfo;
isRequesting = ETrue;
}
else
{
// 儘僌傪弌偡
TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x03;
_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::CommonGetSongLimitInfo() iState:%d result:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, result);
// 僄儔乕偺応崌丄僗僥乕僞僗傪Idle偵偟偰return
iState = EFilterProcessLCStateIdle;
}
return isRequesting;
}
/**
儔僀僙儞僗峏怴僠僃僢僋梫媮嫟捠張棟
* @retval ETrue 旕摨婜梫媮傪弌偟偨/偡偱偵旕摨婜梫媮拞
* @retval EFalse 旕摨婜梫媮傪弌偣側偐偭偨
*/
TBool TSmbMusicAPMainPlayerLicenseCheck::CommonGetCpList()
{
// 旕摨婜梫媮傪峴偭偨偐斲偐
TBool isRequesting = EFalse;
// 堦妵儔僀僙儞僗僠僃僢僋幚峴嵪傒僼儔僌偺妋擣
if (EFalse != iSyncEngine.IsLicenceCheckCompletion())
{
// 偡偱偵堦妵儔僀僙儞僗僠僃僢僋幚峴嵪傒偺偨傔弶婜忬懺傊
iState = EFilterProcessLCStateIdle;
return isRequesting; // 旕摨婜梫媮拞偱側偄
}
// 儔僀僙儞僗峏怴僠僃僢僋張棟奐巒懸偪
iState = EFilterProcessLCStateGetCpListWaitStart;
// 儔僀僙儞僗峏怴僠僃僢僋梫媮
TInt result = iSyncServer.GetCpList(EOwnerType_Filter, iRequestID, *this);
if (KErrNone == result)
{
// 儔僀僙儞僗峏怴僠僃僢僋梫媮拞
iState = EFilterProcessLCStateGetCpList;
isRequesting = ETrue;
}
else
{
// 儘僌傪弌偡
TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x04;
_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::CommonGetCpList() iState:%d result:%d");
SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, iState, result);
// 僄儔乕偺応崌丄僗僥乕僞僗傪Idle偵偟偰return
iState = EFilterProcessLCStateIdle;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?