// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. #pragma once namespace CalculatorApp { public enum class NetworkAccessBehavior { Normal = 0, OptIn = 1, Offline = 2 }; public delegate void NetworkBehaviorChangedHandler(NetworkAccessBehavior behavior); public ref class NetworkManager sealed { public: NetworkManager(); static NetworkAccessBehavior GetNetworkAccessBehavior(); event NetworkBehaviorChangedHandler^ NetworkBehaviorChanged; private: ~NetworkManager(); void OnNetworkStatusChange(_In_ Platform::Object^ sender); static NetworkAccessBehavior ConvertCostInfoToBehavior(_In_ Windows::Networking::Connectivity::ConnectionCost^ connectionCost); private: Windows::Foundation::EventRegistrationToken m_NetworkStatusChangedToken; }; }