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

📄 smbmusicapfilemgrlistcmd.h

📁 索爱手机代码
💻 H
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
/**
 * @file  SmbMusicAPFileMgrListCmd.h
 * @brief 儈儏乕僕僢僋僼傽僀儖娗棟 儕僗僩價儏乕僐儅儞僪僋儔僗
 */
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅          |曄峏幰     |撪梕
//--------------+-----------+-------------------------------------------
//2006/07/04    |SDNA挿旜   |怴婯嶌惉
//2006/07/06    |SDNA挿旜   |HandleViewOnHookL()傪捛壛
//2006/07/07    |SDNA挿旜   |HandleViewOnHookL()傪virtual儊僜僢僪偵曄峏
//2006/07/11    |SDNA挿旜   |僒僽儊僯儏乕偺敿婸搙敾掕張棟傪捛壛
//              |           |  - IsUimConformityFile()偺捛壛
//              |           |  - IsIncompleteFile()偺捛壛
//              |           |  - GetImageCount()偺捛壛
//              |           |  - iMusicItem偺捛壛 (CSmbMusicAPFileMgrFileCmd偐傜堏摦)
//2006/07/13    |SDNA挿旜   |僒僽儊僯儏乕偺敿婸搙敾掕張棟傪捛壛
//              |           |  - IsPlayRestrictedFile()偺捛壛
//2006/07/13    |SDNA挿旜   |HandleBackViewL()傪捛壛
//              |           |  - Reset()偺捛壛
//2006/07/20    |SDNA挿旜   |HandlePlaySongL()偱堷悢(TBool aDeleteSong)傪捛壛
//2006/07/20    |SDNA挿旜   |張棟懳徾偺儈儏乕僕僢僋傾僀僥儉傪堷悢偱搉偡傛偆偵曄峏
//              |           |  - IsUimConformityFile()
//              |           |  - IsIncompleteFile()
//              |           |  - GetImageCount()
//              |           |  - IsPlayRestrictedFile()
//2006/07/22    |SDNA挿旜   |NotifyConfirmRestrictListItemL()傪捛壛
//2006/07/25    |SDNA挿旜   |NotifyCheckFolderNameL()傪捛壛
//2006/07/28    |SDNA挿旜   |CSmbMusicAPFileMgrFileCmd偐傜HandleChangeLocalViewL()傪堏峴
//2006/08/01    |SDNA挿旜   |GetImageCount()偺栠傝抣傪void宆偵曄峏
//2006/08/01    |SDNA挿旜   |Reset()傪弮悎壖憐娭悢偵曄峏
//2006/08/01    |SDNA挿旜   |iMusicItem傪嶍彍
//2006/08/05    |SDNA挿旜   |SetReadyFocusedItem()傪捛壛
//2006/09/21    |SDNA挿旜   |摨婜壔娭悢偺巊梡傪庢傝傗傔傞傛偆偵廋惓
//              |           |  - PlaySongL()傪捛壛 (CSmbMusicAPFileMgrCmdBase偐傜偺堏峴)
//              |           |  - NotifyRequestLimitConditionInfoCompleteL()傪捛壛
//              |           |  - iLimitConditionInfo傪捛壛
//2006/09/28    |SDNA挿旜   |僒僽儊僯儏乕昞帵帪偵巊梡偟偰偄偨摨婜壔API傪攑巭
//              |           |  - GetImageCount(), IsPlayRestrictedFile()傪嶍彍
//2006/10/01    |SDNA挿旜   |捠抦宯僐儅儞僪偺僀儀儞僩僴儞僪儖傪HandleNotifyCommandL()偱峴偆傛偆偵曄峏
//              |           |  - HandleChangeLocalViewL()偐傜HandleChangeLocalView()偵曄峏
//2006/10/04    |SDNA挿旜   |僐乕僨傿儞僌婯栺忋偺廋惓
//2006/10/16    |SDNA挿旜   |儘僌僒乕僶傪僐儞僗僩儔僋僞偐傜庢摼偟側偄傛偆偵曄峏
//---------------------------------------------------------------------------
//PTX825
//2007/06/29	|SDNA彑枔	| 拝怣壒愝掕懳墳
//2007/09/12	|SDNA彑枔	| CQ-TRK D_82400014771懳墳 824儅乕僕偵敽偆丄825張棟慾奞懳墳

#ifndef __SMBMUSICAPFILEMGRLISTCMD_H__
#define __SMBMUSICAPFILEMGRLISTCMD_H__

#include <FjAfView.h>
#include <SmbCommonDef.h>

#include "SmbMusicAPFileMgrCmdBase.h"
#include "MSmbMusicAPFileSystemComListBoxModel.h"

#ifdef __PTX825MUSICAP__								//  825_katsu 伀
#include "SmbMusicAPLib.h"

#define PANIC(aPanic) User::Panic(KSmbMusicAPFileMgrComponentName, aPanic)
#define KSmbMusicAPFileMgrMono	1
#define KSmbMusicAPFileMgrStereo 2
#endif												// __PTX825MUSICAP__ 825_katsu 仾

USING_NAMESPACE_DCM

SEMCJ_NAMESPACE_BEGIN


class CSmbMusicAPFileMgrViewBase;

/**
 * @brief 儈儏乕僕僢僋僼傽僀儖娗棟 儕僗僩價儏乕僐儅儞僪僋儔僗
 *
 * CSmbMusicAPFileMgrListView 僋儔僗偵懳墳偡傞價儏乕僐儅儞僪傪張棟偡傞丏
 * 張棟偡傞庡側僐儅儞僪傪埲壓偵帵偡丏
 *  - 僼傽僀儖偺嵞惗
 */
class CSmbMusicAPFileMgrListCmd : public CSmbMusicAPFileMgrCmdBase,
                                  public MSmbMusicAPFileSystemComListBoxModel::MObserver
	{
public:
	/// 僐儞僗僩儔僋僞
	CSmbMusicAPFileMgrListCmd(CSmbMusicAPFileMgrAppUi& aAppUi,
	                          CSmbMusicAPFileMgrViewBase& aView,
	                          CSmbMusicAPFileMgrActionController& aController);
	/// 僨僗僩儔僋僞
	virtual ~CSmbMusicAPFileMgrListCmd();
	/// 儕僗僩儃僢僋僗儌僨儖偺愝掕
	void SetListBoxModel(MSmbMusicAPFileSystemComListBoxModel& aListBoxModel);
	/// 儕僗僩儃僢僋僗儌僨儖偺嶲徠
	MSmbMusicAPFileSystemComListBoxModel& ListBoxModel(void) const;
#ifdef __PTX825MUSICAP__								//  825_katsu 伀
	/// i-Motion僼傽僀儖偲偟偰丄嵞惗偱偒傞偐斲偐傪丄僠僃僢僋偡傞
	TBool CheckPlayableRingingContent(const CSmbMusicAPFileSystemComMusicItem& aMusicItem);

	/// 僼儖妝嬋偲偟偰丄嵞惗偱偒傞偐斲偐傪丄僠僃僢僋偡傞
	TBool CheckPlayableContent(const CSmbMusicAPFileSystemComMusicItem& aMusicItem);
	
	/// 僌儗乕傾僂僩僼傽僀儖偐偳偆偐偺敾掕傪峴偆丏
//UPDATE Start PTX825 CQ-TRK D_82400014771
	TBool IsCurrentItemRestricted(CSmbMusicAPFileSystemComMusicItem& aMusicItem, TBool aIsLimit);
//	TBool IsCurrentItemRestricted(CSmbMusicAPFileSystemComMusicItem& aMusicItem);
//UPDATE End PTX825 CQ-TRK D_82400014771
	
	/// MMInformation傪庢摼嵪傒偐斲偐
	TBool IsMMInformationArrived();
	
	/// 嵞惗惂尷忣曬乮DRM/僒僽僗僋儕僾僔儑儞/嵞惗惂尷柍岠乯偵娭偡傞敿婸搙敾掕
	TBool IsLimitedContentsRestricted(const CSmbMusicAPFileSystemComMusicItem& aMusicItem);

#endif												// __PTX825MUSICAP__ 825_katsu 仾	/// UIM揔崌僠僃僢僋
	/// UIM揔崌僠僃僢僋
	TBool IsUimConformityFile(CSmbMusicAPFileSystemComMusicItem* aMusicItem);
	/// 晄姰慡僼傽僀儖僠僃僢僋
	TBool IsIncompleteFile(CSmbMusicAPFileSystemComMusicItem* aMusicItem);
//ADD-START PTX824
	/// 嵞惗惂尷柍岠偐偳偆偐
	TBool IsLimitInvalidationFile(CSmbMusicAPFileSystemComMusicItem* aMusicItem);
//ADD-END PTX824
//CQ-TRK12911 ADD-START PTX824
	/// 嵞惗惂尷晅僐儞僥儞僣偐偳偆偐
	TBool IsLimit(CSmbMusicAPFileSystemComMusicItem* aMusicItem);
//CQ-TRK12911 ADD-END PTX824
	/// 僼僅乕僇僗埵抲偺傾僀僥儉弨旛姰椆僼儔僌愝掕
	void SetReadyFocusedItem(TBool aReadyFocusedItem);

public: // from CSmbMusicAPFileMgrCmdBase
	/// View屌桳偺僐儅儞僪張棟
	virtual void HandleViewCommandImplL(TInt aCommand) = 0;

protected:
	/// 儊儞僶曄悢偺弶婜壔
	virtual void Reset(void) = 0;
	/// 嬋嵞惗張棟
	void PlaySongL(CSmbMusicAPFileSystemComMusicItem& aMusicItem, TBool aDeleteSong);

protected: // from CSmbMusicAPFileMgrCmdBase
	/// 廔榖僉乕僀儀儞僩僴儞僪儔
	virtual void HandleViewOnHookL(void);
	/// 儘乕僇儖價儏乕愗懼僀儀儞僩僴儞僪儔
	void HandleChangeLocalView(TSmbMusicAPFileMgrViewType aViewType);

protected: // 僐儅儞僪僀儀儞僩僴儞僪儔
	/// 嵞惗
	void HandlePlaySongL(TBool aDeleteSong = ETrue);
	/// 徻嵶忣曬昞帵
	void HandleShowSongInfoL(void);
	/// 僕儍働僢僩昞帵僗僞僀儖愗懼
	void HandleChangeListStyle(void);
	/// 慜夋柺(僼傽僀儖堦棗夋柺)慗堏
	void HandleBackViewL(TBool aRefreshListBox = EFalse);
//CQ-TRK11550 ADD-START PTX824
#ifndef __SMBMUSICAPFILEMGR_CQTRK11550_ENABLE__
	/// 慜夋柺慗堏乮昞帵and僼僅乕僇僗儕僼儗僢僔儏乯
	void HandleBackRefreshAndFocusItemL();
#endif
//ADD-START PTX824
	///尰嵼偺傾僀僥儉傪慖戰
	void HandleSelectCurrentItemL(void);
//ADD-END PTX824

protected: // from MSmbMusicAPFileSystemComListBoxModel::MObserver
	/// 僼僅乕僇僗埵抲偺曄峏捠抦
	void NotifyChangedFocusItemL(TInt aIndex);
	/// 僼僅乕僇僗埵抲偺傾僀僥儉弨旛姰椆捠抦
	void NotifyReadyFocusItemL(TInt aIndex);
	/// 巜掕傾僀僥儉偺慖戰壜斲愝掕
	TBool NotifyConfirmSelectionItemL(const CSmbMusicAPFileSystemComMusicItem& aMusicItem);
	/// 暋悢審慖戰傾僀僥儉悢偺曄峏捠抦
	void NotifyChangedItemSelectionsL(TInt aCount);
	/// MSmbMusicAPFileSystemComListBoxModel::RequestCurrentFilterListL() 偺姰椆捠抦
	void NotifyReadyFilterListL(TInt aResult, CSmbMusicAPFileSystemComMusicItem* aMusicItem);
	/// MSmbMusicAPFileSystemComListBoxModel::RequestSDBindFolderListL() 偺姰椆捠抦
	void NotifyReadySDBindFolderListL(TInt aResult, CSmbMusicAPFileSystemComMusicItem* aMusicItem);
	/// MSmbMusicAPFileSystemComListBoxModel::RequestCreateSongItemL() 偺姰椆捠抦
	void NotifyReadyCreateSongItemL(TInt aResult, CSmbMusicAPFileSystemComMusicItem* aMusicItem);
	/// 扨悢慖戰儌乕僪偱偺傾僀僥儉慖戰捠抦
	void NotifySelectSingleItemL(TSmbMusicAPFileSystemComMusicItemType aItemType);
	/// 巜掕傾僀僥儉偺敿婸搙昞帵桳柍愝掕
	TBool NotifyConfirmRestrictListItemL(const CSmbMusicAPFileSystemComMusicItem& aMusicItem);
	/// MSmbMusicAPFileSystemComListBoxModel::ReqeustCheckFolderNameL() 偺姰椆捠抦
	void NotifyCheckFolderNameL(TInt aResult, TBool aIsExist);

protected: // from CSmbMusicAPFileMgrActionController::MObserver
	/// 嵞惗惂尷忬懺庢摼梫媮偺姰椆捠抦
	void NotifyRequestLimitConditionInfoCompleteL(TInt aResult);
//ADD-START PTX824
	/// 嵞惗惂尷忣曬庢摼梫媮偺姰椆捠抦
	void NotifyRequestLimitInfoCompleteL(TInt aResult);
//ADD-END PTX824

protected:
	/// 儕僗僩儃僢僋僗儌僨儖
	MSmbMusicAPFileSystemComListBoxModel* iListBoxModel;
	/// 僼僅乕僇僗埵抲偺傾僀僥儉僀儞僨僢僋僗斣崋
	TInt iFocusedItemIndex;
	/// 僼僅乕僇僗埵抲偺傾僀僥儉弨旛姰椆僼儔僌 (ETrue: 弨旛姰椆 / EFalse: 弨旛枹姰)
	TBool iReadyFocusedItem;
	/// 嵞惗惂尷忬懺忣曬
	TSmbMusicMWLibLimitConditionInfo iLimitConditionInfo;
//ADD-START PTX824
	/// 嵞惗惂尷忣曬
	TSmbMusicMWLibSongLimit iSongLimit;
	///徻嵶忣曬僋儔僗偺億僀儞僞
	CSmbMusicMWLibDetailSongInfo* iDetailSongInfo;
//ADD-END PTX824
	};

SEMCJ_NAMESPACE_END

#endif //__SMBMUSICAPFILEMGRLISTCMD_H__
// end of SmbMusicAPFileMgrListCmd.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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