unified_vpn_detailed_view_controller.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2018 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. #ifndef ASH_SYSTEM_NETWORK_UNIFIED_VPN_DETAILED_VIEW_CONTROLLER_H_
  5. #define ASH_SYSTEM_NETWORK_UNIFIED_VPN_DETAILED_VIEW_CONTROLLER_H_
  6. #include <memory>
  7. #include "ash/system/unified/detailed_view_controller.h"
  8. namespace ash {
  9. class DetailedViewDelegate;
  10. class UnifiedSystemTrayController;
  11. class VPNListView;
  12. // Controller of VPN detailed view in UnifiedSystemTray.
  13. class UnifiedVPNDetailedViewController : public DetailedViewController {
  14. public:
  15. explicit UnifiedVPNDetailedViewController(
  16. UnifiedSystemTrayController* tray_controller);
  17. UnifiedVPNDetailedViewController(const UnifiedVPNDetailedViewController&) =
  18. delete;
  19. UnifiedVPNDetailedViewController& operator=(
  20. const UnifiedVPNDetailedViewController&) = delete;
  21. ~UnifiedVPNDetailedViewController() override;
  22. // DetailedViewControllerBase:
  23. views::View* CreateView() override;
  24. std::u16string GetAccessibleName() const override;
  25. private:
  26. const std::unique_ptr<DetailedViewDelegate> detailed_view_delegate_;
  27. VPNListView* view_ = nullptr;
  28. };
  29. } // namespace ash
  30. #endif // ASH_SYSTEM_NETWORK_UNIFIED_VPN_DETAILED_VIEW_CONTROLLER_H_