2 * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 * @file core_module.cpp
18 * @author Przemyslaw Ciezkowski (p.ciezkowski@samsung.com)
20 * @brief File contains defitinions of RunnableWidgetObject implementation.
23 #ifndef RUNNABLE_WIDGET_OBJECT_H_
24 #define RUNNABLE_WIDGET_OBJECT_H_
29 class RunnableWidgetObjectState;
37 #include <widget_model.h>
38 #include <i_view_module.h>
39 #include "i_runnable_widget_object.h"
44 class RunnableWidgetObject : public IRunnableWidgetObject
47 RunnableWidgetObject(WidgetModelPtr &model, Ewk_Context* context);
48 virtual ~RunnableWidgetObject();
50 bool CheckBeforeLaunch();
51 bool PrepareView(const std::string &startUrl,
53 void Show(); //asynchronous function
58 void ReloadStartPage();
59 Evas_Object* GetCurrentWebview();
60 void SetUserDelegates(const UserDelegatesPtr& cbs);
62 void FireJavascriptEvent(int event, void* data);
66 bool CheckWACTestCertififedWidget();
68 WidgetModelPtr m_widgetModel;
69 ViewModule::IViewModulePtr m_view;
70 Ewk_Context* m_ewkContext;
71 void setNewState(std::shared_ptr<WRT::State::RunnableWidgetObjectState> sptr);
73 std::shared_ptr<State::RunnableWidgetObjectState> m_guardstate;
75 friend class State::StateChange;
79 #endif /* RUNNABLE_WIDGET_OBJECT_H_ */