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

📄 smbmusicaplibmwfunc.h

📁 索爱手机代码
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPLibMWFunc.h
//
// Description:
//	PTX810 Music傾僾儕丂嫟捠儔僀僽儔儕 夋憸庢摼僋儔僗
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰			|撪梕
//--------------+---------------+--------------------------------------
//2006/06/09	|娵壀			|怴婯嶌惉
//2006/09/26	|娵壀			|TRK10436懳墳
//----PTX824----+---------------+--------------------------------------
//2007/03/20	|K3悪杮			|PTX824懳墳(夋憸庬暿巜掕宯API捛壛)
//2007/04/02	|K3悪杮			|PTX824懳墳(奼戝儕僒僀僘懳墳)
//2007/06/22	|K3悪杮			|PTX824懳墳(AAA夋憸懳墳)


#ifndef __SMBMUSICAPLIBMWFUNC_H__
#define __SMBMUSICAPLIBMWFUNC_H__


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

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


#ifndef __SMBMUSICAPLIBIMAGEFUNC_H__
#include "SmbMusicAPLibImageFunc.h"
#endif


SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPLibMWAnalyzeItem;
class CSmbMusicMWLibSongItem;

/**
 * Music嫟捠儔僀僽儔儕  夋憸庢摼僋儔僗
 **/
