homescreensrv_plat/ai_content_model_api/inc/aicontentobserver.h
changeset 3 ff572005ac23
parent 0 79c6a41cd166
child 9 d0529222e3f0
--- a/homescreensrv_plat/ai_content_model_api/inc/aicontentobserver.h	Mon Jan 18 20:32:13 2010 +0200
+++ b/homescreensrv_plat/ai_content_model_api/inc/aicontentobserver.h	Tue Jan 26 12:11:15 2010 +0200
@@ -35,6 +35,28 @@
  */
 class MAiContentObserver
     {
+public: // New Enumeration
+    /**
+    * CSS Primitive value type
+    */
+    enum TValueType
+        {
+        EValueUnknown = 0,
+        EValueNumber,
+        EValuePercentage,
+        EValuePx,
+        EValueDimension,
+        EValueString,
+        EValueIdent,
+        EValueAttr,
+        EValueCounter,
+        EValueRect,
+        EValueRgbColor,
+        EValueRgbaColor,
+        EValueFunction,
+        EValueUnitValue
+        };
+    
 public:  // New functions
 
     /**
@@ -250,8 +272,52 @@
 	 * @param aPublsiherInfo Publisher which requires subscription
 	 * @return ETrue if subsription is needed, EFalse otherwise
 	 */	
-    virtual TBool RequiresSubscription( const TAiPublisherInfo& aPublisherInfo ) const = 0;	    
-
+    virtual TBool RequiresSubscription( const TAiPublisherInfo& aPublisherInfo ) const = 0;
+    
+    /**
+     * Invoked by the plug-in to change the property value of a specific content.
+     * value type must be string.
+     * @param  aPlugin - Plug-in property extension interface implementation.
+     * @param  aElementId - id of content selector, MUST correspond
+     *         single content supported by plug-in. The framework
+     *         utilizes the id to find in the plugin xml defintion.
+     * @param  aPropertyName - property name.
+     * @param  aPropertyValue - property value.
+     * @return - Possible return values:
+     *         - KErrNone - if content reference found.
+     *         - KErrNotFound - if content reference is not found in current
+     *         plugin definition.
+     *         - KErrNotSupported - if content selector is not supported by
+     *         current plugin definition.         
+     */
+    virtual TInt SetProperty( MAiPropertyExtension& aPlugin,
+            const TDesC8& aElementId,
+            const TDesC8& aPropertyName,
+            const TDesC8& aPropertyValue ) = 0;
+    
+    /**
+     * Invoked by the plug-in to change the property value of a specific content.
+     *
+     * @param  aPlugin - Plug-in property extension interface implementation.
+     * @param  aElementId - id of content selector, MUST correspond
+     *         single content supported by plug-in. The framework
+     *         utilizes the id to find in the plugin xml defintion.
+     * @param  aPropertyName - property name.
+     * @param  aPropertyValue - property value.
+     * @param  aValueType  - value type.
+     * @return - Possible return values:
+     *         - KErrNone - if content reference found.
+     *         - KErrNotFound - if content reference is not found in current
+     *         plugin definition.
+     *         - KErrNotSupported - if content selector is not supported by
+     *         current plugin definition.         
+     */
+    virtual TInt SetProperty( MAiPropertyExtension& aPlugin,
+            const TDesC8& aElementId,
+            const TDesC8& aPropertyName,
+            const TDesC8& aPropertyValue,  
+            MAiContentObserver::TValueType aValueType) = 0;
+            
 protected:
     /**
      * Protected destructor prevents deletion through this interface.