<module>
	<!-- This GWT module inherits all Vaadin client side functionality modules. 
		This is the module you want to inherit in your client side project to be 
		able to use com.vaadin.* classes. -->

	<!-- Hint for WidgetSetBuilder not to automatically update the file -->
	<!-- WS Compiler: manually edited -->

	<inherits name="com.google.gwt.user.User" />

	<inherits name="com.google.gwt.http.HTTP" />

	<inherits name="com.google.gwt.json.JSON" />

	<inherits name="com.vaadin.terminal.gwt.VaadinBrowserSpecificOverrides" />

	<source path="terminal/gwt/client" />

	<!-- Use own Scheduler implementation to be able to track if commands are 
		running -->
	<replace-with class="com.vaadin.terminal.gwt.client.VSchedulerImpl">
		<when-type-is class="com.google.gwt.core.client.impl.SchedulerImpl" />
	</replace-with>

	<!-- Generators for serializators for classes used in communication between 
		server and client -->
	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.SerializerMapGenerator">
		<when-type-is
			class="com.vaadin.terminal.gwt.client.communication.SerializerMap" />
	</generate-with>

	<replace-with class="com.vaadin.terminal.gwt.client.VDebugConsole">
		<when-type-is class="com.vaadin.terminal.gwt.client.Console" />
	</replace-with>

	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.EagerWidgetMapGenerator">
		<when-type-is class="com.vaadin.terminal.gwt.client.WidgetMap" />
	</generate-with>

	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.AcceptCriteriaFactoryGenerator">
		<when-type-is
			class="com.vaadin.terminal.gwt.client.ui.dd.VAcceptCriterionFactory" />
	</generate-with>

	<!-- Generate client side proxies for client to server RPC interfaces -->
	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.RpcProxyGenerator">
		<when-type-assignable
			class="com.vaadin.terminal.gwt.client.communication.ServerRpc" />
	</generate-with>

	<!-- Generate client side proxies for client to server RPC interfaces -->
	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.RpcProxyCreatorGenerator">
		<when-type-assignable
			class="com.vaadin.terminal.gwt.client.communication.RpcProxy.RpcProxyCreator" />
	</generate-with>

	<!-- Generate client side RPC manager for server to client RPC -->
	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.GeneratedRpcMethodProviderGenerator">
		<when-type-assignable
			class="com.vaadin.terminal.gwt.client.communication.GeneratedRpcMethodProvider" />
	</generate-with>

	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.ConnectorWidgetFactoryGenerator">
		<when-type-assignable
			class="com.vaadin.terminal.gwt.client.ui.ConnectorWidgetFactory" />
	</generate-with>

	<generate-with
		class="com.vaadin.terminal.gwt.widgetsetutils.ConnectorStateFactoryGenerator">
		<when-type-assignable
			class="com.vaadin.terminal.gwt.client.ui.ConnectorStateFactory" />
	</generate-with>

	<!-- Use the new cross site linker to get a nocache.js without document.write -->
	<add-linker name="xsiframe" />

</module>
