Imported Upstream version 4.6.0.125

Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
This commit is contained in:
Xamarin Public Jenkins (auto-signing)
2016-08-03 10:59:49 +00:00
parent a569aebcfd
commit e79aa3c0ed
17047 changed files with 3137615 additions and 392334 deletions

View File

@ -41,15 +41,11 @@ using System.IO;
using System.Globalization;
namespace System.Net.NetworkInformation {
public abstract class NetworkInterface {
static class SystemNetworkInterface {
static readonly NetworkInterfaceFactory nif = NetworkInterfaceFactory.Create ();
protected NetworkInterface ()
{
}
public static NetworkInterface [] GetAllNetworkInterfaces ()
public static NetworkInterface [] GetNetworkInterfaces ()
{
try {
return nif.GetAllNetworkInterfaces ();
@ -58,36 +54,28 @@ namespace System.Net.NetworkInformation {
}
}
[MonoTODO("Always returns true")]
public static bool GetIsNetworkAvailable ()
public static bool InternalGetIsNetworkAvailable ()
{
// TODO:
return true;
}
public static int LoopbackInterfaceIndex {
public static int InternalLoopbackInterfaceIndex {
get {
return nif.GetLoopbackInterfaceIndex ();
}
}
public static int InternalIPv6LoopbackInterfaceIndex {
get {
throw new NotImplementedException ();
}
}
public static IPAddress GetNetMask (IPAddress address)
{
return nif.GetNetMask (address);
}
public abstract IPInterfaceProperties GetIPProperties ();
public abstract IPv4InterfaceStatistics GetIPv4Statistics ();
public abstract PhysicalAddress GetPhysicalAddress ();
public abstract bool Supports (NetworkInterfaceComponent networkInterfaceComponent);
public abstract string Description { get; }
public abstract string Id { get; }
public abstract bool IsReceiveOnly { get; }
public abstract string Name { get; }
public abstract NetworkInterfaceType NetworkInterfaceType { get; }
public abstract OperationalStatus OperationalStatus { get; }
public abstract long Speed { get; }
public abstract bool SupportsMulticast { get; }
}
abstract class NetworkInterfaceFactory