diff -r 94dbab0a2133 -r bc06d8566074 mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h --- a/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h Fri Mar 12 15:50:33 2010 +0200 +++ b/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h Mon Mar 15 12:46:07 2010 +0200 @@ -17,6 +17,7 @@ #define MEDIACLIENTVIDEODISPLAYBODY_H #include "mediaclientextdisplayhandler.h" +#include "mediaclientwseventobserver.h" #include #include #include @@ -24,13 +25,15 @@ #include class MMMFSurfaceEventHandler; +class CMediaClientPolicyServerClient; /** @internalTechnology @released */ -NONSHARABLE_CLASS(CMediaClientVideoDisplayBody) : public CBase, public MExtDisplayConnectionProviderCallback +NONSHARABLE_CLASS(CMediaClientVideoDisplayBody) : public CBase, public MExtDisplayConnectionProviderCallback, +public MMediaClientWsEventObserverCallback { private: NONSHARABLE_CLASS(TWindowData) @@ -143,8 +146,6 @@ TInt SetBackgroundSurface(TWindowData& aWindowData, const TRect& aCropRegion); TBool HasWindows() const; - void MedcpcExtDisplayNotifyConnected(TBool aExtDisplayConnected); - void UpdateCropRegionL(const TRect& aCropRegion, TInt aPos); void CreateExtDisplayPluginL(); void RemoveExtDisplayPlugin(); @@ -152,6 +153,15 @@ void RemoveExtDisplayHandler(); void SetWindowArrayPtr2Client(); void SetWindowArrayPtr2Ext(); + void SwitchSurface(); + void UpdateFocus(); + + // MExtDisplayConnectionProviderCallback + void MedcpcExtDisplayNotifyConnected(TBool aExtDisplayConnected); + + // MMediaClientWsEventObserverCallback + void MmcweoFocusWindowGroupChanged(); + TBool MmcweoIgnoreProcess(TSecureId aId); private: @@ -164,14 +174,19 @@ RArray iClientWindows; RArray iExtDisplayWindows; RArray* iWindowsArrayPtr; + TBool iSwitchedToExternalDisplay; TRect iCropRegion; TBool iClientRequestedExtDisplaySwitching; CExtDisplayConnectionProviderInterface* iExtDisplayConnectionProvider; CMediaClientExtDisplayHandler* iExtDisplayHandler; + CMediaClientWsEventObserver* iWsEventObserver; + TBool iClientWindowIsInFocus; TBool iExtDisplayConnected; TBool iExtDisplaySwitchingSupported; + CMediaClientPolicyServerClient* iServerClient; + friend class CVideoPlayerUtility::CBody; friend class CTestStepUnitMMFVidClient; };