mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.h
changeset 4 9d4397b300d1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmfintegrationtest/mmfmediaclienttestplugin/src/mmfmediaclientextdisplaytestprovider.h	Mon Oct 18 12:47:26 2010 +0100
@@ -0,0 +1,71 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the License "Symbian Foundation License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#ifndef MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_H_
+#define MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_H_
+
+#include <mmf/plugin/mmfmediaclientextdisplayinterface.h>
+#include <e32base.h>
+
+class CExtDisplayTestConnectionProvider;
+
+class CExtDisplayConnectionTimer : public CTimer
+    {
+public:
+    static CExtDisplayConnectionTimer* NewL(CExtDisplayTestConnectionProvider* iParent, TTimeIntervalMicroSeconds32 aInterval);
+    void Start();
+
+private:
+    void RunL();
+    CExtDisplayConnectionTimer(CExtDisplayTestConnectionProvider* iParent, TTimeIntervalMicroSeconds32 aInterval);
+    
+private:
+    CExtDisplayTestConnectionProvider* iParent;
+    TTimeIntervalMicroSeconds32 iInterval;
+    };
+
+NONSHARABLE_CLASS(CExtDisplayTestConnectionProvider) : public CExtDisplayConnectionProviderInterface
+    {
+public:
+    static CExtDisplayTestConnectionProvider* NewL();
+    ~CExtDisplayTestConnectionProvider();
+    
+    // Used by CExtDisplayConnectionTimer
+    void TimerExpired();
+    
+    // CExtDisplayConnectionProviderInterface
+    void SetExtDisplayConnectionProviderCallback(MExtDisplayConnectionProviderCallback& aCallback);
+    TExtDisplayConnectionProviderConnType ExtDisplayConnType();
+    TInt ExtDisplayId();
+    
+private:
+    CExtDisplayTestConnectionProvider();
+    void ConstructL();
+    void ReadConnectionInfoL();
+    void InitialiseConnectionChangeTimerL();
+    
+private:
+    MExtDisplayConnectionProviderCallback* iCallback; // not owned
+    TExtDisplayConnectionProviderConnType iInitialConnectionType;
+    TExtDisplayConnectionProviderConnType iConnectionTypeToBeNotified;
+    CExtDisplayConnectionTimer* iExtDisplayConnectionTimer;
+    };
+
+#endif /* MMFMEDIACLIENTEXTDISPLAYTESTPROVIDER_H_ */