1// Copyright 2013 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 ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_ 6#define ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_ 7 8#include "ash/system/chromeos/screen_security/screen_capture_observer.h" 9#include "ash/system/chromeos/screen_security/screen_tray_item.h" 10 11namespace views { 12class View; 13} 14 15namespace ash { 16 17class ASH_EXPORT ScreenCaptureTrayItem : public ScreenTrayItem, 18 public ScreenCaptureObserver { 19 public: 20 explicit ScreenCaptureTrayItem(SystemTray* system_tray); 21 virtual ~ScreenCaptureTrayItem(); 22 23 private: 24 // Overridden from SystemTrayItem. 25 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE; 26 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE; 27 28 // Overridden from ScreenTrayItem. 29 virtual void CreateOrUpdateNotification() OVERRIDE; 30 virtual std::string GetNotificationId() OVERRIDE; 31 32 // Overridden from ScreenCaptureObserver. 33 virtual void OnScreenCaptureStart( 34 const base::Closure& stop_callback, 35 const base::string16& screen_capture_status) OVERRIDE; 36 virtual void OnScreenCaptureStop() OVERRIDE; 37 38 base::string16 screen_capture_status_; 39 40 DISALLOW_COPY_AND_ASSIGN(ScreenCaptureTrayItem); 41}; 42 43} // namespace ash 44 45#endif // ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_ 46