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

📄 smbmusicapmainplayerplayinfoproc.h

📁 symbian
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
//	SmbMusicAPMainPlayerPlayInfoProc.h
//
// Description: 
//	儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺摨婜僄儞僕儞惂屼僋儔僗偺掕媊僿僢僟
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅			|曄峏幰 	|撪梕
//--------------+-----------+----------------------------------------------
//2006/04/28	|K3拞堜		| 弶斉儕儕乕僗

/// 嵞惗宯摨婜僄儞僕儞惂屼僋儔僗掕媊
/**
 * @file SmbMusicAPMainPlayerPlayInfoProc.h
 *
 * 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺摨婜僄儞僕儞惂屼僋儔僗偺掕媊僿僢僟
 */

#ifndef __SMBMUSICAPMAINPLAYEROLAYINFOPROC_H__
#define __SMBMUSICAPMAINPLAYEROLAYINFOPROC_H__

#include "SmbMusicAPMainPlayerPlayDebug.h"

#ifndef __E32BASE_H__
#include <e32base.h>
#endif

#ifndef __FBS_H__
#include <fbs.h>
#endif

#ifndef __SMBMUSICAPSYNCENGINE_H__
#include <SmbMusicAPSyncEngine.h>
#endif

#ifndef __SMBMUSICAPMAINPLAYERCOMMONDEF_H__
#include "SmbMusicApMainPlayerCommonDef.h"
#endif

#ifndef __SMBMUSICAPSYNCENGINEOBSERVER_H__
#include <SmbMusicAPSyncEngineObserver.h>
#endif

#ifndef __SBMMUSICAPMAINPLAYERPLAYOBSERVER_H__
#include "SmbMusicAPMainPlayerPlayObserver.h"
#endif

#ifndef __SMBMUSICAPMAINPLAYERPLAYPROC_H__
#include "SmbMusicAPMainPlayerPlayProc.h"
#endif

#ifndef __SMBMUSICAPLIB_H__
#include "SmbMusicAPLib.h"
#endif

SEMCJ_NAMESPACE_BEGIN
USING_NAMESPACE_DCM


