aboutsummaryrefslogtreecommitdiffstats
path: root/mdns.c
diff options
context:
space:
mode:
authorkraxel <kraxel>2007-02-07 09:35:45 +0000
committerkraxel <kraxel>2007-02-07 09:35:45 +0000
commitd857edabedfa81d983d4e8dd0363a58de9792c3e (patch)
tree965b71b6c90d605dd141c330b0eb03bc73b9162d /mdns.c
parent32f212ab9d1b4dcf4e2be5abc3776d8192bb93f4 (diff)
downloadxenwatch-d857edabedfa81d983d4e8dd0363a58de9792c3e.tar.gz
misc tweaks
Diffstat (limited to 'mdns.c')
-rw-r--r--mdns.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/mdns.c b/mdns.c
index 1336559..7d32d0d 100644
--- a/mdns.c
+++ b/mdns.c
@@ -119,6 +119,7 @@ struct mdns_window {
GtkWidget *toplevel, *view, *status;
GtkActionGroup *ag;
int standalone;
+ mdns_callback callback;
const AvahiPoll *poll_api;
AvahiGLibPoll *glib_poll;
@@ -715,7 +716,7 @@ static void row_activate(GtkTreeView* treeview,
GtkTreeViewColumn* col,
gpointer data)
{
-// struct mdns_window *mdns = data;
+ struct mdns_window *mdns = data;
GtkTreeModel* model;
GtkTreeIter iter;
char *name, *type, *host, *port, *url;
@@ -732,9 +733,13 @@ static void row_activate(GtkTreeView* treeview,
ST_COL_URL, &url,
-1);
- rc = run_actions(default_actions, array_size(default_actions),
- name, type, host, port, url);
- /* FIXME: error message if failed */
+ if (mdns->callback) {
+ mdns->callback(mdns, name, type, host, atoi(port), url);
+ } else {
+ rc = run_actions(default_actions, array_size(default_actions),
+ name, type, host, port, url);
+ /* FIXME: error message if failed */
+ }
}
/* ---------------------------------------------------------------------- */
@@ -850,9 +855,11 @@ static char ui_xml[] =
" <menuitem action='ColXenVmUUID'/>"
" </menu>"
" </menubar>"
+#ifdef WITH_TOOLBAR
" <toolbar action='ToolBar'>"
" <toolitem action='Close'/>"
" </toolbar>"
+#endif
"</ui>";
/* ------------------------------------------------------------------ */
@@ -1024,7 +1031,8 @@ static void set_default_visible_cols(struct mdns_window *mdns, enum mdns_view vi
gtk_toggle_action_set_active(ta, view == MDNS_VIEW_XEN);
}
-struct mdns_window *mdns_create_window(int standalone, enum mdns_view view)
+struct mdns_window *mdns_create_window(int standalone, enum mdns_view view,
+ mdns_callback callback)
{
struct mdns_window *mdns;
GtkWidget *vbox, *menubar, *toolbar, *scroll, *frame;
@@ -1039,6 +1047,7 @@ struct mdns_window *mdns_create_window(int standalone, enum mdns_view view)
return NULL;
}
mdns->standalone = standalone;
+ mdns->callback = callback;
mdns->toplevel = gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_window_set_title(GTK_WINDOW(mdns->toplevel), "mdns");
@@ -1099,7 +1108,8 @@ struct mdns_window *mdns_create_window(int standalone, enum mdns_view view)
menubar = gtk_ui_manager_get_widget(ui, "/MainMenu");
gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0);
toolbar = gtk_ui_manager_get_widget(ui, "/ToolBar");
- gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
+ if (toolbar)
+ gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(vbox), scroll, TRUE, TRUE, 0);
gtk_container_add(GTK_CONTAINER(scroll), mdns->view);
@@ -1131,7 +1141,8 @@ int mdns_view(struct mdns_window *mdns, enum mdns_view view)
#else /* ! HAVE_AVAHI */
-struct mdns_window *mdns_create_window(int standalone, enum mdns_view view)
+struct mdns_window *mdns_create_window(int standalone, enum mdns_view view,
+ mdns_callback callback)
{
fprintf(stderr,"Compiled without mDNS support, sorry.\n");
return NULL;