idlehomescreen/widgetmanager/inc/wmconfiguration.h
changeset 4 4d54b72983ae
parent 2 08c6ee43b396
child 9 f966699dea19
--- a/idlehomescreen/widgetmanager/inc/wmconfiguration.h	Fri Jan 22 09:35:14 2010 +0200
+++ b/idlehomescreen/widgetmanager/inc/wmconfiguration.h	Tue Jan 26 11:48:23 2010 +0200
@@ -54,13 +54,17 @@
 public: // API
 
     /**
-     * portal button methods
+     * portal button methods. This - along with the parameter -
+     * represents the action that the portal button is configured
+     * to do when pressed. The portal button itself should contain
+     * the execution code itself.
      */
     enum TMethod
         {
         ENone = 0, // no method
         EHttp, // open browser to a certain page
-        EWidget // open given widget with params
+        EWidget, // open given widget with params
+        EApplication // launch an application
         };
 
     /**
@@ -76,19 +80,12 @@
     
     /**
      * Icon to be displayed on a portal button
-     * Logo syntax follows the widget icon syntax in MHsContentInfo
+     * Logo syntax follows the widget icon syntax in CWmImageConverter
      * @param aIndex index of the button, starting at 0
      */
     const TDesC& PortalButtonIcon( TInt aIndex );
     
     /**
-     * Bundle ID related to this button
-     * parameter is valid if this button launches an application
-     * @param aIndex index of the button, starting at 0
-     */
-    const TDesC& PortalButtonBundleId( TInt aIndex );
-    
-    /**
      * Portal button action method.
      * Defines what happens when the portal button is pressed.
      * @param aIndex index of the button, starting at 0
@@ -96,9 +93,19 @@
     TMethod PortalButtonPrimaryMethod( TInt aIndex );
     
     /**
+     * Service name for the primary method.
+     * For EHttp this is unused.
+     * For EWidget, this is the widget Bundle ID.
+     * For EApplication, this is the application name.
+     * @param aIndex index of the button, starting at 0
+     */
+    const TDesC& PortalButtonPrimaryService( TInt aIndex );
+    
+    /**
      * parameters related to the method.
      * For EHttp this is the HTTP address
-     * for EWidget the parameters passed to the widget
+     * For EWidget the parameters passed to the widget
+     * For EApplication the params passed to the app.
      * @param aIndex index of the button, starting at 0
      */
     const TDesC& PortalButtonPrimaryParams( TInt aIndex );
@@ -112,18 +119,28 @@
     TMethod PortalButtonSecondaryMethod( TInt aIndex );
     
     /**
+     * Service name for the primary method.
+     * For EHttp this is unused.
+     * For EWidget, this is the widget Bundle ID.
+     * For EApplication, this is the application name.
+     * @param aIndex index of the button, starting at 0
+     */
+    const TDesC& PortalButtonSecondaryService( TInt aIndex );
+    
+    /**
      * Parameters for Secondary method. Like Primary method
      * Works like Primary params.
      * @param aIndex index of the button, starting at 0
      */
     const TDesC& PortalButtonSecondaryParams( TInt aIndex );
     
-    
 private: // New functions
     
+    void LoadConfigurationL();
     TInt FindCorrectLanguageId();
     HBufC* ReadParameterL( TInt aKey );
     HBufC* ReadLocalisedParameterL( TInt aOffset );
+    void IndexConversion( TInt& aIndex );
 
 private:
 
@@ -144,29 +161,45 @@
     TInt                    iLanguageIndex;
 
     /**
-     * OviStore widget bundle ID
+     * OVI store button text
      */
-    HBufC*                  iOviStoreBundleId;
+    HBufC*                  iOviButtonTitle;
     
     /**
-     * OviStore widget client param
+     * OVI store button icon
+     */
+    HBufC*                  iOviButtonIcon;
+    
+    /**
+     * OVI store button browser Url
+     * (browser is used if OVI client is not working)
+     */
+    HBufC*                  iOviButtonUrl;
+    
+    /**
+     * OVI store button widget client param
      */
     HBufC*                  iOviStoreClientParam;
     
     /**
-     * Localized Url to start browser
+     * OVI store button widget bundle ID
      */
-    HBufC*                  iOviStoreUrl;
+    HBufC*                  iOviStoreBundleId;
     
     /**
-     * Localised OVI store text
+     * OPERATOR button text
      */
-    HBufC*                  iOviStoreText;
+    HBufC*                  iOperatorButtonTitle;
     
     /**
-     * OVI store icon
+     * OPERATOR store icon
      */
-    HBufC*                  iOviStoreIcon;
+    HBufC*                  iOperatorButtonIcon;
+    
+    /**
+     * OPERATOR store button browser Url
+     */
+    HBufC*                  iOperatorButtonUrl;
     
     };