Fix typo: Similar Artist -> Similar Artists
[gmpc.git] / src / plugin-internal.h
blobd9e4fc0cdccab399a648c2f8dabcc30b6036fcac
2 /* Gnome Music Player Client (GMPC)
3 * Copyright (C) 2004-2012 Qball Cow <qball@gmpclient.org>
4 * Project homepage: http://gmpclient.org/
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #include <config.h>
21 #include <gtk/gtk.h>
22 #include <libmpd/libmpd.h>
23 #include "metadata.h"
24 #include "gmpc-extras.h"
25 #include "gmpc-mpddata-model.h"
27 #ifndef __PLUGIN_INTERNAL_H__
28 #define __PLUGIN_INTERNAL_H__
30 /**
31 * Plugin functions
34 int gmpc_plugin_get_id(gmpcPluginParent * plug);
35 void gmpc_plugin_init(gmpcPluginParent * plug);
36 void gmpc_plugin_destroy(gmpcPluginParent * plug);
37 void gmpc_plugin_save_yourself(gmpcPluginParent * plug);
39 gboolean gmpc_plugin_get_enabled(const gmpcPluginParent * plug);
40 void gmpc_plugin_set_enabled(gmpcPluginParent * plug, gboolean enabled);
41 gboolean gmpc_plugin_has_enabled(gmpcPluginParent * plug);
43 const gchar *gmpc_plugin_get_translation_domain(gmpcPluginParent * plug);
44 const char *gmpc_plugin_get_name(gmpcPluginParent * plug);
45 void gmpc_plugin_status_changed(gmpcPluginParent * plug, MpdObj * mi,
46 ChangedStatusType what);
48 gint gmpc_plugin_tool_menu_integration(gmpcPluginParent * plug, GtkMenu * menu);
49 void gmpc_plugin_mpd_connection_changed(gmpcPluginParent * plug, MpdObj * mi,
50 int connected, gpointer data);
52 gboolean gmpc_plugin_is_browser(gmpcPluginParent * plug);
53 gboolean gmpc_plugin_is_sidebar(gmpcPluginParent *plug);
54 void gmpc_plugin_sidebar_set_state(gmpcPluginParent *plug, GmpcPluginSidebarState state);
55 void gmpc_plugin_sidebar_init(gmpcPluginParent *plug);
56 void gmpc_plugin_browser_unselected(gmpcPluginParent * plug,
57 GtkWidget * container);
58 void gmpc_plugin_browser_selected(gmpcPluginParent * plug,
59 GtkWidget * container);
60 void gmpc_plugin_browser_add(gmpcPluginParent * plug, GtkWidget * cat_tree);
61 int gmpc_plugin_browser_cat_right_mouse_menu(gmpcPluginParent * plug,
62 GtkWidget * menu, int type,
63 GtkWidget * tree,
64 GdkEventButton * event);
65 int gmpc_plugin_browser_key_press_event(gmpcPluginParent * plug, GtkWidget * mw,
66 GdkEventKey * event, int type);
67 int gmpc_plugin_browser_add_go_menu(gmpcPluginParent * plug, GtkWidget * menu);
68 int gmpc_plugin_browser_song_list_option_menu(gmpcPluginParent * plug,
69 GtkTreeView * tree,
70 GtkMenu * menu);
71 gboolean gmpc_plugin_browser_has_integrate_search(gmpcPluginParent * plug);
72 MpdData *gmpc_plugin_browser_integrate_search(gmpcPluginParent * plug,
73 const int search_field,
74 const gchar * query,
75 GError ** error);
76 gboolean gmpc_plugin_browser_integrate_search_field_supported(gmpcPluginParent *
77 plug,
78 const int
79 search_field);
81 gboolean gmpc_plugin_has_preferences(gmpcPluginParent * plug);
82 void gmpc_plugin_preferences_construct(gmpcPluginParent * plug,
83 GtkWidget * wid);
84 void gmpc_plugin_preferences_destroy(gmpcPluginParent * plug, GtkWidget * wid);
86 int gmpc_plugin_get_type(gmpcPluginParent * plug);
87 const int *gmpc_plugin_get_version(gmpcPluginParent * plug);
88 gboolean gmpc_plugin_is_internal(gmpcPluginParent * plug);
90 typedef struct _gmpcPluginParent
92 gmpcPlugin *old;
93 GmpcPluginBase *new;
94 } _gmpcPluginParent;
95 #endif