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

📄 smbmusicapsyncservercontentscontroller.h

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc.      */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSyncServerContentsController.h
//
// Description:
//  SmbMusicAPSyncServerContentsController
//    僐儞僥儞僣僒乕價僗僐儞僩儘乕儔
//    僐儞僥儞僣僒乕價僗偺幚峴惂屼傪峴偆
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/14	|K3悪杮		| 怴婯嶌惉
//2006/07/20	|K3悪杮		| PL怴婯搊榐帪偺峏怴捠抦傪庴偗傞偨傔偺僆僽僓乕僶捛壛


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSCONTROLLER_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSCONTROLLER_H__

#ifndef __SMBCOMMONDEF_H__
#include <SmbCommonDef.h>
#endif	//  __SMBCOMMONDEF_H__

#ifndef FJWCDMAMPDEF_H__
#include <FjWcdmaMpDef.h>
#endif	//  FJWCDMAMPDEF_H__


#ifndef __SMBMUSICAPSYNCSERVERINTERNALDEF_H__
#include "SmbMusicAPSyncServerInternalDef.h"	// TSmbMusicAPSyncServerInternalCommand
#endif	//  __SMBMUSICAPSYNCSERVERINTERNALDEF_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTROLLERBASE_H__
#include "SmbMusicAPSyncServerControllerBase.h"	// CSmbMusicAPSyncServerControllerBase
#endif	//  __SMBMUSICAPSYNCSERVERCONTROLLERBASE_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"	// MSmbMusicAPSyncServerContentsManagerInterface
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__
#include "SmbMusicAPSyncServerContentsAsyncObserver.h"	//  MSmbMusicAPSyncServerContentsAsyncObserver
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__


//  慜曽愰尵 1
DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END


SEMCJ_NAMESPACE_BEGIN

//  慜曽愰尵 2
class CSmbMusicAPSyncServerModel;
class CSmbMusicAPSyncServerContentsServiceBase;
class CSmbMusicAPSyncServerContentsPLOrderManager;
class CSmbMusicAPSyncServerContentsImageDataManager;
class CSmbMusicAPSyncServerContentsPlaySongInfoManager;
class CSmbMusicAPSyncServerContentsAppNotifyManager;
class CSmbMusicAPSyncServerContentsScreenTraceManager;
class CSmbMusicAPSyncServerContentsServiceQueue;
class CSmbMusicAPSyncServerContentsFunc;
class CSmbMusicAPSyncServerContentsObserveUpdateManager;

//****************************************************************************//
/**
 *  僐儞僥儞僣僒乕價僗僐儞僩儘乕儔僋儔僗
 **/
