gboolean grl_gravatar_source_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GRL_LOG_DOMAIN_INIT (gravatar_log_domain, "gravatar"); GRL_DEBUG ("grl_gravatar_source_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); if (!GRL_METADATA_KEY_ARTIST_AVATAR && !GRL_METADATA_KEY_AUTHOR_AVATAR) { GRL_WARNING ("Unable to register \"author-avatar\" nor \"artist-avatar\""); return FALSE; } GrlGravatarSource *source = grl_gravatar_source_new (); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); return TRUE; }
gboolean grl_tmdb_source_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GrlConfig *config; char *api_key; GRL_LOG_DOMAIN_INIT (tmdb_log_domain, "tmdb"); GRL_DEBUG ("grl_tmdb_source_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); if (!configs) { GRL_INFO ("No configuration provided. Will not load plugin"); return FALSE; } config = GRL_CONFIG (configs->data); api_key = grl_config_get_api_key (config); if (!api_key) { GRL_INFO ("Missing API Key, cannot load plugin"); return FALSE; } GRL_TMDB_METADATA_KEY_BACKDROP = register_metadata_key (registry, "tmdb-backdrop", "tmdb-backdrop", "A list of URLs for movie backdrops"); GRL_TMDB_METADATA_KEY_POSTER = register_metadata_key (registry, "tmdb-poster", "tmdb-poster", "A list of URLs for movie posters"); GRL_TMDB_METADATA_KEY_IMDB_ID = register_metadata_key (registry, "tmdb-imdb-id", "tmdb-imdb-id", "ID of this movie at imdb.org"); GRL_TMDB_METADATA_KEY_TMDB_ID = register_metadata_key (registry, "tmdb-id", "tmdb-id", "ID of this movie at tmdb.org"); GrlTmdbSource *source = grl_tmdb_source_new (api_key); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); g_free (api_key); return TRUE; }
static void grl_net_wc_init (GrlNetWc *wc) { GRL_LOG_DOMAIN_INIT (wc_log_domain, "wc"); wc->priv = GRL_NET_WC_GET_PRIVATE (wc); wc->priv->session = soup_session_async_new (); wc->priv->pending = g_queue_new (); set_thread_context (wc); init_mock_requester (wc); init_requester (wc); }
gint main (int argc, gchar *argv[]) { gchar *chosen_test_path; gchar *file_uri; GError *error = NULL; grl_init (&argc, &argv); GRL_LOG_DOMAIN_INIT (example_log_domain, "example"); if (argc != 2) { g_printf ("Usage: %s <path to browse>\n", argv[0]); return 1; } chosen_test_path = argv[1]; GFile *file = g_file_new_for_path (chosen_test_path); if (!file) { g_printf ("Invalid file/directory %s\n", argv[1]); return 1; } GFileInfo *info = g_file_query_info (file, G_FILE_ATTRIBUTE_STANDARD_TYPE, 0, NULL, &error); if (!info) { g_printf ("Invalid file/directory information\n"); return 1; } if (g_file_info_get_file_type (info) != G_FILE_TYPE_REGULAR) { return 1; } gchar *dirname = g_path_get_dirname(chosen_test_path); config_plugins (dirname); g_free (dirname); file_uri = g_filename_to_uri (chosen_test_path, NULL, &error); g_object_unref (file); g_object_unref (info); load_plugins (file_uri); g_free (file_uri); return 0; }
gint main (int argc, gchar *argv[]) { GMainLoop *loop; grl_init (&argc, &argv); GRL_LOG_DOMAIN_INIT (example_log_domain, "example"); load_plugins (); /* Load Grilo plugins */ /* Run the main loop */ loop = g_main_loop_new (NULL, FALSE); g_main_loop_run (loop); grl_deinit (); return 0; }
gboolean grl_raitv_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GRL_LOG_DOMAIN_INIT (raitv_log_domain, "raitv"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); GrlRaitvSource *source = grl_raitv_source_new (); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); return TRUE; }
static gboolean grl_magnatune_plugin_init(GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GrlMagnatuneSource *source; GRL_LOG_DOMAIN_INIT(magnatune_log_domain, "magnatune"); GRL_DEBUG("magnatune_plugin_init"); source = grl_magnatune_source_new(); grl_registry_register_source(registry, plugin, GRL_SOURCE(source), NULL); return TRUE; }
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; }
gboolean grl_metadata_store_source_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GRL_LOG_DOMAIN_INIT (metadata_store_log_domain, "metadata-store"); GRL_DEBUG ("grl_metadata_store_source_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); GrlMetadataStoreSource *source = grl_metadata_store_source_new (); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); return TRUE; }
static gboolean grl_dleyna_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GRL_LOG_DOMAIN_INIT (dleyna_log_domain, "dleyna"); GRL_DEBUG (G_STRFUNC); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); servers = grl_dleyna_servers_manager_dup_singleton (); g_signal_connect_object (servers, "server-found", G_CALLBACK (server_found_cb), plugin, 0); g_signal_connect_object (servers, "server-lost", G_CALLBACK (server_lost_cb), plugin, 0); /* Not immensely useful, since most of the errors will be detected only when * the underlying async DBus calls will complete. */ return grl_dleyna_servers_manager_is_available (); }
static gboolean grl_bookmarks_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GParamSpec *spec; GRL_LOG_DOMAIN_INIT (bookmarks_log_domain, "bookmarks"); GRL_DEBUG ("grl_bookmarks_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); spec = g_param_spec_boxed ("bookmark-date", "Bookmark date", "When the media was bookmarked", G_TYPE_DATE_TIME, G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE), GRL_BOOKMARKS_KEY_BOOKMARK_TIME = grl_registry_register_metadata_key (registry, spec, NULL); /* If key was not registered, could be that it is already registered. If so, check if type is the expected one, and reuse it */ if (GRL_BOOKMARKS_KEY_BOOKMARK_TIME == GRL_METADATA_KEY_INVALID) { g_param_spec_unref (spec); GRL_BOOKMARKS_KEY_BOOKMARK_TIME = grl_registry_lookup_metadata_key (registry, "bookmark-date"); if (grl_metadata_key_get_type (GRL_BOOKMARKS_KEY_BOOKMARK_TIME) != G_TYPE_DATE_TIME) { GRL_BOOKMARKS_KEY_BOOKMARK_TIME = GRL_METADATA_KEY_INVALID; } } GrlBookmarksSource *source = grl_bookmarks_source_new (); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); return TRUE; }
gboolean grl_optical_media_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GRL_LOG_DOMAIN_INIT (optical_media_log_domain, "optical_media"); GRL_DEBUG ("%s", __FUNCTION__); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); GrlOpticalMediaSource *source = grl_optical_media_source_new (); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); return TRUE; }
gboolean grl_local_metadata_source_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { guint config_count; gboolean guess_video = TRUE; GrlConfig *config; GRL_LOG_DOMAIN_INIT (local_metadata_log_domain, "local-metadata"); GRL_DEBUG ("grl_local_metadata_source_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); if (!configs) { GRL_INFO ("\tConfiguration not provided! Using default configuration."); } else { config_count = g_list_length (configs); if (config_count > 1) { GRL_INFO ("\tProvided %i configs, but will only use one", config_count); } config = GRL_CONFIG (configs->data); guess_video = grl_config_get_boolean (config, "guess-video"); } GrlLocalMetadataSource *source = grl_local_metadata_source_new (guess_video); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); return TRUE; }
gboolean grl_tmdb_source_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { GrlConfig *config; char *api_key; GRL_LOG_DOMAIN_INIT (tmdb_log_domain, "tmdb"); GRL_DEBUG ("grl_tmdb_source_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); if (!configs) { GRL_INFO ("No configuration provided. Will not load plugin"); return FALSE; } config = GRL_CONFIG (configs->data); api_key = grl_config_get_api_key (config); if (!api_key) { GRL_INFO ("Missing API Key, cannot load plugin"); return FALSE; } GrlTmdbSource *source = grl_tmdb_source_new (api_key); grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); g_free (api_key); return TRUE; }
gboolean grl_vimeo_plugin_init (GrlRegistry *registry, GrlPlugin *plugin, GList *configs) { gchar *vimeo_key; gchar *vimeo_secret; gchar *format; GrlConfig *config; gint config_count; gboolean init_result = FALSE; GrlVimeoSource *source; GRL_LOG_DOMAIN_INIT (vimeo_log_domain, "vimeo"); GRL_DEBUG ("vimeo_plugin_init"); /* Initialize i18n */ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); if (!configs) { GRL_INFO ("Configuration not provided! Plugin not loaded"); return FALSE; } config_count = g_list_length (configs); if (config_count > 1) { GRL_INFO ("Provided %d configs, but will only use one", config_count); } config = GRL_CONFIG (configs->data); vimeo_key = grl_config_get_api_key (config); vimeo_secret = grl_config_get_api_secret (config); if (!vimeo_key || !vimeo_secret) { GRL_INFO ("Required API key or secret configuration not provided." " Plugin not loaded"); goto go_out; } source = grl_vimeo_source_new (); source->priv->vimeo = g_vimeo_new (vimeo_key, vimeo_secret); format = grl_config_get_string (config, "format"); if (format) { g_object_set (source->priv->vimeo, "quvi-format", format, NULL); g_free (format); } grl_registry_register_source (registry, plugin, GRL_SOURCE (source), NULL); init_result = TRUE; go_out: g_clear_pointer (&vimeo_key, g_free); g_clear_pointer (&vimeo_secret, g_free); return init_result; }
void grl_tracker_source_init_notifs (void) { GRL_LOG_DOMAIN_INIT (tracker_notif_log_domain, "tracker-notif"); }