From dd8c90f87463d370c3076e13b7c6cc0e27c0d2f5 Mon Sep 17 00:00:00 2001
From: "Bocklage, Jens" <Jens_Bocklage@mentor.com>
Date: Tue, 8 Nov 2016 19:46:21 +0100
Subject: -Make the SampleNav app yellow. -Preparation for the new
 ApplicationFramework binding. The App Framework provides more information.
 --Adding afm D-Bus-interface introspection --Updating the AppInfo datatype to
 hold the new data:   The application info consists of:   string id;   string
 version;   int width;   int height;   string name;   string description;  
 string shortname;   string author;   string iconPath; -When pressing the
 AppLauncher Button or the Settings Button, the app layer is hidden.
 --Therefore, shideLayer and showLayer is introduced in the WindowManager API
 -If an application does not create its surface instantly, the HomeScreen
 retries to show the surface related to the pid. -New WindowManager function
 deleteLayoutById -Implement the complete HomeScreen API in the libhomescreen

Signed-off-by: Bocklage, Jens <Jens_Bocklage@mentor.com>
---
 interfaces/src/appframework.cpp | 63 +++++++++++++++++++++--------------------
 1 file changed, 32 insertions(+), 31 deletions(-)

(limited to 'interfaces/src')

diff --git a/interfaces/src/appframework.cpp b/interfaces/src/appframework.cpp
index afd6114..40515d5 100644
--- a/interfaces/src/appframework.cpp
+++ b/interfaces/src/appframework.cpp
@@ -16,56 +16,57 @@
 
 #include "include/appframework.hpp"
 
-AppInfo::AppInfo(QObject *parent) :
-    QObject(parent)
-{
-}
-
-AppInfo::AppInfo(const AppInfo &other) :
-    QObject(other.parent()),
-    name(other.getName()),
-    iconPath(other.getIconPath()),
-    description(other.getDescription())
-{
-}
 
-AppInfo& AppInfo::operator=(const AppInfo &other)
+AppInfo::AppInfo()
 {
-    setParent(other.parent());
-    name = other.getName();
-    iconPath = other.getIconPath();
-    description = other.getDescription();
-
-    return *this;
 }
 
 AppInfo::~AppInfo()
 {
 }
 
-void AppInfo::registerMetaType()
+void AppInfo::read(const QJsonObject &json)
 {
-    qRegisterMetaType<AppInfo>("AppInfo");
-    qDBusRegisterMetaType<AppInfo>();
+    id = json["id"].toString();
+    version = json["id"].toString();
+    width = json["id"].toInt();
+    height = json["id"].toInt();
+    name = json["id"].toString();
+    description = json["id"].toString();
+    shortname = json["id"].toString();
+    author = json["id"].toString();
+    iconPath = json["id"].toString();
 }
 
-
-// Marshall the MyStructure data into a D-Bus argument
-QDBusArgument &operator<<(QDBusArgument &argument, const AppInfo &appInfo)
+QDBusArgument &operator <<(QDBusArgument &argument, const AppInfo &mAppInfo)
 {
     argument.beginStructure();
-    argument << appInfo.name << appInfo.iconPath << appInfo.description;
+    argument << mAppInfo.id;
+    argument << mAppInfo.version;
+    argument << mAppInfo.width;
+    argument << mAppInfo.height;
+    argument << mAppInfo.name;
+    argument << mAppInfo.description;
+    argument << mAppInfo.shortname;
+    argument << mAppInfo.author;
+    argument << mAppInfo.iconPath;
     argument.endStructure();
-    qDebug("appInfo.name:<< %s", appInfo.name.toStdString().c_str());
+
     return argument;
 }
 
-// Retrieve the MyStructure data from the D-Bus argument
-const QDBusArgument &operator>>(const QDBusArgument &argument, AppInfo &appInfo)
+const QDBusArgument &operator >>(const QDBusArgument &argument, AppInfo &mAppInfo)
 {
     argument.beginStructure();
-    argument >> appInfo.name >> appInfo.iconPath >> appInfo.description;
+    argument >> mAppInfo.id;
+    argument >> mAppInfo.version;
+    argument >> mAppInfo.width;
+    argument >> mAppInfo.height;
+    argument >> mAppInfo.name;
+    argument >> mAppInfo.description;
+    argument >> mAppInfo.shortname;
+    argument >> mAppInfo.author;
+    argument >> mAppInfo.iconPath;
     argument.endStructure();
-    qDebug("appInfo.name:>> %s", appInfo.name.toStdString().c_str());
     return argument;
 }
-- 
cgit