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

<tests>

<test>
  <commentblock>/**
 * annotation_object_foreach:
 * @object: a #AnnotationObject
 * @func: (scope call): Callback to invoke
 * @user_data: Callback user data
 *
 * Test taking a call-scoped callback
 **/</commentblock>
  <docblock>
    <identifier>
      <name>annotation_object_foreach</name>
    </identifier>
    <parameters>
      <parameter>
        <name>object</name>
        <description>a #AnnotationObject</description>
      </parameter>
      <parameter>
        <name>func</name>
        <annotations>
          <annotation>
            <name>scope</name>
            <options>
              <option>
                <name>call</name>
              </option>
            </options>
          </annotation>
        </annotations>
        <description>Callback to invoke</description>
      </parameter>
      <parameter>
        <name>user_data</name>
        <description>Callback user data</description>
      </parameter>
    </parameters>
    <description>Test taking a call-scoped callback</description>
  </docblock>
</test>

<test>
  <commentblock>/**
 * regress_test_callback_destroy_notify:
 * @callback: (scope notified):
 *
 * Notified - callback persists until a DestroyNotify delegate
 * is invoked.
 **/</commentblock>
  <docblock>
    <identifier>
      <name>regress_test_callback_destroy_notify</name>
    </identifier>
    <parameters>
      <parameter>
        <name>callback</name>
        <annotations>
          <annotation>
            <name>scope</name>
            <options>
              <option>
                <name>notified</name>
              </option>
            </options>
          </annotation>
        </annotations>
      </parameter>
    </parameters>
    <description>Notified - callback persists until a DestroyNotify delegate
is invoked.</description>
  </docblock>
</test>

<test>
  <commentblock>/**
 * regress_test_callback_async:
 * @callback: (scope async):
 *
 **/</commentblock>
  <docblock>
    <identifier>
      <name>regress_test_callback_async</name>
    </identifier>
    <parameters>
      <parameter>
        <name>callback</name>
        <annotations>
          <annotation>
            <name>scope</name>
            <options>
              <option>
                <name>async</name>
              </option>
            </options>
          </annotation>
        </annotations>
      </parameter>
    </parameters>
  </docblock>
</test>

</tests>
