virtual void start_after_bonding() { Gap::CentralPrivacyConfiguration_t privacy_configuration = { /* use_non_resolvable_random_address */ false, Gap::CentralPrivacyConfiguration_t::RESOLVE_AND_FILTER }; _ble.gap().setCentralPrivacyConfiguration(&privacy_configuration); start_scanning(); }
/** start scanning and attach a callback that will handle advertisements * and scan requests responses */ virtual void start() { Gap::CentralPrivacyConfiguration_t privacy_configuration = { /* use_non_resolvable_random_address */ false, Gap::CentralPrivacyConfiguration_t::DO_NOT_RESOLVE }; _ble.gap().setCentralPrivacyConfiguration(&privacy_configuration); start_scanning(); }
static void current_folder_changed_cb (GtkFileChooser *chooser, RBImportDialog *dialog) { GSettings *settings; RBSource *source; GtkWidget *label; const char *uri; char **locations; int i; uri = gtk_file_chooser_get_uri (chooser); if (g_strcmp0 (uri, dialog->priv->current_uri) == 0) return; g_free (dialog->priv->current_uri); dialog->priv->current_uri = g_strdup (uri); if (dialog->priv->import_job != NULL) { rhythmdb_import_job_cancel (dialog->priv->import_job); } clear_info_bar (dialog); source = rb_shell_guess_source_for_uri (dialog->priv->shell, uri); if (source != NULL) { if (RB_IS_DEVICE_SOURCE (source)) { char *msg; char *name; GtkWidget *content; rhythmdb_entry_delete_by_type (dialog->priv->db, dialog->priv->entry_type); rhythmdb_entry_delete_by_type (dialog->priv->db, dialog->priv->ignore_type); rhythmdb_commit (dialog->priv->db); dialog->priv->info_bar = gtk_info_bar_new (); g_object_set (dialog->priv->info_bar, "hexpand", TRUE, NULL); g_object_get (source, "name", &name, NULL); /* this isn't a terribly helpful message. */ msg = g_strdup_printf (_("The location you have selected is on the device %s."), name); label = gtk_label_new (msg); g_free (msg); content = gtk_info_bar_get_content_area (GTK_INFO_BAR (dialog->priv->info_bar)); gtk_container_add (GTK_CONTAINER (content), label); msg = g_strdup_printf (_("Show %s"), name); gtk_info_bar_add_button (GTK_INFO_BAR (dialog->priv->info_bar), msg, GTK_RESPONSE_ACCEPT); g_free (msg); g_signal_connect (dialog->priv->info_bar, "response", G_CALLBACK (device_info_bar_response_cb), dialog); gtk_widget_show_all (dialog->priv->info_bar); gtk_container_add (GTK_CONTAINER (dialog->priv->info_bar_container), dialog->priv->info_bar); return; } } /* disable copy if the selected location is already inside the library */ settings = g_settings_new ("org.gnome.rhythmbox.rhythmdb"); locations = g_settings_get_strv (settings, "locations"); gtk_widget_set_sensitive (dialog->priv->copy_check, TRUE); for (i = 0; locations[i] != NULL; i++) { if (g_str_has_prefix (uri, locations[i])) { gtk_widget_set_sensitive (dialog->priv->copy_check, FALSE); break; } } g_strfreev (locations); g_object_unref (settings); if (dialog->priv->import_job != NULL) { /* wait for the previous job to finish up */ rb_debug ("need to wait for previous import job to finish"); g_signal_connect (dialog->priv->import_job, "complete", G_CALLBACK (start_deferred_scan), dialog); } else { start_scanning (dialog); } }
static void start_deferred_scan (RhythmDBImportJob *job, int total, RBImportDialog *dialog) { rb_debug ("previous import job finished"); start_scanning (dialog); }