uiservicetab/vimpstui/inc/cvimpstuiextensionviewinfo.h
changeset 0 5e5d6b214f4f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpstui/inc/cvimpstuiextensionviewinfo.h	Tue Feb 02 10:12:18 2010 +0200
@@ -0,0 +1,193 @@
+/*
+* Copyright (c) 2008 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: Header for Extension View info
+*
+*/
+
+
+#ifndef C_VIMPSTUIEXTENSIONVIEWINFO_H
+#define C_VIMPSTUIEXTENSIONVIEWINFO_H
+
+#include <e32base.h>
+#include <MxSPViewInfo.h>
+
+/**
+ *  Extension View Info
+ *
+ *  This class encapsulates xSP Extension View Info data
+ *
+ *  @lib vimpstui.lib
+ *  @since S60 v5.0
+ */
+class CVIMPSTUIExtensionViewInfo : public CBase,   
+                                    public MxSPViewInfo
+    {
+
+public:
+
+    /**
+     * Two-phased constructor.
+     * @param aViewId, view id.
+     * @param aIsTabbedView, ETrue if its a tabbed view, else EFlase.
+     * @param aIconFile, reference to icon file used to display icon in the tab.
+     * @param aIconId, icon id.
+     * @param aMaskId, mask id.
+     * @param aServiceName, name of the service.
+     */
+    static CVIMPSTUIExtensionViewInfo* NewL(
+        TUint32 aViewId,
+        TBool aIsTabbedView,
+        const TDesC& aIconFile,
+        TUint aIconId,
+        TUint aMaskId,
+        const TDesC& aServiceName );
+
+    /**
+     * Two-phased constructor.
+     * @param aViewId, view id.
+     * @param aIsTabbedView, ETrue if its a tabbed view, else EFlase.
+     * @param aIconFile, reference to icon file used to display icon in the tab.
+     * @param aIconId, icon id.
+     * @param aMaskId, mask id.
+     * @param aServiceName, name of the service.
+     */
+    static CVIMPSTUIExtensionViewInfo* NewLC(
+        TUint32 aViewId,
+        TBool aIsTabbedView,
+        const TDesC& aIconFile,
+        TUint aIconId,
+        TUint aMaskId,
+        const TDesC& aServiceName );
+    
+    /**
+     * Standard C++ destructor
+     */    
+    ~CVIMPSTUIExtensionViewInfo();
+    
+public: //MxSPViewInfo
+
+    /**
+     * @see MxSPViewInfo
+     * Returns old view id.
+     *
+     * @return, TInt32, old view id
+     */    
+    TInt32 OldViewId() const;
+
+    /**
+     * @see MxSPViewInfo
+     * Returns ETrue if this is tabbed view
+     *
+     * @return, TBool, tabbed or not
+     */    
+    TBool TabView() const;
+    
+    /**
+     * @see MxSPViewInfo
+     * Returns tab icon id
+     *
+     * @return, TInt32, tab icon id
+     */            
+    TInt32 TabIconId() const;
+    
+    /**
+     * @see MxSPViewInfo
+     * Returns tab mask id
+     *
+     * @return, TInt32, tab mask id
+     */                    
+    TInt32 TabMaskId() const;
+
+    /**
+     * @see MxSPViewInfo
+     * Returns tab icon file
+     *
+     * @return, TDesC&, file and path of icon file
+     */                    
+    const TDesC& TabIconFile() const;
+    
+    /**
+     * @see MxSPViewInfo
+     * Returns tab/service name
+     *
+     * @return, TDesC&, tab/service name
+     */                            
+    const TDesC& Name() const;
+    
+    /**
+     * @see MxSPViewInfo
+     * Returns sort icon id
+     *
+     * @return, TInt32, sort icon id
+     */                                    
+    TInt32 SortIconId() const;
+    
+    /**
+     * @see MxSPViewInfo
+     * Returns sort mask id
+     *
+     * @return, TInt32, sort mask id
+     */                                     
+    TInt32 SortMaskId() const;
+    
+    /**
+     * @see MxSPViewInfo
+     * Returns sort icon file.
+     *
+     * @return, TDesC&, sort icon file name/path
+     */                                  
+    const TDesC& SortIconFile() const;       
+
+private: // Implementation
+
+    /**
+     * Standard C++ constructor.
+     * @param aViewId, view id.
+     * @param aIsTabbedView, ETrue if ita a tabbed view, else EFalse.
+     * @parma aIconId, icon id.
+     * @parma aMaskId, mask id.
+     */    
+    CVIMPSTUIExtensionViewInfo( TUint32 aViewId,
+        TBool aIsTabbedView, TUint aIconId, TUint aMaskId );
+    
+    /**
+     * Performs the 2nd phase of construction.
+     * @param aIconFile, icon file path
+     * @param aServiceName, name of the service
+     */        
+    void ConstructL( const TDesC& aIconFile,
+        const TDesC& aServiceName );
+
+private: // data
+
+    // own, icon file path
+    HBufC*  iIconFile;
+    
+    // Own, service name
+    HBufC*  iServiceName;
+    
+    // View id
+    TUint32 iViewId;
+    
+    // Is tabbed view info or not
+    TBool   iIsTabbedView;
+    
+    // Icon id
+    TUint   iIconId;
+    
+    // Mask id
+    TUint   iMaskId;
+    };
+
+#endif // C_VIMPSTUIEXTENSIONVIEWINFO_H