smbmusicapmainplayerplaycmd.cpp

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

CPP
681
字号
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerPlayCmd.cpp
//
// Description: 
//	儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺僐儅儞僪僋儔僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+----------------------------------------------
//2006/06/13	|K3拞堜		| 弶斉儕儕乕僗
//2006/07/06	|K3拞堜		| RequestKind()捛壛
//2006/07/24	|K3拞堜		| HandleReleaseAccessSyncEngineL()偵儘僌弌椡傪愝掕
//2006/07/28	|K3拞堜		| 忬懺曄壔捠抦偵儗僕儏乕儉忣曬傪捛壛
//2006/08/01	|K3戝嫶		| 廔椆妋擣僟僀傾儘僌偺僋儘乕僘傪捠抦偡傞僀儞僞僼僃乕僗傪捛壛
//2006/08/02	|K3戝嫶		| 僒僽僾儗僀儎乕偺婲摦姰椆傪捠抦偡傞僀儞僞僼僃乕僗傪捛壛
//2006/08/03	|K3戝嫶		| 抂枛奐暵傪捠抦偡傞僀儞僞僼僃乕僗傪捛壛
//2006/08/24	|K3拞堜		| HOLD梫媮乛夝彍儊僜僢僪傪捛壛
//2006/09/07	|K3戝嫶		| HandleBatteryLowPauseL()偑曉傝抣傪曉偡傛偆偵奼挘偝傟偨偙偲偵懳墳
//2006/09/13	|K3戝嫶		| PreparePlay拞偺掅揹埑嬋掆巭偵懳墳偡傞偨傔丄僀儞僞僼僃乕僗偑奼挘偝傟偨偙偲偵懳墳
//2006/09/15	|K3拞堜		| NotifyBatteryLowPlayL儊僜僢僪偺堷悢曄峏偵敽偆廋惓
//2006/09/25	|K3拞堜		| StartPlay()偺堷悢傪曄峏
//2006/10/01	|K3拞堜		| GetListType()儊僜僢僪捛壛
//2006/10/10	|K3拞堜		| RequestKind() 傪 GetRequestKind()偵曄峏
//2006/10/11	|K3拞堜		| ReturnPlayFormFF(), ReturnPlayFormFR() 捛壛
//2006/10/27	|K3拞堜		| TRK:11935 HandleExitApp()偱NotifyExitApp()傪屇傃弌偡

/// 嵞惗宯僐儅儞僪僋儔僗
/**
 * @file SmbMusicAPMainPlayerPlayCmd.cpp
 *
 * 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺僐儅儞僪僋儔僗
 */

#ifndef __SMBMUSICAPMAINPLAYERUTILITY_H__
#include "SmbMusicAPMainPlayerUtility.h"
#endif

// Add 2006.01.09
#ifndef __SMBMUSICAPMAINPLAYEROLAYINFOPROC_H__
#include "SmbMusicAPMainPlayerPlayInfoProc.h"
#endif
// Add End 2006.01.09

#ifndef SMBMUSICAPMAINPLAYERPLAYCMD_H__
#include "SmbMusicAPMainPlayerPlayCmd.h"
#endif

SEMCJ_NAMESPACE_BEGIN

/**
 * 僋儔僗惗惉
 * @param[in] aMusicSyncEngine 摨婜僄儞僕儞
 * @return 惗惉偟偨CSmbMusicAPMainPlayerPlayCmd僆僽僕僃僋僩
 * @param[in] aLog RLog僆僽僕僃僋僩
 */
CSmbMusicAPMainPlayerPlayCmd* CSmbMusicAPMainPlayerPlayCmd::NewL(CSmbMusicAPSyncEngine& aMusicSyncEngine, RLog& aLog)
	{
	CSmbMusicAPMainPlayerPlayCmd* self = new(ELeave) CSmbMusicAPMainPlayerPlayCmd(aMusicSyncEngine, aLog);
	CleanupStack::PushL(self);
	self->ConstructL();
	CleanupStack::Pop(); // self
	return self;
	}

/**
 * 僀儞僗僞儞僗惗惉
 * @param[in] aMusicSyncEngine 摨婜僄儞僕儞
 * @param[in] aLog RLog僆僽僕僃僋僩
 */
