vtuis/videotelui/inc/commands/cvtuicommandmodifybase.h
changeset 0 ed9695c8bcbe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vtuis/videotelui/inc/commands/cvtuicommandmodifybase.h	Mon Nov 23 14:47:47 2009 +0200
@@ -0,0 +1,79 @@
+/*
+* 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:  Command modifier base class definition.
+*
+*/
+
+
+#ifndef C_VTUICOMMANDMODIFYBASE_H
+#define C_VTUICOMMANDMODIFYBASE_H
+
+#include <e32base.h>
+
+#include "mvtuicommandsetting.h"
+
+/**
+ *  CVtUiCommandModifyBase
+ *
+ *  Command modifier base class. Command modifiers can be used for modifying
+ *  different command sets. E.g. in toolbar and number entry a command modifiers
+ *  are being used for modifying softkeys.
+ *
+ *  @since S60 v3.2
+ */
+NONSHARABLE_CLASS( CVtUiCommandModifyBase ) : public CBase
+    {
+
+public: // static methods
+
+    /**
+     * Returns TLinearOrder<> for priority ordering.
+     */
+    static TLinearOrder< CVtUiCommandModifyBase > PriorityOrder();
+
+private: // static methods
+
+    /**
+     * Priority ordering function.
+     */
+    static TInt PriorityOrderFunc( const CVtUiCommandModifyBase& aM1,
+        const CVtUiCommandModifyBase& aM2 );
+
+public: // pure virtual methods
+
+    /**
+     * Modifies command set.
+     */
+    virtual void ModifyCommandsL( MVtUiCommandSetting& aCommandSettings ) = 0;
+
+    /**
+     * Returns ETrue if this modifier supports given command set type.
+     */
+    virtual TBool Supports( MVtUiCommandSetting::Type aType ) const = 0;
+
+protected:
+
+    /**
+     * Constructor
+     */
+    CVtUiCommandModifyBase( TInt aPriority );
+
+private:
+
+    // Modifier priority
+    const TInt iPriority;
+
+    };
+
+#endif // C_VTUICOMMANDMODIFYBASE_H