metadataengine/server/inc/mdssqlobjectmanipulate.h
changeset 21 50bf9db68373
parent 20 6dfc5f825351
child 28 c461c7fa72c2
--- a/metadataengine/server/inc/mdssqlobjectmanipulate.h	Fri Mar 19 09:38:01 2010 +0200
+++ b/metadataengine/server/inc/mdssqlobjectmanipulate.h	Fri Apr 16 15:23:55 2010 +0300
@@ -215,25 +215,32 @@
 		 * @param aBuffer id's to remove
 		 * @param aCount id's count
 		 * @param aIdArray result id's
-		 * @param aUserLevel not used - delete
-		 * @param aLockList list of locked objects
+         * @param aRelationIds result relation id's
+         * @param aEventIds result event id's
+         * @param aUrisRequired determines if uris are to be fetched
+         * @param aRemovedItemUriArray result uris
 		 */
 		void RemoveObjectsByIdL( CMdCSerializationBuffer& aBuffer, TInt aCount,
 				RArray<TItemId>& aIdArray, RArray<TItemId>& aRelationIds, 
-				RArray<TItemId>& aEventIds );
+				RArray<TItemId>& aEventIds,
+				TBool aUrisRequired, 
+				RPointerArray<HBufC>& aRemovedItemUriArray);
 
 		/**
 		 * Remove object using it's URI's
 		 *
 		 * @param aBuffer URI's to remove
 		 * @param aCount URI's count
-		 * @param aIdArray result id's
-		 * @param aUserLevel not used - delete
-		 * @param aLockList list of locked objects
-		 */
+		 * @param aIdArray result object id's
+         * @param aRelationIds result relation id's
+         * @param aEventIds result event id's
+         * @param aRemovedItemUriArray result uris
+         */
 		void RemoveObjectsByUriL( CMdCSerializationBuffer& aBuffer, TInt aCount,
 				RArray<TItemId>& aIdArray, RArray<TItemId>& aRelationIds, 
-				RArray<TItemId>& aEventIds );
+				RArray<TItemId>& aEventIds,
+				TBool aUrisRequired,
+				RPointerArray<HBufC>& aRemovedItemUriArray );
 
 		/**
 		 * search for object uri
@@ -244,6 +251,15 @@
 		 */
 		TItemId SearchObjectByUriL( const TDesC16& aUri, TUint32& aFlags );
 
+        /**
+         * search for object uri
+         *
+         * @param aId object id to search uri for
+         * @param aFlags return found object flags
+         * @return reference to object uri
+         */
+		HBufC*& SearchObjectUriByIdL( const TItemId aId, TUint32& aFlags );
+		
 		/**
 		 * update freetext (add and remove)
 		 */
@@ -538,7 +554,6 @@
         
         /**
          * common usage buffers (initial size = 1024)
-         * NOT THREAD SAFE!
          */
         RArray<TLockBuffer> iBuffers;
 
@@ -559,11 +574,13 @@
 
 	    CMdSObjectLockList& iLockList;
 	    
+	    // Last handled uri.
+	    HBufC* iUri;
+	
 	    TBuf<256> iLastAddedObjName;
 	    
 	private:
 		class RClauseBuffer
-					// NOT THREAD SAFE !!!!!
 			{
 			public:
 				RClauseBuffer(CMdSSqlObjectManipulate& aSOM, TInt aSize = 1024);