[Release] wrt-installer_0.0.89
[framework/web/wrt-installer.git] / src / jobs / widget_install / manifest.cpp
old mode 100644 (file)
new mode 100755 (executable)
index f231d02..98adb96
@@ -176,6 +176,7 @@ void Manifest::serialize(xmlTextWriterPtr writer)
         FOREACH(u, this->uiApplication) { u->serialize(writer); }
         FOREACH(i, this->imeApplication) { i->serialize(writer); }
         //FOREACH(f, this->font) { f->serialize(writer); }
+        FOREACH(l, this->livebox) { l->serialize(writer); }
     }
     endElement(writer);
 }
@@ -210,7 +211,7 @@ void ServiceApplication::serialize(xmlTextWriterPtr writer)
         writeElementWithOneAttribute(writer, "icon", i->getString(), "xml:lang",
                 i->getLang(), i->hasLang());
     }
-    FOREACH(a, this->applicationService)
+    FOREACH(a, this->appControl)
     {
         a->serialize(writer);
     }
@@ -242,10 +243,16 @@ void UiApplication::serialize(xmlTextWriterPtr writer)
         writeElementWithOneAttribute(writer, "icon", i->getString(), "xml:lang",
                 i->getLang(), i->hasLang());
     }
-    FOREACH(a, this->applicationService)
+    FOREACH(a, this->appControl)
     {
         a->serialize(writer);
     }
+    FOREACH(c, this->appCategory)
+    {
+        startElement(writer, "category");
+        writeAttribute(writer, "name", *c);
+        endElement(writer);
+    }
     endElement(writer);
 }
 
@@ -272,9 +279,9 @@ void ImeApplication::serialize(xmlTextWriterPtr writer)
     endElement(writer);
 }
 
-void ApplicationService::serialize(xmlTextWriterPtr writer)
+void AppControl::serialize(xmlTextWriterPtr writer)
 {
-    startElement(writer, "application-service");
+    startElement(writer, "app-control");
     FOREACH(o, this->operation)
     {
         startElement(writer, "operation");
@@ -296,5 +303,83 @@ void ApplicationService::serialize(xmlTextWriterPtr writer)
     endElement(writer);
 }
 
+void LiveBox::serialize(xmlTextWriterPtr writer)
+{
+    startElement(writer, "livebox");
+    if(!this->liveboxId.empty()) {
+        writeAttribute(writer, "appid", this->liveboxId);
+    }
+
+    if(!this->primary.empty()) {
+        writeAttribute(writer, "primary", this->primary);
+    }
+
+    if(!this->updatePeriod.empty()) {
+        writeAttribute(writer, "period", this->updatePeriod);
+    }
+
+    writeAttribute(writer, "abi", "html");
+    writeAttribute(writer, "network", "true");
+    writeAttribute(writer, "nodisplay", "false");
+
+    if(!this->label.empty()) {
+        startElement(writer, "label");
+        writeText(writer, this->label);
+        endElement(writer);
+    }
+
+    if(!this->icon.empty()) {
+        startElement(writer, "icon");
+        writeText(writer, this->icon);
+        endElement(writer);
+    }
+
+    if(!this->autoLaunch.empty()) {
+        startElement(writer, "launch");
+        writeText(writer, this->autoLaunch);
+        endElement(writer);
+    }
+
+    if(!this->box.boxSrc.empty() && !this->box.boxSize.empty())
+    {
+        startElement(writer, "box");
+        writeAttribute(writer, "type", "buffer");
+
+        FOREACH(m, this->box.boxSize)
+        {
+            std::pair<DPL::String, DPL::String> boxSize = *m;
+            startElement(writer, "size");
+            if(!boxSize.second.empty())
+                writeAttribute(writer, "preview", boxSize.second);
+            writeText(writer, boxSize.first);
+            endElement(writer);
+        }
+
+        startElement(writer, "script");
+        writeAttribute(writer, "src", this->box.boxSrc);
+        endElement(writer);
+
+        endElement(writer);
+
+        if(!this->box.pdSrc.empty() && ! this->box.pdWidth.empty() && ! this->box.pdHeight.empty()) {
+            startElement(writer, "pd");
+            writeAttribute(writer, "type", "buffer");
+
+            startElement(writer, "size");
+            DPL::String pdSize = this->box.pdWidth+DPL::String(L"x")+this->box.pdHeight;
+            writeText(writer, pdSize);
+            endElement(writer);
+
+            startElement(writer, "script");
+            writeAttribute(writer, "src", this->box.pdSrc);
+            endElement(writer);
+
+            endElement(writer);
+        }
+    }
+
+    endElement(writer);
+}
+
 } //namespace Jobs
 } //namespace WidgetInstall