unified_cast_detailed_view_controller.h 1.4 KB

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