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

📄 smbmusicapsyncservermodel.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 3 页
字号:
void CSmbMusicAPSyncServerModel::CheckPhone()
	{
	//僀儎僼僅儞偺忬懺傪庢摼偡傞
	DCM_NAMESPACE::MEtWcdmaExtDevice::TEtEarphoneStatus state =
	DCM_NAMESPACE::PGPropAgentStatus::GetEarphoneStatusL(iPropAgent);

	if(DCM_NAMESPACE::MEtWcdmaExtDevice::EEtEarphoneConnecting == state)
		{
		//僀儎僼僅儞偁傝
		iLineOutState.iPhone = ETrue;
		}
	else
		{
		//僀儎僼僅儞側偟
		iLineOutState.iPhone = EFalse;
		}
//@@TRK7490懳墳	delete Start
	//儅僫乕儌乕僪OFF偵偟偨応崌偼儅僫乕儌乕僪拞偺嵞惗奐巒僼儔僌傪僋儕傾偡傞
//	iLineOutState.iPlayWithManner = EFalse;
//@@TRK7490懳墳	delete Delete
	}

/**
 Music僾儗僀儎乕偺弌椡忬懺傪挷傋傞
 * @param [in]	側偟
 * @return		弌椡忬懺乮ETrue丗弌椡偁傝/EFalse丗弌椡側偟乯
 */
TBool  CSmbMusicAPSyncServerModel::LineOut()
	{
	return iLineOutState.iLineOut;
	}

/**
嵞惗宯 儗僕儏乕儉忣曬 桳岠僼儔僌傪愝掕偡傞
* @param [in]	桳岠僼儔僌乮ETrue丗桳岠/EFalse丗柍岠乯
* @return		側偟
*/
void CSmbMusicAPSyncServerModel::SetPlayerResumeInfoAvailable(TBool aAvailable)
	{
	iResumeInfoAvailablePlayer = aAvailable;
	}

/**
僐儞僥儞僣宯 儗僕儏乕儉忣曬 桳岠僼儔僌傪愝掕偡傞
* @param [in]	桳岠僼儔僌乮ETrue丗桳岠/EFalse丗柍岠乯
* @return		側偟
*/
void CSmbMusicAPSyncServerModel::SetContentsResumeInfoAvailable(TBool aAvailable)
	{
	iResumeInfoAvailableContents = aAvailable;
	}

/**
儗僕儏乕儉忣曬偺桳岠惈傪庢摼偡傞
* @param [in]	側偟
* @return		桳岠僼儔僌乮ETrue丗桳岠/EFalse丗柍岠乯
*/
TBool CSmbMusicAPSyncServerModel::GetResumeInfoAvailable()
	{
	if( EFalse != iResumeInfoAvailablePlayer &&
		EFalse != iResumeInfoAvailableContents)
		{
		return ETrue;
		}
	else
		{
		return EFalse;
		}
	}

/**
儗僕儏乕儉忣曬傪徚嫀偡傞
* @param		側偟
* @return		側偟
*/
void CSmbMusicAPSyncServerModel::DeleteResume()
	{
	iResumeInfoAvailablePlayer	 = EFalse;
	iResumeInfoAvailableContents = EFalse;

	//儗僕儏乕儉攋婞僐儅儞僪傪敪峴偡傞
	TSmbMusicAPSyncServerInternalCommandPkg commandPkg;
	commandPkg.iCommand = ESmbMusicAPSyncServerDeleteResumeInfo;

	iDispatcher->CommandL(commandPkg);
	}

/**
 Music僾儗僀儎乕偺弌椡忬懺曄峏
 * @param [in]	側偟
 * @return		側偟
 */
