[Release] wrt-installer_0.0.89
[framework/web/wrt-installer.git] / src / jobs / widget_install / manifest.h
old mode 100644 (file)
new mode 100755 (executable)
index 84894dd..ac469d2
@@ -61,6 +61,7 @@ typedef StringWithLang LabelType, IconType, DescriptionType;
 typedef DPL::String NcnameType, NmtokenType, AnySimpleType, LangType;
 typedef DPL::String OperationType, MimeType, UriType, TypeType, PackageType;
 typedef DPL::OptionalString InstallLocationType, CategoriesType;
+typedef DPL::String AppCategoryType;
 
 /**
  * xmllib2 wrappers
@@ -103,10 +104,10 @@ typedef Author AuthorType;
 /**
  * @brief application-service element
  */
-class ApplicationService
+class AppControl
 {
 public:
-    ApplicationService() {}
+    AppControl() {}
     void addOperation(const OperationType &x) { this->operation.push_back(x); }
     void addUri(const UriType &x) { this->uri.push_back(x); }
     void addMime(const MimeType &x) { this->mime.push_back(x); }
@@ -117,7 +118,7 @@ private:
     std::list<MimeType> mime; //attr name AnySimpleType
 };
 
-typedef ApplicationService ApplicationServiceType;
+typedef AppControl AppControlType;
 
 /**
  * @brief ime-application element
@@ -160,9 +161,9 @@ public:
     void setType(const TypeType &x) { this->type = x; }
     void addLabel(const LabelType &x) { this->label.push_back(x); }
     void addIcon(const IconType &x) { this->icon.push_back(x); }
-    void addApplicationService(const ApplicationServiceType &x)
+    void addAppControl(const AppControlType &x)
     {
-        this->applicationService.push_back(x);
+        this->appControl.push_back(x);
     }
     void serialize(xmlTextWriterPtr writer);
 private:
@@ -173,7 +174,7 @@ private:
     TypeType type;
     std::list<LabelType> label; //attr name AnySimpleType
     std::list<IconType> icon; //attr name AnySimpleType
-    std::list<ApplicationServiceType> applicationService; //attr name AnySimpleType
+    std::list<AppControlType> appControl; //attr name AnySimpleType
 };
 
 typedef ServiceApplication ServiceApplicationType;
@@ -195,9 +196,13 @@ public:
     void setCategories(const NcnameType &x) { this->categories = x; }
     void addLabel(const LabelType &x) { this->label.push_back(x); }
     void addIcon(const IconType &x) { this->icon.push_back(x); }
-    void addApplicationService(const ApplicationServiceType &x)
+    void addAppControl(const AppControlType &x)
     {
-        this->applicationService.push_back(x);
+        this->appControl.push_back(x);
+    }
+    void addAppCategory(const AppCategoryType &x)
+    {
+        this->appCategory.push_back(x);
     }
     void serialize(xmlTextWriterPtr writer);
 private:
@@ -211,12 +216,56 @@ private:
     CategoriesType categories;
     std::list<LabelType> label;
     std::list<IconType> icon;
-    std::list<ApplicationServiceType> applicationService;
+    std::list<AppControlType> appControl;
+    std::list<AppCategoryType> appCategory;
 };
 
 typedef UiApplication UiApplicationType;
 
 /**
+ * @brief LiveBox element
+ */
+typedef std::list<std::pair<DPL::String, DPL::String>> boxSizeType;
+
+
+struct BoxInfo
+{
+    NcnameType boxSrc;
+    boxSizeType boxSize;
+    NcnameType pdSrc;
+    NcnameType pdWidth;
+    NcnameType pdHeight;
+};
+typedef BoxInfo BoxInfoType;
+
+class LiveBox
+{
+public:
+    LiveBox() { }
+    void setLiveboxId(const NcnameType &x) { this->liveboxId = x; }
+    void setPrimary(const NcnameType &x) { this->primary = x; }
+    void setAutoLaunch(const NcnameType &x) { this->autoLaunch = x; }
+    void setUpdatePeriod(const NcnameType &x) { this->updatePeriod = x; }
+    void setLabel(const NcnameType &x) { this->label = x; }
+    void setIcon(const NcnameType &x) { this->icon = x; }
+    void setBox(const BoxInfoType &x) { this->box = x; }
+
+    void serialize(xmlTextWriterPtr writer);
+
+private:
+    NcnameType liveboxId;
+    NcnameType primary;
+    NcnameType autoLaunch;
+    NcnameType updatePeriod;
+    NcnameType timeout;
+    NcnameType label;
+    NcnameType icon;
+    BoxInfoType box;
+};
+
+typedef LiveBox LiveBoxInfo;
+
+/**
  * @brief manifest element
  *
  * Manifest xml file representation.
@@ -257,6 +306,11 @@ public:
     }
 //    void addFont(const FontType &x) { this->font.push_back(x); }
 
+    void addLivebox(const LiveBoxInfo &x)
+    {
+        this->livebox.push_back(x);
+    }
+
     void setInstallLocation(const InstallLocationType &x)
     {
         this->installLocation = x;
@@ -275,6 +329,7 @@ private:
     std::list<UiApplicationType> uiApplication;
     std::list<ImeApplicationType> imeApplication;
 //    std::list<FontType> font;
+    std::list<LiveBoxInfo> livebox;
     InstallLocationType installLocation;
     NcnameType package;
     PackageType type;