⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smbmusicapsingleplayerrecordplayreport.cpp

📁 symbian代码
💻 CPP
字号:
/*----------------------------------------------------------------------------*/
// Copyright (c) 2007 Sony Ericsson Mobile Communications Japan, Inc.
// All rights reserved.
/*----------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSinglePlayerRecordPlayReport.cpp
//   
// Description:
//	堦嬋嵞惗僾儗僀儎乕嵞惗棜楌婰榐僋儔僗
//
//	Modify:
//	2007-02-01	PTX824Start
//	2007-10-02	D_82400016111
/*------------------------------------------------------------------------*/
// $NoKeywords: $

#ifndef SMBMUSICAPSINGLEPLAYERRECORDPLAYREPORT_H_
#include "SmbMusicAPSinglePlayerRecordPlayreport.h"	//	堦嬋嵞惗僾儗僀儎乕嵞惗棜楌婰榐
#endif	//SMBMUSICAPSINGLEPLAYERRECORDPLAYREPORT_H_

#ifndef SMBMUSICAPSINGLEPLAYERMODEL_H_
#include "SmbMusicAPSinglePlayerModel.h"	//堦嬋嵞惗僾儗僀儎乕Model
#endif //SMBMUSICAPSINGLEPLAYERMODEL_H_

#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>	//MW儔僀僽儔儕僋儔僀傾儞僩
#endif //__SMBMUSICMWLIBCLIENT_H__

#ifndef SMBMUSICAPSINGLEPLAYERLOG_H_
#include "SmbMusicAPSinglePlayerLog.h"	//	儘僌
#endif	//SMBMUSICAPSINGLEPLAYERLOG_H_

SEMCJ_NAMESPACE_BEGIN

#if defined(_DEBUG)
_LIT(KPanicCategory, "SmbMusicAPSinglePlayerRecordPlayReport");
#endif

_LIT(KRecordPlayReport, "SmbMusicAPSinglePlayerRecordPlayReport");

/**
 *	僐儞僗僩儔僋僞
 *
 *	@param	RSmbMusicMWLibSession*	aSession	MW儔僀僽儔儕僙僢僔儑儞
 *	@param	CSmbMusicAPSinglePlayerModel*	堦嬋嵞惗僾儗僀儎乕Model
 */
CSmbMusicAPSinglePlayerRecordPlayReport::CSmbMusicAPSinglePlayerRecordPlayReport
										(CSmbMusicMWLibSongItem* aSongItem,
										 CSmbMusicAPSinglePlayerModel* aModel)
	: 	CActive(EPriorityStandard),
		iModel(aModel),
		iSongItem(aSongItem)

	{
	__ASSERT_DEBUG(aSongItem != NULL, 
					User::Panic(KPanicCategory, EInvalidArgument));
	__ASSERT_DEBUG(aModel != NULL, 
					User::Panic(KPanicCategory, EInvalidArgument));
	CActiveScheduler::Add(this);
	}

/**
 *	僨僗僩儔僋僞
 *	
 *	@param	側偟
 */
CSmbMusicAPSinglePlayerRecordPlayReport::~CSmbMusicAPSinglePlayerRecordPlayReport()
	{
	Cancel();
	}


/**
 *	僼傽僋僩儕娭悢
 *
 *	@param	RSmbMusicMWLibSession*	aSession	MW儔僀僽儔儕僙僢僔儑儞
 *	@param	CSmbMusicAPSinglePlayerModel*	aModel	堦嬋嵞惗僾儗僀儎乕_Model僋儔僗
 *	@return CSmbMusicAPSinglePlayerDeleteItem* 堦嬋嵞惗僾儗僀儎乕嬋嶍彍僋儔僗僀儞僗僞儞僗
 */
CSmbMusicAPSinglePlayerRecordPlayReport* CSmbMusicAPSinglePlayerRecordPlayReport::NewL(	CSmbMusicMWLibSongItem* aSongItem,
																			 CSmbMusicAPSinglePlayerModel* aModel)
	{
	CSmbMusicAPSinglePlayerRecordPlayReport* self = new(ELeave) CSmbMusicAPSinglePlayerRecordPlayReport(aSongItem, aModel);
	return self;
	}

/**
 *	棜楌偺婰榐
 *
 *	@param	側偟
 *	@return void
 */
void CSmbMusicAPSinglePlayerRecordPlayReport::RecordPlayReportL()
	{
	TUint playReportPattern = (ESmbMusicMWLibRecordPlayReportPatternPlayCount | ESmbMusicMWLibRecordPlayReportPatternPlayHistory);
	TInt ret = iSongItem->RecordPlayReport(playReportPattern,iStatus);
	if(KErrNone == ret)
		{
		SetActive();		
		}
	else
		{
		SmbMusicAPSinglePlayerLog::OutputLog(KRecordPlayReport, ERecordPlayReport, ELogLevelHigh,_L("RecordPlayReportErr:%d" ), ret);
		User::Leave(ret);
		}
	}

/**
 *	棜楌偺婰榐(2)
 *
 *	@param TInt aCount	壗夞暘棜楌傪婰榐偡傞偐
 *	@return void
 */
void CSmbMusicAPSinglePlayerRecordPlayReport::RecordPlayReportForceL(TInt aInt)
	{
	TUint playReportPattern = (ESmbMusicMWLibRecordPlayReportPatternPlayCount | ESmbMusicMWLibRecordPlayReportPatternPlayHistory);

	for(TInt i = 0; i < aInt; i++)	//MOD For D_82400016111
		{
		TInt ret = iSongItem->RecordPlayReport(playReportPattern,iStatus);
		if(KErrNone != ret)
			{
			SmbMusicAPSinglePlayerLog::OutputLog(KRecordPlayReport, ERecordPlayReport, ELogLevelHigh,_L("(F)RecordPlayReportErr:%d" ), ret);
			User::Leave(ret);
			}
			
		User::WaitForRequest(iStatus);	//	儕僋僄僗僩懸偪

		ret = iStatus.Int();	//	嵞搙僄儔乕僠僃僢僋

		if(KErrNone != ret && KErrNotReady != ret)
			{
			SmbMusicAPSinglePlayerLog::OutputLog(KRecordPlayReport, ERecordPlayReport, ELogLevelHigh,_L("(F)RecordPlayReportCompleteErr:%d" ), ret);
			User::Leave(ret);
			}
		}
	}

/**
 *	旕摨婜張棟廔椆屻
 *
 *	@param	側偟
 *	@return void
 */
void CSmbMusicAPSinglePlayerRecordPlayReport::RunL()
	{
	TInt ret = iStatus.Int();
	iModel->RecordPlayReportCompleteL();
	if(KErrNone != ret)
		{
		SmbMusicAPSinglePlayerLog::OutputLog(KRecordPlayReport, ERecordPlayReport, ELogLevelNormal,_L("RecordPlayReport(RunL) Err:%d" ), ret);
		}
	}

/**
 *	旕摨婜梫媮僉儍儞僙儖張棟
 *	
 *	@param	側偟
 *	@return void
 */
void CSmbMusicAPSinglePlayerRecordPlayReport::DoCancel()
	{
	iSongItem->CancelRecordPlayReport();
	}

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

⌨️ 快捷键说明

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