📄 smbmusicapsyncserverplayercontroller.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerPlayerController.cpp
//
// Description:
// PTX810 Music傾僾儕摨婜僒乕僶 嵞惗宯僀儀儞僩僗僥乕僩儅僔儞僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+---------------+--------------------------------------
//2006/06/09 |娵壀 |怴婯嶌惉
//2006/09/05 |暯壀 |TRK6491懳墳 ErrSong偑嵟廔嬋忬懺傪捛壛
//2006/09/08 |娵壀 |TRK8235懳墳
//2006/10/20 |K3悪杮 | 僐儊儞僩廋惓
//----PTX824----+---------------+--------------------------------------
//2007/04/03 |K3悪杮 | PTX824懳墳
#ifndef __SMBMUSICAPSYNCSERVERPLAYERCONTROLLER_H__
#include "SmbMusicAPSyncServerPlayerController.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERDEF_H__
#include <SmbMusicAPSyncServerDef.h>
#endif
//#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
//#include "SmbMusicAPSyncServerModel.h"
//#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERFUNC_H__
#include "SmbMusicAPSyncServerPlayerFunc.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEINIT_H__
#include "SmbMusicAPSyncServerPlayerStateInit.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITMWRSC_H__
#include "SmbMusicAPSyncServerPlayerStateWaitMWRsc.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITCLRCNT_H__
#include "SmbMusicAPSyncServerPlayerStateWaitClrCnt.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITCNT_H__
#include "SmbMusicAPSyncServerPlayerStateWaitCnt.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEIDEL_H__
#include "SmbMusicAPSyncServerPlayerStateIdel.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITBGRSC_H__
#include "SmbMusicAPSyncServerPlayerStateWaitBGRsc.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITSTARTPLAY_H__
#include "SmbMusicAPSyncServerPlayerStateWaitStartPlay.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEPLAY_H__
#include "SmbMusicAPSyncServerPlayerStatePlay.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITPLAY_H__
#include "SmbMusicAPSyncServerPlayerStateWaitPlay.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEERRSONG_H__
#include "SmbMusicAPSyncServerPlayerStateErrSong.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITPAUSE_H__
#include "SmbMusicAPSyncServerPlayerStateWaitPause.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEWAITFFFR_H__
#include "SmbMusicAPSyncServerPlayerStateWaitFFFR.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEPLAYFFFR_H__
#include "SmbMusicAPSyncServerPlayerStatePlayFFFR.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATESUSPEND_H__
#include "SmbMusicAPSyncServerPlayerStateSuspend.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATESUSWAITMWRSC_H__
#include "SmbMusicAPSyncServerPlayerStateSusWaitMWRsc.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATESUSWAITCNT_H__
#include "SmbMusicAPSyncServerPlayerStateSusWaitCnt.h"
#endif
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATEAPPEND_H__
#include "SmbMusicAPSyncServerPlayerStateAppEnd.h"
#endif
// ADD-S PTX824 k3-sugimoto
#ifndef __SMBMUSICAPSYNCSERVERPLAYERSTATECONFIRM_H__
#include "SmbMusicAPSyncServerPlayerStateConfirm.h"
#endif // __SMBMUSICAPSYNCSERVERPLAYERSTATECONFIRM_H__
// ADD-E PTX824 k3-sugimoto
#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif
USING_NAMESPACE_SEMCJ
/**
* 僐儞僗僩儔僋僞
* @param [in] aLog 儘僌僒乕僶僙僢僔儑儞偺嶲徠
* @return
**/
CSmbMusicAPSyncServerPlayerController::CSmbMusicAPSyncServerPlayerController(DCM_NAMESPACE::RLog& aLog)
: CSmbMusicAPSyncServerControllerBase(aLog),iPlayerState(ESmbMusicAPSyncServerPlayerInit)
{
}
/**
* 僨僗僩儔僋僞
**/
CSmbMusicAPSyncServerPlayerController::~CSmbMusicAPSyncServerPlayerController()
{
delete iFunc;
//Array偺拞恎傪嶍彍偟傑偡
iState.ResetAndDestroy();
iState.Close();
}
/**
* 僙僢僔儑儞愙懕捠抦
* @param [in] aSession 愙懕偟偨僙僢僔儑儞
* @return 側偟
**/
void CSmbMusicAPSyncServerPlayerController::Connect(CSession2& aSession)
{
// 僙僢僔儑儞偺愙懕捠抦
iPlayerState = iState[iPlayerState]->Connect(aSession, iPlayerState);
}
/**
* 儊僢僙乕僕張棟娭悢
* @param [in] aMsg 庴怣儊僢僙乕僕
* @return 張棟寢壥乮ETrue丗張棟偟偨/EFalse丗張棟偟偰側偄乯
**/
TBool CSmbMusicAPSyncServerPlayerController::ReceiveMessageL(const RMessage2& aMsg)
{
TSmbMusicAPSyncServerFunction funcid(static_cast<TSmbMusicAPSyncServerFunction>(aMsg.Function()));
//庴怣偟偨僀儀儞僩傪弌椡偡傞
TInt log = EMusicAPSyncServerClassNumber50 | EMusicAPSyncServerLocationNumber00;
_LIT(KPlayerControllerReceiveMessageL01, "SyncServerPlayerController::ReceiveMessageL(0x%08x), State = %d");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelNormal, KPlayerControllerReceiveMessageL01, funcid, iPlayerState);
TBool res = ETrue;
switch(funcid)
{
///<嵞惗弨旛
case ESmbMusicAPSyncServerFuncPreparePlay:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->PrePlay(iPlayerState);
break;
///<嵞惗傪奐巒
case ESmbMusicAPSyncServerFuncPlay:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->Play(iPlayerState);
break;
///<堦帪掆巭
case ESmbMusicAPSyncServerFuncPause:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->Pause(iPlayerState);
break;
///<憗憲傝嵞惗
case ESmbMusicAPSyncServerFuncPlayFF:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->PlayFF(iPlayerState);
break;
///<憗栠偟嵞惗
case ESmbMusicAPSyncServerFuncPlayFR:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->PlayFR(iPlayerState);
break;
///<憗憲傝嵞惗傪夝彍
case ESmbMusicAPSyncServerFuncPlayFromFF:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->PlayFromFF(iPlayerState);
break;
///<憗栠偟嵞惗傪夝彍
case ESmbMusicAPSyncServerFuncPlayFromFR:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->PlayFromFR(iPlayerState);
break;
///<嬋憲傝
case ESmbMusicAPSyncServerFuncRequestNextSong:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->NextSong(iPlayerState);
break;
///<嬋栠偟
case ESmbMusicAPSyncServerFuncRequestPrevSong:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->PrevSong(iPlayerState);
break;
///<摢弌偟嬋嵞惗
case ESmbMusicAPSyncServerFuncRequestSongHead:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SongHead(iPlayerState);
break;
///<壒埑儗儀儖傪庢摼
case ESmbMusicAPSyncServerFuncGetSoundLevel:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->GetSound(iPlayerState);
break;
///<壒検傪愝掕
case ESmbMusicAPSyncServerFuncSetVolume:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetVolume(iPlayerState);
break;
///<壒検傪庢摼
// case ESmbMusicAPSyncServerFuncGetVolume:
// iPlayerState = iState[iPlayerState]->GetVolume(iPlayerState);
// break;
///<Mute傪愝掕
case ESmbMusicAPSyncServerFuncSetMute:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetMute(iPlayerState);
break;
///<僀僐儔僀僓乕傪愝掕
case ESmbMusicAPSyncServerFuncSetEqualizer:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetEqualizer(iPlayerState);
break;
///<僒儔僂儞僪傪愝掕
case ESmbMusicAPSyncServerFuncSetSurround:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetSurround(iPlayerState);
break;
///<Bass傪愝掕
case ESmbMusicAPSyncServerFuncSetBass:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetBass(iPlayerState);
break;
///<僆乕僩儗儀儖傪愝掕
case ESmbMusicAPSyncServerFuncSetAutoLevel:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetAutoLevel(iPlayerState);
break;
///<儕僺乕僩儌乕僪傪愝掕
case ESmbMusicAPSyncServerFuncSetRepeatMode:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetRepeat(iPlayerState);
break;
///<僔儍僢僼儖傪愝掕
case ESmbMusicAPSyncServerFuncSetShuffleMode:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetShuffle(iPlayerState);
break;
///<Music愝掕慡偰偺僷儔儊乕僞傪愝掕
case ESmbMusicAPSyncServerFuncSetMusicAllParam:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetAllParam(iPlayerState);
break;
///<Music愝掕慡偰偺僷儔儊乕僞傪庢摼
case ESmbMusicAPSyncServerFuncGetMusicAllParam:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->GetAllParam(iPlayerState);
break;
///<儗僕儏乕儉忣曬傪攋婞
case ESmbMusicAPSyncServerFuncDeleteResumeInfo:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->DeleteResumeInfo(iPlayerState);
break;
///<儗僕儏乕儉忣曬傪庢摼
case ESmbMusicAPSyncServerFuncGetResumeInfo:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->GetResumeInfo(iPlayerState);
break;
///<嵞惗宱夁帪娫傪庢摼
case ESmbMusicAPSyncServerFuncGetPlayTime:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->GetPlayTime(iPlayerState);
break;
///<壒埑儗儀儖庢摼儌乕僪愝掕
case ESmbMusicAPSyncServerFuncSetSoundLevelMode:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->SetSoundLevelMode(iPlayerState);
break;
//嵞惗宯偺僀儀儞僩捠抦梫媮
case ESmbMusicAPSyncServerFuncPlayerRequestNotify:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->EventNotifyReq(iPlayerState);
break;
//嵞惗宯偺僀儀儞僩捠抦僉儍儞僙儖梫媮
case ESmbMusicAPSyncServerFuncPlayerCancelRequestNotify:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->CancelEventNotify(iPlayerState);
break;
// ADD-S PTX824 k3-sugimoto
//妋擣屻宲懕嵞惗梫媮
case ESmbMusicAPSyncServerFuncConfirmedPlay:
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->ConfirmedPlay(iPlayerState);
break;
// ADD-E PTX824 k3-sugimoto
//傾僾儕廔椆捠抦
case ESmbMusicAPSyncServerFuncAppExit:
//慡偰偺張棟傪拞巭
iState[iPlayerState]->SetMessage(aMsg);
iPlayerState = iState[iPlayerState]->AppEnd(iPlayerState);
res = EFalse;
break;
default:
//僀儀儞僩傪張棟偟偰偄側偄
res = EFalse;
break;
}
return res;
}
/**
* 戞2僼僃乕僘僐儞僗僩儔僋僞
* @param [in] aModel 僒乕僶儌僨儖
* @return 側偟
**/
void CSmbMusicAPSyncServerPlayerController::ConstructL(CSmbMusicAPSyncServerModel& aModel)
{
//Func僋儔僗傪惗惉偡傞
iFunc = new(ELeave)CSmbMusicAPSyncServerPlayerFunc(iLog, aModel);
iFunc->ConstructL(*this);
CSmbMusicAPSyncServerPlayerStateBase* stateClass;
for(TInt state = ESmbMusicAPSyncServerPlayerInit; state < ESmbMusicApSyncServerPlayerStateMax; state++)
{
//僗僥乕僩僋儔僗傪惗惉
stateClass = StateMachineFactoryL(state, iLog, *iFunc);
if(NULL != stateClass)
{
//僗僥乕僩儅僔乕儞偵搊榐
iState.Append(stateClass);
}
else
{
//儘僌弌椡
TInt log = EMusicAPSyncServerClassNumber50 | EMusicAPSyncServerLocationNumber02;
_LIT(KPlayerController02, "SyncServerPlayerController::ConstructL");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KPlayerController02);
}
}
}
/**
* 旕摨婜僐儅儞僪張棟
* @param [in] aCommand 嵞惗宯偺僐儅儞僪
* @return 側偟
**/
void CSmbMusicAPSyncServerPlayerController::AsyncCommand(TSmbMusicAPSyncServerPlayerAsyncCommand aCommand)
{
//庴怣偟偨僐儅儞僪傪弌椡偡傞
TInt log = EMusicAPSyncServerClassNumber50 | EMusicAPSyncServerLocationNumber01;
_LIT(KPlayerControllerAsyncCommand, "SyncServerPlayerController::AsyncCommand = %d, State = %d");
SmbMusicAPSyncServerLog(iLog, log, ELogLevelNormal, KPlayerControllerAsyncCommand, aCommand, iPlayerState);
switch(aCommand)
{
// case ESmbMusicAPSyncServerPlayerGetMWRsc:
case ESmbMusicAPSyncServerPlayerGetRscOKRes:
// 儕僜乕僗庢摼OK僐儅儞僪
iPlayerState = iState[iPlayerState]->GetRscOKRes(iPlayerState);
break;
// case ESmbMusicAPSyncServerPlayerGetBGRsc:
// BG儕僜乕僗庢摼OK僐儅儞僪
// iPlayerState = iState[iPlayerState]->GetRscOKRes(iPlayerState);
// break;
case ESmbMusicAPSyncServerPlayerGetRscNGRes:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -