blob: 92f6c8a71175cdabb5ccf662957a0018b180e8fd [file] [log] [blame]
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +01001// 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 {
16namespace internal {
17
Ben Murdocheb525c52013-07-10 11:40:50 +010018class ASH_EXPORT ScreenCaptureTrayItem : public ScreenTrayItem,
19 public ScreenCaptureObserver {
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010020 public:
21 explicit ScreenCaptureTrayItem(SystemTray* system_tray);
22 virtual ~ScreenCaptureTrayItem();
23
24 private:
Ben Murdochbb1529c2013-08-08 10:24:53 +010025 // Overridden from SystemTrayItem.
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010026 virtual views::View* CreateTrayView(user::LoginStatus status) OVERRIDE;
27 virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
Ben Murdochbb1529c2013-08-08 10:24:53 +010028
29 // Overridden from ScreenTrayItem.
30 virtual void CreateOrUpdateNotification() OVERRIDE;
31 virtual std::string GetNotificationId() OVERRIDE;
Torne (Richard Coles)868fa2f2013-06-11 10:57:03 +010032
33 // Overridden from ScreenCaptureObserver.
34 virtual void OnScreenCaptureStart(
35 const base::Closure& stop_callback,
36 const base::string16& screen_capture_status) OVERRIDE;
37 virtual void OnScreenCaptureStop() OVERRIDE;
38
39 base::string16 screen_capture_status_;
40
41 DISALLOW_COPY_AND_ASSIGN(ScreenCaptureTrayItem);
42};
43
44} // namespace internal
45} // namespace ash
46
47#endif // ASH_SYSTEM_CHROMEOS_SCREEN_CAPTURE_SCREEN_CAPTURE_TRAY_ITEM_H_