</parameter>
</parameters>
</method>
+ <method name="skip_inout_param"
+ c:identifier="regress_test_obj_skip_inout_param"
+ throws="1">
+ <doc xml:whitespace="preserve">Check that the out value is skipped</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Parameter.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_b"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Return value.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="c" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Other parameter.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="inout_d"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ skip="1">
+ <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="out_sum"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Return value.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="num1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="num2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip_out_param"
+ c:identifier="regress_test_obj_skip_out_param"
+ throws="1">
+ <doc xml:whitespace="preserve">Check that the out value is skipped</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Parameter.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_b"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ skip="1">
+ <doc xml:whitespace="preserve">Return value.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="c" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Other parameter.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="inout_d"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="out_sum"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Return value.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="num1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="num2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
<method name="skip_param"
c:identifier="regress_test_obj_skip_param"
throws="1">
- <doc xml:whitespace="preserve">Check that the return value is skipped</doc>
+ <doc xml:whitespace="preserve">Check that a parameter is skipped</doc>
<return-value transfer-ownership="none">
<doc xml:whitespace="preserve">%TRUE if the call succeeds, %FALSE if @error is set.</doc>
<type name="gboolean" c:type="gboolean"/>
<doc xml:whitespace="preserve">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
+ <parameter name="inout_d"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="out_sum"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Return value.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="num1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="num2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
</parameters>
</method>
<method name="skip_return_val"
<doc xml:whitespace="preserve">Other parameter.</doc>
<type name="gdouble" c:type="gdouble"/>
</parameter>
+ <parameter name="inout_d"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Will be incremented.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="out_sum"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:whitespace="preserve">Return value.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="num1" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="num2" transfer-ownership="none">
+ <doc xml:whitespace="preserve">Number.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
</parameters>
</method>
<method name="torture_signature_0"
* @a: Parameter.
* @out_b: (out): A return value.
* @c: Other parameter.
+ * @inout_d: (inout): Will be incremented.
+ * @out_sum: (out): Return value.
+ * @num1: Number.
+ * @num2: Number.
* @error: Return location for error.
*
* Check that the return value is skipped
* Returns: (skip): %TRUE if the call succeeds, %FALSE if @error is set.
*/
gboolean
-regress_test_obj_skip_return_val (RegressTestObj *obj,
- gint a,
- gint *out_b,
- gdouble c,
- GError **error)
-{
- if (a == 0)
- return TRUE;
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "a is non-zero");
- return FALSE;
+regress_test_obj_skip_return_val (RegressTestObj *obj,
+ gint a,
+ gint *out_b,
+ gdouble c,
+ gint *inout_d,
+ gint *out_sum,
+ gint num1,
+ gint num2,
+ GError **error)
+{
+ if (out_b != NULL)
+ *out_b = a + 1;
+ if (inout_d != NULL)
+ *inout_d = *inout_d + 1;
+ if (out_sum != NULL)
+ *out_sum = num1 + 10*num2;
+ return TRUE;
}
/**
* @a: Parameter.
* @out_b: (out): Return value.
* @c: (skip): Other parameter.
+ * @inout_d: (inout): Will be incremented.
+ * @out_sum: (out): Return value.
+ * @num1: Number.
+ * @num2: Number.
+ * @error: Return location for error.
*
- * Check that the return value is skipped
+ * Check that a parameter is skipped
*
* Returns: %TRUE if the call succeeds, %FALSE if @error is set.
*/
gint a,
gint *out_b,
gdouble c,
+ gint *inout_d,
+ gint *out_sum,
+ gint num1,
+ gint num2,
GError **error)
{
- if (a == 0)
- return TRUE;
- g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, "a is non-zero");
- return FALSE;
+ if (out_b != NULL)
+ *out_b = a + 1;
+ if (inout_d != NULL)
+ *inout_d = *inout_d + 1;
+ if (out_sum != NULL)
+ *out_sum = num1 + 10*num2;
+ return TRUE;
+}
+
+/**
+ * regress_test_obj_skip_out_param:
+ * @obj: A #RegressTestObj.
+ * @a: Parameter.
+ * @out_b: (out) (skip): Return value.
+ * @c: Other parameter.
+ * @inout_d: (inout): Will be incremented.
+ * @out_sum: (out): Return value.
+ * @num1: Number.
+ * @num2: Number.
+ * @error: Return location for error.
+ *
+ * Check that the out value is skipped
+ *
+ * Returns: %TRUE if the call succeeds, %FALSE if @error is set.
+ */
+gboolean
+regress_test_obj_skip_out_param (RegressTestObj *obj,
+ gint a,
+ gint *out_b,
+ gdouble c,
+ gint *inout_d,
+ gint *out_sum,
+ gint num1,
+ gint num2,
+ GError **error)
+{
+ if (out_b != NULL)
+ *out_b = a + 1;
+ if (inout_d != NULL)
+ *inout_d = *inout_d + 1;
+ if (out_sum != NULL)
+ *out_sum = num1 + 10*num2;
+ return TRUE;
+}
+
+/**
+ * regress_test_obj_skip_inout_param:
+ * @obj: A #RegressTestObj.
+ * @a: Parameter.
+ * @out_b: (out): Return value.
+ * @c: Other parameter.
+ * @inout_d: (inout) (skip): Will be incremented.
+ * @out_sum: (out): Return value.
+ * @num1: Number.
+ * @num2: Number.
+ * @error: Return location for error.
+ *
+ * Check that the out value is skipped
+ *
+ * Returns: %TRUE if the call succeeds, %FALSE if @error is set.
+ */
+gboolean
+regress_test_obj_skip_inout_param (RegressTestObj *obj,
+ gint a,
+ gint *out_b,
+ gdouble c,
+ gint *inout_d,
+ gint *out_sum,
+ gint num1,
+ gint num2,
+ GError **error)
+{
+ if (out_b != NULL)
+ *out_b = a + 1;
+ if (inout_d != NULL)
+ *inout_d = *inout_d + 1;
+ if (out_sum != NULL)
+ *out_sum = num1 + 10*num2;
+ return TRUE;
}
/**