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

📄 smbmusicapsyncserverplayercontroller.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* 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 + -