windowing/windowserver/nga/SERVER/wsdisplaychangeao.h
changeset 0 5d03bc08d59c
child 97 0e9202c0340c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/nga/SERVER/wsdisplaychangeao.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,80 @@
+/**
+* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file
+*/
+
+#ifndef WS_DISP_CHANGE_NOTIFY
+#define WS_DISP_CHANGE_NOTIFY
+
+
+#include <graphics/wsdisplaycontrol.h>
+#include <e32base.h>
+#include <e32cmn.h>
+#include "EVENT.H"
+
+class CWsDisplayChangeNotifier : public CActive
+	{
+	public:
+		static CWsDisplayChangeNotifier* NewL(MWsDisplayControl* aNextLevelInterface, CScreen *aOwner);
+		void IssueNotificationRequest();
+		void CancelNotificationRequest();
+		~CWsDisplayChangeNotifier();
+	protected:
+		void ConstructL();
+		virtual void RunL();
+		virtual void DoCancel();
+	private:
+		CWsDisplayChangeNotifier(MWsDisplayControl* aNextLevelInterface, CScreen *aOwner);
+		TBool IsResListEqual(RArray<MWsDisplayControl::TResolution>& aResListA, RArray<MWsDisplayControl::TResolution>& aResListB);
+		
+		TRequestStatus* iRsStatus;
+		MWsDisplayControl* iNextLevelInterface;
+		CScreen *iOwner;
+		CEventQueueRetry *iRetry;
+				
+		RArray<MWsDisplayControl::TResolution> iLastResList;
+		TInt iLastErr;
+	};
+
+class CWsConfigChangeNotifier : public CActive
+	{
+	public:
+		static CWsConfigChangeNotifier* NewL(MWsDisplayControl* aNextLevelInterface, CScreen *aOwner);
+		void IssueNotificationRequest();
+		void CancelNotificationRequest();
+		~CWsConfigChangeNotifier();
+	protected:
+		void ConstructL();
+		virtual void RunL();
+		virtual void DoCancel();
+	private:
+		CWsConfigChangeNotifier(MWsDisplayControl* aNextLevelInterface, CScreen *aOwner);
+		TBool IsConfigEqual(TDisplayConfiguration& aConfigA, TDisplayConfiguration& aConfigB);
+		
+		TRequestStatus* iRsStatus;
+		MWsDisplayControl* iNextLevelInterface;
+		CScreen *iOwner;
+		CEventQueueRetry *iRetry;
+		
+		TDisplayConfiguration iLastConfig;
+	};
+
+#endif