Upstream version 9.37.195.0
[platform/framework/web/crosswalk.git] / src / xwalk / application / browser / application_tizen.h
1 // Copyright (c) 2013 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 #ifndef XWALK_APPLICATION_BROWSER_APPLICATION_TIZEN_H_
5 #define XWALK_APPLICATION_BROWSER_APPLICATION_TIZEN_H_
6
7 #include "base/event_types.h"
8 #include "xwalk/application/browser/application.h"
9
10 #if defined(USE_OZONE)
11 #include "ui/events/platform/platform_event_observer.h"
12 #include "ui/events/platform/platform_event_types.h"
13 #endif
14
15 namespace xwalk {
16 namespace application {
17
18 class ApplicationTizen :  // NOLINT
19 #if defined(USE_OZONE)
20   public ui::PlatformEventObserver,
21 #endif
22   public Application {
23  public:
24   virtual ~ApplicationTizen();
25   void Hide();
26   void Suspend();
27   void Resume();
28
29  private:
30   // We enforce ApplicationService ownership.
31   friend class ApplicationService;
32   ApplicationTizen(scoped_refptr<ApplicationData> data,
33                    RuntimeContext* context,
34                    Application::Observer* observer);
35   virtual bool Launch(const LaunchParams& launch_params) OVERRIDE;
36
37   virtual base::FilePath GetSplashScreenPath() OVERRIDE;
38
39 #if defined(USE_OZONE)
40   virtual void WillProcessEvent(const ui::PlatformEvent& event) OVERRIDE;
41   virtual void DidProcessEvent(const ui::PlatformEvent& event) OVERRIDE;
42 #endif
43
44   bool is_suspended_;
45 };
46
47 inline ApplicationTizen* ToApplicationTizen(Application* app) {
48   return static_cast<ApplicationTizen*>(app);
49 }
50
51 }  // namespace application
52 }  // namespace xwalk
53
54 #endif  // XWALK_APPLICATION_BROWSER_APPLICATION_TIZEN_H_