1// Copyright (c) 2012 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#include "ui/aura/client/event_client.h"
6
7#include "ui/aura/window_event_dispatcher.h"
8#include "ui/aura/window_property.h"
9
10DECLARE_WINDOW_PROPERTY_TYPE(aura::client::EventClient*)
11
12namespace aura {
13namespace client {
14
15DEFINE_WINDOW_PROPERTY_KEY(EventClient*, kRootWindowEventClientKey, NULL);
16
17void SetEventClient(Window* root_window, EventClient* client) {
18  DCHECK_EQ(root_window->GetRootWindow(), root_window);
19  root_window->SetProperty(kRootWindowEventClientKey, client);
20}
21
22EventClient* GetEventClient(const Window* root_window) {
23  if (root_window)
24    DCHECK_EQ(root_window->GetRootWindow(), root_window);
25  return root_window ?
26      root_window->GetProperty(kRootWindowEventClientKey) : NULL;
27}
28
29}  // namespace client
30}  // namespace aura
31