mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-24 01:00:37 +00:00
rtsp-token: add some API to set fields from bindings
The existing functions are all vararg-based and as such not usable from bindings. https://bugzilla.gnome.org/show_bug.cgi?id=787073
This commit is contained in:
parent
4e048f7b8a
commit
54a8c6bddf
4 changed files with 70 additions and 1 deletions
|
@ -725,7 +725,9 @@ gst_rtsp_token_ref
|
||||||
gst_rtsp_token_unref
|
gst_rtsp_token_unref
|
||||||
gst_rtsp_token_get_structure
|
gst_rtsp_token_get_structure
|
||||||
gst_rtsp_token_writable_structure
|
gst_rtsp_token_writable_structure
|
||||||
|
gst_rtsp_token_set_string
|
||||||
gst_rtsp_token_get_string
|
gst_rtsp_token_get_string
|
||||||
|
gst_rtsp_token_set_bool
|
||||||
gst_rtsp_token_is_allowed
|
gst_rtsp_token_is_allowed
|
||||||
<SUBSECTION Standard>
|
<SUBSECTION Standard>
|
||||||
GST_RTSP_TOKEN_CAST
|
GST_RTSP_TOKEN_CAST
|
||||||
|
|
|
@ -165,6 +165,54 @@ gst_rtsp_token_new_valist (const gchar * firstfield, va_list var_args)
|
||||||
return token;
|
return token;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_rtsp_token_set_string:
|
||||||
|
* @token: The #GstRTSPToken.
|
||||||
|
* @field: field to set
|
||||||
|
* @string_value: string value to set
|
||||||
|
*
|
||||||
|
* Sets a string value on @token.
|
||||||
|
*
|
||||||
|
* Since: 1.14
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gst_rtsp_token_set_string (GstRTSPToken * token, const gchar * field,
|
||||||
|
const gchar * string_value)
|
||||||
|
{
|
||||||
|
GstStructure *s;
|
||||||
|
|
||||||
|
g_return_if_fail (token != NULL);
|
||||||
|
g_return_if_fail (field != NULL);
|
||||||
|
g_return_if_fail (string_value != NULL);
|
||||||
|
|
||||||
|
s = gst_rtsp_token_writable_structure (token);
|
||||||
|
if (s != NULL)
|
||||||
|
gst_structure_set (s, field, G_TYPE_STRING, string_value, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_rtsp_token_set_bool:
|
||||||
|
* @token: The #GstRTSPToken.
|
||||||
|
* @field: field to set
|
||||||
|
* @bool_value: boolean value to set
|
||||||
|
*
|
||||||
|
* Sets a boolean value on @token.
|
||||||
|
*
|
||||||
|
* Since: 1.14
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
gst_rtsp_token_set_bool (GstRTSPToken * token, const gchar * field,
|
||||||
|
gboolean bool_value)
|
||||||
|
{
|
||||||
|
GstStructure *s;
|
||||||
|
|
||||||
|
g_return_if_fail (token != NULL);
|
||||||
|
g_return_if_fail (field != NULL);
|
||||||
|
|
||||||
|
s = gst_rtsp_token_writable_structure (token);
|
||||||
|
if (s != NULL)
|
||||||
|
gst_structure_set (s, field, G_TYPE_BOOLEAN, bool_value, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_rtsp_token_get_structure:
|
* gst_rtsp_token_get_structure:
|
||||||
|
|
|
@ -89,13 +89,21 @@ const GstStructure * gst_rtsp_token_get_structure (GstRTSPToken *token);
|
||||||
GST_EXPORT
|
GST_EXPORT
|
||||||
GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token);
|
GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token);
|
||||||
|
|
||||||
|
GST_EXPORT
|
||||||
|
void gst_rtsp_token_set_string (GstRTSPToken * token,
|
||||||
|
const gchar * field,
|
||||||
|
const gchar * string_value);
|
||||||
GST_EXPORT
|
GST_EXPORT
|
||||||
const gchar * gst_rtsp_token_get_string (GstRTSPToken *token,
|
const gchar * gst_rtsp_token_get_string (GstRTSPToken *token,
|
||||||
const gchar *field);
|
const gchar *field);
|
||||||
|
GST_EXPORT
|
||||||
|
void gst_rtsp_token_set_bool (GstRTSPToken * token,
|
||||||
|
const gchar * field,
|
||||||
|
gboolean bool_value);
|
||||||
GST_EXPORT
|
GST_EXPORT
|
||||||
gboolean gst_rtsp_token_is_allowed (GstRTSPToken *token,
|
gboolean gst_rtsp_token_is_allowed (GstRTSPToken *token,
|
||||||
const gchar *field);
|
const gchar *field);
|
||||||
|
|
||||||
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
|
#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
|
||||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstRTSPToken, gst_rtsp_token_unref)
|
G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstRTSPToken, gst_rtsp_token_unref)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -78,6 +78,17 @@ GST_START_TEST (test_token)
|
||||||
fail_unless (gst_rtsp_token_is_allowed (token, "permission1"));
|
fail_unless (gst_rtsp_token_is_allowed (token, "permission1"));
|
||||||
fail_unless (gst_rtsp_token_is_allowed (token, "permission2"));
|
fail_unless (gst_rtsp_token_is_allowed (token, "permission2"));
|
||||||
fail_unless_equals_string (gst_rtsp_token_get_string (token, "role"), "user");
|
fail_unless_equals_string (gst_rtsp_token_get_string (token, "role"), "user");
|
||||||
|
|
||||||
|
gst_rtsp_token_set_bool (token, "permission3", FALSE);
|
||||||
|
fail_unless (!gst_rtsp_token_is_allowed (token, "permission3"));
|
||||||
|
gst_rtsp_token_set_bool (token, "permission4", TRUE);
|
||||||
|
fail_unless (gst_rtsp_token_is_allowed (token, "permission4"));
|
||||||
|
|
||||||
|
fail_unless_equals_string (gst_rtsp_token_get_string (token, "role"), "user");
|
||||||
|
gst_rtsp_token_set_string (token, "role", "admin");
|
||||||
|
fail_unless_equals_string (gst_rtsp_token_get_string (token, "role"),
|
||||||
|
"admin");
|
||||||
|
|
||||||
gst_rtsp_token_unref (token);
|
gst_rtsp_token_unref (token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue