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

📄 smbmusicapsyncservercontentsplaysonginfomanager.h

📁 索爱相关代码。实现功能是server。很有参考价值。代码很难弄到。symbian。
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc.      */
/*-------------------------------------------------------------------------*/
// FileName:
//  SmbMusicAPSyncServerContentsPlaySongInfoManager.h
//
// Description:
//  SmbMusicAPSyncServerContentsPlaySongInfoManager
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+----------------------------------------------
//2006/06/13	|娵壀		| 怴婯嶌惉
//2006/07/07	|K3悪杮		| 嵞惗嬋偺僀僥儗乕僞僆僽僕僃僋僩傪曐帩偡傞傛偆捛壛
//2006/09/11	|娵壀		| TRK8279懳墳
//2006/09/25	|K3悪杮		| [iKeeper(TRK):10184] 儗僕儏乕儉忣曬攋婞帪偵僀僥儗乕僞嶍彍傪捛壛
//2006/10/04	|娵壀		| [iKeeper(TRK):10861] 嵞惗嬋夋憸丄嵞惗嬋忣曬偺弴偱搊榐偟偨応崌偺懳張
//2006/10/13	|娵壀		| [iKeeper(TRK):11484] 僉儍僢僔儏僒僀僘傪係嬋仺俀嬋傊曄峏

#ifndef __SMBMUSICAPSYNCSERVERCONTENTSPLAYSONGINFOMANAGER_H__
#define __SMBMUSICAPSYNCSERVERCONTENTSPLAYSONGINFOMANAGER_H__

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

DCM_NAMESPACE_BEGIN
class RLog;
DCM_NAMESPACE_END

SEMCJ_NAMESPACE_BEGIN


/**
	夋憸僼傽僀儖偺惗惉愭僨傿儗僋僩儕傪嶌惉偡傞
*/
_LIT(KSmbMusicAPSyncServerImageDir, "C:\\WcdmaMp\\MusicAP\\SyncServer\\");

/**
	嵞惗嬋偵娷傑傟傞夋憸柤慜
*/
_LIT(KSmbMusicAPSyncServerPlaySongImage001, "C:\\WcdmaMp\\MusicAP\\SyncServer\\PlaySongImage001");
_LIT(KSmbMusicAPSyncServerPlaySongImage002, "C:\\WcdmaMp\\MusicAP\\SyncServer\\PlaySongImage002");
_LIT(KSmbMusicAPSyncServerPlaySongImage003, "C:\\WcdmaMp\\MusicAP\\SyncServer\\PlaySongImage003");
_LIT(KSmbMusicAPSyncServerPlaySongImage004, "C:\\WcdmaMp\\MusicAP\\SyncServer\\PlaySongImage004");

//@@TRK11484懳墳	Del Start
//const TInt KMaxPlaySongImageNumber	= 4;		///<嵞惗嬋偺僼傽僀儖柤
////const TInt KMaxPlaySongNumber		= 3;		///<奿擺偱偒傞嵞惗嬋忣曬偺嵟戝悢
//const TInt KMaxPlaySongNumber		= 4;		///<奿擺偱偒傞嵞惗嬋忣曬偺嵟戝悢
//@@TRK11484懳墳	Del Start

//@@TRK11484懳墳	Add Start
const TInt KMaxPlaySongImageNumber	= 2;		///<嵞惗嬋偺僼傽僀儖柤
const TInt KMaxPlaySongNumber		= 2;		///<奿擺偱偒傞嵞惗嬋忣曬偺嵟戝悢
//@@TRK11484懳墳	Add Start

//  慜曽愰尵
class CSmbMusicMWLibIterator;

