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 namespace internal {
     18 
     19 class LabelTrayView;
     20 
     21 class TrayEnterprise : public SystemTrayItem,
     22                        public ViewClickListener,
     23                        public EnterpriseDomainObserver {
     24  public:
     25   explicit TrayEnterprise(SystemTray* system_tray);
     26   virtual ~TrayEnterprise();
     27 
     28   // If message is not empty updates content of default view, otherwise hides
     29   // tray items.
     30   void UpdateEnterpriseMessage();
     31 
     32   // Overridden from SystemTrayItem.
     33   virtual views::View* CreateDefaultView(user::LoginStatus status) OVERRIDE;
     34   virtual void DestroyDefaultView() OVERRIDE;
     35 
     36   // Overridden from EnterpriseDomainObserver.
     37   virtual void OnEnterpriseDomainChanged() OVERRIDE;
     38 
     39   // Overridden from ViewClickListener.
     40   virtual void OnViewClicked(views::View* sender) OVERRIDE;
     41 
     42  private:
     43   LabelTrayView* tray_view_;
     44 
     45   DISALLOW_COPY_AND_ASSIGN(TrayEnterprise);
     46 };
     47 
     48 } // namespace internal
     49 } // namespace ash
     50 
     51 #endif  // ASH_SYSTEM_CHROMEOS_ENTERPRISE_TRAY_ENTERPRISE_H
     52 
     53