using MediaBrowser.Model.Net;
using System.Collections.Generic;
using System.Net;
namespace MediaBrowser.Common.Net
{
    public interface INetworkManager
    {
        /// 
        /// Gets the machine's local ip address
        /// 
        /// IPAddress.
        IEnumerable GetLocalIpAddresses();
        /// 
        /// Gets a random port number that is currently available
        /// 
        /// System.Int32.
        int GetRandomUnusedPort();
        /// 
        /// Returns MAC Address from first Network Card in Computer
        /// 
        /// [string] MAC Address
        string GetMacAddress();
        /// 
        /// Gets the network shares.
        /// 
        /// The path.
        /// IEnumerable{NetworkShare}.
        IEnumerable GetNetworkShares(string path);
        /// 
        /// Gets available devices within the domain
        /// 
        /// PC's in the Domain
        IEnumerable GetNetworkDevices();
        /// 
        /// Parses the specified endpointstring.
        /// 
        /// The endpointstring.
        /// IPEndPoint.
        IPEndPoint Parse(string endpointstring);
    }
}