/** * rb_source_search_register: * @search: search instance to register * @name: name to register * * Registers a named search instance that can be used in menus and * search action states. */ void rb_source_search_register (RBSourceSearch *search, const char *name) { RBSourceSearchClass *klass; klass = RB_SOURCE_SEARCH_CLASS (g_type_class_peek (RB_TYPE_SOURCE_SEARCH)); g_hash_table_insert (klass->searches, g_strdup (name), search); }
/** * rb_source_search_get_by_name: * @name: name to look up * * Finds the registered search instance with the specified name * * Returns: (transfer none): search instance, or NULL if not found */ RBSourceSearch * rb_source_search_get_by_name (const char *name) { RBSourceSearchClass *klass; klass = RB_SOURCE_SEARCH_CLASS (g_type_class_peek (RB_TYPE_SOURCE_SEARCH)); return g_hash_table_lookup (klass->searches, name); }
static void rb_iradio_source_search_class_init (RBIRadioSourceSearchClass *klass) { RBSourceSearchClass *search_class = RB_SOURCE_SEARCH_CLASS (klass); search_class->create_query = impl_create_query; }