<?xml version="1.0" encoding="utf-8"?>
<plugin xmlns="http://www.xptdev.com/frameworks/wordpress/plugin"
				namespace="ARV">
	<parameters>
		<factoryClass>ARV\Factory</factoryClass>
		<factoryNamespace>Factory</factoryNamespace>
		<dbVersion>0.5</dbVersion>
		<serviceModules>
			<classId>Module</classId>
		</serviceModules>
	</parameters>
	<mvc>
		<objects namespace="WPPFW\MVC">
			<object class="MVCStructure">
				<param name="module" 							value="Modules" />
				<param name="controller" 					value="Controller" />
				<param name="controllerClassId" 	value="Controller" />
				<param name="model"								value="Model" />
				<param name="modelClassId"				value="Model" />
      	<object class="MVCViewStructure">
					<param name="view" 					value="View" />
					<param name="viewClassId" 	value="View" />      	
      	</object>
			</object>
			<object class="MVCNames">
				<param name="module" 			value="module" />
				<param name="controller" 	value="controller" />
				<param name="action"			value="action" />
				<param name="format"			value="format" />
				<object class="MVCViewNames">
				  <param name="view" 			value="view" />
				  <param name="layout" 		value="layout" />
				</object>				
			</object>
			<object class="MVCParams">
				<param name="action"			value="Index" />
				<param name="format"			value="JSON" />
				<param name="controller"	value="" />
				<object class="MVCViewParams">
					<param name="format"		value="HTML" />
				  <param name="view" 			value="" />
				  <param name="layout" 		value="" />
				</object>
			</object>
		</objects>
		<types>
			<type name="Service">
				<params>WPPFW\MVC\MVCParams</params>
				<names>WPPFW\MVC\MVCNames</names>
				<structure>WPPFW\MVC\MVCStructure</structure>
			</type>
			<type name="View">
				<params>WPPFW\MVC\MVCViewParams</params>
				<names>WPPFW\MVC\MVCViewNames</names>
				<structure>WPPFW\MVC\MVCViewStructure</structure>
			</type>
		</types>
	</mvc>
	
	<services namespace="ARV\Services">
	
		<!-- Dashboard Module -->
		<service serviceObjectClass="Dashboard\MenuPages\Viewer\Page"
						 serviceFront="Viewer"
						 routerClass="WPPFW\Plugin\ServiceObjectViewRouter"
						 homeProxy="WPPFW\Services\Dashboard\Menu\Proxy">
			<proxy typeName="View" namespace="WPPFW\MVC" class="WPPFW\Services\Dashboard\Menu\Proxy" frontClass="WPPFW\Plugin\MVCViewRequestInputFrontProxy">
				<object class="MVCViewParams">
					<param name="module" 			value="Report" />
					<param name="controller" 	value="Viewer" />
					<param name="view" 				value="Viewer" />
				</object>
			</proxy>
		</service>
		<service serviceObjectClass="Dashboard\Ajax\AccessPoint"
						 serviceFront="Dashboard"
						 routerClass="WPPFW\Plugin\ServiceObjectRouter">
			<proxy typeName="Service" namespace="WPPFW\MVC" class="WPPFW\Services\Dashboard\Ajax\Proxy" frontClass="WPPFW\Plugin\MVCRequestInputFrontProxy">
				<object class="MVCParams">
					<param name="module" 			value="Report" />
					<param name="controller" 	value="ReportService" />
				</object>
			</proxy>
		</service>

		<!-- Installer Module -->
		<service serviceObjectClass="Installer\MenuPages\Installer\Page"
						 serviceFront="Installer"
						 routerClass="WPPFW\Plugin\ServiceObjectViewRouter"
						 homeProxy="WPPFW\Services\Dashboard\Menu\Proxy">
			<proxy typeName="View" namespace="WPPFW\MVC" class="WPPFW\Services\Dashboard\Menu\Proxy" frontClass="WPPFW\Plugin\MVCViewRequestInputFrontProxy">
				<object class="MVCViewParams">
					<param name="module" 			value="Installer" />
					<param name="view" 				value="Installer" />
				</object>
			</proxy>
		</service>
		<service serviceObjectClass="Installer\Ajax\AccessPoint"
						 serviceFront="Installer"
						 routerClass="WPPFW\Plugin\ServiceObjectRouter">
			<proxy typeName="Service" namespace="WPPFW\MVC" class="WPPFW\Services\Dashboard\Ajax\Proxy" frontClass="WPPFW\Plugin\MVCRequestInputFrontProxy" />
		</service>

		<models>
			<model id="ARV\Modules\Installer\Model\InstallerModel">
				<stateType>WPPFW\MVC\Model\State\GlobalWPOptionsModelState</stateType>
			</model>
			<model id="ARV\Modules\Report\Model\ViewerModel">
				<stateType>WPPFW\MVC\Model\State\GlobalWPOptionsModelState</stateType>
			</model>
		</models>

	</services>

</plugin>