[Release] wrt_0.8.213
[platform/framework/web/wrt.git] / src / domain / widget_model.h
index bd5d504..6c2d6c4 100644 (file)
@@ -25,6 +25,7 @@
 #include <dpl/event/model.h>
 #include <dpl/event/property.h>
 #include <dpl/optional.h>
+#include <dpl/optional_typedefs.h>
 #include <string>
 
 #include "widget_data_types.h"
@@ -47,11 +48,19 @@ class WidgetModel : public DPL::Event::Model
   public:
 
     /**
-     * @brief Widget handle
+     * @brief Tizen id
+     *
+     *  ex> "TizenIDabc.appname"
+     *
+     *  - TizenId / AppId : "TizenIDabc.appname"
+     *  - TzPkgId         : "TizenIDabc"
+     *  - App name        : "appname"
      *
-     * Note: This is a readonly property
      */
-    DPL::Event::Property<WidgetHandle, DPL::Event::PropertyReadOnly> Handle;
+    DPL::String TizenId;
+    DPL::Event::Property<WrtDB::TizenPkgId,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> TzPkgId;
 
     /**
      * @brief Widget type
@@ -59,8 +68,23 @@ class WidgetModel : public DPL::Event::Model
      * Note: This is a readonly property
      */
     DPL::Event::Property<WrtDB::WidgetType,
-    DPL::Event::PropertyReadOnly,
-    DPL::Event::PropertyStorageDynamicCached> Type;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> Type;
+
+    /**
+     * @brief Config file based csp policy
+     */
+    DPL::Event::Property<DPL::OptionalString,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> CspPolicy;
+
+    /**
+     * @brief Config file based csp policy - report only
+     */
+    DPL::Event::Property<DPL::OptionalString,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached>
+    CspReportOnlyPolicy;
 
     /**
      * @brief Current widget actual size
@@ -71,8 +95,9 @@ class WidgetModel : public DPL::Event::Model
      * @brief Current widget preferred size
      */
     DPL::Event::Property<WidgetSize,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> PreferredSize;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached>
+    PreferredSize;
 
     /**
      * @brief Start URL for widget
@@ -98,43 +123,30 @@ class WidgetModel : public DPL::Event::Model
      * Gets path in which files of widget are being kept
      */
     DPL::Event::Property<DPL::String,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> InstallPath;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> InstallPath;
 
     /**
      * @brief Path to widget's persistent storage.
      *
      * Gets path in which widget may store its persistent private data.
      */
-    DPL::Event::Property<DPL::String, DPL::Event::PropertyReadOnly> PersistentStoragePath;
+    DPL::Event::Property<DPL::String> PersistentStoragePath;
 
     /**
      * @brief Path to widget's temporary storage.
      *
      * Gets path in which widget may store its temporary private data.
      */
-    DPL::Event::Property<DPL::String, DPL::Event::PropertyReadOnly> TemporaryStoragePath;
-
-    /**
-     * @brief Widget GUID
-     */
-    DPL::Event::Property<WrtDB::WidgetGUID,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> GUID;
+    DPL::Event::Property<DPL::String> TemporaryStoragePath;
 
     /**
      * @brief Widget defaultlocale
      */
     DPL::Event::Property<DPL::OptionalString,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> defaultlocale;
-
-    /**
-     * @brief Widget version
-     */
-    DPL::Event::Property<OptionalWidgetVersion,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> Version;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached>
+    defaultlocale;
 
     /**
      * @brief Widget name
@@ -170,36 +182,16 @@ class WidgetModel : public DPL::Event::Model
      * @brief Widget splash image src
      */
     DPL::Event::Property<DPL::OptionalString,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> SplashImg;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> SplashImg;
 
     /**
      * @brief window mode
      */
     DPL::Event::Property<WrtDB::WindowModeList,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamic> WindowModes;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamic> WindowModes;
 
-    /**
-     * @brief Package name
-     */
-    DPL::Event::Property<DPL::String,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> TizenId;
-
-    /**
-     * @brief Minimum of the WAC Engine Standard required to run widget.
-     */
-    DPL::Event::Property<WidgetStandard,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> Standard;
-
-    /**
-     * @brief How much space application and its storage takes.
-     */
-    DPL::Event::Property<WidgetStorageSize,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> ApplicationStorage;
     //    /**
     //     * @brief Value of network element.
     //     */
@@ -215,40 +207,44 @@ class WidgetModel : public DPL::Event::Model
      * @brief Is back supported
      */
     DPL::Event::Property<bool,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> BackSupported;
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached>
+    BackSupported;
 
     /**
      * @brief Widget access list
      */
     DPL::Event::Property<WidgetAccessList> AccessList;
 
-    /**
-     * @brief Is this DeveloperWidget
-     */
-    DPL::Event::Property<bool,
-                  DPL::Event::PropertyReadOnly,
-                  DPL::Event::PropertyStorageDynamicCached> IsTestWidget;
-
-
     DPL::Event::Property<WidgetSettingList> SettingList;
 
     /**
-     * @brief Widget Application Service list
+     * @brief Widget app-control list
      */
-    DPL::Event::Property<WidgetApplicationServiceList> AppServiceList;
+    DPL::Event::Property<WrtDB::WidgetAppControlList> AppControlList;
+    DPL::Event::Property<DPL::OptionalUInt> AppControlIndex;
+
+    DPL::Event::Property<WrtDB::WidgetSecurityModelVersion,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> SecurityModelVersion;
+
+    DPL::Event::Property<WrtDB::SettingsType,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> SecurePopupUsage;
+    DPL::Event::Property<WrtDB::SettingsType,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> GeolocationUsage;
+    DPL::Event::Property<WrtDB::SettingsType,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> WebNotificationUsage;
+    DPL::Event::Property<WrtDB::SettingsType,
+                         DPL::Event::PropertyReadOnly,
+                         DPL::Event::PropertyStorageDynamicCached> WebStorageUsage;
 
     WidgetModel(const std::string &tizenId);
 
   private:
-    // Custom read write delegates
-    static DPL::String           readTizenId(DPL::Event::Model *model);
-    static WidgetStandard        readStandard(DPL::Event::Model *model);
-    static OptionalWidgetVersion readVersion(DPL::Event::Model *model);
-    static WidgetStorageSize     getApplicationStorage(DPL::Event::Model *model);
-    static DPL::String           getTimestamp();
-
-    WidgetHandle getHandle() const;
+    DPL::String getTizenId() const;
 };
 
 #endif // SRC_DOMAIN_WIDGET_MODEL_H