activityfw/activityserviceplugin/s60/src/afstorageproxy_p.cpp
changeset 124 e36b2f4799c0
parent 121 0b3699f6c654
--- a/activityfw/activityserviceplugin/s60/src/afstorageproxy_p.cpp	Fri Sep 17 08:32:18 2010 +0300
+++ b/activityfw/activityserviceplugin/s60/src/afstorageproxy_p.cpp	Mon Oct 04 00:38:31 2010 +0300
@@ -21,6 +21,7 @@
 
 #include <QSize>
 #include <QPixmap>
+#include <QDateTime>
 
 #include <XQConversions>
 
@@ -45,38 +46,6 @@
     mAppArcSession.Close();
 }
 
-bool AfStorageProxyPrivate::addActivity(int applicationId, const QString &activityId, const QString &customActivityName, const QVariant &activityData, const QVariantHash &metadata, const QPixmap &screenshot)
-{    
-    int screenshotHandle(-1);
-    CFbsBitmap* bitmap(screenshot.toSymbianCFbsBitmap());
-    if (bitmap) {
-        screenshotHandle = bitmap->Handle();
-    }
-    
-    CAfEntry *entry = createSaveEntry(applicationId, activityId, customActivityName, activityData, metadata);
-    int result = mClient->addActivity(*entry, screenshotHandle);    
-    delete entry;
-    delete bitmap;
-    
-    return KErrNone == result;
-}
-
-bool AfStorageProxyPrivate::updateActivity(int applicationId, const QString &activityId, const QString &customActivityName, const QVariant &activityData, const QVariantHash &metadata, const QPixmap &screenshot)
-{
-    int screenshotHandle(-1);
-    CFbsBitmap* bitmap(screenshot.toSymbianCFbsBitmap());
-    if (bitmap) {
-        screenshotHandle = bitmap->Handle();
-    }
-    
-    CAfEntry *entry = createSaveEntry(applicationId, activityId, customActivityName, activityData, metadata);
-    int result = mClient->updateActivity(*entry, screenshotHandle);    
-    delete entry;
-    delete bitmap;
-    
-    return KErrNone == result;
-}
-
 bool AfStorageProxyPrivate::saveActivity(int applicationId, const QString &activityId, const QString &customActivityName, const QVariant &activityData, const QVariantHash &metadata, const QPixmap &screenshot)
 {
     int screenshotHandle(-1);
@@ -181,10 +150,10 @@
     return KErrNone == result;
 }
 
-bool AfStorageProxyPrivate::getThumbnail(const QSize &size, const QString &imagePath, void *userData)
+bool AfStorageProxyPrivate::getThumbnail(const QString &imagePath, void *userData)
 {
     HBufC *source = XQConversions::qStringToS60Desc(imagePath);
-    int result = mClient->getThumbnail(TSize(size.width(), size.height()), *source, userData);
+    int result = mClient->getThumbnail(*source, userData);
     delete source;
     return KErrNone == result;
 }
@@ -229,7 +198,7 @@
 CAfEntry *AfStorageProxyPrivate::createFilterEntry(int applicationId, const QString &activityId)
 {   
     CAfEntry *entry(0); 
-    QT_TRAP_THROWING(entry = CAfEntry::NewL(0, applicationId, TPtrC(static_cast<const TUint16*>(activityId.utf16())), KNullDesC(), KNullDesC(), KNullDesC8(), KNullDesC8()));
+    QT_TRAP_THROWING(entry = CAfEntry::NewL(0, applicationId, TPtrC(static_cast<const TUint16*>(activityId.utf16())), KNullDesC(), KNullDesC(), KNullDesC8(), KNullDesC8(), TTime()));
     return entry;
 }
 
@@ -268,7 +237,8 @@
                                *customNameBuff,
                                KNullDesC, 
                                privateBuff, 
-                               publicBuff);
+                               publicBuff,
+                               convertQDateTimeToTTime(metadata[ActivityTimestamp].toDateTime()));
         CleanupStack::PopAndDestroy(customNameBuff);
         CleanupStack::PopAndDestroy(actBuff);
         CleanupStack::PopAndDestroy(&publicBuff);
@@ -304,6 +274,7 @@
     metadata.insert(ActivityScreenshotKeyword, XQConversions::s60DescToQString(entry->ImageSrc()));
     metadata.insert(ActivityPersistence, (entry->Flags() & CAfEntry::Persistent) ? true : false);
     metadata.insert(ActivityVisibility, (entry->Flags() & CAfEntry::Invisible) ? false : true); 
+    metadata.insert(ActivityTimestamp, convertTTimeToQDateTime(entry->Timestamp())); 
     return metadata;
 }
 
@@ -317,3 +288,23 @@
         return XQConversions::s60DescToQString(entry->CustomActivityName());
     }
 }
+
+// -----------------------------------------------------------------------------
+TTime AfStorageProxyPrivate::convertQDateTimeToTTime(const QDateTime &timestamp) const
+{
+    return TTime( _L( "19700000:" ) ) + TTimeIntervalSeconds( timestamp.toTime_t() ) +
+                         TTimeIntervalMicroSeconds( timestamp.time().msec() * 1000 );
+}
+
+// -----------------------------------------------------------------------------
+QDateTime AfStorageProxyPrivate::convertTTimeToQDateTime(const TTime &s60Time) const
+{
+    TTime posixEpoch(_L("19700000:"));
+    TTimeIntervalSeconds secondsFrom;
+    TTimeIntervalMicroSeconds microSecondsFrom;
+    s60Time.SecondsFrom(posixEpoch, secondsFrom);
+    microSecondsFrom = s60Time.MicroSecondsFrom(posixEpoch);
+    QDateTime retVal = QDateTime::fromTime_t(secondsFrom.Int());
+    retVal = retVal.addMSecs((microSecondsFrom.Int64() % TInt64(1000000) ) / TInt64(1000));
+    return retVal;    
+}