CSmbMusicAPMainPlayerPlayCmd::CSmbMusicAPMainPlayerPlayCmd(CSmbMusicAPSyncEngine& aMusicSyncEngine, RLog& aLog)
	: iLog(aLog), iSyncEngine(aMusicSyncEngine)
	{
	}

/**
 * 擇師僐儞僗僩儔僋僞
 */
void CSmbMusicAPMainPlayerPlayCmd::ConstructL()
	{
// Add 2007.01.09
	// 昞帵忣曬梡摨婜僄儞僕儞惂屼僋儔僗偺惗惉
	TRAPD(err2, iInfoProc = CSmbMusicAPMainPlayerPlayInfoProc::NewL(iSyncEngine, iLog));
	if (KErrNone != err2)
		{
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayCmd::ConstructL iInfoProc Fail");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 210003, ELogLevelHigh, KLogFmt);
		User::Leave(err2);
		}
// Add End 2007.01.09
	
	// 摨婜僄儞僕儞惂屼僋儔僗偺惗惉
// Change 2007.08.01
//	TRAPD(err, iProc = CSmbMusicAPMainPlayerPlayProc::NewL(iSyncEngine, iLog));
	TRAPD(err, iProc = CSmbMusicAPMainPlayerPlayProc::NewL(*iInfoProc, iSyncEngine, iLog));
// Change End 2007.08.01
	if (KErrNone != err)
		{
		_LIT(KLogFmt, "CSmbMusicAPMainPlayerPlayCmd::ConstructL iProc Fail");
		SmbMusicAPMainPlayerUtility::OutputLog(iLog, 210002, ELogLevelHigh, KLogFmt);
		User::Leave(err);
		}
	}

/**
 * 僨僗僩儔僋僞
 */
CSmbMusicAPMainPlayerPlayCmd::~CSmbMusicAPMainPlayerPlayCmd()
	{
	delete iProc;
// Add 2007.01.09
	delete iInfoProc;
// Add End 2007.01.09
	}

/**
 * 僐儅儞僪張棟僆僽僓乕僶搊榐
 * @param[in] aObserver 僐儅儞僪張棟僆僽僓乕僶僋儔僗
 */
void CSmbMusicAPMainPlayerPlayCmd::SetObserver(MSmbMusicAPMainPlayerPlayObserver* aObserver)
	{
	iObserver = aObserver;
	// 摨婜僄儞僕儞惂屼僋儔僗傊僆僽僓乕僶搊榐偡傞丅
	iProc->SetObserver(aObserver);
// Add 2007.01.09
	iInfoProc->SetObserver(aObserver);
// Add End 2007.01.09
	}

/**
 *   僐儅儞僪 ID 傪庴偗庢偭偰張棟偡傞偨傔偺僀儞僞乕僼僃乕僗丏
 *     @param[in] aCommandId 張棟偡傞僐儅儞僪 ID丏
 *    @return 庴偗庢偭偨僐儅儞僪 ID 傪徚旓偟偨偐偳偆偐傪曉偡丏
 *            徚旓偟側偐偭偨応崌偼 ESmbAfCmdIdWasNotConsumed 傪丆
 *             徚旓偟偨応崌偼 ESmbAfCmdIdWasConsumed 傪曉偡偙偲丏
 */
MSmbAfCommandBase::TSmbAfCmdIdResponse CSmbMusicAPMainPlayerPlayCmd::HandleCommandL(TInt /*aCommandId*/)
	{
	return MSmbAfCommandBase::ESmbAfCmdIdWasNotConsumed;
	}