class CSmbMusicAPSyncServerContentsPlaySongInfoManager	:	public CBase
	{
public:

	/**
	 僐儞僗僩儔僋僞
	 * @param	aLog	儘僌僒乕僶偲偺僙僢僔儑儞
	 * @return	側偟
	 */
	CSmbMusicAPSyncServerContentsPlaySongInfoManager(DCM_NAMESPACE::RLog& aLog);

	/**
	 僨僗僩儔僋僞
	 * @param	側偟
	 * @return	側偟
	 */
	~CSmbMusicAPSyncServerContentsPlaySongInfoManager();

	/**
	 戞2僼僃乕僘僐儞僗僩儔僋僞
	 * @param	側偟
	 * @return	側偟
	 */
	void ConstructL();

	/**
	 嵞惗嬋偵娷傑傟傞夋憸傪搊榐偡傞
 	 * @param [in]		aSongItem	嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	 * @param [in]		aFile		夋憸僼傽僀儖偺惗惉僷僗乮僼儖僷僗偱僼傽僀儖柤傪巜掕乯
 	 * @return			張棟寢壥
	 */
	TInt SetPlaySongImage(TSmbMusicAPSyncEngineItemIndex& aSongItem ,const TDesC& aFile);

	/**
	 夋憸偑懚嵼偡傟偽庢摼偡傞
 	 * @param [in]		aSongItem	嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	 * @param [in]		aFile		夋憸僼傽僀儖偺惗惉僷僗乮僼儖僷僗偱僼傽僀儖柤傪巜掕乯
 	 * @return			張棟寢壥	ETrue丗庢摼惉岟/EFalse丗庢摼幐攕
	 */
	TBool GetPlaySongImage(TSmbMusicAPSyncEngineItemIndex& aSongItem ,TDes& aFile);

	/**
	嵞惗嬋忣曬傪搊榐偡傞
 	* @param [in]		aSongItem		嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	* @param [in]		aSongInfo		嬋忣曬乮僩乕僞儖嵞惗帪娫乯
 	* @param [in]		aArtistTitle	嬋忣曬乮傾乕僥傿僗僩柤乯
 	* @param [in]		aAlbumTitle		嬋忣曬乮傾儖僶儉柤乯
 	* @param [in]		aSongTitle		嬋忣曬乮嬋僞僀僩儖乯
 	* @return	側偟
 	*/
	void SetPlaySongInfoL(TSmbMusicAPSyncEngineItemIndex& aSongItem, const TInt& aTotalPlayTime, const TDesC& aArtistTitle,
							const TDesC& aAlbumTitle, const TDesC& aSongTitle);

	/**
	嵞惗嬋忣曬傪庢摼偡傞
 	* @param [in]		aSongItem		嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	* @param [in,out]	aSongInfo		嬋忣曬乮僩乕僞儖嵞惗帪娫乯
 	* @param [in,out]	aArtistTitle	嬋忣曬乮傾乕僥傿僗僩柤乯
 	* @param [in,out]	aAlbumTitle		嬋忣曬乮傾儖僶儉柤乯
 	* @param [in,out]	aSongTitle		嬋忣曬乮嬋僞僀僩儖乯
	* @return			張棟寢壥	ETrue丗庢摼惉岟/EFalse丗庢摼幐攕
 	*/
	TBool GetPlaySongInfo(TSmbMusicAPSyncEngineItemIndex& aSongItem, TInt& aTotalPlayTime, TDes& aArtistTitle,
							TDes& aAlbumTitle, TDes& aSongTitle);

	/**
	 嵞惗嬋傾僀僥儉傪搊榐偡傞
 	 * @param [in]		aSongItem	嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	 * @param [in]		aPlayItem	嬋傾僀僥儉
  	 * @return	側偟
	 */
	void SetPlaySongItem(TSmbMusicAPSyncEngineItemIndex& aSongItem, CSmbMusicMWLibMusicItem* aPlaySongItem);

	/**
	 嵞惗嬋傾僀僥儉傪庢摼偡傞
 	 * @param [in]		aSongItem	嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	 * @param [in,out]	aPlayItem	嬋傾僀僥儉
 	 * @return			張棟寢壥	ETrue丗庢摼惉岟/EFalse丗庢摼幐攕
	 */
//	TBool GetPlaySongItem(TSmbMusicAPSyncEngineItemIndex& aSongItem, CSmbMusicMWLibMusicItem* aPlaySongItem);
	CSmbMusicMWLibMusicItem* GetPlaySongItem(TSmbMusicAPSyncEngineItemIndex& aSongItem);
	/**
	 嵞惗嬋傾僀僥儉傪嶍彍偡傞
 	 * @param [in]		aListHandle	嬋傾僀僥儉偺儕僗僩僴儞僪儖
 	 * @param [in]		aIndex		嬋傾僀僥儉偺Index斣崋
  	 * @return	側偟
	 */
	void DeletePlaySongItem(TInt aListHandle, TInt aIndex);

	/**
	 嵞惗嬋偵娷傑傟傞夋憸偺僼傽僀儖Name傪庢摼偡傞
	 * @param	嶍彍偡傞嵞惗嬋娗棟僨乕僞偺僀儞僨僢僋僗
	 * @return	僼傽僀儖柤
	 */
	const TDesC* GetNextImageName();

	/**
	 嵞惗帪偵惗惉偝傟傞嬋傾僀僥儉僀僥儗乕僞傪曐帩
	 * @param[in]	aIterator	嵞惗嬋僀僥儗乕僞
	 */
	void SetPlaySongIterator(CSmbMusicMWLibIterator* aIterator);

	/**
	 僉儍僢僔儏偟偰偄傞僨乕僞傪攋婞偡傞乮儕僗僩僴儞僪儖傪NULL巜掕偵偡傞偲慡偰偺僨乕僞傪攋婞偡傞乯
 	 * @param[in] 	aHnadle	嶍彍懳徾偺儕僗僩僴儞僪儖
  	 * @return		側偟
	 */
	void ClearPlaySongData(TInt* aHandle);

//  ADD-S  [iKeeper(TRK):10184] 儗僕儏乕儉忣曬攋婞帪偵僀僥儗乕僞嶍彍傪捛壛
	/**
	 *  僀僥儗乕僞傪嶍彍偡傞
	 */
	void ClearPlaySongIterator();
//  ADD-E  [iKeeper(TRK):10184] 儗僕儏乕儉忣曬攋婞帪偵僀僥儗乕僞嶍彍傪捛壛


private:

	/**
	 俀偮偺傾僀僥儉偑堦抳偡傞偐傪挷傋傞
 	 * @param [in]		aSongItemA	嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	 * @param [in]		aSongItemB	嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index斣崋乯
 	 * @return			張棟寢壥	ETrue丗堦抳/EFalse丗晄堦抳
	 */
	TBool CheckItem(TSmbMusicAPSyncEngineItemIndex& aItem, TSmbMusicAPSyncEngineItemIndex& aSongItem);

	/**
	 屆偄忣曬傪嶍彍偡傞
	 * @param	側偟
	 * @return	側偟
	 */
	void  DeleteOldItem();

	/**
	 忣曬傪嶍彍偡傞
	 * @param	嶍彍偡傞嵞惗嬋娗棟僨乕僞偺僀儞僨僢僋僗
	 * @return	側偟
	 */
	void  DeleteItem(TInt aIndex);

private:

	DCM_NAMESPACE::RLog&					iLog;		///<儘僌僒乕僶偲偺僙僢僔儑儞
/**
嵞惗嬋忣曬娗棟梡峔憿懱
*/
struct TPlaySongInfoStr
	{
	TSmbMusicAPSyncEngineItemIndex	iSongItem;			///<嬋傾僀僥儉乮儕僗僩僴儞僪儖偲Index)
	TInt							iTotalPlayTime;		///<嵞惗帪娫
	TDesC*							iArtistTitle;		///<傾乕僥傿僗僩忣曬
	TDesC*							iAlbumTitle;		///<傾儖僶儉忣曬
	TDesC*							iSongTitle;			///<嬋僞僀僩儖忣曬
	TDesC*							iFile;				///<夋憸僼傽僀儖Name
	CSmbMusicMWLibMusicItem*		iItem;				///<嬋傾僀僥儉
//@@TRK10861懳墳	Add	Start
	TBool							iPlayInfo;			///<嵞惗嬋忣曬搊榐僼儔僌
	TBool							iImage;				///<嵞惗嬋夋憸搊榐僼儔僌
//@@TRK10861懳墳	Add	End
	};

	RPointerArray<TPlaySongInfoStr>	iPlaySong;			///<嵞惗嬋娗棟僨乕僞

	CSmbMusicMWLibIterator*			iPlaySongIterator;	///<嵞惗嬋偺僀僥儗乕僞僆僽僕僃僋僩[has]

//	TInt							iImageNameCounter;	///<嵞惗嬋夋憸僇僂儞僞
	};

SEMCJ_NAMESPACE_END

#endif	__SMBMUSICAPSYNCSERVERCONTENTSPLAYSONGINFOMANAGER_H__
// end of SmbMusicAPSyncServerContentsPlaySongInfoManager.h

/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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