metadataengine/server/inc/mdsnotifier.h
branchRCL_3
changeset 7 3cebc1a84278
parent 0 c53acadfccc6
child 8 50de4d668bb6
equal deleted inserted replaced
6:646a02f170b9 7:3cebc1a84278
    25 // forward declarations
    25 // forward declarations
    26 class CMdSServerSession;
    26 class CMdSServerSession;
    27 class CMdSNotifyComparator;
    27 class CMdSNotifyComparator;
    28 class CMdSSchema;
    28 class CMdSSchema;
    29 class CMdCSerializationBuffer;
    29 class CMdCSerializationBuffer;
       
    30 class CMdSManipulationEngine;
    30 
    31 
    31 /**
    32 /**
    32 * A class that contains notification profiles for clients.
    33 * A class that contains notification profiles for clients.
    33 * The class compares events against each profile and
    34 * The class compares events against each profile and
    34 * triggers the client side which then calls back the observer.
    35 * triggers the client side which then calls back the observer.
   138 
   139 
   139                 /**
   140                 /**
   140                 * Triggers the notifier causing the observer to be
   141                 * Triggers the notifier causing the observer to be
   141                 * notifier with the given code.
   142                 * notifier with the given code.
   142                 * @param aCompleteCode either added/removed/modified
   143                 * @param aCompleteCode either added/removed/modified
   143                 * @param aItem the target of the event
   144                 * @param aIdArray ids of matching results
       
   145                 * @param aUriArray uris of matching results 
   144                 */
   146                 */
   145                 void TriggerL( TUint32 aCompleteCode,
   147                 void TriggerL( TUint32 aCompleteCode,
   146                     const RArray<TItemId>& aIdArray );
   148                     const RArray<TItemId>& aIdArray,
       
   149                     RPointerArray<HBufC>& aUriArray );
   147 
   150 
   148                 /**
   151                 /**
   149                  * Triggers the notifier causing the observer to be
   152                  * Triggers the notifier causing the observer to be
   150                  * notifier with the given code.
   153                  * notifier with the given code.
   151                  * 
   154                  * 
   164 
   167 
   165 				/**
   168 				/**
   166 				 *	The entry has currently no message active, 
   169 				 *	The entry has currently no message active, 
   167 				 *	wait until one is available.
   170 				 *	wait until one is available.
   168 				 */
   171 				 */
   169                 void CacheL(TUint32 aCompleteCode, const RArray<TItemId>& aIdArray );
   172                 void CacheL(TUint32 aCompleteCode, 
       
   173                                     const RArray<TItemId>& aIdArray,
       
   174                                     const RPointerArray<HBufC>& aUriArray);
   170 
   175 
   171                 /**
   176                 /**
   172 				 *	The entry has currently no message active, 
   177 				 *	The entry has currently no message active, 
   173 				 *	wait until one is available.
   178 				 *	wait until one is available.
   174 				 */
   179 				 */
   193 				 * @param aIdArray ID array
   198 				 * @param aIdArray ID array
   194 				 * @return new buffer
   199 				 * @return new buffer
   195 				 */
   200 				 */
   196 				CMdCSerializationBuffer* CopyToBufferL(
   201 				CMdCSerializationBuffer* CopyToBufferL(
   197 						const RArray<TItemId>& aIdArray);
   202 						const RArray<TItemId>& aIdArray);
       
   203 				
       
   204                 /**
       
   205                  * Copy all URIs from the array in to the buffer
       
   206                  * 
       
   207                  * @param aUriArray URI array
       
   208                  * @return new buffer
       
   209                  */
       
   210                 CMdCSerializationBuffer* CopyToBufferL(const RArray<TItemId>& aIdArray,
       
   211                                                                               const RPointerArray<HBufC>& aUriArray);
   198 
   212 
   199 				/**
   213 				/**
   200 				 * Copy matched relation IDs to a buffer
   214 				 * Copy matched relation IDs to a buffer
   201 				 * 
   215 				 * 
   202 				 * @param aRelationItemsBuffer serialized items
   216 				 * @param aRelationItemsBuffer serialized items
   288 							 CMdCSerializationBuffer& aSerializedItemIds);
   302 							 CMdCSerializationBuffer& aSerializedItemIds);
   289 
   303 
   290        /**
   304        /**
   291         * notifiers that items has been modified
   305         * notifiers that items has been modified
   292         * @param aObjectIds object IDs
   306         * @param aObjectIds object IDs
   293         */
   307         * @param aMEngine pointer to manipulator class for utility functions
   294         void NotifyModifiedL(const RArray<TItemId>& aObjectIds);
   308         */
       
   309         void NotifyModifiedL( const RArray<TItemId>& aObjectIds,
       
   310                                            CMdSManipulationEngine* aMEngine );
   295 
   311 
   296 	   /**
   312 	   /**
   297         * notifiers that objects has been set to present or not present state
   313         * notifiers that objects has been set to present or not present state
   298         * @param aPresent are object present state changed to present or not present
   314         * @param aPresent are object present state changed to present or not present
   299         * @param aObjectIds object IDs
   315         * @param aObjectIds object IDs
   318 		/**
   334 		/**
   319 		 * Notifiers that items has been removed. 
   335 		 * Notifiers that items has been removed. 
   320 		 * Can be only used for default namespace.
   336 		 * Can be only used for default namespace.
   321 		 * 
   337 		 * 
   322 		 * @param aItemIdArray modified item IDs
   338 		 * @param aItemIdArray modified item IDs
       
   339 		 * @param aMEngine pointer to manipulator class for utility functions
   323 		 */
   340 		 */
   324 		void NotifyRemovedL(const RArray<TItemId>& aItemIdArray);
   341 		void NotifyRemovedL( const RArray<TItemId>& aItemIdArray,
       
   342 		                                    CMdSManipulationEngine* aMEngine );
   325 		
   343 		
   326 		/**
   344 		/**
   327         * notifiers that items has been removed
   345         * notifiers that items has been removed
   328         * @param aSerializedItemIds serialized item IDs
   346         * @param aSerializedItemIds serialized item IDs
   329         * @param aItemIsConfidential are items confidential
   347         * @param aItemIsConfidential are items confidential
   330         */
   348         * @param aRemovedItemUriArray uri array if uris are present
   331         void NotifyRemovedL(CMdCSerializationBuffer& aSerializedItemIds, TBool aItemIsConfidential );
   349         * @param aMEngine pointer to manipulator class for utility functions
       
   350         */
       
   351         void NotifyRemovedL(CMdCSerializationBuffer& aSerializedItemIds, TBool aItemIsConfidential,
       
   352                                            RPointerArray<HBufC>& aRemovedItemUriArray,
       
   353                                            CMdSManipulationEngine* aMEngine );
   332 
   354 
   333 		void NotifySchemaAddedL();
   355 		void NotifySchemaAddedL();
   334 		
   356 		
   335 		TBool CheckForNotifier( TUint32 aNotifyTypes );
   357 		TBool CheckForNotifier( TUint32 aNotifyTypes );
   336 	
   358