#ifndef ASH_SYSTEM_NETWORK_NETWORK_UTILS_H_
#define ASH_SYSTEM_NETWORK_NETWORK_UTILS_H_
#include "ash/ash_export.h"
#include "chromeos/services/network_config/public/mojom/cros_network_config.mojom.h"
#include "third_party/abseil-cpp/absl/types/optional.h"
namespace ash {
enum class NetworkRowClickedAction {
kConnectToNetwork = 0,
kOpenNetworkSettingsPage = 1,
kOpenSimUnlockDialog = 2,
kOpenPortalSignin = 3,
kMaxValue = kOpenPortalSignin
};
enum class DetailedViewSection {
kWifiSection = 0,
kMobileSection = 1,
kEthernetSection = 2,
kDetailedSection = 3,
kMaxValue = kDetailedSection
};
ASH_EXPORT void RecordNetworkRowClickedAction(NetworkRowClickedAction action);
ASH_EXPORT void RecordDetailedViewSection(DetailedViewSection section);
ASH_EXPORT void RecordNetworkTypeToggled(
chromeos::network_config::mojom::NetworkType network_type,
bool new_state);
ASH_EXPORT absl::optional<std::u16string> GetPortalStateSubtext(
const chromeos::network_config::mojom::PortalState& portal_state);
ASH_EXPORT bool IsNetworkDisabled(
const chromeos::network_config::mojom::NetworkStatePropertiesPtr&
network_properties);
ASH_EXPORT bool IsNetworkInhibited(
const chromeos::network_config::mojom::NetworkStatePropertiesPtr&
network_properties);
}
#endif