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

📄 smbmusicapsyncserverappcontroller.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPSyncServerAppController.cpp
//
// Description:
//	PTX810 Music傾僾儕 摨婜僒乕僶 傾僾儕摨婜僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/05/31	|暯壀			|怴婯嶌惉
//----PTX824----+---------------+--------------------------------------
//2007/04/18	|K3悪杮			|PTX824懳墳(堦妵儔僀僙儞僗僠僃僢僋幚峴忬嫷愝掕/庢摼懳墳)


#ifndef __SMBMUSICAPSYNCSERVERAPPCONTROLLER_H__
#include "SmbMusicAPSyncServerAppController.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERAPPFUNC_H__
#include "SmbMusicAPSyncServerAppFunc.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERAPPSTATE_H__
#include "SmbMusicAPSyncServerAppState.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
#include "SmbMusicAPSyncServerModel.h"
#endif

#ifndef __SMBMUSICAPSYNCSERVERDEF_H__
#include <SmbMusicAPSyncServerDef.h>
#endif

#ifndef __SMBMUSICAPSYNCSERVERUTIL_H__
#include "SmbMusicAPSyncServerUtil.h"
#endif


USING_NAMESPACE_SEMCJ

/**
 * 僐儞僗僩儔僋僞
 * @param [in]	aLog		儘僌僒乕僶僙僢僔儑儞偺嶲徠
 * @return	側偟
 **/
CSmbMusicAPSyncServerAppController::CSmbMusicAPSyncServerAppController(DCM_NAMESPACE::RLog& aLog)
	: CSmbMusicAPSyncServerControllerBase(aLog)
	{
	}

/**
 * 僨僗僩儔僋僞
 * @param	側偟
 * @return	側偟
 **/
CSmbMusicAPSyncServerAppController::~CSmbMusicAPSyncServerAppController()
	{
	delete iState;
	iState = NULL;

	delete iFunc;
	iFunc = NULL;
	}

/**
 2僼僃乕僘僐儞僗僩儔僋僞
 * @param [in]	aModel		Model僋儔僗偺嶲徠
 * @return	側偟
 */
void CSmbMusicAPSyncServerAppController::ConstructL(CSmbMusicAPSyncServerModel& aModel)
	{
	// AppFunc, AppState傪惗惉偟丄儊儞僶曄悢偵曐懚
	iFunc = new(ELeave)CSmbMusicAPSyncServerAppFunc(aModel, iLog);
	iState = new(ELeave)CSmbMusicAPSyncServerAppState(*iFunc);
	}

/**
 愙懕張棟
 * @param [in]	aSession	愙懕偡傞僙僢僔儑儞
 * @return	側偟
 */
void CSmbMusicAPSyncServerAppController::Connect(CSession2& aSession)
	{
	iState->Connect(aSession);
	}

/**
 愗抐張棟
 * @param [in]	aSession	愗抐偡傞僙僢僔儑儞
 * @return	側偟
 */
void CSmbMusicAPSyncServerAppController::DisConnect(CSession2& aSession)
	{
	iState->DisConnect(aSession);
	}

/**
 僋儔僀傾儞僩偐傜搉偝傟偨僨乕僞傪奿擺偟偨儊僢僙乕僕偺庴怣
 * @param [in]	aMessage	僋儔僀傾儞僩偐傜搉偝傟偨僨乕僞傪奿擺偟偨儊僢僙乕僕偺嶲徠
 * @return	張棟寢壥(ETrue: 張棟偁傝乛 EFalse: 張棟側偟)
 */
