<?xml version="1.0" encoding="UTF-8" ?>

<components>

<component name="logfile"
           class="SyL_Logger"
           reference="true"
           file="framework/SyL_Logger.php"
           priority="1">
  <constructor static="getLogger">
    <arg>file</arg>
  </constructor>
  <method name="open">
    <arg type="constant">SYL_LOG_FILE</arg>
  </method>
</component>

<component name="log"
           class="SyL_Loggers"
           reference="true"
           file="framework/SyL_Loggers.php"
           priority="2">
  <constructor static="getInstance" />

  <setter name="logger" direct="false">
    <arg type="component" reference="true">logfile</arg>
    <arg type="constant">SYL_DEBUG</arg>
  </setter>
  <method name="close" event="finalStream" />
</component>

<component name="request"
           class="SyL_Request" 
           reference="true"
           file="framework/SyL_Request.php"
           priority="2">
  <constructor static="getInstance" />
</component>

<component name="response"
           class="SyL_Response" 
           reference="true"
           file="framework/SyL_Response.php"
           priority="2">
  <constructor static="getInstance" />
  <method name="display" event="renderStream">
    <arg type="component" reference="true">view</arg>
  </method>
</component>

<component name="router"
           class="SyL_Router" 
           reference="true"
           file="framework/SyL_Router.php"
           priority="3">
  <constructor static="getObject">
    <arg type="component" reference="true">request</arg>
    <arg type="constant">SYL_ROUTER_RULE</arg>
  </constructor>
</component>

<component name="datamanager"
           class="SyL_DataManager"
           reference="true"
           file="framework/SyL_DataManager.php"
           priority="8">
  <constructor>
    <arg type="component" reference="true">controller</arg>
  </constructor>
  <setter name="router" direct="false">
    <arg type="component" reference="true">router</arg>
  </setter>
  <method name="setActionValues" event="executeStream" />
</component>

<component name="view"
           class="SyL_Layout" 
           file="framework/SyL_Layout.php"
           reference="true"
           event="renderStream"
           priority="1">
  <constructor static="getObject">
    <arg type="component" reference="true">datamanager</arg>
  </constructor>
  <method name="render" />
</component>

<component name="error"
           class="SyL_Error"
           reference="true"
           file="framework/SyL_Error.php"
           priority="9">
  <constructor static="getInstance">
    <arg type="component" reference="true">controller</arg>
  </constructor>

  <method name="errorHandler" event="errorStream" />
</component>

</components>
