homescreenpluginsrv/inc/hspsdefinitionrepository.h
branchRCL_3
changeset 74 edd621764147
parent 18 bd874ee5e5e2
--- a/homescreenpluginsrv/inc/hspsdefinitionrepository.h	Tue Apr 27 16:57:49 2010 +0300
+++ b/homescreenpluginsrv/inc/hspsdefinitionrepository.h	Tue May 11 16:30:05 2010 +0300
@@ -26,13 +26,29 @@
 #include <badesca.h>
 #include <s32mem.h>
 #include <fbs.h>
+#include <e32property.h>
 
 #include "hspsresource.h"
 
+class CRepository;
 #ifdef HSPS_LOG_ACTIVE
 class ChspsLogBus;
 #endif
 
+
+/** 
+* Publish & Subscribe functionality for controlling the ODT copies.
+*
+* IPC clients, such as such as sapi_homescreenplugin, should update any ChspsODT based 
+* runtime copies when the active application configuration is updated. 
+* Updated versions are indicated by an increment in the associated RProperty key.
+**/
+const TUid KPropertyHspsCat = {0x200159C0};
+const TUint KPropertyAI3Key = {0x102750F0}; // Homescreen
+const TUint KPropertyMTKey = {0x20000FB1}; // EUNIT MT
+const TInt KPropertyKeyDefault = 1;
+
+
 /**
 *   ThspsRepositoryEvent.
 *   Events used in ThspsRepositoryInfo.
@@ -170,7 +186,8 @@
         * 
         * @since S60 5.0
         */
-        IMPORT_C static ChspsDefinitionRepository* NewL();
+        IMPORT_C static ChspsDefinitionRepository* NewL(
+                CRepository& aCentralRepository );
         
         /**
         * Destructor.
@@ -435,13 +452,15 @@
         /**
         * C++ default constructor.
         */
-        ChspsDefinitionRepository();
+        ChspsDefinitionRepository( CRepository& aCentralRepository );
 
         /**
         * By default Symbian 2nd phase constructor is private.
         */
         void ConstructL();
         
+        void SetupPropertiesL( const TUint aKey );
+        
         void SelectFilesFromPathL( CDesCArraySeg& aFileList, const TDesC& aPath, TEntryKey aSortFlag, const TDesC& aFileExtension );
 
         void GetPathL( const ChspsODT& aODT, ThspsResourceType aResourceType );
@@ -495,6 +514,12 @@
        
         // Cached copy of last retrieved ODT.
         ChspsODT* iCacheLastODT;        
+        
+        // For indicating ODT updates
+        RProperty iProperty;
+        
+        // Reference to central repository
+        CRepository& iCentralRepository;
     };
 
 #endif      // C_hspsDEFINITIONREPOSITORY_H