Upstream version 6.34.113.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / extension / application_widget_extension.h
index 25afa99..b37ddc4 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <string>
 
+#include "xwalk/extensions/browser/xwalk_extension_function_handler.h"
 #include "xwalk/extensions/common/xwalk_extension.h"
 
 namespace xwalk {
@@ -14,6 +15,8 @@ namespace application {
 class Application;
 
 using extensions::XWalkExtension;
+using extensions::XWalkExtensionFunctionHandler;
+using extensions::XWalkExtensionFunctionInfo;
 using extensions::XWalkExtensionInstance;
 
 class ApplicationWidgetExtension : public XWalkExtension {
@@ -30,12 +33,25 @@ class ApplicationWidgetExtension : public XWalkExtension {
 class AppWidgetExtensionInstance : public XWalkExtensionInstance {
  public:
   explicit AppWidgetExtensionInstance(Application* application);
+  virtual ~AppWidgetExtensionInstance();
 
   virtual void HandleMessage(scoped_ptr<base::Value> msg) OVERRIDE;
   virtual void HandleSyncMessage(scoped_ptr<base::Value> msg) OVERRIDE;
 
  private:
+  scoped_ptr<base::StringValue> GetWidgetInfo(scoped_ptr<base::Value> msg);
+  scoped_ptr<base::FundamentalValue> SetPreferencesItem(
+      scoped_ptr<base::Value> mgs);
+  scoped_ptr<base::FundamentalValue> RemovePreferencesItem(
+      scoped_ptr<base::Value> mgs);
+  scoped_ptr<base::FundamentalValue> ClearAllItems(scoped_ptr<base::Value> mgs);
+  scoped_ptr<base::DictionaryValue> GetAllItems(scoped_ptr<base::Value> mgs);
+  scoped_ptr<base::FundamentalValue> KeyExists(
+      scoped_ptr<base::Value> mgs) const;
+
   Application* application_;
+  scoped_ptr<class AppWidgetStorage> widget_storage_;
+  XWalkExtensionFunctionHandler handler_;
 };
 
 }  // namespace application