<configure xmlns="http://namespaces.zope.org/zope">

  <!-- Adapter giving sublocations for ObjectManagers, used
       by dispatchToSublocations -->

  <adapter
      for="OFS.interfaces.IObjectManager"
      provides="zope.app.location.interfaces.ISublocations"
      factory="OFS.subscribers.ObjectManagerSublocations"
      />

  <!-- dispatch IObjectWillBeMovedEvent with "bottom-up" semantics -->

  <subscriber
      for="OFS.interfaces.IItem
           OFS.interfaces.IObjectWillBeMovedEvent"
      handler="OFS.subscribers.dispatchObjectWillBeMovedEvent"
      />

  <!-- dispatch IObjectMovedEvent with "top-down" semantics -->

  <subscriber
      for="OFS.interfaces.IItem
           zope.app.container.interfaces.IObjectMovedEvent"
      handler="OFS.subscribers.dispatchObjectMovedEvent"
      />

  <!-- dispatch IObjectClonedEvent with "top-down" semantics -->

  <subscriber
      for="OFS.interfaces.IItem
           OFS.interfaces.IObjectClonedEvent"
      handler="OFS.subscribers.dispatchObjectClonedEvent"
      />

  <!-- dispatch IObjectCopiedEvent with "top-down" semantics -->

  <subscriber
      for="OFS.interfaces.IItem
           zope.app.event.interfaces.IObjectCopiedEvent"
      handler="OFS.subscribers.dispatchObjectCopiedEvent"
      />

</configure>
