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 MOJO_SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_SERVICE_IMPL_H_ 6#define MOJO_SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_SERVICE_IMPL_H_ 7 8#include "base/basictypes.h" 9#include "mojo/services/public/cpp/view_manager/types.h" 10#include "mojo/services/public/interfaces/window_manager/window_manager.mojom.h" 11 12namespace mojo { 13 14class WindowManagerApp; 15 16class WindowManagerServiceImpl : public InterfaceImpl<WindowManagerService> { 17 public: 18 explicit WindowManagerServiceImpl(WindowManagerApp* manager); 19 virtual ~WindowManagerServiceImpl(); 20 21 void NotifyReady(); 22 void NotifyViewFocused(Id new_focused_id, Id old_focused_id); 23 void NotifyWindowActivated(Id new_active_id, Id old_active_id); 24 25 private: 26 // Overridden from WindowManagerService: 27 virtual void SetCapture(Id view, 28 const Callback<void(bool)>& callback) MOJO_OVERRIDE; 29 virtual void FocusWindow(Id view, 30 const Callback<void(bool)>& callback) MOJO_OVERRIDE; 31 virtual void ActivateWindow( 32 Id view, 33 const Callback<void(bool)>& callback) MOJO_OVERRIDE; 34 35 // Overridden from InterfaceImpl: 36 virtual void OnConnectionEstablished() MOJO_OVERRIDE; 37 38 WindowManagerApp* window_manager_; 39 40 DISALLOW_COPY_AND_ASSIGN(WindowManagerServiceImpl); 41}; 42 43} // namespace mojo 44 45#endif // MOJO_SERVICES_WINDOW_MANAGER_WINDOW_MANAGER_SERVICE_IMPL_H_ 46