smbmusicapmainplayerlicensecheck.cpp

来自「symbian」· C++ 代码 · 共 441 行 · 第 1/2 页

CPP
441
字号
	
	return isRequesting;
	}

	/**
	 儔僀僙儞僗峏怴僠僃僢僋梫媮梡捠抦嫟捠張棟
	 */
void TSmbMusicAPMainPlayerLicenseCheck::CommonSetCommand()
	{
	// 堦妵儔僀僙儞僗僠僃僢僋幚峴嵪傒僼儔僌偺妋擣
	if (EFalse != iSyncEngine.IsLicenceCheckCompletion())
		{
		// 儔僀僙儞僗峏怴僠僃僢僋姰椆
		iLCInterface.LCComplete();

		// 偡偱偵堦妵儔僀僙儞僗僠僃僢僋幚峴嵪傒偺偨傔弶婜忬懺傊
		iState = EFilterProcessLCStateIdle;
		return;
		}

	// 儔僀僙儞僗峏怴僠僃僢僋梫媮			
	iState = EFilterProcessLCStateGetCpListSetCommand;

	// 惂尷忣曬庢摼屻偺儔僀僙儞僗峏怴僠僃僢僋梫媮
	iLCInterface.LCGetSongLimitInfoComplete();
	}

	/**
	 儔僀僙儞僗峏怴妋擣僉儍儞僙儖
	 * @param	側偟
	 * @return	
	 */
TBool TSmbMusicAPMainPlayerLicenseCheck::CancelRequest()
	{
	if (EFilterProcessLCStateGetSongLimitInfo == iState
	 || EFilterProcessLCStateGetCpList == iState)
	 	{
	 	// 僉儍儞僙儖梫媮
	 	iSyncServer.CancelRequest(iRequestID, EFalse);
	 	
	 	}
	else if (EFilterProcessLCStateGetSongLimitInfoWaitStart == iState
	 	   || EFilterProcessLCStateGetCpListWaitStart == iState)
	 	{
	 	// 屻偱僉儍儞僙儖張棟偑昁梫
	 	return EFalse;
	 	}
	else
	 	{
	 	// 僉儍儞僙儖張棟晄梫
	 	}
	
 	// 弶婜忬懺
 	iState = EFilterProcessLCStateIdle;

	// 僉儍儞僙儖張棟晄梫
	return ETrue;
		
	}

	/**
	 堦妵儔僀僙儞僗僠僃僢僋嵪傒僼儔僌偺愝掕
	 */
void TSmbMusicAPMainPlayerLicenseCheck::SetAllLCDoneFlag()
	{
	// 堦妵儔僀僙儞僗僠僃僢僋愝掕僼儔僌傪愝掕偡傞
	iSyncEngine.SetLicenceCheckCompletion(ETrue);
	}

/* MSmbMusicAPMainPlayerFilterSyncServerProcessResponseObserver */
	/**
	 * 梫媮姰椆
	 *
	 * @param[in]		aKind				梫媮庬暿
	 * @param[in]		aResult				張棟寢壥
	 * @param[in]		aResponse			墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
	 * @return		側偟
	 */
