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_SHARE_SCREEN_SHARE_TRAY_ITEM_H_ 6 #define ASH_SYSTEM_CHROMEOS_SCREEN_SHARE_SCREEN_SHARE_TRAY_ITEM_H_ 7 8 #include "ash/system/chromeos/screen_security/screen_share_observer.h" 9 #include "ash/system/chromeos/screen_security/screen_tray_item.h" 10 11 namespace views { 12 class View; 13 } 14 15 namespace ash { 16 17 class ASH_EXPORT ScreenShareTrayItem : public ScreenTrayItem, 18 public ScreenShareObserver { 19 public: 20 explicit ScreenShareTrayItem(SystemTray* system_tray); 21 virtual ~ScreenShareTrayItem(); 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 ScreenShareObserver. 33 virtual void OnScreenShareStart( 34 const base::Closure& stop_callback, 35 const base::string16& helper_name) OVERRIDE; 36 virtual void OnScreenShareStop() OVERRIDE; 37 38 base::string16 helper_name_; 39 40 DISALLOW_COPY_AND_ASSIGN(ScreenShareTrayItem); 41 }; 42 43 } // namespace ash 44 45 #endif // ASH_SYSTEM_CHROMEOS_SCREEN_SHARE_SCREEN_SHARE_TRAY_ITEM_H_ 46