using MediaBrowser.Model.IO;
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();
///
/// Determines whether [is in private address space] [the specified endpoint].
///
/// The endpoint.
/// true if [is in private address space] [the specified endpoint]; otherwise, false.
bool IsInPrivateAddressSpace(string endpoint);
///
/// 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);
///
/// Determines whether [is in local network] [the specified endpoint].
///
/// The endpoint.
/// true if [is in local network] [the specified endpoint]; otherwise, false.
bool IsInLocalNetwork(string endpoint);
///
/// Generates a self signed certificate at the locatation specified by .
///
/// The path to generate the certificate.
/// The common name for the certificate.
void GenerateSelfSignedSslCertificate(string certificatePath, string hostname);
}
}