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

📄 smbmusicapsyncservercontentsservicequeue.cpp

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 CPP
📖 第 1 页 / 共 2 页
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSyncServerContentsServiceQueue.cpp
//
// Description:
//  僐儞僥儞僣僒乕價僗偺僉儏乕僀儞僌傪峴偆
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/14	|K3悪杮		| 怴婯嶌惉
//2006/07/18	|K3悪杮		| 儘僌弌椡廋惓
//2006/07/21	|K3悪杮		| RPointerArray偺Close偟朰傟偺廋惓
//2006/08/21	|K3悪杮		| 僒乕價僗廔椆帪偵帺AO傪Cancel偡傞張棟傪捛壛
//2006/08/30	|K3悪杮		| [iKeeper(TRK):7945] 僒乕價僗幚峴拞偵ServiceAllEnd傪庴偗偰僼儕乕僘偡傞栤戣偺懳張
//2006/09/14	|K3悪杮		| QAC巜揈懳墳
//2006/09/29	|K3悪杮		| [iKeeper(TRK):10587] 僉儍儞僙儖弴偺僨僢僪儘僢僋栤戣懳張
//----PTX824----+-----------+----------------------------------------------
//2007/08/10	|K3悪杮		| [D_82400004466][D_82400004710] 僉儍儞僙儖晄壜側僒乕價僗偵懳墳
//2007/09/07	|K3悪杮		| [D_82400013911] 僉儍儞僙儖晄壜帪偺僉儍儞僙儖張棟楻傟栤戣偺懳墳


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEQUEUE_H__
#include "SmbMusicAPSyncServerContentsServiceQueue.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSSERVICEQUEUE_H__


#ifndef __SMBMUSICAPSYNCSERVERCONTENTSCONTROLLER_H__
#include "SmbMusicAPSyncServerContentsController.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSCONTROLLER_H__

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEBASE_H__
#include "SmbMusicAPSyncServerContentsServiceBase.h"
#endif	//  __SMBMUSICAPSYNCSERVERCONTENTSSERVICEBASE_H__

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


USING_NAMESPACE_SEMCJ

/**
 *  僐儞僥儞僣僒乕價僗僉儏乕惗惉梡僼傽僋僩儕娭悢
 *
 *  @param[in]	aLog		儘僌僒乕僶僙僢僔儑儞偺嶲徠
 *  @param[in]	aController	僐儞僥儞僣僐儞僩儘乕儔偺嶲徠
 *
 *  @return 惗惉偝傟偨僒乕價僗僉儏乕僋儔僗偺僆僽僕僃僋僩
 **/
CSmbMusicAPSyncServerContentsServiceQueue* CSmbMusicAPSyncServerContentsServiceQueue::NewL(
		DCM_NAMESPACE::RLog& aLog,
		CSmbMusicAPSyncServerContentsController& aController
		)
	{
	CSmbMusicAPSyncServerContentsServiceQueue* self = new(ELeave) CSmbMusicAPSyncServerContentsServiceQueue(aLog, aController);
	CleanupStack::PushL(self);
	self -> ConstructL();
	CleanupStack::Pop();	//  self
	return self;
	}


/**
 *  僨僗僩儔僋僞
 **/
CSmbMusicAPSyncServerContentsServiceQueue::~CSmbMusicAPSyncServerContentsServiceQueue()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceQueue | EMusicAPSyncServerLocationNumber00;
	_LIT(KServiceQueueDestruct01, "SyncServerContentsServiceQueue::~Destruct()");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KServiceQueueDestruct01);
#endif

	Cancel();

	iServiceQueue.ResetAndDestroy();
	iServiceQueue.Close();

	delete iCurrentService;
	}


/**
 *  僐儞僗僩儔僋僞
 *
 *  @param[in]	aLog		儘僌僒乕僶僙僢僔儑儞偺嶲徠
 *  @param[in]	aController	僐儞僥儞僣僐儞僩儘乕儔偺嶲徠
 **/
CSmbMusicAPSyncServerContentsServiceQueue::CSmbMusicAPSyncServerContentsServiceQueue(
		DCM_NAMESPACE::RLog& aLog,
		CSmbMusicAPSyncServerContentsController& aController
		)
	:CActive(CActive::EPriorityStandard),
	 iLog(aLog),
	 iController(aController)
	{
	CActiveScheduler::Add(this);
	}


/**
 *  2nd僐儞僗僩儔僋僞
 **/
void CSmbMusicAPSyncServerContentsServiceQueue::ConstructL()
	{
	//  尰忬張棟柍偟
	}


/**
 *	尰嵼幚峴拞偺僒乕價僗傪庢摼偡傞
 *
 *  @return	尰嵼幚峴拞偺僒乕價僗(NULL偺応崌偼幚峴拞僒乕價僗柍偟)
 **/
CSmbMusicAPSyncServerContentsServiceBase* CSmbMusicAPSyncServerContentsServiceQueue::CurrentService() const
	{
	return iCurrentService;
	}


/**
 *  傾僋僥傿僽僆僽僕僃僋僩偺梫媮幚峴
 **/
void CSmbMusicAPSyncServerContentsServiceQueue::RunL()
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceQueue | EMusicAPSyncServerLocationNumber01;
	_LIT(KServiceQueueRunL01, "SyncServerContentsServiceQueue::RunL(%d)");
//  MODIFY-S  QAC巜揈懳墳
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KServiceQueueRunL01, iStatus.Int());
//  MODIFY-E  QAC巜揈懳墳
#endif

	//  幚峴廔椆偟偨僒乕價僗偺嶍彍
	delete iCurrentService;
	iCurrentService = NULL;

	if (IsEmpty() != EFalse)
		{	//  僉儏乕偑嬻偺応崌
		return;
		}

	//  愭摢偵搊榐偝傟偰偄傞僒乕價僗偺庢傝弌偟
	iCurrentService = iServiceQueue[0];
	iServiceQueue.Remove(0);

	ASSERT(iCurrentService != NULL);	//  庢傝弌偟偨僒乕價僗偑NULL偩偭偨応崌

	//  AO梫媮奐巒
	Start();

	//  僐儞僥儞僣僒乕價僗僐儞僩儘乕儔偵捠抦
	iController.StartService(iCurrentService);
	}


/**
 *  傾僋僥傿僽僆僽僕僃僋僩偺僉儍儞僙儖張棟偺幚懱
 **/
void CSmbMusicAPSyncServerContentsServiceQueue::DoCancel()
	{
//  ADD-S  [iKeeper(TRK):7945] 僒乕價僗幚峴拞偵ServiceAllEnd傪庴偗偰僼儕乕僘偡傞栤戣偺懳張
	ServiceComplete(KErrCancel);
//  ADD-E  [iKeeper(TRK):7945] 僒乕價僗幚峴拞偵ServiceAllEnd傪庴偗偰僼儕乕僘偡傞栤戣偺懳張
	}


/**
 *  僉儏乕偵僒乕價僗傪捛壛偡傞
 *
 *  @param[in]	aService	捛壛偡傞僒乕價僗
 *
 *  @return 張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceQueue::Append(CSmbMusicAPSyncServerContentsServiceBase* aService)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceQueue | EMusicAPSyncServerLocationNumber02;
	_LIT(KServiceQueueAppend01, "SyncServerContentsServiceQueue::Append(0x%08x)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KServiceQueueAppend01, aService);
#endif

	//  僉儏乕偵僒乕價僗傪捛壛偡傞
	TInt result = iServiceQueue.Append(aService);
	if (result != KErrNone)
		{	//  僉儏乕偺捛壛偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServiceQueue | EMusicAPSyncServerLocationNumber03;
		_LIT(KServiceQueueAppend02, "SyncServerContentsServiceQueue::Append Append Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KServiceQueueAppend02, result);
#endif
		return result;
		}

	if (IsActive() == EFalse)
		{	//  僉儏乕偑幚峴忬懺偱側偐偭偨応崌
		Start();
		}

	return KErrNone;
	}


/**
 *  僉儏乕偺愭摢偵僒乕價僗傪捛壛偡傞
 *
 *  @param[in]	aService	捛壛偡傞僒乕價僗
 *
 *  @return 張棟寢壥(KErrNone:張棟惉岟丄System-wide Error:張棟幐攕)
 **/
TInt CSmbMusicAPSyncServerContentsServiceQueue::AppendFirst(CSmbMusicAPSyncServerContentsServiceBase* aService)
	{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
	TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceQueue | EMusicAPSyncServerLocationNumber04;
	_LIT(KServiceQueueAppendFirst01, "SyncServerContentsServiceQueue::AppendFirst(0x%08x)");
	SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelLow, KServiceQueueAppendFirst01, aService);
#endif

	//  僉儏乕偺愭摢偵僒乕價僗傪捛壛偡傞
	TInt result = iServiceQueue.Insert(aService, 0);
	if (result != KErrNone)
		{	//  僉儏乕偺捛壛偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
		logCode = EMusicAPSyncServerClassNumber_ContentsServiceQueue | EMusicAPSyncServerLocationNumber05;
		_LIT(KServiceQueueAppendFirst02, "SyncServerContentsServiceQueue::AppendFirst Insert Error:%d");
		SmbMusicAPSyncServerLog(iLog, logCode, ELogLevelNormal, KServiceQueueAppendFirst02, result);
#endif
		return result;
		}

	if (IsActive() == EFalse)

⌨️ 快捷键说明

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