mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-02 09:01:50 -05:00
type: add subclass check
This commit is contained in:
parent
25b7ede0bc
commit
141202b1fd
2 changed files with 12 additions and 0 deletions
|
|
@ -39,6 +39,12 @@ typedef uint32_t SpaType;
|
|||
#define SPA_TYPE__Object SPA_TYPE_BASE "Object"
|
||||
#define SPA_TYPE_OBJECT_BASE SPA_TYPE__Object ":"
|
||||
|
||||
static inline bool
|
||||
spa_type_is_a (const char *type, const char *parent)
|
||||
{
|
||||
return type != NULL && parent != NULL && strstr (type, parent) == type;
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -269,5 +269,11 @@ main (int argc, char *argv[])
|
|||
|
||||
do_static_struct ();
|
||||
|
||||
printf ("%d\n", spa_type_is_a (SPA_TYPE__MediaType, SPA_TYPE_ENUM_BASE));
|
||||
printf ("%d\n", spa_type_is_a (SPA_TYPE__MediaSubtype, SPA_TYPE_ENUM_BASE));
|
||||
printf ("%d\n", spa_type_is_a (SPA_TYPE__Format, SPA_TYPE_ENUM_BASE));
|
||||
printf ("%d\n", spa_type_is_a (SPA_TYPE__Format, SPA_TYPE_POD_BASE));
|
||||
printf ("%d\n", spa_type_is_a (SPA_TYPE__Format, SPA_TYPE_POD_OBJECT_BASE));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue