--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vtuis/videotelui/inc/features/prefs/cvtuivideoquality.h Wed Sep 01 12:29:12 2010 +0100
@@ -0,0 +1,160 @@
+/*
+* Copyright (c) 2007 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: Video quality feature.
+*
+*/
+
+
+#ifndef C_VTUIVIDEOQUALITY_H
+#define C_VTUIVIDEOQUALITY_H
+
+#include <gulicon.h>
+#include "cvtuifeaturebase.h"
+#include "mvtuicomponent.h"
+#include "tvtuicomponentstate.h"
+#include "videotelui.hrh"
+
+/**
+* TVtUiVideoQualityComponentState
+*
+* Video quality componentstate definition.
+*
+* @since S60 v3.2
+*/
+class TVtUiVideoQualityComponentState : public TVtUiComponentState
+ {
+
+public:
+
+ /**
+ * Constructor
+ * @param aComponent Reference to component.
+ */
+ TVtUiVideoQualityComponentState( MVtUiComponent& aComponent );
+
+ };
+
+/**
+* CVtUiVideoQuality
+*
+* Video quality UI feature definition.
+*
+* @since S60 v3.2
+*/
+class CVtUiVideoQuality : public CVtUiFeatureBase,
+ public MVtUiComponent
+ {
+
+public:
+
+ /**
+ * Static constructor
+ * @param aFeatureManager Reference to feature manager.
+ */
+ static CVtUiVideoQuality* NewL( CVtUiFeatureManager& aFeatureManager );
+
+ /**
+ * Destructor
+ */
+ ~CVtUiVideoQuality();
+
+public: // from MVtUiFeature
+
+ /**
+ * @see MVtUiFeature::StartL
+ */
+ void StartL();
+
+ /**
+ * @see MVtUiFeature::Stop
+ */
+ void Stop();
+
+ /**
+ * @see MVtUiFeature::InitFeatureL
+ */
+ void InitFeatureL();
+
+public: // from MVtUiComponent
+
+ /**
+ * @see MVtUiComponent::ComponentId
+ */
+ MVtUiComponent::TComponentId ComponentId() const;
+
+ /**
+ * @see MVtUiComponent::ComponentAsControl
+ */
+ CCoeControl* ComponentAsControl();
+
+ /**
+ * @see MVtUiComponent::DoActivateL
+ */
+ void DoActivateL();
+
+ /**
+ * @see MVtUiComponent::DoDeactivateL
+ */
+ void DoDeactivateL();
+
+private:
+
+ // Creates icons for list
+ CGulIcon* CreateIconLC( TVtUiBitmapId aIconId, TVtUiBitmapId aMaskId );
+
+ // Shows the selection list
+ void ShowSelectionListL();
+
+ // Async the selection list
+ static TInt AsyncShowSelectionList( TAny* aPtr );
+
+ // Reads items from source to target array and updates the selection icon
+ // if needed.
+ void SetItemsL( CDesCArray& aTarget,const CDesCArray& aSource );
+
+ // Return curretly active item.
+ TInt ActiveItem() const;
+
+ // Item selected, adjust video quality.
+ void ItemSelectedL( TInt aItemIndex );
+
+private:
+
+ /**
+ * Constructor
+ */
+ CVtUiVideoQuality( CVtUiFeatureManager& aFeatureManager );
+
+ /**
+ * 2nd constructor
+ */
+ void ConstructL();
+
+ /**
+ * Callback function that stops the feature.
+ * @param aAny pointer to an instance of the class.
+ * @return always KErrNone.
+ */
+ static TInt DoStop( TAny* aAny );
+
+private:
+
+ // Component state
+ TVtUiVideoQualityComponentState iComponentState;
+
+ // Async callback for selection list
+ CAsyncCallBack* iShowSelectionListCallback;
+ };
+
+#endif // CVTUIVIDEOQUALITY_H