📄 smbmusicapsyncservercontentsservicegetimagetypeinfo.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPSyncServerContentsServiceGetImageTypeInfo.cpp
//
// Description:
// 巜掕庬暿偺夋憸忣曬庢摼梫媮僒乕價僗
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2007/03/27 |K3悪杮 | 怴婯嶌惉
//2007/06/23 |K3悪杮 | AAA夋憸懳墳
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETIMAGETYPEINFO_H__
#include "SmbMusicAPSyncServerContentsServiceGetImageTypeInfo.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSERVICEGETIMAGETYPEINFO_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> // CSmbMusicMWLibPLItem
#endif // __SMBMUSICMWLIBCLIENT_H__
#ifndef __SMBMUSICAPSYNCSERVERMODEL_H__
#include "SmbMusicAPSyncServerModel.h"
#endif // __SMBMUSICAPSYNCSERVERMODEL_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#include "SmbMusicAPSyncServerContentsFunc.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSFUNC_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#include "SmbMusicAPSyncServerContentsScreenTraceManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSSCREENTRACEMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__
#include "SmbMusicAPSyncServerContentsAsyncObserver.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSASYNCOBSERVER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#include "SmbMusicAPSyncServerContentsList.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSLIST_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#include "SmbMusicAPSyncServerContentsManagerInterface.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSMANAGERINTERFACE_H__
#ifndef __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#include "SmbMusicAPSyncServerContentsImageDataManager.h"
#endif // __SMBMUSICAPSYNCSERVERCONTENTSIMAGEDATAMANAGER_H__
#ifndef __SMBMUSICAPSYNCSERVERCONVERTER_H__
#include "SmbMusicAPSyncServerConverter.h"
#endif // __SMBMUSICAPSYNCSERVERCONVERTER_H__
USING_NAMESPACE_SEMCJ
/**
* 僐儞僗僩儔僋僞
*
* @param[in] aRlog 儘僌僒乕僶
* @param[in] aModel 摨婜僒乕僶儌僨儖
* @param[in] aObserver 旕摨婜僆僽僓乕僶
* @param[in] aFunc 僼傽儞僋僔儑儞
* @param[in] aManagerInterface 儅僱乕僕儍僀儞僞僼僃乕僗
* @param[in] aScreenData 僗僋儕乕儞僩儗乕僗儅僱乕僕儍
* @param[in] aRMessage 僋儔僀傾儞僩偐傜偺儊僢僙乕僕
**/
CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo::CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo(
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
)
{
}
/**
* 僨僗僩儔僋僞
**/
CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo::~CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber00;
_LIT(KServiceGetImageTypeInfoDestruct01, "SyncServerContentsServiceGetImageTypeInfo::~Destruct()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageTypeInfoDestruct01);
#endif
delete iItemArray;
delete iSongItem;
iImageTypeInfo.iImageInfo.Close();
}
/**
* 僒乕價僗偺奐巒梫媮
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo::StartServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber01;
_LIT(KServiceGetImageTypeInfoStartServiceL01, "SyncServerContentsServiceGetImageTypeInfo::StartServiceL Start");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageTypeInfoStartServiceL01);
#endif
// RMessage偐傜僷儔儊乕僞撉崬
if (LoadParamL() == EFalse)
{ // 摨婜僄儞僕儞偐傜偺儊僢僙乕僕偑晄惓偩偭偨
MessageComplete(KErrArgument);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
// 夋憸忣曬儅僱乕僕儍撪偺僉儍僢僔儏偺桳柍傪僠僃僢僋偡傞
TSmbMusicAPSyncEngineImageTypeInfo imageTypeInfo;
if (iManagers.ImageDataManager().GetImageTypeInfo(iItemIndex, iImageType, iExType, imageTypeInfo) != EFalse)
{ // 僉儍僢僔儏撪偵崌抳偡傞僨乕僞偑尒偮偐偭偨
TSmbMusicAPSyncServerContentsServiceState retState(ESmbMusicAPSyncServerContetnsServiceStateEnd);
TInt result = WriteToMessage(imageTypeInfo); // 儊僢僙乕僕偵僨乕僞傪彂偒弌偡
if (result != KErrNone)
{ // 儊僢僙乕僕偺彂偒弌偟偱僄儔乕偑敪惗
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber02;
_LIT(KServiceGetImageTypeInfoStartServiceL02, "SyncServerContentsServiceGetImageTypeInfo::StartServiceL WriteToMessage Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHigh, KServiceGetImageTypeInfoStartServiceL02, result);
retState = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
MessageComplete(result);
return retState;
}
// 僉儍僢僔儏撪偵崌抳偡傞僨乕僞偑尒偮偐傜側偐偭偨応崌
// MW偐傜庢摼偡傞捠忢僔乕働儞僗傪幚峴偡傞
if (iItemArray == NULL)
{ // 儕僗僩攝楍偑惗惉偝傟偰偄側偄応崌
// 儕僗僩傾僀僥儉庢摼梡儕僗僩攝楍惗惉
iItemArray = CSmbMusicMWLibItemArray::NewL(1); // 1嬋暘
}
// 僾儗僀儕僗僩堦棗儕僗僩庢摼
iItemList = iScreenData.GetList(iItemIndex.iListHandle);
if (iItemList == NULL)
{ // 儕僗僩偺庢摼偵幐攕
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber02;
_LIT(KServiceGetImageTypeInfoStartServiceL02, "SyncServerContentsServiceGetImageTypeInfo::StartServiceL GetList Error");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHigh, KServiceGetImageTypeInfoStartServiceL02);
MessageComplete(KErrNotFound);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
// 傾僀僥儉儕僗僩偺弶婜壔
iItemArray -> Reset();
// 夋憸忣曬庢摼懳徾嬋傾僀僥儉庢摼
TInt retState(KErrNone);
retState = iItemList -> CreateNewItem(*iItemArray, iItemIndex.iIndex, 1, iStatus);
if (retState != KErrNone)
{
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber03;
_LIT(KServiceGetImageTypeInfoStartServiceL03, "SyncServerContentsServiceGetImageTypeInfo::StartServiceL CreateNewItem Error:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHigh, KServiceGetImageTypeInfoStartServiceL03, retState);
MessageComplete(retState);
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
// 傾僀僥儉庢摼懸偪忬懺傊
iServiceState = EContentsServiceGetImageTypeInfoStateGetSongItem;
CSmbMusicAPSyncServerContentsServiceBase::Start();
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber04;
_LIT(KServiceGetImageTypeInfoStartServiceL04, "SyncServerContentsServiceGetImageTypeInfo::StartServiceL End");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLowest, KServiceGetImageTypeInfoStartServiceL04);
#endif
return ESmbMusicAPSyncServerContetnsServiceStateContinue;
}
/**
* 僒乕價僗僄儔乕捠抦
*
* @param[in] aError 僄儔乕僐乕僪
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo::ServiceErr(TInt aError)
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber05;
_LIT(KServiceGetImageTypeInfoServiceErr01, "SyncServerContentsServiceGetImageTypeInfo::ServiceErr(%d):%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelNormal, KServiceGetImageTypeInfoServiceErr01, aError, iServiceState);
#endif
if (iItemArray != NULL)
{
// 傾僀僥儉儕僗僩偺弶婜壔
iItemArray -> Reset();
}
MessageComplete(aError);
iServiceState = EContentsServiceGetImageTypeInfoStateIdle; // 僒乕價僗忬懺傪張棟柍偟忬懺傊
return ESmbMusicAPSyncServerContetnsServiceStateErr;
}
/**
* 僒乕價僗僉儍儞僙儖捠抦
**/
void CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo::CancelService()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber06;
_LIT(KServiceGetImageTypeInfoCancelService01, "SyncServerContentsServiceGetImageTypeInfo::CancelService(%d)");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageTypeInfoCancelService01, iServiceState);
#endif
switch(iServiceState)
{
case EContentsServiceGetImageTypeInfoStateGetSongItem: // 懳徾嬋傾僀僥儉庢摼拞
ASSERT(iItemList != NULL);
// 懳徾嬋傾僀僥儉庢摼偺僉儍儞僙儖
iItemList -> CancelCreateNewItem();
break;
case EContentsServiceGetImageTypeInfoStateGetImageInfo: // 巜掕庬暿夋憸忣曬庢摼拞
ASSERT(iSongItem != NULL);
// 巜掕庬暿夋憸忣曬庢摼偺僉儍儞僙儖
iFunc.CancelGetImageTypeInfo();
break;
case EContentsServiceGetImageTypeInfoStateIdle: // 張棟柍偟
break;
default:
{
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber07;
_LIT(KServiceGetImageTypeInfoCancelService02, "SyncServerContentsServiceGetImageTypeInfo::CancelService illegal default-route:%d");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelHighest, KServiceGetImageTypeInfoCancelService02, iServiceState);
ASSERT(EFalse);
}
break;
}
CSmbMusicAPSyncServerContentsServiceBase::Cancel();
MessageComplete(KErrCancel);
iServiceState = EContentsServiceGetImageTypeInfoStateIdle; // 僒乕價僗忬懺傪枹幚峴忬懺傊
}
/**
* 僒乕價僗宲懕
*
* @return 僒乕價僗張棟偺宲懕忬嫷
**/
TSmbMusicAPSyncServerContentsServiceState CSmbMusicAPSyncServerContentsServiceGetImageTypeInfo::ContinueServiceL()
{
#ifdef __SMBMUSICAPSYNCSERVER_ENABLEALLLOG__
TUint32 logCode = EMusicAPSyncServerClassNumber_ContentsServiceGetImageTypeInfo | EMusicAPSyncServerLocationNumber08;
_LIT(KServiceGetImageTypeInfoContinueServiceL01, "SyncServerContentsServiceGetImageTypeInfo::ContinueServiceL()");
SmbMusicAPSyncServerLog(iRLog, logCode, ELogLevelLow, KServiceGetImageTypeInfoContinueServiceL01);
#endif
TSmbMusicAPSyncServerContentsServiceState retState(ESmbMusicAPSyncServerContetnsServiceStateEnd);
switch(iServiceState)
{
case EContentsServiceGetImageTypeInfoStateGetSongItem: // 懳徾嬋傾僀僥儉庢摼拞
{
TInt result = GetImageTypeInfo(); // 巜掕庬暿夋憸忣曬庢摼
if (result == KErrNone)
{
iServiceState = EContentsServiceGetImageTypeInfoStateGetImageInfo; // 巜掕庬暿夋憸忣曬庢摼拞忬懺傊
CSmbMusicAPSyncServerContentsServiceBase::Start();
retState = ESmbMusicAPSyncServerContetnsServiceStateContinue;
}
else
{ // 巜掕庬暿夋憸忣曬庢摼偱僄儔乕偑敪惗
MessageComplete(result);
iServiceState = EContentsServiceGetImageTypeInfoStateIdle; // 僒乕價僗忬懺傪張棟柍偟忬懺傊
retState = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
}
break;
case EContentsServiceGetImageTypeInfoStateGetImageInfo: // 巜掕庬暿夋憸忣曬庢摼拞
{
TInt result = CompleteGetImageTypeInfo(); // 巜掕庬暿夋憸忣曬傪愝掕
if (result != KErrNone)
{
retState = ESmbMusicAPSyncServerContetnsServiceStateErr;
}
else
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -