📄 smbmusicapsyncservercontentsservicequeue.cpp
字号:
/* 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 + -