📄 smbmusicapmainplayerstatebase.h
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*-------------------------------------------------------------------------*/
// FileName:
// SmbMusicAPMainPlayerStateBase.h
//
// Description:
// 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺價儏乕僋儔僗偺掕媊僿僢僟
/*------------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+----------------------------------------------
//2006/04/28 |K3拞堜 | 弶斉儕儕乕僗
/// 價儏乕僋儔僗掕媊
/**
* @file SmbMusicAPMainPlayerStateBase.h
*
* 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺價儏乕僋儔僗偺掕媊僿僢僟
*/
#ifndef __SMBMUSICAPMAINPLAYERSTATEBASE_H__
#define __SMBMUSICAPMAINPLAYERSTATEBASE_H__
#ifndef __E32BASE_H__
#include <e32base.h>
#endif
#ifndef __SMBPGMUSIC_H__
#include <SmbPGMusic.h>
#endif
#include "SmbMusicAPMainPlayerPlayView.h"
SEMCJ_NAMESPACE_BEGIN
//class CSmbMusicAPMainPlayerStateBase;
/**
* 僉乕僀儀儞僩梡娭悢偺掕媊
*/
typedef void(*TSmbMusicAPMainPlayerStateKeyFunc)(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
/**
* 僉乕僀儀儞僩庴晅庬暿掕媊
*/
enum TSmbMusicAPMainPlayerStateKeyAccept
{
ESmbMusicAPMainPlayerStateKeyUse = 1, //< 張棟偁傝
ESmbMusicAPMainPlayerStateKeyRelease, //< 柍岠乮攑婞乯
ESmbMusicAPMainPlayerStateKeyUnUse //< 旕徚旓
};
/**
* 僉乕僀儀儞僩懳墳掕媊峔憿懱
*/
struct TSmbMusicAPMainPlayerStateKeyEvent
{
TUint iKeyCode; //< 僉乕僐乕僪
TSmbMusicAPMainPlayerStateKeyAccept iAccept; //< 僉乕庴晅偗庬暿
TSmbMusicAPMainPlayerStateKeyFunc iShortPressFunc; //< 抁墴偟帪偺娭悢
TSmbMusicAPMainPlayerStateKeyFunc iLongPressFunc; //< 挿墴偟帪偺娭悢
TSmbMusicAPMainPlayerStateKeyFunc iRepeatFunc; //< 儕僺乕僩帪偺娭悢
};
/**
* 儈儏乕僕僢僋僾儗僀儎乕嵞惗宯偺價儏乕僋儔僗
*/
class CSmbMusicAPMainPlayerStateBase : public CBase
{
public:
CSmbMusicAPMainPlayerStateBase(MSmbMusicAPMainPlayerEnv& aPlayerEnv,
RLog& aLog, RPGPropAgent& aPropAgent, CSmbMusicAPMainPlayerPlayView* aView
);
~CSmbMusicAPMainPlayerStateBase();
//
// Query儊僜僢僪
//
public:
virtual TSmbMusicAPMainPlayerPlayStatus PlayStatus() = 0;
//
// View傾僋僥傿儀乕僔儑儞娭楢
//
public: //Y: ViewActivated娭楢儊僜僢僪
virtual void ChangeViewFromFilterViewL();
virtual void ChangedEmptySongListL();
virtual TBool PlaySelectedListL();
virtual TBool PlaySelectedSongL();
virtual TBool StartPlayResumeL();
private: //Y: ViewActivated娭楢儊僜僢僪
virtual void ChangeSongInFailSkip(TSmbMusicAPSyncEngineItemIndex aSongInfo, TBool aAllShuffle);
virtual TBool StartPlayListL(TSmbMusicAPSyncEngineItemIndex aSongInfo, TBool aAllShuffle, TBool aResume);
virtual void StartPlayListInNotPlayingL(TSmbMusicAPSyncEngineItemIndex aSongInfo, TBool aAllShuffle);
virtual void StartPlayListInPlayingL(TSmbMusicAPSyncEngineItemIndex aSongInfo, TBool aAllShuffle);
//
// 僉乕僀儀儞僩娭楢
//
public: // OfferKeyEvent娭楢儊僜僢僪
virtual TKeyResponse OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode aType) = 0;
virtual TKeyResponse KeyEventL(const TKeyEvent& aKeyEvent, const TSmbMusicAPMainPlayerStateKeyEvent aTbl[], TInt aNum);
static void ProcKeyDecideL(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyRight(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyLeft(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyLongRight(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyLongLeft(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyUpL(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyDownL(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ShowSubMenuL(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ChangePlayPictureL(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ChangeFilterViewL(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
#ifdef __SMBMUSICAP_PERFORMANCE_DEF__
/////////////////////////////////////////////////////////////////////////////
static void ProcKeyOne(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyTwo(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyThree(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
static void ProcKeyFour(CSmbMusicAPMainPlayerStateBase& aKeyFunc);
/////////////////////////////////////////////////////////////////////////////
#endif
protected: //Y: OfferKeyEvent娭楢儊僜僢僪
//旕static斉偺僉乕張棟娭悢
virtual void NSProcKeyDecideL();
virtual void NSProcKeyRight();
virtual void NSProcKeyLeft();
virtual void NSProcKeyLongRight();
virtual void NSProcKeyLongLeft();
virtual void NSProcKeyUpL();
virtual void NSProcKeyDownL();
virtual void NSShowSubMenuL();
virtual void NSChangePlayPictureL();
virtual void NSChangeFilterViewL();
virtual void ProcKeyDecideInPlayingL(TBool aFailState);
virtual void ProcKeyDecideInProcStartL();
virtual void ProcKeyDecideInPauseL();
virtual TBool UpdateHoldCount(TBool aNext);
#ifdef __SMBMUSICAP_PERFORMANCE_DEF__
/////////////////////////////////////////////////////////////////////////////
virtual void NSProcKeyOne();
virtual void NSProcKeyTwo();
virtual void NSProcKeyThree();
virtual void NSProcKeyFour();
/////////////////////////////////////////////////////////////////////////////
#endif
public: //Y: View偺ChangedVolumeLevel()偐傜嶲徠偝傟偰偄傞
virtual void ProcKeyLongRightUp();
virtual void ProcKeyLongLeftUp();
//
// 摨婜張棟娭楢
//
public: // MSmbMusicAPMainPlayerPlayObserver
virtual void RespPreparePlayL(TInt aResult);//Y: 仺 Pause
virtual void RespPlayStartL(TInt aResult, TInt aIndex);//Y
virtual void RespPlayStopL(TBool aResult);//Y:
virtual void RespStartPlayFFL(TBool aResult);//Y:
// Change 2007.07.24
// virtual void RespCancelPlayFFL(TBool aResult);//Y:
virtual void RespCancelPlayFFL(TInt aResult);//Y:
// Change End 2007.07.24
virtual void RespStartPlayFRL(TBool aResult);//Y:
virtual void RespCancelPlayFRL(TInt aResult);//Y:
virtual void RespPlayNextL(TInt aResult, TInt aIndex);//Y:
virtual void RespPlayPrevL(TInt aResult, TInt aIndex);//Y
virtual void RespPlaySongHeadL(TInt aResult);//Y:
virtual void RespGetPlayInfoL(TDes& aArtistTitle, TDes& aAlbumTitle, TDes& aSongTitle, TInt aTotalPlayTime, TBool aResult);//Y:
virtual void RespGetImageL(CFbsBitmap* aJacket, CFbsBitmap* aJacketMask, CFbsBitmap* aIcon, CFbsBitmap* aIconMask, TBool aResult);//Y:
virtual void RespGetPlayTimeL(TInt aPlayTime, TInt aResult);//Y:
virtual void RespSetVolumeL(TBool aResult);//Y:
virtual void RespResizeImageL(CFbsBitmap* aBitmap, CFbsBitmap* aMask, TBool aResult);//Y:
virtual void RespGetImageNumL(TSmbMusicAPSyncEngineImageCountInSongItem& aCount, TBool aResult);//Y:
virtual void RespServerTerminatedL();//Y:
// Add 2007.03.20
virtual void RespConfirmedPlayL(TInt aResult);
// Add End 2007.03.20
// Add 2007.09.11
/**
* 僒乕僶巊梡尃側偟墳摎
* @param[in] aKind 張棟庬暿
*/
virtual void RespPermissionDenied(TSmbMusicAPMainPlayerPlayRequest aKind);
// Add End 2007.09.11
void StartPlayAfterGetTImeL();
protected:
//prepare娭楢 仺 Pause
virtual void PreparePlayFromFilterViewL(TInt aResult);
virtual void CaseClosedInPlayPrepareL();
virtual void RespPlayPrepareErrorL();
//startPlay娭楢
virtual void ResourceFailInStartPlayL();
//playNext娭楢
virtual void RespPlayNextErrorProcL(TInt aResult);
virtual void RespPlayPrevErrorProc(TInt aResult);
virtual TBool CheckHoldCount();
virtual void ClearSkipHoldCount();
virtual void ModefyPlayInfoL(TDes& aArtistTitle, TDes& aAlbumTitle, TDes& aSongTitle, TInt aTotalPlayTime, TBool aResult);//Y:
virtual void RespGetPlayInfoInFailSongL();
virtual void GetJacketImageL();
virtual void RespGetTimeInStopStateL(TSmbMusicAPMainPlayerPlayProcStatus aProcPrev);
void ProcLimitCountL(); // 嵞惗夞悢惂尷晅偒僼傽僀儖張棟
void ProcGracePeriodL(); // 僌儗乕僗僺儕僆僪斖埻撪妋擣張棟
void RespPlayNextErrorProcByLimitCountL(TInt aResult);
void ResetAnyStatusFlags();
//
// 嵞惗宯僀儀儞僩張棟娭楢
//
public:
virtual void NotifyStartPlayL();//Y:
virtual void NotifyChangePlaySongL();//Y:
virtual void NotifyCompletePlayListL();//Y
virtual void NotifyStopPlayL();//Y
virtual void NotifyFFToSongEndL();//Y
virtual void NotifyFRToSongHeadL();//Y
virtual void NotifyEnableAuteResumeL();
virtual void NotifyLimitCountContentsL();
virtual void NotifyGracePeriodContentsL();
virtual void NotifyPlayFailL();//Y:
virtual void NotifyPlayFailStartL();//Y
virtual void RedrawL(TBool aInit) = 0;
protected: //嵞惗宯僀儀儞僩娭楢僾儔僀儀乕僩娭悢
virtual void ProcNotifyLowBattery();//Y
virtual void ProcNotifyChangePlaySongToPlayStopL();//Y
virtual void ProcNotifyChangePlaySongToIdleL();//Y
virtual void ProcClearSongInfoOfPlayPictureL();//Y
virtual void ProcNotifyChangePlaySongOfSongHeadL();//Y
virtual void ProcNotifyPlayFailToCancel();//Y
virtual void ProcNotifyPlayFailToSkipL();//Y
virtual void ProcNotifyStopPlayInEmptyListL();//Y
virtual void ProcNotifyStopPlayInFailSongL();
virtual void ProcNotifyStopPlayInProcStartL(TBool aStartPause);//Y
virtual void ProcNotifyStopPlayInLowBatteryL();//Y
virtual void ProcNotifyStopPlayInOtherL(TBool aPauseState);//Y
protected:
MSmbMusicAPMainPlayerEnv& iPlayerEnv; ///< 娐嫬僋儔僗(uses)
MSmbMusicAPMainPlayerBasisPartObserver* iBasisPartObserver; ///< 婎杮晹偵懳偡傞捠抦(uses)
private: // data
protected:
//State偱捛壛
RLog& iLog;
RPGPropAgent& iPropAgent;
CSmbMusicAPMainPlayerPlayView* iView;
};
SEMCJ_NAMESPACE_END
#endif // __SMBMUSICAPMAINPLAYERSTATEBASE_H__
// end of SmbMusicAPMainPlayerStateBase.h
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -