diff options
| author | BaronGreenback <jimcartlidge@yahoo.co.uk> | 2020-04-29 12:24:01 +0100 |
|---|---|---|
| committer | BaronGreenback <jimcartlidge@yahoo.co.uk> | 2020-04-29 12:24:01 +0100 |
| commit | 8a69300bf55bdf323ceabf68b2888dab3040e883 (patch) | |
| tree | d3932acf371a9bd834db761968642232c2467b9d /MediaBrowser.Common/Net | |
| parent | ebd589aa86abb7bdbc9ab981cb8f4c908f790ac1 (diff) | |
| parent | a0a5512069a56c64d4cf2556f4c04633bda2d120 (diff) | |
Changes styles as suggested by @barronpm
Added addtional comments & source type as per intellisense suggestion
change code as per sonacloud
Diffstat (limited to 'MediaBrowser.Common/Net')
| -rw-r--r-- | MediaBrowser.Common/Net/INetworkManager.cs | 49 |
1 files changed, 46 insertions, 3 deletions
diff --git a/MediaBrowser.Common/Net/INetworkManager.cs b/MediaBrowser.Common/Net/INetworkManager.cs index b7ec1d122..19314ada8 100644 --- a/MediaBrowser.Common/Net/INetworkManager.cs +++ b/MediaBrowser.Common/Net/INetworkManager.cs @@ -11,14 +11,21 @@ namespace MediaBrowser.Common.Net { event EventHandler NetworkChanged; + /// <summary> + /// Contains a function to return the list of user defined LAN addresses + /// </summary> Func<string[]> LocalSubnetsFn { get; set; } /// <summary> - /// Gets a random port number that is currently available. + /// Gets a random port TCP number that is currently available. /// </summary> /// <returns>System.Int32.</returns> int GetRandomUnusedTcpPort(); + /// <summary> + /// Gets a random port UDP number that is currently available. + /// </summary> + /// <returns>System.Int32.</returns> int GetRandomUnusedUdpPort(); /// <summary> @@ -35,20 +42,56 @@ namespace MediaBrowser.Common.Net bool IsInPrivateAddressSpace(string endpoint); /// <summary> + /// Determines whether [is in private address space 10.x.x.x] [the specified endpoint] and exists in the subnets returned by GetSubnets(). + /// </summary> + /// <param name="endpoint">The endpoint.</param> + /// <returns><c>true</c> if [is in private address space 10.x.x.x] [the specified endpoint]; otherwise, <c>false</c>.</returns> + bool IsInPrivateAddressSpaceAndLocalSubnet(string endpoint); + + /// <summary> /// Determines whether [is in local network] [the specified endpoint]. /// </summary> /// <param name="endpoint">The endpoint.</param> /// <returns><c>true</c> if [is in local network] [the specified endpoint]; otherwise, <c>false</c>.</returns> bool IsInLocalNetwork(string endpoint); - + + /// <summary> + /// Investigates an caches a list of interface addresses, excluding local link and LAN excluded addresses + /// </summary> + /// <returns>The list of ipaddresses</returns> IPAddress[] GetLocalIpAddresses(); - + + /// <summary> + /// Checks if the give address false within the ranges givin in [subnets]. The addresses in subnets can be hosts or subnets in the CIDR format. + /// </summary> + /// <param name="addressString">The address to check</param> + /// <param name="subnets">If true, check against addresses in the LAN settings which have [] arroud and return true if it matches the address give in address</param> + /// <returns><c>false</c>if the address isn't in the subnets, <c>true</c> otherwise</returns> bool IsAddressInSubnets(string addressString, string[] subnets); + /// <summary> + /// Returns true if address is in the LAN list in the config file + /// </summary> + /// <param name="address">The address to check</param> + /// <param name="excludeInterfaces">If true, check against addresses in the LAN settings which have [] arroud and return true if it matches the address give in address</param> + /// <param name="excludeRFC">If true, returns false if address is in the 127.x.x.x or 169.128.x.x range</param> + /// <returns><c>false</c>if the address isn't in the LAN list, <c>true</c> if the address has been defined as a LAN address</returns> bool IsAddressInSubnets(IPAddress address, bool excludeInterfaces, bool excludeRFC); + /// <summary> + /// Checks if address is in the LAN list in the config file + /// </summary> + /// <param name="address1">Source address to check</param> + /// <param name="address2">Destination address to check against</param> + /// <param name="subnetMask">Destination subnet to check against</param> + /// <returns><c>true/false</c>depending on whether address1 is in the same subnet as IPAddress2 with subnetMas</returns> bool IsInSameSubnet(IPAddress address1, IPAddress address2, IPAddress subnetMask); + /// <summary> + /// Returns the subnet mask of an interface with the given address + /// </summary> + /// <param name="address">The address to check</param> + /// <returns>Returns the subnet mask of an interface with the given address, or null if an interface match cannot be found</returns> IPAddress GetLocalIpSubnetMask(IPAddress address); } } |