class CSmbMusicAPMainPlayerPlayInfoProc : public CActive
	{
public:		// Constructor/Destructor
	/**
	 * 僋儔僗惗惉
	 * @param[in] aMusicSyncEngine 摨婜僄儞僕儞
	 * @param[in] aLog RLog僆僽僕僃僋僩
	 * @return 惗惉偟偨CSmbMusicAPMainPlayerPlayInfoProc僆僽僕僃僋僩
	 */
	static CSmbMusicAPMainPlayerPlayInfoProc* NewL(CSmbMusicAPSyncEngine& aMusicSyncEngine, RLog& aLog);

	/**
	 * 僨僗僩儔僋僞
	 */
	~CSmbMusicAPMainPlayerPlayInfoProc();
	
public:		// own 
	/**
	 * 僐儅儞僪張棟僆僽僓乕僶搊榐
	 * @param[in] aObserver 僐儅儞僪張棟僆僽僓乕僶僋儔僗
	 */
	void SetObserver(MSmbMusicAPMainPlayerPlayObserver* aObserver);
	
	/**
	 * 嵞惗嬋忣曬庢摼傪梫媮偡傞丅
	 * @param aItem 庢摼偡傞傾僀僥儉忣曬
	 * @retval ETrue 張棟梫媮惉岟
	 * @retval EFalse 張棟梫媮幐攕
	 */
	TBool GetPlaySongInfo(TSmbMusicAPSyncEngineItemIndex aItem);
	
	/**
	 * 傾僀僥儉僀儞僨僢僋僗偵懳墳偡傞嬋ID傪庢摼偡傞丅
	 * @param aItem 庢摼偡傞嬋偺傾僀僥儉忣曬
	 * @return 嬋ID
	 */
	TUint64 SongID(TSmbMusicAPSyncEngineItemIndex aItem);
	
	/**
	 * 嵞惗儕僗僩偵娷傑傟傞傾僀僥儉儕僗僩傪庢摼偡傞丅
	 * @param aListHandle 嵞惗儕僗僩僴儞僪儖
	 * @return 儕僗僩偵娷傑傟傞傾僀僥儉悢
	 */
	TInt GetItemCount(TInt aListHandle);

	/**
	 * 僕儍働僢僩夋憸庢摼傪梫媮偡傞丅
	 * @param aItem 庢摼偡傞嬋偺傾僀僥儉忣曬
	 * @param aSize 夋憸僒僀僘
	 * @param aSizeIcon 傾僀僐儞夋憸僒僀僘
	 * @retval ETrue 張棟梫媮惉岟
	 * @retval EFalse 張棟梫媮幐攕
	 */
	TBool GetImage(TSmbMusicAPSyncEngineItemIndex aItem, TSize aSize, TSize aSizeIcon);

	/**
	 * 夋憸枃悢傪梫媮偡傞丅
	 * @param aItem 庢摼偡傞嬋偺傾僀僥儉忣曬
	 * @retval ETrue 張棟梫媮惉岟
	 * @retval EFalse 張棟梫媮幐攕
	 */
	TBool GetImageNumber(TSmbMusicAPSyncEngineItemIndex aItem);

	/**
	 * 夋憸傪僒僀僘曄峏偡傞丅
	 * @param aBitMap 夋憸僨乕僞
	 * @param aBitMapMask 儅僗僋僨乕僞
	 * @param aSize 曄峏偡傞夋憸僒僀僘
	 * @retval ETrue 張棟梫媮惉岟
	 * @retval EFalse 張棟梫媮幐攕
	 */
	TBool ResizeImage(CFbsBitmap* aBitMap, CFbsBitmap* aBitMapMask, TSize aSize);

	/**
	 * 摨婜僒乕僶傊偺梫媮傪僉儍儞僙儖偡傞丅
	 */
	void CancelAction();

	/**
	 * 摨婜僄儞僕儞傊偺張棟梫媮庬暿傪曉憲偡傞丅
	 * @return 張棟梫媮庬暿
	 */
	 TSmbMusicAPMainPlayerPlayRequest RequestKind();

	// 2006.10.01  TRK:10535
	/**
	 * 儕僗僩僴儞僪儖偺儕僗僩庬暿傪庢摼偡傞丅
	 * @param[in]	aListHandle		儕僗僩僴儞僪儖
	 * @param[out]	aListType		儕僗僩庬暿
	 */
	void GetListType(TInt aListHandle, TSmbMusicAPSyncEngineListType& aListType);
	
	//ADD-S yoko
	/**
	 * 旕摨婜張棟梫媮傪愝掕偡傞丅
	 * @param[in] aKind 摨婜僄儞僕儞傊偺張棟梫媮庬暿
	 */
	void SetActiveRequest(TSmbMusicAPMainPlayerPlayRequest aKind);
	
	/**
	 * 旕摨婜僉儍儞僙儖張棟
	 */
	void DoCancel();
	//ADD-E

private:	// CActive
	/**
	 * 旕摨婜姰椆張棟乮摨婜僄儞僕儞丄MusicAPLib丄MusicMWLib乯
	 */
	void RunL();
	
private:	// Constructor
	/**
	 * 僀儞僗僞儞僗惗惉
	 *    CActive(EPriorityStandard)
	 * @param[in] aMusicSyncEngine 摨婜僄儞僕儞
	 * @param[in] aLog RLog僆僽僕僃僋僩
	 */
	CSmbMusicAPMainPlayerPlayInfoProc(CSmbMusicAPSyncEngine& aMusicSyncEngine, RLog& aLog);
	
	/**
	 * 擇師僐儞僗僩儔僋僞
	 */
	void ConstructL();

private:	// own method
	/**
	 * 僕儍働僢僩夋憸僼傽僀儖嶌惉姰椆捠抦張棟\n
	 *  夋憸僼傽僀儖偐傜丄僕儍働僢僩夋憸昞帵梡丄傾僀僐儞昞帵梡偺2庬椶偺價僢僩儅僢僾傪嶌惉偡傞丅
	 * @param[in] aResult 張棟寢壥(ETrue:張棟梫媮惉岟)
	 */
	void CompleteGetImageL(TBool aResult);

	/**
	 * 夋憸忣曬庢摼姰椆捠抦張棟\n
	 * @param[in] aResult 張棟寢壥(ETrue:張棟梫媮惉岟)
	 */
	void CompleteGetImageInfo(TBool aResult);

	/**
	 * 旕摨婜張棟梫媮傪旕摨婜懸偪僉儏乕傊搊榐偡傞丅
	 * @param[in] aKind 摨婜僄儞僕儞傊偺張棟梫媮庬暿
	 */
	void SetWaitQueue(TSmbMusicAPMainPlayerPlayRequest kind);

	/**
	 * 旕摨婜張棟梫媮傪旕摨婜懸偪僉儏乕傊搊榐偡傞丅乮幚懱乯
	 * @param[in] aKind 摨婜僄儞僕儞傊偺張棟梫媮庬暿
	 */
	void SetWaitQueueL(TSmbMusicAPMainPlayerPlayRequest kind);

	/**
	 * 旕摨婜懸偪僉儏乕偵搊榐偝傟偰偄傞旕摨婜張棟梫媮庬暿傪捠抦偡傞丅
	 * @return aKind 摨婜僄儞僕儞傊偺張棟梫媮庬暿
	 */
	TSmbMusicAPMainPlayerPlayRequest WaitQueue();

	/**
	 * 旕摨婜懸偪僉儏乕偺搊榐忬懺傪僠僃僢僋偡傞丅
	 */
	void CheckWaitQueueL();
	
private:	// data
	CSmbMusicAPSyncEngine&	iSyncEngine;			///< 摨婜僄儞僕
	
	RLog&	iLog;									///< RLog僆僽僕僃僋僩
	MSmbMusicAPMainPlayerPlayObserver* iObserver;	///< 僐儅儞僪張棟僆僽僓乕僶僋儔僗
	TSmbMusicAPMainPlayerPlayRequest iRequestKind;	///< 摨婜僄儞僕儞傊偺張棟梫媮庬暿
	
	CFbsBitmap* iJacketData;						///< 僕儍働僢僩夋憸價僢僩儅僢僾僨乕僞
	CFbsBitmap* iJacketMask;						///< 僕儍働僢僩夋憸儅僗僋僨乕僞
	TInt		iIndex;								///< 摨婜僄儞僕儞偐傜捠抦偝傟傞嬋僀儞僨僢僋僗
	TUint32		iPlayTime;							///< 摨婜僄儞僕儞偐傜捠抦偝傟傞嵞惗宱夁帪娫(msec)
	TSmbMusicAPSyncEnginePlaySongDetail	iSongDetail;	///< 摨婜僄儞僕儞偐傜捠抦偝傟傞嵞惗嬋忣曬
	TBuf<256>		iArtistTitle;					///< 摨婜僄儞僕儞偐傜捠抦偝傟傞傾乕僥傿僗僩柤
	TBuf<256>		iAlbumTitle;					///< 摨婜僄儞僕儞偐傜捠抦偝傟傞傾儖僶儉柤
	TBuf<256>		iSongTitle;						///< 摨婜僄儞僕儞偐傜捠抦偝傟傞嬋僞僀僩儖
	TBuf<256>		iSongImage;						///< 摨婜僄儞僕儞偐傜捠抦偝傟傞僕儍働僢僩夋憸僼傽僀儖柤
	TSmbMusicAPSyncEngineImageCountInSongItem	iImageCount;	///< 夋憸枃悢庢摼梡  TRK:5472
	
	CSmbMusicAPLibImageFunc*	iImageFunc;			///< 夋憸曄姺僋儔僗
	RArray<TSmbMusicAPLibImageSizeInfo>	*iPrmSize;	///< 價僢僩儅僢僾曄姺梡僒僀僘僷儔儊乕僞
	TSmbMusicAPLibImageSizeInfo	iJacketSize;		///< 僕儍働僢僩夋憸僒僀僘
	TSmbMusicAPLibImageSizeInfo	iIconSize;			///< 傾僀僐儞僒僀僘
	
	RPointerArray<TSmbMusicAPLibImageBitmap> iPrmBitmap;	///< 價僢僩儅僢僾曄姺梡僷儔儊乕僞
	TSmbMusicAPLibImageBitmap	iJacketBitmap;		///< 僕儍働僢僩夋憸價僢僩儅僢僾僨乕僞
	TSmbMusicAPLibImageBitmap	iIconBitmap;		///< 傾僀僐儞夋憸價僢僩儅僢僾僨乕僞
	TSmbMusicAPLibImageBitmap	iConvBitmap1;		///< 僒僀僘曄峏屻價僢僩儅僢僾僨乕僞1
	TSmbMusicAPLibImageBitmap	iConvBitmap2;		///< 僒僀僘曄峏屻價僢僩儅僢僾僨乕僞2
	TSize	iConvSize;								///< 曄峏僒僀僘
	
	CArrayFixFlat<TSmbMusicAPMainPlayerPlayRequest>	*iWaitQueue;
	TSmbMusicAPSyncEngineItemIndex iSaveSongInfo;
	TBool		iSaveAllShuffle;
	TBool		iSAveResume;
	TInt		iSaveVolume;
	TSize		iSaveSize;
	TSize		iSaveSizeIcon;
	CFbsBitmap*	iSaveBitMap;
	CFbsBitmap*	iSaveBitMapMask;
	TBool		iPlayConfirm;
	
	TSmbMusicAPSyncEngineImageIndividualInfo	iGetInfo[KSmbMusicAPMainPlayerJacketMax+KSmbMusicAPMainPlayerLyricMax];
	};

SEMCJ_NAMESPACE_END

#endif		// __SMBMUSICAPMAINPLAYEROLAYINFOPROC_H__

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

⌨️ 快捷键说明

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