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.
22 #include <libmpd/libmpd.h>
24 #include "gmpc-extras.h"
25 #include "gmpc-mpddata-model.h"
27 #ifndef __PLUGIN_INTERNAL_H__
28 #define __PLUGIN_INTERNAL_H__
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
,
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
,
71 gboolean
gmpc_plugin_browser_has_integrate_search(gmpcPluginParent
* plug
);
72 MpdData
*gmpc_plugin_browser_integrate_search(gmpcPluginParent
* plug
,
73 const int search_field
,
76 gboolean
gmpc_plugin_browser_integrate_search_field_supported(gmpcPluginParent
*
81 gboolean
gmpc_plugin_has_preferences(gmpcPluginParent
* plug
);
82 void gmpc_plugin_preferences_construct(gmpcPluginParent
* plug
,
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