diff -r 5aadd1120515 -r b57382753122 pimappservices/calendar/shared/src/agmentry.cpp --- a/pimappservices/calendar/shared/src/agmentry.cpp Fri Oct 15 12:10:36 2010 +0530 +++ b/pimappservices/calendar/shared/src/agmentry.cpp Wed Nov 03 17:12:22 2010 +0530 @@ -29,13 +29,13 @@ #include #include - +#define KUserDataInt 4 //---------------------------------- CAgnEntry ------------------------------------------ EXPORT_C CAgnEntry* CAgnEntry::NewL(CCalEntry::TType aType) { - __ASSERT_ALWAYS(aType>=CCalEntry::EAppt && aType<=CCalEntry::ENote, Panic(EAgmErrBadTypeEntry)); + __ASSERT_ALWAYS(aType>=CCalEntry::EAppt && aType<=CCalEntry::EAnniv, Panic(EAgmErrBadTypeEntry)); // allocate a CAgnEntry object, which invokes the CAgnSimpleEntry new operator, but passing no allocator // this makes the CAgnSimpleEntry new operator use the default new operator @@ -52,8 +52,7 @@ __ASSERT_ALWAYS(type==CCalEntry::EAppt || type==CCalEntry::EEvent || type==CCalEntry::EAnniv || type==CCalEntry::ETodo || - type==CCalEntry::EReminder || type == CCalEntry::ENote, - User::Leave(KErrCorrupt)); + type==CCalEntry::EReminder, User::Leave(KErrCorrupt)); CAgnEntry* entry = CAgnEntry::NewL(type); CleanupStack::PushL(entry); @@ -238,9 +237,9 @@ // Compare the user integer. if (UserInt() != aEntry.UserInt()) - { - return EFalse; - } + { + return EFalse; + } if ( DTStampUtcL() != aEntry.DTStampUtcL() ) { @@ -412,6 +411,11 @@ return EFalse; } + if ( UserDataInt() != aEntry.UserDataInt() ) + { + return EFalse; + } + return ETrue; } @@ -686,11 +690,17 @@ } } - // Set the user integer of the stream. + // 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() ); } @@ -829,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 @@ -1008,6 +1023,8 @@ HBufC8* guid = aSource.Guid().AllocL(); SetGuid(guid); } + // copy int + iUserDataInt = aSource.UserDataInt(); } EXPORT_C CCalEntry::TReplicationStatus CAgnEntry::ReplicationStatus() const @@ -1235,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) /** @@ -1855,9 +1893,9 @@ @internalComponent */ EXPORT_C void CAgnEntry::SetUserInt( TUint32 aUserInt ) - { - CAgnSimpleEntry::SetUserInt(aUserInt); - } + { + CAgnSimpleEntry::SetUserInt(aUserInt); + } /** Gets the user integer of this entry. @@ -1866,9 +1904,9 @@ @internalComponent */ EXPORT_C TUint32 CAgnEntry::UserInt() const - { - return CAgnSimpleEntry::UserInt(); - } + { + return CAgnSimpleEntry::UserInt(); + } EXPORT_C void CAgnEntry::ExternalizeToBufferL(RWriteStream& aWriteStream) const /** Used for passing the data to the between client and server @@ -2010,18 +2048,6 @@ // verify entry is valid before storing it EXPORT_C void CAgnEntry::VerifyBeforeStoreL() { - // check for entry type note - if( Type() == CCalEntry::ENote && !StartTime().IsSet()) - { - // read the modfication time from simple entry - TAgnCalendarTime agnStartTime; - agnStartTime.SetUtcL(CAgnSimpleEntry::LastModifiedDateUtc()); - - TAgnCalendarTime agnEndTime = agnStartTime; - // set the modification time as start and end time - CAgnSimpleEntry::SetStartAndEndTimeL(agnStartTime, agnEndTime); - } - //Check entry time if ( Type() != CCalEntry::ETodo ) { @@ -2099,3 +2125,13 @@ { return (iFlags & aFlag); } + +EXPORT_C void CAgnEntry::SetUserDataInt( TUint32 aUserInt ) + { + iUserDataInt = aUserInt; + } + +EXPORT_C TUint32 CAgnEntry::UserDataInt() const + { + return iUserDataInt; + }