1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file.
4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#ifndef ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_
6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ash/system/chromeos/screen_security/screen_capture_observer.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ash/system/chromeos/screen_security/screen_tray_item.h"
10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace views {
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class View;
13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}
14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace ash {
16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass ASH_EXPORT ScreenCaptureTrayItem : public ScreenTrayItem,
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch                                         public ScreenCaptureObserver {
19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) public:
20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  explicit ScreenCaptureTrayItem(SystemTray* system_tray);
21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual ~ScreenCaptureTrayItem();
22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) private:
24bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  // Overridden from SystemTrayItem.
25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE;
26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
27bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch
28bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  // Overridden from ScreenTrayItem.
29bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  virtual void CreateOrUpdateNotification() OVERRIDE;
30bb1529ce867d8845a77ec7cdf3e3003ef1771a40Ben Murdoch  virtual std::string GetNotificationId() OVERRIDE;
31868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  // Overridden from ScreenCaptureObserver.
33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void OnScreenCaptureStart(
34868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      const base::Closure& stop_callback,
35868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)      const base::string16& screen_capture_status) OVERRIDE;
36868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual void OnScreenCaptureStop() OVERRIDE;
37868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
38868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  base::string16 screen_capture_status_;
39868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
40868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(ScreenCaptureTrayItem);
41868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)};
42868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}  // namespace ash
44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif  // ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_
46