int main(int argc, char **argv) { GOptionContext *context; DMAPMdnsBrowser *browserDAAP, *browserDPAP; GError *error = NULL; stringleton_init (); g_log_set_handler ("libdmapsharing", G_LOG_LEVEL_DEBUG, debug_null, NULL); g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, debug_null, NULL); context = g_option_context_new ("Stress test dmapd"); g_option_context_add_main_entries (context, entries, NULL); if (! g_option_context_parse (context, &argc, &argv, &error)) { g_error ("Option parsing failed: %s", error->message); } loop = g_main_loop_new (NULL, FALSE); browserDAAP = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DAAP); g_signal_connect (G_OBJECT (browserDAAP), "service-added", G_CALLBACK (service_added_cb), NULL); browserDPAP = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP); g_signal_connect (G_OBJECT (browserDPAP), "service-added", G_CALLBACK (service_added_cb), NULL); g_debug ("starting mdns browsers"); dmap_mdns_browser_start (browserDAAP, &error); if (error) { g_warning ("error starting browser. code: %d message: %s", error->code, error->message); exit (EXIT_FAILURE); } dmap_mdns_browser_start (browserDPAP, &error); if (error) { g_warning ("error starting browser. code: %d message: %s", error->code, error->message); exit (EXIT_FAILURE); } fprintf (stdout, "Waiting for DMAP shares; please run dmapd.\n"); g_main_loop_run (loop); fprintf (stdout, "Stress test complete.\n"); exit (EXIT_SUCCESS); }
void dacp_share_start_lookup (DACPShare * share) { GError *error; if (share->priv->mdns_browser) { g_warning ("DACP browsing already started"); return; } share->priv->mdns_browser = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DACP); g_signal_connect_object (share->priv->mdns_browser, "service-added", G_CALLBACK (mdns_remote_added), share, 0); g_signal_connect_object (share->priv->mdns_browser, "service-removed", G_CALLBACK (mdns_remote_removed), share, 0); error = NULL; dmap_mdns_browser_start (share->priv->mdns_browser, &error); if (error != NULL) { g_warning ("Unable to start Remote lookup: %s", error->message); g_error_free (error); } }
DPAPCopy* dpap_copy_construct (GType object_type, GError** error) { DPAPCopy* self = NULL; ValaDMAPDb* _tmp0_ = NULL; ValaDPAPRecordFactory* _tmp1_ = NULL; DMAPMdnsBrowser* _tmp2_ = NULL; DMAPMdnsBrowser* _tmp3_ = NULL; DMAPMdnsBrowser* _tmp4_ = NULL; GError * _inner_error_ = NULL; self = (DPAPCopy*) g_type_create_instance (object_type); _tmp0_ = vala_dmap_db_new (); _g_object_unref0 (self->priv->db); self->priv->db = _tmp0_; _tmp1_ = vala_dpap_record_factory_new (); _g_object_unref0 (self->priv->factory); self->priv->factory = _tmp1_; _tmp2_ = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP); _g_object_unref0 (self->priv->browser); self->priv->browser = _tmp2_; _tmp3_ = self->priv->browser; g_signal_connect (_tmp3_, "service-added", (GCallback) _dpap_copy_service_added_cb_dmap_mdns_browser_service_added, self); _tmp4_ = self->priv->browser; dmap_mdns_browser_start (_tmp4_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _dpap_copy_unref0 (self); return NULL; } return self; }
gboolean grl_dpap_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GError *error = NULL; GRL_LOG_DOMAIN_INIT (dmap_log_domain, "dmap"); GRL_DEBUG ("dmap_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); browser = dmap_mdns_browser_new (DMAP_MDNS_BROWSER_SERVICE_TYPE_DPAP); connections = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); sources = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); g_signal_connect (G_OBJECT (browser), "service-added", G_CALLBACK (grl_dpap_service_added_cb), (gpointer) plugin); g_signal_connect (G_OBJECT (browser), "service-removed", G_CALLBACK (grl_dpap_service_removed_cb), (gpointer) plugin); if (!dmap_mdns_browser_start (browser, &error)) { GRL_DEBUG ("error starting browser. code: %d message: %s", error->code, error->message); g_error_free (error); g_hash_table_unref (connections); g_hash_table_unref (sources); g_object_unref (browser); return FALSE; } return TRUE; }