📄 smbmusicapsingleplayersetplaycontext.cpp
字号:
/*----------------------------------------------------------------------------*/
// Copyright (c) 2007 Sony Ericsson Mobile Communications Japan, Inc.
// All rights reserved.
/*----------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSinglePlayerSetPlayContext.cpp
//
// Description:
// 嵞惗嬋愝掕僋儔僗
//
// Modify:
// 2007-02-01 PTX824Start
// 2007-06-26 D_82400004307僒僽僗僋儕僾僔儑儞僐儞僥儞僣嵞惗惂尷偺専嵏桳柍梡偺廋惓(昁偢専嵏偡傞傛偆偵側偭偰偄傞)
/*------------------------------------------------------------------------*/
// $NoKeywords: $
#ifndef SMBMUSICAPSINGLEPLAYERSETPLAYCONTEXT_H_
#include "SmbMusicAPSinglePlayerSetPlayContext.h" // 堦嬋嵞惗僾儗僀儎乕嵞惗嬋愝掕僋儔僗
#endif //SMBMUSICAPSINGLEPLAYERSETPLAYCONTEXT_H_
#ifndef SMBMUSICAPSINGLEPLAYERMODEL_H_
#include "SmbMusicAPSinglePlayerModel.h" // 堦嬋嵞惗僾儗僀儎乕Model
#endif // SMBMUSICAPSINGLEPLAYERMODEL_H_
#ifndef __SMBMUSICMWPLAYERIF_H__
#include <SmbMusicMWPlayerIF.h> // MW僾儗僀儎乕惂屼IF
#endif // __SMBMUSICMWPLAYERIF_H__
#ifndef SMBMUSICAPSINGLEPLAYERLOG_H_
#include "SmbMusicAPSinglePlayerLog.h" // 儘僌
#endif // SMBMUSICAPSINGLEPLAYERLOG_H_
SEMCJ_NAMESPACE_BEGIN
#ifdef _DEBUG
_LIT(KPanicCategory, "SMBMUSICSINGLEPLAYERSETPLAY");
#endif
_LIT(KSetPlayContext, "SmbMusicAPSinglePlayerSetPlayContext");
/**
* 僐儞僗僩儔僋僞
*
* @param RSmbMusicMWPlayerSession* aSession
* @param CSmbMusicAPSinglePlayerModel*
*/
CSmbMusicAPSinglePlayerSetPlayContext::CSmbMusicAPSinglePlayerSetPlayContext(RSmbMusicMWPlayerSession* aSession,
CSmbMusicAPSinglePlayerModel* aModel)
: CActive(EPriorityStandard),
iModel(aModel),
iSession(aSession)
{
__ASSERT_DEBUG(aSession != NULL,
User::Panic(KPanicCategory, EInvalidArgument));
__ASSERT_DEBUG(aModel != NULL,
User::Panic(KPanicCategory, EInvalidArgument));
CActiveScheduler::Add(this);
}
/**
* 僨僗僩儔僋僞
*
* @param 側偟
*/
CSmbMusicAPSinglePlayerSetPlayContext::~CSmbMusicAPSinglePlayerSetPlayContext()
{
Cancel();
}
/**
* 僼傽僋僩儕娭悢
*
* @param RSmbMusicMWPlayerSessionsion* aSession
* @param CSmbMusicAPSinglePlayerModel* aModel
* @return CSmbMusicAPSinglePlayerSetPlayContext* 嵞惗梡嬋愝掕僋儔僗僀儞僗僞儞僗
*/
CSmbMusicAPSinglePlayerSetPlayContext* CSmbMusicAPSinglePlayerSetPlayContext::NewL(RSmbMusicMWPlayerSession* aSession,
CSmbMusicAPSinglePlayerModel* aModel)
{
CSmbMusicAPSinglePlayerSetPlayContext* self = new(ELeave) CSmbMusicAPSinglePlayerSetPlayContext(aSession, aModel);
return self;
}
/**
* 嬋傾僀僥儉偺愝掕
*
* @param TSmbMusicMWPlayerOneSongContext& aSongItem 愝掕偡傞嬋傾僀僥儉
* @param TBool aCheackLimitCount 嬋傾僀僥儉偵懳偟丄嵞惗惂尷偺専嵏傪偡傞偐偳偆偐
* @param TBool aIsUpLimitCount 嵞惗夞悢傪僇僂儞僩傾僢僾偡傞偐斲偐
* @return TInt KErrNone:梫媮敪峴/偦偺懠:憐掕奜
*/
TInt CSmbMusicAPSinglePlayerSetPlayContext::SetPlayContext(TSmbMusicMWPlayerOneSongContext& aOneSongContext, TBool aCheackLimitCount, TBool aIsUpLimitCount, TBool aLicenseCheck)
{
__ASSERT_DEBUG(&aOneSongContext != NULL,
User::Panic(KPanicCategory, EInvalidArgument));
Cancel();
SmbMusicAPSinglePlayerLog::OutputLog(KSetPlayContext, ESetPlayContext, ELogLevelLowest,_L("aCheckLimit:%d aIsUpLimit:%d StartTime:%d EndTime:%d" ), aCheackLimitCount, aIsUpLimitCount, aOneSongContext.iPlayStartTime, aOneSongContext.iPlayEndTime);
//MOD-S D_82400004307 堷悢曄峏
TInt ret = iSession->SetPlayContext(aOneSongContext, aCheackLimitCount, aIsUpLimitCount, iStatus, aLicenseCheck);
//MOD-E D_82400004307
if(KErrNone != ret)
{
SmbMusicAPSinglePlayerLog::OutputLog(KSetPlayContext, ESetPlayContext, ELogLevelNormal,_L("SetPlayContextError:%d" ),ret);
return ret;
}
SetActive();
return KErrNone;
}
/**
* 旕摨婜張棟廔椆屻
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerSetPlayContext::RunL()
{
TInt ret = iStatus.Int();
if(KErrNone != ret)
{
SmbMusicAPSinglePlayerLog::OutputLog(KSetPlayContext, ESetPlayContext, ELogLevelNormal,_L("SetPlayContext(RunL)Error:%d" ),ret);
}
iModel->SetPlayContextCompleteL(ret);
}
/**
* 旕摨婜梫媮僉儍儞僙儖張棟
*
* @param 側偟
* @return void
*/
void CSmbMusicAPSinglePlayerSetPlayContext::DoCancel()
{
// 曉傝抣偵墳偠偰摿偵張棟傪曄偊傞昁梫偑側偄偨傔丄曉傝抣傪柍帇
TInt ret = iSession->CancelPlayContext();
if(KErrNone != ret)
{
// 僨僗僩儔僋僞撪偱僉儍儞僙儖偝傟傞偙偲偑偁傞偨傔
SmbMusicAPSinglePlayerLog::OutputLogWithServerConnect(KSetPlayContext, ESetPlayContext, ELogLevelLowest,_L("SetPlayContext(DoCancel)Error:%d"), ret);
}
}
SEMCJ_NAMESPACE_END
// end of SmbMusicAPSinglePlayerSetPlayContext.cpp
/* Copyright (C) 2007 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -