chxavplayerui.h
上传用户:dangjiwu
上传日期:2013-07-19
资源大小:42019k
文件大小:6k
- /************************************************************************
- * chxavplayerui.h
- * ----------------
- *
- * Synopsis:
- * Contains the declaration of the CHXAvPlayerUI class. This is the main
- * UI manager class. It manages the views and communicates back any
- * user input to the media object, implemented by CHXAvPlayerMediaEngine.
- *
- *
- * Target:
- * Symbian OS
- *
- *
- * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
- *
- ************************************************************************/
- #ifndef _chxavplayerui_h_
- #define _chxavplayerui_h_
- #include <coeccntx.h>
- #include <eikenv.h>
- #include <eikappui.h>
- #include <eikapp.h>
- #include <eikdoc.h>
- #include <eikmenup.h>
- #include <eikon.hrh>
- #include <aknviewappui.h>
- #include <apchangeobserver.h>
- #include "hxwintyp.h"
- #include "hxcom.h"
- #include "hxcomm.h"
- #include "hxmon.h"
- #include "hxtypes.h"
- #include "hxassert.h"
- #include "unkimp.h"
- #include "ihxpckts.h"
- #include "chxavwaitnote.h"
- #include "chxclientenginemanager.h"
- #include "hxstring.h"
- #include "hxurl.h"
- #include "chxresourcetoken.h"
- #include "chxavwaitnote.h"
- #include "chxavurllist.h"
- #include "comptr.h"
- #include "ihxsymplayerstateobserver.h"
- #include "chxavmediafolderinfo.h"
- class CEnvironmentChangeNotifier;
- class CHXAvPresentationWindow;
- class CHXAvPlayView;
- class CHXAvPlayer;
- class CHXAvURLList;
- //class PrefChangeObserver
- class PrefChangeObserver
- {
- public:
- virtual void OnPrefsChanged() = 0;
- };
- // class CHXAvPlayerUI
- class CHXAvPlayerUI
- : public CAknViewAppUi
- {
- public:
- // enums
- enum ViewIndex
- {
- VID_FileView = 0,
- VID_PlayerView,
- VID_SelectSettingsView,
- VID_SettingsView
- };
- enum AlertType
- {
- AlertError = 0,
- AlertInfo,
- AlertConfirm,
- AlertWarn
- };
- public:
- // ctor and dtor
- CHXAvPlayerUI();
- virtual ~CHXAvPlayerUI();
- void ConstructL();
-
- public:
- // CAknViewAppUi
- void HandleCommandL(TInt aCommand);
- void OpenFileL(const TDesC& fileArg);
- // CHXAvPlayerUI
- CHXClientEngineManagerPtr GetClientEngineManager();
- const TDesC& CHXAvPlayerUI::GetAppImageFilePath() const;
- void ActivatePlayViewL(const TDesC& url);
- void OnViewForegroundActivateL(TInt idxView);
- bool IsRunningEmbedded() const;
- void SetPrefChangeObserver(PrefChangeObserver* pObserver);
- CHXAvURLListPtr GetRecentClipsList();
- TPtrC GetGuideUrlL(bool bForceUpdate);
- TInt GetRecentClipCount() const;
- comptr<CHXAvPlayer> GetPlayer();
- void HandleEnvChange();
- const CHXAvVector<CHXAvMediaFolderInfoPtr>& GetMediaStoreInfoL(bool bForceUpdate = false);
- //CPinbModel& PinbModel();
- public:
- // ui implementation for user commands
- void DoEditPlaylistL(const TDesC& playListPath);
- void DoAboutL();
- void DoOpenRecentL();
- void DoOpenURLL();
- void DoOpenGuideL();
- void DoSelectSettingsL();
- void DoRestoreDefaultSettingsL();
- private:
- // implementation helpers
- void DoBackFromCurrentViewL();
- void AppendMediaStoreInfoL(const CHXString& strRootPath, CHXAvMediaFolderInfo::PathCreateType pathType);
-
- CHXAvPlayView* GetPlayView();
- void UpdateMediaStoreInfoL();
- void ClearMediaFolderListL();
- void CloseApp();
- bool EnsureUniqueInstanceHelperL();
- void EnsureUniqueInstanceL();
-
- // CAknViewAppUi
- //void HandleForegroundEventL(TBool bEnterForeground);
- //TKeyResponse HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
-
- void HandleViewDeactivation(const TVwsViewId& idOldView, const TVwsViewId& idNewView);
- void HandleApplicationSpecificEventL(TInt aType,const TWsEvent& aEvent);
- void HandleWsEventL(const TWsEvent& event ,CCoeControl* pDest);
- TBool ProcessCommandParametersL(TApaCommand aCommand,TFileName& aDocumentName,const TDesC8& aTail);
- //MSharedDataNotifyHandler
- //void HandleNotifyL(const TUid uid, const TDesC& key, const TDesC& val);
- private:
- CHXClientEngineManagerPtr m_spEngineMgr;
- CHXAvURLListPtr m_recentClips;
- TInt m_idxDefaultView;
- TInt m_lastErrorResId;
- CHXString m_lastClipEntered;
-
- CHXAvVector<CHXAvMediaFolderInfoPtr> m_mediaStoreInfo;
- refptr<HBufC> m_spPendingOpenFile;
- refptr<HBufC> m_spGuideUrl;
- refptr<HBufC> m_spLocalMediaFolder;
- refptr<HBufC> m_spMmcMediaFolder;
- refptr<HBufC> m_spMemoryReserve;
- refptr<TFileName> m_spImageFilePath;
- PrefChangeObserver* m_pPrefChangeObserver;
-
- bool m_bIsRunningEmbedded;
- bool m_bLaunchAppWithClipPending;
- //bool m_bDidScreenSaverSignal;
- //bool m_bDidScreenSaverSignal;
- //bool m_bIsActivePlaybackState;
- //RSharedDataClient m_sysSdClient;
- //RSharedDataClient m_sysApSdClient;
- //refptr<CPinbModel> m_pPinbModel;
- CEnvironmentChangeNotifier* m_pEnvChange;
- bool m_bIgnoreFirstEnvChange;
- CHXResourceToken m_instanceToken;
- CHXAvWaitNotePtr m_spCloseAppWaitNote;
- };
- inline
- CHXClientEngineManagerPtr CHXAvPlayerUI::GetClientEngineManager()
- {
- return m_spEngineMgr;
- }
- inline
- void CHXAvPlayerUI::SetPrefChangeObserver(PrefChangeObserver* pObserver)
- {
- m_pPrefChangeObserver = pObserver;
- }
- /*
- inline
- CPinbModel& CHXAvPlayerUI::PinbModel()
- {
- return *m_pPinbModel;
- }
- */
- inline
- bool CHXAvPlayerUI::IsRunningEmbedded() const
- {
- return m_bIsRunningEmbedded;
- }
- // return path to main app image file
- inline
- const TDesC& CHXAvPlayerUI::GetAppImageFilePath() const
- {
- HX_ASSERT(m_spImageFilePath);
- return *m_spImageFilePath;
- }
- inline
- CHXAvURLListPtr CHXAvPlayerUI::GetRecentClipsList()
- {
- return m_recentClips;
- }
- #endif //_chxavplayerui_h_