pimappservices/calendar/shared/src/agmentry.cpp
branchRCL_3
changeset 74 97232defd20e
parent 66 bd7edf625bdd
child 86 ed599363c2d7
--- a/pimappservices/calendar/shared/src/agmentry.cpp	Wed Sep 01 12:32:31 2010 +0100
+++ b/pimappservices/calendar/shared/src/agmentry.cpp	Tue Sep 14 21:17:03 2010 +0300
@@ -29,7 +29,7 @@
 #include <e32math.h>
 
 #include <asshddefs.h>
-
+#define KUserDataInt 4 
 
 //---------------------------------- CAgnEntry ------------------------------------------
 
@@ -411,6 +411,11 @@
 		return EFalse;
 		}
 	
+    if ( UserDataInt() != aEntry.UserDataInt() )     
+        {       
+        return EFalse;       
+        }   
+    
 	return ETrue;
 	}
 
@@ -687,9 +692,15 @@
 
     // Set the user integer of the stream.
 	aStream.WriteInt32L( UserInt() );
-	
-	// future DC proofing
-	aStream.WriteUint32L(0); // number of bytes until end of entry
+
+    TInt skipCount( 0 );
+    //skip count(4) for UserDataInt is added
+    //to read those many bytes after fixed length of agmentry.
+    skipCount += KUserDataInt; 
+    
+    // Number of bytes until end of entry 
+    aStream.WriteUint32L( skipCount );
+    aStream.WriteInt32L( UserDataInt() );      
 	}
 
 
@@ -828,13 +839,18 @@
 	// Set the user integer of this entry from the stream.
 	SetUserInt(aStream.ReadInt32L());
 	
-	// future DC proofing
 	size = aStream.ReadUint32L(); // number of bytes until end of entry
+	
+	if ( size >= KUserDataInt )       
+        {       
+        SetUserDataInt( aStream.ReadInt32L() );
+		size -= KUserDataInt;
+        }  
 	while (size > 0)
 		{
-		aStream.ReadUint8L(); // ignore data
-		size--;
-		}
+			aStream.ReadUint8L(); // ignore data
+			size--;
+		}     
 	}
 
 EXPORT_C CAgnEntry* CAgnEntry::CloneL() const
@@ -1007,6 +1023,8 @@
 		HBufC8* guid = aSource.Guid().AllocL();
 		SetGuid(guid);
 		}		
+	// copy int       
+	iUserDataInt = aSource.UserDataInt();   
 	}
 	
 EXPORT_C CCalEntry::TReplicationStatus CAgnEntry::ReplicationStatus() const
@@ -1234,6 +1252,27 @@
 	iPhoneOwner = aAttendee;
 	}
 
+EXPORT_C void CAgnEntry::ClearMRSpecificData()
+    {
+    // clears the iMeetingOrganizer and iAttendeeList.
+    if( iMeetingOrganizer )
+        {
+        delete iMeetingOrganizer;
+        iMeetingOrganizer = NULL;
+
+        }
+    if( iPhoneOwner )
+        {
+        iPhoneOwner = NULL;
+        }
+
+    if( iAttendeeList )
+        {
+        iAttendeeList->ResetAndDestroy();
+        delete iAttendeeList;
+        iAttendeeList = NULL;
+        }
+    }
 
 EXPORT_C void CAgnEntry::SetDTStampUtcL(const TTime& aDTStampUtc)
 /**
@@ -2086,3 +2125,13 @@
 	{
 	return (iFlags & aFlag);
 	}
+
+EXPORT_C void CAgnEntry::SetUserDataInt( TUint32 aUserInt )       
+    {       
+    iUserDataInt = aUserInt;       
+    }       
+
+EXPORT_C TUint32 CAgnEntry::UserDataInt() const       
+    {       
+    return iUserDataInt;       
+    }