vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Mon Mar 4 18:30:06 2019 +0200| [a51089e4eb3f007367a00ccf006615cf300b3f08] | committer: Rémi Denis-Courmont
objects: get module name from the variable This is still as racy as before, but at least it does not serialize against a global lock. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a51089e4eb3f007367a00ccf006615cf300b3f08 --- include/vlc_objects.h | 13 ++++++++++++- src/libvlccore.sym | 1 - src/misc/objects.c | 6 ------ 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/include/vlc_objects.h b/include/vlc_objects.h index 49833962e8..56282b2ef5 100644 --- a/include/vlc_objects.h +++ b/include/vlc_objects.h @@ -112,7 +112,18 @@ VLC_API const char *vlc_object_typename(const vlc_object_t *obj) VLC_USED; VLC_API vlc_object_t *vlc_object_parent(vlc_object_t *obj) VLC_USED; #define vlc_object_parent(o) vlc_object_parent(VLC_OBJECT(o)) -VLC_API char *vlc_object_get_name( const vlc_object_t * ) VLC_USED; +/** + * Tries to get the name of module bound to an object. + * + * \warning This function is intrinsically race-prone, as a module may be + * bound or unbound asynchronously by another thread. + * Do not trust the result for any purpose other than debugging/tracing. + * + * \return Normally, this returns a heap-allocated nul-terminated string + * which is the name of the module. If no module are bound to the object, it + * returns NULL. It also returns NULL on error. + */ +#define vlc_object_get_name(obj) var_GetString(obj, "module-name") #define vlc_object_create(a,b) vlc_object_create( VLC_OBJECT(a), b ) diff --git a/src/libvlccore.sym b/src/libvlccore.sym index ef9e2d5561..202a6a1d21 100644 --- a/src/libvlccore.sym +++ b/src/libvlccore.sym @@ -676,7 +676,6 @@ vlc_object_hold vlc_object_release vlc_object_typename vlc_object_parent -vlc_object_get_name vlc_once vlc_rand_bytes vlc_drand48 diff --git a/src/misc/objects.c b/src/misc/objects.c index 2790cc05fd..d680fd2f0e 100644 --- a/src/misc/objects.c +++ b/src/misc/objects.c @@ -312,12 +312,6 @@ int vlc_object_set_name(vlc_object_t *obj, const char *name) return VLC_SUCCESS; } -char *vlc_object_get_name(const vlc_object_t *obj) -{ - assert(obj != NULL); - return NULL; -} - /** * Destroys a VLC object once it has no more references. * _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