void  CSmbMusicAPSyncServerModel::ChangeLineOutState()
	{
	TBool tmoLineOut = iLineOutState.iLineOut;
	//儅僫乕儌乕僪拞偺嵞惗奐巒偐斲偐偱嫇摦偑堘偆
	if(EFalse == iLineOutState.iPlayWithManner)
		{
		if((iLineOutState.iMannerMode != EFalse)&& (iLineOutState.iPhone == EFalse) )
			{
			//儅僫乕儌乕僪拞丄僀儎僼僅儞側偟応崌偺弌椡柍岠偲側傞
			iLineOutState.iLineOut = EFalse;
			}
		else
			{
			//忋婰埲奜偼弌椡偁傝
			iLineOutState.iLineOut = ETrue;
			}
		}
//@@TRK7490懳墳	delete Start
//
//	else
//		{
//		//儅僫乕儌乕僪拞偺嵞惗奐巒僼儔僌偑桳岠偺応崌
//		if(EFalse == iLineOutState.iMannerMode)
//			{
//			//儅僫乕儌乕僪OFF偵偟偨応崌偼儅僫乕儌乕僪拞偺嵞惗奐巒僼儔僌傪僋儕傾偡傞
//			iLineOutState.iPlayWithManner = EFalse;
//			}
//		}
//
//@@TRK7490懳墳	delete End

	//弌椡忬懺偵曄峏偑偁傟偽僐儅儞僪傪敪峴偡傞
	if(tmoLineOut != iLineOutState.iLineOut)
		{
		//弌椡忬懺曄峏僐儅儞僪傪敪峴偡傞
		TSmbMusicAPSyncServerInternalCommandPkg commandPkg;
		commandPkg.iCommand = ESmbMsuicAPSyncServerCheckLineOut;

		iDispatcher->CommandL(commandPkg);
		}
	}

//@@TRK9378	懳墳	Start
/**
 Music僾儗僀儎乕偺嵞惗傪捠抦偡傞
* @param [in]	aListHandle		嵞惗嬋儕僗僩偺僴儞僪儖
* @param [in]	aPlayConfirm	嵞惗慜偺儅僫乕儌乕僪妋擣
* @return		嵞惗張棟偺惉斲乮僐儞僥儞僣宯偺張棟乯
 */
TBool  CSmbMusicAPSyncServerModel::StartPlay(TInt aListHandle, TBool aPlayConfirm)
	{
	//弌椡偁傝偵愝掕偡傞
//	iLineOutState.iLineOut = ETrue;
//	//儅僫乕儌乕僪On 仌 僀儎僼僅儞Off 忬懺偐傜偺嵞惗偱偁傞偐傪挷傋傞
//	if((EFalse != iLineOutState.iMannerMode) && (iLineOutState.iPhone == EFalse))
//		{
//		//儅僫乕儌乕僪拞偺嵞惗
//		iLineOutState.iPlayWithManner = ETrue;
//		}
//	else
//		{
//		//儅僫乕儌乕僪夝彍忬懺偱偺嵞惗
//		iLineOutState.iPlayWithManner = EFalse;
//		}

//@@TRK10338懳墳	Start
	TSmbPGMusicAPPlayerState musicState = SmbPGMusic::MusicAPPlayerStateL(iPropAgent);
	//FF/FR偵傛傞嬋廔抂専弌偲嬋愭摢専弌屻偺Play偵懳偟偰偼丄偙偺僼儔僌憖嶌偼晄梫
	if(ESmbPGMusicAPPlayerStatePlaying != musicState)
		{
		//嵞惗奐巒帪偵儅僫乕儌乕僪夝彍忬懺偱偺嵞惗
		iLineOutState.iPlayWithManner = aPlayConfirm;
		}
//@@TRK10338懳墳	End

	//儅僫乕儌乕僪拞偺嵞惗奐巒偐斲偐偱嫇摦偑堘偆
	if(EFalse == iLineOutState.iPlayWithManner)
		{
		if((iLineOutState.iMannerMode != EFalse)&& (iLineOutState.iPhone == EFalse) )
			{
			//儅僫乕儌乕僪拞丄僀儎僼僅儞側偟応崌偺弌椡柍岠偲側傞
			iLineOutState.iLineOut = EFalse;
			}
		else
			{
			//忋婰埲奜偼弌椡偁傝
			iLineOutState.iLineOut = ETrue;
			}
		}
	else
		{
		//儅僫乕儌乕僪妋擣偟偨応崌偼昁偢弌椡忬懺偲側傞
		iLineOutState.iLineOut = ETrue;
		}
//@@TRK9378	懳墳	End

	//儗僕儏乕儉曐懚僐儅儞僪傪敪峴偡傞
	TBool									result = EFalse;
	TSmbMusicAPSyncServerInternalCommandPkg commandPkg;

	commandPkg.iCommand = ESmbMusicAPSyncServerSetResumeInfo;
	commandPkg.iParam.iSetResume.iListHandle	= aListHandle;
	commandPkg.iParam.iSetResume.iResult		= &result;

	iDispatcher->CommandL(commandPkg);

	return result;
	}

