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

📄 smbmusicapsingleplayersetplaycontext.cpp

📁 symbian代码
💻 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 + -