#ifndef EABASETYPESHTTP_PROXYHTTPPLUGIN_H_
#define EABASETYPESHTTP_PROXYHTTPPLUGIN_H_

#include "EABaseTypes/autoref.h"
#include "EABaseTypesPlus/irefcounted.h"

namespace EA
{
	namespace Internet
	{
		class HTTPServer;
	}

	namespace Types
	{
		EABASETYPES_FORWARD_DECLARATION(class, MessageProxy)
	}
}

namespace EA
{
	namespace Types
	{
		class Factory;

		EABASETYPES_FORWARD_DECLARATION(class, ProxyHTTPPlugin)

		class ProxyHTTPPlugin : public EA::Types::IRefCounted
		{
		public:

			static ProxyHTTPPluginReturn Create(EA::Types::Factory* factory, 
												EA::Internet::HTTPServer* server,
												EA::Types::MessageProxyIn remoteProxy,
												const char* urlBranch);
		};
	}
}

#endif /* EABASETYPESHTTP_PROXYHTTPPLUGIN_H_ */