//****************************************************************************//
class CSmbMusicAPSyncServerContentsController	:	public CSmbMusicAPSyncServerControllerBase,
													public MSmbMusicAPSyncServerContentsAsyncObserver,
													public MSmbMusicAPSyncServerContentsManagerInterface
	{
public:
	//  僼傽僋僩儕
	static CSmbMusicAPSyncServerContentsController* NewL(DCM_NAMESPACE::RLog& aLog, CSmbMusicAPSyncServerModel& aModel);

	//  僨僗僩儔僋僞
	~CSmbMusicAPSyncServerContentsController();


public:	//  CSmbMusicAPSyncServerControllerBase
	//  僋儔僀傾儞僩偐傜偺儊僢僙乕僕庴怣僴儞僪儔
	TBool ReceiveMessageL(const RMessage2& aMessage);

	//  僒乕僶撪偺僐儅儞僪庴怣僴儞僪儔
	TBool CommandL(TSmbMusicAPSyncServerInternalCommandPkg aCommand);

	//	 僙僢僔儑儞愗抐捠抦
	void DisConnect(CSession2& aSession);

	//	 傾僋僥傿僽僙僢僔儑儞偺栤偄崌傢偣
	TBool IsActiveSession(const RMessage2& aMessage);

public:	//  MSmbMusicAPSyncServerContentsAsyncObserver
	//  梫媮張棟偺姰椆捠抦
	void ServiceComplete();

	//  梫媮張棟偺僉儍儞僙儖捠抦
	void ServiceCompleteCancel();

	//  梫媮張棟偺僄儔乕捠抦
	void ServiceCompleteErr();


public:	//  MSmbMusicAPSyncServerContentsManagerInterface
	//  僾儗僀儕僗僩暲懼儅僱乕僕儍庢摼
	CSmbMusicAPSyncServerContentsPLOrderManager& PLOrderManager() const;

	//  僀儊乕僕僨乕僞儅僱乕僕儍庢摼
	CSmbMusicAPSyncServerContentsImageDataManager& ImageDataManager() const;

	//  嵞惗嬋忣曬儅僱乕僕儍庢摼
	CSmbMusicAPSyncServerContentsPlaySongInfoManager& PlaySongInfoManager() const;

	//  僀儀儞僩捠抦儅僱乕僕儍庢摼
	CSmbMusicAPSyncServerContentsAppNotifyManager& AppNotifyManager() const;

	//  峏怴捠抦娔帇儅僱乕僕儍庢摼
	CSmbMusicAPSyncServerContentsObserveUpdateManager& ObserveUpdateManager() const;


public:	// function
	//  僒乕價僗奐巒張棟
	void StartService(CSmbMusicAPSyncServerContentsServiceBase* aService);


private:	//  僐儞僗僩儔僋僞
	//  僐儞僗僩儔僋僞
	CSmbMusicAPSyncServerContentsController(DCM_NAMESPACE::RLog& aLog, CSmbMusicAPSyncServerModel& aModel);

	//  2nd僐儞僗僩儔僋僞
	void ConstructL();


private:
	//  尰嵼幚峴拞偺僒乕價僗庢摼
	CSmbMusicAPSyncServerContentsServiceBase* CurrentService() const;

	//  儊僢僙乕僕偵懳偡傞僒乕價僗慖掕
	CSmbMusicAPSyncServerContentsServiceBase* SelectServiceL(const RMessage2& aMessage);

	//  僐儅儞僪偵懳偡傞僒乕價僗慖掕
	CSmbMusicAPSyncServerContentsServiceBase* SelectServiceL(TSmbMusicAPSyncServerInternalCommandPkg aCommand);

	//  僒乕價僗偺僉儍儞僙儖梫媮
	void CancelService(const RMessage2& aMessage);

	//	 僒乕價僗慡廔椆
	void ServiceAllEnd();

private:	//  data
	CSmbMusicAPSyncServerContentsServiceQueue*			iServiceQueue;			///<  僒乕價僗僉儏乕[has]
	CSmbMusicAPSyncServerContentsPLOrderManager*		iPLOrderManager;		///<  僾儗僀儕僗僩暲懼儅僱乕僕儍[has]
	CSmbMusicAPSyncServerContentsImageDataManager*		iImageDataManager;		///<  夋憸僨乕僞儅僱乕僕儍[has]
	CSmbMusicAPSyncServerContentsPlaySongInfoManager*	iPlSongInfoManager;		///<  嵞惗嬋忣曬儅僱乕僕儍[has]
	CSmbMusicAPSyncServerContentsScreenTraceManager*	iTraceManager;			///<  僗僋儕乕儞僩儗乕僗儅僱乕僕儍[has]
	CSmbMusicAPSyncServerContentsAppNotifyManager*		iNotifyManager;			///<  僀儀儞僩捠抦儅僱乕僕儍[has]
	CSmbMusicAPSyncServerContentsFunc*					iContentsFunc;			///<  僐儞僥儞僣僼傽儞僋僔儑儞[has]
	CSmbMusicAPSyncServerContentsObserveUpdateManager*	iObserveUpdateManager;	///<  峏怴捠抦娔帇儅僱乕僕儍[has]

	CSmbMusicAPSyncServerModel&	iModel;		///<  摨婜僒乕僶偺儌僨儖

	const RMessage2	iDmyMessage;	///<  僒乕僶撪僐儅儞僪僒乕價僗惗惉梡僟儈乕儊僢僙乕僕
	};


SEMCJ_NAMESPACE_END

#endif	// __SMBMUSICAPSYNCSERVERCONTENTSCONTROLLER_H__
// end of SmbMusicAPSyncServerContentsController.h

/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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