Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / ui / ozone / platform / dri / chromeos / display_message_handler.h
1 // Copyright 2014 The Chromium Authors. 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
5 #ifndef UI_OZONE_PLATFORM_DRI_CHROMEOS_DISPLAY_MESSAGE_HANDLER_H_
6 #define UI_OZONE_PLATFORM_DRI_CHROMEOS_DISPLAY_MESSAGE_HANDLER_H_
7
8 #include "base/memory/scoped_ptr.h"
9 #include "ui/ozone/public/gpu_platform_support.h"
10
11 namespace gfx {
12 class Point;
13 }
14
15 namespace ui {
16
17 class NativeDisplayDelegateDri;
18
19 struct DisplayMode_Params;
20 struct DisplaySnapshot_Params;
21
22 class DisplayMessageHandler : public GpuPlatformSupport {
23  public:
24   DisplayMessageHandler(scoped_ptr<NativeDisplayDelegateDri> ndd);
25   virtual ~DisplayMessageHandler();
26
27   // GpuPlatformSupport:
28   virtual void OnChannelEstablished(IPC::Sender* sender) OVERRIDE;
29
30   // IPC::Listener:
31   virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
32
33  private:
34   void OnForceDPMSOn();
35   void OnRefreshNativeDisplays(
36       const std::vector<DisplaySnapshot_Params>& cached_displays);
37   void OnConfigureNativeDisplay(int64_t id,
38                                 const DisplayMode_Params& mode,
39                                 const gfx::Point& origin);
40   void OnDisableNativeDisplay(int64_t id);
41
42   IPC::Sender* sender_;
43   scoped_ptr<NativeDisplayDelegateDri> ndd_;
44
45   DISALLOW_COPY_AND_ASSIGN(DisplayMessageHandler);
46 };
47
48 }  // namespace ui
49
50 #endif  // UI_OZONE_PLATFORM_DRI_CHROMEOS_DISPLAY_MESSAGE_HANDLER_H_