123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- using System;
- using System.Collections.Generic;
- using System.Net.NetworkInformation;
- using Vinno.FIS.Sonopost.Features.Network;
- namespace Vinno.FIS.Sonopost.Managers.Interfaces
- {
- internal interface INetworkManager : ISonopostManager
- {
- /// <summary>
- /// 当前显示的网络改变时触发
- /// </summary>
- event EventHandler<NetworkInterfaceInfo> CurrentNetworkChanged;
- /// <summary>
- /// 当WIFI Level改变时触发
- /// </summary>
- event EventHandler<int> CurrentWifiLevelChanged;
- /// <summary>
- /// 当前选择的网络
- /// </summary>
- NetworkInterfaceInfo CurrentNetwork { get; }
- /// <summary>
- /// 当前Wifi强度
- /// </summary>
- int CurrentWifiLevel { get; }
- /// <summary>
- /// 设置网络
- /// </summary>
- /// <param name="macAddress"></param>
- /// <param name="enableDhcp"></param>
- /// <param name="ip"></param>
- /// <param name="subnetMask"></param>
- /// <param name="gateway"></param>
- /// <param name="preferredDns"></param>
- /// <param name="standbyDns"></param>
- bool SetNetworkInfo(string macAddress, bool enableDhcp, string ip = "", string subnetMask = "", string gateway = "", string preferredDns = "", string standbyDns = "");
- /// <summary>
- /// 刷新DNS
- /// </summary>
- bool FlushDns();
- /// <summary>
- /// 重置Winsock
- /// </summary>
- bool ResetWinSock();
- /// <summary>
- /// Ping ip
- /// </summary>
- /// <param name="address"></param>
- /// <returns></returns>
- IPStatus Ping(string address, int timeOut = 5000);
- /// <summary>
- /// 设置双网卡
- /// </summary>
- /// <param name="outsideMacAddress"></param>
- /// <returns></returns>
- bool SetDualNetwork(string outsideMacAddress);
- /// <summary>
- /// 保存双网卡设置
- /// </summary>
- /// <param name="outsideMacAddress">外网网卡地址</param>
- /// <returns></returns>
- SetDualNetworkResult SetDualNetworkEnable(string outsideMacAddress);
- /// <summary>
- /// 取消双网卡设置
- /// </summary>
- /// <returns></returns>
- SetDualNetworkResult SetDualNetworkDisable();
- /// <summary>
- /// 所有网络列表
- /// </summary>
- IList<NetworkInterfaceInfo> GetAllNetworkInterfaceInfos();
- /// <summary>
- ///
- /// </summary>
- /// <param name="sender"></param>
- /// <param name="e"></param>
- void OnNetworkAddressChanged(object sender, EventArgs e);
- /// <summary>
- /// 刷新网络
- /// </summary>
- void RefreshAllNetworks(bool wifiScan);
- }
- }
|