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

📄 smbmusicaplibmwanalyzeitem.h

📁 索爱手机代码
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPLibMWAnalyzeItem.h
//
// Description:
//	PTX810 Music傾僾儕丂嫟捠儔僀僽儔儕 夋憸忣曬夝愅僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/09	|娵壀			|怴婯嶌惉
//2006/08/19	|娵壀			|TRK6868懳墳
//2006/09/09	|娵壀			|TRK8888懳墳
//2006/09/26	|娵壀			|TRK10436懳墳
//2006/10/18	|娵壀			|TRK11656懳墳
//----PTX824----+---------------+--------------------------------------
//2007/03/29	|K3悪杮			|PTX824懳墳
//2007/06/23	|K3悪杮			|AAA夋憸懳墳


#ifndef __SMBMUSICAPLIBMWANALYZEITEM_H__
#define __SMBMUSICAPLIBMWANALYZEITEM_H__


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

#ifndef __SMBMUSICMWLIBCLIENT_H__
#include <SmbMusicMWLibClient.h>
#endif

#ifndef __SMBMUSICAPLIBDEF_H__
#include "SmbMusicAPLibImageDef.h"
#endif


SEMCJ_NAMESPACE_BEGIN

const TInt KSmbMusicAPLibImageAAAMax	= 1;	///<AAA夋憸偺嵟戝悢
const TInt KSmbMusicAPLibImageJacketMax = 1;	///<僕儍働僢僩夋憸偺嵟戝悢
const TInt KSmbMusicAPLibImageStillMax 	= 2;	///<懸偪庴偗夋憸偺嵟戝悢
const TInt KSmbMusicAPLibImageLylicMax 	= 7;	///<壧帉夋憸偺嵟戝悢

/**	夋憸庢摼偺帠慜僠僃僢僋梡夋憸忣曬奿擺僋儔僗	*/
struct TSmbMusicAPLibMWAnlyzeItemCheckImageInfo
	{
	CSmbMusicMWLibSongItem*				iItem;		///<嬋傾僀僥儉僆僽僕僃僋僩乮強桳尃側偟乯
	CSmbMusicMWLibImageInfo* 			iInfoItem;	///<MusicMW偺夋憸忣曬僋儔僗偺億僀儞僞
	TSmbMusicMWLibImageIndividualInfo	iInfo;		///<屄暿偺夋憸忣曬僋儔僗
	TInt								iIndex;		///<庢摼偡傞夋憸Index
	};


/**
 * Music傾僾儕  嫟捠儔僀僽儔儕  夋憸忣曬夝愅僋儔僗
 */
