diff options
author | kraxel <kraxel> | 2007-02-07 15:44:40 +0000 |
---|---|---|
committer | kraxel <kraxel> | 2007-02-07 15:44:40 +0000 |
commit | 7d906990781d561e9b196138356300460b2c0da2 (patch) | |
tree | 10e7cd650335b807c4580a305b349aa75c4b6c3e /mdns-browser.c | |
parent | 3afcd6538aeba46332c5ed8a2b020750a5f06d8a (diff) | |
download | xenwatch-7d906990781d561e9b196138356300460b2c0da2.tar.gz |
misc
Diffstat (limited to 'mdns-browser.c')
-rw-r--r-- | mdns-browser.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/mdns-browser.c b/mdns-browser.c index bca3ab1..ec5c1a2 100644 --- a/mdns-browser.c +++ b/mdns-browser.c @@ -13,6 +13,7 @@ #include "mdns.h" #include "apps.h" +#include "vnc.h" /* ------------------------------------------------------------------ */ @@ -22,6 +23,7 @@ static struct mdns_window *mdns; static char *service = "_ssh._tcp"; static char *domain = NULL; static enum mdns_view view = MDNS_VIEW_DEFAULT; +static mdns_callback callback = NULL; /* ------------------------------------------------------------------ */ @@ -47,6 +49,12 @@ static void usage(FILE *fp) service); } +static void vnc_callback(struct mdns_window *mdns, char *name, char *type, + char *host, int port, char *url) +{ + vnc_open(host, port, VNC_FLAG_US_KBD, 0); +} + int main(int argc, char *argv[]) { @@ -89,7 +97,12 @@ main(int argc, char *argv[]) fcntl(ConnectionNumber(dpy),F_SETFD,FD_CLOEXEC); detect_desktop(); - mdns = mdns_create_window(1, view, NULL); +#ifdef HAVE_VNCCLIENT + if (0 == strcmp(service, "_rfb._tcp")) + callback = vnc_callback; +#endif + + mdns = mdns_create_window(1, view, callback); if (NULL == mdns) { fprintf(stderr,"Oops: mDNS did't initialize ok\n"); exit(1); |