network_detailed_network_view_impl.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright 2022 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_NETWORK_DETAILED_NETWORK_VIEW_IMPL_H_
  5. #define ASH_SYSTEM_NETWORK_NETWORK_DETAILED_NETWORK_VIEW_IMPL_H_
  6. #include "ash/ash_export.h"
  7. #include "ash/system/network/network_detailed_network_view.h"
  8. #include "ash/system/network/network_list_mobile_header_view_impl.h"
  9. #include "ash/system/network/network_list_network_item_view.h"
  10. #include "ash/system/network/network_list_wifi_header_view_impl.h"
  11. #include "ui/base/metadata/metadata_impl_macros.h"
  12. #include "ui/views/view.h"
  13. namespace ash {
  14. class DetailedViewDelegate;
  15. // This class is an implementation for NetworkDetailedNetworkView.
  16. class ASH_EXPORT NetworkDetailedNetworkViewImpl
  17. : public NetworkDetailedView,
  18. public NetworkDetailedNetworkView,
  19. public NetworkListNetworkHeaderView::Delegate {
  20. public:
  21. METADATA_HEADER(NetworkDetailedNetworkViewImpl);
  22. NetworkDetailedNetworkViewImpl(
  23. DetailedViewDelegate* detailed_view_delegate,
  24. NetworkDetailedNetworkView::Delegate* delegate);
  25. NetworkDetailedNetworkViewImpl(const NetworkDetailedNetworkViewImpl&) =
  26. delete;
  27. NetworkDetailedNetworkViewImpl& operator=(
  28. const NetworkDetailedNetworkViewImpl&) = delete;
  29. ~NetworkDetailedNetworkViewImpl() override;
  30. private:
  31. friend class NetworkDetailedNetworkViewTest;
  32. // NetworkDetailedNetworkView:
  33. void NotifyNetworkListChanged() override;
  34. views::View* GetAsView() override;
  35. NetworkListNetworkItemView* AddNetworkListItem() override;
  36. NetworkListMobileHeaderView* AddMobileSectionHeader() override;
  37. NetworkListWifiHeaderView* AddWifiSectionHeader() override;
  38. void UpdateScanningBarVisibility(bool visible) override;
  39. views::View* network_list() override;
  40. // NetworkListNetworkHeaderView::Delegate:
  41. void OnMobileToggleClicked(bool new_state) override;
  42. void OnWifiToggleClicked(bool new_state) override;
  43. };
  44. } // namespace ash
  45. #endif // ASH_SYSTEM_NETWORK_NETWORK_DETAILED_NETWORK_VIEW_H_