class CSmbMusicAPLibMWAnalyzeItem : public CActive
	{
public:
	/**
	 *  忬懺掕媊
	 **/
	enum TSmbMusicAPLibAnalyzeItemState
		{
		ESmbMusicAPLibIdle = 0,			///<傾僀僪儖忬懺
		ESmbMusicAPLibGetExInfo,		///<SD忣曬庢摼忬懺
		ESmbMusicAPLibAnalyzeInfo,		///<夋憸忣曬夝愅忬懺
		ESmbMusicAPLibGetInfo,			///<夋憸忣曬庢摼忬懺
		ESmbMusicAPLibStartCheckImage,	///<夋憸庢摼偺帠慜僠僃僢僋奐巒忬懺
		ESmbMusicAPLibCheckingImage,	///<夋憸庢摼偺帠慜僠僃僢僋忬懺
//  ADD-S PTX824 k3-sugimoto
		ESmbMusicAPLibGetExInfoforTarget,			///<  SDBind忣曬庢摼忬懺
		ESmbMusicAPLibGetAAAInfoforTarget,			///<  AAA夋憸忣曬庢摼
		ESmbMusicAPLibGetAAAIndivInfoforTarget,		///<  AAA夋憸屄暿忣曬庢摼
		ESmbMusicAPLibGetJacketInfoforTarget,		///<  僕儍働僢僩夋憸忣曬庢摼
		ESmbMusicAPLibGetJacketIndivInfoforTarget,	///<  僕儍働僢僩夋憸屄暿忣曬庢摼
		ESmbMusicAPLibGetStillInfoforTarget,		///<  懸庴夋憸忣曬庢摼
		ESmbMusicAPLibGetStillIndivInfoforTarget,	///<  懸庴夋憸屄暿忣曬庢摼
		ESmbMusicAPLibGetLyricInfoforTarget,		///<  壧帉夋憸忣曬庢摼
		ESmbMusicAPLibGetLyricIndivInfoforTarget,	///<  壧帉夋憸屄暿忣曬庢摼

		ESmbMusicAPLibGetAAACountforTarget,		///<  AAA夋憸悢庢摼
		ESmbMusicAPLibGetJacketCountforTarget,	///<  僕儍働僢僩夋憸悢庢摼
		ESmbMusicAPLibGetStillCountforTarget,	///<  懸庴夋憸悢庢摼
		ESmbMusicAPLibGetLyricCountforTarget,	///<  壧帉夋憸悢庢摼
//  ADD-E PTX824 k3-sugimoto
		};

	/**
	 *  僐儞僗僩儔僋僞
	 **/
	CSmbMusicAPLibMWAnalyzeItem();

	/**
	 *  僨僗僩儔僋僞
	 **/
	~CSmbMusicAPLibMWAnalyzeItem();

	/**
	 *  嬋傾僀僥儉偺夋憸忣曬傪庢摼偡傞
	 *  @param[in]		aItem	嬋傾僀僥儉偺嶲徠
	 *  @param[in]		aExType	奼挘僼儔僌
	 *  @param[in,out]	aInfo	夋憸忣曬庢摼椞堟
	 *  @param[in,out]	aStatus	旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
	 *  @return	張棟寢壥
	 **/
	TInt GetImageInfo(
			CSmbMusicMWLibSongItem& aItem,
			TInt aExType,
			TSmbMusicAPLibImageInfo& aInfo,
			TRequestStatus& aStatus
			);

	/**
	 *  嬋傾僀僥儉偺夋憸忣曬庢摼張棟傪僉儍儞僙儖偡傞
	 *  @return	張棟寢壥
	 **/
	TInt CancelImageInfo();

	/**
	 *  妝嬋偵娷傑傟傞夋憸僼傽僀儖偺僒僀僘傪挷傋傞
	 *  @param[in]	aItem	嬋傾僀僥儉偺嶲徠
	 *  @param[in]	aType	夋憸庬暿(僕儍働僢僩夋憸(懸庴夋憸傪娷傓)丄壧帉夋憸)
	 *  @param[in]	aIndex	夋憸斣崋巜掕
	 *  @param[in]	aStatus	旕摨婜墳摎
	 *  @return	張棟寢壥
	 */
	TInt CheckImage(
			CSmbMusicMWLibSongItem& aItem,
			TSmbMusicMWLibImageType aType,
			TInt aIndex,
			TRequestStatus& aStatus
			);

	/**
	 *  帠慜僠僃僢僋偺拞巭
	 *  @return	張棟寢壥
	 **/
	TInt CancelCheckImage();

//  ADD-S PTX824 k3-sugimoto
	/**
	 *  巜掕偟偨庬暿偺夋憸忣曬傪庢摼偡傞
	 *  @param[in]		aItem		忣曬庢摼懳徾偺嬋傾僀僥儉
	 *	@param[in]		aTargetType	庢摼偟偨偄夋憸忣曬偺庬暿(僕儍働僢僩/壧帉)
	 *	@param[in]		aExType		奼挘僼儔僌
	 *  @param[out]		aTypeInfo	庢摼偝傟偨屄暿夋憸忣曬偺曐帩椞堟
	 *	@param[in,out]	aStatus		旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
	 *  @return	張棟寢壥
	 **/
	TInt GetImageTypeInfo(
			CSmbMusicMWLibSongItem& aItem,
			TSmbMusicAPLibImageType& aTargetType,
			TInt aExType,
			TSmbMusicAPLibImageTypeInfo& aTypeInfo,
			TRequestStatus& aStatus
			);

	/**
	 *  巜掕庬暿夋憸忣曬庢摼梫媮偺僉儍儞僙儖
	 **/
	void CancelGetImageTypeInfo();

	/**
	 *  巜掕偟偨庬暿偺夋憸悢傪庢摼偡傞
	 *  @param[in]		aItem		庢摼懳徾偺嬋傾僀僥儉
	 *	@param[in]		aTargetType	庢摼偟偨偄夋憸忣曬偺庬暿(僕儍働僢僩/壧帉)
	 *	@param[in]		aExType		奼挘僼儔僌
	 *  @param[out]		aImageCount	庢摼偝傟偨夋憸悢
	 *	@param[in,out]	aStatus		旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
	 *  @return	張棟寢壥
	 **/
	TInt GetTargetImageCount(
			CSmbMusicMWLibSongItem& aItem,
			TSmbMusicAPLibImageType& aTargetType,
			TInt aExType,
			TInt& aImageCount,
			TRequestStatus& aStatus
			);

	/**
	 *  巜掕庬暿夋憸悢庢摼梫媮偺僉儍儞僙儖
	 **/
	void CancelGetTargetImageCount();
//  ADD-E PTX824 k3-sugimoto


private:
	/**
	 *  傾僋僥傿僽僆僽僕僃僋僩偺RunL娭悢
	 **/
	void RunL();

	/**
	 *  傾僋僥傿僽僆僽僕僃僋僩偺DoCancel
	 **/
	void DoCancel();

	/**
	 *  旕摨婜梫媮傪奐巒偡傞(AO傪Active偵僙僢僩偡傞)
	 **/
	void Start();

	/**
	 *  忬懺傪愝掕偡傞
	 *  @param[in]	aState	愝掕偡傞忬懺抣
	 **/
	void SetState(TSmbMusicAPLibAnalyzeItemState aState);

	/**
	 *  忬懺傪庢摼偡傞
	 *  @return	尰嵼偺忬懺抣
	 **/
	TSmbMusicAPLibAnalyzeItemState State();

	/**
	 *  屄暿夋憸忣曬偑偁傟偽丄屄暿夋憸忣曬庢摼傪奐巒丟偦偆偱側偄応崌丄傕偟懠偺僞僀僾偺夋憸偑偁傟偽丄夋憸忣曬庢摼梫媮傪屇傃弌偡
	 **/
	void StartAnalyzeInfo();

	/**
	 *  慡晹偺屄暿夋憸庢摼張棟傪懕偗傞丟慡晹庢摼偟偨応崌丄傾僾儕偵姰椆捠抦傪搳偘傞
	 **/
	void AnalyzeInfo();

	/**
	 *  偁傞夋憸僞僀僾偵懳偟偰丄夋憸忣曬庢摼傪峴偆
	 *  @return	張棟寢壥
	 */
	TInt GetInfo();

	/**
	 *  師偺夋憸僞僀僾傪愝掕偡傞
	 *  @return	懸偪庴偗夋憸/壧帉夋憸偵愝掕偟偨応崌丄ETrue傪曉偡
	 **/
	TBool NextImageType();

	/**
	 *  嵟弶偺夋憸僞僀僾傪愝掕偡傞
	 **/
	void StartImageType();

	/**
	 *  梫媮懁偵懳偟偰丄旕摨婜梫媮偺姰椆捠抦傪偡傞
	 *  @param[in]	aCode	姰椆僐乕僪
	 **/
	void Complete(TInt aCode);

	/**
	 *  惗惉偟偨僆僽僕僃僋僩傪嶍彍偡傞
	 *  @param[in]	aClearArray	奿擺椞堟偺攝楍傪僋儕傾偡傞偐偳偆偐(僨僼僅儖僩:ETrue=僋儕傾偡傞)
	 **/
	void DeleteObjects(TBool aClearArray = ETrue);

	/**
	 *  妝嬋偵奿擺偝傟偰偄傞夋憸僼傽僀儖偺嵟戝悢傪僠僃僢僋偡傞
	 *  @param[in]		aType		夋憸庬暿
	 *  @param[in/out]	aImageCount	夋憸偺嵟戝悢
	 **/
	void CheckMaxImageCount(TSmbMusicMWLibImageType aType, TInt& aImageCount);

	/**
	 *  旕摨婜墳摎偑惓忢廔椆偺応崌
	 *  @param[in]	aState	尰嵼偺忬懺
	 **/
	void ResultKErrNone(TSmbMusicAPLibAnalyzeItemState aState);

	/**
	 *  旕摨婜墳摎偑弨惓忢廔椆偺応崌
	 *  @param[in]	aState	尰嵼偺忬懺
	 **/
	void ResultKErrNotSupport(TSmbMusicAPLibAnalyzeItemState aState);

	/**
	 *  旕摨婜墳摎偑僄儔乕偺応崌
	 *  @param[in]	aState	尰嵼偺忬懺
	 **/
	void ResultError(TSmbMusicAPLibAnalyzeItemState aState);

	/**
	 *  庢摼偟偨夋憸忣曬傪奿擺偡傞
	 **/
	void AppendImageInfo();

	/**
	 *  妝嬋偵娷傑傟傞夋憸忣曬傪庢摼偡傞(夋憸庢摼偺帠慜僠僃僢僋梡)
	 *  @return	張棟寢壥
	 **/
	TInt GetInfoToCheckImage();

	/**
	 *  妝嬋偵娷傑傟傞夋憸偑僒億乕僩僼傽僀儖僒僀僘偵廂傑偭偰偄傞偐傪僠僃僢僋偡傞(夋憸庢摼偺帠慜僠僃僢僋梡)
	 *  @return	張棟寢壥
	 **/
	TInt CheckSupportedSize();

	/**
	 *  夋憸忣曬偑懚嵼偟側偄応崌偺僄儔乕張棟
	 **/
	void ErrorInfo();

	/**
	 *  旕摨婜墳摎偑弨惓忢廔椆偺応崌
	 *  @param[in]	aState	尰嵼偺忬懺
	 **/
	void ResultKErrNotFound(TSmbMusicAPLibAnalyzeItemState aState);

//  ADD-S PTX824 k3-sugimoto
	/**
	 *  巜掕庬暿夋憸忣曬庢摼梫媮偺墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetImageTypeInfoRes(TInt aResult);

	/**
	 *  SDBind忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetExInfoforTarget(TInt aResult);

	/**
	 *  AAA夋憸忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetAAAInfoforTarget(TInt aResult);

	/**
	 *  AAA夋憸屄暿忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetAAAIndivInfoforTarget(TInt aResult);

	/**
	 *  僕儍働僢僩夋憸忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetJacketInfoforTarget(TInt aResult);

	/**
	 *  僕儍働僢僩夋憸屄暿忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetJacketIndivInfoforTarget(TInt aResult);

	/**
	 *  懸庴夋憸忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetStillInfoforTarget(TInt aResult);

	/**
	 *  懸庴夋憸屄暿忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetStillIndivInfoforTarget(TInt aResult);

	/**
	 *  壧帉夋憸忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetLyricInfoforTarget(TInt aResult);

	/**
	 *  壧帉夋憸屄暿忣曬庢摼墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetLyricIndivInfoforTarget(TInt aResult);

	/**
	 *  夋憸忣曬庢摼姰椆張棟
	 *
	 *  @return	張棟寢壥
	 **/
	TInt CompleteGetImageInfo();

	/**
	 *  屄暿忣曬庢摼奐巒
	 *
	 *  @return	張棟寢壥
	 **/
	TInt GetIndividualInfo();

	/**
	 *  庢摼偱偒偨屄暿夋憸忣曬傪奿擺椞堟傊曐帩偡傞
	 *
	 *  @return	張棟寢壥
	 **/
	TInt AppendImageTypeInfo();

	/**
	 *  巜掕庬暿夋憸悢庢摼梫媮偺墳摎偵懳偡傞張棟
	 *
	 *  @param[in]	aResult	旕摨婜墳摎偺抣
	 **/
	void HandleGetImageTypeCountRes(TInt aResult);
//  ADD-E PTX824 k3-sugimoto


private:
	/** 屄暿夋憸忣曬庢摼僇僂儞僞 **/
	TInt	iAnalyzeCounter;

	/** 庢摼偟偨夋憸忣曬椞堟偺億僀儞僞 **/
	TSmbMusicAPLibImageInfo*	iClientInfo;

	/** 夋憸僼傽僀儖傪強桳偟偰偄傞嬋傾僀僥儉 **/
	CSmbMusicMWLibSongItem*	iClientItem;

	/** 梫媮懁偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗傪堦帪曐懚梡儊儞僶乕曄悢 **/
	TRequestStatus*	iClientStatus;

	/** 偁傞夋憸僞僀僾(僕儍働僢僩(懸庴夋憸娷傓)丄壧帉夋憸)偵懳偟偰丄嬋傾僀僥儉偑帩偭偰偄傞屄暿夋憸屄悢 **/
	TInt	iHasInfoMax;

	/** 尰嵼丄庢摼張棟拞偱偁傞夋憸僞僀僾 **/
	TSmbMusicMWLibImageType	iImageType;

	/** MusicMW偺夋憸忣曬僋儔僗偺億僀儞僞 **/
	CSmbMusicMWLibImageInfo*	iInfoItem;

	/** MusicMW偺屄暿夋憸忣曬奿擺椞堟 **/
	TSmbMusicMWLibImageIndividualInfo	iInfo;

	/** 僋儔僗忬懺 **/
	TSmbMusicAPLibAnalyzeItemState	iState;

	/**	SDBind忣曬 **/
	TSmbMusicMWLibExtensionHeaderInfo	iExtensionHeaderInfo;

	/** 夋憸庢摼偺帠慜僠僃僢僋梡忣曬奿擺僋儔僗 **/
	TSmbMusicAPLibMWAnlyzeItemCheckImageInfo	iCheckInfo;

//  ADD-S PTX824 k3-sugimoto
	/**  庢摼偟偨夋憸忣曬奿擺椞堟偺億僀儞僞  **/
	TSmbMusicAPLibImageTypeInfo*	iClientTypeInfo;

	/**  忣曬庢摼懳徾偺夋憸庬暿  **/
	TSmbMusicAPLibImageType	iTargetType;

	/** 壧帉夋憸偺曐懚壜斲僼儔僌 **/
	TBool	iLyricStoreFlag;

	/**  庢摼偟偨夋憸悢奿擺椞堟偺億僀儞僞  **/
	TInt*	iImageCount;

	/**  奼挘僼儔僌  **/
	TInt	iExType;
//  ADD-E PTX824 k3-sugimoto
	};


SEMCJ_NAMESPACE_END

#endif //__SMBMUSICAPLIBMWANALYZEITEM_H__

// end of SmbMusicAPLibMWAnalyzeItem.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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