Upstream version 8.37.186.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / common / application_data.h
index 28d732c..e3e746b 100644 (file)
@@ -65,8 +65,8 @@ class ApplicationData : public base::RefCountedThreadSafe<ApplicationData> {
       const std::string& explicit_id,
       std::string* error_message);
 
-  // Checks to see if the application has a valid ID.
-  static bool IsIDValid(const std::string& id);
+  static scoped_refptr<ApplicationData> Create(const GURL& url,
+                                               std::string* error_message);
 
   Manifest::Type GetType() const;
 
@@ -105,18 +105,11 @@ class ApplicationData : public base::RefCountedThreadSafe<ApplicationData> {
   const std::string& Name() const { return name_; }
   const std::string& NonLocalizedName() const { return non_localized_name_; }
   const std::string& Description() const { return description_; }
-  int ManifestVersion() const { return manifest_version_; }
 
   const Manifest* GetManifest() const {
     return manifest_.get();
   }
 
-  // System events
-  void SetEvents(const std::set<std::string>& events);
-  const std::set<std::string>& GetEvents() const;
-
-  bool IsDirty() const { return is_dirty_; }
-
   const base::Time& install_time() const { return install_time_; }
 
   // App-related.
@@ -125,43 +118,37 @@ class ApplicationData : public base::RefCountedThreadSafe<ApplicationData> {
 
   // Permission related.
   StoredPermission GetPermission(
-      std::string& permission_name) const;
+      const std::string& permission_name) const;
   bool SetPermission(const std::string& permission_name,
                      StoredPermission perm);
   void ClearPermissions();
   PermissionSet GetManifestPermissions() const;
 
-  bool HasMainDocument() const;
-  Manifest::PackageType GetPackageType() const;
+  Package::Type GetPackageType() const { return package_type_; }
 
-#if defined(OS_TIZEN)
   bool HasCSPDefined() const;
-#endif
+
+  bool SetApplicationLocale(const std::string& locale, base::string16* error);
 
  private:
   friend class base::RefCountedThreadSafe<ApplicationData>;
   friend class ApplicationStorageImpl;
 
-  // Chooses the application ID for an application based on a variety of
-  // criteria. The chosen ID will be set in |manifest|.
-  static bool InitApplicationID(Manifest* manifest,
-                              const base::FilePath& path,
-                              const std::string& explicit_id,
-                              base::string16* error);
-
   ApplicationData(const base::FilePath& path,
             scoped_ptr<Manifest> manifest);
   virtual ~ApplicationData();
 
   // Initialize the application from a parsed manifest.
-  bool Init(base::string16* error);
+  bool Init(const std::string& explicit_id, base::string16* error);
 
+  // Chooses the application ID for an application based on a variety of
+  // criteria. The chosen ID will be set in |manifest|.
+  bool LoadID(const std::string& explicit_id, base::string16* error);
   // The following are helpers for InitFromValue to load various features of the
   // application from the manifest.
   bool LoadName(base::string16* error);
   bool LoadVersion(base::string16* error);
   bool LoadDescription(base::string16* error);
-  bool LoadManifestVersion(base::string16* error);
 
   // The application's human-readable name. Name is used for display purpose. It
   // might be wrapped with unicode bidi control characters so that it is
@@ -222,6 +209,9 @@ class ApplicationData : public base::RefCountedThreadSafe<ApplicationData> {
   // Application's persistent permissions.
   StoredPermissionMap permission_map_;
 
+  // The package type, wgt or xpk.
+  Package::Type package_type_;
+
   DISALLOW_COPY_AND_ASSIGN(ApplicationData);
 };