src/hbcore/theme/hbthemeclient_p.cpp
changeset 23 e6ad4ef83b23
parent 21 4633027730f5
--- a/src/hbcore/theme/hbthemeclient_p.cpp	Wed Aug 18 10:05:37 2010 +0300
+++ b/src/hbcore/theme/hbthemeclient_p.cpp	Thu Sep 02 20:44:51 2010 +0300
@@ -59,47 +59,48 @@
  *
  * Returns HbIconInfo structure to the clients. This basically contains information about the shared
  * icon resources on server's shared memory
- *
- * \a iconPath
- * \a size
- * \a aspectRatioMode
- * \a mode
- * \a mirrored
- * \a options
- * \a color
- *
+ */
+HbSharedIconInfo HbThemeClient::getSharedIconInfo(const IconReqInfo &reqInfo)
+{
+#ifdef Q_OS_SYMBIAN
+    Q_D(HbThemeClient);
+    return d->getSharedIconInfo(reqInfo);
+#else
+    Q_UNUSED(reqInfo);
+    return HbSharedIconInfo();
+#endif
+}
 
+/**
+   Asynchronous version.
  */
-HbSharedIconInfo HbThemeClient::getSharedIconInfo(const QString& iconPath ,
-                                                  const QSizeF &size,
-                                                  Qt::AspectRatioMode aspectRatioMode,
-                                                  QIcon::Mode mode,
-                                                  bool mirrored,
-                                                  HbIconLoader::IconLoaderOptions options,
-                                                  const QColor &color,
-                                                  HbRenderingMode renderMode)
+void HbThemeClient::getSharedIconInfo(const IconReqInfo &reqInfo,
+                                      HbAsyncIconInfoCallback callback,
+                                      void *callbackParam)
 {
 #ifdef Q_OS_SYMBIAN
     Q_D(HbThemeClient);
-    return d->getSharedIconInfo(iconPath,
-                                size,
-                                aspectRatioMode,
-                                mode,
-                                mirrored,
-                                options,
-                                color,
-                                renderMode);
+    d->getSharedIconInfo(reqInfo, callback, callbackParam);
 #else
-    Q_UNUSED(iconPath);
-    Q_UNUSED(size);
-    Q_UNUSED(aspectRatioMode);
-    Q_UNUSED(mode);
-    Q_UNUSED(mirrored);
-    Q_UNUSED(options);
-    Q_UNUSED(color);
-    Q_UNUSED(renderMode);
+    Q_UNUSED(reqInfo);
+    Q_UNUSED(callback);
+    Q_UNUSED(callbackParam);
+#endif
+}
 
-    return HbSharedIconInfo();
+/**
+   Cancels one or more previous async requests. All requests using the
+   same callback are canceled.
+ */
+void HbThemeClient::cancelGetSharedIconInfo(HbAsyncIconInfoCallback callback,
+                                            void *callbackParam)
+{
+#ifdef Q_OS_SYMBIAN
+    Q_D(HbThemeClient);
+    d->cancelGetSharedIconInfo(callback, callbackParam);
+#else
+    Q_UNUSED(callback);
+    Q_UNUSED(callbackParam);
 #endif
 }
 
@@ -111,15 +112,16 @@
 QByteArray HbThemeClient::getSharedBlob(const QString &name)
 {
 #ifdef Q_OS_SYMBIAN
-    HbSharedIconInfo info = getSharedIconInfo(
-        name,
-        QSizeF(),
-        Qt::KeepAspectRatio,
-        QIcon::Normal,
-        false,
-        HbIconLoader::NoOptions,
-        QColor(),
-        ESWRendering);
+    IconReqInfo reqInfo;
+    reqInfo.iconPath = name;
+    reqInfo.size = QSizeF();
+    reqInfo.aspectRatioMode = Qt::KeepAspectRatio;
+    reqInfo.mode = QIcon::Normal;
+    reqInfo.mirrored = false;
+    reqInfo.options = HbIconLoader::NoOptions;
+    reqInfo.color = QColor();
+    reqInfo.renderMode = ESWRendering;
+    HbSharedIconInfo info = getSharedIconInfo(reqInfo);
     return info.type == BLOB
         ? QByteArray::fromRawData(HbMemoryUtils::getAddress<char>(
                                       HbMemoryManager::SharedMemory,
@@ -344,41 +346,27 @@
 
 /**
  * HbThemeClient::unloadIcon()
- *
- * \a iconPath
- * \a size
- * \a aspectRatioMode
- * \a mode
- * \a mirrored
- * \a options
- * \a color
-
  */
-void HbThemeClient::unloadIcon(const QString& iconPath ,
-                               const QSizeF &size,
-                               Qt::AspectRatioMode aspectRatioMode,
-                               QIcon::Mode mode,
-                               bool mirrored,
-                               const QColor &color,
-                               HbRenderingMode renderMode)
+void HbThemeClient::unloadIcon(const IconReqInfo &reqInfo)
 {
 #ifdef Q_OS_SYMBIAN
     Q_D(HbThemeClient);
-    return d->unloadIcon(iconPath,
-                         size,
-                         aspectRatioMode,
-                         mode,
-                         mirrored,
-                         color,
-                         renderMode);
+    return d->unloadIcon(reqInfo);
 #else
-    Q_UNUSED(iconPath);
-    Q_UNUSED(size);
-    Q_UNUSED(aspectRatioMode);
-    Q_UNUSED(mode);
-    Q_UNUSED(mirrored);
-    Q_UNUSED(color);
-    Q_UNUSED(renderMode);
+    Q_UNUSED(reqInfo);
+#endif
+}
+
+/**
+ * HbThemeClient::batchUnloadIcon()
+ */
+void HbThemeClient::batchUnloadIcon(const QVector<IconReqInfo> &reqInfos)
+{
+#ifdef Q_OS_SYMBIAN
+    Q_D(HbThemeClient);
+    return d->batchUnloadIcon(reqInfos);
+#else
+    Q_UNUSED(reqInfos);
 #endif
 }