update wrt_0.8.107
[platform/framework/web/wrt.git] / src / api_new / runnable_widget_object.h
index e414173..84ba1e5 100644 (file)
 #ifndef RUNNABLE_WIDGET_OBJECT_H_
 #define RUNNABLE_WIDGET_OBJECT_H_
 
+//forward declaration
+namespace WRT {
+namespace State {
+class RunnableWidgetObjectState;
+class StateChange;
+}
+}
 
 #include <string>
-#include "i_runnable_widget_object.h"
+#include <memory>
+
+#include <common_error.h>
 #include <widget_model.h>
 #include <i_view_module.h>
-#include <string>
-#include <common_error.h>
-#include <ewk_context.h>
+#include "i_runnable_widget_object.h"
+#include <EWebKit2.h>
 
 namespace WRT {
 
@@ -48,19 +56,25 @@ public:
     void Suspend();
     void Resume();
     void Reset();
-    WidgetModelPtr GetModel();
     void ReloadStartPage();
     Evas_Object* GetCurrentWebview();
-    void SetUserCallbacks(UserCallbacksPtr cbs, void *data);
-    void GoBack();
+    void SetUserDelegates(const UserDelegatesPtr& cbs);
+    void Backward();
+    void Reload();
+    void Forward();
+
 private:
+
     bool CheckWACTestCertififedWidget();
-    void LocalizeWidgetModel();
 
     WidgetModelPtr m_widgetModel;
-    void localizeWidgetModel();
     ViewModule::IViewModulePtr m_view;
     Ewk_Context* m_ewkContext;
+    void setNewState(std::shared_ptr<WRT::State::RunnableWidgetObjectState> sptr);
+
+    std::shared_ptr<State::RunnableWidgetObjectState> m_guardstate;
+
+    friend class State::StateChange;
 };
 
 } /* namespace WRT */