class CSmbMusicAPLibMWFunc : public CActive
	{
public:
	/**
	 *  忬懺掕媊
	 **/
	enum TSmbMusicAPLibMWFuncState
		{
		ESmbMusicAPLibIdle = 0,							///<傾僀僪儖忬懺
		ESmbMusicAPLibWaitCreateFile,					///<僼傽僀儖曄姺忬懺
		ESmbMusicAPLibWaitCreateFileNextConvertResize,	///<僼傽僀儖曄姺乮儕僒僀僘張棟懸偪乯忬懺
		ESmbMusicAPLibWaitConvertResizeRes,				///<儕僒僀僘張棟忬懺
		ESmbMusicAPLibWaitImageInfoRes,					///<夋憸忣曬庢摼忬懺
		ESmbMusicAPLibCheckBeforeCreateFile,					///<夋憸庢摼帠慜僠僃僢僋僼傽僀儖曄姺忬懺
		ESmbMusicAPLibCheckBeforeCreateFileNextConvertResize,	///<夋憸庢摼帠慜僠僃僢僋僼傽僀儖曄姺(儕僒僀僘張棟懸偪)忬懺
//  ADD-S PTX824 k3-sugimoto
		ESmbMusicAPLibWaitImageTypeInfoRes,				///<巜掕夋憸庬暿夋憸忣曬庢摼忬懺
		ESmbMusicAPLibWaitImageTypeCountRes,			///<巜掕夋憸庬暿夋憸忣曬悢庢摼忬懺
//  ADD-E PTX824 k3-sugimoto
	};


	/**
	 *  僼傽僋僩儕娭悢
	 *  @param[in]	aSession	MusicMW儔僀僽儔儕僙僢僔儑儞偺嶲徠
	 *  @return	夋憸庢摼僋儔僗偺億僀儞僞
	 **/
	IMPORT_C static CSmbMusicAPLibMWFunc* NewL(RSmbMusicMWLibSession& aSession);

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

	/**
	 *  夋憸忣曬傪庢摼偡傞丗僕儍働僢僩夋憸(懸偪庴偗夋憸娷傓)丄壧帉夋憸偺忣曬偺攝楍庢摼
	 *  @param[in]		aItem	夋憸忣曬傪庢摼偡傞妝嬋傾僀僥儉偺僆僽僕僃僋僩
	 *  @param[in,out]	aInfo	庢摼偟偨僕儍働僢僩夋憸(懸偪庴偗夋憸娷傓)丄壧帉夋憸偺忣曬偺攝楍
	 *  @param[in,out]	aStatus	旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
	 *  @param[in]		aExType	奼挘僼儔僌(僨僼僅儖僩:AAA夋憸庢摼)
	 *  @return	張棟寢壥
	 **/
	IMPORT_C TInt GetImageInfo(
			CSmbMusicMWLibSongItem& aItem,
			TSmbMusicAPLibImageInfo& aInfo,
			TRequestStatus& aStatus,
			TInt aExType = ESmbMusicAPLibExTypeEnableAAA
			);

	/**
	 *  夋憸忣曬偺庢摼傪僉儍儞僙儖偡傞
	 *  @return	張棟寢壥
	 **/
	IMPORT_C TInt CancelGetImageInfo();

	/**
	 *  妝嬋僼傽僀儖偵娷傑傟傞夋憸僼傽僀儖傪巜掕偝傟偨僼傽僀儖柤偱惗惉偡傞
	 *  @param[in]		aItem		夋憸僼傽僀儖傪強桳偟偰偄傞妝嬋傾僀僥儉偺僆僽僕僃僋僩
	 *  @param[in]		aType		夋憸庬暿(僕儍働僢僩夋憸(懸庴夋憸傪娷傓)丄壧帉夋憸)
	 *  @param[in]		aIndex		夋憸斣崋巜掕
	 *  @param[in]		aFileName	僼傽僀儖柤(僼儖僷僗巜掕)
	 *  @param[in,out]	aStatus		旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
	 *  @param[in]		aExType		奼挘僼儔僌(僨僼僅儖僩:AAA夋憸庢摼)
	 *  @return	張棟寢壥
	 **/
	IMPORT_C TInt GetImage(
			CSmbMusicMWLibSongItem& aItem,
			TSmbMusicAPLibImageType aType,
			TInt aIndex,
			const TDesC& aFileName,
			TRequestStatus& aStatus,
			TInt aExType = ESmbMusicAPLibExTypeEnableAAA
			);

//  MODIFY-S PTX824 k3-sugimoto
	/**
	 *  妝嬋僼傽僀儖偵娷傑傟傞夋憸僼傽僀儖傪CFbsBitmap宍幃偵曄姺屻丄巜掕偝傟偨僒僀僘偵儕僒僀僘偡傞
	 *
	 *  @param[in]		aItem				夋憸僼傽僀儖傪強桳偟偰偄傞妝嬋傾僀僥儉偺僆僽僕僃僋僩
	 *  @param[in]		aType				夋憸庬暿(僕儍働僢僩夋憸(懸庴夋憸傪娷傓)丄壧帉夋憸)
	 *  @param[in]		aDestinationSize	弌椡夋憸僒僀僘
	 *  @param[in]		aIndex				夋憸斣崋巜掕
	 *  @param[in,out]	aDstBitmap			惗惉偝傟偨Bitmap(僆儕僕僫儖僼傽僀儖偵儅僗僋偑娷傑傟偰偄側偄帪偼NULL傪曉偡)
	 *  @param[in]		aStatus				旕摨婜墳摎梡偺傾僋僥傿僽僆僽僕僃僋僩僗僥乕僞僗
	 *  @param[in]		aBeSpread			奼戝儕僒僀僘僼儔僌(僨僼僅儖僩:EFalse=奼戝偟側偄)
	 *  @param[in]		aExType				奼挘僼儔僌(僨僼僅儖僩:AAA夋憸庢摼)
	 *
	 *  @return	張棟寢壥
	 **/
	IMPORT_C TInt GetImage(
			CSmbMusicMWLibSongItem& aItem,
			TSmbMusicAPLibImageType aType,
			TSize aDestinationSize,
			TInt aIndex,
			TSmbMusicAPLibImageBitmap& aDstBitmap,
			TRequestStatus& aStatus,
			TBool aBeSpread = EFalse,
			TInt aExType = ESmbMusicAPLibExTypeEnableAAA
			);
//  MODIFY-E PTX824 k3-sugimoto

	/**
	 *  夋憸僼傽僀儖偺庢摼傪僉儍儞僙儖偡傞
	 *  @return	張棟寢壥
	 **/
	IMPORT_C TInt CancelGetImage();

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

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

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

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


private:
	/**
	 *  僐儞僗僩儔僋僞
	 * @param[in]	aSession	MusicMW儔僀僽儔儕僙僢僔儑儞偺嶲徠
	 **/
	CSmbMusicAPLibMWFunc(RSmbMusicMWLibSession& aSession);

	/**
	 *  戞擇僼僃乕僘僐儞僗僩儔僋僞
	 **/
	void ConstructL();

	/**
	 *  傾僋僥傿僽僆僽僕僃僋僩偺RunL娭悢傪幚憰偡傞
	 **/
	void RunL();

	/**
	 *  傾僋僥傿僽僆僽僕僃僋僩偺DoCancel張棟傪峴偆
	 **/
	void DoCancel();

	/**
	 *  夋憸僼傽僀儖惗惉姰椆捠抦傪梫媮懁偵搳偘傞
	 **/
	void CompleteCreateFile();

	/**
	 *  夋憸僼傽僀儖惗惉屻丄夋憸曄姺(Decode)傪峴偆
	 **/
	void CompleteCreateFileNextConvertResize();

	/**
	 *  夋憸曄姺姰椆捠抦傪梫媮懁偵搳偘傞
	 **/
	void CompleteConvertResize();

	/**
	 *  夋憸忣曬庢摼姰椆捠抦傪梫媮懁偵搳偘傞
	 **/
	void CompleteGetImageInfo();

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

	/**
	 *  惗惉偟偨僥儞億儔儕乕夋憸僼傽僀儖傪嶍彍偡傞
	 **/
	void DeleteFile();

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

	/**
	 *  僋儔僗忬懺傪庢摼偡傞
	 *  @return	尰嵼偺僋儔僗忬懺
	 **/
	TSmbMusicAPLibMWFuncState State();

	/**
	 *  惗惉偟偨僆僽僕僃僋僩傪嶍彍偟丄旕摨婜梫媮傪姰椆偡傞
	 *  @param[in]	aCode	姰椆僐乕僪
	 **/
	void DeleteObjectsAndComplete(TInt aCode);

	/**
	 *  攝楍偺拞偺Bitmap忣曬傪嶍彍偡傞
	 **/
	void DeleteBitmapArray();

//@@TRK10436懳墳	Start
	/**
	 *  妝嬋僼傽僀儖偵娷傑傟傞夋憸僼傽僀儖傪巜掕偝傟偨僼傽僀儖柤偱惗惉偡傞
	 *  @return	張棟寢壥
	 **/
	TInt GetImageAfterCheck();
//@@TRK10436懳墳	End


//  ADD-S AAA懳墳
	/**
	 *  庢摼偡傞夋憸庬暿傪敾掕偡傞
	 *  @param[in]	aType	庢摼偟偨偄夋憸庬暿
	 *  @param[in]	aIndex	庢摼偟偨偄夋憸偺僀儞僨僢僋僗
	 *  @param[in]	aType	奼挘庬暿
	 *  @return	張棟寢壥
	 **/
	TInt DecideImageType(TSmbMusicAPLibImageType aType, TInt& aIndex, TInt aExType);
//  ADD-E AAA懳墳

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

//  ADD-S PTX824 k3-sugimoto
	/** 巜掕偟偨僒僀僘堦帪曐懚梡儊儞僶乕曄悢 **/
	TSmbMusicAPLibImageSizeInfo iDestSize;
//  ADD-E PTX824 k3-sugimoto

	/** 惗惉偝傟偨Bitmap傊偺嶲徠 **/
	TSmbMusicAPLibImageBitmap* iDstBitmap;
	RPointerArray<TSmbMusicAPLibImageBitmap> iDstBitmapArray;

	/** 巜掕偟偨夋憸僼傽僀儖柤偺嶲徠 **/
	HBufC* iFileName;

	/** 夋憸張棟僋儔僗傊偺億僀儞僞 **/
	CSmbMusicAPLibImageFunc* iImageFunc;

	/** MusicMW偲偺僙僢僔儑儞 **/
	RSmbMusicMWLibSession& iMWSession;

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

	/** 夋憸忣曬夝愅僋儔僗傊偺億僀儞僞 **/
	CSmbMusicAPLibMWAnalyzeItem* iAnalyzeItem;

	/** 嬋傾僀僥儉偺億僀儞僞 **/
	CSmbMusicMWLibSongItem* iSongItem;

	/** 夋憸斣崋 **/
	TInt iImageIndex;

	/** 夋憸庬暿 **/
	TSmbMusicMWLibImageType iImageType;
	};

SEMCJ_NAMESPACE_END


#endif //__SMBMUSICAPLIBMWFUNC_H__

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

⌨️ 快捷键说明

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