/**
 奜晹儊儌儕偺忬懺曄峏僐儅儞僪傪敪峴偡傞
 * @param [in]	aType
 * @param [in]	aAvailable
 * @return
 */
//@@TRK9519,9520懳墳	Start
void  CSmbMusicAPSyncServerModel::SendExtMemCommand(CSmbExtMemWatcher::TType aType, TBool aAvailable)
	{
	TSmbMusicAPSyncServerInternalCommand command;
	switch(aType)
		{
		//MS憓擖忬懺
		case CSmbExtMemWatcher::EMs:
			if(EFalse != aAvailable)
				{
				command = ESmbMsuicAPSyncServerInsertMS;
				}
			else
				{
				command = ESmbMsuicAPSyncServerRemoveMS;
				}
			break;

		//SD憓擖忬懺
		case CSmbExtMemWatcher::ESd:
			if(EFalse != aAvailable)
				{
				command = ESmbMsuicAPSyncServerInsertSD;
				}
			else
				{
				command = ESmbMsuicAPSyncServerRemoveSD;
				}
			break;

		//MassStorage忬懺
		case CSmbExtMemWatcher::EMass:
			command = ESmbMsuicAPSyncServerChangeExtMemState;
			break;

		default:
			//Mass偺曄峏偲偄偆偙偲偱
			command = ESmbMsuicAPSyncServerChangeExtMemState;
			break;
		}
	//撪晹僐儅儞僪敪峴
	TSmbMusicAPSyncServerInternalCommandPkg commandPkg;
	commandPkg.iCommand = command;

	iDispatcher->CommandL(commandPkg);

	//奜晹儊儌儕乕偺忬懺偑曄峏偝傟偨偺偱儗僕儏乕儉傕攋婞偟傑偡
	DeleteResume();

//	if(ESmbMsuicAPSyncServerChangeExtMemState != command)
//		{
//		//奜晹儊儌儕乕偺忬懺偑曄峏偝傟偨偺偱儗僕儏乕儉傕攋婞偟傑偡
//		DeleteResume();
//		}
//@@TRK9519,9520懳墳	End
	}

/**
 僾儗僀儎乕偑嵞惗忬懺偺帪偼Key壒傪梷惂偡傞
 * @param [in]	aBool(ETrue:梷惂/EFalse:夝曻)
 * @return
 */
void  CSmbMusicAPSyncServerModel::StopKeySound(TBool aBool)
	{
	TRAPD(error, SmbPGMusic::SetAPPlayerStateForKeyToneL(iPropAgent, aBool));
	if(KErrNone != error)
		{
		//	儘僌弌椡
		TInt log = EMusicAPSyncServerClassNumber01 | EMusicAPSyncServerLocationNumber08;
		_LIT(KSyncServerModel08, "SyncServerModel::StopKeySound Leave = %d");
		SmbMusicAPSyncServerLog(iLog, log, ELogLevelHighest, KSyncServerModel08, error);
		}
	}

//  ADD-S PTX824 k3-sugimoto
/**
 *  MTP儌乕僪偺忬懺傪挷傋傞
 **/