TBool CSmbMusicAPSyncServerAppController::ReceiveMessageL(const RMessage2& aMessage)
	{
	TBool ret = EFalse;

	TSmbMusicAPSyncServerFunction func(static_cast<TSmbMusicAPSyncServerFunction>(aMessage.Function()));

	//庴怣偟偨僐儅儞僪傪弌椡偡傞
	TInt log = EMusicAPSyncServerClassNumber10 | EMusicAPSyncServerLocationNumber00;
	_LIT(KAppControllerReceiveMessageL00, "SyncServerAppController::ReceiveMessageL = 0x%08x");
	SmbMusicAPSyncServerLog(iLog, log, ELogLevelLowest, KAppControllerReceiveMessageL00, func);

	switch (func)
		{
	// 僄儞僕儞偐傜偺摨婜宯捠抦僀儀儞僩梫媮
	case ESmbMusicAPSyncServerFuncSyncRequestNotify:
		iState->RequestNotifyEvent(aMessage);
		ret = ETrue;
		break;

	// 僄儞僕儞偐傜偺摨婜宯捠抦僀儀儞僩梫媮偺僉儍儞僙儖
	case ESmbMusicAPSyncServerFuncSyncCancelRequestNotify:
		iState->CancelRequestNotifyEvent(aMessage);
		ret = ETrue;
		break;

	// 愗懼愭偺夋柺偱儐乕僓憖嶌傪嬛巭偡傞
	case ESmbMusicAPSyncServerFuncHoldApp:
		iState->HoldReq(aMessage);
		ret = ETrue;
		break;

	// 愗懼愭偺夋柺偺HOLD忬懺傪夝彍偡傞
	case ESmbMusicAPSyncServerFuncCancelHoldApp:
		iState->CancelHoldReq(aMessage);
		ret = ETrue;
		break;

	// 愗懼愭偺夋柺偵昞帵忣曬峏怴捠抦傪梫媮
	case ESmbMusicAPSyncServerFuncUpdateDisplayInfo:
		iState->UpdateDisplayNotify(aMessage);
		ret = ETrue;
		break;

	// 摨婜偟偰偄傞傾僾儕廔椆傪捠抦偡傞
	case ESmbMusicAPSyncServerFuncAppExit:
		iState->AppExitNotify(aMessage);
		ret = EFalse;
		break;

	// 摨婜僒乕僶傊偺傾僋僙僗尃夝曻梫媮
	case ESmbMusicAPSyncServerFuncRequestReleaseSyncServer:
		iState->ReleaseReq(aMessage);
		ret = ETrue;
		break;

	// 摨婜僒乕僶傊偺傾僋僙僗尃夝曻墳摎
	case ESmbMusicAPSyncServerFuncResponseReleaseSyncServer:
		iState->ReleaseRes(aMessage);
		ret = ETrue;
		break;

	// 摨婜僒乕僶偺傊偺傾僋僙僗妋擣
	case ESmbMusicAPSyncServerFuncHasSyncServer:
		iState->HasSyncServer(aMessage);
		ret = ETrue;
		break;

//  ADD-S PTX824 k3-sugimoto
	//  堦妵儔僀僙儞僗僠僃僢僋幚峴忬嫷愝掕
	case ESmbMusicAPSyncServerFuncSetLicenceCheckCompletion:
		iState -> SetLicenceCheckCompletion(aMessage);
		ret = ETrue;
		break;

	//  堦妵儔僀僙儞僗僠僃僢僋幚峴忬嫷庢摼
	case ESmbMusicAPSyncServerFuncIsLicenceCheckCompletion:
		iState -> IsLicenceCheckCompletion(aMessage);
		ret = ETrue;
		break;
//  ADD-S PTX824 k3-sugimoto

	default:
		break;
		}
	return ret;

	}

/**
 傾僋僥傿僽僙僢僔儑儞偺栤偄崌傢偣
 * @param [in]	aMessage	僋儔僀傾儞僩偐傜搉偝傟偨僨乕僞傪奿擺偟偨儊僢僙乕僕偺嶲徠
 * @return	傾僋僥傿僽僙僢僔儑儞偐傜偺儊僢僙乕僕偐斲偐
 */
TBool CSmbMusicAPSyncServerAppController::IsActiveSession(const RMessage2& aMessage)
	{
	TSmbMusicAPSyncServerFunction func(static_cast<TSmbMusicAPSyncServerFunction>(aMessage.Function()));


	if (ESmbMusicAPSyncServerFuncAppSyncCommandMin < func && func < ESmbMusicAPSyncServerFuncAppSyncCommandMax)
		{
		//摨婜宯偺僀儀儞僩偼僒乕僶偺強桳尃偵埶懚偟側偄
		return ETrue;
		}

	switch(func)
		{
	//摨婜宯偺僀儀儞僩捠抦梫媮
	case ESmbMusicAPSyncServerFuncSyncRequestNotify:
	//摨婜宯偺僀儀儞僩捠抦僉儍儞僙儖梫媮
	case ESmbMusicAPSyncServerFuncSyncCancelRequestNotify:
		return ETrue;
//		break;
	default:
		break;
		}

	return iState->IsActiveSession(aMessage);
	}


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

⌨️ 快捷键说明

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