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

  <!-- needed to call this during init code -->
  <include package="zope.app.component" file="meta.zcml" />

  <!-- 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"
      factory="OFS.subscribers.dispatchObjectWillBeMovedEvent"
      />

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

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

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

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

</configure>
