2 * Copyright (c) 2015 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 #ifndef XWALK_RUNTIME_BROWSER_UI_RUNTIME_H_
18 #define XWALK_RUNTIME_BROWSER_UI_RUNTIME_H_
23 #include "common/application_data.h"
24 #include "runtime/browser/runtime.h"
25 #include "runtime/browser/native_window.h"
26 #include "runtime/browser/web_application.h"
32 class UiRuntime : public Runtime {
34 UiRuntime(common::ApplicationData* app_data);
37 virtual int Exec(int argc, char* argv[]);
40 virtual bool OnCreate();
41 virtual void OnTerminate();
42 virtual void OnPause();
43 virtual void OnResume();
44 virtual void OnAppControl(app_control_h app_control);
45 virtual void OnLanguageChanged(const std::string& language);
46 virtual void OnLowMemory();
49 void ResetWebApplication(NativeWindow::Type windowType);
51 std::unique_ptr<NativeWindow> native_window_;
52 std::unique_ptr<WebApplication> application_;
53 Ewk_Context* context_;
54 common::ApplicationData* app_data_;
57 } // namespace runtime
59 #endif // XWALK_RUNTIME_BROWSER_UI_RUNTIME_H_