--- a/mmappcomponents/mmmtpdataprovider/src/mmmtpdputility.cpp Fri Sep 03 20:07:59 2010 -0500
+++ b/mmappcomponents/mmmtpdataprovider/src/mmmtpdputility.cpp Tue Sep 21 11:25:55 2010 -0500
@@ -212,6 +212,69 @@
}
// -----------------------------------------------------------------------------
+// MmMtpDpUtility::DesToTTimeL
+// Converts a MTP format (YYYYMMDDTHHMMSS) date time string to a TTime.
+// -----------------------------------------------------------------------------
+//
+TInt MmMtpDpUtility::DesToTTime( const TDesC& aDateTime, TTime& aTime )
+ {
+ PRINT1( _L ( "MM MTP => MmMtpDpUtility::DesToTTime aDateTime=%S" ), &aDateTime );
+
+ TInt err = KErrNone;
+ if ( aDateTime.Length() < KMtpMaxDateTimeStringLength )
+ {
+ err = KErrGeneral;
+ }
+ else
+ {
+ TLex dateBuf( aDateTime.Left( 4 ) );
+ TInt year;
+ dateBuf.Val( year );
+
+ dateBuf = aDateTime.Mid( 4, 2 );
+ TInt month;
+ dateBuf.Val( month );
+
+ dateBuf = aDateTime.Mid( 6, 2 );
+ TInt day;
+ dateBuf.Val( day );
+
+ dateBuf = aDateTime.Mid( 9, 2 );
+ TInt hour;
+ dateBuf.Val( hour );
+
+ dateBuf = aDateTime.Mid( 11, 2 );
+ TInt minute;
+ dateBuf.Val( minute );
+
+ dateBuf = aDateTime.Mid( 13, 2 );
+ TInt second;
+ dateBuf.Val( second );
+
+ PRINT3( _L ( "MM MTP <> MmMtpDpUtility::DesToTTime Year = %d, Month = %d, Day = %d" ), year, month, day );
+ PRINT3( _L ( "MM MTP <> MmMtpDpUtility::DesToTTime Hour = %d, Minute = %d, Second = %d" ), hour, minute, second );
+
+ if ( ( month > 0 && month < 13 )
+ && ( day > 0 && day < 32 )
+ && ( hour >= 0 && hour < 60 )
+ && ( minute >= 0 && minute < 60 )
+ && ( second >= 0 && second < 60 ) )
+ {
+ // microsecond is ignored because MPX doesn't support it, following s60
+ TDateTime dateTime( year, TMonth( --month ), --day, hour, minute, second, 0 );
+ aTime = dateTime;
+ }
+ else
+ {
+ // date string syntax is wrong
+ err = KErrGeneral;
+ }
+ }
+ PRINT1( _L ( "MM MTP <= MmMtpDpUtility::DesToTTime err = %d" ), err );
+ return err;
+ }
+
+// -----------------------------------------------------------------------------
// MmMtpDpUtility::GetProtectionStatusL
// Get the file protection status.
// -----------------------------------------------------------------------------