void TSmbMusicAPMainPlayerLicenseCheck::RequestComplete(TSmbMusicAPMainPlayerRequest aKind, TInt aResult, 
														MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& aResponse)
	{
	switch (aKind)
		{
	case ELicenseCheckGetSongLimitInfo:				// 惂尷忣曬庢摼梫媮
		if (KErrNone == aResult)
			{
//			TSmbMusicAPSyncEngineLimitInfo& limitInfo = aResponse.GetResultLimitInfo();
			TSmbMusicAPSyncEngineLimitInfo limitInfo = aResponse.GetResultLimitInfo();		// QAC++懳墳

			// 僒僽僗僋儕僾僔儑儞偱尃棙忣曬偑桳傞応崌
			if ((ESmbMusicAPSyncEngineLimitSubscription == limitInfo.iLimitation) && (EFalse != limitInfo.iIsExistCpInfo))
				{
				switch (limitInfo.iLimitCondition)
					{
				// 婜尷愗傟偺応崌
				case ESmbMusicAPSyncEngineLimitPeriodOver:
// Add-S PTX-824 D_82400004484 懳墳
				case ESmbMusicAPSyncEngineLimitInvalid:
// Add-E PTX-824 D_82400004484 懳墳
					// (扨懱)儔僀僙儞僗僠僃僢僋傾僾儕婲摦
					iLCInterface.StartLCApp(EFalse, limitInfo.iSongId);
					
					iState = EFilterProcessLCStateIdle;		// 張棟姰椆偺偨傔丄枹張棟忬懺傊
					break;
					
				// 婜尷撪/僌儗乕僗僺儕僆僪撪/嵞惗惂尷忬懺柍岠
				case ESmbMusicAPSyncEngineLimitWithinTheLimits:
				case ESmbMusicAPSyncEngineLimitWithinGracePeriod:
// Del-S PTX-824 D_82400004484 懳墳
//				case ESmbMusicAPSyncEngineLimitInvalid:
// Del-E PTX-824 D_82400004484 懳墳
					// 儔僀僙儞僗峏怴僠僃僢僋梫媮梡SetCommand嫟捠張棟
					CommonSetCommand();
					
					break;
				case ESmbMusicAPSyncEngineLimitRtcErrorOccurred:
				default:
					// RTC僄儔乕偺応崌偁傞偄偼憐掕奜偺抣丅偦偺応崌偼儔僀僙儞僗峏怴僠僃僢僋梫媮傊
					TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x05;
					_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::RequestComplete() aKind:%d iLimitCondition:%d");
					SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aKind, limitInfo.iLimitCondition);
					// 儔僀僙儞僗峏怴僠僃僢僋梫媮梡SetCommand嫟捠張棟
					CommonSetCommand();
					break;
					}
				}
			// 僒僽僗僋儕僾僔儑儞偱側偄応崌/尃棙忣曬偑側偄応崌丄儔僀僙儞僗峏怴妋擣梫媮傊
			else
				{
				// 儔僀僙儞僗峏怴僠僃僢僋梫媮梡SetCommand嫟捠張棟
				CommonSetCommand();
				}
			}
		else		// 旕摨婜墳摎偑僄儔乕偺応崌
			{
			// 旕摨婜墳摎偑僄儔乕偱曉偭偨応崌偼惂尷忣曬偺撪梕偼巊梡偟側偄偙偲丅
			TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x06;
			_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::RequestComplete() aKind:%d aResult:%d");
			SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aKind, aResult);
			// 僄儔乕偺応崌偼丄偲傝偁偊偢丄儔僀僙儞僗峏怴僠僃僢僋梫媮傊
			// 儔僀僙儞僗峏怴僠僃僢僋梫媮梡SetCommand嫟捠張棟
			CommonSetCommand();
			}
		
		break;
	case ELicenseCheckGetCpList:					// 儔僀僙儞僗峏怴僠僃僢僋梫媮
		if (KErrNone == aResult)
			{
			TSmbMusicAPSyncEngineListInfo& listInfo = aResponse.GetResultListInfo();
			if (0 >= listInfo.iCount)		// 儔僀僙儞僗僠僃僢僋晄梫
				{
				// 儔僀僙儞僗僠僃僢僋姰椆偺僐儅儞僪傪僙僢僩
				iLCInterface.LCComplete();

				iState = EFilterProcessLCStateIdle;		// 張棟姰椆偺偨傔丄枹張棟忬懺傊
				}
			else		// 堦妵儔僀僙儞僗僠僃僢僋
				{
				// (堦妵)儔僀僙儞僗僠僃僢僋傾僾儕婲摦
				iLCInterface.StartLCApp(ETrue, 0);
				
				// 堦妵儔僀僙儞僗僠僃僢僋愝掕僼儔僌傪愝掕偡傞
				iSyncEngine.SetLicenceCheckCompletion(ETrue);

				// 張棟姰椆偺偨傔丄枹張棟忬懺傊				
				iState = EFilterProcessLCStateIdle;	
				}
			}
		else			// 旕摨婜墳摎偑僄儔乕偺応崌
			{
			// 堦妵儔僀僙儞僗僠僃僢僋愝掕僼儔僌偼愝掕偣偢嵞惗傊
			// 儔僀僙儞僗僠僃僢僋姰椆偺僐儅儞僪傪僙僢僩
			iLCInterface.LCComplete();

			// 張棟姰椆偺偨傔丄枹張棟忬懺傊
			iState = EFilterProcessLCStateIdle;
			}
	
		break;
	default:
		// 儘僌弌椡
		TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x07;
		_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::RequestComplete()[default case]aKind:%d aResult:%d");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aKind, aResult);
		break;
		}
	
	}

	/**
	 * 梫媮僉儍儞僙儖
	 *
	 * @param[in]		aKind				梫媮庬暿
	 * @param[in]		aResponse			墳摎僋儔僗偺嶲徠乮忣曬庢摼梡乯
	 * @return		側偟
	 */
void TSmbMusicAPMainPlayerLicenseCheck::RequestCancel(TSmbMusicAPMainPlayerRequest aKind, MSmbMusicAPMainPlayerFilterSyncServerProcessResponse& /* aResponse */)
	{
	TInt logCode = CLASS_CODE_TSmbMusicAPMainPlayerLicenseCheck | 0x08;
	_LIT(KLogFmt, "TSmbMusicAPMainPlayerLicenseCheck::RequestCancel()aKind:%d iState:%d");
	SmbMusicAPMainPlayerUtility::OutputLog(iLog, logCode, ELogLevelNormal, KLogFmt, aKind, iState);

	switch (aKind)
		{
	case ELicenseCheckGetSongLimitInfo:				// 惂尷忣曬庢摼梫媮
	case ELicenseCheckGetCpList:					// 儔僀僙儞僗峏怴僠僃僢僋梫媮
		// 枹張棟忬懺傊
		iState = EFilterProcessLCStateIdle;
	
		break;
	default:
		break;
		}
	}

SEMCJ_NAMESPACE_END

// end of SmbMusicAPMainPlayerLicenseCheck.cpp
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?