void CSmbMusicAPSyncServerModel::CheckMtpModeL()
	{
	TSmbPGMtpModeStatus mtpStatus(ESmbPGMtpModeStatusInitialValue);
	mtpStatus = SmbPGMusic::MtpModeStatusL(iPropAgent);	//  MTP儌乕僪忬懺庢摼

	TInt log = EMusicAPSyncServerClassNumber01 | EMusicAPSyncServerLocationNumber09;
	_LIT(KSyncServerModel09, "SyncServerModel::CheckMtpModeL(State:%d) Flag:%d");
	SmbMusicAPSyncServerLog(iLog, log, ELogLevelLowest, KSyncServerModel09, mtpStatus, iMtpStatus);

//  MODIFY-S  [D_82400015960]MTP偺忬懺捛壛偵傛傞廋惓
	if ((mtpStatus == ESmbPGMtpModeStatusInitialValue) ||	//  弶婜忬懺
		(mtpStatus == ESmbPGMtpModeStatusFailure))			//  MTP婲摦幐攕
//  MODIFY-E  [D_82400015960]MTP偺忬懺捛壛偵傛傞廋惓
		{	//  MTP弶婜忬懺丒婲摦幐攕偺応崌
		//  MTP偑摦嶌偟偰偄側偄
		if (iMtpStatus != EFalse)
			{	//  MTP儌乕僪偑夝彍偝傟偨応崌
			iMtpStatus = EFalse;

//  ADD-S  [D_82400006419] MTP儌乕僪曄峏張棟偑嶍彍偝傟偰偄偨偺偱暅妶丒張棟捛壛
			//  儗僕儏乕儉傪攋婞偟傑偡
			DeleteResume();
//  ADD-E  [D_82400006419] MTP儌乕僪曄峏張棟偑嶍彍偝傟偰偄偨偺偱暅妶丒張棟捛壛
			}
		}
	else
		{	//  MTP弶婜忬懺埲奜偺応崌
		//  MTP偑摦嶌拞(壓婰偺忬懺偑懳徾(UIQ2753))
		//  ESmbPGMtpModeStarting		: MTP婲摦拞
		//  ESmbPGMtpModeConnect		: MTP愙懕拞
		//  ESmbPGMtpModeSynchronizing	: MTP揮憲拞
		//  ESmbPGMtpModeSynchronized	: MTP揮憲姰椆
		if (iMtpStatus == EFalse)
			{	//  MTP儌乕僪偵堏峴偟偨応崌
			iMtpStatus = ETrue;

			//  儗僕儏乕儉傪攋婞偟傑偡
			DeleteResume();
			}
		}
	}


//	ADD-S  婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳
/**
 *  傾僀僥儉僉儍僢僔儏傪攋婞偟傑偡
 **/
void CSmbMusicAPSyncServerModel::DeleteCacheItemL()
	{
	//  傾僀僥儉僉儍僢僔儏攋婞僐儅儞僪傪敪峴偡傞
	TSmbMusicAPSyncServerInternalCommandPkg commandPkg;
	commandPkg.iCommand = ESmbMsuicAPSyncServerDeleteCacheItem;

	iDispatcher->CommandL(commandPkg);
	}
//	ADD-E  婜尷愗傟僒僽僗僋儕僾僔儑儞偺僌儗乕傾僂僩懳墳

/**
 *  僙僢僔儑儞悢庢摼
 *  @return	愙懕偝傟偰偄傞僙僢僔儑儞悢
 **/
TInt CSmbMusicAPSyncServerModel::SessionCount() const
	{
	return iSession.Count();
	}
//  ADD-E PTX824 k3-sugimoto

//  ADD-S  [D_82400015039]僇儊儔傾僾儕偑慜柺偺応崌僆乕僩儗僕儏乕儉嵞惗傪偟側偄懳墳
DCM_NAMESPACE::RPGPropAgent& CSmbMusicAPSyncServerModel::PropAgent()
	{
	return iPropAgent;
	}
//  ADD-E  [D_82400015039]僇儊儔傾僾儕偑慜柺偺応崌僆乕僩儗僕儏乕儉嵞惗傪偟側偄懳墳


// end of SmbMusicAPSyncServerModel.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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