}
}
-#ifdef __TIZEN_TV_EXTERNAL_BT_SCO__
-static int include_device_filter_func(const void *d, const void *include_device_type) {
- pa_tz_device *device = (pa_tz_device *)d;
-
- pa_assert(device);
- pa_assert(include_device_type);
-
- return (int)pa_safe_streq(pa_tz_device_get_type(device), (const char *)include_device_type);
-}
-
-static int exclude_device_filter_func(const void *d, const void *exclude_device_type) {
- pa_tz_device *device = (pa_tz_device *)d;
-
- pa_assert(device);
- pa_assert(exclude_device_type);
-
- return (int)!pa_safe_streq(pa_tz_device_get_type(device), (const char *)exclude_device_type);
-}
-#endif /* __TIZEN_TV_EXTERNAL_BT_SCO__ */
-
static void handle_get_connected_device_list(DBusConnection *conn, DBusMessage *msg, void *userdata) {
pa_device_manager *dm = (pa_device_manager *)userdata;
DBusMessage *reply = NULL;
DBusMessageIter msg_iter, array_iter;
int mask;
-#ifdef __TIZEN_TV_EXTERNAL_BT_SCO__
- pa_idxset *idxset1, *idxset2;
-#endif
pa_assert(conn);
pa_assert(msg);
dbus_message_iter_init_append(reply, &msg_iter);
pa_assert_se(dbus_message_iter_open_container(&msg_iter, DBUS_TYPE_ARRAY, "(isiisiibiii)", &array_iter));
-#ifndef __TIZEN_TV_EXTERNAL_BT_SCO__
array_iter_append(&array_iter, dm->device_list, mask);
-#else
- /* divide into two groups and merge them because dbus message doesn't support sorting or prepend */
- idxset1 = pa_idxset_filtered_copy(dm->device_list, NULL, include_device_filter_func, DEVICE_TYPE_BT_SCO);
- idxset2 = pa_idxset_filtered_copy(dm->device_list, NULL, exclude_device_filter_func, DEVICE_TYPE_BT_SCO);
-
- array_iter_append(&array_iter, idxset1, mask);
- array_iter_append(&array_iter, idxset2, mask);
-
- pa_idxset_free(idxset1, NULL);
- pa_idxset_free(idxset2, NULL);
-#endif /* __TIZEN_TV_EXTERNAL_BT_SCO__ */
pa_assert_se(dbus_message_iter_close_container(&msg_iter, &array_iter));