/**
 * 壒埑儗儀儖庢摼奐巒傪MusicMW偵愝掕偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::StartSoundLevel()
	{
	return iProc->StartSoundLevel();
	}

/**
 * 壒埑儗儀儖庢摼廔椆傪MusicMW偵愝掕偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::EndSoundLevel()
	{
	return iProc->EndSoundLevel();
	}

/**
 * 壒埑儗儀儖傪庢摼偡傞丅
 * @param[out] aLeft 嵍僠儍僱儖偺壒埑
 * @param[out] aRight 塃僠儍僱儖偺壒埑
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::CSmbMusicAPMainPlayerPlayCmd::GetSoundLevel(TInt& aLeft, TInt& aRight)
	{
	return iProc->GetSoundLevel(aLeft, aRight);
	}

/**
 * 嵞惗宱夁帪娫庢摼傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::GetPlayTime()
	{
	return iProc->GetPlayTime();
	}

/**
 * 嵞惗嬋昞帵庢摼傪梫媮偡傞丅
 * @param aItem 庢摼偡傞傾僀僥儉忣曬
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::GetPlaySongInfo(TSmbMusicAPSyncEngineItemIndex aItem)
	{
// Change 2007.01.09
//	return iProc->GetPlaySongInfo(aItem);
	return iInfoProc->GetPlaySongInfo(aItem);
// Change End 2007.01.09
	}

/**
 * 壒検愝掕傪梫媮偡傞丅
 * @param aVolume 壒検愝掕僨乕僞
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::SetVolume(TInt aVolume)
	{
	return iProc->SetVolume(aVolume);
	}

/**
 * 嵞惗弨旛傪梫媮偡傞丅
 * @param[in] aPlaySongInfo 嵞惗儕僗僩忣曬
 * @param[in] aAllShuffle 慡嬋僔儍僢僼儖巜掕乮ETrue:慡嬋僔儍僢僼儖乯
 * @param[in] aResume 儗僕儏乕儉嵞惗巜掕乮ETrue:儗僕儏乕儉嵞惗乯
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::PreparePlay(TSmbMusicAPSyncEngineItemIndex aPlaySongInfo, TBool aAllShuffle, TBool aResume)
	{
	return iProc->PreparePlay(aPlaySongInfo, aAllShuffle, aResume);
	}

/**
 * 嵞惗奐巒傪梫媮偡傞丅
 * @param [in] aPlayConfirm 嵞惗奐巒帪偺儐乕僓妋擣乮儅僫乕儌乕僪愝掕帪偺傒桳岠乯	2006.09.25
 * @param [in] aAutoResume  ETrue:僆乕僩儗僕儏乕儉偵傛傞嵞惗  Add 2007.09.04
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::PlayStart(TBool aPlayConfirm, TBool aAutoResume/* = EFalse*/)
	{
	return iProc->PlayStart(aPlayConfirm, aAutoResume);
	}

/**
 * 堦帪掆巭傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::PlayStop()
	{
	return iProc->Pause();
	}

/**
 * 憗憲傝奐巒傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::StartPlayFF()
	{
	return iProc->StartPlayFF();
	}

/**
 * 憗憲傝夝彍傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::CancelPlayFF()
	{
	return iProc->CancelPlayFF();
	}

/**
 * 憗栠偟奐巒傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::StartPlayFR()
	{
	return iProc->StartPlayFR();
	}

/**
 * 憗栠偟夝彍傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::CancelPlayFR()
	{
	return iProc->CancelPlayFR();
	}

// PTX824懳墳
/**
 * 嬋憲傝傪梫媮偡傞丅
 * @param aCount 嬋憲傝偡傞嬋悢		2007.03.23
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::PlayNext(TInt aCount)
	{
	return iProc->PlayNext(aCount);
	}

// PTX824懳墳
/**
 * 嬋栠偟傪梫媮偡傞丅
 * @param aCount 嬋栠偟偡傞嬋悢		2007.03.23
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::PlayPrev(TInt aCount)
	{
	return iProc->PlayPrev(aCount);
	}

/**
 * 摢弌偟傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::PlaySongHead()
	{
	return iProc->PlaySongHead();
	}

/**
 * 儗僕儏乕儉忣曬庢摼傪梫媮偡傞丅
 * @param[out] aInfo 儗僕儏乕儉忣曬奿擺椞堟
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::GetResumeInfo(TSmbMusicAPSyncEngineResumeInfo& aInfo)
	{
	return iProc->GetResumeInfo(aInfo);
	}

/**
 * 儗僕儏乕儉忣曬攋婞傪梫媮偡傞丅
 * @retval ETrue 張棟梫媮惉岟
 * @retval EFalse 張棟梫媮幐攕
 */
TBool CSmbMusicAPMainPlayerPlayCmd::DeleteResumeInfo()
	{
	return iProc->DeleteResumeInfo();
	}

/**
 * 昞帵忣曬曄峏捠抦傪梫媮偡傞丅

⌨️ 快捷键说明

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