--- 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 <graphics/surface.h>
#include <graphics/surfaceconfiguration.h>
#include <mmf/common/mmfvideosurfacecustomcommands.h>
@@ -24,13 +25,15 @@
#include <mmf/plugin/mmfmediaclientextdisplayinterface.h>
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<TWindowData> iClientWindows;
RArray<TWindowData> iExtDisplayWindows;
RArray<TWindowData>* 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;
};