diff -r 08008ce8a6df -r bde600d88860 messagingfw/msgsrvnstore/server/src/MSVTIME.CPP --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/msgsrvnstore/server/src/MSVTIME.CPP Fri Jun 04 10:32:16 2010 +0100 @@ -0,0 +1,87 @@ +// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +#include "MSVTIME.H" +#include "MSVPANIC.H" + +const TMsvDays KMsvNullDays = 0xffff; + +TMsvTime::TMsvTime() +: iDays(KMsvNullDays) + { + } + +void TMsvTime::SetTime(const TTime& aTime) + { + if (aTime == Time::NullTTime()) + iDays = KMsvNullDays; + else + { + __ASSERT_ALWAYS(aTime >= MinTime() && aTime <= MaxTime(), PanicServer(EMsvDateOutsideValidRange)); + iDays = (TMsvDays)aTime.DaysFrom(MinTime()).Int(); + iMinutes = (TMsvMinutes)(aTime.DateTime().Hour() * 60 + aTime.DateTime().Minute()); + } + } + +void TMsvTime::GetTime(TTime& aTime) const + { + if (IsNull()) + aTime = Time::NullTTime(); + else + { + aTime = MinTime(); + aTime += TTimeIntervalDays(iDays); + aTime += TTimeIntervalMinutes(iMinutes); + } + } + +TBool TMsvTime::operator>=(const TTime& aTime) const + { + TTime thisTime; + GetTime(thisTime); + + TDateTime dt = aTime.DateTime(); + dt.SetSecond(0); + dt.SetMicroSecond(0); + + return thisTime >= TTime(dt); + } + +TBool TMsvTime::IsNull() const + { + return iDays == KMsvNullDays; + } + +void TMsvTime::InternalizeL(RReadStream& aStream) + { + aStream >> iDays; + aStream >> iMinutes; + } + +void TMsvTime::ExternalizeL(RWriteStream& aStream) const + { + aStream << iDays; + aStream << iMinutes; + } + +TTime TMsvTime::MinTime() const + { + return TTime(TDateTime(1900,EJanuary,0,0,0,0,0)); + } + +TTime TMsvTime::MaxTime() const + { + return TTime(TDateTime(2100,EDecember,30,23,59,59,0)); + }