using System;

namespace SharpQuake
{
	internal interface INetDriver
	{
		string Name { get; }

		bool IsInitialized { get; }

		void Init();

		void Listen(bool state);

		void SearchForHosts(bool xmit);

		qsocket_t Connect(string host);

		qsocket_t CheckNewConnections();

		int GetMessage(qsocket_t sock);

		int SendMessage(qsocket_t sock, MsgWriter data);

		int SendUnreliableMessage(qsocket_t sock, MsgWriter data);

		bool CanSendMessage(qsocket_t sock);

		bool CanSendUnreliableMessage(qsocket_t sock);

		void Close(qsocket_t sock);

		void Shutdown();
	}
}
