aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Model/Net/IpAddressInfo.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Model/Net/IpAddressInfo.cs')
-rw-r--r--MediaBrowser.Model/Net/IpAddressInfo.cs37
1 files changed, 37 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Net/IpAddressInfo.cs b/MediaBrowser.Model/Net/IpAddressInfo.cs
new file mode 100644
index 000000000..520f8fb54
--- /dev/null
+++ b/MediaBrowser.Model/Net/IpAddressInfo.cs
@@ -0,0 +1,37 @@
+using System;
+
+namespace MediaBrowser.Model.Net
+{
+ public class IpAddressInfo
+ {
+ public static IpAddressInfo Any = new IpAddressInfo("0.0.0.0", IpAddressFamily.InterNetwork);
+ public static IpAddressInfo IPv6Any = new IpAddressInfo("00000000000000000000", IpAddressFamily.InterNetworkV6);
+ public static IpAddressInfo Loopback = new IpAddressInfo("127.0.0.1", IpAddressFamily.InterNetwork);
+ public static IpAddressInfo IPv6Loopback = new IpAddressInfo("::1", IpAddressFamily.InterNetworkV6);
+
+ public string Address { get; set; }
+ public IpAddressFamily AddressFamily { get; set; }
+
+ public IpAddressInfo(string address, IpAddressFamily addressFamily)
+ {
+ Address = address;
+ AddressFamily = addressFamily;
+ }
+
+ public bool Equals(IpAddressInfo address)
+ {
+ return string.Equals(address.Address, Address, StringComparison.OrdinalIgnoreCase);
+ }
+
+ public override String ToString()
+ {
+ return Address;
+ }
+ }
+
+ public enum IpAddressFamily
+ {
+ InterNetwork,
+ InterNetworkV6
+ }
+}