Home | History | Annotate | Download | only in enterprise
      1 // Copyright (c) 2012 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_ENTERPRISE_TRAY_ENTERPRISE_H
      6 #define ASH_SYSTEM_CHROMEOS_ENTERPRISE_TRAY_ENTERPRISE_H
      7 
      8 #include "ash/system/chromeos/enterprise/enterprise_domain_observer.h"
      9 #include "ash/system/tray/system_tray_item.h"
     10 #include "ash/system/tray/view_click_listener.h"
     11 
     12 namespace ash {
     13 class SystemTray;
     14 }
     15 
     16 namespace ash {
     17 class LabelTrayView;
     18 
     19 class TrayEnterprise : public SystemTrayItem,
     20                        public ViewClickListener,
     21                        public EnterpriseDomainObserver {
     22  public:
     23   explicit TrayEnterprise(SystemTray* system_tray);
     24   virtual ~TrayEnterprise();
     25 
     26   // If message is not empty updates content of default view, otherwise hides
     27   // tray items.
     28   void UpdateEnterpriseMessage();
     29 
     30   // Overridden from SystemTrayItem.
     31   virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
     32   virtual void DestroyDefaultView() OVERRIDE;
     33 
     34   // Overridden from EnterpriseDomainObserver.
     35   virtual void OnEnterpriseDomainChanged() OVERRIDE;
     36 
     37   // Overridden from ViewClickListener.
     38   virtual void OnViewClicked(views::View* sender) OVERRIDE;
     39 
     40  private:
     41   LabelTrayView* tray_view_;
     42 
     43   DISALLOW_COPY_AND_ASSIGN(TrayEnterprise);
     44 };
     45 
     46 } // namespace ash
     47 
     48 #endif  // ASH_SYSTEM_CHROMEOS_ENTERPRISE_TRAY_ENTERPRISE_H
     49 
     50