mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
token: simplify token constructor
Use variable arguments to make easier API.
This commit is contained in:
parent
67d0fbc048
commit
b8c5aa3a6b
4 changed files with 61 additions and 28 deletions
|
@ -64,7 +64,6 @@ main (int argc, char *argv[])
|
||||||
GstRTSPAuth *auth;
|
GstRTSPAuth *auth;
|
||||||
GstRTSPToken *token;
|
GstRTSPToken *token;
|
||||||
gchar *basic;
|
gchar *basic;
|
||||||
GstStructure *s;
|
|
||||||
|
|
||||||
gst_init (&argc, &argv);
|
gst_init (&argc, &argv);
|
||||||
|
|
||||||
|
@ -126,30 +125,24 @@ main (int argc, char *argv[])
|
||||||
auth = gst_rtsp_auth_new ();
|
auth = gst_rtsp_auth_new ();
|
||||||
|
|
||||||
/* make user token */
|
/* make user token */
|
||||||
token = gst_rtsp_token_new ();
|
token = gst_rtsp_token_new ("resources.class", G_TYPE_STRING, "user",
|
||||||
s = gst_rtsp_token_writable_structure (token);
|
"media.factory.role", G_TYPE_STRING, "user", NULL);
|
||||||
gst_structure_set (s, "resources.class", G_TYPE_STRING, "user", NULL);
|
|
||||||
gst_structure_set (s, "media.factory.role", G_TYPE_STRING, "user", NULL);
|
|
||||||
basic = gst_rtsp_auth_make_basic ("user", "password");
|
basic = gst_rtsp_auth_make_basic ("user", "password");
|
||||||
gst_rtsp_auth_add_basic (auth, basic, token);
|
gst_rtsp_auth_add_basic (auth, basic, token);
|
||||||
g_free (basic);
|
g_free (basic);
|
||||||
gst_rtsp_token_unref (token);
|
gst_rtsp_token_unref (token);
|
||||||
|
|
||||||
/* make admin token */
|
/* make admin token */
|
||||||
token = gst_rtsp_token_new ();
|
token = gst_rtsp_token_new ("resources.class", G_TYPE_STRING, "admin",
|
||||||
s = gst_rtsp_token_writable_structure (token);
|
"media.factory.role", G_TYPE_STRING, "admin", NULL);
|
||||||
gst_structure_set (s, "resources.class", G_TYPE_STRING, "admin", NULL);
|
|
||||||
gst_structure_set (s, "media.factory.role", G_TYPE_STRING, "admin", NULL);
|
|
||||||
basic = gst_rtsp_auth_make_basic ("admin", "power");
|
basic = gst_rtsp_auth_make_basic ("admin", "power");
|
||||||
gst_rtsp_auth_add_basic (auth, basic, token);
|
gst_rtsp_auth_add_basic (auth, basic, token);
|
||||||
g_free (basic);
|
g_free (basic);
|
||||||
gst_rtsp_token_unref (token);
|
gst_rtsp_token_unref (token);
|
||||||
|
|
||||||
/* make admin2 token */
|
/* make admin2 token */
|
||||||
token = gst_rtsp_token_new ();
|
token = gst_rtsp_token_new ("resources.class", G_TYPE_STRING, "admin",
|
||||||
s = gst_rtsp_token_writable_structure (token);
|
"media.factory.role", G_TYPE_STRING, "admin2", NULL);
|
||||||
gst_structure_set (s, "resources.class", G_TYPE_STRING, "admin", NULL);
|
|
||||||
gst_structure_set (s, "media.factory.role", G_TYPE_STRING, "admin2", NULL);
|
|
||||||
basic = gst_rtsp_auth_make_basic ("admin2", "power2");
|
basic = gst_rtsp_auth_make_basic ("admin2", "power2");
|
||||||
gst_rtsp_auth_add_basic (auth, basic, token);
|
gst_rtsp_auth_add_basic (auth, basic, token);
|
||||||
g_free (basic);
|
g_free (basic);
|
||||||
|
|
|
@ -163,7 +163,6 @@ main (int argc, char *argv[])
|
||||||
GstRTSPAuth *auth;
|
GstRTSPAuth *auth;
|
||||||
GstRTSPToken *token;
|
GstRTSPToken *token;
|
||||||
gchar *basic;
|
gchar *basic;
|
||||||
GstStructure *s;
|
|
||||||
GstRTSPThreadPool *thread_pool;
|
GstRTSPThreadPool *thread_pool;
|
||||||
|
|
||||||
gst_init (&argc, &argv);
|
gst_init (&argc, &argv);
|
||||||
|
@ -205,21 +204,16 @@ main (int argc, char *argv[])
|
||||||
auth = gst_rtsp_auth_new ();
|
auth = gst_rtsp_auth_new ();
|
||||||
|
|
||||||
/* make user token */
|
/* make user token */
|
||||||
token = gst_rtsp_token_new ();
|
token = gst_rtsp_token_new ("cgroup.pool.media.class", G_TYPE_STRING, "user",
|
||||||
s = gst_rtsp_token_writable_structure (token);
|
"media.factory.role", G_TYPE_STRING, "user", NULL);
|
||||||
gst_structure_set (s, "cgroup.pool.media.class", G_TYPE_STRING, "user", NULL);
|
|
||||||
gst_structure_set (s, "media.factory.role", G_TYPE_STRING, "user", NULL);
|
|
||||||
basic = gst_rtsp_auth_make_basic ("user", "password");
|
basic = gst_rtsp_auth_make_basic ("user", "password");
|
||||||
gst_rtsp_auth_add_basic (auth, basic, token);
|
gst_rtsp_auth_add_basic (auth, basic, token);
|
||||||
g_free (basic);
|
g_free (basic);
|
||||||
gst_rtsp_token_unref (token);
|
gst_rtsp_token_unref (token);
|
||||||
|
|
||||||
/* make admin token */
|
/* make admin token */
|
||||||
token = gst_rtsp_token_new ();
|
token = gst_rtsp_token_new ("cgroup.pool.media.class", G_TYPE_STRING, "admin",
|
||||||
s = gst_rtsp_token_writable_structure (token);
|
"media.factory.role", G_TYPE_STRING, "admin", NULL);
|
||||||
gst_structure_set (s, "cgroup.pool.media.class", G_TYPE_STRING, "admin",
|
|
||||||
NULL);
|
|
||||||
gst_structure_set (s, "media.factory.role", G_TYPE_STRING, "admin", NULL);
|
|
||||||
basic = gst_rtsp_auth_make_basic ("admin", "power");
|
basic = gst_rtsp_auth_make_basic ("admin", "power");
|
||||||
gst_rtsp_auth_add_basic (auth, basic, token);
|
gst_rtsp_auth_add_basic (auth, basic, token);
|
||||||
g_free (basic);
|
g_free (basic);
|
||||||
|
|
|
@ -84,20 +84,64 @@ gst_rtsp_token_init (GstRTSPTokenImpl * token, GstStructure * structure)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* gst_rtsp_token_new:
|
* gst_rtsp_token_new_empty:
|
||||||
*
|
*
|
||||||
* Create a new empty Authorization token.
|
* Create a new empty Authorization token.
|
||||||
*
|
*
|
||||||
* Returns: (transfer full): a new empty authorization token.
|
* Returns: (transfer full): a new empty authorization token.
|
||||||
*/
|
*/
|
||||||
GstRTSPToken *
|
GstRTSPToken *
|
||||||
gst_rtsp_token_new (void)
|
gst_rtsp_token_new_empty (void)
|
||||||
|
{
|
||||||
|
return gst_rtsp_token_new (NULL, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_rtsp_token_new:
|
||||||
|
* @firstfield: the first fieldname
|
||||||
|
* @...: additional arguments
|
||||||
|
*
|
||||||
|
* Create a new Authorization token with the given fieldnames and values.
|
||||||
|
* Arguments are given similar to gst_structure_new().
|
||||||
|
*
|
||||||
|
* Returns: (transfer full): a new authorization token.
|
||||||
|
*/
|
||||||
|
GstRTSPToken *
|
||||||
|
gst_rtsp_token_new (const gchar * firstfield, ...)
|
||||||
|
{
|
||||||
|
GstRTSPToken *result;
|
||||||
|
va_list var_args;
|
||||||
|
|
||||||
|
va_start (var_args, firstfield);
|
||||||
|
result = gst_rtsp_token_new_valist (firstfield, var_args);
|
||||||
|
va_end (var_args);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gst_rtsp_token_new:
|
||||||
|
* @firstfield: the first fieldname
|
||||||
|
* @var_args additional arguments
|
||||||
|
*
|
||||||
|
* Create a new Authorization token with the given fieldnames and values.
|
||||||
|
* Arguments are given similar to gst_structure_new_valist().
|
||||||
|
*
|
||||||
|
* Returns: (transfer full): a new authorization token.
|
||||||
|
*/
|
||||||
|
GstRTSPToken *
|
||||||
|
gst_rtsp_token_new_valist (const gchar * firstfield, va_list var_args)
|
||||||
{
|
{
|
||||||
GstRTSPTokenImpl *token;
|
GstRTSPTokenImpl *token;
|
||||||
|
GstStructure *s;
|
||||||
|
|
||||||
|
g_return_val_if_fail (firstfield != NULL, NULL);
|
||||||
|
|
||||||
|
s = gst_structure_new_valist ("GstRTSPToken", firstfield, var_args);
|
||||||
|
g_return_val_if_fail (s != NULL, NULL);
|
||||||
|
|
||||||
token = g_slice_new0 (GstRTSPTokenImpl);
|
token = g_slice_new0 (GstRTSPTokenImpl);
|
||||||
|
gst_rtsp_token_init (token, s);
|
||||||
gst_rtsp_token_init (token, gst_structure_new_empty ("GstRTSPToken"));
|
|
||||||
|
|
||||||
return (GstRTSPToken *) token;
|
return (GstRTSPToken *) token;
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,9 @@ gst_rtsp_token_unref (GstRTSPToken * token)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
GstRTSPToken * gst_rtsp_token_new (void);
|
GstRTSPToken * gst_rtsp_token_new_empty (void);
|
||||||
|
GstRTSPToken * gst_rtsp_token_new (const gchar * firstfield, ...);
|
||||||
|
GstRTSPToken * gst_rtsp_token_new_valist (const gchar * firstfield, va_list var_args);
|
||||||
|
|
||||||
const GstStructure * gst_rtsp_token_get_structure (GstRTSPToken *token);
|
const GstStructure * gst_rtsp_token_get_structure (GstRTSPToken *token);
|
||||||
GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token);
|
GstStructure * gst_rtsp_token_writable_structure (GstRTSPToken *token);
|
||||||
|
|
Loading…
Reference in a new issue