📄 smbmusicapsingleplayerrecordplayreport.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 + -