📄 smbmusicapsyncservercontentsservicegetimagecount.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceGetImageCount.cpp
//
// Description:
// 嬋傾僀僥儉偺僒僽儊僯儏乕梡徻嵶忣曬庢摼梫媮偵懳偡傞僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/08/16 |K3悪杮 | [iKeeper(TRK):5472] 栤戣偺懳墳偺偨傔怴婯嶌惉
//2006/08/25 |K3悪杮 | 壧帉夋憸庢摼幐攕帪偵僄儔乕傪曉偟偰偄偨栤戣偺廋惓
// | | 庢摼夋憸悢偵嵟戝抣敾掕傪捛壛
//2006/08/25 |K3悪杮 | [iKeeper(TRK):7935] SDBind忣曬庢摼懳墳
//2006/09/15 |SDNA壀嶳 | [iKeeper(TRK):9423] ImageDataManager傊傾僋僙僗偡傞Index傪1僆儕僕儞偵廋惓
//2006/09/25 |K3悪杮 | [iKeeper(TRK):7935] 僒僽儊僯儏乕梡徻嵶忣曬庢摼懳墳
//2006/10/26 |K3悪杮 | 僜乕僗僐乕僪惍棟(SDBind僼儔僌偺張棟嶍彍)
//----PTX824----+-----------+----------------------------------------------
//2007/04/02 |K3悪杮 | PTX824懳墳(嵞惗惂尷忣曬捛壛)
//2007/05/17 |K3悪杮 | 僼傽僀儖僼僅乕儅僢僩偵WMA庬暿2審捛壛
//2007/05/29 |K3悪杮 | 嵞惗惂尷忣曬偺WMDRM嵞惗惂尷(挊嶌尃曐岇偁傝)捛壛偵懳墳
//2007/06/23 |K3悪杮 | AAA夋憸懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETIMAGECOUNT_H__
#include "SmbMusicAPSyncServerContentsServiceGetImageCount.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETIMAGECOUNT_H__
#ifndef __E32ERR_H__
#include <e32err.h> // 僄儔乕僐乕僪
#endif // __E32ERR_H__
#ifndef __SMBMUSICAPSYNCSERVERDEF_H__
#include <SmbMusicAPSyncServerDef.h>
#endif // __SMBMUSICAPSYNCSERVERDEF_H__
#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h> // CSmbMusicMWLibSongItem
#endif // __SMBMUSICMWLIBCLIENT_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#include "SmbMusicAPSyncServerContentsImageDataManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
// ADD-S PTX824 k3-sugimoto
#ifndef __SMBMUSICAPSYNCSERVERCONVERTER_H__
#include "SmbMusicAPSyncServerConverter.h"
#endif // __SMBMUSICAPSYNCSERVERCONVERTER_H__
// ADD-E PTX824 k3-sugimoto
USING_NAMESPACE_SEMCJ
#define KSmbMusicAPSyncServerMaxAAAImageCount (1) ///< AAA夋憸嵟戝悢
#define KSmbMusicAPSyncServerMaxJacketImageCount (1) ///< 僕儍働僢僩夋憸嵟戝悢
#define KSmbMusicAPSyncServerMaxLyricImageCount (7) ///< 壧帉夋憸嵟戝悢
/**
* 僐儞僗僩儔僋僞
*
* @param[in] aRlog 儘僌僒乕僶
* @param[in] aModel 摨婜僒乕僶儌僨儖
* @param[in] aObserver 旕摨婜僆僽僓乕僶
* @param[in] aFunc 僼傽儞僋僔儑儞
* @param[in] aManagerInterface 儅僱乕僕儍僀儞僞僼僃乕僗
* @param[in] aScreenData 僗僋儕乕儞僩儗乕僗儅僱乕僕儍
* @param[in] aRMessage 僋儔僀傾儞僩偐傜偺儊僢僙乕僕
**/
CSmbMusicAPSyncServerContentsServiceGetImageCount::CSmbMusicAPSyncServerContentsServiceGetImageCount(
DCM_NAMESPACE::RLog& aRlog,
CSmbMusicAPSyncServerModel& aModel,
MSmbMusicAPSyncServerContentsAsyncObserver& aObserver,
CSmbMusicAPSyncServerContentsFunc& aFunc,
MSmbMusicAPSyncServerContentsManagerInterface& aManagerInterface,
CSmbMusicAPSyncServerContentsScreenTraceManager& aScreenData,
const RMessage2& aRMessage
)
:CSmbMusicAPSyncServerContentsServiceBase(
aRlog, aModel, aObserver, aFunc, aManagerInterface, aScreenData, aRMessage
)
{
}
/**
* 僨僗僩儔僋僞
**/
CSmbMusicAPSyncServerContentsServiceGetImageCount::~CSmbMusicAPSyncServerContentsServiceGetImageCount()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber00;
_LIT(KServiceGetImageCountDestruct01, "SyncServerContentsServiceGetImageCount::~Destruct()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountDestruct01);
#endif
if (iItemArray != NULL)
{
iItemArray -> Reset();
}
delete iItemArray;
delete iImageInfo;
delete iSongItem;
}
/**
* 僉儍儞僙儖梫媮偵懳偡傞僒乕價僗僉儍儞僙儖敾掕
*
* @param[in] aCancelEvent 僉儍儞僙儖梫媮偝傟偨僀儀儞僩僞僀僾
*
* @return 僉儍儞僙儖傪庴偗傞偐偳偆偐偺敾掕(ETrue:梫媮僉儍儞僙儖丄EFalse:梫媮傪僉儍儞僙儖偟側偄)
**/
TBool CSmbMusicAPSyncServerContentsServiceGetImageCount::CheckCancel(TSmbMusicAPSyncServerFunction aCancelEvent)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber01;
_LIT(KServiceGetImageCountCheckCancel01, "SyncServerContentsServiceGetImageCount::CheckCancel(%d)");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageCountCheckCancel01, aCancelEvent);
#endif
if (aCancelEvent == ESmbMusicAPSyncServerFuncCancelGetImageCount)
{ // 帺僒乕價僗偺僉儍儞僙儖梫媮偺応崌
return ETrue;
}
return EFalse;
}
/**
* 僒乕價僗偺奐巒梫媮
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetImageCount::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber02;
_LIT(KServiceGetImageCountStartServiceL01, "SyncServerContentsServiceGetImageCount::StartServiceL Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageCountStartServiceL01);
#endif
// RMessage偐傜僷儔儊乕僞撉崬
if (LoadParam() == EFalse)
{ // 摨婜僄儞僕儞偐傜偺儊僢僙乕僕偑晄惓偩偭偨
MessageComplete(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// 傑偢偼ImageDataManager偵忣曬偑側偄偐僠僃僢僋偡傞
if (iManagers.ImageDataManager().GetImageCount(iItemIndex, iExType, iImageCount) != EFalse)
{ // ImageDataManager偵忣曬偑懚嵼偟偨応崌
// 夋憸悢庢摼僼儔僌傪棫偰偰張棟懕峴
iCompleteGetCount = ETrue;
}
if (iItemArray == NULL)
{ // 儕僗僩攝楍偑惗惉偝傟偰偄側偄応崌
// 儕僗僩傾僀僥儉庢摼梡儕僗僩攝楍惗惉
iItemArray = CSmbMusicMWLibItemArray::NewL(1); // 1嬋暘
}
// 捛壛懳徾嬋傪娷傓儕僗僩偺庢摼
iSongList = iScreenData.GetList(iItemIndex.iListHandle);
if (iSongList == NULL)
{ // 儕僗僩偺庢摼偵幐攕
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber03;
_LIT(KServiceGetImageCountStartServiceL02, "SyncServerContentsServiceGetImageCount::StartServiceL GetList Error");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountStartServiceL02);
#endif
MessageComplete(KErrNotFound);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// 傾僀僥儉儕僗僩偺弶婜壔
iItemArray -> Reset();
// 懳徾嬋傾僀僥儉庢摼
TInt result(KErrNone);
result = iSongList -> CreateNewItem(*iItemArray, iItemIndex.iIndex, 1, iStatus);
if (result != KErrNone)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber04;
_LIT(KServiceGetImageCountStartServiceL03, "SyncServerContentsServiceGetImageCount::StartServiceL CreateNewItem Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountStartServiceL03, result);
#endif
MessageComplete(result);
return ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
// 嬋傾僀僥儉庢摼懸偪忬懺傊
iServiceState = EContentsServiceGetImageCountStateGetSongItem;
CSmbMusicAPSyncServerContentsServiceBase::Start();
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber05;
_LIT(KServiceGetImageCountStartServiceL04, "SyncServerContentsServiceGetImageCount::StartServiceL End");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageCountStartServiceL04);
#endif
return ESmbMusicAPSyncServerContetnsServiceStateContinue;
}
/**
* 僒乕價僗僄儔乕捠抦
*
* @param[in] aError 僄儔乕僐乕僪
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetImageCount::ServiceErr(TInt aError)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber06;
_LIT(KServiceGetImageCountServiceErr01, "SyncServerContentsServiceGetImageCount::ServiceErr(%d):%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageCountServiceErr01, aError, iServiceState);
#endif
TInt result(aError);
TSmbMusicAPSyncServerContentsServiceState retState(ESmbMusicAPSyncServerContetnsServiceStateErr);
// 夋憸偑側偄応崌KErrNotFound偑偒偰傕懴偊傜傟傞傛偆偵丄
// 夋憸忣曬庢摼梫媮(僕儍働僢僩丄壧帉嫟)偺墳摎偑僄儔乕偺応崌丄
// 夋憸悢傪0庢摼偱偒偨傕偺偲偟偰張棟傪懕峴偝偣傞丅
switch(iServiceState)
{
case EContentsServiceGetImageCountStateGetAAAInfo: // AAA夋憸忣曬庢摼拞
{
// AAA夋憸悢愝掕
iImageCount.iJacketCount = 0;
result = GetImageInformationL(ESmbMusicMWLibImageTypeJacket);
if (result == KErrNone)
{ // 夋憸忣曬庢摼梫媮偵惉岟
iServiceState = EContentsServiceGetImageCountStateGetJacketInfo;
CSmbMusicAPSyncServerContentsServiceBase::Start();
// 張棟宲懕
return ESmbMusicAPSyncServerContetnsServiceStateContinue;
}
}
break;
case EContentsServiceGetImageCountStateGetJacketInfo: // 僕儍働僢僩忣曬庢摼拞
{
// 僕儍働僢僩夋憸悢愝掕
iImageCount.iJacketCount = 0;
result = GetImageInformationL(ESmbMusicMWLibImageTypeLylic);
if (result == KErrNone)
{ // 夋憸忣曬庢摼梫媮偵惉岟
iServiceState = EContentsServiceGetImageCountStateGetLyricInfo;
CSmbMusicAPSyncServerContentsServiceBase::Start();
// 張棟宲懕
return ESmbMusicAPSyncServerContetnsServiceStateContinue;
}
}
break;
case EContentsServiceGetImageCountStateGetLyricInfo: // 壧帉忣曬庢摼拞
{
// 壧帉夋憸悢愝掕
iImageCount.iLyricCount = 0;
result = CompletionGetImageCount();
// 張棟寢壥偑壗偱偁傠偆偲廔椆偡傞
retState = ESmbMusicAPSyncServerContetnsServiceStateEnd;
}
break;
case EContentsServiceGetImageCountStateGetSongItem: // 懳徾嬋傾僀僥儉庢摼拞
case EContentsServiceGetImageCountStateIdle: // 張棟柍偟
break;
default:
{
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber07;
_LIT(KServiceGetImageCountServiceErr02, "SyncServerContentsServiceGetImageCount::ServiceErr illegal default-route:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHighest, KServiceGetImageCountServiceErr02, iServiceState);
ASSERT(EFalse);
}
break;
}
MessageComplete(result);
iServiceState = EContentsServiceGetImageCountStateIdle; // 僒乕價僗忬懺傪張棟柍偟忬懺傊
return retState;
}
/**
* 僒乕價僗僉儍儞僙儖捠抦
**/
void CSmbMusicAPSyncServerContentsServiceGetImageCount::CancelService()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageCount | EMusicAPSyncServerLocationNumber08;
_LIT(KServiceGetImageCountCancelService01, "SyncServerContentsServiceGetImageCount::CancelService()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageCountCancelService01);
#endif
switch(iServiceState)
{
case EContentsServiceGetImageCountStateGetSongItem: // 懳徾嬋傾僀僥儉庢摼拞
{
ASSERT(iSongList != NULL);
// 懳徾嬋傾僀僥儉庢摼偺僉儍儞僙儖
iSongList -> CancelCreateNewItem();
}
break;
case EContentsServiceGetImageCountStateGetAAAInfo: // AAA夋憸忣曬庢摼拞
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -