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

📄 smbmusicapsingleplayerappui.h

📁 symbian代码
💻 H
字号:
/*----------------------------------------------------------------------------*/
// Copyright (c) 2004 Sony Ericsson Mobile Communications Japan, Inc.
// All rights reserved.
/*----------------------------------------------------------------------------*/
// FileName:
//   SmbMusicAPSinglePlayerAppUi.h
//
// Description:
// 
//	Modify:
//	2006-07-12	嵞惗婜尷慜懳墳丒壒惡僷僗惂屼	K3Hirono
//	2007-07-24	D_82400007238
/*------------------------------------------------------------------------*/
// $NoKeywords: $
#ifndef SMBMUSICAPSINGLEPLAYERAPPUI_H_
#define SMBMUSICAPSINGLEPLAYERAPPUI_H_

#ifndef __SMBAFAPPUI_H__
#include <SmbAfAppUi.h>
#endif

#ifndef SMBMUSICAPSINGLEPLAYERCOMMAND_H_
#include "SmbMusicAPSinglePlayerCommand.h"
#endif	//	SMBMUSICAPSINGLEPLAYERCOMMAND_H_

#ifndef SMBMUSICAPSINGLEPLAYEROBSERVER_H_
#include "SmbMusicAPSinglePlayerObserver.h"
#endif	//	SMBMUSICAPSINGLEPLAYEROBSERVER_H_

#ifndef	__SMBRSCMGRCLIENT_H__
#include <SmbRscMgrClient.h>			//  儕僜乕僗嫞崌FW
#endif	//	__SMBRSCMGRCLIENT_H__

#ifndef SMBMUSICAPSINGLEPLAYERRSCCONTROLLER_H_
#include "SmbMusicAPSinglePlayerRscController.h"	//	堦嬋嵞惗儕僜乕僗僐儞僩儘乕儔乕
#endif	//	SMBMUSICAPSINGLEPLAYERRSCCONTROLLER_H_

#ifndef __CSMBEXTMEM_WATCHER_H__
#include <CSmbExtMemWatcher.h>
#endif	//	__CSMBEXTMEM_WATCHER_H__

#ifndef __SMBPGMUSIC_H__
#include <SmbPGMusic.h>							//	堦嬋嵞惗僾儗僀儎忬懺/DB攋夡(儔僀僽儔儕)
#endif	//__SMBPGMUSIC_H__

SEMCJ_NAMESPACE_BEGIN

class CSmbMusicAPSinglePlayerModel;
class CSmbMusicAPSinglePlayerRscController;		
///////////////////////////////////////////////////////////////////////////////
//CSmbMusicAPSinglePlayerAppUi
// 
class CSmbMusicAPSinglePlayerAppUi :	public CSmbAfAppUi,
										public MSmbMusicAPSinglePlayerObserver,
										public MPGPropAgentObserver,
										public CSmbExtMemWatcher::MObserver
	{
	enum TPanicCode 
		{ 
		EInvalidStatus=0,
		EInvalidArgument,		// 堷悢堎忢 (NULL 側偳)
		EInvalidEvent,
		ECommandNotFound
		};		

 public:	//	惗惉/徚柵
	CSmbMusicAPSinglePlayerAppUi();				//	僐儞僗僩儔僋僞
	~CSmbMusicAPSinglePlayerAppUi();			//	僨僗僩儔僋僞
	void ConstructL();							//	2nd僐儞僗僩儔僋僞
	void HandleCommandL (TInt aCommand);		// 僐儅儞僪 ID 張棟

 public:	//getter&setter
 	CSmbMusicAPSinglePlayerView* View() const;		//	曐帩偟偰偄傞View傪曉媝偡傞
 	void SetPlayConfirm(TSmbMusicAPSinglePlayerStartConfirm aConfirm);	//	婲摦妋擣偑昁梫偐偳偆偐愝掕偡傞
	TBool IsAllocatedResourceForPlay() const;				//	儕僜乕僗傪妋曐嵪傒偑偳偆偐
	TSmbMusicAPSinglePlayerStartConfirm IsPlayConfirm();								//	嵞惗慜妋擣偑昁梫偐偳偆偐(僀儎儂儞敳嫀)
	void SetInitialSettings(TSmbMusicAPSinglePlayerInitialSettings aInitialSettings);	//	弶婜忬懺傪儌僨儖偵僙僢僩偡傞
	void SetSilentKeys(TBool aBool);	//from CSakAppUi
	void SetMuteL(TBool aBool);			//	儈儏乕僩愝掕曄峏
	void NotifyMountedExtMemL(CSmbExtMemWatcher::TType aType);				//from CSmbExtMemWatcher	奜晹儊儌儕偑巊梡壜擻忬懺(Mount姰椆忬懺)偲側偭偨偙偲傪捠抦偡傞丅
	void NotifyMountingExtMemL(CSmbExtMemWatcher::TType aType);				//from CSmbExtMemWatcher	奜晹儊儌儕偑Mount拞忬懺偲側偭偨偙偲傪捠抦偡傞丅
	void NotifyUnMountedExtMemL(CSmbExtMemWatcher::TType aType);			//from CSmbExtMemWatcher	奜晹儊儌儕偑枹憓擖忬懺偲側偭偨偙偲傪捠抦偡傞丅
	void NotifyErrorExtMemL(CSmbExtMemWatcher::TType aType, TInt aError);	//from CSmbExtMemWatcher	Mount帪偵僄儔乕偑敪惗偟偨偙偲傪捠抦偡傞丅
	TBool IsNeedDisconnectRscL();				//	MWPlayer惂屼偲Disconnect偡傞昁梫偑偁傞偐偳偆偐
	void DisconnectAllRscL();					//	偡傋偰偺儕僜乕僗偲偺愙懕傪愗傞(嵟廔揑偵偼掆巭夋柺堏峴)
	MEtWcdmaExtDevice::TEtEarphoneStatus GetEarphoneStatusL();	//	僀儎儂儞僗僥乕僞僗傪庢摼偡傞
	void SetMuteSpeakerAndConfirmL();			//	MuteSpeaker偺愝掕傪峴偆
	void SetAPResumeInfoDeleteIndicationL();	//	儗僕儏乕儉攋婞偺捠抦傪偁偘傞
	TBool IsCaseClosedL();						//	Closed?
	TBool ChangingExtMemState() const;			//	儊儌儕忬懺曄峏捠抦帪張棟
	TBool IsCpPlay() const;						//	嬫娫嵞惗偐偳偆偐
	TBool RequestRscForPlayL();					//	嵞惗梡儕僜乕僗庢摼張棟
	TBool LibRequestCompleteL();				//	Lib偵懳偡傞旕摨婜梫媮姰椆帪張棟(僉儍僢僔儏偟偰偄傞梫媮偑側偄偐妋擣偟偰幚峴偡傞)
	TBool IsSetSongHeadRequestInCpPlay() const;	//	嬫娫嵞惗摢弌偟拞偐偳偆偐
	TBool IsGetAudioRoutingconfirmL();			//	壒惡僷僗庢摼妋擣偑昁梫偐偳偆偐
	void GetDispSongInfoL(TSmbPGMusicAPSongInfoEditInd aInfo);	//	嵞惗梡嬋忣曬嵞庢摼張棟
	TSmbMusicAPSinglePlayerStartConfirm PlayConfirm();			//	嵞惗妋擣忬懺偺庢摼
	TBool IsForegroundL();				//	foreground or not

 protected: //	僀儀儞僩張棟
	void HandlePlayerEventL(TSmbMusicAPSinglePlayerState aState);  //	僾儗僀儎偺忬懺曄壔娭楢偺張棟
	void HandleForegroundEventL (TBool aForeground);  // From CSakAppUi
	void HandleResourceEventL(TSmbMusicAPSinglePlayerAppRscEvent aEvent);	//	傾僾儕婲摦丒儕僜乕僗嫞崌傑傢傝偺僀儀儞僩
	void HandleOnHookL();							//	From CAfAppUi 廔榖僉乕墴壓撈帺張棟(TRK4556)
	void OnChangeL(CPGPropAgentWatcher& aWatcher, TUid aUid, TInt aData);	//	僾儘僷僥傿僄乕僕僃儞僩偐傜偺捠抦傪庴偗傞
	void HandleAppPromotedChildToParentL();			//	From CAfAppUi	徃奿捠抦張棟
	void LaCancelAppNonUiL();						//	From CAfAppUi	妋擣柍偟廔椆 EikExit仺ClearExit
	void HandleBacklightEventL(TBool aBool);		//	僶僢僋儔僀僩僀儀儞僩偺張棟

 private:
 	void PrepareToPlayerL();		//	僾儗僀儎奐巒弨旛
 	TBool SetExitL(TUid aUid);		//	僾儗僀傗廔椆奐巒張棟
 	void ExitL(TUid aUid);			//	僾儗僀儎廔椆張棟
	void ChangeExtMemStateL(CSmbExtMemWatcher::TType aType, TBool aMount);		//	奜晹儊儌儕憓敳帪張棟
	TBool IsLcdBackLightOffL();				//	僶僢僋儔僀僩偑徚偊偰偄傞偐偳偆偐
	void ChangeEarphoneStatusL();			//	僀儎儂儞僗僥乕僞僗曄壔帪張棟
	void ChangeMannerModeStatusL();			//	儅僫乕儌乕僪曄壔帪張棟
	void CancelTimer();						//	僞僀儅偺僉儍儞僙儖
	void DelayTimerStart();					//	壒惡僷僗愗傝懼偊抶墑張棟奐巒
	static TInt TimerCallBackL(TAny* aAny);	//	Delay張棟
	void SetPlayContextL();					//	SetPlayContext
	void RscForPlayOKL();					//	嵞惗梡儕僜乕僗庢摼屻張棟
 	void DisconnectRscCompletedL();			//	DisconnectComplete張棟
 	void StartDisconnectRscL();				//	Disconnect張棟奐巒
	void ClearPlayContextCompleteL();		//	ClearPlayContext姰椆張棟
	void CreateSongItemCompleteL();			//	CreateSongItem姰椆張棟
	void ErrExitPlayerL();					//	僄儔乕廔椆帪張棟
	void ExitPlayerForListEndInDisconnectRsc();	//	儕僜乕僗奐曻拞偺ListEnd廔椆張棟
	void RscNGL();							//	儕僜乕僗庢摼晄壜張棟
	void UsimRefreshL(TInt aData);			//	UsimRefrashImpl
	void MWLibDBRecoverL();					//	MWDB嵞峔抸
	void MusicContentsRecoverL();			//	僐儞僥儞僣娗棟儈儏乕僕僢僋僨乕僞嵞峔抸
	void RecordPlayReportCompleteL();		//	棜楌婰榐姰椆
	void CompNotificationL(TSmbPGMusicAPCompNotification aInfo);	//	儈儏乕僕僢僋嫞崌捠抦帪張棟(SDBind儕僜乕僗嫞崌帪張棟)
	void DisconnectRscCompletedAndExitL();	//	Disconnect屻偺廔椆帪張棟
	void ReleaseRscForPauseL();					//	堦帪掆巭帪儕僜乕僗奐曻張棟
	void ReleaseRscForUserConfirmL();		//	儐乕僓妋擣帪偺儕僜乕僗奐曻張棟	ADD For D_82400007238

 private:
	CSmbMusicAPSinglePlayerModel* iModel;					///<	堦嬋嵞惗model傊偺億僀儞僞
	CSmbMusicAPSinglePlayerView* iView;						///<	堦嬋嵞惗view傊偺億僀儞僞
	CSmbMusicAPSinglePlayerCommand* iCommand;				///<	堦嬋嵞惗command傊偺億僀儞僞
	CSmbMusicAPSinglePlayerRscController* iRscController;	///<	傾僾儕丒儕僜乕僗嫞崌僐儞僩儘乕儔乕
	CPGPropAgentWatcher* iPropAgentWatcher;					///<	PA僂僆僢僠儍乕
	TSmbMusicAPSinglePlayerStartConfirm iPlayConfirm;		///<	僀儎儂儞丒儅僫乕儌乕僪傛傝丄嵞惗妋擣偑昁梫偐偳偆偐
	TUid iExitUid;											///<	Exit帪Uid
	TBool iSetSilentKeys;									///<	壒傪側傜偝側偄:ETrue 壒傪側傜偡:EFalse
	CSmbExtMemWatcher* iExtMemWatcher;						///<	奜晹儊儌儕僂僅僢僠儍
	TBool iChangingExtMemState;								///<	奜晹儊儌儕憓敳張棟拞
	TSmbMusicAPSinglePlayerStateController* iAsyncState;	///<	堦嬋嵞惗僾儗僀儎乕忬懺
	CPeriodic* iTimer;										///<	抶墑梡僞僀儅(僀儎儂儞憓敳帪)
	};

SEMCJ_NAMESPACE_END
#endif
// end of SmbMusicAPSinglePlayerAppUi.h
/* Copyright (C) 2007Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

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