From 00b7964459cd05a2767fa6fb18c691d4e72a4752 Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 28 Jun 2011 10:50:32 +0200 Subject: added the networkDiscovery project into a new workspace folder hope that everything will work fine with eclipse afterwards ... --- .../org.eclipse.ltk.core.refactoring.prefs | 3 + workspace/networkDiscovery/dhcpcd/.gitignore | 5 + workspace/networkDiscovery/dhcpcd/README | 45 + workspace/networkDiscovery/dhcpcd/arp.c | 284 +++++ workspace/networkDiscovery/dhcpcd/arp.h | 39 + workspace/networkDiscovery/dhcpcd/client.c | 1136 ++++++++++++++++++++ workspace/networkDiscovery/dhcpcd/client.h | 35 + workspace/networkDiscovery/dhcpcd/common.c | 249 +++++ workspace/networkDiscovery/dhcpcd/common.h | 68 ++ workspace/networkDiscovery/dhcpcd/config.h | 133 +++ workspace/networkDiscovery/dhcpcd/configure.c | 809 ++++++++++++++ workspace/networkDiscovery/dhcpcd/configure.h | 38 + workspace/networkDiscovery/dhcpcd/dhcp.c | 932 ++++++++++++++++ workspace/networkDiscovery/dhcpcd/dhcp.h | 216 ++++ workspace/networkDiscovery/dhcpcd/dhcpcd.8.in | 365 +++++++ workspace/networkDiscovery/dhcpcd/dhcpcd.c | 145 +++ workspace/networkDiscovery/dhcpcd/dhcpcd.h | 94 ++ workspace/networkDiscovery/dhcpcd/dhcpcd.sh | 46 + workspace/networkDiscovery/dhcpcd/duid.c | 118 ++ workspace/networkDiscovery/dhcpcd/duid.h | 42 + workspace/networkDiscovery/dhcpcd/info.c | 472 ++++++++ workspace/networkDiscovery/dhcpcd/info.h | 42 + workspace/networkDiscovery/dhcpcd/interface.c | 1060 ++++++++++++++++++ workspace/networkDiscovery/dhcpcd/interface.h | 173 +++ workspace/networkDiscovery/dhcpcd/ipv4ll.c | 70 ++ workspace/networkDiscovery/dhcpcd/ipv4ll.h | 39 + workspace/networkDiscovery/dhcpcd/logger.c | 119 ++ workspace/networkDiscovery/dhcpcd/logger.h | 44 + workspace/networkDiscovery/dhcpcd/mk/cc.mk | 23 + workspace/networkDiscovery/dhcpcd/mk/depend.mk | 11 + workspace/networkDiscovery/dhcpcd/mk/dist.mk | 11 + workspace/networkDiscovery/dhcpcd/mk/man.mk | 14 + workspace/networkDiscovery/dhcpcd/mk/os.mk | 77 ++ workspace/networkDiscovery/dhcpcd/mk/prog.mk | 34 + workspace/networkDiscovery/dhcpcd/signal.c | 183 ++++ workspace/networkDiscovery/dhcpcd/signal.h | 40 + workspace/networkDiscovery/dhcpcd/socket.c | 647 +++++++++++ workspace/networkDiscovery/dhcpcd/socket.h | 46 + workspace/networkDiscovery/main.cpp | 12 + workspace/networkDiscovery/networkDiscovery.pro | 40 + workspace/networkDiscovery/networkdiscovery.cpp | 311 ++++++ workspace/networkDiscovery/networkdiscovery.h | 24 + workspace/networkDiscovery/networkdiscovery.ui | 19 + 43 files changed, 8313 insertions(+) create mode 100644 workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs create mode 100644 workspace/networkDiscovery/dhcpcd/.gitignore create mode 100644 workspace/networkDiscovery/dhcpcd/README create mode 100644 workspace/networkDiscovery/dhcpcd/arp.c create mode 100644 workspace/networkDiscovery/dhcpcd/arp.h create mode 100644 workspace/networkDiscovery/dhcpcd/client.c create mode 100644 workspace/networkDiscovery/dhcpcd/client.h create mode 100644 workspace/networkDiscovery/dhcpcd/common.c create mode 100644 workspace/networkDiscovery/dhcpcd/common.h create mode 100644 workspace/networkDiscovery/dhcpcd/config.h create mode 100644 workspace/networkDiscovery/dhcpcd/configure.c create mode 100644 workspace/networkDiscovery/dhcpcd/configure.h create mode 100644 workspace/networkDiscovery/dhcpcd/dhcp.c create mode 100644 workspace/networkDiscovery/dhcpcd/dhcp.h create mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.8.in create mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.c create mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.h create mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.sh create mode 100644 workspace/networkDiscovery/dhcpcd/duid.c create mode 100644 workspace/networkDiscovery/dhcpcd/duid.h create mode 100644 workspace/networkDiscovery/dhcpcd/info.c create mode 100644 workspace/networkDiscovery/dhcpcd/info.h create mode 100644 workspace/networkDiscovery/dhcpcd/interface.c create mode 100644 workspace/networkDiscovery/dhcpcd/interface.h create mode 100644 workspace/networkDiscovery/dhcpcd/ipv4ll.c create mode 100644 workspace/networkDiscovery/dhcpcd/ipv4ll.h create mode 100644 workspace/networkDiscovery/dhcpcd/logger.c create mode 100644 workspace/networkDiscovery/dhcpcd/logger.h create mode 100644 workspace/networkDiscovery/dhcpcd/mk/cc.mk create mode 100644 workspace/networkDiscovery/dhcpcd/mk/depend.mk create mode 100644 workspace/networkDiscovery/dhcpcd/mk/dist.mk create mode 100644 workspace/networkDiscovery/dhcpcd/mk/man.mk create mode 100644 workspace/networkDiscovery/dhcpcd/mk/os.mk create mode 100644 workspace/networkDiscovery/dhcpcd/mk/prog.mk create mode 100644 workspace/networkDiscovery/dhcpcd/signal.c create mode 100644 workspace/networkDiscovery/dhcpcd/signal.h create mode 100644 workspace/networkDiscovery/dhcpcd/socket.c create mode 100644 workspace/networkDiscovery/dhcpcd/socket.h create mode 100644 workspace/networkDiscovery/main.cpp create mode 100644 workspace/networkDiscovery/networkDiscovery.pro create mode 100644 workspace/networkDiscovery/networkdiscovery.cpp create mode 100644 workspace/networkDiscovery/networkdiscovery.h create mode 100644 workspace/networkDiscovery/networkdiscovery.ui diff --git a/workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs b/workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000..0dba4ef --- /dev/null +++ b/workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Fri Jun 24 11:22:33 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/workspace/networkDiscovery/dhcpcd/.gitignore b/workspace/networkDiscovery/dhcpcd/.gitignore new file mode 100644 index 0000000..6eb1591 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/.gitignore @@ -0,0 +1,5 @@ +*.o +version.h +dhcpcd +dhcpcd.8 +dhcpcd-*.bz2 diff --git a/workspace/networkDiscovery/dhcpcd/README b/workspace/networkDiscovery/dhcpcd/README new file mode 100644 index 0000000..9089ec6 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/README @@ -0,0 +1,45 @@ +dhcpcd-3 - DHCP client daemon +Copyright 2006-2008 Roy Marples + + +Installation +------------ +Edit config.h to match your building requirements. + +Take special note of ENABLE_DUID and unset it if the target media is +volatile, like say a LiveCD. + +Then just make; make install + +man dhcpcd for command line options + + +Notes +----- +If you're cross compiling you may need to send HAVE_FORK=yes or HAVE_FORK=no +to the make command to avoid to automatic test. + +We try and detect how to restart ntp and ypbind, you can override this with +HAVE_INIT=no or force one of these values +OPENRC (OpenRC as used by Gentoo (forked from baselayout)) +BSDRC (BSD RC system - /etc/rc.d/ntpd restart ) +SERVICE (RedHat service command - service ntpd restart) +SLACKRC (Slackware RC system - /etc/rc.d/rc.ntpd restart) +SYSV (SYSV style - /etc/init.d/ntpd restart) + +You can change the default dir where dhcpcd stores it's .info files with +INFODIR=/var/db + +We now default to using -std=c99. For 64-bit linux, this always works, but +for 32-bit linux it requires either gnu99 or a patch to asm/types.h. +Most distros patch linux headers so this should work fine. +linux-2.6.24 finally ships with a working 32-bit header. +If your linux headers are older, or your distro hasn't patched them you can +set CSTD=gnu99 to work around this. + + +ChangeLog +--------- +We no longer supply a ChangeLog. +However, you're more than welcome to read the git commit comments at +http://git.marples.name/?p=dhcpcd/.git;a=summary diff --git a/workspace/networkDiscovery/dhcpcd/arp.c b/workspace/networkDiscovery/dhcpcd/arp.c new file mode 100644 index 0000000..794850c --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/arp.c @@ -0,0 +1,284 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#ifdef __linux__ +#include +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "arp.h" +#include "interface.h" +#include "logger.h" +#include "signal.h" +#include "socket.h" + +/* These are really for IPV4LL */ +#define NPROBES 3 +#define PROBE_INTERVAL 200 +#define NCLAIMS 2 +#define CLAIM_INTERVAL 200 + +/* Linux does not seem to define these handy macros */ +#ifndef ar_sha +#define ar_sha(ap) (((caddr_t) ((ap) + 1)) + 0) +#define ar_spa(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln) +#define ar_tha(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln + (ap)->ar_pln) +#define ar_tpa(ap) (((caddr_t) ((ap) + 1)) + 2 * (ap)->ar_hln + (ap)->ar_pln) +#endif + +#ifndef arphdr_len +#define arphdr_len2(ar_hln, ar_pln) (sizeof (struct arphdr) + \ + 2 * (ar_hln) + 2 * (ar_pln)) +#define arphdr_len(ap) (arphdr_len2 ((ap)->ar_hln, (ap)->ar_pln)) +#endif + +#ifdef ENABLE_ARP + +static int send_arp (const interface_t *iface, int op, struct in_addr sip, + const unsigned char *taddr, struct in_addr tip) +{ + struct arphdr *arp; + size_t arpsize = arphdr_len2 (iface->hwlen, sizeof (sip)); + caddr_t tha; + int retval; + + arp = xzalloc (arpsize); + arp->ar_hrd = htons (iface->family); + arp->ar_pro = htons (ETHERTYPE_IP); + arp->ar_hln = iface->hwlen; + arp->ar_pln = sizeof (sip); + arp->ar_op = htons (op); + memcpy (ar_sha (arp), iface->hwaddr, (size_t) arp->ar_hln); + memcpy (ar_spa (arp), &sip, (size_t) arp->ar_pln); + if (taddr) { + /* NetBSD can return NULL from ar_tha, which is probably wrong + * but we still need to deal with it */ + if (! (tha = ar_tha (arp))) { + free (arp); + errno = EINVAL; + return (-1); + } + memcpy (tha, taddr, (size_t) arp->ar_hln); + } + memcpy (ar_tpa (arp), &tip, (size_t) arp->ar_pln); + + retval = send_packet (iface, ETHERTYPE_ARP, + (unsigned char *) arp, arphdr_len (arp)); + free (arp); + return (retval); +} + +int arp_claim (interface_t *iface, struct in_addr address) +{ + struct arphdr *reply = NULL; + long timeout = 0; + unsigned char *buffer; + int retval = -1; + int nprobes = 0; + int nclaims = 0; + struct in_addr null_address; + struct pollfd fds[] = { + { -1, POLLIN, 0 }, + { -1, POLLIN, 0 } + }; + + if (! iface) + return (-1); + + if (! iface->arpable) { + logger (LOG_DEBUG, "interface `%s' is not ARPable", iface->name); + return (0); + } + + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && + ! IN_LINKLOCAL (ntohl (address.s_addr))) + logger (LOG_INFO, + "checking %s is available on attached networks", + inet_ntoa (address)); + + if (! open_socket (iface, ETHERTYPE_ARP)) + return (-1); + + fds[0].fd = signal_fd (); + fds[1].fd = iface->fd; + + memset (&null_address, 0, sizeof (null_address)); + + buffer = xmalloc (iface->buffer_length); + reply = xmalloc (iface->buffer_length); + + for (;;) { + size_t bufpos = 0; + size_t buflen = iface->buffer_length; + int bytes; + int s = 0; + struct timeval stopat; + struct timeval now; + + /* Only poll if we have a timeout */ + if (timeout > 0) { + s = poll (fds, 2, timeout); + if (s == -1) { + if (errno == EINTR) { + if (signal_exists (NULL) == -1) { + errno = 0; + continue; + } else + break; + } + + logger (LOG_ERR, "poll: `%s'", + strerror (errno)); + break; + } + } + + /* Timed out */ + if (s == 0) { + if (nprobes < NPROBES) { + nprobes ++; + timeout = PROBE_INTERVAL; + logger (LOG_DEBUG, "sending ARP probe #%d", + nprobes); + if (send_arp (iface, ARPOP_REQUEST, + null_address, NULL, + address) == -1) + break; + + /* IEEE1394 cannot set ARP target address + * according to RFC2734 */ + if (nprobes >= NPROBES && + iface->family == ARPHRD_IEEE1394) + nclaims = NCLAIMS; + } else if (nclaims < NCLAIMS) { + nclaims ++; + timeout = CLAIM_INTERVAL; + logger (LOG_DEBUG, "sending ARP claim #%d", + nclaims); + if (send_arp (iface, ARPOP_REQUEST, + address, iface->hwaddr, + address) == -1) + break; + } else { + /* No replies, so done */ + retval = 0; + break; + } + + /* Setup our stop time */ + if (get_time (&stopat) != 0) + break; + stopat.tv_usec += timeout; + + continue; + } + + /* We maybe ARP flooded, so check our time */ + if (get_time (&now) != 0) + break; + if (timercmp (&now, &stopat, >)) { + timeout = 0; + continue; + } + + if (! fds[1].revents & POLLIN) + continue; + + memset (buffer, 0, buflen); + do { + union { + unsigned char *c; + struct in_addr *a; + } rp; + union { + unsigned char *c; + struct ether_addr *a; + } rh; + + memset (reply, 0, iface->buffer_length); + if ((bytes = get_packet (iface, (unsigned char *) reply, + buffer, + &buflen, &bufpos)) == -1) + break; + + /* Only these types are recognised */ + if (reply->ar_op != htons (ARPOP_REPLY)) + continue; + + /* Protocol must be IP. */ + if (reply->ar_pro != htons (ETHERTYPE_IP)) + continue; + if (reply->ar_pln != sizeof (address)) + continue; + if ((unsigned) bytes < sizeof (reply) + + 2 * (4 + reply->ar_hln)) + continue; + + rp.c = (unsigned char *) ar_spa (reply); + rh.c = (unsigned char *) ar_sha (reply); + + /* Ensure the ARP reply is for the our address */ + if (rp.a->s_addr != address.s_addr) + continue; + + /* Some systems send a reply back from our hwaddress, + * which is wierd */ + if (reply->ar_hln == iface->hwlen && + memcmp (rh.c, iface->hwaddr, iface->hwlen) == 0) + continue; + + logger (LOG_ERR, "ARPOP_REPLY received from %s (%s)", + inet_ntoa (*rp.a), + hwaddr_ntoa (rh.c, (size_t) reply->ar_hln)); + retval = -1; + goto eexit; + } while (bufpos != 0); + } + +eexit: + close (iface->fd); + iface->fd = -1; + free (buffer); + free (reply); + return (retval); +} +#endif diff --git a/workspace/networkDiscovery/dhcpcd/arp.h b/workspace/networkDiscovery/dhcpcd/arp.h new file mode 100644 index 0000000..3b7e8ef --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/arp.h @@ -0,0 +1,39 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef ARP_H +#define ARP_H + +#ifdef ENABLE_ARP +#include + +#include "interface.h" + +int arp_claim (interface_t *iface, struct in_addr address); +#endif + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/client.c b/workspace/networkDiscovery/dhcpcd/client.c new file mode 100644 index 0000000..8ce2721 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/client.c @@ -0,0 +1,1136 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#ifdef __linux__ +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#ifdef ENABLE_ARP +# include "arp.h" +#endif +#include "client.h" +#include "configure.h" +#include "dhcp.h" +#include "dhcpcd.h" +#include "info.h" +#include "interface.h" +#ifdef ENABLE_IPV4LL +# include "ipv4ll.h" +#endif +#include "logger.h" +#include "signal.h" +#include "socket.h" + +#ifdef ENABLE_DUID +# include "duid.h" +#endif + +#ifdef ENABLE_INFO +# include "info.h" +#endif + +#ifdef THERE_IS_NO_FORK +# ifndef ENABLE_INFO + # error "Non MMU requires ENABLE_INFO to work" +# endif +#endif + +/* Some platforms don't define INFTIM */ +#ifndef INFTIM +# define INFTIM -1 +#endif + +/* This is out mini timeout. + * Basically we resend the last request every TIMEOUT_MINI seconds. */ +#define TIMEOUT_MINI 3 +/* Except for an infinite timeout. We keep adding TIMEOUT_MINI to + * ourself until TIMEOUT_MINI_INF is reached. */ +#define TIMEOUT_MINI_INF 60 + +#define STATE_INIT 0 +#define STATE_REQUESTING 1 +#define STATE_BOUND 2 +#define STATE_RENEWING 3 +#define STATE_REBINDING 4 +#define STATE_REBOOT 5 +#define STATE_RENEW_REQUESTED 6 +#define STATE_RELEASED 7 + +/* We should define a maximum for the NAK exponential backoff */ +#define NAKOFF_MAX 60 + +#define SOCKET_CLOSED 0 +#define SOCKET_OPEN 1 + +/* Indexes for pollfds */ +#define POLLFD_SIGNAL 0 +#define POLLFD_IFACE 1 + +typedef struct _state { + int *pidfd; + bool forked; + int state; + uint32_t xid; + dhcp_t *dhcp; + int socket; + interface_t *interface; + time_t start; + time_t last_sent; + time_t last_type; + long timeout; + time_t nakoff; + bool daemonised; + bool persistent; + unsigned char *buffer; + size_t buffer_len; + size_t buffer_pos; +} state_t; + +static pid_t daemonise (int *pidfd) +{ + pid_t pid; + sigset_t full; + sigset_t old; +#ifdef THERE_IS_NO_FORK + char **argv; + int i; +#endif + + sigfillset (&full); + sigprocmask (SIG_SETMASK, &full, &old); + +#ifndef THERE_IS_NO_FORK + logger (LOG_DEBUG, "forking to background"); + switch (pid = fork()) { + case -1: + logger (LOG_ERR, "fork: %s", strerror (errno)); + exit (EXIT_FAILURE); + /* NOT REACHED */ + case 0: + setsid (); + close_fds (); + break; + default: + /* Reset our signals as we're the parent about to exit. */ + signal_reset (); + break; + } +#else + logger (LOG_INFO, "forking to background"); + + /* We need to add --daemonise to our options */ + argv = xmalloc (sizeof (char *) * (dhcpcd_argc + 4)); + argv[0] = dhcpcd; + for (i = 1; i < dhcpcd_argc; i++) + argv[i] = dhcpcd_argv[i]; + argv[i] = (char *) "--daemonised"; + if (dhcpcd_skiproutes) { + argv[++i] = (char *) "--skiproutes"; + argv[++i] = dhcpcd_skiproutes; + } + argv[i + 1] = NULL; + + switch (pid = vfork ()) { + case -1: + logger (LOG_ERR, "vfork: %s", strerror (errno)); + _exit (EXIT_FAILURE); + case 0: + signal_reset (); + sigprocmask (SIG_SETMASK, &old, NULL); + execvp (dhcpcd, argv); + logger (LOG_ERR, "execl `%s': %s", dhcpcd, + strerror (errno)); + _exit (EXIT_FAILURE); + } + + free (argv); +#endif + + /* Done with the fd now */ + if (pid != 0) { + writepid (*pidfd, pid); + close (*pidfd); + *pidfd = -1; + + } + + sigprocmask (SIG_SETMASK, &old, NULL); + return (pid); +} + +#ifdef ENABLE_INFO +static bool get_old_lease (state_t *state, const options_t *options) +{ + interface_t *iface = state->interface; + dhcp_t *dhcp = state->dhcp; + struct timeval tv; + unsigned int offset = 0; + + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_INFO, "trying to use old lease in `%s'", + iface->infofile); + if (! read_info (iface, dhcp)) + return (false); + + /* Vitaly important we remove the server information here */ + memset (&dhcp->serveraddress, 0, sizeof (dhcp->serveraddress)); + memset (dhcp->servername, 0, sizeof (dhcp->servername)); + +#ifdef ENABLE_ARP + /* Check that no-one is using the address */ + if ((options->dolastlease || + (IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && + (! options->doipv4ll || + arp_claim (iface, dhcp->address))))) + { + memset (&dhcp->address, 0, sizeof (dhcp->address)); + memset (&dhcp->netmask, 0, sizeof (dhcp->netmask)); + memset (&dhcp->broadcast, 0, sizeof (dhcp->broadcast)); + return (false); + } + + /* Ok, lets use this */ + if (IN_LINKLOCAL (dhcp->address.s_addr)) + return (true); +#endif + + /* Ensure that we can still use the lease */ + if (gettimeofday (&tv, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (false); + } + + offset = tv.tv_sec - dhcp->leasedfrom; + if (dhcp->leasedfrom && + tv.tv_sec - dhcp->leasedfrom > dhcp->leasetime) + { + logger (LOG_ERR, "lease expired %u seconds ago", + offset + dhcp->leasetime); + return (false); + } + + if (dhcp->leasedfrom == 0) + offset = 0; + state->timeout = dhcp->renewaltime - offset; + iface->start_uptime = uptime (); + return (true); +} +#endif + +#ifdef THERE_IS_NO_FORK +static void remove_skiproutes (dhcp_t *dhcp, interface_t *iface) +{ + int i = -1; + route_t *route; + route_t *newroute; + + free_route (iface->previous_routes); + iface->previous_routes = NULL; + + NSTAILQ_FOREACH (route, dhcp->routes, entries) { + i++; + + /* Check that we did add this route or not */ + if (dhcpcd_skiproutes) { + char *sk = xstrdup (dhcpcd_skiproutes); + char *skp = sk; + char *token; + bool found = false; + + while ((token = strsep (&skp, ","))) { + if (isdigit (*token) && atoi (token) == i) { + found = true; + break; + } + } + free (sk); + if (found) + continue; + } + + if (! iface->previous_routes) { + iface->previous_routes = xmalloc (sizeof (*iface->previous_routes)); + STAILQ_INIT (iface->previous_routes); + } + + newroute = xmalloc (sizeof (*newroute)); + memcpy (newroute, route, sizeof (*newroute)); + STAILQ_INSERT_TAIL (iface->previous_routes, newroute, entries); + } + + /* We no longer need this argument */ + free (dhcpcd_skiproutes); + dhcpcd_skiproutes = NULL; +} +#endif + +static bool client_setup (state_t *state, const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + + state->state = STATE_INIT; + state->last_type = DHCP_DISCOVER; + state->nakoff = 1; + state->daemonised = options->daemonised; + state->persistent = options->persistent; + + if (options->request_address.s_addr == 0 && + (options->doinform || options->dorequest || options->daemonised)) + { +#ifdef ENABLE_INFO + if (! get_old_lease (state, options)) +#endif + { + free (dhcp); + return (false); + } + state->timeout = 0; + + if (! options->daemonised && + IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + { + logger (LOG_ERR, "cannot request a link local address"); + return (false); + } +#ifdef THERE_IS_NO_FORK + if (options->daemonised) { + state->state = STATE_BOUND; + state->timeout = dhcp->renewaltime; + iface->previous_address = dhcp->address; + iface->previous_netmask = dhcp->netmask; + remove_skiproutes (dhcp, iface); + } +#endif + + } else { + dhcp->address = options->request_address; + dhcp->netmask = options->request_netmask; + if (dhcp->netmask.s_addr == 0) + dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); + dhcp->broadcast.s_addr = dhcp->address.s_addr | + ~dhcp->netmask.s_addr; + } + + /* Remove all existing addresses. + * After all, we ARE a DHCP client whose job it is to configure the + * interface. We only do this on start, so persistent addresses + * can be added afterwards by the user if needed. */ + if (! options->test && ! options->daemonised) { + if (! options->doinform) { + flush_addresses (iface->name); + } else { + /* The inform address HAS to be configured for it to + * work with most DHCP servers */ + if (options->doinform && + has_address (iface->name, dhcp->address) < 1) + { + add_address (iface->name, dhcp->address, + dhcp->netmask, dhcp->broadcast); + iface->previous_address = dhcp->address; + iface->previous_netmask = dhcp->netmask; + } + } + } + + if (*options->clientid) { + /* Attempt to see if the ClientID is a hardware address */ + iface->clientid_len = hwaddr_aton (NULL, options->clientid); + if (iface->clientid_len) { + iface->clientid = xmalloc (iface->clientid_len); + hwaddr_aton (iface->clientid, options->clientid); + } else { + /* Nope, so mark it as-is */ + iface->clientid_len = strlen (options->clientid) + 1; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = '\0'; + memcpy (iface->clientid + 1, + options->clientid, iface->clientid_len - 1); + } + } else { +#ifdef ENABLE_DUID + unsigned char *duid = NULL; + size_t duid_len = 0; + + if (options->doduid) { + duid = xmalloc (DUID_LEN); + duid_len = get_duid (duid, iface); + } + + if (duid_len > 0) { + logger (LOG_INFO, "DUID = %s", hwaddr_ntoa (duid, duid_len)); + + iface->clientid_len = duid_len + 5; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = 255; /* RFC 4361 */ + + /* IAID is 4 bytes, so if the iface name is 4 bytes use it */ + if (strlen (iface->name) == 4) { + memcpy (iface->clientid + 1, iface->name, 4); + } else { + /* Name isn't 4 bytes, so use the index */ + uint32_t ul = htonl (if_nametoindex (iface->name)); + memcpy (iface->clientid + 1, &ul, 4); + } + + memcpy (iface->clientid + 5, duid, duid_len); + free (duid); + } else { +#else + { +#endif + iface->clientid_len = iface->hwlen + 1; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = iface->family; + memcpy (iface->clientid + 1, iface->hwaddr, iface->hwlen); + } + } + + return (true); +} + +static bool do_socket (state_t *state, int mode) +{ + if (state->interface->fd >= 0) + close (state->interface->fd); +#ifdef __linux + if (mode == SOCKET_CLOSED && state->interface->listen_fd >= 0) { + close (state->interface->listen_fd); + state->interface->listen_fd = -1; + } +#endif + + state->interface->fd = -1; + if (mode == SOCKET_OPEN) + if (open_socket (state->interface, ETHERTYPE_IP) == -1) + return (false); + state->socket = mode; + return (true); +} + +static bool _send_message (state_t *state, int type, const options_t *options) +{ + ssize_t retval; + + state->last_type = type; + state->last_sent = uptime (); + retval = send_message (state->interface, state->dhcp, state->xid, + type, options); + return (retval == -1 ? false : true); +} + +static void drop_config (state_t *state, const options_t *options) +{ + if (! state->persistent) + configure (options, state->interface, state->dhcp, false); + + free_dhcp (state->dhcp); + memset (state->dhcp, 0, sizeof (*state->dhcp)); +} + +static int wait_for_packet (struct pollfd *fds, state_t *state, + const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + int timeout = 0; + int retval = 0; + + if (! (state->timeout > 0 || + (options->timeout == 0 && + (state->state != STATE_INIT || state->xid)))) { + /* We need to zero our signal fd, otherwise we will block + * trying to read a signal. */ + fds[POLLFD_SIGNAL].revents = 0; + return (0); + } + + fds[POLLFD_IFACE].fd = iface->fd; + + if ((options->timeout == 0 && state->xid) || + (dhcp->leasetime == (unsigned) -1 && + state->state == STATE_BOUND)) + { + logger (LOG_DEBUG, "waiting for infinity"); + while (retval == 0) { + if (iface->fd == -1) + retval = poll (fds, 1, INFTIM); + else { + /* Slow down our requests */ + if (timeout < TIMEOUT_MINI_INF) + timeout += TIMEOUT_MINI; + else if (timeout > TIMEOUT_MINI_INF) + timeout = TIMEOUT_MINI_INF; + + retval = poll (fds, 2, timeout * 1000); + if (retval == -1 && errno == EINTR) { + /* If interupted, continue as normal as + * the signal will be delivered down + * the pipe */ + retval = 0; + continue; + } + if (retval == 0) + _send_message (state, state->last_type, + options); + } + } + + return (retval); + } + + /* Resend our message if we're getting loads of packets. + * As we use BPF or LPF, we shouldn't hit this as much, but it's + * still nice to have. */ + if (iface->fd > -1 && uptime () - state->last_sent >= TIMEOUT_MINI) + _send_message (state, state->last_type, options); + + logger (LOG_DEBUG, "waiting for %ld seconds", + (unsigned long) state->timeout); + /* If we're waiting for a reply, then we re-send the last + * DHCP request periodically in-case of a bad line */ + retval = 0; + while (state->timeout > 0 && retval == 0) { + if (iface->fd == -1) + timeout = (int) state->timeout; + else { + timeout = TIMEOUT_MINI; + if (state->timeout < timeout) + timeout = (int) state->timeout; + } + timeout *= 1000; + state->start = uptime (); + retval = poll (fds, iface->fd == -1 ? 1 : 2, timeout); + state->timeout -= uptime () - state->start; + if (retval == -1 && errno == EINTR) { + /* If interupted, continue as normal as the signal + * will be delivered down the pipe */ + retval = 0; + continue; + } + if (retval == 0 && iface->fd != -1 && state->timeout > 0) + _send_message (state, state->last_type, options); + } + + return (retval); +} + +static bool handle_signal (int sig, state_t *state, const options_t *options) +{ + switch (sig) { + case SIGINT: + logger (LOG_INFO, "received SIGINT, stopping"); + return (false); + case SIGTERM: + logger (LOG_INFO, "received SIGTERM, stopping"); + return (false); + + case SIGALRM: + logger (LOG_INFO, "received SIGALRM, renewing lease"); + switch (state->state) { + case STATE_BOUND: + case STATE_RENEWING: + case STATE_REBINDING: + state->state = STATE_RENEW_REQUESTED; + break; + case STATE_RENEW_REQUESTED: + case STATE_REQUESTING: + case STATE_RELEASED: + state->state = STATE_INIT; + break; + } + state->timeout = 0; + state->xid = 0; + return (true); + + case SIGHUP: + if (state->state != STATE_BOUND && + state->state != STATE_RENEWING && + state->state != STATE_REBINDING) + { + logger (LOG_ERR, + "received SIGHUP, but we no have lease to release"); + return (false); + } + + logger (LOG_INFO, "received SIGHUP, releasing lease"); + if (! IN_LINKLOCAL (ntohl (state->dhcp->address.s_addr))) { + do_socket (state, SOCKET_OPEN); + state->xid = (uint32_t) random (); + if ((open_socket (state->interface, false)) >= 0) + _send_message (state, DHCP_RELEASE, options); + do_socket (state, SOCKET_CLOSED); + } + unlink (state->interface->infofile); + return (false); + + default: + logger (LOG_ERR, + "received signal %d, but don't know what to do with it", + sig); + } + + return (false); +} + +static int handle_timeout (state_t *state, const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + + /* No NAK, so reset the backoff */ + state->nakoff = 1; + + if (state->state == STATE_INIT && state->xid != 0) { + if (iface->previous_address.s_addr != 0 && + ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && + ! options->doinform) + { + logger (LOG_ERR, "lost lease"); + if (! options->persistent) + drop_config (state, options); + } else if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_ERR, "timed out"); + + do_socket (state, SOCKET_CLOSED); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + +#ifdef ENABLE_INFO + if (! options->test && + (options->doipv4ll || options->dolastlease)) + { + errno = 0; + if (! get_old_lease (state, options)) + { + if (errno == EINTR) + return (0); + if (options->dolastlease) + return (-1); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + } else if (errno == EINTR) + return (0); + } +#endif + +#ifdef ENABLE_IPV4LL + if (! options->test && options->doipv4ll && + (! dhcp->address.s_addr || + (! IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && + ! options->dolastlease))) + { + logger (LOG_INFO, "probing for an IPV4LL address"); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + if (ipv4ll_get_address (iface, dhcp) == -1) { + if (! state->daemonised) + return (-1); + + /* start over */ + state->xid = 0; + return (0); + } + state->timeout = dhcp->renewaltime; + } +#endif + +#if defined (ENABLE_INFO) || defined (ENABLE_IPV4LL) + if (dhcp->address.s_addr) { + if (! state->daemonised && + IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + logger (LOG_WARNING, "using IPV4LL address %s", + inet_ntoa (dhcp->address)); + if (configure (options, iface, dhcp, true) == -1 && + ! state->daemonised) + return (-1); + + state->state = STATE_BOUND; + if (! state->daemonised && options->daemonise) { + switch (daemonise (state->pidfd)) { + case -1: + return (-1); + case 0: + state->daemonised = true; + return (0); + default: + state->persistent = true; + state->forked = true; + return (-1); + } + } + + state->timeout = dhcp->renewaltime; + state->xid = 0; + return (0); + } +#endif + + if (! state->daemonised) + return (-1); + } + + switch (state->state) { + case STATE_INIT: + state->xid = (uint32_t) random (); + do_socket (state, SOCKET_OPEN); + state->timeout = options->timeout; + iface->start_uptime = uptime (); + if (dhcp->address.s_addr == 0) { + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_INFO, "broadcasting for a lease"); + _send_message (state, DHCP_DISCOVER, options); + } else if (options->doinform) { + logger (LOG_INFO, "broadcasting inform for %s", + inet_ntoa (dhcp->address)); + _send_message (state, DHCP_INFORM, options); + state->state = STATE_REQUESTING; + } else { + logger (LOG_INFO, "broadcasting for a lease of %s", + inet_ntoa (dhcp->address)); + _send_message (state, DHCP_REQUEST, options); + state->state = STATE_REQUESTING; + } + + break; + case STATE_BOUND: + case STATE_RENEW_REQUESTED: + if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) { + memset (&dhcp->address, 0, sizeof (dhcp->address)); + state->state = STATE_INIT; + state->xid = 0; + break; + } + state->state = STATE_RENEWING; + state->xid = (uint32_t) random (); + /* FALLTHROUGH */ + case STATE_RENEWING: + iface->start_uptime = uptime (); + logger (LOG_INFO, "renewing lease of %s", inet_ntoa + (dhcp->address)); + do_socket (state, SOCKET_OPEN); + _send_message (state, DHCP_REQUEST, options); + state->timeout = dhcp->rebindtime - dhcp->renewaltime; + state->state = STATE_REBINDING; + break; + case STATE_REBINDING: + logger (LOG_ERR, "lost lease, attemping to rebind"); + memset (&dhcp->address, 0, sizeof (dhcp->address)); + do_socket (state, SOCKET_OPEN); + if (state->xid == 0) + state->xid = (uint32_t) random (); + dhcp->serveraddress.s_addr = 0; + _send_message (state, DHCP_REQUEST, options); + state->timeout = dhcp->leasetime - dhcp->rebindtime; + state->state = STATE_REQUESTING; + break; + case STATE_REQUESTING: + state->state = STATE_INIT; + do_socket (state, SOCKET_CLOSED); + state->timeout = 0; + break; + + case STATE_RELEASED: + dhcp->leasetime = 0; + break; + } + + return (0); +} + + +static int handle_dhcp (state_t *state, int type, const options_t *options) +{ + struct timespec ts; + interface_t *iface = state->interface; + dhcp_t *dhcp = state->dhcp; + + /* We should restart on a NAK */ + if (type == DHCP_NAK) { + logger (LOG_INFO, "received NAK: %s", dhcp->message); + state->state = STATE_INIT; + state->timeout = 0; + state->xid = 0; + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + + /* If we constantly get NAKS then we should slowly back off */ + if (state->nakoff > 0) { + logger (LOG_DEBUG, "sleeping for %ld seconds", + (long) state->nakoff); + ts.tv_sec = state->nakoff; + ts.tv_nsec = 0; + state->nakoff *= 2; + if (state->nakoff > NAKOFF_MAX) + state->nakoff = NAKOFF_MAX; + nanosleep (&ts, NULL); + } + + return (0); + } + + /* No NAK, so reset the backoff */ + state->nakoff = 1; + + if (type == DHCP_OFFER && state->state == STATE_INIT) { + char *addr = strdup (inet_ntoa (dhcp->address)); + if (dhcp->servername[0]) + logger (LOG_INFO, "offered %s from %s `%s'", + addr, inet_ntoa (dhcp->serveraddress), + dhcp->servername); + else + logger (LOG_INFO, "offered %s from %s", + addr, inet_ntoa (dhcp->serveraddress)); + free (addr); + +#ifdef ENABLE_INFO + if (options->test) { + write_info (iface, dhcp, options, false); + errno = 0; + return (-1); + } +#endif + + _send_message (state, DHCP_REQUEST, options); + state->state = STATE_REQUESTING; + + return (0); + } + + if (type == DHCP_OFFER) { + logger (LOG_INFO, "got subsequent offer of %s, ignoring ", + inet_ntoa (dhcp->address)); + return (0); + } + + /* We should only be dealing with acks */ + if (type != DHCP_ACK) { + logger (LOG_ERR, "%d not an ACK or OFFER", type); + return (0); + } + + switch (state->state) { + case STATE_RENEW_REQUESTED: + case STATE_REQUESTING: + case STATE_RENEWING: + case STATE_REBINDING: + break; + default: + logger (LOG_ERR, "wrong state %d", state->state); + } + + do_socket (state, SOCKET_CLOSED); + +#ifdef ENABLE_ARP + if (options->doarp && iface->previous_address.s_addr != + dhcp->address.s_addr) + { + errno = 0; + if (arp_claim (iface, dhcp->address)) { + do_socket (state, SOCKET_OPEN); + _send_message (state, DHCP_DECLINE, options); + do_socket (state, SOCKET_CLOSED); + + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + state->xid = 0; + state->timeout = 0; + state->state = STATE_INIT; + + /* RFC 2131 says that we should wait for 10 seconds + * before doing anything else */ + logger (LOG_INFO, "sleeping for 10 seconds"); + ts.tv_sec = 10; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (0); + } else if (errno == EINTR) + return (0); + } +#endif + + if (options->doinform) { + if (options->request_address.s_addr != 0) + dhcp->address = options->request_address; + else + dhcp->address = iface->previous_address; + + logger (LOG_INFO, "received approval for %s", + inet_ntoa (dhcp->address)); + if (iface->previous_netmask.s_addr != dhcp->netmask.s_addr) { + add_address (iface->name, dhcp->address, + dhcp->netmask, dhcp->broadcast); + iface->previous_netmask.s_addr = dhcp->netmask.s_addr; + } + state->timeout = options->leasetime; + if (state->timeout == 0) + state->timeout = DEFAULT_LEASETIME; + state->state = STATE_INIT; + } else if (dhcp->leasetime == (unsigned) -1) { + dhcp->renewaltime = dhcp->rebindtime = dhcp->leasetime; + state->timeout = 1; /* So we wait for infinity */ + logger (LOG_INFO, "leased %s for infinity", + inet_ntoa (dhcp->address)); + state->state = STATE_BOUND; + } else { + if (! dhcp->leasetime) { + dhcp->leasetime = DEFAULT_LEASETIME; + logger(LOG_INFO, + "no lease time supplied, assuming %d seconds", + dhcp->leasetime); + } + logger (LOG_INFO, "leased %s for %u seconds", + inet_ntoa (dhcp->address), dhcp->leasetime); + + if (dhcp->rebindtime >= dhcp->leasetime) { + dhcp->rebindtime = (dhcp->leasetime * 0.875); + logger (LOG_ERR, + "rebind time greater than lease " + "time, forcing to %u seconds", + dhcp->rebindtime); + } + + if (dhcp->renewaltime > dhcp->rebindtime) { + dhcp->renewaltime = (dhcp->leasetime * 0.5); + logger (LOG_ERR, + "renewal time greater than rebind time, " + "forcing to %u seconds", + dhcp->renewaltime); + } + + if (! dhcp->renewaltime) { + dhcp->renewaltime = (dhcp->leasetime * 0.5); + logger (LOG_INFO, + "no renewal time supplied, assuming %d seconds", + dhcp->renewaltime); + } else + logger (LOG_DEBUG, "renew in %u seconds", + dhcp->renewaltime); + + if (! dhcp->rebindtime) { + dhcp->rebindtime = (dhcp->leasetime * 0.875); + logger (LOG_INFO, + "no rebind time supplied, assuming %d seconds", + dhcp->rebindtime); + } else + logger (LOG_DEBUG, "rebind in %u seconds", + dhcp->rebindtime); + + state->timeout = dhcp->renewaltime; + state->state = STATE_BOUND; + } + + state->xid = 0; + + if (configure (options, iface, dhcp, true) == -1 && + ! state->daemonised) + return (-1); + + if (! state->daemonised && options->daemonise) { + switch (daemonise (state->pidfd)) { + case 0: + state->daemonised = true; + return (0); + case -1: + return (-1); + default: + state->persistent = true; + state->forked = true; + return (-1); + } + } + + return (0); +} + +static int handle_packet (state_t *state, const options_t *options) +{ + interface_t *iface = state->interface; + bool valid = false; + int type; + struct dhcp_t *new_dhcp; + dhcpmessage_t message; + + /* Allocate our buffer space for BPF. + * We cannot do this until we have opened our socket as we don't + * know how much of a buffer we need until then. */ + if (! state->buffer) + state->buffer = xmalloc (iface->buffer_length); + state->buffer_len = iface->buffer_length; + state->buffer_pos = 0; + + /* We loop through until our buffer is empty. + * The benefit is that if we get >1 DHCP packet in our buffer and + * the first one fails for any reason, we can use the next. */ + + memset (&message, 0, sizeof (message)); + new_dhcp = xmalloc (sizeof (*new_dhcp)); + + do { + if (get_packet (iface, (unsigned char *) &message, + state->buffer, + &state->buffer_len, &state->buffer_pos) == -1) + break; + + if (state->xid != message.xid) { + logger (LOG_DEBUG, + "ignoring packet with xid 0x%x as it's not ours (0x%x)", + message.xid, state->xid); + continue; + } + + logger (LOG_DEBUG, "got a packet with xid 0x%x", message.xid); + memset (new_dhcp, 0, sizeof (*new_dhcp)); + type = parse_dhcpmessage (new_dhcp, &message); + if (type == -1) { + logger (LOG_ERR, "failed to parse packet"); + free_dhcp (new_dhcp); + /* We don't abort on this, so return zero */ + return (0); + } + + /* If we got here then the DHCP packet is valid and appears to + * be for us, so let's clear the buffer as we don't care about + * any more DHCP packets at this point. */ + valid = true; + break; + } while (state->buffer_pos != 0); + + /* No packets for us, so wait until we get one */ + if (! valid) { + free (new_dhcp); + return (0); + } + + /* new_dhcp is now our master DHCP message */ + free_dhcp (state->dhcp); + free (state->dhcp); + state->dhcp = new_dhcp; + new_dhcp = NULL; + + return (handle_dhcp (state, type, options)); +} + +int dhcp_run (const options_t *options, int *pidfd) +{ + interface_t *iface; + state_t *state = NULL; + struct pollfd fds[] = { + { -1, POLLIN, 0 }, + { -1, POLLIN, 0 } + }; + int retval = -1; + int sig; + + if (! options) + return (-1); + + iface = read_interface (options->interface, options->metric); + if (! iface) + goto eexit; + + state = xzalloc (sizeof (*state)); + state->dhcp = xzalloc (sizeof (*state->dhcp)); + state->pidfd = pidfd; + state->interface = iface; + + if (! client_setup (state, options)) + goto eexit; + + if (signal_init () == -1) + goto eexit; + if (signal_setup () == -1) + goto eexit; + + fds[POLLFD_SIGNAL].fd = signal_fd (); + + for (;;) { + retval = wait_for_packet (fds, state, options); + + /* We should always handle our signals first */ + if ((sig = (signal_read (&fds[POLLFD_SIGNAL]))) != -1) { + if (handle_signal (sig, state, options)) + retval = 0; + else + retval = -1; + } else if (retval == 0) + retval = handle_timeout (state, options); + else if (retval > 0 && + state->socket != SOCKET_CLOSED && + fds[POLLFD_IFACE].revents & POLLIN) + retval = handle_packet (state, options); + else if (retval == -1 && errno == EINTR) { + /* The interupt will be handled above */ + retval = 0; + } else { + logger (LOG_ERR, "poll: %s", strerror (errno)); + retval = -1; + } + + if (retval != 0) + break; + } + +eexit: + if (iface) { + do_socket (state, SOCKET_CLOSED); + drop_config (state, options); + free_route (iface->previous_routes); + free (iface->clientid); + free (iface); + } + + if (state) { + if (state->forked) + retval = 0; + + if (state->daemonised) + unlink (options->pidfile); + + free_dhcp (state->dhcp); + free (state->dhcp); + free (state->buffer); + free (state); + } + + return (retval); +} diff --git a/workspace/networkDiscovery/dhcpcd/client.h b/workspace/networkDiscovery/dhcpcd/client.h new file mode 100644 index 0000000..fa6ea9b --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/client.h @@ -0,0 +1,35 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CLIENT_H +#define CLIENT_H + +#include "dhcpcd.h" + +int dhcp_run (const options_t *options, int *pidfd); + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/common.c b/workspace/networkDiscovery/dhcpcd/common.c new file mode 100644 index 0000000..99471bc --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/common.c @@ -0,0 +1,249 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" + +/* Handy routine to read very long lines in text files. + * This means we read the whole line and avoid any nasty buffer overflows. */ +char *get_line (FILE *fp) +{ + char *line = NULL; + char *p; + size_t len = 0; + size_t last = 0; + + if (feof (fp)) + return (NULL); + + do { + len += BUFSIZ; + line = xrealloc (line, sizeof (char) * len); + p = line + last; + memset (p, 0, BUFSIZ); + fgets (p, BUFSIZ, fp); + last += strlen (p); + } while (! feof (fp) && line[last - 1] != '\n'); + + /* Trim the trailing newline */ + if (*line && line[--last] == '\n') + line[last] = '\0'; + + return (line); +} + +/* OK, this should be in dhcpcd.c + * It's here to make dhcpcd more readable */ +#ifndef HAVE_SRANDOMDEV +void srandomdev (void) +{ + int fd; + unsigned long seed; + + fd = open ("/dev/urandom", 0); + if (fd == -1 || read (fd, &seed, sizeof (seed)) == -1) { + logger (LOG_WARNING, "Could not read from /dev/urandom: %s", + strerror (errno)); + seed = time (0); + } + if (fd >= 0) + close(fd); + + srandom (seed); +} +#endif + +/* strlcpy is nice, shame glibc does not define it */ +#ifndef HAVE_STRLCPY +size_t strlcpy (char *dst, const char *src, size_t size) +{ + const char *s = src; + size_t n = size; + + if (n && --n) + do { + if (! (*dst++ = *src++)) + break; + } while (--n); + + if (! n) { + if (size) + *dst = '\0'; + while (*src++); + } + + return (src - s - 1); +} +#endif + +/* Close our fd's */ +int close_fds (void) +{ + int fd; + + if ((fd = open ("/dev/null", O_RDWR)) == -1) { + logger (LOG_ERR, "open `/dev/null': %s", strerror (errno)); + return (-1); + } + + dup2 (fd, fileno (stdin)); + dup2 (fd, fileno (stdout)); + dup2 (fd, fileno (stderr)); + if (fd > 2) + close (fd); + return (0); +} + +int close_on_exec (int fd) +{ + int flags; + + if ((flags = fcntl (fd, F_GETFD, 0)) == -1 + || fcntl (fd, F_SETFD, flags | FD_CLOEXEC) == -1) + { + logger (LOG_ERR, "fcntl: %s", strerror (errno)); + return (-1); + } + return (0); +} + +/* Handy function to get the time. + * We only care about time advancements, not the actual time itself + * Which is why we use CLOCK_MONOTONIC, but it is not available on all + * platforms. + */ +int get_time (struct timeval *tp) +{ +#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC) + struct timespec ts; + static clockid_t posix_clock; + static int posix_clock_set = 0; + + if (! posix_clock_set) { + if (sysconf (_SC_MONOTONIC_CLOCK) >= 0) + posix_clock = CLOCK_MONOTONIC; + else + posix_clock = CLOCK_REALTIME; + posix_clock_set = 1; + } + + if (clock_gettime (posix_clock, &ts) == -1) { + logger (LOG_ERR, "clock_gettime: %s", strerror (errno)); + return (-1); + } + + tp->tv_sec = ts.tv_sec; + tp->tv_usec = ts.tv_nsec / 1000; + return (0); +#else + if (gettimeofday (tp, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (-1); + } + return (0); +#endif +} + +time_t uptime (void) +{ + struct timeval tp; + + if (get_time (&tp) == -1) + return (-1); + + return (tp.tv_sec); +} + +void writepid (int fd, pid_t pid) +{ + char spid[16]; + if (ftruncate (fd, (off_t) 0) == -1) { + logger (LOG_ERR, "ftruncate: %s", strerror (errno)); + } else { + ssize_t len; + snprintf (spid, sizeof (spid), "%u", pid); + len = pwrite (fd, spid, strlen (spid), (off_t) 0); + if (len != (ssize_t) strlen (spid)) + logger (LOG_ERR, "pwrite: %s", strerror (errno)); + } +} + +void *xmalloc (size_t s) +{ + void *value = malloc (s); + + if (value) + return (value); + + logger (LOG_ERR, "memory exhausted"); + + exit (EXIT_FAILURE); + /* NOTREACHED */ +} + +void *xzalloc (size_t s) +{ + void *value = xmalloc (s); + memset (value, 0, s); + return (value); +} + +void *xrealloc (void *ptr, size_t s) +{ + void *value = realloc (ptr, s); + + if (value) + return (value); + + logger (LOG_ERR, "memory exhausted"); + exit (EXIT_FAILURE); + /* NOTREACHED */ +} + +char *xstrdup (const char *str) +{ + char *value; + + if (! str) + return (NULL); + + if ((value = strdup (str))) + return (value); + + logger (LOG_ERR, "memory exhausted"); + exit (EXIT_FAILURE); + /* NOTREACHED */ +} diff --git a/workspace/networkDiscovery/dhcpcd/common.h b/workspace/networkDiscovery/dhcpcd/common.h new file mode 100644 index 0000000..46f1886 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/common.h @@ -0,0 +1,68 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef COMMON_H +#define COMMON_H + +/* string.h pulls in features.h so the below define checks work */ +#include +#include +#include + +#if __GNUC__ > 2 || defined(__INTEL_COMPILER) +# define _unused __attribute__((__unused__)) +#else +# define _unused +#endif + +#define HAVE_STRLCPY +/* Only GLIBC doesn't support strlcpy */ +#ifdef __GLIBC__ +# if ! defined(__UCLIBC__) && ! defined (__dietlibc__) +# undef HAVE_STRLCPY +size_t strlcpy (char *dst, const char *src, size_t size); +# endif +#endif + +#define HAVE_SRANDOMDEV +#if defined(__GLIBC__) || defined(__NetBSD__) +# undef HAVE_SRANDOMDEV +void srandomdev (void); +#endif + +int close_fds (void); +int close_on_exec (int fd); +char *get_line (FILE *fp); +int get_time (struct timeval *tp); +time_t uptime (void); +void writepid (int fd, pid_t pid); +void *xrealloc (void *ptr, size_t size); +void *xmalloc (size_t size); +void *xzalloc (size_t size); +char *xstrdup (const char *str); + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/config.h b/workspace/networkDiscovery/dhcpcd/config.h new file mode 100644 index 0000000..2c0991b --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/config.h @@ -0,0 +1,133 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CONFIG_H +#define CONFIG_H + +/* You can enable/disable various chunks of optional code here. + * You would only do this to try and shrink the end binary if dhcpcd + * was running on a low memory device */ + +#define ENABLE_ARP +#define ENABLE_NTP +#define ENABLE_NIS +#define ENABLE_INFO +/* Define this to enable some compatability with 1.x and 2.x info files */ +/* #define ENABLE_INFO_COMPAT */ + +/* IPV4LL, aka ZeroConf, aka APIPA, aka RFC 3927. + * Needs ARP. */ +#define ENABLE_IPV4LL + +/* We will auto create a DUID_LLT file if it doesn't exist. + * You can always create your own DUID file that just contains the + * hex string that represents the DUID. + * See RFC 3315 for details on this. */ +#define ENABLE_DUID + +/* resolvconf is framework for multiple interfaces to manage resolv.conf */ +#define ENABLE_RESOLVCONF + +/* Some systems do not have a working fork. + * The Makefile will attempt to work it out, but if it fails to feel free to + * define it here. */ +/* #define THERE_IS_NO_FORK */ + +/* Packname name and pathname definitions. */ + +#define PACKAGE "dhcpcd" + +#define ETCDIR "/etc" +#define RESOLVFILE ETCDIR "/resolv.conf" + +#define NISFILE ETCDIR "/yp.conf" + +#define NTPFILE ETCDIR "/ntp.conf" +#define NTPDRIFTFILE ETCDIR "/ntp.drift" +#define NTPLOGFILE "/var/log/ntp.log" + +#define OPENNTPFILE ETCDIR "/ntpd.conf" + +#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh" + +#define STATEDIR "/var" +#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid" + +#ifndef INFODIR +# define INFODIR "/var/lib/dhcpcd" +#endif +#define INFOFILE INFODIR "/" PACKAGE "-%s.info" +#define DUIDFILE INFODIR "/" PACKAGE ".duid" + +/* OPENRC is Open Run Control, forked from Gentoo's baselayout package + * BSDRC is BSD style Run Control + * SLACKRC is Slackware Run Control + * SERVICE is RedHat service command + * SYSV should cover everthing else */ +#ifdef ENABLE_OPENRC +# define SERVICE "OPENRC" +# define NISSERVICE ETCDIR "/init.d/ypbind" +# define NISRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" +# define NTPSERVICE ETCDIR "/init.d/ntpd" +# define NTPRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" +#endif +#if ENABLE_BSDRC +# define SERVICE "BSDRC" +# define NISSERVICE ETCDIR "/rc.d/ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/rc.d/ntpd" +# define NTPRESTARTARGS "restart" +#endif +#if ENABLE_SLACKRC +# define SERVICE "SLACKRC" +# define NISSERVICE ETCDIR "/rc.d/rc.ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/rc.d/rc.ntpd" +# define NTPRESTARTARGS "restart" +#endif +#if ENABLE_SERVICE +# define SERVICE "SERVICE" +# define NISSERVICE "service" +# define NISRESTARTARGS "ypbind", "restart" +# define NTPSERVICE "service" +# define NTPRESTARTARGS "ntpd", "restart" +#endif +#if ENABLE_SYSV +# define SERVICE "SYSV" +# define NISSERVICE ETCDIR "/init.d/ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/init.d/ntpd" +# define NTPRESTARTARGS "restart" +#endif + +#ifndef NISSERVICE +# undef ENABLE_NIS +#endif +#ifndef NTPSERVICE +# undef ENABLE_NTP +#endif + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/configure.c b/workspace/networkDiscovery/dhcpcd/configure.c new file mode 100644 index 0000000..0969f73 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/configure.c @@ -0,0 +1,809 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include + +#include +#ifdef __linux__ +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "configure.h" +#include "dhcp.h" +#ifdef ENABLE_INFO +# include "info.h" +#endif +#include "interface.h" +#include "dhcpcd.h" +#include "logger.h" +#include "signal.h" +#include "socket.h" + +static int file_in_path (const char *file) +{ + char *p = getenv ("PATH"); + char *path; + char *token; + struct stat s; + char mypath[PATH_MAX]; + int retval = -1; + + if (! p) { + errno = ENOENT; + return (-1); + } + + path = strdup (p); + p = path; + while ((token = strsep (&p, ":"))) { + snprintf (mypath, PATH_MAX, "%s/%s", token, file); + if (stat (mypath, &s) == 0) { + retval = 0; + break; + } + } + free (path); + return (retval); +} + +/* IMPORTANT: Ensure that the last parameter is NULL when calling */ +static int exec_cmd (const char *cmd, const char *args, ...) +{ + va_list va; + char **argv; + int n = 1; + int ret = 0; + pid_t pid; + sigset_t full; + sigset_t old; + + va_start (va, args); + while (va_arg (va, char *) != NULL) + n++; + va_end (va); + argv = xmalloc (sizeof (char *) * (n + 2)); + + va_start (va, args); + n = 2; + argv[0] = (char *) cmd; + argv[1] = (char *) args; + while ((argv[n] = va_arg (va, char *)) != NULL) + n++; + va_end (va); + + /* OK, we need to block signals */ + sigfillset (&full); + sigprocmask (SIG_SETMASK, &full, &old); + +#ifdef THERE_IS_NO_FORK + signal_reset (); + pid = vfork (); +#else + pid = fork(); +#endif + + switch (pid) { + case -1: + logger (LOG_ERR, "vfork: %s", strerror (errno)); + ret = -1; + break; + case 0: +#ifndef THERE_IS_NO_FORK + signal_reset (); +#endif + sigprocmask (SIG_SETMASK, &old, NULL); + if (execvp (cmd, argv) && errno != ENOENT) + logger (LOG_ERR, "error executing \"%s\": %s", + cmd, strerror (errno)); + _exit (111); + /* NOTREACHED */ + } + +#ifdef THERE_IS_NO_FORK + signal_setup (); +#endif + + /* Restore our signals */ + sigprocmask (SIG_SETMASK, &old, NULL); + + free (argv); + return (ret); +} + +static void exec_script (const char *script, const char *infofile, + const char *arg) +{ + struct stat buf; + + if (! script || ! infofile || ! arg) + return; + + if (stat (script, &buf) == -1) { + if (strcmp (script, DEFAULT_SCRIPT) != 0) + logger (LOG_ERR, "`%s': %s", script, strerror (ENOENT)); + return; + } + +#ifdef ENABLE_INFO + logger (LOG_DEBUG, "exec \"%s\" \"%s\" \"%s\"", script, infofile, arg); + exec_cmd (script, infofile, arg, (char *) NULL); +#else + logger (LOG_DEBUG, "exec \"%s\" \"\" \"%s\"", script, arg); + exec_cmd (script, "", arg, (char *) NULL); +#endif +} + +static int make_resolv (const char *ifname, const dhcp_t *dhcp) +{ + FILE *f = NULL; + address_t *address; + +#ifdef ENABLE_RESOLVCONF + char *resolvconf = NULL; + + if (file_in_path ("resolvconf") == 0) { + size_t len = strlen ("resolvconf -a ") + strlen (ifname) + 1; + resolvconf = xmalloc (sizeof (char) * len); + snprintf (resolvconf, len, "resolvconf -a %s", ifname); + if ((f = popen (resolvconf , "w"))) + logger (LOG_DEBUG, + "sending DNS information to resolvconf"); + else if (errno == EEXIST) + logger (LOG_ERR, "popen: %s", strerror (errno)); + + if (ferror (f)) + logger (LOG_ERR, "ferror"); + free (resolvconf); + } +#endif + if (! f) { + logger (LOG_DEBUG, "writing "RESOLVFILE); + if (! (f = fopen(RESOLVFILE, "w"))) + logger (LOG_ERR, "fopen `%s': %s", RESOLVFILE, strerror (errno)); + } + + if (! f) + return (-1); + + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); + if (dhcp->dnssearch) + fprintf (f, "search %s\n", dhcp->dnssearch); + else if (dhcp->dnsdomain) { + fprintf (f, "search %s\n", dhcp->dnsdomain); + } + + STAILQ_FOREACH (address, dhcp->dnsservers, entries) + fprintf (f, "nameserver %s\n", inet_ntoa (address->address)); + +#ifdef ENABLE_RESOLVCONF + if (resolvconf) + pclose (f); + else +#endif + fclose (f); + + /* Refresh the local resolver */ + res_init (); + return (0); +} + +static void restore_resolv (const char *ifname) +{ +#ifdef ENABLE_RESOLVCONF + if (file_in_path ("resolvconf") == 0) { + logger (LOG_DEBUG, "removing information from resolvconf"); + exec_cmd("resolvconf", "-d", ifname, (char *) NULL); + } +#endif +} + +static bool in_addresses (const struct address_head *addresses, + struct in_addr address) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) + if (addr->address.s_addr == address.s_addr) + return (true); + + return (false); +} + +static bool in_routes (const struct route_head *routes, route_t *route) +{ + const route_t *r; + + if (! routes) + return (false); + + STAILQ_FOREACH (r, routes, entries) + if (r->destination.s_addr == route->destination.s_addr && + r->netmask.s_addr == route->netmask.s_addr && + r->gateway.s_addr == route->gateway.s_addr) + return (true); + + return (false); +} + +#ifdef ENABLE_NTP +static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp) +{ + FILE *f; + address_t *address; + char *a; + char *line; + int tomatch = 0; + char *token; + bool ntp = false; + + STAILQ_FOREACH (address, dhcp->ntpservers, entries) + tomatch++; + + /* Check that we really need to update the servers. + * We do this because ntp has to be restarted to + * work with a changed config. */ + if (! (f = fopen (file, "r"))) { + if (errno != ENOENT) { + logger (LOG_ERR, "fopen `%s': %s", + file, strerror (errno)); + return (-1); + } + } else { + while (tomatch != 0 && (line = get_line (f))) { + struct in_addr addr; + + a = line; + token = strsep (&a, " "); + if (! token || strcmp (token, "server") != 0) + goto next; + + if ((token = strsep (&a, " \n")) == NULL) + goto next; + + if (inet_aton (token, &addr) == 1 && + in_addresses (dhcp->ntpservers, addr)) + tomatch--; + +next: + free (line); + } + fclose (f); + + /* File has the same name servers that we do, + * so no need to restart ntp */ + if (tomatch == 0) { + logger (LOG_DEBUG, "%s already configured, skipping", + file); + return (0); + } + } + + logger (LOG_DEBUG, "writing %s", file); + if (! (f = fopen (file, "w"))) { + logger (LOG_ERR, "fopen `%s': %s", file, strerror (errno)); + return (-1); + } + + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); +#ifdef NTPFILE + if (strcmp (file, NTPFILE) == 0) { + ntp = true; + fprintf (f, "restrict default noquery notrust nomodify\n"); + fprintf (f, "restrict 127.0.0.1\n"); + } +#endif + + STAILQ_FOREACH (address, dhcp->ntpservers, entries) { + a = inet_ntoa (address->address); + if (ntp) + fprintf (f, "restrict %s nomodify notrap noquery\n", a); + fprintf (f, "server %s\n", a); + } + fclose (f); + + return (1); +} + +static int make_ntp (const char *ifname, const dhcp_t *dhcp) +{ + /* On some systems we have only have one ntp service, but we don't + * know which configuration file we're using. So we need to write + * to both and restart accordingly. */ + + bool restart_ntp = false; + bool restart_openntp = false; + int retval = 0; + +#ifdef NTPFILE + if (_make_ntp (NTPFILE, ifname, dhcp) > 0) + restart_ntp = true; +#endif + +#ifdef OPENNTPFILE + if (_make_ntp (OPENNTPFILE, ifname, dhcp) > 0) + restart_openntp = true; +#endif + +#ifdef NTPSERVICE + if (restart_ntp) { +#ifdef NTPCHECK + if (system (NTPCHECK) == 0) +#endif + retval += exec_cmd (NTPSERVICE, NTPRESTARTARGS, + (char *) NULL); + } +#endif + +#if defined (NTPSERVICE) && defined (OPENNTPSERVICE) + if (restart_openntp && + (strcmp (NTPSERVICE, OPENNTPSERVICE) != 0 || ! restart_ntp)) + { +#ifdef OPENNTPCHECK + if (system (OPENNTPCHECK) == 0) +#endif + retval += exec_cmd (OPENNTPSERVICE, + OPENNTPRESTARTARGS, (char *) NULL); + } +#elif defined (OPENNTPSERVICE) && ! defined (NTPSERVICE) + if (restart_openntp) { +#ifdef OPENNTPCHECK + if (system (OPENNTPCHECK) == 0) +#endif + retval += exec_cmd (OPENNTPSERVICE, + OPENNTPRESTARTARGS, (char *) NULL); + } +#endif + + return (retval); +} +#endif + +#ifdef ENABLE_NIS +#define PREFIXSIZE 256 +static int make_nis (const char *ifname, const dhcp_t *dhcp) +{ + FILE *f; + address_t *address; + char *prefix; + + logger (LOG_DEBUG, "writing "NISFILE); + if (! (f = fopen(NISFILE, "w"))) { + logger (LOG_ERR, "fopen `%s': %s", NISFILE, strerror (errno)); + return (-1); + } + + prefix = xmalloc (sizeof (char) * PREFIXSIZE); + *prefix = '\0'; + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); + + if (dhcp->nisdomain) { + setdomainname (dhcp->nisdomain, (int) strlen (dhcp->nisdomain)); + + if (dhcp->nisservers) + snprintf (prefix, PREFIXSIZE, "domain %s server", + dhcp->nisdomain); + else + fprintf (f, "domain %s broadcast\n", dhcp->nisdomain); + } + else + snprintf (prefix, PREFIXSIZE, "%s", "ypserver"); + + NSTAILQ_FOREACH (address, dhcp->nisservers, entries) + fprintf (f, "%s %s\n", prefix, inet_ntoa (address->address)); + + free (prefix); + fclose (f); + +#ifdef NISCHECK + if (system (NISCHECK) == 0) +#endif + exec_cmd (NISSERVICE, NISRESTARTARGS, (char *) NULL); + return (0); +} +#endif + +static char *lookuphostname (char *hostname, const dhcp_t *dhcp, + const options_t *options) +{ + union { + struct sockaddr sa; + struct sockaddr_in sin; + } su; + socklen_t salen; + char *addr; + struct addrinfo hints; + struct addrinfo *res = NULL; + int result; + char *p; + + logger (LOG_DEBUG, "Looking up hostname via DNS"); + addr = xmalloc (sizeof (char) * NI_MAXHOST); + salen = sizeof (su.sa); + memset (&su.sa, 0, salen); + su.sin.sin_family = AF_INET; + memcpy (&su.sin.sin_addr, &dhcp->address, sizeof (su.sin.sin_addr)); + + if ((result = getnameinfo (&su.sa, salen, addr, NI_MAXHOST, + NULL, 0, NI_NAMEREQD)) != 0) { + logger (LOG_ERR, + "Failed to lookup hostname via DNS: %s", + gai_strerror (result)); + free (addr); + return (NULL); + } + + /* Check for a malicious PTR record */ + memset (&hints, 0, sizeof (hints)); + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + result = getaddrinfo (addr, "0", &hints, &res); + if (res) + freeaddrinfo (res); + if (result == 0) + logger (LOG_ERR, "malicious PTR record detected"); + if (result == 0 || ! *addr) { + free (addr); + return (NULL); + } + + p = strchr (addr, '.'); + if (p) { + switch (options->dohostname) { + case 1: /* -H */ + case 4: /* -HHHH */ + break; + case 2: /* -HH */ + case 5: /* -HHHHH */ + /* Strip out the domain if it matches */ + p++; + if (*p && dhcp->dnssearch) { + char *s = xstrdup (dhcp->dnssearch); + char *sp = s; + char *t; + + while ((t = strsep (&sp, " "))) + if (strcmp (t, p) == 0) { + *--p = '\0'; + break; + } + free (s); + } else if (dhcp->dnsdomain) { + if (strcmp (dhcp->dnsdomain, p) == 0) + *--p = '\0'; + } + break; + case 3: /* -HHH */ + case 6: /* -HHHHHH */ + /* Just strip the domain */ + *p = '\0'; + break; + default: /* Too many H! */ + break; + } + } + + strlcpy (hostname, addr, MAXHOSTNAMELEN); + free (addr); + return (hostname); +} + +int configure (const options_t *options, interface_t *iface, + const dhcp_t *dhcp, bool up) +{ + route_t *route = NULL; + struct route_head *new_routes = NULL; + route_t *new_route = NULL; + char *newhostname = NULL; + char *curhostname = NULL; + int remember; +#ifdef ENABLE_IPV4LL + bool haslinklocal = false; +#endif +#ifdef THERE_IS_NO_FORK + int skip = 0; + size_t skiplen; + char *skipp; +#endif + + if (! options || ! iface || ! dhcp) + return (-1); + + if (dhcp->address.s_addr == 0) + up = 0; + + /* Remove old routes. + * Always do this as the interface may have >1 address not added by us + * so the routes we added may still exist. */ + NSTAILQ_FOREACH (route, iface->previous_routes, entries) + if ((route->destination.s_addr || options->dogateway) && + (! up || ! in_routes (dhcp->routes, route))) + del_route (iface->name, route->destination, + route->netmask, route->gateway, + options->metric); + /* If we aren't up, then reset the interface as much as we can */ + if (! up) { + if (iface->previous_routes) { + free_route (iface->previous_routes); + iface->previous_routes = NULL; + } + + /* Restore the original MTU value */ + if (iface->mtu && iface->previous_mtu != iface->mtu) { + set_mtu (iface->name, iface->mtu); + iface->previous_mtu = iface->mtu; + } + +#ifdef ENABLE_INFO + /* If we haven't created an info file, do so now */ + if (! dhcp->frominfo) + write_info (iface, dhcp, options, false); +#endif + + /* Only reset things if we had set them before */ + if (iface->previous_address.s_addr != 0) { + if (! options->keep_address) { + del_address (iface->name, + iface->previous_address, + iface->previous_netmask); + memset (&iface->previous_address, + 0, sizeof (iface->previous_address)); + memset (&iface->previous_netmask, + 0, sizeof (iface->previous_netmask)); + } + } + + restore_resolv (iface->name); + exec_script (options->script, iface->infofile, "down"); + + return (0); + } + + /* Set the MTU requested. + * If the DHCP server no longer sends one OR it's invalid then + * we restore the original MTU */ + if (options->domtu) { + unsigned short mtu = iface->mtu; + if (dhcp->mtu) + mtu = dhcp->mtu; + + if (mtu != iface->previous_mtu) { + if (set_mtu (iface->name, mtu) == 0) + iface->previous_mtu = mtu; + } + } + + /* This also changes netmask */ + if (! options->doinform || ! has_address (iface->name, dhcp->address)) + if (add_address (iface->name, dhcp->address, dhcp->netmask, + dhcp->broadcast) == -1 && errno != EEXIST) + return (false); + + /* Now delete the old address if different */ + if (iface->previous_address.s_addr != dhcp->address.s_addr && + iface->previous_address.s_addr != 0 && + ! options->keep_address) + del_address (iface->name, + iface->previous_address, iface->previous_netmask); + +#ifdef __linux__ + /* On linux, we need to change the subnet route to have our metric. */ + if (iface->previous_address.s_addr != dhcp->address.s_addr && + options->metric > 0 && + dhcp->netmask.s_addr != INADDR_BROADCAST) + { + struct in_addr td; + struct in_addr tg; + memset (&td, 0, sizeof (td)); + memset (&tg, 0, sizeof (tg)); + td.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + add_route (iface->name, td, dhcp->netmask, tg, options->metric); + del_route (iface->name, td, dhcp->netmask, tg, 0); + } +#endif + +#ifdef THERE_IS_NO_FORK + free (dhcpcd_skiproutes); + /* We can never have more than 255 routes. So we need space + * for 255 3 digit numbers and commas */ + skiplen = 255 * 4 + 1; + skipp = dhcpcd_skiproutes = xmalloc (sizeof (char) * skiplen); + *skipp = '\0'; +#endif + + /* Remember added routes */ + NSTAILQ_FOREACH (route, dhcp->routes, entries) { +#ifdef ENABLE_IPV4LL + /* Check if we have already got a link locale route dished + * out by the DHCP server */ + if (route->destination.s_addr == htonl (LINKLOCAL_ADDR) && + route->netmask.s_addr == htonl (LINKLOCAL_MASK)) + haslinklocal = true; +#endif + /* Don't set default routes if not asked to */ + if (route->destination.s_addr == 0 && + route->netmask.s_addr == 0 && + ! options->dogateway) + continue; + + remember = add_route (iface->name, route->destination, + route->netmask, route->gateway, + options->metric); + /* If we failed to add the route, we may have already added it + ourselves. If so, remember it again. */ + if (remember < 0 && in_routes (iface->previous_routes, route)) + remember = 1; + + if (remember >= 0) { + if (! new_routes) { + new_routes = xmalloc (sizeof (*new_routes)); + STAILQ_INIT (new_routes); + } + new_route = xmalloc (sizeof (route_t)); + memcpy (new_route, route, sizeof (*new_route)); + STAILQ_INSERT_TAIL (new_routes, new_route, entries); + } +#ifdef THERE_IS_NO_FORK + /* If we have daemonised yet we need to record which routes + * we failed to add so we can skip them */ + else if (! options->daemonised) { + /* We can never have more than 255 / 4 routes, + * so 3 chars is plently */ + if (*skipp) + *skipp++ = ','; + skipp += snprintf (skipp, + dhcpcd_skiproutes + skiplen - skipp, + "%d", skip); + } + skip++; +#endif + } + +#ifdef THERE_IS_NO_FORK + if (*dhcpcd_skiproutes) + *skipp = '\0'; + else { + free (dhcpcd_skiproutes); + dhcpcd_skiproutes = NULL; + } +#endif + +#ifdef ENABLE_IPV4LL + /* Ensure we always add the link local route if we got a private + * address and isn't link local itself */ + if (options->doipv4ll && + ! haslinklocal && + IN_PRIVATE (ntohl (dhcp->address.s_addr))) + { + struct in_addr dest; + struct in_addr mask; + struct in_addr gate; + + dest.s_addr = htonl (LINKLOCAL_ADDR); + mask.s_addr = htonl (LINKLOCAL_MASK); + gate.s_addr = 0; + remember = add_route (iface->name, dest, mask, gate, + options->metric); + + if (remember >= 0) { + if (! new_routes) { + new_routes = xmalloc (sizeof (*new_routes)); + STAILQ_INIT (new_routes); + } + new_route = xmalloc (sizeof (*new_route)); + new_route->destination.s_addr = dest.s_addr; + new_route->netmask.s_addr = mask.s_addr; + new_route->gateway.s_addr = gate.s_addr; + STAILQ_INSERT_TAIL (new_routes, new_route, entries); + } + } +#endif + + if (iface->previous_routes) + free_route (iface->previous_routes); + iface->previous_routes = new_routes; + + if (options->dodns && dhcp->dnsservers) + make_resolv(iface->name, dhcp); + else + logger (LOG_DEBUG, "no dns information to write"); + +#ifdef ENABLE_NTP + if (options->dontp && dhcp->ntpservers) + make_ntp(iface->name, dhcp); +#endif + +#ifdef ENABLE_NIS + if (options->donis && (dhcp->nisservers || dhcp->nisdomain)) + make_nis(iface->name, dhcp); +#endif + + curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); + *curhostname = '\0'; + + gethostname (curhostname, MAXHOSTNAMELEN); + if (options->dohostname || + strlen (curhostname) == 0 || + strcmp (curhostname, "(none)") == 0 || + strcmp (curhostname, "localhost") == 0) + { + newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); + + if (dhcp->hostname) + strlcpy (newhostname, dhcp->hostname, MAXHOSTNAMELEN); + else + *newhostname = '\0'; + + /* Now we have made a resolv.conf we can obtain a hostname + * if we need it */ + if (! *newhostname || options->dohostname > 3) + lookuphostname (newhostname, dhcp, options); + + if (*newhostname) { + logger (LOG_INFO, "setting hostname to `%s'", + newhostname); + sethostname (newhostname, (int) strlen (newhostname)); + } + + free (newhostname); + } + + free (curhostname); + +#ifdef ENABLE_INFO + if (! dhcp->frominfo) + write_info (iface, dhcp, options, true); +#endif + + if (iface->previous_address.s_addr != dhcp->address.s_addr || + iface->previous_netmask.s_addr != dhcp->netmask.s_addr) + { + memcpy (&iface->previous_address, + &dhcp->address, sizeof (iface->previous_address)); + memcpy (&iface->previous_netmask, + &dhcp->netmask, sizeof (iface->previous_netmask)); + exec_script (options->script, iface->infofile, "new"); + } else + exec_script (options->script, iface->infofile, "up"); + + return (0); +} diff --git a/workspace/networkDiscovery/dhcpcd/configure.h b/workspace/networkDiscovery/dhcpcd/configure.h new file mode 100644 index 0000000..3166947 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/configure.h @@ -0,0 +1,38 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCPCONFIG_H +#define DHCPCONFIG_H + +#include "dhcpcd.h" +#include "interface.h" +#include "dhcp.h" + +int configure (const options_t *options, interface_t *iface, + const dhcp_t *dhcp, bool up); + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcp.c b/workspace/networkDiscovery/dhcpcd/dhcp.c new file mode 100644 index 0000000..8ed66da --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/dhcp.c @@ -0,0 +1,932 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#include "common.h" +#include "dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" + +#ifndef STAILQ_CONCAT +#define STAILQ_CONCAT(head1, head2) do { \ + if (!STAILQ_EMPTY((head2))) { \ + *(head1)->stqh_last = (head2)->stqh_first; \ + (head1)->stqh_last = (head2)->stqh_last; \ + STAILQ_INIT((head2)); \ + } \ +} while (0) +#endif + +typedef struct message { + int value; + const char *name; +} dhcp_message_t; + +static dhcp_message_t dhcp_messages[] = { + { DHCP_DISCOVER, "DHCP_DISCOVER" }, + { DHCP_OFFER, "DHCP_OFFER" }, + { DHCP_REQUEST, "DHCP_REQUEST" }, + { DHCP_DECLINE, "DHCP_DECLINE" }, + { DHCP_ACK, "DHCP_ACK" }, + { DHCP_NAK, "DHCP_NAK" }, + { DHCP_RELEASE, "DHCP_RELEASE" }, + { DHCP_INFORM, "DHCP_INFORM" }, + { -1, NULL } +}; + +static const char *dhcp_message (int type) +{ + dhcp_message_t *d; + for (d = dhcp_messages; d->name; d++) + if (d->value == type) + return (d->name); + + return (NULL); +} + +ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, + uint32_t xid, char type, const options_t *options) +{ + struct udp_dhcp_packet *packet; + dhcpmessage_t *message; + unsigned char *m; + unsigned char *p; + unsigned char *n_params = NULL; + size_t l; + struct in_addr from; + struct in_addr to; + time_t up = uptime() - iface->start_uptime; + uint32_t ul; + uint16_t sz; + size_t message_length; + ssize_t retval; + + if (!iface || !options || !dhcp) + return -1; + + memset (&from, 0, sizeof (from)); + memset (&to, 0, sizeof (to)); + + if (type == DHCP_RELEASE) + to.s_addr = dhcp->serveraddress.s_addr; + + message = xzalloc (sizeof (*message)); + m = (unsigned char *) message; + p = (unsigned char *) &message->options; + + if ((type == DHCP_INFORM || + type == DHCP_RELEASE || + type == DHCP_REQUEST) && + ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + { + message->ciaddr = iface->previous_address.s_addr; + from.s_addr = iface->previous_address.s_addr; + + /* Just incase we haven't actually configured the address yet */ + if (type == DHCP_INFORM && iface->previous_address.s_addr == 0) + message->ciaddr = dhcp->address.s_addr; + + /* Zero the address if we're currently on a different subnet */ + if (type == DHCP_REQUEST && + iface->previous_netmask.s_addr != dhcp->netmask.s_addr) + message->ciaddr = from.s_addr = 0; + + if (from.s_addr != 0) + to.s_addr = dhcp->serveraddress.s_addr; + } + + message->op = DHCP_BOOTREQUEST; + message->hwtype = iface->family; + switch (iface->family) { + case ARPHRD_ETHER: + case ARPHRD_IEEE802: + message->hwlen = ETHER_ADDR_LEN; + memcpy (&message->chaddr, &iface->hwaddr, + ETHER_ADDR_LEN); + break; + case ARPHRD_IEEE1394: + case ARPHRD_INFINIBAND: + message->hwlen = 0; + if (message->ciaddr == 0) + message->flags = htons (BROADCAST_FLAG); + break; + default: + logger (LOG_ERR, "dhcp: unknown hardware type %d", + iface->family); + } + + if (up < 0 || up > (time_t) UINT16_MAX) + message->secs = htons ((uint16_t) UINT16_MAX); + else + message->secs = htons (up); + message->xid = xid; + message->cookie = htonl (MAGIC_COOKIE); + + *p++ = DHCP_MESSAGETYPE; + *p++ = 1; + *p++ = type; + + if (type == DHCP_REQUEST) { + *p++ = DHCP_MAXMESSAGESIZE; + *p++ = 2; + sz = get_mtu (iface->name); + if (sz < MTU_MIN) { + if (set_mtu (iface->name, MTU_MIN) == 0) + sz = MTU_MIN; + } + sz = htons (sz); + memcpy (p, &sz, 2); + p += 2; + } + + *p++ = DHCP_CLIENTID; + *p++ = iface->clientid_len; + memcpy (p, iface->clientid, iface->clientid_len); + p+= iface->clientid_len; + + if (type != DHCP_DECLINE && type != DHCP_RELEASE) { + if (options->userclass_len > 0) { + *p++ = DHCP_USERCLASS; + *p++ = options->userclass_len; + memcpy (p, &options->userclass, options->userclass_len); + p += options->userclass_len; + } + + if (*options->classid > 0) { + *p++ = DHCP_CLASSID; + *p++ = l = strlen (options->classid); + memcpy (p, options->classid, l); + p += l; + } + } + + if (type == DHCP_DISCOVER || type == DHCP_REQUEST) { +#define PUTADDR(_type, _val) { \ + *p++ = _type; \ + *p++ = 4; \ + memcpy (p, &_val.s_addr, 4); \ + p += 4; \ +} + if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + logger (LOG_ERR, + "cannot request a link local address"); + else { + if (dhcp->address.s_addr && + dhcp->address.s_addr != + iface->previous_address.s_addr) + { + PUTADDR (DHCP_ADDRESS, dhcp->address); + if (dhcp->serveraddress.s_addr) + PUTADDR (DHCP_SERVERIDENTIFIER, + dhcp->serveraddress); + } + } +#undef PUTADDR + + if (options->leasetime != 0) { + *p++ = DHCP_LEASETIME; + *p++ = 4; + ul = htonl (options->leasetime); + memcpy (p, &ul, 4); + p += 4; + } + } + + if (type == DHCP_DISCOVER || + type == DHCP_INFORM || + type == DHCP_REQUEST) + { + if (options->hostname[0]) { + if (options->fqdn == FQDN_DISABLE) { + *p++ = DHCP_HOSTNAME; + *p++ = l = strlen (options->hostname); + memcpy (p, options->hostname, l); + p += l; + } else { + /* Draft IETF DHC-FQDN option (81) */ + *p++ = DHCP_FQDN; + *p++ = (l = strlen (options->hostname)) + 3; + /* Flags: 0000NEOS + * S: 1 => Client requests Server to update + * a RR in DNS as well as PTR + * O: 1 => Server indicates to client that + * DNS has been updated + * E: 1 => Name data is DNS format + * N: 1 => Client requests Server to not + * update DNS + */ + *p++ = options->fqdn & 0x9; + *p++ = 0; /* from server for PTR RR */ + *p++ = 0; /* from server for A RR if S=1 */ + memcpy (p, options->hostname, l); + p += l; + } + } + + *p++ = DHCP_PARAMETERREQUESTLIST; + n_params = p; + *p++ = 0; + /* Only request DNSSERVER in discover to keep the packets small. + * RFC2131 Section 3.5 states that the REQUEST must include the + * list from the DISCOVER message, so I think this is ok. */ + + if (type == DHCP_DISCOVER && ! options->test) + *p++ = DHCP_DNSSERVER; + else { + if (type != DHCP_INFORM) { + *p++ = DHCP_RENEWALTIME; + *p++ = DHCP_REBINDTIME; + } + *p++ = DHCP_NETMASK; + *p++ = DHCP_BROADCAST; + + /* -S means request CSR and MSCSR + * -SS means only request MSCSR incase DHCP message + * is too big */ + if (options->domscsr < 2) + *p++ = DHCP_CSR; + if (options->domscsr > 0) + *p++ = DHCP_MSCSR; + /* RFC 3442 states classless static routes should be + * before routers and static routes as classless static + * routes override them both */ + *p++ = DHCP_STATICROUTE; + *p++ = DHCP_ROUTERS; + *p++ = DHCP_HOSTNAME; + *p++ = DHCP_DNSSEARCH; + *p++ = DHCP_DNSDOMAIN; + *p++ = DHCP_DNSSERVER; +#ifdef ENABLE_NIS + *p++ = DHCP_NISDOMAIN; + *p++ = DHCP_NISSERVER; +#endif +#ifdef ENABLE_NTP + *p++ = DHCP_NTPSERVER; +#endif + *p++ = DHCP_MTU; +#ifdef ENABLE_INFO + *p++ = DHCP_ROOTPATH; + *p++ = DHCP_SIPSERVER; +#endif + } + + *n_params = p - n_params - 1; + } + *p++ = DHCP_END; + +#ifdef BOOTP_MESSAGE_LENTH_MIN + /* Some crappy DHCP servers think they have to obey the BOOTP minimum + * message length. + * They are wrong, but we should still cater for them. */ + while (p - m < BOOTP_MESSAGE_LENTH_MIN) + *p++ = DHCP_PAD; +#endif + + message_length = p - m; + + packet = xzalloc (sizeof (*packet)); + make_dhcp_packet (packet, (unsigned char *) message, message_length, + from, to); + free (message); + + logger (LOG_DEBUG, "sending %s with xid 0x%x", + dhcp_message (type), xid); + retval = send_packet (iface, ETHERTYPE_IP, (unsigned char *) packet, + message_length + + sizeof (packet->ip) + sizeof (packet->udp)); + free (packet); + return (retval); +} + +/* Decode an RFC3397 DNS search order option into a space + * seperated string. Returns length of string (including + * terminating zero) or zero on error. out may be NULL + * to just determine output length. */ +static unsigned int decode_search (const unsigned char *p, int len, char *out) +{ + const unsigned char *r, *q = p; + unsigned int count = 0, l, hops; + + while (q - p < len) { + r = NULL; + hops = 0; + while ((l = *q++)) { + unsigned int label_type = l & 0xc0; + if (label_type == 0x80 || label_type == 0x40) + return 0; + else if (label_type == 0xc0) { /* pointer */ + l = (l & 0x3f) << 8; + l |= *q++; + + /* save source of first jump. */ + if (!r) + r = q; + + hops++; + if (hops > 255) + return 0; + + q = p + l; + if (q - p >= len) + return 0; + } else { + /* straightforward name segment, add with '.' */ + count += l + 1; + if (out) { + memcpy (out, q, l); + out += l; + *out++ = '.'; + } + q += l; + } + } + + /* change last dot to space */ + if (out) + *(out - 1) = ' '; + + if (r) + q = r; + } + + /* change last space to zero terminator */ + if (out) + *(out - 1) = 0; + + return count; +} + +/* Add our classless static routes to the routes variable + * and return the last route set */ +static struct route_head *decode_CSR (const unsigned char *p, int len) +{ + const unsigned char *q = p; + unsigned int cidr; + unsigned int ocets; + struct route_head *routes = NULL; + route_t *route; + + /* Minimum is 5 -first is CIDR and a router length of 4 */ + if (len < 5) + return NULL; + + while (q - p < len) { + if (! routes) { + routes = xmalloc (sizeof (*routes)); + STAILQ_INIT (routes); + } + + route = xzalloc (sizeof (*route)); + + cidr = *q++; + if (cidr > 32) { + logger (LOG_ERR, + "invalid CIDR of %d in classless static route", + cidr); + free_route (routes); + return (NULL); + } + ocets = (cidr + 7) / 8; + + if (ocets > 0) { + memcpy (&route->destination.s_addr, q, (size_t) ocets); + q += ocets; + } + + /* Now enter the netmask */ + if (ocets > 0) { + memset (&route->netmask.s_addr, 255, (size_t) ocets - 1); + memset ((unsigned char *) &route->netmask.s_addr + + (ocets - 1), + (256 - (1 << (32 - cidr) % 8)), 1); + } + + /* Finally, snag the router */ + memcpy (&route->gateway.s_addr, q, 4); + q += 4; + + STAILQ_INSERT_TAIL (routes, route, entries); + } + + return (routes); +} + +void free_dhcp (dhcp_t *dhcp) +{ + if (! dhcp) + return; + + free_route (dhcp->routes); + free (dhcp->hostname); + free_address (dhcp->dnsservers); + free (dhcp->dnsdomain); + free (dhcp->dnssearch); + free_address (dhcp->ntpservers); + free (dhcp->nisdomain); + free_address (dhcp->nisservers); + free (dhcp->rootpath); + free (dhcp->sipservers); + if (dhcp->fqdn) { + free (dhcp->fqdn->name); + free (dhcp->fqdn); + } +} + +static bool dhcp_add_address (struct address_head **addresses, + const unsigned char *data, + int length) +{ + int i; + address_t *address; + + for (i = 0; i < length; i += 4) { + /* Sanity check */ + if (i + 4 > length) { + logger (LOG_ERR, "invalid address length"); + return (false); + } + + if (*addresses == NULL) { + *addresses = xmalloc (sizeof (**addresses)); + STAILQ_INIT (*addresses); + } + address = xzalloc (sizeof (*address)); + memcpy (&address->address.s_addr, data + i, 4); + STAILQ_INSERT_TAIL (*addresses, address, entries); + } + + return (true); +} + +#ifdef ENABLE_INFO +static char *decode_sipservers (const unsigned char *data, int length) +{ + char *sip = NULL; + char *p; + const char encoding = *data++; + struct in_addr addr; + size_t len; + + length--; + + switch (encoding) { + case 0: + if ((len = decode_search (data, length, NULL)) > 0) { + sip = xmalloc (len); + decode_search (data, length, sip); + } + break; + + case 1: + if (length == 0 || length % 4 != 0) { + logger (LOG_ERR, + "invalid length %d for option 120", + length + 1); + break; + } + len = ((length / 4) * (4 * 4)) + 1; + sip = p = xmalloc (len); + while (length != 0) { + memcpy (&addr.s_addr, data, 4); + data += 4; + p += snprintf (p, len - (p - sip), + "%s ", inet_ntoa (addr)); + length -= 4; + } + *--p = '\0'; + break; + + default: + logger (LOG_ERR, "unknown sip encoding %d", encoding); + break; + } + + return (sip); +} +#endif + +/* This calculates the netmask that we should use for static routes. + * This IS different from the calculation used to calculate the netmask + * for an interface address. */ +static uint32_t route_netmask (uint32_t ip_in) +{ + /* used to be unsigned long - check if error */ + uint32_t p = ntohl (ip_in); + uint32_t t; + + if (IN_CLASSA (p)) + t = ~IN_CLASSA_NET; + else { + if (IN_CLASSB (p)) + t = ~IN_CLASSB_NET; + else { + if (IN_CLASSC (p)) + t = ~IN_CLASSC_NET; + else + t = 0; + } + } + + while (t & p) + t >>= 1; + + return (htonl (~t)); +} + +static struct route_head *decode_routes (const unsigned char *data, int length) +{ + int i; + struct route_head *head = NULL; + route_t *route; + + for (i = 0; i < length; i += 8) { + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + route = xzalloc (sizeof (*route)); + memcpy (&route->destination.s_addr, data + i, 4); + memcpy (&route->gateway.s_addr, data + i + 4, 4); + route->netmask.s_addr = + route_netmask (route->destination.s_addr); + STAILQ_INSERT_TAIL (head, route, entries); + } + + return (head); +} + +static struct route_head *decode_routers (const unsigned char *data, int length) +{ + int i; + struct route_head *head = NULL; + route_t *route = NULL; + + for (i = 0; i < length; i += 4) { + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + route = xzalloc (sizeof (*route)); + memcpy (&route->gateway.s_addr, data + i, 4); + STAILQ_INSERT_TAIL (head, route, entries); + } + + return (head); +} + +int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message) +{ + const unsigned char *p = message->options; + const unsigned char *end = p; /* Add size later for gcc-3 issue */ + unsigned char option; + unsigned char length; + unsigned int len = 0; + int retval = -1; + struct timeval tv; + struct route_head *routers = NULL; + struct route_head *routes = NULL; + struct route_head *csr = NULL; + struct route_head *mscsr = NULL; + bool in_overload = false; + bool parse_sname = false; + bool parse_file = false; + + end += sizeof (message->options); + + if (gettimeofday (&tv, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (-1); + } + + dhcp->address.s_addr = message->yiaddr; + dhcp->leasedfrom = tv.tv_sec; + dhcp->frominfo = false; + dhcp->address.s_addr = message->yiaddr; + strlcpy (dhcp->servername, (char *) message->servername, + sizeof (dhcp->servername)); + +#define LEN_ERR \ + { \ + logger (LOG_ERR, "invalid length %d for option %d", \ + length, option); \ + p += length; \ + continue; \ + } + +parse_start: + while (p < end) { + option = *p++; + if (! option) + continue; + + if (option == DHCP_END) + goto eexit; + + length = *p++; + + if (option != DHCP_PAD && length == 0) { + logger (LOG_ERR, "option %d has zero length", option); + retval = -1; + goto eexit; + } + + if (p + length >= end) { + logger (LOG_ERR, "dhcp option exceeds message length"); + retval = -1; + goto eexit; + } + + switch (option) { + case DHCP_MESSAGETYPE: + retval = (int) *p; + p += length; + continue; + + default: + if (length == 0) { + logger (LOG_DEBUG, + "option %d has zero length, skipping", + option); + continue; + } + } + +#define LENGTH(_length) \ + if (length != _length) \ + LEN_ERR; +#define MIN_LENGTH(_length) \ + if (length < _length) \ + LEN_ERR; +#define MULT_LENGTH(_mult) \ + if (length % _mult != 0) \ + LEN_ERR; +#define GET_UINT8(_val) \ + LENGTH (sizeof (uint8_t)); \ + memcpy (&_val, p, sizeof (uint8_t)); +#define GET_UINT16(_val) \ + LENGTH (sizeof (uint16_t)); \ + memcpy (&_val, p, sizeof (uint16_t)); +#define GET_UINT32(_val) \ + LENGTH (sizeof (uint32_t)); \ + memcpy (&_val, p, sizeof (uint32_t)); +#define GET_UINT16_H(_val) \ + GET_UINT16 (_val); \ + _val = ntohs (_val); +#define GET_UINT32_H(_val) \ + GET_UINT32 (_val); \ + _val = ntohl (_val); + + switch (option) { + case DHCP_ADDRESS: + GET_UINT32 (dhcp->address.s_addr); + break; + case DHCP_NETMASK: + GET_UINT32 (dhcp->netmask.s_addr); + break; + case DHCP_BROADCAST: + GET_UINT32 (dhcp->broadcast.s_addr); + break; + case DHCP_SERVERIDENTIFIER: + GET_UINT32 (dhcp->serveraddress.s_addr); + break; + case DHCP_LEASETIME: + GET_UINT32_H (dhcp->leasetime); + break; + case DHCP_RENEWALTIME: + GET_UINT32_H (dhcp->renewaltime); + break; + case DHCP_REBINDTIME: + GET_UINT32_H (dhcp->rebindtime); + break; + case DHCP_MTU: + GET_UINT16_H (dhcp->mtu); + /* Minimum legal mtu is 68 accoridng to + * RFC 2132. In practise it's 576 which is the + * minimum maximum message size. */ + if (dhcp->mtu < MTU_MIN) { + logger (LOG_DEBUG, + "MTU %d is too low, minimum is %d; ignoring", + dhcp->mtu, MTU_MIN); + dhcp->mtu = 0; + } + break; + +#undef GET_UINT32_H +#undef GET_UINT32 +#undef GET_UINT16_H +#undef GET_UINT16 +#undef GET_UINT8 + +#define GETSTR(_var) { \ + MIN_LENGTH (sizeof (char)); \ + if (_var) free (_var); \ + _var = xmalloc ((size_t) length + 1); \ + memcpy (_var, p, (size_t) length); \ + memset (_var + length, 0, 1); \ +} + case DHCP_HOSTNAME: + GETSTR (dhcp->hostname); + break; + case DHCP_DNSDOMAIN: + GETSTR (dhcp->dnsdomain); + break; + case DHCP_MESSAGE: + GETSTR (dhcp->message); + break; +#ifdef ENABLE_INFO + case DHCP_ROOTPATH: + GETSTR (dhcp->rootpath); + break; +#endif +#ifdef ENABLE_NIS + case DHCP_NISDOMAIN: + GETSTR (dhcp->nisdomain); + break; +#endif +#undef GETSTR + +#define GETADDR(_var) \ + MULT_LENGTH (4); \ + if (! dhcp_add_address (&_var, p, length)) \ + { \ + retval = -1; \ + goto eexit; \ + } + case DHCP_DNSSERVER: + GETADDR (dhcp->dnsservers); + break; +#ifdef ENABLE_NTP + case DHCP_NTPSERVER: + GETADDR (dhcp->ntpservers); + break; +#endif +#ifdef ENABLE_NIS + case DHCP_NISSERVER: + GETADDR (dhcp->nisservers); + break; +#endif +#undef GETADDR + + case DHCP_DNSSEARCH: + MIN_LENGTH (1); + free (dhcp->dnssearch); + len = decode_search (p, length, NULL); + if (len > 0) { + dhcp->dnssearch = xmalloc (len); + decode_search (p, length, + dhcp->dnssearch); + } + break; + + case DHCP_CSR: + MIN_LENGTH (5); + free_route (csr); + csr = decode_CSR (p, length); + break; + + case DHCP_MSCSR: + MIN_LENGTH (5); + free_route (mscsr); + mscsr = decode_CSR (p, length); + break; + +#ifdef ENABLE_INFO + case DHCP_SIPSERVER: + free (dhcp->sipservers); + dhcp->sipservers = decode_sipservers (p,length); + break; +#endif + + case DHCP_STATICROUTE: + MULT_LENGTH (8); + free_route (routes); + routes = decode_routes (p, length); + break; + + case DHCP_ROUTERS: + MULT_LENGTH (4); + free_route (routers); + routers = decode_routers (p, length); + break; + + case DHCP_OPTIONSOVERLOADED: + LENGTH (1); + /* The overloaded option in an overloaded option + * should be ignored, overwise we may get an + * infinite loop */ + if (! in_overload) { + if (*p & 1) + parse_file = true; + if (*p & 2) + parse_sname = true; + } + break; + + case DHCP_FQDN: + /* We ignore replies about FQDN */ + break; + +#undef LENGTH +#undef MIN_LENGTH +#undef MULT_LENGTH + + default: + logger (LOG_DEBUG, + "no facility to parse DHCP code %u", + option); + break; + } + + p += length; + } + +eexit: + /* We may have options overloaded, so go back and grab them */ + if (parse_file) { + parse_file = false; + p = message->bootfile; + end = p + sizeof (message->bootfile); + in_overload = true; + goto parse_start; + } else if (parse_sname) { + parse_sname = false; + p = message->servername; + end = p + sizeof (message->servername); + memset (dhcp->servername, 0, sizeof (dhcp->servername)); + in_overload = true; + goto parse_start; + } + + /* Fill in any missing fields */ + if (! dhcp->netmask.s_addr) + dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); + if (! dhcp->broadcast.s_addr) + dhcp->broadcast.s_addr = dhcp->address.s_addr | + ~dhcp->netmask.s_addr; + + /* If we have classess static routes then we discard + * static routes and routers according to RFC 3442 */ + if (csr) { + dhcp->routes = csr; + free_route (mscsr); + free_route (routers); + free_route (routes); + } else if (mscsr) { + dhcp->routes = mscsr; + free_route (routers); + free_route (routes); + } else { + /* Ensure that we apply static routes before routers */ + if (! routes) + routes = routers; + else if (routers) + STAILQ_CONCAT (routes, routers); + dhcp->routes = routes; + } + + return (retval); +} diff --git a/workspace/networkDiscovery/dhcpcd/dhcp.h b/workspace/networkDiscovery/dhcpcd/dhcp.h new file mode 100644 index 0000000..cc66d13 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/dhcp.h @@ -0,0 +1,216 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCP_H +#define DHCP_H + +#include +#include +#include +#include +#include + +#include "dhcpcd.h" +#include "interface.h" + +/* Max MTU - defines dhcp option length */ +#define MTU_MAX 1500 +#define MTU_MIN 576 + +/* UDP port numbers for DHCP */ +#define DHCP_SERVER_PORT 67 +#define DHCP_CLIENT_PORT 68 + +#define MAGIC_COOKIE 0x63825363 +#define BROADCAST_FLAG 0x8000 + +/* DHCP message OP code */ +#define DHCP_BOOTREQUEST 1 +#define DHCP_BOOTREPLY 2 + +/* DHCP message type */ +#define DHCP_DISCOVER 1 +#define DHCP_OFFER 2 +#define DHCP_REQUEST 3 +#define DHCP_DECLINE 4 +#define DHCP_ACK 5 +#define DHCP_NAK 6 +#define DHCP_RELEASE 7 +#define DHCP_INFORM 8 + +/* DHCP options */ +enum DHCP_OPTIONS +{ + DHCP_PAD = 0, + DHCP_NETMASK = 1, + DHCP_TIMEROFFSET = 2, + DHCP_ROUTERS = 3, + DHCP_TIMESERVER = 4, + DHCP_NAMESERVER = 5, + DHCP_DNSSERVER = 6, + DHCP_LOGSERVER = 7, + DHCP_COOKIESERVER = 8, + DHCP_HOSTNAME = 12, + DHCP_DNSDOMAIN = 15, + DHCP_ROOTPATH = 17, + DHCP_DEFAULTIPTTL = 23, + DHCP_MTU = 26, + DHCP_BROADCAST = 28, + DHCP_MASKDISCOVERY = 29, + DHCP_ROUTERDISCOVERY = 31, + DHCP_STATICROUTE = 33, + DHCP_NISDOMAIN = 40, + DHCP_NISSERVER = 41, + DHCP_NTPSERVER = 42, + DHCP_ADDRESS = 50, + DHCP_LEASETIME = 51, + DHCP_OPTIONSOVERLOADED = 52, + DHCP_MESSAGETYPE = 53, + DHCP_SERVERIDENTIFIER = 54, + DHCP_PARAMETERREQUESTLIST = 55, + DHCP_MESSAGE = 56, + DHCP_MAXMESSAGESIZE = 57, + DHCP_RENEWALTIME = 58, + DHCP_REBINDTIME = 59, + DHCP_CLASSID = 60, + DHCP_CLIENTID = 61, + DHCP_USERCLASS = 77, /* RFC 3004 */ + DHCP_FQDN = 81, + DHCP_DNSSEARCH = 119, /* RFC 3397 */ + DHCP_SIPSERVER = 120, /* RFC 3361 */ + DHCP_CSR = 121, /* RFC 3442 */ + DHCP_MSCSR = 249, /* MS code for RFC 3442 */ + DHCP_END = 255 +}; + +/* SetFQDNHostName values - lsnybble used in flags + * byte (see buildmsg.c), hsnybble to create order + * and to allow 0x00 to mean disable + */ +enum FQQN { + FQDN_DISABLE = 0x00, + FQDN_NONE = 0x18, + FQDN_PTR = 0x20, + FQDN_BOTH = 0x31 +}; + +typedef struct fqdn_t +{ + uint8_t flags; + uint8_t r1; + uint8_t r2; + char *name; +} fqdn_t; + +typedef struct dhcp_t +{ + char version[11]; + + struct in_addr serveraddress; + char serverhw[IF_NAMESIZE]; + char servername[64]; + + struct in_addr address; + struct in_addr netmask; + struct in_addr broadcast; + unsigned short mtu; + + uint32_t leasedfrom; + uint32_t leasetime; + uint32_t renewaltime; + uint32_t rebindtime; + + struct route_head *routes; + + char *hostname; + fqdn_t *fqdn; + + struct address_head *dnsservers; + char *dnsdomain; + char *dnssearch; + + struct address_head *ntpservers; + + struct address_head *nisservers; + char *nisdomain; + + char *sipservers; + + char *message; + char *rootpath; + + bool frominfo; +} dhcp_t; + +/* Sizes for DHCP options */ +#define DHCP_CHADDR_LEN 16 +#define SERVERNAME_LEN 64 +#define BOOTFILE_LEN 128 +#define DHCP_UDP_LEN (20 + 8) +#define DHCP_BASE_LEN (4 + 4 + 2 + 2 + 4 + 4 + 4 + 4 + 4) +#define DHCP_RESERVE_LEN (4 + 4 + 4 + 4 + 2) +#define DHCP_FIXED_LEN (DHCP_BASE_LEN + DHCP_CHADDR_LEN + \ + + SERVERNAME_LEN + BOOTFILE_LEN) +#define DHCP_OPTION_LEN (MTU_MAX - DHCP_FIXED_LEN - DHCP_UDP_LEN \ + - DHCP_RESERVE_LEN) + +/* Some crappy DHCP servers require the BOOTP minimum length */ +#define BOOTP_MESSAGE_LENTH_MIN 300 + +typedef struct dhcpmessage_t +{ + unsigned char op; /* message type */ + unsigned char hwtype; /* hardware address type */ + unsigned char hwlen; /* hardware address length */ + unsigned char hwopcount; /* should be zero in client message */ + uint32_t xid; /* transaction id */ + uint16_t secs; /* elapsed time in sec. from boot */ + uint16_t flags; + uint32_t ciaddr; /* (previously allocated) client IP */ + uint32_t yiaddr; /* 'your' client IP address */ + uint32_t siaddr; /* should be zero in client's messages */ + uint32_t giaddr; /* should be zero in client's messages */ + unsigned char chaddr[DHCP_CHADDR_LEN]; /* client's hardware address */ + unsigned char servername[SERVERNAME_LEN]; /* server host name */ + unsigned char bootfile[BOOTFILE_LEN]; /* boot file name */ + uint32_t cookie; + unsigned char options[DHCP_OPTION_LEN]; /* message options - cookie */ +} dhcpmessage_t; + +struct udp_dhcp_packet +{ + struct ip ip; + struct udphdr udp; + dhcpmessage_t dhcp; +}; + +ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, + uint32_t xid, char type, const options_t *options); +void free_dhcp (dhcp_t *dhcp); +int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message); + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.8.in b/workspace/networkDiscovery/dhcpcd/dhcpcd.8.in new file mode 100644 index 0000000..ddeff9b --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/dhcpcd.8.in @@ -0,0 +1,365 @@ +.\" Copyright 2006-2008 Roy Marples +.\" All rights reserved +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.Dd Feb 20, 2008 +.Dt DHCPCD 8 SMM +.Sh NAME +.Nm dhcpcd +.Nd an RFC 2131 compliant DHCP client +.Sh SYNOPSIS +.Nm +.Op Fl dknpAEGHMLNRSTY +.Op Fl c , -script Ar script +.Op Fl h , -hostname Ar hostname +.Op Fl i , -classid Ar classid +.Op Fl l , -leasetime Ar seconds +.Op Fl m , -metric Ar metric +.Op Fl r , -request Ar address +.Op Fl t , -timeout Ar seconds +.Op Fl u , -userclass Ar class +.Op Fl F , -fqdn Ar FQDN +.Op Fl I , -clientid Ar clientid +.Ar interface +.Nm +.Fl k , -release +.Ar interface +.Nm +.Fl x , -exit +.Ar interface +.Sh DESCRIPTION +.Nm +is an implementation of the DHCP client specified in +.Rs +.%T "RFC 2131" +.Re +.Nm +gets the host information +.Po +IP address, routes, etc +.Pc +from a DHCP server and configures the network +.Ar interface +of the +machine on which it is running. +.Nm +will then write DNS information to +.Xr resolvconf 8 , +if available, otherwise directly to +.Pa /etc/resolv.conf . +.Nm +will also configure +.Pa /etc/yp.conf +and +.Pa /etc/ntpd.conf +with NIS and NTP information if the DHCP server provided them. +If those file contents changed, then +.Nm +will also attempt to restart the respective services to notify them of the +change. +If the hostname is currenly blank, (null) or localhost then +.Nm +will set the hostname to the one supplied by the DHCP server, or look it up +in DNS if none supplied. +.Nm +then daemonises and waits for the lease renewal time to lapse. +Then it attempts to renew its lease and reconfigure if the new lease changes. +.Ss Local Link configuration +If +.Nm +failed to obtain a lease, it will probe for a valid IPv4LL address +.Po +aka Zeroconf, aka APIPA +.Pc . +Once obtained it will probe every 10 seconds for a DHCP server to get a +proper address. +.Pp +Even when +.Nm +obtains a proper lease, it will still add a Local Link route +.Po +165.254.0.0/16 +.Pc +so that the host can communicate with clients using these addresses. +.Pp +When using IPv4LL, +.Nm +will always succeed and return a 0 exit code. To disable this behaviour, you +can use the +.Fl L , -noipv4ll +option. +.Ss Hooking into DHCP events +.Nm +will run @PREFIX@/etc/dhcpcd.sh, or the script specified by the +.Fl c , -script +option. It will set $1 to a shell compatible file that holds various +configuration settings obtained from the DHCP server and $2 to either +up, down or new depending on the state of +.Nm . +.Nm +ignores the exist code of the script. +.Ss Fine tuning +You can fine tune the behaviour of +.Nm +with the following options :- +.Bl -tag -width indent +.It Fl d , -debug +Echo debug and informational messages to the console. +Subsequent debug options stop +.Nm +from daemonising. +.It Fl h , -hostname Ar hostname +By default, +.Nm +will send the current hostname to the DHCP server so it can register in DNS. +You can use this option to specify the +.Ar hostname +sent, or an empty string to +stop any +.Ar hostname +from being sent. +.It Fl i , -classid Ar classid +Override the DHCP vendor +.Ar classid +field we send. The default is +dhcpcd-. +.It Fl k , -release +This causes an existing +.Nm +process running on the +.Ar interface +to release it's lease, deconfigure the +.Ar interface +and then exit. +.It Fl l , -leasetime Ar seconds +Request a specific lease time in +.Ar seconds . +By default +.Nm +does not request any lease time and leaves the it in the hands of the +DHCP server. +.It Fl m , -metric Ar metric +Added routes will use the +.Ar metric +on systems where this is supported +.Po +presently only Linux +.Pc . +Route metrics allow the addition of routes to the same destination across +different interfaces, the lower the metric the more it is preferred. +.It Fl n , -renew +Notifies an existing +.Nm +process running on the +.Ar interface +to renew it's lease. If +.Nm +is not running, then it starts up as normal. +.It Fl p , -persistent +.Nm +normally deconfigures the +.Ar interface +and configuration when it exits. +Sometimes, this isn't desirable if for example you have root mounted over NFS. +You can use this option to stop this from happening. +.It Fl r , -request Op Ar address +.Nm +normally sends a DHCP Broadcast to find servers to offer an address. +.Nm +will then request the address used. You can use this option to skip the +broadcast step and just request an +.Ar address . +The downside is if you request +an +.Ar address +the DHCP server does not know about or the DHCP server is not +authorative, it will remain silent. In this situation, we go back to the init +state and broadcast again. +If no +.Ar address +is given then we use the first address currently assigned to the +.Ar interface . +.It Fl s , -inform Op Ar address Op / Ar cidr +Behaves exactly like +.Fl r , -request +as above, but sends a DHCP inform instead of a request. This requires the +interface to be configured first. This does not get a lease as such, just +notifies the DHCP server of the +.Ar address +we are using. +.It Fl t , -timeout Ar seconds +Timeout after +.Ar seconds , +instead of the default 20. +A setting of 0 +.Ar seconds +causes +.Nm +to wait forever to get a lease. +.It Fl u , -userclass Ar class +Tags the DHCP message with the userclass +.Ar class . +DHCP servers use this give memebers of the class DHCP options other than the +default, without having to know things like hardware address or hostname. +.If Fl F , -fqdn Ar fqdn +Requests that the DHCP server updates DNS using FQDN instead of just a +hostname. Valid values for +.Ar fqdn +are none, ptr and both. +.Nm +dhcpcd itself never does any DNS updates. +.It Fl H , --sethostname +Forces +.Nm +to set the hostname as supplied by the DHCP server. Because some OS's and users +prefer to have just the hostname, or the full FQDN more +.Fl H , --sethostname +options change the behaviour. Below is the list of possible combinations:- +.Bl -tag -width indent +.It Fl H +set the hostname to the full FQDN. +.It Fl HH +strip the domain if it matches the dns domain. +.It Fl HHH +strip the domain regardless. +.It Fl HHHH +same as +.Fl H +but force hostname lookup via DNS. +.It Fl HHHHH +same as above, but strip the domain if it matches the dns domain. +.It Fl HHHHHH +same as above, but strip the domain regardless. +.El +.It Fl I , -clientid Ar clientid +Send +.Ar clientid +as a client identifier string. If +.Ar clientid +matches a hardware address format, such as 01:00:01:02:03:04:05 then we encode +it as that, otherwise as a string. You need to specify the hardware type in +the first byte. Ethernet is 01, and the hardware address in the example is +00:01:02:03:04:05. If the +.Ar clientid +is a blank string, then we disable DUID support and use a +.Ar clientid +as shown above. +.It Fl S, -mscsr +Microsoft have their own code for Classless Static Routes +.Po +RFC 3442 +.Pc . +You can use this option to request this as well as the normal CSR. Another +instace of this option only requests the Microsoft CSR to prevent DHCP message +over-running its maximum size. DHCP server administrators should update their +CSR code from the Microsoft specific one to the RFC compliant one as the +content is fully compatible. +.El +.Ss Restriciting behaviour +.Nm +will try to do as much as it can by default. However, there are sometimes +situations where you don't want the things to be configured exactly how the +the DHCP server wants. Here are some option that deal with turning these bits +off. +.Bl -tag -width indent +.It Fl A , -noarp +Don't request or claim the address by ARP. +.It Fl G , -nogateway +Don't set any default routes. +.It Fl L , -noipv4ll +Don't use IPv4LL at all. +.It Fl M , -nomtu +Don't set the MTU of the +.Ar interface . +.It Fl N , -nontp +Don't touch +.Pa /etc/ntpd.conf +or restart the ntp service. +.It Fl R , -nodns +Don't send DNS information to resolvconf or touch +.Pa /etc/resolv.conf . +.It Fl T , -test +On receipt of discover messages, simply print the contents of the DHCP +message to the console. +.Nm +will not configure the +.Ar interface , +touch any files or restart any services. +.It Fl Y , -nonis +Don't touch +.Pa /etc/yp.conf +or restart the ypbind service. +.El +.Sh NOTES +Because +.Nm +supports InfiniBand, we put a Node-specific Client Identifier in the +ClientID field. This is required by RFC 4390. It's also required for DHCP IPv6 +which +.Nm +should support one day. However, some DHCP servers have no idea what this is +and reject the message as they do not understand type 255. This is not +conformant with RFC 2132 and the server should be fixed. Also, some DHCP +server configurations require an ethernet hardware address of 6 hexacdecimal +numbers in the ClientID which is the default behaviour of most other DHCP +clients. If your DHCP server is as desribed above, you should fix the server, +or if that is not an option you can compile DUID support out of +.Nm +or use the +.Fl I , -clientid Ar clientid +option and set +.Ar clientid +to ''. +.Pp +ISC dhcpd, dnsmasq, udhcpd and Microsoft DHCP server 2003 default configurations +work just fine with the default +.Nm +configuration. +.Pp +.Nm +requires a Berkley Packet Filter, or BPF device on BSD based systems and a +Linux Socket Filter, or LPF device on Linux based systems. +.Sh FILES +.Bl -ohang +.It Pa @PREFIX@/etc/dhcpcd.sh +Bourne shell script that is run when we configure or deconfigure an interface. +.It Pa @INFODIR@/dhcpcd.duid +Text file that holds the DUID used to identify the host. +.It Pa @INFODIR@/dhcpcd- Ns Ar interface Ns .info +Bourne shell file that holds the DHCP values used in configuring the interface. +This path is passed as the first argument to +.Pa @PREFIX@/etc/dhcpcd.sh . +.El +.Sh SEE ALSO +.Xr ntp 1 , +.Xr resolv.conf 5 , +.Xr resolvconf 8 , +.Xr yp.conf 5 , +.Xr ypbind 8 +.Sh STANDARDS +RFC 2131, RFC 2132, RFC 2855, RFC 3004, RFC 3361, RFC 3397, RFC 3442, RFC 3927, +RFC 4361, RFC 4390, RFC 4702. +.Sh AUTHORS +.An "Roy Marples" Aq roy@marples.name +.Sh BUGS +Please report them to http://bugs.marples.name diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.c b/workspace/networkDiscovery/dhcpcd/dhcpcd.c new file mode 100644 index 0000000..9af930a --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/dhcpcd.c @@ -0,0 +1,145 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "client.h" +#include "dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" +#include "version.h" + +static int doversion = 0; +static int dohelp = 0; +#define EXTRA_OPTS +static const struct option longopts[] = { + {"arp", no_argument, NULL, 'a'}, + {"script", required_argument, NULL, 'c'}, + {"debug", no_argument, NULL, 'd'}, + {"hostname", optional_argument, NULL, 'h'}, + {"classid", optional_argument, NULL, 'i'}, + {"release", no_argument, NULL, 'k'}, + {"leasetime", required_argument, NULL, 'l'}, + {"metric", required_argument, NULL, 'm'}, + {"renew", no_argument, NULL, 'n'}, + {"persistent", no_argument, NULL, 'p'}, + {"inform", optional_argument, NULL, 's'}, + {"request", optional_argument, NULL, 'r'}, + {"timeout", required_argument, NULL, 't'}, + {"userclass", required_argument, NULL, 'u'}, + {"exit", no_argument, NULL, 'x'}, + {"lastlease", no_argument, NULL, 'E'}, + {"fqdn", required_argument, NULL, 'F'}, + {"nogateway", no_argument, NULL, 'G'}, + {"sethostname", no_argument, NULL, 'H'}, + {"clientid", optional_argument, NULL, 'I'}, + {"noipv4ll", no_argument, NULL, 'L'}, + {"nomtu", no_argument, NULL, 'M'}, + {"nontp", no_argument, NULL, 'N'}, + {"nodns", no_argument, NULL, 'R'}, + {"msscr", no_argument, NULL, 'S'}, + {"test", no_argument, NULL, 'T'}, + {"nonis", no_argument, NULL, 'Y'}, + {"help", no_argument, &dohelp, 1}, + {"version", no_argument, &doversion, 1}, +#ifdef THERE_IS_NO_FORK + {"daemonised", no_argument, NULL, 'f'}, + {"skiproutes", required_argument, NULL, 'g'}, +#endif + {NULL, 0, NULL, 0} +}; + +#ifdef THERE_IS_NO_FORK +char dhcpcd[PATH_MAX]; +char **dhcpcd_argv = NULL; +int dhcpcd_argc = 0; +char *dhcpcd_skiproutes = NULL; +#undef EXTRA_OPTS +#define EXTRA_OPTS "fg:" +#endif + +static int atoint (const char *s) +{ + char *t; + long n; + + errno = 0; + n = strtol (s, &t, 0); + if ((errno != 0 && n == 0) || s == t || + (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) + { + logger (LOG_ERR, "`%s' out of range", s); + return (-1); + } + + return ((int) n); +} + +static pid_t read_pid (const char *pidfile) +{ + FILE *fp; + pid_t pid = 0; + + if ((fp = fopen (pidfile, "r")) == NULL) { + errno = ENOENT; + return 0; + } + + fscanf (fp, "%d", &pid); + fclose (fp); + + return (pid); +} + +static void usage (void) +{ + printf ("usage: "PACKAGE" [-adknpEGHMNRSTY] [-c script] [-h hostname] [-i classID]\n" + " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" + " [-t timeout] [-u userclass] [-F none | ptr | both]\n" + " [-I clientID] \n"); +} +/** + * to be deleted + */ diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.h b/workspace/networkDiscovery/dhcpcd/dhcpcd.h new file mode 100644 index 0000000..f57093f --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/dhcpcd.h @@ -0,0 +1,94 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCPCD_H +#define DHCPCD_H + +#include +#include +#include +#include +#include +#include + +#include "common.h" + +#define DEFAULT_TIMEOUT 20 +#define DEFAULT_LEASETIME 3600 /* 1 hour */ + +#define CLASS_ID_MAX_LEN 48 +#define CLIENT_ID_MAX_LEN 48 +#define USERCLASS_MAX_LEN 255 + +#ifdef THERE_IS_NO_FORK +extern char dhcpcd[PATH_MAX]; +extern char **dhcpcd_argv; +extern int dhcpcd_argc; +extern char *dhcpcd_skiproutes; +#endif + +typedef struct options_t { + char interface[IF_NAMESIZE]; + char hostname[MAXHOSTNAMELEN]; + int fqdn; + char classid[CLASS_ID_MAX_LEN]; + char clientid[CLIENT_ID_MAX_LEN]; + char userclass[USERCLASS_MAX_LEN]; + size_t userclass_len; + uint32_t leasetime; + time_t timeout; + int metric; + + bool doarp; + bool dodns; + bool dodomainname; + bool dogateway; + int dohostname; + bool domtu; + bool donis; + bool dontp; + bool dolastlease; + bool doinform; + bool dorequest; + bool doipv4ll; + bool doduid; + int domscsr; + + struct in_addr request_address; + struct in_addr request_netmask; + + bool persistent; + bool keep_address; + bool daemonise; + bool daemonised; + bool test; + + char *script; + char pidfile[PATH_MAX]; +} options_t; + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.sh b/workspace/networkDiscovery/dhcpcd/dhcpcd.sh new file mode 100644 index 0000000..8c86aac --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/dhcpcd.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# This is a sample /etc/dhcpcd.sh script. +# /etc/dhcpcd.sh script is executed by dhcpcd daemon +# any time it configures or shuts down interface. +# The following parameters are passed to dhcpcd.exe script: +# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info" +# $2 = "up" if interface has been configured with the same +# IP address as before reboot; +# $2 = "down" if interface has been shut down; +# $2 = "new" if interface has been configured with new IP address; +# +# Sanity checks + +if [ $# -lt 2 ]; then + logger -s -p local0.err -t dhcpcd.sh "wrong usage" + exit 1 +fi + +hostinfo="$1" +state="$2" + +# Reading HostInfo file for configuration parameters +[ -e "${hostinfo}" ] && . "${hostinfo}" + +case "${state}" in + up) + logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been configured with old IP=${IPADDR}" + # Put your code here for when the interface has been brought up with an + # old IP address here + ;; + + new) + logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been configured with new IP=${IPADDR}" + # Put your code here for when the interface has been brought up with a + # new IP address + ;; + + down) logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been brought down" + # Put your code here for the when the interface has been shut down + ;; +esac +exit 0 diff --git a/workspace/networkDiscovery/dhcpcd/duid.c b/workspace/networkDiscovery/dhcpcd/duid.c new file mode 100644 index 0000000..e4dd83b --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/duid.c @@ -0,0 +1,118 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "duid.h" +#include "logger.h" + +#ifdef ENABLE_DUID + +#define THIRTY_YEARS_IN_SECONDS 946707779 + +size_t get_duid (unsigned char *duid, const interface_t *iface) +{ + FILE *f; + uint16_t type = 0; + uint16_t hw = 0; + uint32_t ul; + time_t t; + int x = 0; + unsigned char *p = duid; + size_t len = 0; + + if (! iface) + return (0); + + /* If we already have a DUID then use it as it's never supposed + * to change once we have one even if the interfaces do */ + if ((f = fopen (DUIDFILE, "r"))) { + char *line = get_line (f); + if (line) { + len = hwaddr_aton (NULL, line); + if (len && len <= DUID_LEN) + hwaddr_aton (duid, line); + free (line); + } + fclose (f); + if (len) + return (len); + } else { + if (errno != ENOENT) { + logger (LOG_ERR, "fopen `%s': %s", + DUIDFILE, strerror (errno)); + return (0); + } + } + + /* No file? OK, lets make one based on our interface */ + type = htons (1); /* DUI-D-LLT */ + memcpy (p, &type, 2); + p += 2; + + hw = htons (iface->family); + memcpy (p, &hw, 2); + p += 2; + + /* time returns seconds from jan 1 1970, but DUID-LLT is + * seconds from jan 1 2000 modulo 2^32 */ + t = time (NULL) - THIRTY_YEARS_IN_SECONDS; + ul = htonl (t & 0xffffffff); + memcpy (p, &ul, 4); + p += 4; + + /* Finally, add the MAC address of the interface */ + memcpy (p, iface->hwaddr, iface->hwlen); + p += iface->hwlen; + + len = p - duid; + + if (! (f = fopen (DUIDFILE, "w"))) + logger (LOG_ERR, "fopen `%s': %s", DUIDFILE, strerror (errno)); + else { + x = fprintf (f, "%s\n", hwaddr_ntoa (duid, len)); + fclose (f); + } + + /* Failed to write the duid? scrub it, we cannot use it */ + if (x < 1) { + len = 0; + unlink (DUIDFILE); + } + + return (len); +} +#endif diff --git a/workspace/networkDiscovery/dhcpcd/duid.h b/workspace/networkDiscovery/dhcpcd/duid.h new file mode 100644 index 0000000..1492990 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/duid.h @@ -0,0 +1,42 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DUID_H +#define DUID_H + +#include "config.h" + +#ifdef ENABLE_DUID +#ifndef DUID_LEN +# define DUID_LEN 128 + 2 +#endif + +#include "interface.h" + +size_t get_duid (unsigned char *duid, const interface_t *iface); +#endif +#endif diff --git a/workspace/networkDiscovery/dhcpcd/info.c b/workspace/networkDiscovery/dhcpcd/info.c new file mode 100644 index 0000000..8369b43 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/info.c @@ -0,0 +1,472 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include + +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "info.h" + +#ifdef ENABLE_INFO + +/* Create a malloced string of cstr, changing ' to '\'' + * so the contents work in a shell */ +static char *cleanmetas (const char *cstr) +{ + const char *p = cstr; + char *new; + char *n; + size_t len; + + if (cstr == NULL || (len = strlen (cstr)) == 0) + return (xstrdup ("")); + + n = new = xmalloc (sizeof (char) * len + 2); + do + if (*p == '\'') { + size_t pos = n - new; + len += 4; + new = xrealloc (new, sizeof (char) * len + 1); + n = new + pos; + *n++ = '\''; + *n++ = '\\'; + *n++ = '\''; + *n++ = '\''; + } else + *n++ = *p; + while (*p++); + + /* Terminate the sucker */ + *n = '\0'; + + return (new); +} + + +static void print_addresses (FILE *f, const struct address_head *addresses) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, " "); + } +} + +static void print_clean (FILE *f, const char *name, const char *value) +{ + char *clean; + + if (! value) + return; + + clean = cleanmetas (value); + fprintf (f, "%s='%s'\n", name, clean); + free (clean); +} + +bool write_info(const interface_t *iface, const dhcp_t *dhcp, + const options_t *options, bool overwrite) +{ + FILE *f; + route_t *route; + struct stat sb; + + if (options->test) + f = stdout; + else { + if (! overwrite && stat (iface->infofile, &sb) == 0) + return (true); + + logger (LOG_DEBUG, "writing %s", iface->infofile); + if ((f = fopen (iface->infofile, "w")) == NULL) { + logger (LOG_ERR, "fopen `%s': %s", + iface->infofile, strerror (errno)); + return (false); + } + } + + if (dhcp->address.s_addr) { + struct in_addr n; + n.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + fprintf (f, "IPADDR='%s'\n", inet_ntoa (dhcp->address)); + fprintf (f, "NETMASK='%s'\n", inet_ntoa (dhcp->netmask)); + fprintf (f, "NETWORK='%s'\n", inet_ntoa (n)); + fprintf (f, "BROADCAST='%s'\n", inet_ntoa (dhcp->broadcast)); + } + if (dhcp->mtu > 0) + fprintf (f, "MTU='%d'\n", dhcp->mtu); + + if (dhcp->routes) { + bool doneone = false; + fprintf (f, "ROUTES='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr != 0) { + if (doneone) + fprintf (f, " "); + fprintf (f, "%s", inet_ntoa (route->destination)); + fprintf (f, ",%s", inet_ntoa (route->netmask)); + fprintf (f, ",%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + + doneone = false; + fprintf (f, "GATEWAYS='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf (f, " "); + fprintf (f, "%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + } + + print_clean (f, "HOSTNAME", dhcp->hostname); + print_clean (f, "DNSDOMAIN", dhcp->dnsdomain); + print_clean (f, "DNSSEARCH", dhcp->dnssearch); + + if (dhcp->dnsservers) { + fprintf (f, "DNSSERVERS='"); + print_addresses (f, dhcp->dnsservers); + fprintf (f, "'\n"); + } + + if (dhcp->fqdn) { + fprintf (f, "FQDNFLAGS='%u'\n", dhcp->fqdn->flags); + fprintf (f, "FQDNRCODE1='%u'\n", dhcp->fqdn->r1); + fprintf (f, "FQDNRCODE2='%u'\n", dhcp->fqdn->r2); + print_clean (f, "FQDNHOSTNAME", dhcp->fqdn->name); + } + + if (dhcp->ntpservers) { + fprintf (f, "NTPSERVERS='"); + print_addresses (f, dhcp->ntpservers); + fprintf (f, "'\n"); + } + + print_clean (f, "NISDOMAIN", dhcp->nisdomain); + if (dhcp->nisservers) { + fprintf (f, "NISSERVERS='"); + print_addresses (f, dhcp->nisservers); + fprintf (f, "'\n"); + } + + print_clean (f, "ROOTPATH", dhcp->rootpath); + print_clean (f, "SIPSERVERS", dhcp->sipservers); + + if (dhcp->serveraddress.s_addr) + fprintf (f, "DHCPSID='%s'\n", inet_ntoa (dhcp->serveraddress)); + if (dhcp->servername[0]) + print_clean (f, "DHCPSNAME", dhcp->servername); + + if (! options->doinform && dhcp->address.s_addr) { + if (! options->test) + fprintf (f, "LEASEDFROM='%u'\n", dhcp->leasedfrom); + fprintf (f, "LEASETIME='%u'\n", dhcp->leasetime); + fprintf (f, "RENEWALTIME='%u'\n", dhcp->renewaltime); + fprintf (f, "REBINDTIME='%u'\n", dhcp->rebindtime); + } + print_clean (f, "INTERFACE", iface->name); + print_clean (f, "CLASSID", options->classid); + if (iface->clientid_len > 0) { + fprintf (f, "CLIENTID='%s'\n", + hwaddr_ntoa (iface->clientid, iface->clientid_len)); + } + fprintf (f, "DHCPCHADDR='%s'\n", hwaddr_ntoa (iface->hwaddr, + iface->hwlen)); + +#ifdef ENABLE_INFO_COMPAT + /* Support the old .info settings if we need to */ + fprintf (f, "\n# dhcpcd-1.x and 2.x compatible variables\n"); + if (dhcp->dnsservers) { + address_t *addr; + + fprintf (f, "DNS='"); + STAILQ_FOREACH (addr, dhcp->dnsservers, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, ","); + } + fprintf (f, "'\n"); + } + + if (dhcp->routes) { + bool doneone = false; + fprintf (f, "GATEWAY='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf (f, ","); + fprintf (f, "%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + } +#endif + + if (! options->test) + fclose (f); + return (true); +} + +static bool parse_address (struct in_addr *addr, + const char *value, const char *var) +{ + if (inet_aton (value, addr) == 0) { + logger (LOG_ERR, "%s `%s': %s", var, value, + strerror (errno)); + return (false); + } + return (true); +} + +static bool parse_uint (unsigned int *i, + const char *value, const char *var) +{ + if (sscanf (value, "%u", i) != 1) { + logger (LOG_ERR, "%s `%s': not a valid number", + var, value); + return (false); + } + return (true); +} + +static bool parse_ushort (unsigned short *s, + const char *value, const char *var) +{ + if (sscanf (value, "%hu", s) != 1) { + logger (LOG_ERR, "%s `%s': not a valid number", + var, value); + return (false); + } + return (true); +} + +static struct address_head *parse_addresses (char *value, const char *var) +{ + char *token; + char *p = value; + struct address_head *head = NULL; + + while ((token = strsep (&p, " "))) { + address_t *a = xzalloc (sizeof (*a)); + + if (inet_aton (token, &a->address) == 0) { + logger (LOG_ERR, "%s: invalid address `%s'", var, token); + free_address (head); + free (a); + return (NULL); + } + + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + STAILQ_INSERT_TAIL (head, a, entries); + } + + return (head); +} + +bool read_info (const interface_t *iface, dhcp_t *dhcp) +{ + FILE *fp; + char *line; + char *var; + char *value; + char *p; + struct stat sb; + + if (stat (iface->infofile, &sb) != 0) { + logger (LOG_ERR, "lease information file `%s' does not exist", + iface->infofile); + return (false); + } + + if (! (fp = fopen (iface->infofile, "r"))) { + logger (LOG_ERR, "fopen `%s': %s", + iface->infofile, strerror (errno)); + return (false); + } + + dhcp->frominfo = true; + + while ((line = get_line (fp))) { + var = line; + + /* Strip leading spaces/tabs */ + while ((*var == ' ') || (*var == '\t')) + var++; + + /* Trim trailing \n */ + p = var + strlen (var) - 1; + if (*p == '\n') + *p = 0; + + /* Skip comments */ + if (*var == '#') + goto next; + + /* If we don't have an equals sign then skip it */ + if (! (p = strchr (var, '='))) + goto next; + + /* Terminate the = so we have two strings */ + *p = 0; + + value = p + 1; + /* Strip leading and trailing quotes if present */ + if (*value == '\'' || *value == '"') + value++; + p = value + strlen (value) - 1; + if (*p == '\'' || *p == '"') + *p = 0; + + /* Don't process null vars or values */ + if (! *var || ! *value) + goto next; + + if (strcmp (var, "IPADDR") == 0) + parse_address (&dhcp->address, value, "IPADDR"); + else if (strcmp (var, "NETMASK") == 0) + parse_address (&dhcp->netmask, value, "NETMASK"); + else if (strcmp (var, "BROADCAST") == 0) + parse_address (&dhcp->broadcast, value, "BROADCAST"); + else if (strcmp (var, "MTU") == 0) + parse_ushort (&dhcp->mtu, value, "MTU"); + else if (strcmp (var, "ROUTES") == 0) { + p = value; + while ((value = strsep (&p, " "))) { + char *pp = value; + char *dest = strsep (&pp, ","); + char *net = strsep (&pp, ","); + char *gate = strsep (&pp, ","); + route_t *route; + + if (! dest || ! net || ! gate) { + logger (LOG_ERR, "read_info ROUTES `%s,%s,%s': invalid route", + dest, net, gate); + goto next; + } + + /* See if we can create a route */ + route = xzalloc (sizeof (*route)); + if (inet_aton (dest, &route->destination) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid destination address", + dest); + free (route); + goto next; + } + if (inet_aton (dest, &route->netmask) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid netmask address", + net); + free (route); + goto next; + } + if (inet_aton (dest, &route->gateway) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid gateway address", + gate); + free (route); + goto next; + } + + /* OK, now add our route */ + if (! dhcp->routes) { + dhcp->routes = xmalloc (sizeof (*dhcp->routes)); + STAILQ_INIT (dhcp->routes); + } + STAILQ_INSERT_TAIL (dhcp->routes, route, entries); + } + } else if (strcmp (var, "GATEWAYS") == 0) { + p = value; + while ((value = strsep (&p, " "))) { + route_t *route = xzalloc (sizeof (*route)); + if (parse_address (&route->gateway, value, "GATEWAYS")) { + if (! dhcp->routes) { + dhcp->routes = xmalloc (sizeof (*dhcp->routes)); + STAILQ_INIT (dhcp->routes); + } + STAILQ_INSERT_TAIL (dhcp->routes, route, entries); + } else + free (route); + } + } else if (strcmp (var, "HOSTNAME") == 0) + dhcp->hostname = xstrdup (value); + else if (strcmp (var, "DNSDOMAIN") == 0) + dhcp->dnsdomain = xstrdup (value); + else if (strcmp (var, "DNSSEARCH") == 0) + dhcp->dnssearch = xstrdup (value); + else if (strcmp (var, "DNSSERVERS") == 0) + dhcp->dnsservers = parse_addresses (value, "DNSSERVERS"); + else if (strcmp (var, "NTPSERVERS") == 0) + dhcp->ntpservers = parse_addresses (value, "NTPSERVERS"); + else if (strcmp (var, "NISDOMAIN") == 0) + dhcp->nisdomain = xstrdup (value); + else if (strcmp (var, "NISSERVERS") == 0) + dhcp->nisservers = parse_addresses (value, "NISSERVERS"); + else if (strcmp (var, "ROOTPATH") == 0) + dhcp->rootpath = xstrdup (value); + else if (strcmp (var, "DHCPSID") == 0) + parse_address (&dhcp->serveraddress, value, "DHCPSID"); + else if (strcmp (var, "DHCPSNAME") == 0) + strlcpy (dhcp->servername, value, sizeof (dhcp->servername)); + else if (strcmp (var, "LEASEDFROM") == 0) + parse_uint (&dhcp->leasedfrom, value, "LEASEDFROM"); + else if (strcmp (var, "LEASETIME") == 0) + parse_uint (&dhcp->leasetime, value, "LEASETIME"); + else if (strcmp (var, "RENEWALTIME") == 0) + parse_uint (&dhcp->renewaltime, value, "RENEWALTIME"); + else if (strcmp (var, "REBINDTIME") == 0) + parse_uint (&dhcp->rebindtime, value, "REBINDTIME"); + +next: + free (line); + } + + fclose (fp); + return (true); +} + +#endif + diff --git a/workspace/networkDiscovery/dhcpcd/info.h b/workspace/networkDiscovery/dhcpcd/info.h new file mode 100644 index 0000000..22966db --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/info.h @@ -0,0 +1,42 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef INFO_H +#define INFO_H + +#include "dhcpcd.h" +#include "interface.h" +#include "dhcp.h" + +#ifdef ENABLE_INFO +bool write_info (const interface_t *iface, const dhcp_t *dhcp, + const options_t *options, bool overwrite); + +bool read_info (const interface_t *iface, dhcp_t *dhcp); +#endif + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/interface.c b/workspace/networkDiscovery/dhcpcd/interface.c new file mode 100644 index 0000000..d2ff8d6 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/interface.c @@ -0,0 +1,1060 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include + +/* Netlink suff */ +#ifdef __linux__ +#include /* Needed for 2.4 kernels */ +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" + +void free_address (struct address_head *addresses) +{ + address_t *p; + address_t *n; + + if (! addresses) + return; + + p = STAILQ_FIRST (addresses); + while (p) { + n = STAILQ_NEXT (p, entries); + free (p); + p = n; + } + free (addresses); +} + +void free_route (struct route_head *routes) +{ + route_t *p; + route_t *n; + + if (! routes) + return; + + p = STAILQ_FIRST (routes); + while (p) { + n = STAILQ_NEXT (p, entries); + free (p); + p = n; + } + free (routes); +} + +int inet_ntocidr (struct in_addr address) +{ + int cidr = 0; + uint32_t mask = htonl (address.s_addr); + + while (mask) { + cidr++; + mask <<= 1; + } + + return (cidr); +} + +int inet_cidrtoaddr (int cidr, struct in_addr *addr) { + int ocets; + + if (cidr < 0 || cidr > 32) { + errno = EINVAL; + return (-1); + } + ocets = (cidr + 7) / 8; + + memset (addr, 0, sizeof (*addr)); + if (ocets > 0) { + memset (&addr->s_addr, 255, (size_t) ocets - 1); + memset ((unsigned char *) &addr->s_addr + (ocets - 1), + (256 - (1 << (32 - cidr) % 8)), 1); + } + + return (0); +} + +uint32_t get_netmask (uint32_t addr) +{ + uint32_t dst; + + if (addr == 0) + return (0); + + dst = htonl (addr); + if (IN_CLASSA (dst)) + return (ntohl (IN_CLASSA_NET)); + if (IN_CLASSB (dst)) + return (ntohl (IN_CLASSB_NET)); + if (IN_CLASSC (dst)) + return (ntohl (IN_CLASSC_NET)); + + return (0); +} + +char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen) +{ + static char buffer[(HWADDR_LEN * 3) + 1]; + char *p = buffer; + size_t i; + + for (i = 0; i < hwlen && i < HWADDR_LEN; i++) { + if (i > 0) + *p ++= ':'; + p += snprintf (p, 3, "%.2x", hwaddr[i]); + } + + *p ++= '\0'; + + return (buffer); +} + +size_t hwaddr_aton (unsigned char *buffer, const char *addr) +{ + char c[3]; + const char *p = addr; + unsigned char *bp = buffer; + size_t len = 0; + + c[2] = '\0'; + while (*p) { + c[0] = *p++; + c[1] = *p++; + /* Ensure that next data is EOL or a seperator with data */ + if (! (*p == '\0' || (*p == ':' && *(p + 1) != '\0'))) { + errno = EINVAL; + return (0); + } + /* Ensure that digits are hex */ + if (isxdigit ((int) c[0]) == 0 || isxdigit ((int) c[1]) == 0) { + errno = EINVAL; + return (0); + } + p++; + if (bp) + *bp++ = (unsigned char) strtol (c, NULL, 16); + else + len++; + } + + if (bp) + return (bp - buffer); + return (len); +} + +static int _do_interface (const char *ifname, + _unused unsigned char *hwaddr, _unused size_t *hwlen, + struct in_addr *addr, + bool flush, bool get) +{ + int s; + struct ifconf ifc; + int retval = 0; + int len = 10 * sizeof (struct ifreq); + int lastlen = 0; + char *p; + + if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + /* Not all implementations return the needed buffer size for + * SIOGIFCONF so we loop like so for all until it works */ + memset (&ifc, 0, sizeof (ifc)); + for (;;) { + ifc.ifc_len = len; + ifc.ifc_buf = xmalloc ((size_t) len); + if (ioctl (s, SIOCGIFCONF, &ifc) == -1) { + if (errno != EINVAL || lastlen != 0) { + logger (LOG_ERR, "ioctl SIOCGIFCONF: %s", + strerror (errno)); + close (s); + free (ifc.ifc_buf); + return -1; + } + } else { + if (ifc.ifc_len == lastlen) + break; + lastlen = ifc.ifc_len; + } + + free (ifc.ifc_buf); + ifc.ifc_buf = NULL; + len *= 2; + } + + for (p = ifc.ifc_buf; p < ifc.ifc_buf + ifc.ifc_len;) { + union { + char *buffer; + struct ifreq *ifr; + } ifreqs; + struct sockaddr_in address; + struct ifreq *ifr; + + /* Cast the ifc buffer to an ifreq cleanly */ + ifreqs.buffer = p; + ifr = ifreqs.ifr; + +#ifdef __linux__ + p += sizeof (*ifr); +#else + p += offsetof (struct ifreq, ifr_ifru) + ifr->ifr_addr.sa_len; +#endif + + if (strcmp (ifname, ifr->ifr_name) != 0) + continue; + +#ifdef AF_LINK + if (hwaddr && hwlen && ifr->ifr_addr.sa_family == AF_LINK) { + struct sockaddr_dl sdl; + + memcpy (&sdl, &ifr->ifr_addr, sizeof (sdl)); + *hwlen = sdl.sdl_alen; + memcpy (hwaddr, sdl.sdl_data + sdl.sdl_nlen, + (size_t) sdl.sdl_alen); + retval = 1; + break; + } +#endif + + if (ifr->ifr_addr.sa_family == AF_INET) { + memcpy (&address, &ifr->ifr_addr, sizeof (address)); + if (flush) { + struct sockaddr_in netmask; + + if (ioctl (s, SIOCGIFNETMASK, ifr) == -1) { + logger (LOG_ERR, + "ioctl SIOCGIFNETMASK: %s", + strerror (errno)); + continue; + } + memcpy (&netmask, &ifr->ifr_addr, + sizeof (netmask)); + + if (del_address (ifname, + address.sin_addr, + netmask.sin_addr) == -1) + retval = -1; + } else if (get) { + addr->s_addr = address.sin_addr.s_addr; + retval = 1; + break; + } else if (address.sin_addr.s_addr == addr->s_addr) { + retval = 1; + break; + } + } + + } + + close (s); + free (ifc.ifc_buf); + return retval; +} + +interface_t *read_interface (const char *ifname, _unused int metric) +{ + int s; + struct ifreq ifr; + interface_t *iface = NULL; + unsigned char *hwaddr = NULL; + size_t hwlen = 0; + sa_family_t family = 0; + unsigned short mtu; +#ifdef __linux__ + char *p; +#endif + + if (! ifname) + return NULL; + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + + if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return NULL; + } + +#ifdef __linux__ + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCGIFHWADDR, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFHWADDR: %s", strerror (errno)); + goto exit; + } + + switch (ifr.ifr_hwaddr.sa_family) { + case ARPHRD_ETHER: + case ARPHRD_IEEE802: + hwlen = ETHER_ADDR_LEN; + break; + case ARPHRD_IEEE1394: + hwlen = EUI64_ADDR_LEN; + case ARPHRD_INFINIBAND: + hwlen = INFINIBAND_ADDR_LEN; + break; + default: + logger (LOG_ERR, + "interface is not Ethernet, FireWire, " \ + "InfiniBand or Token Ring"); + goto exit; + } + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + memcpy (hwaddr, ifr.ifr_hwaddr.sa_data, hwlen); + family = ifr.ifr_hwaddr.sa_family; +#else + ifr.ifr_metric = metric; + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCSIFMETRIC, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCSIFMETRIC: %s", strerror (errno)); + goto exit; + } + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + if (_do_interface (ifname, hwaddr, &hwlen, NULL, false, false) != 1) { + logger (LOG_ERR, "could not find interface %s", ifname); + goto exit; + } + + family = ARPHRD_ETHER; +#endif + + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCGIFMTU, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); + goto exit; + } + + if (ifr.ifr_mtu < MTU_MIN) { + logger (LOG_DEBUG, "MTU of %d is too low, setting to %d", + ifr.ifr_mtu, MTU_MIN); + ifr.ifr_mtu = MTU_MIN; + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCSIFMTU, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCSIFMTU,: %s", + strerror (errno)); + goto exit; + } + } + mtu = ifr.ifr_mtu; + + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); +#ifdef __linux__ + /* We can only bring the real interface up */ + if ((p = strchr (ifr.ifr_name, ':'))) + *p = '\0'; +#endif + if (ioctl (s, SIOCGIFFLAGS, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFFLAGS: %s", strerror (errno)); + goto exit; + } + + if (! (ifr.ifr_flags & IFF_UP) || ! (ifr.ifr_flags & IFF_RUNNING)) { + ifr.ifr_flags |= IFF_UP | IFF_RUNNING; + if (ioctl (s, SIOCSIFFLAGS, &ifr) != 0) { + logger (LOG_ERR, "ioctl SIOCSIFFLAGS: %s", + strerror (errno)); + goto exit; + } + } + + iface = xzalloc (sizeof (*iface)); + strlcpy (iface->name, ifname, IF_NAMESIZE); +#ifdef ENABLE_INFO + snprintf (iface->infofile, PATH_MAX, INFOFILE, ifname); +#endif + memcpy (&iface->hwaddr, hwaddr, hwlen); + iface->hwlen = hwlen; + + iface->family = family; + iface->arpable = ! (ifr.ifr_flags & (IFF_NOARP | IFF_LOOPBACK)); + iface->mtu = iface->previous_mtu = mtu; + + logger (LOG_INFO, "hardware address = %s", + hwaddr_ntoa (iface->hwaddr, iface->hwlen)); + + /* 0 is a valid fd, so init to -1 */ + iface->fd = -1; +#ifdef __linux__ + iface->listen_fd = -1; +#endif + +exit: + close (s); + free (hwaddr); + return iface; +} + +int get_mtu (const char *ifname) +{ + struct ifreq ifr; + int r; + int s; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + r = ioctl (s, SIOCGIFMTU, &ifr); + close (s); + + if (r == -1) { + logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); + return (-1); + } + + return (ifr.ifr_mtu); +} + +int set_mtu (const char *ifname, short int mtu) +{ + struct ifreq ifr; + int r; + int s; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + + memset (&ifr, 0, sizeof (ifr)); + logger (LOG_DEBUG, "setting MTU to %d", mtu); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + ifr.ifr_mtu = mtu; + r = ioctl (s, SIOCSIFMTU, &ifr); + close (s); + + if (r == -1) + logger (LOG_ERR, "ioctl SIOCSIFMTU: %s", strerror (errno)); + + return (r == 0 ? 0 : -1); +} + +static void log_route (struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + _unused int metric, + int change, int del) +{ + char *dstd = xstrdup (inet_ntoa (destination)); + +#ifdef __linux__ +#define METRIC " metric %d" +#else +#define METRIC "" +#endif + + if (gateway.s_addr == destination.s_addr || + gateway.s_addr == INADDR_ANY) + logger (LOG_INFO, "%s route to %s/%d" METRIC, + change ? "changing" : del ? "removing" : "adding", + dstd, inet_ntocidr (netmask) +#ifdef __linux__ + , metric +#endif + ); + else if (destination.s_addr == INADDR_ANY) + logger (LOG_INFO, "%s default route via %s" METRIC, + change ? "changing" : del ? "removing" : "adding", + inet_ntoa (gateway) + +#ifdef __linux__ + , metric +#endif + ); + else + logger (LOG_INFO, "%s route to %s/%d via %s" METRIC, + change ? "changing" : del ? "removing" : "adding", + dstd, inet_ntocidr (netmask), inet_ntoa (gateway) +#ifdef __linux__ + , metric +#endif + ); + + free (dstd); +} + +#if defined(BSD) || defined(__FreeBSD_kernel__) + +/* Darwin doesn't define this for some very odd reason */ +#ifndef SA_SIZE +# define SA_SIZE(sa) \ + ( (!(sa) || ((struct sockaddr *)(sa))->sa_len == 0) ? \ + sizeof(long) : \ + 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) +#endif + +static int do_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast, + int del) +{ + int s; + struct ifaliasreq ifa; + + if (! ifname) + return -1; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&ifa, 0, sizeof (ifa)); + strlcpy (ifa.ifra_name, ifname, sizeof (ifa.ifra_name)); + +#define ADDADDR(_var, _addr) { \ + union { struct sockaddr *sa; struct sockaddr_in *sin; } _s; \ + _s.sa = &_var; \ + _s.sin->sin_family = AF_INET; \ + _s.sin->sin_len = sizeof (*_s.sin); \ + memcpy (&_s.sin->sin_addr, &_addr, sizeof (_s.sin->sin_addr)); \ +} + + ADDADDR (ifa.ifra_addr, address); + ADDADDR (ifa.ifra_mask, netmask); +if (! del) + ADDADDR (ifa.ifra_broadaddr, broadcast); + +#undef ADDADDR + + if (ioctl (s, del ? SIOCDIFADDR : SIOCAIFADDR, &ifa) == -1) { + logger (LOG_ERR, "ioctl %s: %s", + del ? "SIOCDIFADDR" : "SIOCAIFADDR", + strerror (errno)); + close (s); + return -1; + } + +close (s); +return 0; +} + +static int do_route (const char *ifname, + struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + int metric, + int change, int del) +{ + int s; + static int seq; + union sockunion { + struct sockaddr sa; + struct sockaddr_in sin; +#ifdef INET6 + struct sockaddr_in6 sin6; +#endif + struct sockaddr_dl sdl; + struct sockaddr_storage ss; + } su; + struct rtm + { + struct rt_msghdr hdr; + char buffer[sizeof (su) * 3]; + } rtm; + char *bp = rtm.buffer; + size_t l; + + if (! ifname) + return -1; + + log_route (destination, netmask, gateway, metric, change, del); + + if ((s = socket (PF_ROUTE, SOCK_RAW, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&rtm, 0, sizeof (rtm)); + + rtm.hdr.rtm_version = RTM_VERSION; + rtm.hdr.rtm_seq = ++seq; + rtm.hdr.rtm_type = change ? RTM_CHANGE : del ? RTM_DELETE : RTM_ADD; + rtm.hdr.rtm_flags = RTF_UP | RTF_STATIC; + + /* This order is important */ + rtm.hdr.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; + +#define ADDADDR(_addr) \ + memset (&su, 0, sizeof (su)); \ + su.sin.sin_family = AF_INET; \ + su.sin.sin_len = sizeof (su.sin); \ + memcpy (&su.sin.sin_addr, &_addr, sizeof (su.sin.sin_addr)); \ + l = SA_SIZE (&(su.sa)); \ + memcpy (bp, &(su), l); \ + bp += l; + + ADDADDR (destination); + + if (netmask.s_addr == INADDR_BROADCAST || + gateway.s_addr == INADDR_ANY) + { + /* Make us a link layer socket */ + unsigned char *hwaddr; + size_t hwlen = 0; + + if (netmask.s_addr == INADDR_BROADCAST) + rtm.hdr.rtm_flags |= RTF_HOST; + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + _do_interface (ifname, hwaddr, &hwlen, NULL, false, false); + memset (&su, 0, sizeof (su)); + su.sdl.sdl_len = sizeof (su.sdl); + su.sdl.sdl_family = AF_LINK; + su.sdl.sdl_nlen = strlen (ifname); + memcpy (&su.sdl.sdl_data, ifname, (size_t) su.sdl.sdl_nlen); + su.sdl.sdl_alen = hwlen; + memcpy (((unsigned char *) &su.sdl.sdl_data) + su.sdl.sdl_nlen, + hwaddr, (size_t) su.sdl.sdl_alen); + + l = SA_SIZE (&(su.sa)); + memcpy (bp, &su, l); + bp += l; + free (hwaddr); + } else { + rtm.hdr.rtm_flags |= RTF_GATEWAY; + ADDADDR (gateway); + } + + ADDADDR (netmask); +#undef ADDADDR + + rtm.hdr.rtm_msglen = l = bp - (char *)&rtm; + if (write (s, &rtm, l) == -1) { + /* Don't report error about routes already existing */ + if (errno != EEXIST) + logger (LOG_ERR, "write: %s", strerror (errno)); + close (s); + return -1; + } + + close (s); + return 0; +} + +#elif __linux__ +/* This netlink stuff is overly compex IMO. + * The BSD implementation is much cleaner and a lot less code. + * send_netlink handles the actual transmission so we can work out + * if there was an error or not. */ +#define BUFFERLEN 256 +int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg) +{ + int s; + pid_t mypid = getpid (); + struct sockaddr_nl nl; + struct iovec iov; + struct msghdr msg; + static unsigned int seq; + char *buffer; + ssize_t bytes; + union + { + char *buffer; + struct nlmsghdr *nlm; + } h; + + if ((s = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&nl, 0, sizeof (nl)); + nl.nl_family = AF_NETLINK; + if (bind (s, (struct sockaddr *) &nl, sizeof (nl)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (s); + return -1; + } + + memset (&iov, 0, sizeof (iov)); + iov.iov_base = hdr; + iov.iov_len = hdr->nlmsg_len; + + memset (&msg, 0, sizeof (msg)); + msg.msg_name = &nl; + msg.msg_namelen = sizeof (nl); + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + + /* Request a reply */ + hdr->nlmsg_flags |= NLM_F_ACK; + hdr->nlmsg_seq = ++seq; + + if (sendmsg (s, &msg, 0) == -1) { + logger (LOG_ERR, "write: %s", strerror (errno)); + close (s); + return -1; + } + + buffer = xzalloc (sizeof (char) * BUFFERLEN); + iov.iov_base = buffer; + + for (;;) { + iov.iov_len = BUFFERLEN; + bytes = recvmsg (s, &msg, 0); + + if (bytes == -1) { + if (errno != EINTR) + logger (LOG_ERR, "recvmsg: %s", + strerror (errno)); + continue; + } + + if (bytes == 0) { + logger (LOG_ERR, "netlink: EOF"); + goto eexit; + } + + if (msg.msg_namelen != sizeof (nl)) { + logger (LOG_ERR, + "netlink: sender address length mismatch"); + goto eexit; + } + + for (h.buffer = buffer; bytes >= (signed) sizeof (*h.nlm); ) { + int len = h.nlm->nlmsg_len; + int l = len - sizeof (*h.nlm); + struct nlmsgerr *err = (struct nlmsgerr *) NLMSG_DATA (h.nlm); + + if (l < 0 || len > bytes) { + if (msg.msg_flags & MSG_TRUNC) + logger (LOG_ERR, "netlink: truncated message"); + else + logger (LOG_ERR, "netlink: malformed message"); + goto eexit; + } + + /* Ensure it's our message */ + if (nl.nl_pid != 0 || + (pid_t) h.nlm->nlmsg_pid != mypid || + h.nlm->nlmsg_seq != seq) + { + /* Next Message */ + bytes -= NLMSG_ALIGN (len); + h.buffer += NLMSG_ALIGN (len); + continue; + } + + /* We get an NLMSG_ERROR back with a code of zero for success */ + if (h.nlm->nlmsg_type != NLMSG_ERROR) { + logger (LOG_ERR, "netlink: unexpected reply %d", + h.nlm->nlmsg_type); + goto eexit; + } + + if ((unsigned) l < sizeof (*err)) { + logger (LOG_ERR, "netlink: error truncated"); + goto eexit; + } + + if (err->error == 0) { + int retval = 0; + + close (s); + if (callback) { + if ((retval = callback (hdr, arg)) == -1) + logger (LOG_ERR, "netlink: callback failed"); + } + free (buffer); + return (retval); + } + + errno = -err->error; + /* Don't report on something already existing */ + if (errno != EEXIST) + logger (LOG_ERR, "netlink: %s", + strerror (errno)); + goto eexit; + } + } + +eexit: + close (s); + free (buffer); + return -1; +} + +#define NLMSG_TAIL(nmsg) \ + ((struct rtattr *) (((ptrdiff_t) (nmsg)) + NLMSG_ALIGN ((nmsg)->nlmsg_len))) + +static int add_attr_l(struct nlmsghdr *n, unsigned int maxlen, int type, + const void *data, int alen) +{ + int len = RTA_LENGTH(alen); + struct rtattr *rta; + + if (NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len) > maxlen) { + logger (LOG_ERR, "add_attr_l: message exceeded bound of %d\n", + maxlen); + return -1; + } + + rta = NLMSG_TAIL (n); + rta->rta_type = type; + rta->rta_len = len; + memcpy (RTA_DATA (rta), data, alen); + n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len); + + return 0; +} + +static int add_attr_32(struct nlmsghdr *n, unsigned int maxlen, int type, + uint32_t data) +{ + int len = RTA_LENGTH (sizeof (data)); + struct rtattr *rta; + + if (NLMSG_ALIGN (n->nlmsg_len) + len > maxlen) { + logger (LOG_ERR, "add_attr32: message exceeded bound of %d\n", + maxlen); + return -1; + } + + rta = NLMSG_TAIL (n); + rta->rta_type = type; + rta->rta_len = len; + memcpy (RTA_DATA (rta), &data, sizeof (data)); + n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + len; + + return 0; +} + +struct nlma +{ + struct nlmsghdr hdr; + struct ifaddrmsg ifa; + char buffer[64]; +}; + +struct nlmr +{ + struct nlmsghdr hdr; + struct rtmsg rt; + char buffer[256]; +}; + +static int do_address(const char *ifname, + struct in_addr address, struct in_addr netmask, + struct in_addr broadcast, int del) +{ + struct nlma *nlm; + int retval; + + if (!ifname) + return -1; + + nlm = xzalloc (sizeof (*nlm)); + nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct ifaddrmsg)); + nlm->hdr.nlmsg_flags = NLM_F_REQUEST; + if (! del) + nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; + nlm->hdr.nlmsg_type = del ? RTM_DELADDR : RTM_NEWADDR; + if (! (nlm->ifa.ifa_index = if_nametoindex (ifname))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + ifname); + free (nlm); + return -1; + } + nlm->ifa.ifa_family = AF_INET; + + nlm->ifa.ifa_prefixlen = inet_ntocidr (netmask); + + /* This creates the aliased interface */ + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LABEL, + ifname, strlen (ifname) + 1); + + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LOCAL, + &address.s_addr, sizeof (address.s_addr)); + if (! del) + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_BROADCAST, + &broadcast.s_addr, sizeof (broadcast.s_addr)); + + retval = send_netlink (&nlm->hdr, NULL, NULL); + free (nlm); + return retval; +} + +static int do_route (const char *ifname, + struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + int metric, int change, int del) +{ + struct nlmr *nlm; + unsigned int ifindex; + int retval; + + if (! ifname) + return -1; + + log_route (destination, netmask, gateway, metric, change, del); + + if (! (ifindex = if_nametoindex (ifname))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + ifname); + return -1; + } + + nlm = xzalloc (sizeof (*nlm)); + nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg)); + if (change) + nlm->hdr.nlmsg_flags = NLM_F_REPLACE; + else if (! del) + nlm->hdr.nlmsg_flags = NLM_F_CREATE | NLM_F_EXCL; + nlm->hdr.nlmsg_flags |= NLM_F_REQUEST; + nlm->hdr.nlmsg_type = del ? RTM_DELROUTE : RTM_NEWROUTE; + nlm->rt.rtm_family = AF_INET; + nlm->rt.rtm_table = RT_TABLE_MAIN; + + if (del) + nlm->rt.rtm_scope = RT_SCOPE_NOWHERE; + else { + nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_EXCL; + nlm->rt.rtm_protocol = RTPROT_BOOT; + if (netmask.s_addr == INADDR_BROADCAST || + gateway.s_addr == INADDR_ANY) + nlm->rt.rtm_scope = RT_SCOPE_LINK; + else + nlm->rt.rtm_scope = RT_SCOPE_UNIVERSE; + nlm->rt.rtm_type = RTN_UNICAST; + } + + nlm->rt.rtm_dst_len = inet_ntocidr (netmask); + add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_DST, + &destination.s_addr, sizeof (destination.s_addr)); + if (netmask.s_addr != INADDR_BROADCAST && + destination.s_addr != gateway.s_addr) + add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_GATEWAY, + &gateway.s_addr, sizeof (gateway.s_addr)); + + add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_OIF, ifindex); + add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_PRIORITY, metric); + + retval = send_netlink (&nlm->hdr, NULL, NULL); + free (nlm); + return retval; +} + +#else + #error "Platform not supported!" + #error "We currently support BPF and Linux sockets." + #error "Other platforms may work using BPF. If yours does, please let me know" + #error "so I can add it to our list." +#endif + +int add_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast) +{ + logger (LOG_INFO, "adding IP address %s/%d", + inet_ntoa (address), inet_ntocidr (netmask)); + + return (do_address (ifname, address, netmask, broadcast, 0)); +} + +int del_address (const char *ifname, + struct in_addr address, struct in_addr netmask) +{ + struct in_addr t; + + logger (LOG_INFO, "removing IP address %s/%d", + inet_ntoa (address), inet_ntocidr (netmask)); + + memset (&t, 0, sizeof (t)); + return (do_address (ifname, address, netmask, t, 1)); +} + +int add_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 0, 0)); +} + +int change_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 1, 0)); +} + +int del_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 0, 1)); +} + + +int flush_addresses (const char *ifname) +{ + return (_do_interface (ifname, NULL, NULL, NULL, true, false)); +} + +in_addr_t get_address (const char *ifname) +{ + struct in_addr address; + if (_do_interface (ifname, NULL, NULL, &address, false, true) > 0) + return (address.s_addr); + return (0); +} + +int has_address (const char *ifname, struct in_addr address) +{ + return (_do_interface (ifname, NULL, NULL, &address, false, false)); +} diff --git a/workspace/networkDiscovery/dhcpcd/interface.h b/workspace/networkDiscovery/dhcpcd/interface.h new file mode 100644 index 0000000..8215d48 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/interface.h @@ -0,0 +1,173 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef INTERFACE_H +#define INTERFACE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#ifdef __linux__ +# include +#endif + +#ifdef ENABLE_DUID +#ifndef DUID_LEN +# define DUID_LEN 128 + 2 +#endif +#endif + +#define EUI64_ADDR_LEN 8 +#define INFINIBAND_ADDR_LEN 20 + +/* Linux 2.4 doesn't define this */ +#ifndef ARPHRD_IEEE1394 +# define ARPHRD_IEEE1394 24 +#endif + +/* The BSD's don't define this yet */ +#ifndef ARPHRD_INFINIBAND +# define ARPHRD_INFINIBAND 32 +#endif + +#define HWADDR_LEN 20 + +/* Work out if we have a private address or not + * 10/8 + * 172.16/12 + * 192.168/16 + */ +#ifndef IN_PRIVATE +# define IN_PRIVATE(addr) (((addr & IN_CLASSA_NET) == 0x0a000000) || \ + ((addr & 0xfff00000) == 0xac100000) || \ + ((addr & IN_CLASSB_NET) == 0xc0a80000)) +#endif + +#define LINKLOCAL_ADDR 0xa9fe0000 +#define LINKLOCAL_MASK 0xffff0000 +#define LINKLOCAL_BRDC 0xa9feffff + +#ifndef IN_LINKLOCAL +# define IN_LINKLOCAL(addr) ((addr & IN_CLASSB_NET) == LINKLOCAL_ADDR) +#endif + +#ifndef STAILQ_ENTRY +# error "your sys/queue.h is too old and lacks STAILQ" +#endif + +#define NSTAILQ_FOREACH(var, head, field) \ + if (head) STAILQ_FOREACH (var, head, field) + +typedef struct route_t +{ + struct in_addr destination; + struct in_addr netmask; + struct in_addr gateway; + STAILQ_ENTRY (route_t) entries; +} route_t; +STAILQ_HEAD (route_head, route_t); + +typedef struct address_t +{ + struct in_addr address; + STAILQ_ENTRY (address_t) entries; +} address_t; +STAILQ_HEAD (address_head, address_t); + +typedef struct interface_t +{ + char name[IF_NAMESIZE]; + sa_family_t family; + unsigned char hwaddr[HWADDR_LEN]; + size_t hwlen; + bool arpable; + unsigned short mtu; + + int fd; + size_t buffer_length; + +#ifdef __linux__ + int listen_fd; + int socket_protocol; +#endif + + char infofile[PATH_MAX]; + + unsigned short previous_mtu; + struct in_addr previous_address; + struct in_addr previous_netmask; + struct route_head *previous_routes; + + time_t start_uptime; + + unsigned char *clientid; + size_t clientid_len; +} interface_t; + +void free_address (struct address_head *addresses); +void free_route (struct route_head *routes); +uint32_t get_netmask (uint32_t addr); +char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen); +size_t hwaddr_aton (unsigned char *hwaddr, const char *addr); + +interface_t *read_interface (const char *ifname, int metric); +int get_mtu (const char *ifname); +int set_mtu (const char *ifname, short int mtu); + +int add_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast); +int del_address (const char *ifname, struct in_addr address, + struct in_addr netmask); + +int flush_addresses (const char *ifname); +in_addr_t get_address (const char *ifname); +int has_address (const char *ifname, struct in_addr address); + +int add_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); +int change_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); +int del_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); + +int inet_ntocidr (struct in_addr address); +int inet_cidrtoaddr (int cidr, struct in_addr *addr); + +#ifdef __linux__ +typedef int (*netlink_callback) (struct nlmsghdr *hdr, void *arg); +int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg); +#endif +#endif diff --git a/workspace/networkDiscovery/dhcpcd/ipv4ll.c b/workspace/networkDiscovery/dhcpcd/ipv4ll.c new file mode 100644 index 0000000..9742b9a --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/ipv4ll.c @@ -0,0 +1,70 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "config.h" +#include "arp.h" +#include "ipv4ll.h" + +#ifdef ENABLE_IPV4LL + +#ifndef ENABLE_ARP + # error IPV4LL requires ARP +#endif + +#define IPV4LL_LEASETIME 20 + +int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp) { + struct in_addr addr; + + for (;;) { + addr.s_addr = htonl (LINKLOCAL_ADDR | + (((uint32_t) abs ((int) random ()) + % 0xFD00) + 0x0100)); + errno = 0; + if (! arp_claim (iface, addr)) + break; + /* Our ARP may have been interrupted */ + if (errno) + return (-1); + } + + dhcp->address.s_addr = addr.s_addr; + dhcp->netmask.s_addr = htonl (LINKLOCAL_MASK); + dhcp->broadcast.s_addr = htonl (LINKLOCAL_BRDC); + + /* Finally configure some DHCP like lease times */ + dhcp->leasetime = IPV4LL_LEASETIME; + dhcp->renewaltime = (dhcp->leasetime * 0.5); + dhcp->rebindtime = (dhcp->leasetime * 0.875); + + return (0); +} + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/ipv4ll.h b/workspace/networkDiscovery/dhcpcd/ipv4ll.h new file mode 100644 index 0000000..4fa8943 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/ipv4ll.h @@ -0,0 +1,39 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef IPV4LL_H +#define IPV4LL_H + +#ifdef ENABLE_IPV4LL + +#include "dhcp.h" +#include "interface.h" + +int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp); + +#endif +#endif diff --git a/workspace/networkDiscovery/dhcpcd/logger.c b/workspace/networkDiscovery/dhcpcd/logger.c new file mode 100644 index 0000000..99f845f --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/logger.c @@ -0,0 +1,119 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define SYSLOG_NAMES + +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" + +static int loglevel = LOG_WARNING; +static char logprefix[12] = {0}; + +int logtolevel (const char *priority) +{ + CODE *c; + + if (isdigit ((int) *priority)) + return (atoi (priority)); + + for (c = prioritynames; c->c_name; c++) + if (! strcasecmp (priority, c->c_name)) + return (c->c_val); + + return (-1); +} + +static const char *leveltolog (int level) { + CODE *c; + + for (c = prioritynames; c->c_name; c++) + if (c->c_val == level) + return (c->c_name); + + return (NULL); +} + +void setloglevel (int level) +{ + loglevel = level; +} + +void setlogprefix (const char *prefix) +{ + snprintf (logprefix, sizeof (logprefix), "%s", prefix); +} + +void logger (int level, const char *fmt, ...) +{ + va_list p; + va_list p2; + FILE *f = stderr; + + va_start (p, fmt); + va_copy (p2, p); + + if (level <= LOG_ERR || level <= loglevel) { + if (level == LOG_DEBUG || level == LOG_INFO) + f = stdout; + fprintf (f, "%s, %s", leveltolog (level), logprefix); + vfprintf (f, fmt, p); + fputc ('\n', f); + + /* stdout, stderr may be re-directed to some kind of buffer. + * So we always flush to ensure it's written. */ + fflush (f); + } + + if (level < LOG_DEBUG || level <= loglevel) { + size_t len = strlen (logprefix); + size_t fmt2len = strlen (fmt) + len + 1; + char *fmt2 = malloc (sizeof (char) * fmt2len); + char *pf = fmt2; + if (fmt2) { + memcpy (pf, logprefix, len); + pf += len; + strlcpy (pf, fmt, fmt2len - len); + vsyslog (level, fmt2, p2); + free (fmt2); + } else { + vsyslog (level, fmt, p2); + syslog (LOG_ERR, "logger: memory exhausted"); + exit (EXIT_FAILURE); + } + } + + va_end (p2); + va_end (p); +} + diff --git a/workspace/networkDiscovery/dhcpcd/logger.h b/workspace/networkDiscovery/dhcpcd/logger.h new file mode 100644 index 0000000..989f68d --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/logger.h @@ -0,0 +1,44 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef LOGGER_H +#define LOGGER_H + +#if defined(__GNUC__) +# define _PRINTF_LIKE(_one, _two) __attribute__ ((__format__ (__printf__, _one, _two))) +#else +# define _PRINTF_LIKE(_one, _two) +#endif + +#include + +int logtolevel (const char *priority); +void setloglevel (int level); +void setlogprefix (const char *prefix); +void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/mk/cc.mk b/workspace/networkDiscovery/dhcpcd/mk/cc.mk new file mode 100644 index 0000000..d52597b --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/mk/cc.mk @@ -0,0 +1,23 @@ +# Copyright 2008 Roy Marples + +# Setup some good default CFLAGS +CFLAGS?= -O2 + +# Default to using the C99 standard +CSTD?= c99 +_CSTD_SH= if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi +_CSTD!= ${_CSTD_SH} +CFLAGS+= ${_CSTD}$(shell ${_CSTD_SH}) + +# Try and use some good cc flags +_CC_FLAGS= -pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \ + -Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \ + -Wbad-function-cast -Wnested-externs -Wcomment -Winline \ + -Wchar-subscripts -Wcast-align -Wno-format-nonliteral \ + -Wdeclaration-after-statement -Wsequence-point -Wextra +_CC_FLAGS_SH= for f in ${_CC_FLAGS}; do \ + if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ + then printf "%s" "$$f "; fi \ + done +_CC_FLAGS!= ${_CC_FLAGS_SH} +CFLAGS+= ${_CC_FLAGS}$(shell ${CC_FLAGS_SH}) diff --git a/workspace/networkDiscovery/dhcpcd/mk/depend.mk b/workspace/networkDiscovery/dhcpcd/mk/depend.mk new file mode 100644 index 0000000..a4d717a --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/mk/depend.mk @@ -0,0 +1,11 @@ +# This only works for make implementations that always include a .depend if +# it exists. Only GNU make does not do this. + +# Copyright 2008 Roy Marples + +CLEANFILES+= .depend + +.depend: ${SRCS} + ${CC} ${CFLAGS} -MM ${SRCS} > .depend + +depend: .depend diff --git a/workspace/networkDiscovery/dhcpcd/mk/dist.mk b/workspace/networkDiscovery/dhcpcd/mk/dist.mk new file mode 100644 index 0000000..1d3669d --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/mk/dist.mk @@ -0,0 +1,11 @@ +# rules to make a distribution tarball from a git repo +# Copyright 2008 Roy Marples + +GITREF?= HEAD +DISTPREFIX?= ${PROG}-${VERSION} +DISTFILE?= ${DISTPREFIX}.tar.bz2 + +CLEANFILES+= ${DISTFILE} + +dist: + git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE} diff --git a/workspace/networkDiscovery/dhcpcd/mk/man.mk b/workspace/networkDiscovery/dhcpcd/mk/man.mk new file mode 100644 index 0000000..5d9bf26 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/mk/man.mk @@ -0,0 +1,14 @@ +# rules to install manpages +# Copyright 2008 Roy Marples + +MANPREFIX?= /usr/share +MANDIR?= ${MANPREFIX}/man/man +MANMODE?= 0444 +MINSTALL?= ${INSTALL} -m ${MANMODE} + +man: ${MAN} + +# We cheat as all our pages go into section 8 +maninstall: man + ${INSTALL} -d ${DESTDIR}${MANDIR}8 + for man in ${MAN}; do ${MINSTALL} $$man ${DESTDIR}${MANDIR}8; done diff --git a/workspace/networkDiscovery/dhcpcd/mk/os.mk b/workspace/networkDiscovery/dhcpcd/mk/os.mk new file mode 100644 index 0000000..af173fc --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/mk/os.mk @@ -0,0 +1,77 @@ +# Setup OS specific variables +# Copyright 2008 Roy Marples + +# Work out if we need -lresolv or not +_LIBRESOLV_SH= printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ + if ${CC} .res_init.c -o .res_init >/dev/null 2>&1; then \ + echo ""; \ + elif ${CC} .res_init.c -lresolv -o .res_init >/dev/null 2>&1; then \ + echo "-lresolv"; \ + else \ + echo "Cannot work out how to get res_init to link" >&2; \ + rm -f .res_init.c .res_init; \ + exit 1; \ + fi; \ + rm -f .res_init.c .res_init +_LIBRESOLV!= ${_LIBRESOLV_SH} +LIBRESOLV= ${_LIBRESOLV}$(shell ${_LIBRESOLV_SH}) + +# Work out if we need -lrt or not +_LIBRT_SH= printf '\#include \n\#include \n\nint main (void) { struct timespec ts;\n\#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC)\nreturn (clock_gettime (CLOCK_MONOTONIC, &ts));\n\#else\nreturn -1;\n\#endif\n}\n' > .clock_gettime.c; \ + if ${CC} .clock_gettime.c -o .clock_gettime >/dev/null 2>&1; then \ + echo ""; \ + elif ${CC} .clock_gettime.c -lrt -o .clock_gettime >/dev/null 2>&1; then \ + echo "-lrt"; \ + else \ + echo ""; \ + fi; \ + rm -f .clock_gettime.c .clock_gettime +_LIBRT!= ${_LIBRT_SH} +LIBRT= ${_LIBRT}$(shell ${_LIBRT_SH}) + +# Work out if our fork() works or not +_HAVE_FORK_SH= if test "${HAVE_FORK}" = "yes"; then \ + echo ""; \ + elif test -n "${HAVE_FORK}"; then \ + echo "-DTHERE_IS_NO_FORK"; \ + else \ + printf '\#include \n\#include \nint main (void) { pid_t pid = fork(); if (pid == -1) exit (-1); exit (0); }\n' > .fork.c; \ + ${CC} .fork.c -o .fork >/dev/null 2>&1; \ + if ./.fork; then \ + echo ""; \ + else \ + echo "-DTHERE_IS_NO_FORK"; \ + fi; \ + rm -f .fork.c .fork; \ + fi; +_HAVE_FORK!= ${_HAVE_FORK_SH} +FORK= ${_HAVE_FORK}$(shell ${_HAVE_FORK_SH}) + +# info dir defaults to /var/lib/dhcpcd on Linux and /var/db elsewhere +_INFODIR_SH= if test -n "${INFODIR}"; then \ + echo "${INFODIR}"; \ + else \ + case `uname -s` in \ + Linux) echo "/var/lib/dhcpcd";; \ + *) echo "/var/db";; \ + esac \ + fi +_INFODIR!= ${_INFODIR_SH} +INFOD?= ${_INFODIR}$(shell ${_INFODIR_SH}) + +# Work out how to restart services +_RC_SH= if test -n "${HAVE_INIT}"; then \ + test "${HAVE_INIT}" = "no" || echo "-DENABLE_${HAVE_INIT}"; \ + elif test -x /sbin/runscript; then echo "-DENABLE_OPENRC"; \ + elif test -x /sbin/service; then echo "-DENABLE_SERVICE"; \ + elif test -x /etc/rc.d/rc.S -a -x /etc/rc.d/rc.M; then echo "-DENABLE_SLACKRC"; \ + elif test -d /etc/rc.d; then echo "-DENABLE_BSDRC"; \ + elif test -d /etc/init.d; then echo "-DENABLE_SYSV"; \ + fi +_RC!= ${_RC_SH} +RC= ${_RC}$(shell ${_RC_SH}) + +# glibc requires _BSD_SOURCE and _XOPEN_SOURCE +_DEF_SH= case `uname -s` in Linux) echo "-D_BSD_SOURCE -D_XOPEN_SOURCE=600";; *) echo;; esac +_DEF!= ${_DEF_SH} +CFLAGS+= ${_DEF}$(shell ${_DEF_SH}) diff --git a/workspace/networkDiscovery/dhcpcd/mk/prog.mk b/workspace/networkDiscovery/dhcpcd/mk/prog.mk new file mode 100644 index 0000000..6f2560c --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/mk/prog.mk @@ -0,0 +1,34 @@ +# rules to build a program +# based on FreeBSD's bsd.prog.mk + +# Copyright 2008 Roy Marples + +BINDIR?= ${PREFIX}/usr/bin +BINMODE?= 0755 +OBJS+= ${SRCS:.c=.o} + +INSTALL?= install + +all: ${PROG} ${MAN} + +${PROG}: ${SCRIPTS} ${OBJS} + ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} + +_proginstall: ${PROG} + ${INSTALL} -d ${DESTDIR}${BINDIR} + ${INSTALL} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR} + +include ${MK}/depend.mk +include ${MK}/man.mk +include ${MK}/dist.mk + +install: _proginstall maninstall + +clean: + rm -f ${OBJS} ${PROG} ${CLEANFILES} + +LINTFLAGS?= -hx +LINTFLAGS+= -X 159,247,352 + +lint: ${SRCS:.c=.c} + ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} $^ ${.ALLSRC} diff --git a/workspace/networkDiscovery/dhcpcd/signal.c b/workspace/networkDiscovery/dhcpcd/signal.c new file mode 100644 index 0000000..9055c9f --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/signal.c @@ -0,0 +1,183 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" +#include "signal.h" + +static int signal_pipe[2]; +static int signals[5]; + +static const int handle_sigs[] = { + SIGHUP, + SIGALRM, + SIGTERM, + SIGINT +}; + +static void signal_handler (int sig) +{ + unsigned int i = 0; + int serrno = errno; + + /* Add a signal to our stack */ + while (signals[i]) + i++; + if (i > sizeof (signals) / sizeof (signals[0])) + logger (LOG_ERR, "signal buffer overrun"); + else + signals[i] = sig; + + if (write (signal_pipe[1], &sig, sizeof (sig)) == -1) + logger (LOG_ERR, "Could not send signal: %s", strerror (errno)); + + /* Restore errno */ + errno = serrno; +} + +int signal_fd (void) +{ + return (signal_pipe[0]); +} + +/* Check if we have a signal or not */ +int signal_exists (const struct pollfd *fd) +{ + if (signals[0] || (fd && fd->revents & POLLIN)) + return (0); + return (-1); +} + +/* Read a signal from the signal pipe. Returns 0 if there is + * no signal, -1 on error (and sets errno appropriately), and + * your signal on success */ +int signal_read (struct pollfd *fd) +{ + int sig = -1; + + /* Pop a signal off the our stack */ + if (signals[0]) { + unsigned int i = 0; + sig = signals[0]; + while (i < (sizeof (signals) / sizeof (signals[0])) - 1) { + signals[i] = signals[i + 1]; + if (! signals[++i]) + break; + } + } + + if (fd && fd->revents & POLLIN) { + char buf[16]; + size_t bytes; + + memset (buf, 0, sizeof (buf)); + bytes = read (signal_pipe[0], buf, sizeof (buf)); + + if (bytes >= sizeof (sig)) + memcpy (&sig, buf, sizeof (sig)); + + /* We need to clear us from rset if nothing left in the buffer + * in case we are called many times */ + if (bytes == sizeof (sig)) + fd->revents = 0; + } + + return (sig); +} + +/* Call this before doing anything else. Sets up the socket pair + * and installs the signal handler */ +int signal_init (void) +{ + struct sigaction sa; + + if (pipe (signal_pipe) == -1) { + logger (LOG_ERR, "pipe: %s", strerror (errno)); + return (-1); + } + + /* Stop any scripts from inheriting us */ + close_on_exec (signal_pipe[0]); + close_on_exec (signal_pipe[1]); + + /* Ignore child signals and don't make zombies. + * Because we do this, we don't need to be in signal_setup */ + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = SIG_DFL; + sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT; + if (sigaction (SIGCHLD, &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + memset (signals, 0, sizeof (signals)); + return (0); +} + +int signal_setup (void) +{ + unsigned int i; + struct sigaction sa; + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = signal_handler; + sigemptyset (&sa.sa_mask); + + for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) + if (sigaction (handle_sigs[i], &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + return (0); +} + +int signal_reset (void) +{ + struct sigaction sa; + unsigned int i; + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = SIG_DFL; + sigemptyset (&sa.sa_mask); + + for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) + if (sigaction (handle_sigs[i], &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + return (0); +} diff --git a/workspace/networkDiscovery/dhcpcd/signal.h b/workspace/networkDiscovery/dhcpcd/signal.h new file mode 100644 index 0000000..63a5906 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/signal.h @@ -0,0 +1,40 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SIGNAL_H +#define SIGNAL_H + +#include + +int signal_init (void); +int signal_setup (void); +int signal_reset (void); +int signal_fd (void); +int signal_exists (const struct pollfd *fd); +int signal_read (struct pollfd *fd); + +#endif diff --git a/workspace/networkDiscovery/dhcpcd/socket.c b/workspace/networkDiscovery/dhcpcd/socket.c new file mode 100644 index 0000000..58ad6c5 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/socket.c @@ -0,0 +1,647 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#define __FAVOR_BSD /* Nasty hack so we can use BSD semantics for UDP */ +#include +#undef __FAVOR_BSD +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(BSD) || defined(__FreeBSD_kernel__) +# include +#elif __linux__ +# include +# include +# define bpf_insn sock_filter +#endif + +#include "config.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" + +/* A suitably large buffer for all transactions. + * BPF buffer size is set by the kernel, so no define. */ +#ifdef __linux__ +# define BUFFER_LENGTH 4096 +#endif + +/* Broadcast address for IPoIB */ +static const uint8_t ipv4_bcast_addr[] = { + 0x00, 0xff, 0xff, 0xff, + 0xff, 0x12, 0x40, 0x1b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff +}; + +/* Credit where credit is due :) + * The below BPF filter is taken from ISC DHCP */ +static struct bpf_insn dhcp_bpf_filter [] = { + /* Make sure this is an IP packet... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_IP, 0, 8), + + /* Make sure it's a UDP packet... */ + BPF_STMT (BPF_LD + BPF_B + BPF_ABS, 23), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6), + + /* Make sure this isn't a fragment... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), + BPF_JUMP (BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0), + + /* Get the IP header length... */ + BPF_STMT (BPF_LDX + BPF_B + BPF_MSH, 14), + + /* Make sure it's to the right port... */ + BPF_STMT (BPF_LD + BPF_H + BPF_IND, 16), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, DHCP_CLIENT_PORT, 0, 1), + + /* If we passed all the tests, ask for the whole packet. */ + BPF_STMT (BPF_RET + BPF_K, ~0U), + + /* Otherwise, drop it. */ + BPF_STMT (BPF_RET + BPF_K, 0), +}; + +static struct bpf_insn arp_bpf_filter [] = { + /* Make sure this is an ARP packet... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_ARP, 0, 3), + + /* Make sure this is an ARP REPLY... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ARPOP_REPLY, 0, 1), + + /* If we passed all the tests, ask for the whole packet. */ + BPF_STMT (BPF_RET + BPF_K, ~0U), + + /* Otherwise, drop it. */ + BPF_STMT (BPF_RET + BPF_K, 0), +}; + +void setup_packet_filters (void) +{ +#ifdef __linux__ + /* We need to massage the filters for Linux cooked packets */ + dhcp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ + dhcp_bpf_filter[2].k -= ETH_HLEN; + dhcp_bpf_filter[4].k -= ETH_HLEN; + dhcp_bpf_filter[6].k -= ETH_HLEN; + dhcp_bpf_filter[7].k -= ETH_HLEN; + + arp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ + arp_bpf_filter[2].k -= ETH_HLEN; +#endif +} + +static uint16_t checksum (unsigned char *addr, uint16_t len) +{ + uint32_t sum = 0; + union + { + unsigned char *addr; + uint16_t *i; + } p; + uint16_t nleft = len; + + p.addr = addr; + while (nleft > 1) { + sum += *p.i++; + nleft -= 2; + } + + if (nleft == 1) { + uint8_t a = 0; + memcpy (&a, p.i, 1); + sum += ntohs (a) << 8; + } + + sum = (sum >> 16) + (sum & 0xffff); + sum += (sum >> 16); + + return ~sum; +} + +void make_dhcp_packet(struct udp_dhcp_packet *packet, + const unsigned char *data, size_t length, + struct in_addr source, struct in_addr dest) +{ + struct ip *ip = &packet->ip; + struct udphdr *udp = &packet->udp; + + /* OK, this is important :) + * We copy the data to our packet and then create a small part of the + * ip structure and an invalid ip_len (basically udp length). + * We then fill the udp structure and put the checksum + * of the whole packet into the udp checksum. + * Finally we complete the ip structure and ip checksum. + * If we don't do the ordering like so then the udp checksum will be + * broken, so find another way of doing it! */ + + memcpy (&packet->dhcp, data, length); + + ip->ip_p = IPPROTO_UDP; + ip->ip_src.s_addr = source.s_addr; + if (dest.s_addr == 0) + ip->ip_dst.s_addr = INADDR_BROADCAST; + else + ip->ip_dst.s_addr = dest.s_addr; + + udp->uh_sport = htons (DHCP_CLIENT_PORT); + udp->uh_dport = htons (DHCP_SERVER_PORT); + udp->uh_ulen = htons (sizeof (*udp) + length); + ip->ip_len = udp->uh_ulen; + udp->uh_sum = checksum ((unsigned char *) packet, sizeof (*packet)); + + ip->ip_v = IPVERSION; + ip->ip_hl = 5; + ip->ip_id = 0; + ip->ip_tos = IPTOS_LOWDELAY; + ip->ip_len = htons (sizeof (*ip) + sizeof (*udp) + length); + ip->ip_id = 0; + ip->ip_off = htons (IP_DF); /* Don't fragment */ + ip->ip_ttl = IPDEFTTL; + + ip->ip_sum = checksum ((unsigned char *) ip, sizeof (*ip)); +} + +static int valid_dhcp_packet (unsigned char *data) +{ + union + { + unsigned char *data; + struct udp_dhcp_packet *packet; + } d; + uint16_t bytes; + uint16_t ipsum; + uint16_t iplen; + uint16_t udpsum; + struct in_addr source; + struct in_addr dest; + int retval = 0; + + d.data = data; + bytes = ntohs (d.packet->ip.ip_len); + ipsum = d.packet->ip.ip_sum; + iplen = d.packet->ip.ip_len; + udpsum = d.packet->udp.uh_sum; + + d.data = data; + d.packet->ip.ip_sum = 0; + if (ipsum != checksum ((unsigned char *) &d.packet->ip, + sizeof (d.packet->ip))) + { + logger (LOG_DEBUG, "bad IP header checksum, ignoring"); + retval = -1; + goto eexit; + } + + memcpy (&source, &d.packet->ip.ip_src, sizeof (d.packet->ip.ip_src)); + memcpy (&dest, &d.packet->ip.ip_dst, sizeof (d.packet->ip.ip_dst)); + memset (&d.packet->ip, 0, sizeof (d.packet->ip)); + d.packet->udp.uh_sum = 0; + + d.packet->ip.ip_p = IPPROTO_UDP; + memcpy (&d.packet->ip.ip_src, &source, sizeof (d.packet->ip.ip_src)); + memcpy (&d.packet->ip.ip_dst, &dest, sizeof (d.packet->ip.ip_dst)); + d.packet->ip.ip_len = d.packet->udp.uh_ulen; + if (udpsum && udpsum != checksum (d.data, bytes)) { + logger (LOG_ERR, "bad UDP checksum, ignoring"); + retval = -1; + } + +eexit: + d.packet->ip.ip_sum = ipsum; + d.packet->ip.ip_len = iplen; + d.packet->udp.uh_sum = udpsum; + + return retval; +} + +#if defined(BSD) || defined(__FreeBSD_kernel__) +int open_socket (interface_t *iface, int protocol) +{ + int n = 0; + int fd = -1; + char *device; + int flags; + struct ifreq ifr; + int buf = 0; + struct bpf_program pf; + + device = xmalloc (sizeof (char) * PATH_MAX); + do { + snprintf (device, PATH_MAX, "/dev/bpf%d", n++); + fd = open (device, O_RDWR); + } while (fd == -1 && errno == EBUSY); + free (device); + + if (fd == -1) { + logger (LOG_ERR, "unable to open a BPF device"); + return -1; + } + + close_on_exec (fd); + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, iface->name, sizeof (ifr.ifr_name)); + if (ioctl (fd, BIOCSETIF, &ifr) == -1) { + logger (LOG_ERR, + "cannot attach interface `%s' to bpf device `%s': %s", + iface->name, device, strerror (errno)); + close (fd); + return -1; + } + + /* Get the required BPF buffer length from the kernel. */ + if (ioctl (fd, BIOCGBLEN, &buf) == -1) { + logger (LOG_ERR, "ioctl BIOCGBLEN: %s", strerror (errno)); + close (fd); + return -1; + } + iface->buffer_length = buf; + + flags = 1; + if (ioctl (fd, BIOCIMMEDIATE, &flags) == -1) { + logger (LOG_ERR, "ioctl BIOCIMMEDIATE: %s", strerror (errno)); + close (fd); + return -1; + } + + /* Install the DHCP filter */ + if (protocol == ETHERTYPE_ARP) { + pf.bf_insns = arp_bpf_filter; + pf.bf_len = sizeof (arp_bpf_filter) + / sizeof (arp_bpf_filter[0]); + } else { + pf.bf_insns = dhcp_bpf_filter; + pf.bf_len = sizeof (dhcp_bpf_filter) + / sizeof (dhcp_bpf_filter[0]); + } + if (ioctl (fd, BIOCSETF, &pf) == -1) { + logger (LOG_ERR, "ioctl BIOCSETF: %s", strerror (errno)); + close (fd); + return -1; + } + + if (iface->fd > -1) + close (iface->fd); + iface->fd = fd; + + return fd; +} + +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len) +{ + ssize_t retval = -1; + struct iovec iov[2]; + + if (iface->family == ARPHRD_ETHER) { + struct ether_header hw; + memset (&hw, 0, sizeof (hw)); + memset (&hw.ether_dhost, 0xff, ETHER_ADDR_LEN); + hw.ether_type = htons (type); + + iov[0].iov_base = &hw; + iov[0].iov_len = sizeof (hw); + } else { + logger (LOG_ERR, "unsupported interace type %d", iface->family); + return -1; + } + iov[1].iov_base = (unsigned char *) data; + iov[1].iov_len = len; + + if ((retval = writev(iface->fd, iov, 2)) == -1) + logger (LOG_ERR, "writev: %s", strerror (errno)); + + return retval; +} + +/* BPF requires that we read the entire buffer. + * So we pass the buffer in the API so we can loop on >1 dhcp packet. */ +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, + size_t *buffer_len, size_t *buffer_pos) +{ + union + { + unsigned char *buffer; + struct bpf_hdr *packet; + } bpf; + + bpf.buffer = buffer; + + if (*buffer_pos < 1) { + memset (bpf.buffer, 0, iface->buffer_length); + *buffer_len = read (iface->fd, bpf.buffer, iface->buffer_length); + *buffer_pos = 0; + if (*buffer_len < 1) { + struct timespec ts; + logger (LOG_ERR, "read: %s", strerror (errno)); + ts.tv_sec = 3; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (-1); + } + } else + bpf.buffer += *buffer_pos; + + while (bpf.packet) { + size_t len = 0; + union + { + unsigned char *buffer; + struct ether_header *hw; + } hdr; + unsigned char *payload; + bool have_data = false; + + /* Ensure that the entire packet is in our buffer */ + if (*buffer_pos + bpf.packet->bh_hdrlen + bpf.packet->bh_caplen + > (unsigned) *buffer_len) + break; + + hdr.buffer = bpf.buffer + bpf.packet->bh_hdrlen; + payload = hdr.buffer + sizeof (*hdr.hw); + + /* If it's an ARP reply, then just send it back */ + if (hdr.hw->ether_type == htons (ETHERTYPE_ARP)) { + len = bpf.packet->bh_caplen - + sizeof (*hdr.hw); + memcpy (data, payload, len); + have_data = true; + } else { + if (valid_dhcp_packet (payload) >= 0) { + union + { + unsigned char *buffer; + struct udp_dhcp_packet *packet; + } pay; + pay.buffer = payload; + len = ntohs (pay.packet->ip.ip_len) - + sizeof (pay.packet->ip) - + sizeof (pay.packet->udp); + memcpy (data, &pay.packet->dhcp, len); + have_data = true; + } + } + + /* Update the buffer_pos pointer */ + bpf.buffer += BPF_WORDALIGN (bpf.packet->bh_hdrlen + + bpf.packet->bh_caplen); + if ((unsigned) (bpf.buffer - buffer) < *buffer_len) + *buffer_pos = bpf.buffer - buffer; + else + *buffer_pos = 0; + + if (have_data) + return len; + + if (*buffer_pos == 0) + break; + } + + /* No valid packets left, so return */ + *buffer_pos = 0; + return -1; +} + +#elif __linux__ + +int open_socket (interface_t *iface, int protocol) +{ + int fd; + union sockunion { + struct sockaddr sa; + struct sockaddr_in sin; + struct sockaddr_ll sll; + struct sockaddr_storage ss; + } su; + struct sock_fprog pf; + struct ifreq ifr; + int n = 1; + + /* We need to bind to a port, otherwise Linux generate ICMP messages + * that cannot contect the port when we have an address. + * We don't actually use this fd at all, instead using our packet + * filter socket. */ + if (iface->listen_fd == -1 && protocol == ETHERTYPE_IP) { + if ((fd = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + } else { + memset (&su, 0, sizeof (su)); + su.sin.sin_family = AF_INET; + su.sin.sin_port = htons (DHCP_CLIENT_PORT); + if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, + &n, sizeof (n)) == -1) + logger (LOG_ERR, "SO_REUSEADDR: %s", + strerror (errno)); + if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, + &n, sizeof (n)) == -1) + logger (LOG_ERR, "SO_RCVBUF: %s", + strerror (errno)); + memset (&ifr, 0, sizeof (ifr)); + strncpy (ifr.ifr_name, iface->name, + sizeof (ifr.ifr_name)); + if (setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, + &ifr, sizeof (ifr)) == -1) + logger (LOG_ERR, "SO_SOBINDTODEVICE: %s", + strerror (errno)); + if (bind (fd, &su.sa, sizeof (su)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (fd); + } else { + iface->listen_fd = fd; + close_on_exec (fd); + } + } + } + + if ((fd = socket (PF_PACKET, SOCK_DGRAM, htons (protocol))) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + close_on_exec (fd); + + memset (&su, 0, sizeof (su)); + su.sll.sll_family = PF_PACKET; + su.sll.sll_protocol = htons (protocol); + if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { + logger (LOG_ERR, + "if_nametoindex: no index for interface `%s'", + iface->name); + close (fd); + return (-1); + } + + /* Install the DHCP filter */ + memset (&pf, 0, sizeof (pf)); + if (protocol == ETHERTYPE_ARP) { + pf.filter = arp_bpf_filter; + pf.len = sizeof (arp_bpf_filter) / sizeof (arp_bpf_filter[0]); + } else { + pf.filter = dhcp_bpf_filter; + pf.len = sizeof (dhcp_bpf_filter) / sizeof (dhcp_bpf_filter[0]); + } + if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, + &pf, sizeof (pf)) != 0) + { + logger (LOG_ERR, "SO_ATTACH_FILTER: %s", strerror (errno)); + close (fd); + return (-1); + } + + if (bind (fd, &su.sa, sizeof (su)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (fd); + return (-1); + } + + if (iface->fd > -1) + close (iface->fd); + iface->fd = fd; + iface->socket_protocol = protocol; + iface->buffer_length = BUFFER_LENGTH; + + return (fd); +} + +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len) +{ + union sockunion { + struct sockaddr sa; + struct sockaddr_ll sll; + struct sockaddr_storage ss; + } su; + ssize_t retval; + + if (! iface) + return (-1); + + memset (&su, 0, sizeof (su)); + su.sll.sll_family = AF_PACKET; + su.sll.sll_protocol = htons (type); + + if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + iface->name); + return (-1); + } + + su.sll.sll_hatype = htons (iface->family); + su.sll.sll_halen = iface->hwlen; + if (iface->family == ARPHRD_INFINIBAND) + memcpy (&su.sll.sll_addr, + &ipv4_bcast_addr, sizeof (ipv4_bcast_addr)); + else + memset (&su.sll.sll_addr, 0xff, iface->hwlen); + + if ((retval = sendto (iface->fd, data, len, 0, &su.sa, + sizeof (su))) == -1) + + logger (LOG_ERR, "sendto: %s", strerror (errno)); + return (retval); +} + +/* Linux has no need for the buffer as we can read as much as we want. + * We only have the buffer listed to keep the same API. */ +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, + size_t *buffer_len, size_t *buffer_pos) +{ + ssize_t bytes; + union + { + unsigned char *buffer; + struct udp_dhcp_packet *packet; + } pay; + + /* We don't use the given buffer, but we need to rewind the position */ + *buffer_pos = 0; + + memset (buffer, 0, iface->buffer_length); + bytes = read (iface->fd, buffer, iface->buffer_length); + + if (bytes == -1) { + struct timespec ts; + logger (LOG_ERR, "read: %s", strerror (errno)); + ts.tv_sec = 3; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (-1); + } + + *buffer_len = bytes; + /* If it's an ARP reply, then just send it back */ + if (iface->socket_protocol == ETHERTYPE_ARP) { + memcpy (data, buffer, bytes); + return (bytes); + } + + if ((unsigned) bytes < (sizeof (pay.packet->ip) + + sizeof (pay.packet->udp))) + { + logger (LOG_DEBUG, "message too short, ignoring"); + return (-1); + } + + pay.buffer = buffer; + if (bytes < ntohs (pay.packet->ip.ip_len)) { + logger (LOG_DEBUG, "truncated packet, ignoring"); + return (-1); + } + + if (valid_dhcp_packet (buffer) == -1) + return (-1); + + bytes = ntohs (pay.packet->ip.ip_len) - + (sizeof (pay.packet->ip) + sizeof (pay.packet->udp)); + memcpy (data, &pay.packet->dhcp, bytes); + return (bytes); +} + +#else + #error "Platform not supported!" + #error "We currently support BPF and Linux sockets." + #error "Other platforms may work using BPF. If yours does, please let me know" + #error "so I can add it to our list." +#endif diff --git a/workspace/networkDiscovery/dhcpcd/socket.h b/workspace/networkDiscovery/dhcpcd/socket.h new file mode 100644 index 0000000..bdf26d0 --- /dev/null +++ b/workspace/networkDiscovery/dhcpcd/socket.h @@ -0,0 +1,46 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SOCKET_H +#define SOCKET_H + +#include + +#include "dhcp.h" +#include "interface.h" + +void setup_packet_filters (void); +void make_dhcp_packet(struct udp_dhcp_packet *packet, + const unsigned char *data, size_t length, + struct in_addr source, struct in_addr dest); + +int open_socket (interface_t *iface, int protocol); +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len); +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos); +#endif diff --git a/workspace/networkDiscovery/main.cpp b/workspace/networkDiscovery/main.cpp new file mode 100644 index 0000000..228c6e4 --- /dev/null +++ b/workspace/networkDiscovery/main.cpp @@ -0,0 +1,12 @@ +#include "networkdiscovery.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + NetworkDiscovery w; + w.show(); + return a.exec(); +} diff --git a/workspace/networkDiscovery/networkDiscovery.pro b/workspace/networkDiscovery/networkDiscovery.pro new file mode 100644 index 0000000..d6ef25c --- /dev/null +++ b/workspace/networkDiscovery/networkDiscovery.pro @@ -0,0 +1,40 @@ +TEMPLATE = app +TARGET = networkDiscovery +QT += core \ + gui \ + network +LIBS += -L/usr/lib +INCLUDEPATH += /usr/include/ +HEADERS += dhcpcd/arp.h \ + dhcpcd/client.h \ + dhcpcd/common.h \ + dhcpcd/config.h \ + dhcpcd/configure.h \ + dhcpcd/dhcp.h \ + dhcpcd/dhcpcd.h \ + dhcpcd/duid.h \ + dhcpcd/info.h \ + dhcpcd/interface.h \ + dhcpcd/ipv4ll.h \ + dhcpcd/logger.h \ + dhcpcd/signal.h \ + dhcpcd/socket.h \ + dhcpcd/version.h \ + networkdiscovery.h +SOURCES += dhcpcd/arp.c \ + dhcpcd/client.c \ + dhcpcd/common.c \ + dhcpcd/configure.c \ + dhcpcd/dhcp.c \ + dhcpcd/dhcpcd.c \ + dhcpcd/duid.c \ + dhcpcd/info.c \ + dhcpcd/interface.c \ + dhcpcd/ipv4ll.c \ + dhcpcd/logger.c \ + dhcpcd/signal.c \ + dhcpcd/socket.c \ + main.cpp \ + networkdiscovery.cpp +FORMS += networkdiscovery.ui +RESOURCES += diff --git a/workspace/networkDiscovery/networkdiscovery.cpp b/workspace/networkDiscovery/networkdiscovery.cpp new file mode 100644 index 0000000..f2cb2bb --- /dev/null +++ b/workspace/networkDiscovery/networkdiscovery.cpp @@ -0,0 +1,311 @@ +#include "networkdiscovery.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "client.h" +#include "dhcpcd/dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" +#include "version.h" + +NetworkDiscovery::NetworkDiscovery(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + QList interfaces = getListOfNetworkInterfaces(); + + /** + * test if i get some dhcp values for the dummy0 interface + */ + doDHCP(interfaces); +} + +NetworkDiscovery::~NetworkDiscovery() +{ + +} + +QList NetworkDiscovery::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + QList result; + + foreach(QNetworkInterface nI, nIList) { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| + nI.flags() & QNetworkInterface::IsLoopBack) || + nI.flags() & QNetworkInterface::IsPointToPoint)) + { + continue; + } + qDebug() << nI.humanReadableName(); + result.append(nI); + } + return result; +} + +int NetworkDiscovery::doDHCP(QList interfaces) +{ + +} + +static int atoint (const char *s) +{ + char *t; + long n; + + errno = 0; + n = strtol (s, &t, 0); + if ((errno != 0 && n == 0) || s == t || + (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) + { + logger (LOG_ERR, "`%s' out of range", s); + return (-1); + } + + return ((int) n); +} + +static pid_t read_pid (const char *pidfile) +{ + FILE *fp; + pid_t pid = 0; + + if ((fp = fopen (pidfile, "r")) == NULL) { + errno = ENOENT; + return 0; + } + + fscanf (fp, "%d", &pid); + fclose (fp); + + return (pid); +} + +int NetworkDiscovery::doDhcp(QNetworkInterface interface) +{ + + options_t *options; + int userclasses = 0; + int opt; + int option_index = 0; + char *prefix; + pid_t pid; + int debug = 0; + int i; + int pidfd = -1; + int sig = 0; + int retval = EXIT_FAILURE; + + /* Close any un-needed fd's */ + for (i = getdtablesize() - 1; i >= 3; --i) + close(i); + + openlog(PACKAGE, LOG_PID, LOG_LOCAL0); + + options = xzalloc(sizeof(*options)); + options->script = (char *) DEFAULT_SCRIPT; + snprintf(options->classid, CLASS_ID_MAX_LEN, "%s %s", PACKAGE, VERSION); + + options->doarp = true; + options->dodns = true; + options->domtu = true; + options->donis = true; + options->dontp = true; + options->dogateway = true; + options->daemonise = true; + options->doinform = false; + options->doipv4ll = true; + options->doduid = true; + options->timeout = DEFAULT_TIMEOUT; + + gethostname(options->hostname, sizeof(options->hostname)); + if (strcmp(options->hostname, "(none)") == 0 || + strcmp(options->hostname, "localhost") == 0) + memset(options->hostname, 0, sizeof(options->hostname)); + + +/* + * kann vermutlich gelöscht werden. + +#ifdef THERE_IS_NO_FORK + dhcpcd_argv = argv; + dhcpcd_argc = argc; + if (! realpath (argv[0], dhcpcd)) { + logger (LOG_ERR, "unable to resolve the path `%s': %s", + argv[0], strerror (errno)); + goto abort; + } +#endif +*/ + + //TODO:: do something with the .toStdString()!! may cause errors cause char is expected + + if (interface.humanReadableName().length() > IF_NAMESIZE) { + + logger(LOG_ERR, "`%s' too long for an interface name (max=%d)", + interface.humanReadableName().toStdString(), IF_NAMESIZE); + goto abort; + } else { + strlcpy(options->interface, interface.humanReadableName().toStdString(), sizeof(options->interface)); + } + + if (strchr(options->hostname, '.')) { + if (options->fqdn == FQDN_DISABLE) + options->fqdn = FQDN_BOTH; + } else + options->fqdn = FQDN_DISABLE; + + if (options->request_address.s_addr == 0 && options->doinform) { + if ((options->request_address.s_addr = get_address(options->interface)) + != 0) + options->keep_address = true; + } + + if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { + logger(LOG_ERR, "you are not allowed to request a link local address"); + goto abort; + } + + if (geteuid()) + logger(LOG_WARNING, PACKAGE " will not work correctly unless" + " run as root"); + + prefix = xmalloc(sizeof(char) * (IF_NAMESIZE + 3)); + snprintf(prefix, IF_NAMESIZE, "%s: ", options->interface); + setlogprefix(prefix); + snprintf(options->pidfile, sizeof(options->pidfile), PIDFILE, + options->interface); + free(prefix); + + chdir("/"); + umask(022); + + if (mkdir(INFODIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) { + logger(LOG_ERR, "mkdir(\"%s\",0): %s\n", INFODIR, strerror(errno)); + goto abort; + } + + if (mkdir(ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH + | S_IXOTH) && errno != EEXIST) { + logger(LOG_ERR, "mkdir(\"%s\",0): %s\n", ETCDIR, strerror(errno)); + goto abort; + } + + if (options->test) { + if (options->dorequest || options->doinform) { + logger(LOG_ERR, "cannot test with --inform or --request"); + goto abort; + } + + if (options->dolastlease) { + logger(LOG_ERR, "cannot test with --lastlease"); + goto abort; + } + + if (sig != 0) { + logger(LOG_ERR, "cannot test with --release or --renew"); + goto abort; + } + } + + if (sig != 0) { + int killed = -1; + pid = read_pid(options->pidfile); + if (pid != 0) + logger(LOG_INFO, "sending signal %d to pid %d", sig, pid); + + if (!pid || (killed = kill(pid, sig))) + logger(sig == SIGALRM ? LOG_INFO : LOG_ERR, ""PACKAGE" not running"); + + if (pid != 0 && (sig != SIGALRM || killed != 0)) + unlink(options->pidfile); + + if (killed == 0) { + retval = EXIT_SUCCESS; + goto abort; + } + + if (sig != SIGALRM) + goto abort; + } + + if (!options->test && !options->daemonised) { + if ((pid = read_pid(options->pidfile)) > 0 && kill(pid, 0) == 0) { + logger(LOG_ERR, ""PACKAGE + " already running on pid %d (%s)", pid, options->pidfile); + goto abort; + } + + pidfd = open(options->pidfile, O_WRONLY | O_CREAT | O_NONBLOCK, 0664); + if (pidfd == -1) { + logger(LOG_ERR, "open `%s': %s", options->pidfile, strerror(errno)); + goto abort; + } + + /* Lock the file so that only one instance of dhcpcd runs + * on an interface */ + if (flock(pidfd, LOCK_EX | LOCK_NB) == -1) { + logger(LOG_ERR, "flock `%s': %s", options->pidfile, strerror(errno)); + goto abort; + } + + /* dhcpcd.sh should not interhit this fd */ + if ((i = fcntl(pidfd, F_GETFD, 0)) == -1 || fcntl(pidfd, F_SETFD, i + | FD_CLOEXEC) == -1) + logger(LOG_ERR, "fcntl: %s", strerror(errno)); + + writepid(pidfd, getpid()); + logger(LOG_INFO, PACKAGE " " VERSION " starting"); + } + + /* Seed random */ + srandomdev(); + + /* Massage our filters per platform */ + setup_packet_filters(); + + /** + * here the dhcp magic begins. + * the dhcp protocol is started here + */ + if (dhcp_run(options, &pidfd) == 0) + retval = EXIT_SUCCESS; + + abort: + /* If we didn't daemonise then we need to punt the pidfile now */ + if (pidfd > -1) { + close(pidfd); + unlink(options->pidfile); + } + + free(options); + +#ifdef THERE_IS_NO_FORK + /* There may have been an error before the dhcp_run function + * clears this, so just do it here to be safe */ + free (dhcpcd_skiproutes); +#endif + + logger(LOG_INFO, "exiting"); + + exit(retval); + /* NOTREACHED */ +} + diff --git a/workspace/networkDiscovery/networkdiscovery.h b/workspace/networkDiscovery/networkdiscovery.h new file mode 100644 index 0000000..2b4e664 --- /dev/null +++ b/workspace/networkDiscovery/networkdiscovery.h @@ -0,0 +1,24 @@ +#ifndef NETWORKDISCOVERY_H +#define NETWORKDISCOVERY_H + +#include +#include +#include "ui_networkdiscovery.h" + +class NetworkDiscovery : public QWidget +{ + Q_OBJECT + +public: + NetworkDiscovery(QWidget *parent = 0); + ~NetworkDiscovery(); + +private: + Ui::NetworkDiscoveryClass ui; + QList getListOfNetworkInterfaces(); + int doDHCP(QList interfaces); + int doDhcp(QNetworkInterface interface) + +}; + +#endif // NETWORKDISCOVERY_H diff --git a/workspace/networkDiscovery/networkdiscovery.ui b/workspace/networkDiscovery/networkdiscovery.ui new file mode 100644 index 0000000..5ea46e3 --- /dev/null +++ b/workspace/networkDiscovery/networkdiscovery.ui @@ -0,0 +1,19 @@ + + NetworkDiscoveryClass + + + + 0 + 0 + 400 + 300 + + + + NetworkDiscovery + + + + + + -- cgit v1.2.3-55-g7522 From c9433d7303c6cec8031d35a6fbb3ff97dbd22078 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 29 Jun 2011 16:57:27 +0200 Subject: new funtions for the networkDiscovery class. extensions to the logger.c some tryouts with the QLocalSocket also try QSocketNotifyer --- workspace/networkDiscovery/dhcpcd/dhcp.c | 1 + workspace/networkDiscovery/dhcpcd/dhcp.h | 1 - workspace/networkDiscovery/dhcpcd/dhcpcd.8.in | 365 ------------------------ workspace/networkDiscovery/dhcpcd/dhcpcd.c | 221 ++++++++++++++ workspace/networkDiscovery/dhcpcd/dhcpcd.h | 2 + workspace/networkDiscovery/dhcpcd/logger.c | 52 ++++ workspace/networkDiscovery/dhcpcd/logger.h | 9 + workspace/networkDiscovery/dhcpcd/mk/cc.mk | 23 -- workspace/networkDiscovery/dhcpcd/mk/depend.mk | 11 - workspace/networkDiscovery/dhcpcd/mk/dist.mk | 11 - workspace/networkDiscovery/dhcpcd/mk/man.mk | 14 - workspace/networkDiscovery/dhcpcd/mk/os.mk | 77 ----- workspace/networkDiscovery/dhcpcd/mk/prog.mk | 34 --- workspace/networkDiscovery/networkDiscovery.pro | 8 +- workspace/networkDiscovery/networkdiscovery.cpp | 304 ++++---------------- workspace/networkDiscovery/networkdiscovery.h | 10 +- 16 files changed, 355 insertions(+), 788 deletions(-) delete mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.8.in delete mode 100644 workspace/networkDiscovery/dhcpcd/mk/cc.mk delete mode 100644 workspace/networkDiscovery/dhcpcd/mk/depend.mk delete mode 100644 workspace/networkDiscovery/dhcpcd/mk/dist.mk delete mode 100644 workspace/networkDiscovery/dhcpcd/mk/man.mk delete mode 100644 workspace/networkDiscovery/dhcpcd/mk/os.mk delete mode 100644 workspace/networkDiscovery/dhcpcd/mk/prog.mk diff --git a/workspace/networkDiscovery/dhcpcd/dhcp.c b/workspace/networkDiscovery/dhcpcd/dhcp.c index 8ed66da..f625e8f 100644 --- a/workspace/networkDiscovery/dhcpcd/dhcp.c +++ b/workspace/networkDiscovery/dhcpcd/dhcp.c @@ -476,6 +476,7 @@ void free_dhcp (dhcp_t *dhcp) } } + static bool dhcp_add_address (struct address_head **addresses, const unsigned char *data, int length) diff --git a/workspace/networkDiscovery/dhcpcd/dhcp.h b/workspace/networkDiscovery/dhcpcd/dhcp.h index cc66d13..ef97b75 100644 --- a/workspace/networkDiscovery/dhcpcd/dhcp.h +++ b/workspace/networkDiscovery/dhcpcd/dhcp.h @@ -212,5 +212,4 @@ ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, uint32_t xid, char type, const options_t *options); void free_dhcp (dhcp_t *dhcp); int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message); - #endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.8.in b/workspace/networkDiscovery/dhcpcd/dhcpcd.8.in deleted file mode 100644 index ddeff9b..0000000 --- a/workspace/networkDiscovery/dhcpcd/dhcpcd.8.in +++ /dev/null @@ -1,365 +0,0 @@ -.\" Copyright 2006-2008 Roy Marples -.\" All rights reserved -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd Feb 20, 2008 -.Dt DHCPCD 8 SMM -.Sh NAME -.Nm dhcpcd -.Nd an RFC 2131 compliant DHCP client -.Sh SYNOPSIS -.Nm -.Op Fl dknpAEGHMLNRSTY -.Op Fl c , -script Ar script -.Op Fl h , -hostname Ar hostname -.Op Fl i , -classid Ar classid -.Op Fl l , -leasetime Ar seconds -.Op Fl m , -metric Ar metric -.Op Fl r , -request Ar address -.Op Fl t , -timeout Ar seconds -.Op Fl u , -userclass Ar class -.Op Fl F , -fqdn Ar FQDN -.Op Fl I , -clientid Ar clientid -.Ar interface -.Nm -.Fl k , -release -.Ar interface -.Nm -.Fl x , -exit -.Ar interface -.Sh DESCRIPTION -.Nm -is an implementation of the DHCP client specified in -.Rs -.%T "RFC 2131" -.Re -.Nm -gets the host information -.Po -IP address, routes, etc -.Pc -from a DHCP server and configures the network -.Ar interface -of the -machine on which it is running. -.Nm -will then write DNS information to -.Xr resolvconf 8 , -if available, otherwise directly to -.Pa /etc/resolv.conf . -.Nm -will also configure -.Pa /etc/yp.conf -and -.Pa /etc/ntpd.conf -with NIS and NTP information if the DHCP server provided them. -If those file contents changed, then -.Nm -will also attempt to restart the respective services to notify them of the -change. -If the hostname is currenly blank, (null) or localhost then -.Nm -will set the hostname to the one supplied by the DHCP server, or look it up -in DNS if none supplied. -.Nm -then daemonises and waits for the lease renewal time to lapse. -Then it attempts to renew its lease and reconfigure if the new lease changes. -.Ss Local Link configuration -If -.Nm -failed to obtain a lease, it will probe for a valid IPv4LL address -.Po -aka Zeroconf, aka APIPA -.Pc . -Once obtained it will probe every 10 seconds for a DHCP server to get a -proper address. -.Pp -Even when -.Nm -obtains a proper lease, it will still add a Local Link route -.Po -165.254.0.0/16 -.Pc -so that the host can communicate with clients using these addresses. -.Pp -When using IPv4LL, -.Nm -will always succeed and return a 0 exit code. To disable this behaviour, you -can use the -.Fl L , -noipv4ll -option. -.Ss Hooking into DHCP events -.Nm -will run @PREFIX@/etc/dhcpcd.sh, or the script specified by the -.Fl c , -script -option. It will set $1 to a shell compatible file that holds various -configuration settings obtained from the DHCP server and $2 to either -up, down or new depending on the state of -.Nm . -.Nm -ignores the exist code of the script. -.Ss Fine tuning -You can fine tune the behaviour of -.Nm -with the following options :- -.Bl -tag -width indent -.It Fl d , -debug -Echo debug and informational messages to the console. -Subsequent debug options stop -.Nm -from daemonising. -.It Fl h , -hostname Ar hostname -By default, -.Nm -will send the current hostname to the DHCP server so it can register in DNS. -You can use this option to specify the -.Ar hostname -sent, or an empty string to -stop any -.Ar hostname -from being sent. -.It Fl i , -classid Ar classid -Override the DHCP vendor -.Ar classid -field we send. The default is -dhcpcd-. -.It Fl k , -release -This causes an existing -.Nm -process running on the -.Ar interface -to release it's lease, deconfigure the -.Ar interface -and then exit. -.It Fl l , -leasetime Ar seconds -Request a specific lease time in -.Ar seconds . -By default -.Nm -does not request any lease time and leaves the it in the hands of the -DHCP server. -.It Fl m , -metric Ar metric -Added routes will use the -.Ar metric -on systems where this is supported -.Po -presently only Linux -.Pc . -Route metrics allow the addition of routes to the same destination across -different interfaces, the lower the metric the more it is preferred. -.It Fl n , -renew -Notifies an existing -.Nm -process running on the -.Ar interface -to renew it's lease. If -.Nm -is not running, then it starts up as normal. -.It Fl p , -persistent -.Nm -normally deconfigures the -.Ar interface -and configuration when it exits. -Sometimes, this isn't desirable if for example you have root mounted over NFS. -You can use this option to stop this from happening. -.It Fl r , -request Op Ar address -.Nm -normally sends a DHCP Broadcast to find servers to offer an address. -.Nm -will then request the address used. You can use this option to skip the -broadcast step and just request an -.Ar address . -The downside is if you request -an -.Ar address -the DHCP server does not know about or the DHCP server is not -authorative, it will remain silent. In this situation, we go back to the init -state and broadcast again. -If no -.Ar address -is given then we use the first address currently assigned to the -.Ar interface . -.It Fl s , -inform Op Ar address Op / Ar cidr -Behaves exactly like -.Fl r , -request -as above, but sends a DHCP inform instead of a request. This requires the -interface to be configured first. This does not get a lease as such, just -notifies the DHCP server of the -.Ar address -we are using. -.It Fl t , -timeout Ar seconds -Timeout after -.Ar seconds , -instead of the default 20. -A setting of 0 -.Ar seconds -causes -.Nm -to wait forever to get a lease. -.It Fl u , -userclass Ar class -Tags the DHCP message with the userclass -.Ar class . -DHCP servers use this give memebers of the class DHCP options other than the -default, without having to know things like hardware address or hostname. -.If Fl F , -fqdn Ar fqdn -Requests that the DHCP server updates DNS using FQDN instead of just a -hostname. Valid values for -.Ar fqdn -are none, ptr and both. -.Nm -dhcpcd itself never does any DNS updates. -.It Fl H , --sethostname -Forces -.Nm -to set the hostname as supplied by the DHCP server. Because some OS's and users -prefer to have just the hostname, or the full FQDN more -.Fl H , --sethostname -options change the behaviour. Below is the list of possible combinations:- -.Bl -tag -width indent -.It Fl H -set the hostname to the full FQDN. -.It Fl HH -strip the domain if it matches the dns domain. -.It Fl HHH -strip the domain regardless. -.It Fl HHHH -same as -.Fl H -but force hostname lookup via DNS. -.It Fl HHHHH -same as above, but strip the domain if it matches the dns domain. -.It Fl HHHHHH -same as above, but strip the domain regardless. -.El -.It Fl I , -clientid Ar clientid -Send -.Ar clientid -as a client identifier string. If -.Ar clientid -matches a hardware address format, such as 01:00:01:02:03:04:05 then we encode -it as that, otherwise as a string. You need to specify the hardware type in -the first byte. Ethernet is 01, and the hardware address in the example is -00:01:02:03:04:05. If the -.Ar clientid -is a blank string, then we disable DUID support and use a -.Ar clientid -as shown above. -.It Fl S, -mscsr -Microsoft have their own code for Classless Static Routes -.Po -RFC 3442 -.Pc . -You can use this option to request this as well as the normal CSR. Another -instace of this option only requests the Microsoft CSR to prevent DHCP message -over-running its maximum size. DHCP server administrators should update their -CSR code from the Microsoft specific one to the RFC compliant one as the -content is fully compatible. -.El -.Ss Restriciting behaviour -.Nm -will try to do as much as it can by default. However, there are sometimes -situations where you don't want the things to be configured exactly how the -the DHCP server wants. Here are some option that deal with turning these bits -off. -.Bl -tag -width indent -.It Fl A , -noarp -Don't request or claim the address by ARP. -.It Fl G , -nogateway -Don't set any default routes. -.It Fl L , -noipv4ll -Don't use IPv4LL at all. -.It Fl M , -nomtu -Don't set the MTU of the -.Ar interface . -.It Fl N , -nontp -Don't touch -.Pa /etc/ntpd.conf -or restart the ntp service. -.It Fl R , -nodns -Don't send DNS information to resolvconf or touch -.Pa /etc/resolv.conf . -.It Fl T , -test -On receipt of discover messages, simply print the contents of the DHCP -message to the console. -.Nm -will not configure the -.Ar interface , -touch any files or restart any services. -.It Fl Y , -nonis -Don't touch -.Pa /etc/yp.conf -or restart the ypbind service. -.El -.Sh NOTES -Because -.Nm -supports InfiniBand, we put a Node-specific Client Identifier in the -ClientID field. This is required by RFC 4390. It's also required for DHCP IPv6 -which -.Nm -should support one day. However, some DHCP servers have no idea what this is -and reject the message as they do not understand type 255. This is not -conformant with RFC 2132 and the server should be fixed. Also, some DHCP -server configurations require an ethernet hardware address of 6 hexacdecimal -numbers in the ClientID which is the default behaviour of most other DHCP -clients. If your DHCP server is as desribed above, you should fix the server, -or if that is not an option you can compile DUID support out of -.Nm -or use the -.Fl I , -clientid Ar clientid -option and set -.Ar clientid -to ''. -.Pp -ISC dhcpd, dnsmasq, udhcpd and Microsoft DHCP server 2003 default configurations -work just fine with the default -.Nm -configuration. -.Pp -.Nm -requires a Berkley Packet Filter, or BPF device on BSD based systems and a -Linux Socket Filter, or LPF device on Linux based systems. -.Sh FILES -.Bl -ohang -.It Pa @PREFIX@/etc/dhcpcd.sh -Bourne shell script that is run when we configure or deconfigure an interface. -.It Pa @INFODIR@/dhcpcd.duid -Text file that holds the DUID used to identify the host. -.It Pa @INFODIR@/dhcpcd- Ns Ar interface Ns .info -Bourne shell file that holds the DHCP values used in configuring the interface. -This path is passed as the first argument to -.Pa @PREFIX@/etc/dhcpcd.sh . -.El -.Sh SEE ALSO -.Xr ntp 1 , -.Xr resolv.conf 5 , -.Xr resolvconf 8 , -.Xr yp.conf 5 , -.Xr ypbind 8 -.Sh STANDARDS -RFC 2131, RFC 2132, RFC 2855, RFC 3004, RFC 3361, RFC 3397, RFC 3442, RFC 3927, -RFC 4361, RFC 4390, RFC 4702. -.Sh AUTHORS -.An "Roy Marples" Aq roy@marples.name -.Sh BUGS -Please report them to http://bugs.marples.name diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.c b/workspace/networkDiscovery/dhcpcd/dhcpcd.c index 9af930a..925717a 100644 --- a/workspace/networkDiscovery/dhcpcd/dhcpcd.c +++ b/workspace/networkDiscovery/dhcpcd/dhcpcd.c @@ -130,6 +130,7 @@ static pid_t read_pid (const char *pidfile) fscanf (fp, "%d", &pid); fclose (fp); + return (pid); } @@ -143,3 +144,223 @@ static void usage (void) /** * to be deleted */ + +int nd_main(char *ifname) +{ + options_t *options; + int userclasses = 0; + int opt; + int option_index = 0; + char *prefix; + pid_t pid; + int debug = 0; + int i; + int pidfd = -1; + int sig = 0; + int retval = EXIT_FAILURE; + + /* Close any un-needed fd's */ + for (i = getdtablesize() - 1; i >= 3; --i) + close (i); + + openlog (PACKAGE, LOG_PID, LOG_LOCAL0); + + options = xzalloc (sizeof (*options)); + options->script = (char *) DEFAULT_SCRIPT; + snprintf (options->classid, CLASS_ID_MAX_LEN, "%s %s", + PACKAGE, VERSION); + + options->doarp = true; + options->dodns = true; + options->domtu = true; + options->donis = true; + options->dontp = true; + options->dogateway = true; + options->daemonise = true; + options->doinform = false; + options->doipv4ll = true; + options->doduid = true; + options->timeout = DEFAULT_TIMEOUT; + + gethostname (options->hostname, sizeof (options->hostname)); + if (strcmp (options->hostname, "(none)") == 0 || + strcmp (options->hostname, "localhost") == 0) + memset (options->hostname, 0, sizeof (options->hostname)); + + +/* +#ifdef THERE_IS_NO_FORK + dhcpcd_argv = argv; + dhcpcd_argc = argc; + if (! realpath (argv[0], dhcpcd)) { + logger (LOG_ERR, "unable to resolve the path `%s': %s", + argv[0], strerror (errno)); + goto abort; + } +#endif +*/ + + if (strlen (ifname) > IF_NAMESIZE) { + logger (LOG_ERR, + "`%s' too long for an interface name (max=%d)", + ifname, IF_NAMESIZE); + goto abort; + } else { + strlcpy (options->interface, ifname, + sizeof (options->interface)); + } + + if (strchr (options->hostname, '.')) { + if (options->fqdn == FQDN_DISABLE) + options->fqdn = FQDN_BOTH; + } else + options->fqdn = FQDN_DISABLE; + + if (options->request_address.s_addr == 0 && options->doinform) { + if ((options->request_address.s_addr = + get_address (options->interface)) != 0) + options->keep_address = true; + } + + if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { + logger (LOG_ERR, + "you are not allowed to request a link local address"); + goto abort; + } + + if (geteuid ()) + logger (LOG_WARNING, PACKAGE " will not work correctly unless" + " run as root"); + + prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); + snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); + setlogprefix (prefix); + snprintf (options->pidfile, sizeof (options->pidfile), PIDFILE, + options->interface); + free (prefix); + + chdir ("/"); + umask (022); + + if (mkdir (INFODIR, S_IRUSR | S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) + { + logger (LOG_ERR, + "mkdir(\"%s\",0): %s\n", INFODIR, strerror (errno)); + goto abort; + } + + if (mkdir (ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) + { + logger (LOG_ERR, + "mkdir(\"%s\",0): %s\n", ETCDIR, strerror (errno)); + goto abort; + } + + if (options->test) { + if (options->dorequest || options->doinform) { + logger (LOG_ERR, + "cannot test with --inform or --request"); + goto abort; + } + + if (options->dolastlease) { + logger (LOG_ERR, "cannot test with --lastlease"); + goto abort; + } + + if (sig != 0) { + logger (LOG_ERR, + "cannot test with --release or --renew"); + goto abort; + } + } + + if (sig != 0) { + int killed = -1; + pid = read_pid (options->pidfile); + if (pid != 0) + logger (LOG_INFO, "sending signal %d to pid %d", + sig, pid); + + if (! pid || (killed = kill (pid, sig))) + logger (sig == SIGALRM ? LOG_INFO : LOG_ERR, + ""PACKAGE" not running"); + + if (pid != 0 && (sig != SIGALRM || killed != 0)) + unlink (options->pidfile); + + if (killed == 0) { + retval = EXIT_SUCCESS; + goto abort; + } + + if (sig != SIGALRM) + goto abort; + } + + if (! options->test && ! options->daemonised) { + if ((pid = read_pid (options->pidfile)) > 0 && + kill (pid, 0) == 0) + { + logger (LOG_ERR, ""PACKAGE + " already running on pid %d (%s)", + pid, options->pidfile); + goto abort; + } + + pidfd = open (options->pidfile, + O_WRONLY | O_CREAT | O_NONBLOCK, 0664); + if (pidfd == -1) { + logger (LOG_ERR, "open `%s': %s", + options->pidfile, strerror (errno)); + goto abort; + } + + /* Lock the file so that only one instance of dhcpcd runs + * on an interface */ + if (flock (pidfd, LOCK_EX | LOCK_NB) == -1) { + logger (LOG_ERR, "flock `%s': %s", + options->pidfile, strerror (errno)); + goto abort; + } + + /* dhcpcd.sh should not interhit this fd */ + if ((i = fcntl (pidfd, F_GETFD, 0)) == -1 || + fcntl (pidfd, F_SETFD, i | FD_CLOEXEC) == -1) + logger (LOG_ERR, "fcntl: %s", strerror (errno)); + + writepid (pidfd, getpid ()); + logger (LOG_INFO, PACKAGE " " VERSION " starting"); + } + + /* Seed random */ + srandomdev (); + + /* Massage our filters per platform */ + setup_packet_filters (); + + if (dhcp_run (options, &pidfd) == 0) + retval = EXIT_SUCCESS; + +abort: + /* If we didn't daemonise then we need to punt the pidfile now */ + if (pidfd > -1) { + close (pidfd); + unlink (options->pidfile); + } + + free (options); + +#ifdef THERE_IS_NO_FORK + /* There may have been an error before the dhcp_run function + * clears this, so just do it here to be safe */ + free (dhcpcd_skiproutes); +#endif + + logger (LOG_INFO, "exiting"); + + exit (retval); + /* NOTREACHED */ +} diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.h b/workspace/networkDiscovery/dhcpcd/dhcpcd.h index f57093f..0b41ead 100644 --- a/workspace/networkDiscovery/dhcpcd/dhcpcd.h +++ b/workspace/networkDiscovery/dhcpcd/dhcpcd.h @@ -91,4 +91,6 @@ typedef struct options_t { char pidfile[PATH_MAX]; } options_t; +int nd_main (char *ifname); + #endif diff --git a/workspace/networkDiscovery/dhcpcd/logger.c b/workspace/networkDiscovery/dhcpcd/logger.c index 99f845f..a68fe65 100644 --- a/workspace/networkDiscovery/dhcpcd/logger.c +++ b/workspace/networkDiscovery/dhcpcd/logger.c @@ -27,6 +27,11 @@ #define SYSLOG_NAMES +#define COM_CH "./com_ch" + +#include +#include +#include #include #include #include @@ -34,9 +39,13 @@ #include #include + #include "common.h" #include "logger.h" +/*sockets for the logger and the qt-reader */ +int s, ns; + static int loglevel = LOG_WARNING; static char logprefix[12] = {0}; @@ -117,3 +126,46 @@ void logger (int level, const char *fmt, ...) va_end (p); } +void initQtLoggerSocket () +{ + /*variables for the communication over sockets with Qt*/ + int fromlen; + struct sockaddr_un soaddr, faddr; + int slen; + + if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { + perror("server: socket"); + exit(1); + } + + soaddr.sun_family = AF_UNIX; + strcpy(soaddr.sun_path, COM_CH); + unlink(COM_CH); + slen = strlen(soaddr.sun_path) + sizeof(soaddr.sun_family); + if (bind(s, (struct sockaddr *) &soaddr, slen) < 0) { + perror("server: bind"); + exit(1); + } + + if (listen(s, 5) < 0) { + perror("server: listen"); + exit(1); + } + + if ((ns = accept(s, &faddr, &fromlen)) < 0) { + perror("server: accept"); + exit(1); + } +} + +void closeQtLoggerSocket (){ + close(s); +} + +void sendToQt (char *msg) { + if(send(ns,msg, strlen(msg),0) < 0) + { + fprintf(stdout,"logger: failed to send message: %s", msg); + } +} + diff --git a/workspace/networkDiscovery/dhcpcd/logger.h b/workspace/networkDiscovery/dhcpcd/logger.h index 989f68d..e42e020 100644 --- a/workspace/networkDiscovery/dhcpcd/logger.h +++ b/workspace/networkDiscovery/dhcpcd/logger.h @@ -36,9 +36,18 @@ #include + + int logtolevel (const char *priority); void setloglevel (int level); void setlogprefix (const char *prefix); void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); +/** + * new functions for communicating with Qt + */ +void initQtLoggerSocket (); +void closeQtLoggerSocket (); +void sendToQt (); + #endif diff --git a/workspace/networkDiscovery/dhcpcd/mk/cc.mk b/workspace/networkDiscovery/dhcpcd/mk/cc.mk deleted file mode 100644 index d52597b..0000000 --- a/workspace/networkDiscovery/dhcpcd/mk/cc.mk +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2008 Roy Marples - -# Setup some good default CFLAGS -CFLAGS?= -O2 - -# Default to using the C99 standard -CSTD?= c99 -_CSTD_SH= if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi -_CSTD!= ${_CSTD_SH} -CFLAGS+= ${_CSTD}$(shell ${_CSTD_SH}) - -# Try and use some good cc flags -_CC_FLAGS= -pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \ - -Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \ - -Wbad-function-cast -Wnested-externs -Wcomment -Winline \ - -Wchar-subscripts -Wcast-align -Wno-format-nonliteral \ - -Wdeclaration-after-statement -Wsequence-point -Wextra -_CC_FLAGS_SH= for f in ${_CC_FLAGS}; do \ - if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ - then printf "%s" "$$f "; fi \ - done -_CC_FLAGS!= ${_CC_FLAGS_SH} -CFLAGS+= ${_CC_FLAGS}$(shell ${CC_FLAGS_SH}) diff --git a/workspace/networkDiscovery/dhcpcd/mk/depend.mk b/workspace/networkDiscovery/dhcpcd/mk/depend.mk deleted file mode 100644 index a4d717a..0000000 --- a/workspace/networkDiscovery/dhcpcd/mk/depend.mk +++ /dev/null @@ -1,11 +0,0 @@ -# This only works for make implementations that always include a .depend if -# it exists. Only GNU make does not do this. - -# Copyright 2008 Roy Marples - -CLEANFILES+= .depend - -.depend: ${SRCS} - ${CC} ${CFLAGS} -MM ${SRCS} > .depend - -depend: .depend diff --git a/workspace/networkDiscovery/dhcpcd/mk/dist.mk b/workspace/networkDiscovery/dhcpcd/mk/dist.mk deleted file mode 100644 index 1d3669d..0000000 --- a/workspace/networkDiscovery/dhcpcd/mk/dist.mk +++ /dev/null @@ -1,11 +0,0 @@ -# rules to make a distribution tarball from a git repo -# Copyright 2008 Roy Marples - -GITREF?= HEAD -DISTPREFIX?= ${PROG}-${VERSION} -DISTFILE?= ${DISTPREFIX}.tar.bz2 - -CLEANFILES+= ${DISTFILE} - -dist: - git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE} diff --git a/workspace/networkDiscovery/dhcpcd/mk/man.mk b/workspace/networkDiscovery/dhcpcd/mk/man.mk deleted file mode 100644 index 5d9bf26..0000000 --- a/workspace/networkDiscovery/dhcpcd/mk/man.mk +++ /dev/null @@ -1,14 +0,0 @@ -# rules to install manpages -# Copyright 2008 Roy Marples - -MANPREFIX?= /usr/share -MANDIR?= ${MANPREFIX}/man/man -MANMODE?= 0444 -MINSTALL?= ${INSTALL} -m ${MANMODE} - -man: ${MAN} - -# We cheat as all our pages go into section 8 -maninstall: man - ${INSTALL} -d ${DESTDIR}${MANDIR}8 - for man in ${MAN}; do ${MINSTALL} $$man ${DESTDIR}${MANDIR}8; done diff --git a/workspace/networkDiscovery/dhcpcd/mk/os.mk b/workspace/networkDiscovery/dhcpcd/mk/os.mk deleted file mode 100644 index af173fc..0000000 --- a/workspace/networkDiscovery/dhcpcd/mk/os.mk +++ /dev/null @@ -1,77 +0,0 @@ -# Setup OS specific variables -# Copyright 2008 Roy Marples - -# Work out if we need -lresolv or not -_LIBRESOLV_SH= printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ - if ${CC} .res_init.c -o .res_init >/dev/null 2>&1; then \ - echo ""; \ - elif ${CC} .res_init.c -lresolv -o .res_init >/dev/null 2>&1; then \ - echo "-lresolv"; \ - else \ - echo "Cannot work out how to get res_init to link" >&2; \ - rm -f .res_init.c .res_init; \ - exit 1; \ - fi; \ - rm -f .res_init.c .res_init -_LIBRESOLV!= ${_LIBRESOLV_SH} -LIBRESOLV= ${_LIBRESOLV}$(shell ${_LIBRESOLV_SH}) - -# Work out if we need -lrt or not -_LIBRT_SH= printf '\#include \n\#include \n\nint main (void) { struct timespec ts;\n\#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC)\nreturn (clock_gettime (CLOCK_MONOTONIC, &ts));\n\#else\nreturn -1;\n\#endif\n}\n' > .clock_gettime.c; \ - if ${CC} .clock_gettime.c -o .clock_gettime >/dev/null 2>&1; then \ - echo ""; \ - elif ${CC} .clock_gettime.c -lrt -o .clock_gettime >/dev/null 2>&1; then \ - echo "-lrt"; \ - else \ - echo ""; \ - fi; \ - rm -f .clock_gettime.c .clock_gettime -_LIBRT!= ${_LIBRT_SH} -LIBRT= ${_LIBRT}$(shell ${_LIBRT_SH}) - -# Work out if our fork() works or not -_HAVE_FORK_SH= if test "${HAVE_FORK}" = "yes"; then \ - echo ""; \ - elif test -n "${HAVE_FORK}"; then \ - echo "-DTHERE_IS_NO_FORK"; \ - else \ - printf '\#include \n\#include \nint main (void) { pid_t pid = fork(); if (pid == -1) exit (-1); exit (0); }\n' > .fork.c; \ - ${CC} .fork.c -o .fork >/dev/null 2>&1; \ - if ./.fork; then \ - echo ""; \ - else \ - echo "-DTHERE_IS_NO_FORK"; \ - fi; \ - rm -f .fork.c .fork; \ - fi; -_HAVE_FORK!= ${_HAVE_FORK_SH} -FORK= ${_HAVE_FORK}$(shell ${_HAVE_FORK_SH}) - -# info dir defaults to /var/lib/dhcpcd on Linux and /var/db elsewhere -_INFODIR_SH= if test -n "${INFODIR}"; then \ - echo "${INFODIR}"; \ - else \ - case `uname -s` in \ - Linux) echo "/var/lib/dhcpcd";; \ - *) echo "/var/db";; \ - esac \ - fi -_INFODIR!= ${_INFODIR_SH} -INFOD?= ${_INFODIR}$(shell ${_INFODIR_SH}) - -# Work out how to restart services -_RC_SH= if test -n "${HAVE_INIT}"; then \ - test "${HAVE_INIT}" = "no" || echo "-DENABLE_${HAVE_INIT}"; \ - elif test -x /sbin/runscript; then echo "-DENABLE_OPENRC"; \ - elif test -x /sbin/service; then echo "-DENABLE_SERVICE"; \ - elif test -x /etc/rc.d/rc.S -a -x /etc/rc.d/rc.M; then echo "-DENABLE_SLACKRC"; \ - elif test -d /etc/rc.d; then echo "-DENABLE_BSDRC"; \ - elif test -d /etc/init.d; then echo "-DENABLE_SYSV"; \ - fi -_RC!= ${_RC_SH} -RC= ${_RC}$(shell ${_RC_SH}) - -# glibc requires _BSD_SOURCE and _XOPEN_SOURCE -_DEF_SH= case `uname -s` in Linux) echo "-D_BSD_SOURCE -D_XOPEN_SOURCE=600";; *) echo;; esac -_DEF!= ${_DEF_SH} -CFLAGS+= ${_DEF}$(shell ${_DEF_SH}) diff --git a/workspace/networkDiscovery/dhcpcd/mk/prog.mk b/workspace/networkDiscovery/dhcpcd/mk/prog.mk deleted file mode 100644 index 6f2560c..0000000 --- a/workspace/networkDiscovery/dhcpcd/mk/prog.mk +++ /dev/null @@ -1,34 +0,0 @@ -# rules to build a program -# based on FreeBSD's bsd.prog.mk - -# Copyright 2008 Roy Marples - -BINDIR?= ${PREFIX}/usr/bin -BINMODE?= 0755 -OBJS+= ${SRCS:.c=.o} - -INSTALL?= install - -all: ${PROG} ${MAN} - -${PROG}: ${SCRIPTS} ${OBJS} - ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} - -_proginstall: ${PROG} - ${INSTALL} -d ${DESTDIR}${BINDIR} - ${INSTALL} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR} - -include ${MK}/depend.mk -include ${MK}/man.mk -include ${MK}/dist.mk - -install: _proginstall maninstall - -clean: - rm -f ${OBJS} ${PROG} ${CLEANFILES} - -LINTFLAGS?= -hx -LINTFLAGS+= -X 159,247,352 - -lint: ${SRCS:.c=.c} - ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} $^ ${.ALLSRC} diff --git a/workspace/networkDiscovery/networkDiscovery.pro b/workspace/networkDiscovery/networkDiscovery.pro index d6ef25c..7095e70 100644 --- a/workspace/networkDiscovery/networkDiscovery.pro +++ b/workspace/networkDiscovery/networkDiscovery.pro @@ -3,8 +3,9 @@ TARGET = networkDiscovery QT += core \ gui \ network -LIBS += -L/usr/lib -INCLUDEPATH += /usr/include/ + +# LIBS += -L/usr/lib +# INCLUDEPATH += /usr/include/ HEADERS += dhcpcd/arp.h \ dhcpcd/client.h \ dhcpcd/common.h \ @@ -36,5 +37,6 @@ SOURCES += dhcpcd/arp.c \ dhcpcd/socket.c \ main.cpp \ networkdiscovery.cpp -FORMS += networkdiscovery.ui +FORMS += networkdiscovery.ui \ + networkdiscovery.ui RESOURCES += diff --git a/workspace/networkDiscovery/networkdiscovery.cpp b/workspace/networkDiscovery/networkdiscovery.cpp index f2cb2bb..cf4f354 100644 --- a/workspace/networkDiscovery/networkdiscovery.cpp +++ b/workspace/networkDiscovery/networkdiscovery.cpp @@ -1,6 +1,3 @@ -#include "networkdiscovery.h" -#include - #include #include #include @@ -16,14 +13,30 @@ #include #include -#include "config.h" -#include "client.h" +#ifdef __cplusplus +extern "C" { +#endif +#include "dhcpcd/config.h" +#include "dhcpcd/client.h" #include "dhcpcd/dhcpcd.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" -#include "version.h" +#include "dhcpcd/dhcp.h" +#include "dhcpcd/interface.h" +#include "dhcpcd/logger.h" +#include "dhcpcd/socket.h" +#include "dhcpcd/version.h" +#ifdef __cplusplus +} +#endif + +#ifdef __cplusplus + +#include +#include "networkdiscovery.h" +#include +#include + + +#endif NetworkDiscovery::NetworkDiscovery(QWidget *parent) : QWidget(parent) @@ -35,6 +48,7 @@ NetworkDiscovery::NetworkDiscovery(QWidget *parent) * test if i get some dhcp values for the dummy0 interface */ doDHCP(interfaces); + doDhcp(interfaces.first()); } NetworkDiscovery::~NetworkDiscovery() @@ -45,7 +59,6 @@ NetworkDiscovery::~NetworkDiscovery() QList NetworkDiscovery::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); QList result; - foreach(QNetworkInterface nI, nIList) { if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| nI.flags() & QNetworkInterface::IsLoopBack) || @@ -61,251 +74,46 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { int NetworkDiscovery::doDHCP(QList interfaces) { - + return 0; } -static int atoint (const char *s) -{ - char *t; - long n; - errno = 0; - n = strtol (s, &t, 0); - if ((errno != 0 && n == 0) || s == t || - (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) - { - logger (LOG_ERR, "`%s' out of range", s); - return (-1); - } - return ((int) n); -} - -static pid_t read_pid (const char *pidfile) +int NetworkDiscovery::doDhcp(QNetworkInterface interface) { - FILE *fp; - pid_t pid = 0; - - if ((fp = fopen (pidfile, "r")) == NULL) { - errno = ENOENT; - return 0; - } - - fscanf (fp, "%d", &pid); - fclose (fp); - - return (pid); + nd_main("eth0"); } -int NetworkDiscovery::doDhcp(QNetworkInterface interface) +void NetworkDiscovery::listenToLogger() { + skt = new QLocalSocket(this); - options_t *options; - int userclasses = 0; - int opt; - int option_index = 0; - char *prefix; - pid_t pid; - int debug = 0; - int i; - int pidfd = -1; - int sig = 0; - int retval = EXIT_FAILURE; - - /* Close any un-needed fd's */ - for (i = getdtablesize() - 1; i >= 3; --i) - close(i); - - openlog(PACKAGE, LOG_PID, LOG_LOCAL0); - - options = xzalloc(sizeof(*options)); - options->script = (char *) DEFAULT_SCRIPT; - snprintf(options->classid, CLASS_ID_MAX_LEN, "%s %s", PACKAGE, VERSION); - - options->doarp = true; - options->dodns = true; - options->domtu = true; - options->donis = true; - options->dontp = true; - options->dogateway = true; - options->daemonise = true; - options->doinform = false; - options->doipv4ll = true; - options->doduid = true; - options->timeout = DEFAULT_TIMEOUT; - - gethostname(options->hostname, sizeof(options->hostname)); - if (strcmp(options->hostname, "(none)") == 0 || - strcmp(options->hostname, "localhost") == 0) - memset(options->hostname, 0, sizeof(options->hostname)); - - -/* - * kann vermutlich gelöscht werden. - -#ifdef THERE_IS_NO_FORK - dhcpcd_argv = argv; - dhcpcd_argc = argc; - if (! realpath (argv[0], dhcpcd)) { - logger (LOG_ERR, "unable to resolve the path `%s': %s", - argv[0], strerror (errno)); - goto abort; - } -#endif -*/ - - //TODO:: do something with the .toStdString()!! may cause errors cause char is expected - - if (interface.humanReadableName().length() > IF_NAMESIZE) { - - logger(LOG_ERR, "`%s' too long for an interface name (max=%d)", - interface.humanReadableName().toStdString(), IF_NAMESIZE); - goto abort; - } else { - strlcpy(options->interface, interface.humanReadableName().toStdString(), sizeof(options->interface)); - } - - if (strchr(options->hostname, '.')) { - if (options->fqdn == FQDN_DISABLE) - options->fqdn = FQDN_BOTH; - } else - options->fqdn = FQDN_DISABLE; - - if (options->request_address.s_addr == 0 && options->doinform) { - if ((options->request_address.s_addr = get_address(options->interface)) - != 0) - options->keep_address = true; - } - - if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { - logger(LOG_ERR, "you are not allowed to request a link local address"); - goto abort; - } - - if (geteuid()) - logger(LOG_WARNING, PACKAGE " will not work correctly unless" - " run as root"); - - prefix = xmalloc(sizeof(char) * (IF_NAMESIZE + 3)); - snprintf(prefix, IF_NAMESIZE, "%s: ", options->interface); - setlogprefix(prefix); - snprintf(options->pidfile, sizeof(options->pidfile), PIDFILE, - options->interface); - free(prefix); - - chdir("/"); - umask(022); - - if (mkdir(INFODIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST) { - logger(LOG_ERR, "mkdir(\"%s\",0): %s\n", INFODIR, strerror(errno)); - goto abort; - } - - if (mkdir(ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP | S_IROTH - | S_IXOTH) && errno != EEXIST) { - logger(LOG_ERR, "mkdir(\"%s\",0): %s\n", ETCDIR, strerror(errno)); - goto abort; - } - - if (options->test) { - if (options->dorequest || options->doinform) { - logger(LOG_ERR, "cannot test with --inform or --request"); - goto abort; - } - - if (options->dolastlease) { - logger(LOG_ERR, "cannot test with --lastlease"); - goto abort; - } - - if (sig != 0) { - logger(LOG_ERR, "cannot test with --release or --renew"); - goto abort; - } - } - - if (sig != 0) { - int killed = -1; - pid = read_pid(options->pidfile); - if (pid != 0) - logger(LOG_INFO, "sending signal %d to pid %d", sig, pid); - - if (!pid || (killed = kill(pid, sig))) - logger(sig == SIGALRM ? LOG_INFO : LOG_ERR, ""PACKAGE" not running"); - - if (pid != 0 && (sig != SIGALRM || killed != 0)) - unlink(options->pidfile); - - if (killed == 0) { - retval = EXIT_SUCCESS; - goto abort; - } - - if (sig != SIGALRM) - goto abort; - } - - if (!options->test && !options->daemonised) { - if ((pid = read_pid(options->pidfile)) > 0 && kill(pid, 0) == 0) { - logger(LOG_ERR, ""PACKAGE - " already running on pid %d (%s)", pid, options->pidfile); - goto abort; - } - - pidfd = open(options->pidfile, O_WRONLY | O_CREAT | O_NONBLOCK, 0664); - if (pidfd == -1) { - logger(LOG_ERR, "open `%s': %s", options->pidfile, strerror(errno)); - goto abort; - } - - /* Lock the file so that only one instance of dhcpcd runs - * on an interface */ - if (flock(pidfd, LOCK_EX | LOCK_NB) == -1) { - logger(LOG_ERR, "flock `%s': %s", options->pidfile, strerror(errno)); - goto abort; - } - - /* dhcpcd.sh should not interhit this fd */ - if ((i = fcntl(pidfd, F_GETFD, 0)) == -1 || fcntl(pidfd, F_SETFD, i - | FD_CLOEXEC) == -1) - logger(LOG_ERR, "fcntl: %s", strerror(errno)); - - writepid(pidfd, getpid()); - logger(LOG_INFO, PACKAGE " " VERSION " starting"); - } - - /* Seed random */ - srandomdev(); - - /* Massage our filters per platform */ - setup_packet_filters(); - - /** - * here the dhcp magic begins. - * the dhcp protocol is started here - */ - if (dhcp_run(options, &pidfd) == 0) - retval = EXIT_SUCCESS; - - abort: - /* If we didn't daemonise then we need to punt the pidfile now */ - if (pidfd > -1) { - close(pidfd); - unlink(options->pidfile); - } - - free(options); - -#ifdef THERE_IS_NO_FORK - /* There may have been an error before the dhcp_run function - * clears this, so just do it here to be safe */ - free (dhcpcd_skiproutes); -#endif - - logger(LOG_INFO, "exiting"); - - exit(retval); - /* NOTREACHED */ +// connect(socket, SIGNAL(readyRead()), this, ) + connect(skt, SIGNAL(error(QLocalSocket::LocalSocketError)), + this, SLOT(displayError(QLocalSocket::LocalSocketError))); } +void NetworkDiscovery::displayError(QLocalSocket::LocalSocketError socketError) + { + switch (socketError) { + case QLocalSocket::ServerNotFoundError: + QMessageBox::information(this, tr("Fortune Client"), + tr("The host was not found. Please check the " + "host name and port settings.")); + break; + case QLocalSocket::ConnectionRefusedError: + QMessageBox::information(this, tr("Fortune Client"), + tr("The connection was refused by the peer. " + "Make sure the fortune server is running, " + "and check that the host name and port " + "settings are correct.")); + break; + case QLocalSocket::PeerClosedError: + break; + default: + QMessageBox::information(this, tr("Fortune Client"), + tr("The following error occurred: %1.") + .arg(skt->errorString())); + } + } + diff --git a/workspace/networkDiscovery/networkdiscovery.h b/workspace/networkDiscovery/networkdiscovery.h index 2b4e664..8001bdf 100644 --- a/workspace/networkDiscovery/networkdiscovery.h +++ b/workspace/networkDiscovery/networkdiscovery.h @@ -1,8 +1,10 @@ #ifndef NETWORKDISCOVERY_H #define NETWORKDISCOVERY_H + #include #include +#include #include "ui_networkdiscovery.h" class NetworkDiscovery : public QWidget @@ -13,11 +15,17 @@ public: NetworkDiscovery(QWidget *parent = 0); ~NetworkDiscovery(); +public slots: + void displayError(QLocalSocket::LocalSocketError socketError); + private: Ui::NetworkDiscoveryClass ui; QList getListOfNetworkInterfaces(); int doDHCP(QList interfaces); - int doDhcp(QNetworkInterface interface) + int doDhcp(QNetworkInterface interface); + void listenToLogger(); + + QLocalSocket *skt; }; -- cgit v1.2.3-55-g7522 From e71f5ac6630686f3bd92817b401ed8d88e121f6d Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 6 Jul 2011 16:56:16 +0200 Subject: added the two tryout with a qt LogReceiver and a c code client --- workspace/LogReceiver/LogReceiver | Bin 0 -> 30954 bytes workspace/LogReceiver/LogReceiver.pro | 10 ++++ workspace/LogReceiver/logreceiver.cpp | 70 ++++++++++++++++++++++++ workspace/LogReceiver/logreceiver.h | 34 ++++++++++++ workspace/LogReceiver/logreceiver.ui | 19 +++++++ workspace/LogReceiver/main.cpp | 12 +++++ workspace/LogWriter/LogWriter | Bin 0 -> 30747 bytes workspace/LogWriter/LogWriter.pro | 10 ++++ workspace/LogWriter/logwriter.cpp | 97 ++++++++++++++++++++++++++++++++++ workspace/LogWriter/logwriter.h | 47 ++++++++++++++++ workspace/LogWriter/logwriter.ui | 19 +++++++ workspace/LogWriter/main.cpp | 12 +++++ 12 files changed, 330 insertions(+) create mode 100755 workspace/LogReceiver/LogReceiver create mode 100644 workspace/LogReceiver/LogReceiver.pro create mode 100644 workspace/LogReceiver/logreceiver.cpp create mode 100644 workspace/LogReceiver/logreceiver.h create mode 100644 workspace/LogReceiver/logreceiver.ui create mode 100644 workspace/LogReceiver/main.cpp create mode 100755 workspace/LogWriter/LogWriter create mode 100644 workspace/LogWriter/LogWriter.pro create mode 100644 workspace/LogWriter/logwriter.cpp create mode 100644 workspace/LogWriter/logwriter.h create mode 100644 workspace/LogWriter/logwriter.ui create mode 100644 workspace/LogWriter/main.cpp diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver new file mode 100755 index 0000000..16bcf4b Binary files /dev/null and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro new file mode 100644 index 0000000..3a2d3f9 --- /dev/null +++ b/workspace/LogReceiver/LogReceiver.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = LogReceiver + +QT += core gui network + +HEADERS += logreceiver.h +SOURCES += main.cpp \ + logreceiver.cpp +FORMS += logreceiver.ui +RESOURCES += diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp new file mode 100644 index 0000000..9bca304 --- /dev/null +++ b/workspace/LogReceiver/logreceiver.cpp @@ -0,0 +1,70 @@ + #include + #include + + #include + + #include "logreceiver.h" + #include + #include + + +LogReceiver::LogReceiver(QWidget *parent) : + QDialog(parent) { + ui.setupUi(this); + + statusLabel = new QLabel; + quitButton = new QPushButton(tr("Quit")); + quitButton->setAutoDefault(false); + + server = new QLocalServer(this); + if (!server->listen("/var/tmp/qt_c_socket_test")) { + QMessageBox::critical(this, tr("LogReceiver"), tr( + "Unable to start the server: %1.") .arg(server->errorString())); + close(); + return; + } + + statusLabel->setText(tr("The server is running.\n" + "Run the C Client example now.")); + + connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); + connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + + QHBoxLayout *buttonLayout = new QHBoxLayout; + buttonLayout->addStretch(1); + buttonLayout->addWidget(quitButton); + buttonLayout->addStretch(1); + + QVBoxLayout *mainLayout = new QVBoxLayout; + mainLayout->addWidget(statusLabel); + mainLayout->addLayout(buttonLayout); + setLayout(mainLayout); + + setWindowTitle(tr("Fortune Server")); +} + +LogReceiver::~LogReceiver() { + +} + + + void LogReceiver::handleNewConnection() + { + qDebug() << "New Connection arrived"; + + clientSocket = server->nextPendingConnection(); + connect(clientSocket, SIGNAL(disconnected()), + clientSocket, SLOT(deleteLater())); + connect(clientSocket, SIGNAL(readyRead()), this, SLOT(handleNewInput())); + } + + void LogReceiver::handleNewInput() { + + QByteArray data = clientSocket->readAll(); + + QString logMsg(data); + qDebug() << logMsg; + + statusLabel->setText(logMsg); +} + diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h new file mode 100644 index 0000000..6b94eab --- /dev/null +++ b/workspace/LogReceiver/logreceiver.h @@ -0,0 +1,34 @@ +#ifndef LOGRECEIVER_H +#define LOGRECEIVER_H + +#include +#include +#include "ui_logreceiver.h" + +class QLabel; +class QPushButton; +class QLocalServer; +class QLocalSocket; + +class LogReceiver: public QDialog { +Q_OBJECT + +public: + LogReceiver(QWidget *parent = 0); + ~LogReceiver(); + +private slots: + void handleNewConnection(); + void handleNewInput(); + +private: + Ui::LogReceiverClass ui; + QLabel *statusLabel; + QPushButton *quitButton; + QLocalServer *server; + QStringList fortunes; + QLocalSocket *clientSocket; + quint16 blockSize; +}; + +#endif // LOGRECEIVER_H diff --git a/workspace/LogReceiver/logreceiver.ui b/workspace/LogReceiver/logreceiver.ui new file mode 100644 index 0000000..9143194 --- /dev/null +++ b/workspace/LogReceiver/logreceiver.ui @@ -0,0 +1,19 @@ + + LogReceiverClass + + + + 0 + 0 + 400 + 300 + + + + LogReceiver + + + + + + diff --git a/workspace/LogReceiver/main.cpp b/workspace/LogReceiver/main.cpp new file mode 100644 index 0000000..e545906 --- /dev/null +++ b/workspace/LogReceiver/main.cpp @@ -0,0 +1,12 @@ +#include "logreceiver.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + LogReceiver w; + w.show(); + return a.exec(); +} diff --git a/workspace/LogWriter/LogWriter b/workspace/LogWriter/LogWriter new file mode 100755 index 0000000..bfcb726 Binary files /dev/null and b/workspace/LogWriter/LogWriter differ diff --git a/workspace/LogWriter/LogWriter.pro b/workspace/LogWriter/LogWriter.pro new file mode 100644 index 0000000..112fd84 --- /dev/null +++ b/workspace/LogWriter/LogWriter.pro @@ -0,0 +1,10 @@ +TEMPLATE = app +TARGET = LogWriter + +QT += core gui network + +HEADERS += logwriter.h +SOURCES += main.cpp \ + logwriter.cpp +FORMS += logwriter.ui +RESOURCES += diff --git a/workspace/LogWriter/logwriter.cpp b/workspace/LogWriter/logwriter.cpp new file mode 100644 index 0000000..53a4023 --- /dev/null +++ b/workspace/LogWriter/logwriter.cpp @@ -0,0 +1,97 @@ +#include +#include +#include +#include +#include +#include + +#include +#include + +#include "logwriter.h" + +LogWriter::LogWriter(QWidget *parent) : + QDialog(parent) { + hostLabel = new QLabel(tr("Message:")); + hostLineEdit = new QLineEdit("fortune"); + + serverName = "/var/tmp/qt_c_socket_test"; + + hostLabel->setBuddy(hostLineEdit); + + statusLabel = new QLabel(tr("This examples requires that you run the " + "LogReceiver example as well.")); + + connectToLogReceiver = new QPushButton(tr("Connect")); + connectToLogReceiver->setDefault(true); + + quitButton = new QPushButton(tr("Quit")); + + writeButton = new QPushButton(tr("Write")); + + buttonBox = new QDialogButtonBox; + buttonBox->addButton(connectToLogReceiver, QDialogButtonBox::ActionRole); + buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole); + buttonBox->addButton(writeButton, QDialogButtonBox::ActionRole); + + connect(hostLineEdit, SIGNAL(textChanged(QString)), this, + SLOT(enableWriteButton())); + connect(connectToLogReceiver, SIGNAL(clicked()), this, + SLOT(requestNewFortune())); + connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); + connect(writeButton, SIGNAL(clicked()), this, SLOT(writeToLogReceiver())); + + QGridLayout *mainLayout = new QGridLayout; + mainLayout->addWidget(hostLabel, 0, 0); + mainLayout->addWidget(hostLineEdit, 0, 1); + mainLayout->addWidget(statusLabel, 2, 0, 1, 2); + mainLayout->addWidget(buttonBox, 3, 0, 1, 2); + setLayout(mainLayout); + + setWindowTitle(tr("Fortune Client")); + hostLineEdit->setFocus(); +} + +LogWriter::~LogWriter() { + +} + +void LogWriter::requestNewFortune() { + struct sockaddr_un serv_addr; + + connectToLogReceiver->setEnabled(false); + + + sockfd = socket(AF_UNIX, SOCK_STREAM, 0); + if (sockfd < 0) + qDebug() << "ERROR opening socket" << strerror(errno); + serv_addr.sun_family = AF_UNIX; + strcpy(serv_addr.sun_path, "/var/tmp/qt_c_socket_test"); + + + if (::connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) + qDebug() << "ERROR connecting" << strerror(errno); +} + +void LogWriter::readFortune() { + +} + +void LogWriter::displayError(QLocalSocket::LocalSocketError socketError) { + +} + +void LogWriter::enableWriteButton() { + writeButton->setEnabled(!hostLineEdit->text().isEmpty()); +} + +void LogWriter::writeToLogReceiver() { + + //char buffer[256]; + char *b = "test"; + qDebug() << strlen(b); + int n = ::write(sockfd,b,strlen(b)); + if (n < 0) + qDebug() <<"ERROR writing to socket"; + +} diff --git a/workspace/LogWriter/logwriter.h b/workspace/LogWriter/logwriter.h new file mode 100644 index 0000000..1646433 --- /dev/null +++ b/workspace/LogWriter/logwriter.h @@ -0,0 +1,47 @@ +#ifndef LOGWRITER_H +#define LOGWRITER_H + +#include +#include +#include "ui_logwriter.h" + +class QDialogButtonBox; +class QLabel; +class QLineEdit; +class QPushButton; +class QLocalSocket; + +class LogWriter: public QDialog { +Q_OBJECT + +public: + LogWriter(QWidget *parent = 0); + ~LogWriter(); + +private slots: + void requestNewFortune(); + void readFortune(); + void displayError(QLocalSocket::LocalSocketError socketError); + void enableWriteButton(); + void writeToLogReceiver(); + +private: + Ui::LogWriterClass ui; + QLabel *hostLabel; + QLineEdit *hostLineEdit; + QLabel *statusLabel; + QPushButton *connectToLogReceiver; + QPushButton *quitButton; + QPushButton *writeButton; + QDialogButtonBox *buttonBox; + + QString currentFortune; + quint16 blockSize; + QString serverName; + + int sockfd; + +}; + +#endif // LOGWRITER_H + diff --git a/workspace/LogWriter/logwriter.ui b/workspace/LogWriter/logwriter.ui new file mode 100644 index 0000000..aebeb33 --- /dev/null +++ b/workspace/LogWriter/logwriter.ui @@ -0,0 +1,19 @@ + + LogWriterClass + + + + 0 + 0 + 400 + 300 + + + + LogWriter + + + + + + diff --git a/workspace/LogWriter/main.cpp b/workspace/LogWriter/main.cpp new file mode 100644 index 0000000..5695d76 --- /dev/null +++ b/workspace/LogWriter/main.cpp @@ -0,0 +1,12 @@ +#include "logwriter.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + LogWriter w; + w.show(); + return a.exec(); +} -- cgit v1.2.3-55-g7522 From fdae19c238de3a66c3aeaca45ce2e96ceda7cbf2 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 11 Jul 2011 16:51:30 +0200 Subject: updated the LogReceiver and LogWriter. we are now able to send and receive Status SubStatus and msg messages. --- workspace/LogReceiver/LogReceiver | Bin 30954 -> 35241 bytes workspace/LogReceiver/LogReceiver.pro | 17 ++-- workspace/LogReceiver/logreceiver.cpp | 29 +++++++ workspace/LogReceiver/logreceiver.ui | 99 ++++++++++++++++++++++-- workspace/LogWriter/LogWriter | Bin 30747 -> 35093 bytes workspace/LogWriter/LogWriter.pro | 17 ++-- workspace/LogWriter/logwriter.cpp | 33 ++++++-- workspace/LogWriter/logwriter.h | 3 + workspace/networkDiscovery/dhcpcd/logger.c | 59 ++++++-------- workspace/networkDiscovery/networkdiscovery.cpp | 8 +- workspace/networkDiscovery/networkdiscovery.h | 3 + 11 files changed, 205 insertions(+), 63 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 16bcf4b..0a4b640 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index 3a2d3f9..1be2ccd 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -1,10 +1,11 @@ TEMPLATE = app -TARGET = LogReceiver - -QT += core gui network - -HEADERS += logreceiver.h -SOURCES += main.cpp \ +TARGET = LogReceiver +QT += core \ + gui \ + network +HEADERS += status.h \ + logreceiver.h +SOURCES += main.cpp \ logreceiver.cpp -FORMS += logreceiver.ui -RESOURCES += +FORMS += logreceiver.ui +RESOURCES += diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 9bca304..6988463 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -1,11 +1,14 @@ #include #include + #include + #include #include #include "logreceiver.h" #include #include + #include "status.h" LogReceiver::LogReceiver(QWidget *parent) : @@ -61,8 +64,34 @@ LogReceiver::~LogReceiver() { void LogReceiver::handleNewInput() { QByteArray data = clientSocket->readAll(); + char * cdata = new char[data.size() +1]; + qDebug() << data.size(); + qDebug() << strlen(cdata); + strcpy(cdata, data.data()); + qDebug() << strlen(cdata); + qDebug() << cdata; + int st, sst; + char str[40]; + sscanf(cdata, "%d;%d;%s",&st,&sst,str); + + switch (st) { + case STAT_OK: + qDebug() << "received stat_ok"; + break; + case STAT_ERROR: + qDebug() << "received stat_error"; + break; + default: + qDebug() << "undefined status"; + } + qDebug() << st; QString logMsg(data); + + /** + * verarbeite den string + */ + qDebug() << logMsg; statusLabel->setText(logMsg); diff --git a/workspace/LogReceiver/logreceiver.ui b/workspace/LogReceiver/logreceiver.ui index 9143194..500f418 100644 --- a/workspace/LogReceiver/logreceiver.ui +++ b/workspace/LogReceiver/logreceiver.ui @@ -1,7 +1,8 @@ - + + LogReceiverClass - - + + 0 0 @@ -9,11 +10,99 @@ 300 - + LogReceiver + + + + 10 + 10 + 131 + 17 + + + + NetworkDiscovery + + + + + + 30 + 60 + 151 + 17 + + + + verfügbare Interfaces + + + + + + 40 + 190 + 311 + 81 + + + + + + + 10 + 150 + 71 + 17 + + + + StatusLog + + + + + + 10 + 140 + 371 + 16 + + + + Qt::Horizontal + + + + + + 40 + 90 + 67 + 17 + + + + i_Name + + + + + + 230 + 90 + 67 + 17 + + + + status + + - + diff --git a/workspace/LogWriter/LogWriter b/workspace/LogWriter/LogWriter index bfcb726..54d4ab8 100755 Binary files a/workspace/LogWriter/LogWriter and b/workspace/LogWriter/LogWriter differ diff --git a/workspace/LogWriter/LogWriter.pro b/workspace/LogWriter/LogWriter.pro index 112fd84..ba5df47 100644 --- a/workspace/LogWriter/LogWriter.pro +++ b/workspace/LogWriter/LogWriter.pro @@ -1,10 +1,11 @@ TEMPLATE = app -TARGET = LogWriter - -QT += core gui network - -HEADERS += logwriter.h -SOURCES += main.cpp \ +TARGET = LogWriter +QT += core \ + gui \ + network +HEADERS += status.h \ + logwriter.h +SOURCES += main.cpp \ logwriter.cpp -FORMS += logwriter.ui -RESOURCES += +FORMS += logwriter.ui +RESOURCES += diff --git a/workspace/LogWriter/logwriter.cpp b/workspace/LogWriter/logwriter.cpp index 53a4023..94155ed 100644 --- a/workspace/LogWriter/logwriter.cpp +++ b/workspace/LogWriter/logwriter.cpp @@ -9,6 +9,7 @@ #include #include "logwriter.h" +#include "status.h" LogWriter::LogWriter(QWidget *parent) : QDialog(parent) { @@ -86,12 +87,34 @@ void LogWriter::enableWriteButton() { } void LogWriter::writeToLogReceiver() { + writeToLogReceiver(STAT_OK,DISCOVER); +} + +void LogWriter::writeToLogReceiver(int stat, int sub_stat) { + char * st = (char *) malloc(sizeof(int)*4+1); + char * sst = (char *) malloc(sizeof(int)*4+1); + sprintf(st,"%d", stat); + sprintf(sst,"%d",sub_stat); + char * msg = "msg test"; + int msize = strlen(st) + strlen(sst) + strlen(msg) + 3; + char * m = (char *) malloc(msize); + strcpy(m, ""); + strcat(m, st); + strcat(m, ";"); + strcat(m, sst); + strcat(m, ";"); + strcat(m, msg); //char buffer[256]; - char *b = "test"; - qDebug() << strlen(b); - int n = ::write(sockfd,b,strlen(b)); - if (n < 0) - qDebug() <<"ERROR writing to socket"; + //char *b = "test"; + qDebug() << strlen(m); + qDebug() << m; + int n = ::write(sockfd, m, strlen(m)); + if (n < 0) + qDebug() << "ERROR writing to socket"; + + free(st); + free(sst); + free(m); } diff --git a/workspace/LogWriter/logwriter.h b/workspace/LogWriter/logwriter.h index 1646433..a4ddea3 100644 --- a/workspace/LogWriter/logwriter.h +++ b/workspace/LogWriter/logwriter.h @@ -4,6 +4,7 @@ #include #include #include "ui_logwriter.h" +#include "status.h" class QDialogButtonBox; class QLabel; @@ -26,6 +27,8 @@ private slots: void writeToLogReceiver(); private: + // enum STATUS stat, enum SUBSTATUS sub_stat + void writeToLogReceiver(int stat, int sub_stat); Ui::LogWriterClass ui; QLabel *hostLabel; QLineEdit *hostLineEdit; diff --git a/workspace/networkDiscovery/dhcpcd/logger.c b/workspace/networkDiscovery/dhcpcd/logger.c index a68fe65..ec10bb9 100644 --- a/workspace/networkDiscovery/dhcpcd/logger.c +++ b/workspace/networkDiscovery/dhcpcd/logger.c @@ -27,7 +27,7 @@ #define SYSLOG_NAMES -#define COM_CH "./com_ch" +#define COM_CH "/var/tmp/com.socket" #include #include @@ -44,7 +44,7 @@ #include "logger.h" /*sockets for the logger and the qt-reader */ -int s, ns; +int sockfd, ns; static int loglevel = LOG_WARNING; static char logprefix[12] = {0}; @@ -126,46 +126,33 @@ void logger (int level, const char *fmt, ...) va_end (p); } -void initQtLoggerSocket () -{ - /*variables for the communication over sockets with Qt*/ - int fromlen; - struct sockaddr_un soaddr, faddr; - int slen; - - if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { - perror("server: socket"); - exit(1); - } - - soaddr.sun_family = AF_UNIX; - strcpy(soaddr.sun_path, COM_CH); - unlink(COM_CH); - slen = strlen(soaddr.sun_path) + sizeof(soaddr.sun_family); - if (bind(s, (struct sockaddr *) &soaddr, slen) < 0) { - perror("server: bind"); - exit(1); - } - - if (listen(s, 5) < 0) { - perror("server: listen"); - exit(1); - } - - if ((ns = accept(s, &faddr, &fromlen)) < 0) { - perror("server: accept"); - exit(1); - } +void initQtLoggerSocket() { + /** + * new code. seems to be right. + */ + struct sockaddr_un serv_addr; + sockfd = socket(AF_UNIX, SOCK_STREAM, 0); + if (sockfd < 0) + fprintf(stdout,"ERROR opening socket"); + serv_addr.sun_family = AF_UNIX; + strcpy(serv_addr.sun_path, "/var/tmp/qt_c_socket_test"); + + if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) + fprintf(stdout,"ERROR connecting"); } void closeQtLoggerSocket (){ close(s); } -void sendToQt (char *msg) { - if(send(ns,msg, strlen(msg),0) < 0) - { - fprintf(stdout,"logger: failed to send message: %s", msg); +void sendToQt(char *msg) { + if (send(ns, msg, strlen(msg), 0) < 0) { + fprintf(stdout, "logger: failed to send message: %s", msg); } + //char buffer[256]; + char *b = "test"; + int n = write(sockfd, b, strlen(b)); + if (n < 0) + fprintf(stdout, "ERROR writing to socket"); } diff --git a/workspace/networkDiscovery/networkdiscovery.cpp b/workspace/networkDiscovery/networkdiscovery.cpp index cf4f354..e308de4 100644 --- a/workspace/networkDiscovery/networkdiscovery.cpp +++ b/workspace/networkDiscovery/networkdiscovery.cpp @@ -88,9 +88,15 @@ void NetworkDiscovery::listenToLogger() { skt = new QLocalSocket(this); -// connect(socket, SIGNAL(readyRead()), this, ) + connect(skt, SIGNAL(readyRead()), this, SLOT(handleLoggedMessage())); connect(skt, SIGNAL(error(QLocalSocket::LocalSocketError)), this, SLOT(displayError(QLocalSocket::LocalSocketError))); + skt->connectToServer(COM_CH); +} + +void NetworkDiscovery::handleLoggedMessage() +{ + } void NetworkDiscovery::displayError(QLocalSocket::LocalSocketError socketError) diff --git a/workspace/networkDiscovery/networkdiscovery.h b/workspace/networkDiscovery/networkdiscovery.h index 8001bdf..fef0999 100644 --- a/workspace/networkDiscovery/networkdiscovery.h +++ b/workspace/networkDiscovery/networkdiscovery.h @@ -7,6 +7,8 @@ #include #include "ui_networkdiscovery.h" +#define COM_CH "/var/tmp/com.socket" + class NetworkDiscovery : public QWidget { Q_OBJECT @@ -16,6 +18,7 @@ public: ~NetworkDiscovery(); public slots: + void handleLoggedMessage(); void displayError(QLocalSocket::LocalSocketError socketError); private: -- cgit v1.2.3-55-g7522 From f173b5d9e29c2f107eee9ab1186af9fc1fc0ff31 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 11 Jul 2011 16:55:28 +0200 Subject: added the custom dhcpcd client to git. --- workspace/customdhcpcd/Debug/customdhcpcd | Bin 0 -> 31498 bytes workspace/customdhcpcd/Debug/makefile | 44 + workspace/customdhcpcd/Debug/objects.mk | 7 + workspace/customdhcpcd/Debug/sources.mk | 17 + workspace/customdhcpcd/Debug/src/customdhcpcd.d | 1 + workspace/customdhcpcd/Debug/src/subdir.mk | 24 + workspace/customdhcpcd/src/.gitignore | 5 + workspace/customdhcpcd/src/README | 45 + workspace/customdhcpcd/src/arp.c | 284 ++++++ workspace/customdhcpcd/src/arp.h | 39 + workspace/customdhcpcd/src/client.c | 1136 +++++++++++++++++++++++ workspace/customdhcpcd/src/client.h | 35 + workspace/customdhcpcd/src/common.c | 249 +++++ workspace/customdhcpcd/src/common.h | 68 ++ workspace/customdhcpcd/src/config.h | 133 +++ workspace/customdhcpcd/src/configure.c | 809 ++++++++++++++++ workspace/customdhcpcd/src/configure.h | 38 + workspace/customdhcpcd/src/customdhcpcd.c | 17 + workspace/customdhcpcd/src/dhcp.c | 933 +++++++++++++++++++ workspace/customdhcpcd/src/dhcp.h | 215 +++++ workspace/customdhcpcd/src/dhcpcd.c | 364 ++++++++ workspace/customdhcpcd/src/dhcpcd.h | 96 ++ workspace/customdhcpcd/src/dhcpcd.sh | 46 + workspace/customdhcpcd/src/discover.c | 7 + workspace/customdhcpcd/src/discover.h | 12 + workspace/customdhcpcd/src/duid.c | 118 +++ workspace/customdhcpcd/src/duid.h | 42 + workspace/customdhcpcd/src/info.c | 472 ++++++++++ workspace/customdhcpcd/src/info.h | 42 + workspace/customdhcpcd/src/interface.c | 1060 +++++++++++++++++++++ workspace/customdhcpcd/src/interface.h | 173 ++++ workspace/customdhcpcd/src/ipv4ll.c | 70 ++ workspace/customdhcpcd/src/ipv4ll.h | 39 + workspace/customdhcpcd/src/logger.c | 126 +++ workspace/customdhcpcd/src/logger.h | 53 ++ workspace/customdhcpcd/src/logwriter.c | 84 ++ workspace/customdhcpcd/src/logwriter.h | 22 + workspace/customdhcpcd/src/signal.c | 183 ++++ workspace/customdhcpcd/src/signal.h | 40 + workspace/customdhcpcd/src/socket.c | 647 +++++++++++++ workspace/customdhcpcd/src/socket.h | 46 + workspace/customdhcpcd/src/status.h | 21 + 42 files changed, 7862 insertions(+) create mode 100755 workspace/customdhcpcd/Debug/customdhcpcd create mode 100644 workspace/customdhcpcd/Debug/makefile create mode 100644 workspace/customdhcpcd/Debug/objects.mk create mode 100644 workspace/customdhcpcd/Debug/sources.mk create mode 100644 workspace/customdhcpcd/Debug/src/customdhcpcd.d create mode 100644 workspace/customdhcpcd/Debug/src/subdir.mk create mode 100644 workspace/customdhcpcd/src/.gitignore create mode 100644 workspace/customdhcpcd/src/README create mode 100644 workspace/customdhcpcd/src/arp.c create mode 100644 workspace/customdhcpcd/src/arp.h create mode 100644 workspace/customdhcpcd/src/client.c create mode 100644 workspace/customdhcpcd/src/client.h create mode 100644 workspace/customdhcpcd/src/common.c create mode 100644 workspace/customdhcpcd/src/common.h create mode 100644 workspace/customdhcpcd/src/config.h create mode 100644 workspace/customdhcpcd/src/configure.c create mode 100644 workspace/customdhcpcd/src/configure.h create mode 100644 workspace/customdhcpcd/src/customdhcpcd.c create mode 100644 workspace/customdhcpcd/src/dhcp.c create mode 100644 workspace/customdhcpcd/src/dhcp.h create mode 100644 workspace/customdhcpcd/src/dhcpcd.c create mode 100644 workspace/customdhcpcd/src/dhcpcd.h create mode 100644 workspace/customdhcpcd/src/dhcpcd.sh create mode 100644 workspace/customdhcpcd/src/discover.c create mode 100644 workspace/customdhcpcd/src/discover.h create mode 100644 workspace/customdhcpcd/src/duid.c create mode 100644 workspace/customdhcpcd/src/duid.h create mode 100644 workspace/customdhcpcd/src/info.c create mode 100644 workspace/customdhcpcd/src/info.h create mode 100644 workspace/customdhcpcd/src/interface.c create mode 100644 workspace/customdhcpcd/src/interface.h create mode 100644 workspace/customdhcpcd/src/ipv4ll.c create mode 100644 workspace/customdhcpcd/src/ipv4ll.h create mode 100644 workspace/customdhcpcd/src/logger.c create mode 100644 workspace/customdhcpcd/src/logger.h create mode 100644 workspace/customdhcpcd/src/logwriter.c create mode 100644 workspace/customdhcpcd/src/logwriter.h create mode 100644 workspace/customdhcpcd/src/signal.c create mode 100644 workspace/customdhcpcd/src/signal.h create mode 100644 workspace/customdhcpcd/src/socket.c create mode 100644 workspace/customdhcpcd/src/socket.h create mode 100644 workspace/customdhcpcd/src/status.h diff --git a/workspace/customdhcpcd/Debug/customdhcpcd b/workspace/customdhcpcd/Debug/customdhcpcd new file mode 100755 index 0000000..6212e3b Binary files /dev/null and b/workspace/customdhcpcd/Debug/customdhcpcd differ diff --git a/workspace/customdhcpcd/Debug/makefile b/workspace/customdhcpcd/Debug/makefile new file mode 100644 index 0000000..0c6307d --- /dev/null +++ b/workspace/customdhcpcd/Debug/makefile @@ -0,0 +1,44 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +-include ../makefile.init + +RM := rm -rf + +# All of the sources participating in the build are defined here +-include sources.mk +-include subdir.mk +-include src/subdir.mk +-include objects.mk + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(C_DEPS)),) +-include $(C_DEPS) +endif +endif + +-include ../makefile.defs + +# Add inputs and outputs from these tool invocations to the build variables + +# All Target +all: customdhcpcd + +# Tool invocations +customdhcpcd: $(OBJS) $(USER_OBJS) + @echo 'Building target: $@' + @echo 'Invoking: GCC C Linker' + gcc -o"customdhcpcd" $(OBJS) $(USER_OBJS) $(LIBS) + @echo 'Finished building target: $@' + @echo ' ' + +# Other Targets +clean: + -$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) customdhcpcd + -@echo ' ' + +.PHONY: all clean dependents +.SECONDARY: + +-include ../makefile.targets diff --git a/workspace/customdhcpcd/Debug/objects.mk b/workspace/customdhcpcd/Debug/objects.mk new file mode 100644 index 0000000..224ef68 --- /dev/null +++ b/workspace/customdhcpcd/Debug/objects.mk @@ -0,0 +1,7 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +USER_OBJS := + +LIBS := diff --git a/workspace/customdhcpcd/Debug/sources.mk b/workspace/customdhcpcd/Debug/sources.mk new file mode 100644 index 0000000..57cf3c3 --- /dev/null +++ b/workspace/customdhcpcd/Debug/sources.mk @@ -0,0 +1,17 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +O_SRCS := +C_SRCS := +S_UPPER_SRCS := +OBJ_SRCS := +ASM_SRCS := +OBJS := +C_DEPS := +EXECUTABLES := + +# Every subdirectory with source files must be described here +SUBDIRS := \ +src \ + diff --git a/workspace/customdhcpcd/Debug/src/customdhcpcd.d b/workspace/customdhcpcd/Debug/src/customdhcpcd.d new file mode 100644 index 0000000..1dd84f9 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/customdhcpcd.d @@ -0,0 +1 @@ +src/customdhcpcd.d src/customdhcpcd.o: ../src/customdhcpcd.c diff --git a/workspace/customdhcpcd/Debug/src/subdir.mk b/workspace/customdhcpcd/Debug/src/subdir.mk new file mode 100644 index 0000000..86fb69b --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/subdir.mk @@ -0,0 +1,24 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../src/customdhcpcd.c + +OBJS += \ +./src/customdhcpcd.o + +C_DEPS += \ +./src/customdhcpcd.d + + +# Each subdirectory must supply rules for building sources it contributes +src/%.o: ../src/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/workspace/customdhcpcd/src/.gitignore b/workspace/customdhcpcd/src/.gitignore new file mode 100644 index 0000000..6eb1591 --- /dev/null +++ b/workspace/customdhcpcd/src/.gitignore @@ -0,0 +1,5 @@ +*.o +version.h +dhcpcd +dhcpcd.8 +dhcpcd-*.bz2 diff --git a/workspace/customdhcpcd/src/README b/workspace/customdhcpcd/src/README new file mode 100644 index 0000000..9089ec6 --- /dev/null +++ b/workspace/customdhcpcd/src/README @@ -0,0 +1,45 @@ +dhcpcd-3 - DHCP client daemon +Copyright 2006-2008 Roy Marples + + +Installation +------------ +Edit config.h to match your building requirements. + +Take special note of ENABLE_DUID and unset it if the target media is +volatile, like say a LiveCD. + +Then just make; make install + +man dhcpcd for command line options + + +Notes +----- +If you're cross compiling you may need to send HAVE_FORK=yes or HAVE_FORK=no +to the make command to avoid to automatic test. + +We try and detect how to restart ntp and ypbind, you can override this with +HAVE_INIT=no or force one of these values +OPENRC (OpenRC as used by Gentoo (forked from baselayout)) +BSDRC (BSD RC system - /etc/rc.d/ntpd restart ) +SERVICE (RedHat service command - service ntpd restart) +SLACKRC (Slackware RC system - /etc/rc.d/rc.ntpd restart) +SYSV (SYSV style - /etc/init.d/ntpd restart) + +You can change the default dir where dhcpcd stores it's .info files with +INFODIR=/var/db + +We now default to using -std=c99. For 64-bit linux, this always works, but +for 32-bit linux it requires either gnu99 or a patch to asm/types.h. +Most distros patch linux headers so this should work fine. +linux-2.6.24 finally ships with a working 32-bit header. +If your linux headers are older, or your distro hasn't patched them you can +set CSTD=gnu99 to work around this. + + +ChangeLog +--------- +We no longer supply a ChangeLog. +However, you're more than welcome to read the git commit comments at +http://git.marples.name/?p=dhcpcd/.git;a=summary diff --git a/workspace/customdhcpcd/src/arp.c b/workspace/customdhcpcd/src/arp.c new file mode 100644 index 0000000..794850c --- /dev/null +++ b/workspace/customdhcpcd/src/arp.c @@ -0,0 +1,284 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#ifdef __linux__ +#include +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "arp.h" +#include "interface.h" +#include "logger.h" +#include "signal.h" +#include "socket.h" + +/* These are really for IPV4LL */ +#define NPROBES 3 +#define PROBE_INTERVAL 200 +#define NCLAIMS 2 +#define CLAIM_INTERVAL 200 + +/* Linux does not seem to define these handy macros */ +#ifndef ar_sha +#define ar_sha(ap) (((caddr_t) ((ap) + 1)) + 0) +#define ar_spa(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln) +#define ar_tha(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln + (ap)->ar_pln) +#define ar_tpa(ap) (((caddr_t) ((ap) + 1)) + 2 * (ap)->ar_hln + (ap)->ar_pln) +#endif + +#ifndef arphdr_len +#define arphdr_len2(ar_hln, ar_pln) (sizeof (struct arphdr) + \ + 2 * (ar_hln) + 2 * (ar_pln)) +#define arphdr_len(ap) (arphdr_len2 ((ap)->ar_hln, (ap)->ar_pln)) +#endif + +#ifdef ENABLE_ARP + +static int send_arp (const interface_t *iface, int op, struct in_addr sip, + const unsigned char *taddr, struct in_addr tip) +{ + struct arphdr *arp; + size_t arpsize = arphdr_len2 (iface->hwlen, sizeof (sip)); + caddr_t tha; + int retval; + + arp = xzalloc (arpsize); + arp->ar_hrd = htons (iface->family); + arp->ar_pro = htons (ETHERTYPE_IP); + arp->ar_hln = iface->hwlen; + arp->ar_pln = sizeof (sip); + arp->ar_op = htons (op); + memcpy (ar_sha (arp), iface->hwaddr, (size_t) arp->ar_hln); + memcpy (ar_spa (arp), &sip, (size_t) arp->ar_pln); + if (taddr) { + /* NetBSD can return NULL from ar_tha, which is probably wrong + * but we still need to deal with it */ + if (! (tha = ar_tha (arp))) { + free (arp); + errno = EINVAL; + return (-1); + } + memcpy (tha, taddr, (size_t) arp->ar_hln); + } + memcpy (ar_tpa (arp), &tip, (size_t) arp->ar_pln); + + retval = send_packet (iface, ETHERTYPE_ARP, + (unsigned char *) arp, arphdr_len (arp)); + free (arp); + return (retval); +} + +int arp_claim (interface_t *iface, struct in_addr address) +{ + struct arphdr *reply = NULL; + long timeout = 0; + unsigned char *buffer; + int retval = -1; + int nprobes = 0; + int nclaims = 0; + struct in_addr null_address; + struct pollfd fds[] = { + { -1, POLLIN, 0 }, + { -1, POLLIN, 0 } + }; + + if (! iface) + return (-1); + + if (! iface->arpable) { + logger (LOG_DEBUG, "interface `%s' is not ARPable", iface->name); + return (0); + } + + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && + ! IN_LINKLOCAL (ntohl (address.s_addr))) + logger (LOG_INFO, + "checking %s is available on attached networks", + inet_ntoa (address)); + + if (! open_socket (iface, ETHERTYPE_ARP)) + return (-1); + + fds[0].fd = signal_fd (); + fds[1].fd = iface->fd; + + memset (&null_address, 0, sizeof (null_address)); + + buffer = xmalloc (iface->buffer_length); + reply = xmalloc (iface->buffer_length); + + for (;;) { + size_t bufpos = 0; + size_t buflen = iface->buffer_length; + int bytes; + int s = 0; + struct timeval stopat; + struct timeval now; + + /* Only poll if we have a timeout */ + if (timeout > 0) { + s = poll (fds, 2, timeout); + if (s == -1) { + if (errno == EINTR) { + if (signal_exists (NULL) == -1) { + errno = 0; + continue; + } else + break; + } + + logger (LOG_ERR, "poll: `%s'", + strerror (errno)); + break; + } + } + + /* Timed out */ + if (s == 0) { + if (nprobes < NPROBES) { + nprobes ++; + timeout = PROBE_INTERVAL; + logger (LOG_DEBUG, "sending ARP probe #%d", + nprobes); + if (send_arp (iface, ARPOP_REQUEST, + null_address, NULL, + address) == -1) + break; + + /* IEEE1394 cannot set ARP target address + * according to RFC2734 */ + if (nprobes >= NPROBES && + iface->family == ARPHRD_IEEE1394) + nclaims = NCLAIMS; + } else if (nclaims < NCLAIMS) { + nclaims ++; + timeout = CLAIM_INTERVAL; + logger (LOG_DEBUG, "sending ARP claim #%d", + nclaims); + if (send_arp (iface, ARPOP_REQUEST, + address, iface->hwaddr, + address) == -1) + break; + } else { + /* No replies, so done */ + retval = 0; + break; + } + + /* Setup our stop time */ + if (get_time (&stopat) != 0) + break; + stopat.tv_usec += timeout; + + continue; + } + + /* We maybe ARP flooded, so check our time */ + if (get_time (&now) != 0) + break; + if (timercmp (&now, &stopat, >)) { + timeout = 0; + continue; + } + + if (! fds[1].revents & POLLIN) + continue; + + memset (buffer, 0, buflen); + do { + union { + unsigned char *c; + struct in_addr *a; + } rp; + union { + unsigned char *c; + struct ether_addr *a; + } rh; + + memset (reply, 0, iface->buffer_length); + if ((bytes = get_packet (iface, (unsigned char *) reply, + buffer, + &buflen, &bufpos)) == -1) + break; + + /* Only these types are recognised */ + if (reply->ar_op != htons (ARPOP_REPLY)) + continue; + + /* Protocol must be IP. */ + if (reply->ar_pro != htons (ETHERTYPE_IP)) + continue; + if (reply->ar_pln != sizeof (address)) + continue; + if ((unsigned) bytes < sizeof (reply) + + 2 * (4 + reply->ar_hln)) + continue; + + rp.c = (unsigned char *) ar_spa (reply); + rh.c = (unsigned char *) ar_sha (reply); + + /* Ensure the ARP reply is for the our address */ + if (rp.a->s_addr != address.s_addr) + continue; + + /* Some systems send a reply back from our hwaddress, + * which is wierd */ + if (reply->ar_hln == iface->hwlen && + memcmp (rh.c, iface->hwaddr, iface->hwlen) == 0) + continue; + + logger (LOG_ERR, "ARPOP_REPLY received from %s (%s)", + inet_ntoa (*rp.a), + hwaddr_ntoa (rh.c, (size_t) reply->ar_hln)); + retval = -1; + goto eexit; + } while (bufpos != 0); + } + +eexit: + close (iface->fd); + iface->fd = -1; + free (buffer); + free (reply); + return (retval); +} +#endif diff --git a/workspace/customdhcpcd/src/arp.h b/workspace/customdhcpcd/src/arp.h new file mode 100644 index 0000000..3b7e8ef --- /dev/null +++ b/workspace/customdhcpcd/src/arp.h @@ -0,0 +1,39 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef ARP_H +#define ARP_H + +#ifdef ENABLE_ARP +#include + +#include "interface.h" + +int arp_claim (interface_t *iface, struct in_addr address); +#endif + +#endif diff --git a/workspace/customdhcpcd/src/client.c b/workspace/customdhcpcd/src/client.c new file mode 100644 index 0000000..8ce2721 --- /dev/null +++ b/workspace/customdhcpcd/src/client.c @@ -0,0 +1,1136 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#ifdef __linux__ +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#ifdef ENABLE_ARP +# include "arp.h" +#endif +#include "client.h" +#include "configure.h" +#include "dhcp.h" +#include "dhcpcd.h" +#include "info.h" +#include "interface.h" +#ifdef ENABLE_IPV4LL +# include "ipv4ll.h" +#endif +#include "logger.h" +#include "signal.h" +#include "socket.h" + +#ifdef ENABLE_DUID +# include "duid.h" +#endif + +#ifdef ENABLE_INFO +# include "info.h" +#endif + +#ifdef THERE_IS_NO_FORK +# ifndef ENABLE_INFO + # error "Non MMU requires ENABLE_INFO to work" +# endif +#endif + +/* Some platforms don't define INFTIM */ +#ifndef INFTIM +# define INFTIM -1 +#endif + +/* This is out mini timeout. + * Basically we resend the last request every TIMEOUT_MINI seconds. */ +#define TIMEOUT_MINI 3 +/* Except for an infinite timeout. We keep adding TIMEOUT_MINI to + * ourself until TIMEOUT_MINI_INF is reached. */ +#define TIMEOUT_MINI_INF 60 + +#define STATE_INIT 0 +#define STATE_REQUESTING 1 +#define STATE_BOUND 2 +#define STATE_RENEWING 3 +#define STATE_REBINDING 4 +#define STATE_REBOOT 5 +#define STATE_RENEW_REQUESTED 6 +#define STATE_RELEASED 7 + +/* We should define a maximum for the NAK exponential backoff */ +#define NAKOFF_MAX 60 + +#define SOCKET_CLOSED 0 +#define SOCKET_OPEN 1 + +/* Indexes for pollfds */ +#define POLLFD_SIGNAL 0 +#define POLLFD_IFACE 1 + +typedef struct _state { + int *pidfd; + bool forked; + int state; + uint32_t xid; + dhcp_t *dhcp; + int socket; + interface_t *interface; + time_t start; + time_t last_sent; + time_t last_type; + long timeout; + time_t nakoff; + bool daemonised; + bool persistent; + unsigned char *buffer; + size_t buffer_len; + size_t buffer_pos; +} state_t; + +static pid_t daemonise (int *pidfd) +{ + pid_t pid; + sigset_t full; + sigset_t old; +#ifdef THERE_IS_NO_FORK + char **argv; + int i; +#endif + + sigfillset (&full); + sigprocmask (SIG_SETMASK, &full, &old); + +#ifndef THERE_IS_NO_FORK + logger (LOG_DEBUG, "forking to background"); + switch (pid = fork()) { + case -1: + logger (LOG_ERR, "fork: %s", strerror (errno)); + exit (EXIT_FAILURE); + /* NOT REACHED */ + case 0: + setsid (); + close_fds (); + break; + default: + /* Reset our signals as we're the parent about to exit. */ + signal_reset (); + break; + } +#else + logger (LOG_INFO, "forking to background"); + + /* We need to add --daemonise to our options */ + argv = xmalloc (sizeof (char *) * (dhcpcd_argc + 4)); + argv[0] = dhcpcd; + for (i = 1; i < dhcpcd_argc; i++) + argv[i] = dhcpcd_argv[i]; + argv[i] = (char *) "--daemonised"; + if (dhcpcd_skiproutes) { + argv[++i] = (char *) "--skiproutes"; + argv[++i] = dhcpcd_skiproutes; + } + argv[i + 1] = NULL; + + switch (pid = vfork ()) { + case -1: + logger (LOG_ERR, "vfork: %s", strerror (errno)); + _exit (EXIT_FAILURE); + case 0: + signal_reset (); + sigprocmask (SIG_SETMASK, &old, NULL); + execvp (dhcpcd, argv); + logger (LOG_ERR, "execl `%s': %s", dhcpcd, + strerror (errno)); + _exit (EXIT_FAILURE); + } + + free (argv); +#endif + + /* Done with the fd now */ + if (pid != 0) { + writepid (*pidfd, pid); + close (*pidfd); + *pidfd = -1; + + } + + sigprocmask (SIG_SETMASK, &old, NULL); + return (pid); +} + +#ifdef ENABLE_INFO +static bool get_old_lease (state_t *state, const options_t *options) +{ + interface_t *iface = state->interface; + dhcp_t *dhcp = state->dhcp; + struct timeval tv; + unsigned int offset = 0; + + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_INFO, "trying to use old lease in `%s'", + iface->infofile); + if (! read_info (iface, dhcp)) + return (false); + + /* Vitaly important we remove the server information here */ + memset (&dhcp->serveraddress, 0, sizeof (dhcp->serveraddress)); + memset (dhcp->servername, 0, sizeof (dhcp->servername)); + +#ifdef ENABLE_ARP + /* Check that no-one is using the address */ + if ((options->dolastlease || + (IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && + (! options->doipv4ll || + arp_claim (iface, dhcp->address))))) + { + memset (&dhcp->address, 0, sizeof (dhcp->address)); + memset (&dhcp->netmask, 0, sizeof (dhcp->netmask)); + memset (&dhcp->broadcast, 0, sizeof (dhcp->broadcast)); + return (false); + } + + /* Ok, lets use this */ + if (IN_LINKLOCAL (dhcp->address.s_addr)) + return (true); +#endif + + /* Ensure that we can still use the lease */ + if (gettimeofday (&tv, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (false); + } + + offset = tv.tv_sec - dhcp->leasedfrom; + if (dhcp->leasedfrom && + tv.tv_sec - dhcp->leasedfrom > dhcp->leasetime) + { + logger (LOG_ERR, "lease expired %u seconds ago", + offset + dhcp->leasetime); + return (false); + } + + if (dhcp->leasedfrom == 0) + offset = 0; + state->timeout = dhcp->renewaltime - offset; + iface->start_uptime = uptime (); + return (true); +} +#endif + +#ifdef THERE_IS_NO_FORK +static void remove_skiproutes (dhcp_t *dhcp, interface_t *iface) +{ + int i = -1; + route_t *route; + route_t *newroute; + + free_route (iface->previous_routes); + iface->previous_routes = NULL; + + NSTAILQ_FOREACH (route, dhcp->routes, entries) { + i++; + + /* Check that we did add this route or not */ + if (dhcpcd_skiproutes) { + char *sk = xstrdup (dhcpcd_skiproutes); + char *skp = sk; + char *token; + bool found = false; + + while ((token = strsep (&skp, ","))) { + if (isdigit (*token) && atoi (token) == i) { + found = true; + break; + } + } + free (sk); + if (found) + continue; + } + + if (! iface->previous_routes) { + iface->previous_routes = xmalloc (sizeof (*iface->previous_routes)); + STAILQ_INIT (iface->previous_routes); + } + + newroute = xmalloc (sizeof (*newroute)); + memcpy (newroute, route, sizeof (*newroute)); + STAILQ_INSERT_TAIL (iface->previous_routes, newroute, entries); + } + + /* We no longer need this argument */ + free (dhcpcd_skiproutes); + dhcpcd_skiproutes = NULL; +} +#endif + +static bool client_setup (state_t *state, const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + + state->state = STATE_INIT; + state->last_type = DHCP_DISCOVER; + state->nakoff = 1; + state->daemonised = options->daemonised; + state->persistent = options->persistent; + + if (options->request_address.s_addr == 0 && + (options->doinform || options->dorequest || options->daemonised)) + { +#ifdef ENABLE_INFO + if (! get_old_lease (state, options)) +#endif + { + free (dhcp); + return (false); + } + state->timeout = 0; + + if (! options->daemonised && + IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + { + logger (LOG_ERR, "cannot request a link local address"); + return (false); + } +#ifdef THERE_IS_NO_FORK + if (options->daemonised) { + state->state = STATE_BOUND; + state->timeout = dhcp->renewaltime; + iface->previous_address = dhcp->address; + iface->previous_netmask = dhcp->netmask; + remove_skiproutes (dhcp, iface); + } +#endif + + } else { + dhcp->address = options->request_address; + dhcp->netmask = options->request_netmask; + if (dhcp->netmask.s_addr == 0) + dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); + dhcp->broadcast.s_addr = dhcp->address.s_addr | + ~dhcp->netmask.s_addr; + } + + /* Remove all existing addresses. + * After all, we ARE a DHCP client whose job it is to configure the + * interface. We only do this on start, so persistent addresses + * can be added afterwards by the user if needed. */ + if (! options->test && ! options->daemonised) { + if (! options->doinform) { + flush_addresses (iface->name); + } else { + /* The inform address HAS to be configured for it to + * work with most DHCP servers */ + if (options->doinform && + has_address (iface->name, dhcp->address) < 1) + { + add_address (iface->name, dhcp->address, + dhcp->netmask, dhcp->broadcast); + iface->previous_address = dhcp->address; + iface->previous_netmask = dhcp->netmask; + } + } + } + + if (*options->clientid) { + /* Attempt to see if the ClientID is a hardware address */ + iface->clientid_len = hwaddr_aton (NULL, options->clientid); + if (iface->clientid_len) { + iface->clientid = xmalloc (iface->clientid_len); + hwaddr_aton (iface->clientid, options->clientid); + } else { + /* Nope, so mark it as-is */ + iface->clientid_len = strlen (options->clientid) + 1; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = '\0'; + memcpy (iface->clientid + 1, + options->clientid, iface->clientid_len - 1); + } + } else { +#ifdef ENABLE_DUID + unsigned char *duid = NULL; + size_t duid_len = 0; + + if (options->doduid) { + duid = xmalloc (DUID_LEN); + duid_len = get_duid (duid, iface); + } + + if (duid_len > 0) { + logger (LOG_INFO, "DUID = %s", hwaddr_ntoa (duid, duid_len)); + + iface->clientid_len = duid_len + 5; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = 255; /* RFC 4361 */ + + /* IAID is 4 bytes, so if the iface name is 4 bytes use it */ + if (strlen (iface->name) == 4) { + memcpy (iface->clientid + 1, iface->name, 4); + } else { + /* Name isn't 4 bytes, so use the index */ + uint32_t ul = htonl (if_nametoindex (iface->name)); + memcpy (iface->clientid + 1, &ul, 4); + } + + memcpy (iface->clientid + 5, duid, duid_len); + free (duid); + } else { +#else + { +#endif + iface->clientid_len = iface->hwlen + 1; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = iface->family; + memcpy (iface->clientid + 1, iface->hwaddr, iface->hwlen); + } + } + + return (true); +} + +static bool do_socket (state_t *state, int mode) +{ + if (state->interface->fd >= 0) + close (state->interface->fd); +#ifdef __linux + if (mode == SOCKET_CLOSED && state->interface->listen_fd >= 0) { + close (state->interface->listen_fd); + state->interface->listen_fd = -1; + } +#endif + + state->interface->fd = -1; + if (mode == SOCKET_OPEN) + if (open_socket (state->interface, ETHERTYPE_IP) == -1) + return (false); + state->socket = mode; + return (true); +} + +static bool _send_message (state_t *state, int type, const options_t *options) +{ + ssize_t retval; + + state->last_type = type; + state->last_sent = uptime (); + retval = send_message (state->interface, state->dhcp, state->xid, + type, options); + return (retval == -1 ? false : true); +} + +static void drop_config (state_t *state, const options_t *options) +{ + if (! state->persistent) + configure (options, state->interface, state->dhcp, false); + + free_dhcp (state->dhcp); + memset (state->dhcp, 0, sizeof (*state->dhcp)); +} + +static int wait_for_packet (struct pollfd *fds, state_t *state, + const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + int timeout = 0; + int retval = 0; + + if (! (state->timeout > 0 || + (options->timeout == 0 && + (state->state != STATE_INIT || state->xid)))) { + /* We need to zero our signal fd, otherwise we will block + * trying to read a signal. */ + fds[POLLFD_SIGNAL].revents = 0; + return (0); + } + + fds[POLLFD_IFACE].fd = iface->fd; + + if ((options->timeout == 0 && state->xid) || + (dhcp->leasetime == (unsigned) -1 && + state->state == STATE_BOUND)) + { + logger (LOG_DEBUG, "waiting for infinity"); + while (retval == 0) { + if (iface->fd == -1) + retval = poll (fds, 1, INFTIM); + else { + /* Slow down our requests */ + if (timeout < TIMEOUT_MINI_INF) + timeout += TIMEOUT_MINI; + else if (timeout > TIMEOUT_MINI_INF) + timeout = TIMEOUT_MINI_INF; + + retval = poll (fds, 2, timeout * 1000); + if (retval == -1 && errno == EINTR) { + /* If interupted, continue as normal as + * the signal will be delivered down + * the pipe */ + retval = 0; + continue; + } + if (retval == 0) + _send_message (state, state->last_type, + options); + } + } + + return (retval); + } + + /* Resend our message if we're getting loads of packets. + * As we use BPF or LPF, we shouldn't hit this as much, but it's + * still nice to have. */ + if (iface->fd > -1 && uptime () - state->last_sent >= TIMEOUT_MINI) + _send_message (state, state->last_type, options); + + logger (LOG_DEBUG, "waiting for %ld seconds", + (unsigned long) state->timeout); + /* If we're waiting for a reply, then we re-send the last + * DHCP request periodically in-case of a bad line */ + retval = 0; + while (state->timeout > 0 && retval == 0) { + if (iface->fd == -1) + timeout = (int) state->timeout; + else { + timeout = TIMEOUT_MINI; + if (state->timeout < timeout) + timeout = (int) state->timeout; + } + timeout *= 1000; + state->start = uptime (); + retval = poll (fds, iface->fd == -1 ? 1 : 2, timeout); + state->timeout -= uptime () - state->start; + if (retval == -1 && errno == EINTR) { + /* If interupted, continue as normal as the signal + * will be delivered down the pipe */ + retval = 0; + continue; + } + if (retval == 0 && iface->fd != -1 && state->timeout > 0) + _send_message (state, state->last_type, options); + } + + return (retval); +} + +static bool handle_signal (int sig, state_t *state, const options_t *options) +{ + switch (sig) { + case SIGINT: + logger (LOG_INFO, "received SIGINT, stopping"); + return (false); + case SIGTERM: + logger (LOG_INFO, "received SIGTERM, stopping"); + return (false); + + case SIGALRM: + logger (LOG_INFO, "received SIGALRM, renewing lease"); + switch (state->state) { + case STATE_BOUND: + case STATE_RENEWING: + case STATE_REBINDING: + state->state = STATE_RENEW_REQUESTED; + break; + case STATE_RENEW_REQUESTED: + case STATE_REQUESTING: + case STATE_RELEASED: + state->state = STATE_INIT; + break; + } + state->timeout = 0; + state->xid = 0; + return (true); + + case SIGHUP: + if (state->state != STATE_BOUND && + state->state != STATE_RENEWING && + state->state != STATE_REBINDING) + { + logger (LOG_ERR, + "received SIGHUP, but we no have lease to release"); + return (false); + } + + logger (LOG_INFO, "received SIGHUP, releasing lease"); + if (! IN_LINKLOCAL (ntohl (state->dhcp->address.s_addr))) { + do_socket (state, SOCKET_OPEN); + state->xid = (uint32_t) random (); + if ((open_socket (state->interface, false)) >= 0) + _send_message (state, DHCP_RELEASE, options); + do_socket (state, SOCKET_CLOSED); + } + unlink (state->interface->infofile); + return (false); + + default: + logger (LOG_ERR, + "received signal %d, but don't know what to do with it", + sig); + } + + return (false); +} + +static int handle_timeout (state_t *state, const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + + /* No NAK, so reset the backoff */ + state->nakoff = 1; + + if (state->state == STATE_INIT && state->xid != 0) { + if (iface->previous_address.s_addr != 0 && + ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && + ! options->doinform) + { + logger (LOG_ERR, "lost lease"); + if (! options->persistent) + drop_config (state, options); + } else if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_ERR, "timed out"); + + do_socket (state, SOCKET_CLOSED); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + +#ifdef ENABLE_INFO + if (! options->test && + (options->doipv4ll || options->dolastlease)) + { + errno = 0; + if (! get_old_lease (state, options)) + { + if (errno == EINTR) + return (0); + if (options->dolastlease) + return (-1); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + } else if (errno == EINTR) + return (0); + } +#endif + +#ifdef ENABLE_IPV4LL + if (! options->test && options->doipv4ll && + (! dhcp->address.s_addr || + (! IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && + ! options->dolastlease))) + { + logger (LOG_INFO, "probing for an IPV4LL address"); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + if (ipv4ll_get_address (iface, dhcp) == -1) { + if (! state->daemonised) + return (-1); + + /* start over */ + state->xid = 0; + return (0); + } + state->timeout = dhcp->renewaltime; + } +#endif + +#if defined (ENABLE_INFO) || defined (ENABLE_IPV4LL) + if (dhcp->address.s_addr) { + if (! state->daemonised && + IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + logger (LOG_WARNING, "using IPV4LL address %s", + inet_ntoa (dhcp->address)); + if (configure (options, iface, dhcp, true) == -1 && + ! state->daemonised) + return (-1); + + state->state = STATE_BOUND; + if (! state->daemonised && options->daemonise) { + switch (daemonise (state->pidfd)) { + case -1: + return (-1); + case 0: + state->daemonised = true; + return (0); + default: + state->persistent = true; + state->forked = true; + return (-1); + } + } + + state->timeout = dhcp->renewaltime; + state->xid = 0; + return (0); + } +#endif + + if (! state->daemonised) + return (-1); + } + + switch (state->state) { + case STATE_INIT: + state->xid = (uint32_t) random (); + do_socket (state, SOCKET_OPEN); + state->timeout = options->timeout; + iface->start_uptime = uptime (); + if (dhcp->address.s_addr == 0) { + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_INFO, "broadcasting for a lease"); + _send_message (state, DHCP_DISCOVER, options); + } else if (options->doinform) { + logger (LOG_INFO, "broadcasting inform for %s", + inet_ntoa (dhcp->address)); + _send_message (state, DHCP_INFORM, options); + state->state = STATE_REQUESTING; + } else { + logger (LOG_INFO, "broadcasting for a lease of %s", + inet_ntoa (dhcp->address)); + _send_message (state, DHCP_REQUEST, options); + state->state = STATE_REQUESTING; + } + + break; + case STATE_BOUND: + case STATE_RENEW_REQUESTED: + if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) { + memset (&dhcp->address, 0, sizeof (dhcp->address)); + state->state = STATE_INIT; + state->xid = 0; + break; + } + state->state = STATE_RENEWING; + state->xid = (uint32_t) random (); + /* FALLTHROUGH */ + case STATE_RENEWING: + iface->start_uptime = uptime (); + logger (LOG_INFO, "renewing lease of %s", inet_ntoa + (dhcp->address)); + do_socket (state, SOCKET_OPEN); + _send_message (state, DHCP_REQUEST, options); + state->timeout = dhcp->rebindtime - dhcp->renewaltime; + state->state = STATE_REBINDING; + break; + case STATE_REBINDING: + logger (LOG_ERR, "lost lease, attemping to rebind"); + memset (&dhcp->address, 0, sizeof (dhcp->address)); + do_socket (state, SOCKET_OPEN); + if (state->xid == 0) + state->xid = (uint32_t) random (); + dhcp->serveraddress.s_addr = 0; + _send_message (state, DHCP_REQUEST, options); + state->timeout = dhcp->leasetime - dhcp->rebindtime; + state->state = STATE_REQUESTING; + break; + case STATE_REQUESTING: + state->state = STATE_INIT; + do_socket (state, SOCKET_CLOSED); + state->timeout = 0; + break; + + case STATE_RELEASED: + dhcp->leasetime = 0; + break; + } + + return (0); +} + + +static int handle_dhcp (state_t *state, int type, const options_t *options) +{ + struct timespec ts; + interface_t *iface = state->interface; + dhcp_t *dhcp = state->dhcp; + + /* We should restart on a NAK */ + if (type == DHCP_NAK) { + logger (LOG_INFO, "received NAK: %s", dhcp->message); + state->state = STATE_INIT; + state->timeout = 0; + state->xid = 0; + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + + /* If we constantly get NAKS then we should slowly back off */ + if (state->nakoff > 0) { + logger (LOG_DEBUG, "sleeping for %ld seconds", + (long) state->nakoff); + ts.tv_sec = state->nakoff; + ts.tv_nsec = 0; + state->nakoff *= 2; + if (state->nakoff > NAKOFF_MAX) + state->nakoff = NAKOFF_MAX; + nanosleep (&ts, NULL); + } + + return (0); + } + + /* No NAK, so reset the backoff */ + state->nakoff = 1; + + if (type == DHCP_OFFER && state->state == STATE_INIT) { + char *addr = strdup (inet_ntoa (dhcp->address)); + if (dhcp->servername[0]) + logger (LOG_INFO, "offered %s from %s `%s'", + addr, inet_ntoa (dhcp->serveraddress), + dhcp->servername); + else + logger (LOG_INFO, "offered %s from %s", + addr, inet_ntoa (dhcp->serveraddress)); + free (addr); + +#ifdef ENABLE_INFO + if (options->test) { + write_info (iface, dhcp, options, false); + errno = 0; + return (-1); + } +#endif + + _send_message (state, DHCP_REQUEST, options); + state->state = STATE_REQUESTING; + + return (0); + } + + if (type == DHCP_OFFER) { + logger (LOG_INFO, "got subsequent offer of %s, ignoring ", + inet_ntoa (dhcp->address)); + return (0); + } + + /* We should only be dealing with acks */ + if (type != DHCP_ACK) { + logger (LOG_ERR, "%d not an ACK or OFFER", type); + return (0); + } + + switch (state->state) { + case STATE_RENEW_REQUESTED: + case STATE_REQUESTING: + case STATE_RENEWING: + case STATE_REBINDING: + break; + default: + logger (LOG_ERR, "wrong state %d", state->state); + } + + do_socket (state, SOCKET_CLOSED); + +#ifdef ENABLE_ARP + if (options->doarp && iface->previous_address.s_addr != + dhcp->address.s_addr) + { + errno = 0; + if (arp_claim (iface, dhcp->address)) { + do_socket (state, SOCKET_OPEN); + _send_message (state, DHCP_DECLINE, options); + do_socket (state, SOCKET_CLOSED); + + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + state->xid = 0; + state->timeout = 0; + state->state = STATE_INIT; + + /* RFC 2131 says that we should wait for 10 seconds + * before doing anything else */ + logger (LOG_INFO, "sleeping for 10 seconds"); + ts.tv_sec = 10; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (0); + } else if (errno == EINTR) + return (0); + } +#endif + + if (options->doinform) { + if (options->request_address.s_addr != 0) + dhcp->address = options->request_address; + else + dhcp->address = iface->previous_address; + + logger (LOG_INFO, "received approval for %s", + inet_ntoa (dhcp->address)); + if (iface->previous_netmask.s_addr != dhcp->netmask.s_addr) { + add_address (iface->name, dhcp->address, + dhcp->netmask, dhcp->broadcast); + iface->previous_netmask.s_addr = dhcp->netmask.s_addr; + } + state->timeout = options->leasetime; + if (state->timeout == 0) + state->timeout = DEFAULT_LEASETIME; + state->state = STATE_INIT; + } else if (dhcp->leasetime == (unsigned) -1) { + dhcp->renewaltime = dhcp->rebindtime = dhcp->leasetime; + state->timeout = 1; /* So we wait for infinity */ + logger (LOG_INFO, "leased %s for infinity", + inet_ntoa (dhcp->address)); + state->state = STATE_BOUND; + } else { + if (! dhcp->leasetime) { + dhcp->leasetime = DEFAULT_LEASETIME; + logger(LOG_INFO, + "no lease time supplied, assuming %d seconds", + dhcp->leasetime); + } + logger (LOG_INFO, "leased %s for %u seconds", + inet_ntoa (dhcp->address), dhcp->leasetime); + + if (dhcp->rebindtime >= dhcp->leasetime) { + dhcp->rebindtime = (dhcp->leasetime * 0.875); + logger (LOG_ERR, + "rebind time greater than lease " + "time, forcing to %u seconds", + dhcp->rebindtime); + } + + if (dhcp->renewaltime > dhcp->rebindtime) { + dhcp->renewaltime = (dhcp->leasetime * 0.5); + logger (LOG_ERR, + "renewal time greater than rebind time, " + "forcing to %u seconds", + dhcp->renewaltime); + } + + if (! dhcp->renewaltime) { + dhcp->renewaltime = (dhcp->leasetime * 0.5); + logger (LOG_INFO, + "no renewal time supplied, assuming %d seconds", + dhcp->renewaltime); + } else + logger (LOG_DEBUG, "renew in %u seconds", + dhcp->renewaltime); + + if (! dhcp->rebindtime) { + dhcp->rebindtime = (dhcp->leasetime * 0.875); + logger (LOG_INFO, + "no rebind time supplied, assuming %d seconds", + dhcp->rebindtime); + } else + logger (LOG_DEBUG, "rebind in %u seconds", + dhcp->rebindtime); + + state->timeout = dhcp->renewaltime; + state->state = STATE_BOUND; + } + + state->xid = 0; + + if (configure (options, iface, dhcp, true) == -1 && + ! state->daemonised) + return (-1); + + if (! state->daemonised && options->daemonise) { + switch (daemonise (state->pidfd)) { + case 0: + state->daemonised = true; + return (0); + case -1: + return (-1); + default: + state->persistent = true; + state->forked = true; + return (-1); + } + } + + return (0); +} + +static int handle_packet (state_t *state, const options_t *options) +{ + interface_t *iface = state->interface; + bool valid = false; + int type; + struct dhcp_t *new_dhcp; + dhcpmessage_t message; + + /* Allocate our buffer space for BPF. + * We cannot do this until we have opened our socket as we don't + * know how much of a buffer we need until then. */ + if (! state->buffer) + state->buffer = xmalloc (iface->buffer_length); + state->buffer_len = iface->buffer_length; + state->buffer_pos = 0; + + /* We loop through until our buffer is empty. + * The benefit is that if we get >1 DHCP packet in our buffer and + * the first one fails for any reason, we can use the next. */ + + memset (&message, 0, sizeof (message)); + new_dhcp = xmalloc (sizeof (*new_dhcp)); + + do { + if (get_packet (iface, (unsigned char *) &message, + state->buffer, + &state->buffer_len, &state->buffer_pos) == -1) + break; + + if (state->xid != message.xid) { + logger (LOG_DEBUG, + "ignoring packet with xid 0x%x as it's not ours (0x%x)", + message.xid, state->xid); + continue; + } + + logger (LOG_DEBUG, "got a packet with xid 0x%x", message.xid); + memset (new_dhcp, 0, sizeof (*new_dhcp)); + type = parse_dhcpmessage (new_dhcp, &message); + if (type == -1) { + logger (LOG_ERR, "failed to parse packet"); + free_dhcp (new_dhcp); + /* We don't abort on this, so return zero */ + return (0); + } + + /* If we got here then the DHCP packet is valid and appears to + * be for us, so let's clear the buffer as we don't care about + * any more DHCP packets at this point. */ + valid = true; + break; + } while (state->buffer_pos != 0); + + /* No packets for us, so wait until we get one */ + if (! valid) { + free (new_dhcp); + return (0); + } + + /* new_dhcp is now our master DHCP message */ + free_dhcp (state->dhcp); + free (state->dhcp); + state->dhcp = new_dhcp; + new_dhcp = NULL; + + return (handle_dhcp (state, type, options)); +} + +int dhcp_run (const options_t *options, int *pidfd) +{ + interface_t *iface; + state_t *state = NULL; + struct pollfd fds[] = { + { -1, POLLIN, 0 }, + { -1, POLLIN, 0 } + }; + int retval = -1; + int sig; + + if (! options) + return (-1); + + iface = read_interface (options->interface, options->metric); + if (! iface) + goto eexit; + + state = xzalloc (sizeof (*state)); + state->dhcp = xzalloc (sizeof (*state->dhcp)); + state->pidfd = pidfd; + state->interface = iface; + + if (! client_setup (state, options)) + goto eexit; + + if (signal_init () == -1) + goto eexit; + if (signal_setup () == -1) + goto eexit; + + fds[POLLFD_SIGNAL].fd = signal_fd (); + + for (;;) { + retval = wait_for_packet (fds, state, options); + + /* We should always handle our signals first */ + if ((sig = (signal_read (&fds[POLLFD_SIGNAL]))) != -1) { + if (handle_signal (sig, state, options)) + retval = 0; + else + retval = -1; + } else if (retval == 0) + retval = handle_timeout (state, options); + else if (retval > 0 && + state->socket != SOCKET_CLOSED && + fds[POLLFD_IFACE].revents & POLLIN) + retval = handle_packet (state, options); + else if (retval == -1 && errno == EINTR) { + /* The interupt will be handled above */ + retval = 0; + } else { + logger (LOG_ERR, "poll: %s", strerror (errno)); + retval = -1; + } + + if (retval != 0) + break; + } + +eexit: + if (iface) { + do_socket (state, SOCKET_CLOSED); + drop_config (state, options); + free_route (iface->previous_routes); + free (iface->clientid); + free (iface); + } + + if (state) { + if (state->forked) + retval = 0; + + if (state->daemonised) + unlink (options->pidfile); + + free_dhcp (state->dhcp); + free (state->dhcp); + free (state->buffer); + free (state); + } + + return (retval); +} diff --git a/workspace/customdhcpcd/src/client.h b/workspace/customdhcpcd/src/client.h new file mode 100644 index 0000000..fa6ea9b --- /dev/null +++ b/workspace/customdhcpcd/src/client.h @@ -0,0 +1,35 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CLIENT_H +#define CLIENT_H + +#include "dhcpcd.h" + +int dhcp_run (const options_t *options, int *pidfd); + +#endif diff --git a/workspace/customdhcpcd/src/common.c b/workspace/customdhcpcd/src/common.c new file mode 100644 index 0000000..99471bc --- /dev/null +++ b/workspace/customdhcpcd/src/common.c @@ -0,0 +1,249 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" + +/* Handy routine to read very long lines in text files. + * This means we read the whole line and avoid any nasty buffer overflows. */ +char *get_line (FILE *fp) +{ + char *line = NULL; + char *p; + size_t len = 0; + size_t last = 0; + + if (feof (fp)) + return (NULL); + + do { + len += BUFSIZ; + line = xrealloc (line, sizeof (char) * len); + p = line + last; + memset (p, 0, BUFSIZ); + fgets (p, BUFSIZ, fp); + last += strlen (p); + } while (! feof (fp) && line[last - 1] != '\n'); + + /* Trim the trailing newline */ + if (*line && line[--last] == '\n') + line[last] = '\0'; + + return (line); +} + +/* OK, this should be in dhcpcd.c + * It's here to make dhcpcd more readable */ +#ifndef HAVE_SRANDOMDEV +void srandomdev (void) +{ + int fd; + unsigned long seed; + + fd = open ("/dev/urandom", 0); + if (fd == -1 || read (fd, &seed, sizeof (seed)) == -1) { + logger (LOG_WARNING, "Could not read from /dev/urandom: %s", + strerror (errno)); + seed = time (0); + } + if (fd >= 0) + close(fd); + + srandom (seed); +} +#endif + +/* strlcpy is nice, shame glibc does not define it */ +#ifndef HAVE_STRLCPY +size_t strlcpy (char *dst, const char *src, size_t size) +{ + const char *s = src; + size_t n = size; + + if (n && --n) + do { + if (! (*dst++ = *src++)) + break; + } while (--n); + + if (! n) { + if (size) + *dst = '\0'; + while (*src++); + } + + return (src - s - 1); +} +#endif + +/* Close our fd's */ +int close_fds (void) +{ + int fd; + + if ((fd = open ("/dev/null", O_RDWR)) == -1) { + logger (LOG_ERR, "open `/dev/null': %s", strerror (errno)); + return (-1); + } + + dup2 (fd, fileno (stdin)); + dup2 (fd, fileno (stdout)); + dup2 (fd, fileno (stderr)); + if (fd > 2) + close (fd); + return (0); +} + +int close_on_exec (int fd) +{ + int flags; + + if ((flags = fcntl (fd, F_GETFD, 0)) == -1 + || fcntl (fd, F_SETFD, flags | FD_CLOEXEC) == -1) + { + logger (LOG_ERR, "fcntl: %s", strerror (errno)); + return (-1); + } + return (0); +} + +/* Handy function to get the time. + * We only care about time advancements, not the actual time itself + * Which is why we use CLOCK_MONOTONIC, but it is not available on all + * platforms. + */ +int get_time (struct timeval *tp) +{ +#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC) + struct timespec ts; + static clockid_t posix_clock; + static int posix_clock_set = 0; + + if (! posix_clock_set) { + if (sysconf (_SC_MONOTONIC_CLOCK) >= 0) + posix_clock = CLOCK_MONOTONIC; + else + posix_clock = CLOCK_REALTIME; + posix_clock_set = 1; + } + + if (clock_gettime (posix_clock, &ts) == -1) { + logger (LOG_ERR, "clock_gettime: %s", strerror (errno)); + return (-1); + } + + tp->tv_sec = ts.tv_sec; + tp->tv_usec = ts.tv_nsec / 1000; + return (0); +#else + if (gettimeofday (tp, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (-1); + } + return (0); +#endif +} + +time_t uptime (void) +{ + struct timeval tp; + + if (get_time (&tp) == -1) + return (-1); + + return (tp.tv_sec); +} + +void writepid (int fd, pid_t pid) +{ + char spid[16]; + if (ftruncate (fd, (off_t) 0) == -1) { + logger (LOG_ERR, "ftruncate: %s", strerror (errno)); + } else { + ssize_t len; + snprintf (spid, sizeof (spid), "%u", pid); + len = pwrite (fd, spid, strlen (spid), (off_t) 0); + if (len != (ssize_t) strlen (spid)) + logger (LOG_ERR, "pwrite: %s", strerror (errno)); + } +} + +void *xmalloc (size_t s) +{ + void *value = malloc (s); + + if (value) + return (value); + + logger (LOG_ERR, "memory exhausted"); + + exit (EXIT_FAILURE); + /* NOTREACHED */ +} + +void *xzalloc (size_t s) +{ + void *value = xmalloc (s); + memset (value, 0, s); + return (value); +} + +void *xrealloc (void *ptr, size_t s) +{ + void *value = realloc (ptr, s); + + if (value) + return (value); + + logger (LOG_ERR, "memory exhausted"); + exit (EXIT_FAILURE); + /* NOTREACHED */ +} + +char *xstrdup (const char *str) +{ + char *value; + + if (! str) + return (NULL); + + if ((value = strdup (str))) + return (value); + + logger (LOG_ERR, "memory exhausted"); + exit (EXIT_FAILURE); + /* NOTREACHED */ +} diff --git a/workspace/customdhcpcd/src/common.h b/workspace/customdhcpcd/src/common.h new file mode 100644 index 0000000..46f1886 --- /dev/null +++ b/workspace/customdhcpcd/src/common.h @@ -0,0 +1,68 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef COMMON_H +#define COMMON_H + +/* string.h pulls in features.h so the below define checks work */ +#include +#include +#include + +#if __GNUC__ > 2 || defined(__INTEL_COMPILER) +# define _unused __attribute__((__unused__)) +#else +# define _unused +#endif + +#define HAVE_STRLCPY +/* Only GLIBC doesn't support strlcpy */ +#ifdef __GLIBC__ +# if ! defined(__UCLIBC__) && ! defined (__dietlibc__) +# undef HAVE_STRLCPY +size_t strlcpy (char *dst, const char *src, size_t size); +# endif +#endif + +#define HAVE_SRANDOMDEV +#if defined(__GLIBC__) || defined(__NetBSD__) +# undef HAVE_SRANDOMDEV +void srandomdev (void); +#endif + +int close_fds (void); +int close_on_exec (int fd); +char *get_line (FILE *fp); +int get_time (struct timeval *tp); +time_t uptime (void); +void writepid (int fd, pid_t pid); +void *xrealloc (void *ptr, size_t size); +void *xmalloc (size_t size); +void *xzalloc (size_t size); +char *xstrdup (const char *str); + +#endif diff --git a/workspace/customdhcpcd/src/config.h b/workspace/customdhcpcd/src/config.h new file mode 100644 index 0000000..2c0991b --- /dev/null +++ b/workspace/customdhcpcd/src/config.h @@ -0,0 +1,133 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CONFIG_H +#define CONFIG_H + +/* You can enable/disable various chunks of optional code here. + * You would only do this to try and shrink the end binary if dhcpcd + * was running on a low memory device */ + +#define ENABLE_ARP +#define ENABLE_NTP +#define ENABLE_NIS +#define ENABLE_INFO +/* Define this to enable some compatability with 1.x and 2.x info files */ +/* #define ENABLE_INFO_COMPAT */ + +/* IPV4LL, aka ZeroConf, aka APIPA, aka RFC 3927. + * Needs ARP. */ +#define ENABLE_IPV4LL + +/* We will auto create a DUID_LLT file if it doesn't exist. + * You can always create your own DUID file that just contains the + * hex string that represents the DUID. + * See RFC 3315 for details on this. */ +#define ENABLE_DUID + +/* resolvconf is framework for multiple interfaces to manage resolv.conf */ +#define ENABLE_RESOLVCONF + +/* Some systems do not have a working fork. + * The Makefile will attempt to work it out, but if it fails to feel free to + * define it here. */ +/* #define THERE_IS_NO_FORK */ + +/* Packname name and pathname definitions. */ + +#define PACKAGE "dhcpcd" + +#define ETCDIR "/etc" +#define RESOLVFILE ETCDIR "/resolv.conf" + +#define NISFILE ETCDIR "/yp.conf" + +#define NTPFILE ETCDIR "/ntp.conf" +#define NTPDRIFTFILE ETCDIR "/ntp.drift" +#define NTPLOGFILE "/var/log/ntp.log" + +#define OPENNTPFILE ETCDIR "/ntpd.conf" + +#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh" + +#define STATEDIR "/var" +#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid" + +#ifndef INFODIR +# define INFODIR "/var/lib/dhcpcd" +#endif +#define INFOFILE INFODIR "/" PACKAGE "-%s.info" +#define DUIDFILE INFODIR "/" PACKAGE ".duid" + +/* OPENRC is Open Run Control, forked from Gentoo's baselayout package + * BSDRC is BSD style Run Control + * SLACKRC is Slackware Run Control + * SERVICE is RedHat service command + * SYSV should cover everthing else */ +#ifdef ENABLE_OPENRC +# define SERVICE "OPENRC" +# define NISSERVICE ETCDIR "/init.d/ypbind" +# define NISRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" +# define NTPSERVICE ETCDIR "/init.d/ntpd" +# define NTPRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" +#endif +#if ENABLE_BSDRC +# define SERVICE "BSDRC" +# define NISSERVICE ETCDIR "/rc.d/ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/rc.d/ntpd" +# define NTPRESTARTARGS "restart" +#endif +#if ENABLE_SLACKRC +# define SERVICE "SLACKRC" +# define NISSERVICE ETCDIR "/rc.d/rc.ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/rc.d/rc.ntpd" +# define NTPRESTARTARGS "restart" +#endif +#if ENABLE_SERVICE +# define SERVICE "SERVICE" +# define NISSERVICE "service" +# define NISRESTARTARGS "ypbind", "restart" +# define NTPSERVICE "service" +# define NTPRESTARTARGS "ntpd", "restart" +#endif +#if ENABLE_SYSV +# define SERVICE "SYSV" +# define NISSERVICE ETCDIR "/init.d/ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/init.d/ntpd" +# define NTPRESTARTARGS "restart" +#endif + +#ifndef NISSERVICE +# undef ENABLE_NIS +#endif +#ifndef NTPSERVICE +# undef ENABLE_NTP +#endif + +#endif diff --git a/workspace/customdhcpcd/src/configure.c b/workspace/customdhcpcd/src/configure.c new file mode 100644 index 0000000..0969f73 --- /dev/null +++ b/workspace/customdhcpcd/src/configure.c @@ -0,0 +1,809 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include + +#include +#ifdef __linux__ +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "configure.h" +#include "dhcp.h" +#ifdef ENABLE_INFO +# include "info.h" +#endif +#include "interface.h" +#include "dhcpcd.h" +#include "logger.h" +#include "signal.h" +#include "socket.h" + +static int file_in_path (const char *file) +{ + char *p = getenv ("PATH"); + char *path; + char *token; + struct stat s; + char mypath[PATH_MAX]; + int retval = -1; + + if (! p) { + errno = ENOENT; + return (-1); + } + + path = strdup (p); + p = path; + while ((token = strsep (&p, ":"))) { + snprintf (mypath, PATH_MAX, "%s/%s", token, file); + if (stat (mypath, &s) == 0) { + retval = 0; + break; + } + } + free (path); + return (retval); +} + +/* IMPORTANT: Ensure that the last parameter is NULL when calling */ +static int exec_cmd (const char *cmd, const char *args, ...) +{ + va_list va; + char **argv; + int n = 1; + int ret = 0; + pid_t pid; + sigset_t full; + sigset_t old; + + va_start (va, args); + while (va_arg (va, char *) != NULL) + n++; + va_end (va); + argv = xmalloc (sizeof (char *) * (n + 2)); + + va_start (va, args); + n = 2; + argv[0] = (char *) cmd; + argv[1] = (char *) args; + while ((argv[n] = va_arg (va, char *)) != NULL) + n++; + va_end (va); + + /* OK, we need to block signals */ + sigfillset (&full); + sigprocmask (SIG_SETMASK, &full, &old); + +#ifdef THERE_IS_NO_FORK + signal_reset (); + pid = vfork (); +#else + pid = fork(); +#endif + + switch (pid) { + case -1: + logger (LOG_ERR, "vfork: %s", strerror (errno)); + ret = -1; + break; + case 0: +#ifndef THERE_IS_NO_FORK + signal_reset (); +#endif + sigprocmask (SIG_SETMASK, &old, NULL); + if (execvp (cmd, argv) && errno != ENOENT) + logger (LOG_ERR, "error executing \"%s\": %s", + cmd, strerror (errno)); + _exit (111); + /* NOTREACHED */ + } + +#ifdef THERE_IS_NO_FORK + signal_setup (); +#endif + + /* Restore our signals */ + sigprocmask (SIG_SETMASK, &old, NULL); + + free (argv); + return (ret); +} + +static void exec_script (const char *script, const char *infofile, + const char *arg) +{ + struct stat buf; + + if (! script || ! infofile || ! arg) + return; + + if (stat (script, &buf) == -1) { + if (strcmp (script, DEFAULT_SCRIPT) != 0) + logger (LOG_ERR, "`%s': %s", script, strerror (ENOENT)); + return; + } + +#ifdef ENABLE_INFO + logger (LOG_DEBUG, "exec \"%s\" \"%s\" \"%s\"", script, infofile, arg); + exec_cmd (script, infofile, arg, (char *) NULL); +#else + logger (LOG_DEBUG, "exec \"%s\" \"\" \"%s\"", script, arg); + exec_cmd (script, "", arg, (char *) NULL); +#endif +} + +static int make_resolv (const char *ifname, const dhcp_t *dhcp) +{ + FILE *f = NULL; + address_t *address; + +#ifdef ENABLE_RESOLVCONF + char *resolvconf = NULL; + + if (file_in_path ("resolvconf") == 0) { + size_t len = strlen ("resolvconf -a ") + strlen (ifname) + 1; + resolvconf = xmalloc (sizeof (char) * len); + snprintf (resolvconf, len, "resolvconf -a %s", ifname); + if ((f = popen (resolvconf , "w"))) + logger (LOG_DEBUG, + "sending DNS information to resolvconf"); + else if (errno == EEXIST) + logger (LOG_ERR, "popen: %s", strerror (errno)); + + if (ferror (f)) + logger (LOG_ERR, "ferror"); + free (resolvconf); + } +#endif + if (! f) { + logger (LOG_DEBUG, "writing "RESOLVFILE); + if (! (f = fopen(RESOLVFILE, "w"))) + logger (LOG_ERR, "fopen `%s': %s", RESOLVFILE, strerror (errno)); + } + + if (! f) + return (-1); + + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); + if (dhcp->dnssearch) + fprintf (f, "search %s\n", dhcp->dnssearch); + else if (dhcp->dnsdomain) { + fprintf (f, "search %s\n", dhcp->dnsdomain); + } + + STAILQ_FOREACH (address, dhcp->dnsservers, entries) + fprintf (f, "nameserver %s\n", inet_ntoa (address->address)); + +#ifdef ENABLE_RESOLVCONF + if (resolvconf) + pclose (f); + else +#endif + fclose (f); + + /* Refresh the local resolver */ + res_init (); + return (0); +} + +static void restore_resolv (const char *ifname) +{ +#ifdef ENABLE_RESOLVCONF + if (file_in_path ("resolvconf") == 0) { + logger (LOG_DEBUG, "removing information from resolvconf"); + exec_cmd("resolvconf", "-d", ifname, (char *) NULL); + } +#endif +} + +static bool in_addresses (const struct address_head *addresses, + struct in_addr address) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) + if (addr->address.s_addr == address.s_addr) + return (true); + + return (false); +} + +static bool in_routes (const struct route_head *routes, route_t *route) +{ + const route_t *r; + + if (! routes) + return (false); + + STAILQ_FOREACH (r, routes, entries) + if (r->destination.s_addr == route->destination.s_addr && + r->netmask.s_addr == route->netmask.s_addr && + r->gateway.s_addr == route->gateway.s_addr) + return (true); + + return (false); +} + +#ifdef ENABLE_NTP +static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp) +{ + FILE *f; + address_t *address; + char *a; + char *line; + int tomatch = 0; + char *token; + bool ntp = false; + + STAILQ_FOREACH (address, dhcp->ntpservers, entries) + tomatch++; + + /* Check that we really need to update the servers. + * We do this because ntp has to be restarted to + * work with a changed config. */ + if (! (f = fopen (file, "r"))) { + if (errno != ENOENT) { + logger (LOG_ERR, "fopen `%s': %s", + file, strerror (errno)); + return (-1); + } + } else { + while (tomatch != 0 && (line = get_line (f))) { + struct in_addr addr; + + a = line; + token = strsep (&a, " "); + if (! token || strcmp (token, "server") != 0) + goto next; + + if ((token = strsep (&a, " \n")) == NULL) + goto next; + + if (inet_aton (token, &addr) == 1 && + in_addresses (dhcp->ntpservers, addr)) + tomatch--; + +next: + free (line); + } + fclose (f); + + /* File has the same name servers that we do, + * so no need to restart ntp */ + if (tomatch == 0) { + logger (LOG_DEBUG, "%s already configured, skipping", + file); + return (0); + } + } + + logger (LOG_DEBUG, "writing %s", file); + if (! (f = fopen (file, "w"))) { + logger (LOG_ERR, "fopen `%s': %s", file, strerror (errno)); + return (-1); + } + + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); +#ifdef NTPFILE + if (strcmp (file, NTPFILE) == 0) { + ntp = true; + fprintf (f, "restrict default noquery notrust nomodify\n"); + fprintf (f, "restrict 127.0.0.1\n"); + } +#endif + + STAILQ_FOREACH (address, dhcp->ntpservers, entries) { + a = inet_ntoa (address->address); + if (ntp) + fprintf (f, "restrict %s nomodify notrap noquery\n", a); + fprintf (f, "server %s\n", a); + } + fclose (f); + + return (1); +} + +static int make_ntp (const char *ifname, const dhcp_t *dhcp) +{ + /* On some systems we have only have one ntp service, but we don't + * know which configuration file we're using. So we need to write + * to both and restart accordingly. */ + + bool restart_ntp = false; + bool restart_openntp = false; + int retval = 0; + +#ifdef NTPFILE + if (_make_ntp (NTPFILE, ifname, dhcp) > 0) + restart_ntp = true; +#endif + +#ifdef OPENNTPFILE + if (_make_ntp (OPENNTPFILE, ifname, dhcp) > 0) + restart_openntp = true; +#endif + +#ifdef NTPSERVICE + if (restart_ntp) { +#ifdef NTPCHECK + if (system (NTPCHECK) == 0) +#endif + retval += exec_cmd (NTPSERVICE, NTPRESTARTARGS, + (char *) NULL); + } +#endif + +#if defined (NTPSERVICE) && defined (OPENNTPSERVICE) + if (restart_openntp && + (strcmp (NTPSERVICE, OPENNTPSERVICE) != 0 || ! restart_ntp)) + { +#ifdef OPENNTPCHECK + if (system (OPENNTPCHECK) == 0) +#endif + retval += exec_cmd (OPENNTPSERVICE, + OPENNTPRESTARTARGS, (char *) NULL); + } +#elif defined (OPENNTPSERVICE) && ! defined (NTPSERVICE) + if (restart_openntp) { +#ifdef OPENNTPCHECK + if (system (OPENNTPCHECK) == 0) +#endif + retval += exec_cmd (OPENNTPSERVICE, + OPENNTPRESTARTARGS, (char *) NULL); + } +#endif + + return (retval); +} +#endif + +#ifdef ENABLE_NIS +#define PREFIXSIZE 256 +static int make_nis (const char *ifname, const dhcp_t *dhcp) +{ + FILE *f; + address_t *address; + char *prefix; + + logger (LOG_DEBUG, "writing "NISFILE); + if (! (f = fopen(NISFILE, "w"))) { + logger (LOG_ERR, "fopen `%s': %s", NISFILE, strerror (errno)); + return (-1); + } + + prefix = xmalloc (sizeof (char) * PREFIXSIZE); + *prefix = '\0'; + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); + + if (dhcp->nisdomain) { + setdomainname (dhcp->nisdomain, (int) strlen (dhcp->nisdomain)); + + if (dhcp->nisservers) + snprintf (prefix, PREFIXSIZE, "domain %s server", + dhcp->nisdomain); + else + fprintf (f, "domain %s broadcast\n", dhcp->nisdomain); + } + else + snprintf (prefix, PREFIXSIZE, "%s", "ypserver"); + + NSTAILQ_FOREACH (address, dhcp->nisservers, entries) + fprintf (f, "%s %s\n", prefix, inet_ntoa (address->address)); + + free (prefix); + fclose (f); + +#ifdef NISCHECK + if (system (NISCHECK) == 0) +#endif + exec_cmd (NISSERVICE, NISRESTARTARGS, (char *) NULL); + return (0); +} +#endif + +static char *lookuphostname (char *hostname, const dhcp_t *dhcp, + const options_t *options) +{ + union { + struct sockaddr sa; + struct sockaddr_in sin; + } su; + socklen_t salen; + char *addr; + struct addrinfo hints; + struct addrinfo *res = NULL; + int result; + char *p; + + logger (LOG_DEBUG, "Looking up hostname via DNS"); + addr = xmalloc (sizeof (char) * NI_MAXHOST); + salen = sizeof (su.sa); + memset (&su.sa, 0, salen); + su.sin.sin_family = AF_INET; + memcpy (&su.sin.sin_addr, &dhcp->address, sizeof (su.sin.sin_addr)); + + if ((result = getnameinfo (&su.sa, salen, addr, NI_MAXHOST, + NULL, 0, NI_NAMEREQD)) != 0) { + logger (LOG_ERR, + "Failed to lookup hostname via DNS: %s", + gai_strerror (result)); + free (addr); + return (NULL); + } + + /* Check for a malicious PTR record */ + memset (&hints, 0, sizeof (hints)); + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + result = getaddrinfo (addr, "0", &hints, &res); + if (res) + freeaddrinfo (res); + if (result == 0) + logger (LOG_ERR, "malicious PTR record detected"); + if (result == 0 || ! *addr) { + free (addr); + return (NULL); + } + + p = strchr (addr, '.'); + if (p) { + switch (options->dohostname) { + case 1: /* -H */ + case 4: /* -HHHH */ + break; + case 2: /* -HH */ + case 5: /* -HHHHH */ + /* Strip out the domain if it matches */ + p++; + if (*p && dhcp->dnssearch) { + char *s = xstrdup (dhcp->dnssearch); + char *sp = s; + char *t; + + while ((t = strsep (&sp, " "))) + if (strcmp (t, p) == 0) { + *--p = '\0'; + break; + } + free (s); + } else if (dhcp->dnsdomain) { + if (strcmp (dhcp->dnsdomain, p) == 0) + *--p = '\0'; + } + break; + case 3: /* -HHH */ + case 6: /* -HHHHHH */ + /* Just strip the domain */ + *p = '\0'; + break; + default: /* Too many H! */ + break; + } + } + + strlcpy (hostname, addr, MAXHOSTNAMELEN); + free (addr); + return (hostname); +} + +int configure (const options_t *options, interface_t *iface, + const dhcp_t *dhcp, bool up) +{ + route_t *route = NULL; + struct route_head *new_routes = NULL; + route_t *new_route = NULL; + char *newhostname = NULL; + char *curhostname = NULL; + int remember; +#ifdef ENABLE_IPV4LL + bool haslinklocal = false; +#endif +#ifdef THERE_IS_NO_FORK + int skip = 0; + size_t skiplen; + char *skipp; +#endif + + if (! options || ! iface || ! dhcp) + return (-1); + + if (dhcp->address.s_addr == 0) + up = 0; + + /* Remove old routes. + * Always do this as the interface may have >1 address not added by us + * so the routes we added may still exist. */ + NSTAILQ_FOREACH (route, iface->previous_routes, entries) + if ((route->destination.s_addr || options->dogateway) && + (! up || ! in_routes (dhcp->routes, route))) + del_route (iface->name, route->destination, + route->netmask, route->gateway, + options->metric); + /* If we aren't up, then reset the interface as much as we can */ + if (! up) { + if (iface->previous_routes) { + free_route (iface->previous_routes); + iface->previous_routes = NULL; + } + + /* Restore the original MTU value */ + if (iface->mtu && iface->previous_mtu != iface->mtu) { + set_mtu (iface->name, iface->mtu); + iface->previous_mtu = iface->mtu; + } + +#ifdef ENABLE_INFO + /* If we haven't created an info file, do so now */ + if (! dhcp->frominfo) + write_info (iface, dhcp, options, false); +#endif + + /* Only reset things if we had set them before */ + if (iface->previous_address.s_addr != 0) { + if (! options->keep_address) { + del_address (iface->name, + iface->previous_address, + iface->previous_netmask); + memset (&iface->previous_address, + 0, sizeof (iface->previous_address)); + memset (&iface->previous_netmask, + 0, sizeof (iface->previous_netmask)); + } + } + + restore_resolv (iface->name); + exec_script (options->script, iface->infofile, "down"); + + return (0); + } + + /* Set the MTU requested. + * If the DHCP server no longer sends one OR it's invalid then + * we restore the original MTU */ + if (options->domtu) { + unsigned short mtu = iface->mtu; + if (dhcp->mtu) + mtu = dhcp->mtu; + + if (mtu != iface->previous_mtu) { + if (set_mtu (iface->name, mtu) == 0) + iface->previous_mtu = mtu; + } + } + + /* This also changes netmask */ + if (! options->doinform || ! has_address (iface->name, dhcp->address)) + if (add_address (iface->name, dhcp->address, dhcp->netmask, + dhcp->broadcast) == -1 && errno != EEXIST) + return (false); + + /* Now delete the old address if different */ + if (iface->previous_address.s_addr != dhcp->address.s_addr && + iface->previous_address.s_addr != 0 && + ! options->keep_address) + del_address (iface->name, + iface->previous_address, iface->previous_netmask); + +#ifdef __linux__ + /* On linux, we need to change the subnet route to have our metric. */ + if (iface->previous_address.s_addr != dhcp->address.s_addr && + options->metric > 0 && + dhcp->netmask.s_addr != INADDR_BROADCAST) + { + struct in_addr td; + struct in_addr tg; + memset (&td, 0, sizeof (td)); + memset (&tg, 0, sizeof (tg)); + td.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + add_route (iface->name, td, dhcp->netmask, tg, options->metric); + del_route (iface->name, td, dhcp->netmask, tg, 0); + } +#endif + +#ifdef THERE_IS_NO_FORK + free (dhcpcd_skiproutes); + /* We can never have more than 255 routes. So we need space + * for 255 3 digit numbers and commas */ + skiplen = 255 * 4 + 1; + skipp = dhcpcd_skiproutes = xmalloc (sizeof (char) * skiplen); + *skipp = '\0'; +#endif + + /* Remember added routes */ + NSTAILQ_FOREACH (route, dhcp->routes, entries) { +#ifdef ENABLE_IPV4LL + /* Check if we have already got a link locale route dished + * out by the DHCP server */ + if (route->destination.s_addr == htonl (LINKLOCAL_ADDR) && + route->netmask.s_addr == htonl (LINKLOCAL_MASK)) + haslinklocal = true; +#endif + /* Don't set default routes if not asked to */ + if (route->destination.s_addr == 0 && + route->netmask.s_addr == 0 && + ! options->dogateway) + continue; + + remember = add_route (iface->name, route->destination, + route->netmask, route->gateway, + options->metric); + /* If we failed to add the route, we may have already added it + ourselves. If so, remember it again. */ + if (remember < 0 && in_routes (iface->previous_routes, route)) + remember = 1; + + if (remember >= 0) { + if (! new_routes) { + new_routes = xmalloc (sizeof (*new_routes)); + STAILQ_INIT (new_routes); + } + new_route = xmalloc (sizeof (route_t)); + memcpy (new_route, route, sizeof (*new_route)); + STAILQ_INSERT_TAIL (new_routes, new_route, entries); + } +#ifdef THERE_IS_NO_FORK + /* If we have daemonised yet we need to record which routes + * we failed to add so we can skip them */ + else if (! options->daemonised) { + /* We can never have more than 255 / 4 routes, + * so 3 chars is plently */ + if (*skipp) + *skipp++ = ','; + skipp += snprintf (skipp, + dhcpcd_skiproutes + skiplen - skipp, + "%d", skip); + } + skip++; +#endif + } + +#ifdef THERE_IS_NO_FORK + if (*dhcpcd_skiproutes) + *skipp = '\0'; + else { + free (dhcpcd_skiproutes); + dhcpcd_skiproutes = NULL; + } +#endif + +#ifdef ENABLE_IPV4LL + /* Ensure we always add the link local route if we got a private + * address and isn't link local itself */ + if (options->doipv4ll && + ! haslinklocal && + IN_PRIVATE (ntohl (dhcp->address.s_addr))) + { + struct in_addr dest; + struct in_addr mask; + struct in_addr gate; + + dest.s_addr = htonl (LINKLOCAL_ADDR); + mask.s_addr = htonl (LINKLOCAL_MASK); + gate.s_addr = 0; + remember = add_route (iface->name, dest, mask, gate, + options->metric); + + if (remember >= 0) { + if (! new_routes) { + new_routes = xmalloc (sizeof (*new_routes)); + STAILQ_INIT (new_routes); + } + new_route = xmalloc (sizeof (*new_route)); + new_route->destination.s_addr = dest.s_addr; + new_route->netmask.s_addr = mask.s_addr; + new_route->gateway.s_addr = gate.s_addr; + STAILQ_INSERT_TAIL (new_routes, new_route, entries); + } + } +#endif + + if (iface->previous_routes) + free_route (iface->previous_routes); + iface->previous_routes = new_routes; + + if (options->dodns && dhcp->dnsservers) + make_resolv(iface->name, dhcp); + else + logger (LOG_DEBUG, "no dns information to write"); + +#ifdef ENABLE_NTP + if (options->dontp && dhcp->ntpservers) + make_ntp(iface->name, dhcp); +#endif + +#ifdef ENABLE_NIS + if (options->donis && (dhcp->nisservers || dhcp->nisdomain)) + make_nis(iface->name, dhcp); +#endif + + curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); + *curhostname = '\0'; + + gethostname (curhostname, MAXHOSTNAMELEN); + if (options->dohostname || + strlen (curhostname) == 0 || + strcmp (curhostname, "(none)") == 0 || + strcmp (curhostname, "localhost") == 0) + { + newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); + + if (dhcp->hostname) + strlcpy (newhostname, dhcp->hostname, MAXHOSTNAMELEN); + else + *newhostname = '\0'; + + /* Now we have made a resolv.conf we can obtain a hostname + * if we need it */ + if (! *newhostname || options->dohostname > 3) + lookuphostname (newhostname, dhcp, options); + + if (*newhostname) { + logger (LOG_INFO, "setting hostname to `%s'", + newhostname); + sethostname (newhostname, (int) strlen (newhostname)); + } + + free (newhostname); + } + + free (curhostname); + +#ifdef ENABLE_INFO + if (! dhcp->frominfo) + write_info (iface, dhcp, options, true); +#endif + + if (iface->previous_address.s_addr != dhcp->address.s_addr || + iface->previous_netmask.s_addr != dhcp->netmask.s_addr) + { + memcpy (&iface->previous_address, + &dhcp->address, sizeof (iface->previous_address)); + memcpy (&iface->previous_netmask, + &dhcp->netmask, sizeof (iface->previous_netmask)); + exec_script (options->script, iface->infofile, "new"); + } else + exec_script (options->script, iface->infofile, "up"); + + return (0); +} diff --git a/workspace/customdhcpcd/src/configure.h b/workspace/customdhcpcd/src/configure.h new file mode 100644 index 0000000..3166947 --- /dev/null +++ b/workspace/customdhcpcd/src/configure.h @@ -0,0 +1,38 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCPCONFIG_H +#define DHCPCONFIG_H + +#include "dhcpcd.h" +#include "interface.h" +#include "dhcp.h" + +int configure (const options_t *options, interface_t *iface, + const dhcp_t *dhcp, bool up); + +#endif diff --git a/workspace/customdhcpcd/src/customdhcpcd.c b/workspace/customdhcpcd/src/customdhcpcd.c new file mode 100644 index 0000000..7c5e219 --- /dev/null +++ b/workspace/customdhcpcd/src/customdhcpcd.c @@ -0,0 +1,17 @@ +/* + ============================================================================ + Name : customdhcpcd.c + Author : Niklas Goby + Version : + Copyright : Your copyright notice + Description : Hello World in C, Ansi-style + ============================================================================ + */ + +#include +#include + +int main(void) { + puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */ + return EXIT_SUCCESS; +} diff --git a/workspace/customdhcpcd/src/dhcp.c b/workspace/customdhcpcd/src/dhcp.c new file mode 100644 index 0000000..f625e8f --- /dev/null +++ b/workspace/customdhcpcd/src/dhcp.c @@ -0,0 +1,933 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#include "common.h" +#include "dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" + +#ifndef STAILQ_CONCAT +#define STAILQ_CONCAT(head1, head2) do { \ + if (!STAILQ_EMPTY((head2))) { \ + *(head1)->stqh_last = (head2)->stqh_first; \ + (head1)->stqh_last = (head2)->stqh_last; \ + STAILQ_INIT((head2)); \ + } \ +} while (0) +#endif + +typedef struct message { + int value; + const char *name; +} dhcp_message_t; + +static dhcp_message_t dhcp_messages[] = { + { DHCP_DISCOVER, "DHCP_DISCOVER" }, + { DHCP_OFFER, "DHCP_OFFER" }, + { DHCP_REQUEST, "DHCP_REQUEST" }, + { DHCP_DECLINE, "DHCP_DECLINE" }, + { DHCP_ACK, "DHCP_ACK" }, + { DHCP_NAK, "DHCP_NAK" }, + { DHCP_RELEASE, "DHCP_RELEASE" }, + { DHCP_INFORM, "DHCP_INFORM" }, + { -1, NULL } +}; + +static const char *dhcp_message (int type) +{ + dhcp_message_t *d; + for (d = dhcp_messages; d->name; d++) + if (d->value == type) + return (d->name); + + return (NULL); +} + +ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, + uint32_t xid, char type, const options_t *options) +{ + struct udp_dhcp_packet *packet; + dhcpmessage_t *message; + unsigned char *m; + unsigned char *p; + unsigned char *n_params = NULL; + size_t l; + struct in_addr from; + struct in_addr to; + time_t up = uptime() - iface->start_uptime; + uint32_t ul; + uint16_t sz; + size_t message_length; + ssize_t retval; + + if (!iface || !options || !dhcp) + return -1; + + memset (&from, 0, sizeof (from)); + memset (&to, 0, sizeof (to)); + + if (type == DHCP_RELEASE) + to.s_addr = dhcp->serveraddress.s_addr; + + message = xzalloc (sizeof (*message)); + m = (unsigned char *) message; + p = (unsigned char *) &message->options; + + if ((type == DHCP_INFORM || + type == DHCP_RELEASE || + type == DHCP_REQUEST) && + ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + { + message->ciaddr = iface->previous_address.s_addr; + from.s_addr = iface->previous_address.s_addr; + + /* Just incase we haven't actually configured the address yet */ + if (type == DHCP_INFORM && iface->previous_address.s_addr == 0) + message->ciaddr = dhcp->address.s_addr; + + /* Zero the address if we're currently on a different subnet */ + if (type == DHCP_REQUEST && + iface->previous_netmask.s_addr != dhcp->netmask.s_addr) + message->ciaddr = from.s_addr = 0; + + if (from.s_addr != 0) + to.s_addr = dhcp->serveraddress.s_addr; + } + + message->op = DHCP_BOOTREQUEST; + message->hwtype = iface->family; + switch (iface->family) { + case ARPHRD_ETHER: + case ARPHRD_IEEE802: + message->hwlen = ETHER_ADDR_LEN; + memcpy (&message->chaddr, &iface->hwaddr, + ETHER_ADDR_LEN); + break; + case ARPHRD_IEEE1394: + case ARPHRD_INFINIBAND: + message->hwlen = 0; + if (message->ciaddr == 0) + message->flags = htons (BROADCAST_FLAG); + break; + default: + logger (LOG_ERR, "dhcp: unknown hardware type %d", + iface->family); + } + + if (up < 0 || up > (time_t) UINT16_MAX) + message->secs = htons ((uint16_t) UINT16_MAX); + else + message->secs = htons (up); + message->xid = xid; + message->cookie = htonl (MAGIC_COOKIE); + + *p++ = DHCP_MESSAGETYPE; + *p++ = 1; + *p++ = type; + + if (type == DHCP_REQUEST) { + *p++ = DHCP_MAXMESSAGESIZE; + *p++ = 2; + sz = get_mtu (iface->name); + if (sz < MTU_MIN) { + if (set_mtu (iface->name, MTU_MIN) == 0) + sz = MTU_MIN; + } + sz = htons (sz); + memcpy (p, &sz, 2); + p += 2; + } + + *p++ = DHCP_CLIENTID; + *p++ = iface->clientid_len; + memcpy (p, iface->clientid, iface->clientid_len); + p+= iface->clientid_len; + + if (type != DHCP_DECLINE && type != DHCP_RELEASE) { + if (options->userclass_len > 0) { + *p++ = DHCP_USERCLASS; + *p++ = options->userclass_len; + memcpy (p, &options->userclass, options->userclass_len); + p += options->userclass_len; + } + + if (*options->classid > 0) { + *p++ = DHCP_CLASSID; + *p++ = l = strlen (options->classid); + memcpy (p, options->classid, l); + p += l; + } + } + + if (type == DHCP_DISCOVER || type == DHCP_REQUEST) { +#define PUTADDR(_type, _val) { \ + *p++ = _type; \ + *p++ = 4; \ + memcpy (p, &_val.s_addr, 4); \ + p += 4; \ +} + if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + logger (LOG_ERR, + "cannot request a link local address"); + else { + if (dhcp->address.s_addr && + dhcp->address.s_addr != + iface->previous_address.s_addr) + { + PUTADDR (DHCP_ADDRESS, dhcp->address); + if (dhcp->serveraddress.s_addr) + PUTADDR (DHCP_SERVERIDENTIFIER, + dhcp->serveraddress); + } + } +#undef PUTADDR + + if (options->leasetime != 0) { + *p++ = DHCP_LEASETIME; + *p++ = 4; + ul = htonl (options->leasetime); + memcpy (p, &ul, 4); + p += 4; + } + } + + if (type == DHCP_DISCOVER || + type == DHCP_INFORM || + type == DHCP_REQUEST) + { + if (options->hostname[0]) { + if (options->fqdn == FQDN_DISABLE) { + *p++ = DHCP_HOSTNAME; + *p++ = l = strlen (options->hostname); + memcpy (p, options->hostname, l); + p += l; + } else { + /* Draft IETF DHC-FQDN option (81) */ + *p++ = DHCP_FQDN; + *p++ = (l = strlen (options->hostname)) + 3; + /* Flags: 0000NEOS + * S: 1 => Client requests Server to update + * a RR in DNS as well as PTR + * O: 1 => Server indicates to client that + * DNS has been updated + * E: 1 => Name data is DNS format + * N: 1 => Client requests Server to not + * update DNS + */ + *p++ = options->fqdn & 0x9; + *p++ = 0; /* from server for PTR RR */ + *p++ = 0; /* from server for A RR if S=1 */ + memcpy (p, options->hostname, l); + p += l; + } + } + + *p++ = DHCP_PARAMETERREQUESTLIST; + n_params = p; + *p++ = 0; + /* Only request DNSSERVER in discover to keep the packets small. + * RFC2131 Section 3.5 states that the REQUEST must include the + * list from the DISCOVER message, so I think this is ok. */ + + if (type == DHCP_DISCOVER && ! options->test) + *p++ = DHCP_DNSSERVER; + else { + if (type != DHCP_INFORM) { + *p++ = DHCP_RENEWALTIME; + *p++ = DHCP_REBINDTIME; + } + *p++ = DHCP_NETMASK; + *p++ = DHCP_BROADCAST; + + /* -S means request CSR and MSCSR + * -SS means only request MSCSR incase DHCP message + * is too big */ + if (options->domscsr < 2) + *p++ = DHCP_CSR; + if (options->domscsr > 0) + *p++ = DHCP_MSCSR; + /* RFC 3442 states classless static routes should be + * before routers and static routes as classless static + * routes override them both */ + *p++ = DHCP_STATICROUTE; + *p++ = DHCP_ROUTERS; + *p++ = DHCP_HOSTNAME; + *p++ = DHCP_DNSSEARCH; + *p++ = DHCP_DNSDOMAIN; + *p++ = DHCP_DNSSERVER; +#ifdef ENABLE_NIS + *p++ = DHCP_NISDOMAIN; + *p++ = DHCP_NISSERVER; +#endif +#ifdef ENABLE_NTP + *p++ = DHCP_NTPSERVER; +#endif + *p++ = DHCP_MTU; +#ifdef ENABLE_INFO + *p++ = DHCP_ROOTPATH; + *p++ = DHCP_SIPSERVER; +#endif + } + + *n_params = p - n_params - 1; + } + *p++ = DHCP_END; + +#ifdef BOOTP_MESSAGE_LENTH_MIN + /* Some crappy DHCP servers think they have to obey the BOOTP minimum + * message length. + * They are wrong, but we should still cater for them. */ + while (p - m < BOOTP_MESSAGE_LENTH_MIN) + *p++ = DHCP_PAD; +#endif + + message_length = p - m; + + packet = xzalloc (sizeof (*packet)); + make_dhcp_packet (packet, (unsigned char *) message, message_length, + from, to); + free (message); + + logger (LOG_DEBUG, "sending %s with xid 0x%x", + dhcp_message (type), xid); + retval = send_packet (iface, ETHERTYPE_IP, (unsigned char *) packet, + message_length + + sizeof (packet->ip) + sizeof (packet->udp)); + free (packet); + return (retval); +} + +/* Decode an RFC3397 DNS search order option into a space + * seperated string. Returns length of string (including + * terminating zero) or zero on error. out may be NULL + * to just determine output length. */ +static unsigned int decode_search (const unsigned char *p, int len, char *out) +{ + const unsigned char *r, *q = p; + unsigned int count = 0, l, hops; + + while (q - p < len) { + r = NULL; + hops = 0; + while ((l = *q++)) { + unsigned int label_type = l & 0xc0; + if (label_type == 0x80 || label_type == 0x40) + return 0; + else if (label_type == 0xc0) { /* pointer */ + l = (l & 0x3f) << 8; + l |= *q++; + + /* save source of first jump. */ + if (!r) + r = q; + + hops++; + if (hops > 255) + return 0; + + q = p + l; + if (q - p >= len) + return 0; + } else { + /* straightforward name segment, add with '.' */ + count += l + 1; + if (out) { + memcpy (out, q, l); + out += l; + *out++ = '.'; + } + q += l; + } + } + + /* change last dot to space */ + if (out) + *(out - 1) = ' '; + + if (r) + q = r; + } + + /* change last space to zero terminator */ + if (out) + *(out - 1) = 0; + + return count; +} + +/* Add our classless static routes to the routes variable + * and return the last route set */ +static struct route_head *decode_CSR (const unsigned char *p, int len) +{ + const unsigned char *q = p; + unsigned int cidr; + unsigned int ocets; + struct route_head *routes = NULL; + route_t *route; + + /* Minimum is 5 -first is CIDR and a router length of 4 */ + if (len < 5) + return NULL; + + while (q - p < len) { + if (! routes) { + routes = xmalloc (sizeof (*routes)); + STAILQ_INIT (routes); + } + + route = xzalloc (sizeof (*route)); + + cidr = *q++; + if (cidr > 32) { + logger (LOG_ERR, + "invalid CIDR of %d in classless static route", + cidr); + free_route (routes); + return (NULL); + } + ocets = (cidr + 7) / 8; + + if (ocets > 0) { + memcpy (&route->destination.s_addr, q, (size_t) ocets); + q += ocets; + } + + /* Now enter the netmask */ + if (ocets > 0) { + memset (&route->netmask.s_addr, 255, (size_t) ocets - 1); + memset ((unsigned char *) &route->netmask.s_addr + + (ocets - 1), + (256 - (1 << (32 - cidr) % 8)), 1); + } + + /* Finally, snag the router */ + memcpy (&route->gateway.s_addr, q, 4); + q += 4; + + STAILQ_INSERT_TAIL (routes, route, entries); + } + + return (routes); +} + +void free_dhcp (dhcp_t *dhcp) +{ + if (! dhcp) + return; + + free_route (dhcp->routes); + free (dhcp->hostname); + free_address (dhcp->dnsservers); + free (dhcp->dnsdomain); + free (dhcp->dnssearch); + free_address (dhcp->ntpservers); + free (dhcp->nisdomain); + free_address (dhcp->nisservers); + free (dhcp->rootpath); + free (dhcp->sipservers); + if (dhcp->fqdn) { + free (dhcp->fqdn->name); + free (dhcp->fqdn); + } +} + + +static bool dhcp_add_address (struct address_head **addresses, + const unsigned char *data, + int length) +{ + int i; + address_t *address; + + for (i = 0; i < length; i += 4) { + /* Sanity check */ + if (i + 4 > length) { + logger (LOG_ERR, "invalid address length"); + return (false); + } + + if (*addresses == NULL) { + *addresses = xmalloc (sizeof (**addresses)); + STAILQ_INIT (*addresses); + } + address = xzalloc (sizeof (*address)); + memcpy (&address->address.s_addr, data + i, 4); + STAILQ_INSERT_TAIL (*addresses, address, entries); + } + + return (true); +} + +#ifdef ENABLE_INFO +static char *decode_sipservers (const unsigned char *data, int length) +{ + char *sip = NULL; + char *p; + const char encoding = *data++; + struct in_addr addr; + size_t len; + + length--; + + switch (encoding) { + case 0: + if ((len = decode_search (data, length, NULL)) > 0) { + sip = xmalloc (len); + decode_search (data, length, sip); + } + break; + + case 1: + if (length == 0 || length % 4 != 0) { + logger (LOG_ERR, + "invalid length %d for option 120", + length + 1); + break; + } + len = ((length / 4) * (4 * 4)) + 1; + sip = p = xmalloc (len); + while (length != 0) { + memcpy (&addr.s_addr, data, 4); + data += 4; + p += snprintf (p, len - (p - sip), + "%s ", inet_ntoa (addr)); + length -= 4; + } + *--p = '\0'; + break; + + default: + logger (LOG_ERR, "unknown sip encoding %d", encoding); + break; + } + + return (sip); +} +#endif + +/* This calculates the netmask that we should use for static routes. + * This IS different from the calculation used to calculate the netmask + * for an interface address. */ +static uint32_t route_netmask (uint32_t ip_in) +{ + /* used to be unsigned long - check if error */ + uint32_t p = ntohl (ip_in); + uint32_t t; + + if (IN_CLASSA (p)) + t = ~IN_CLASSA_NET; + else { + if (IN_CLASSB (p)) + t = ~IN_CLASSB_NET; + else { + if (IN_CLASSC (p)) + t = ~IN_CLASSC_NET; + else + t = 0; + } + } + + while (t & p) + t >>= 1; + + return (htonl (~t)); +} + +static struct route_head *decode_routes (const unsigned char *data, int length) +{ + int i; + struct route_head *head = NULL; + route_t *route; + + for (i = 0; i < length; i += 8) { + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + route = xzalloc (sizeof (*route)); + memcpy (&route->destination.s_addr, data + i, 4); + memcpy (&route->gateway.s_addr, data + i + 4, 4); + route->netmask.s_addr = + route_netmask (route->destination.s_addr); + STAILQ_INSERT_TAIL (head, route, entries); + } + + return (head); +} + +static struct route_head *decode_routers (const unsigned char *data, int length) +{ + int i; + struct route_head *head = NULL; + route_t *route = NULL; + + for (i = 0; i < length; i += 4) { + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + route = xzalloc (sizeof (*route)); + memcpy (&route->gateway.s_addr, data + i, 4); + STAILQ_INSERT_TAIL (head, route, entries); + } + + return (head); +} + +int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message) +{ + const unsigned char *p = message->options; + const unsigned char *end = p; /* Add size later for gcc-3 issue */ + unsigned char option; + unsigned char length; + unsigned int len = 0; + int retval = -1; + struct timeval tv; + struct route_head *routers = NULL; + struct route_head *routes = NULL; + struct route_head *csr = NULL; + struct route_head *mscsr = NULL; + bool in_overload = false; + bool parse_sname = false; + bool parse_file = false; + + end += sizeof (message->options); + + if (gettimeofday (&tv, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (-1); + } + + dhcp->address.s_addr = message->yiaddr; + dhcp->leasedfrom = tv.tv_sec; + dhcp->frominfo = false; + dhcp->address.s_addr = message->yiaddr; + strlcpy (dhcp->servername, (char *) message->servername, + sizeof (dhcp->servername)); + +#define LEN_ERR \ + { \ + logger (LOG_ERR, "invalid length %d for option %d", \ + length, option); \ + p += length; \ + continue; \ + } + +parse_start: + while (p < end) { + option = *p++; + if (! option) + continue; + + if (option == DHCP_END) + goto eexit; + + length = *p++; + + if (option != DHCP_PAD && length == 0) { + logger (LOG_ERR, "option %d has zero length", option); + retval = -1; + goto eexit; + } + + if (p + length >= end) { + logger (LOG_ERR, "dhcp option exceeds message length"); + retval = -1; + goto eexit; + } + + switch (option) { + case DHCP_MESSAGETYPE: + retval = (int) *p; + p += length; + continue; + + default: + if (length == 0) { + logger (LOG_DEBUG, + "option %d has zero length, skipping", + option); + continue; + } + } + +#define LENGTH(_length) \ + if (length != _length) \ + LEN_ERR; +#define MIN_LENGTH(_length) \ + if (length < _length) \ + LEN_ERR; +#define MULT_LENGTH(_mult) \ + if (length % _mult != 0) \ + LEN_ERR; +#define GET_UINT8(_val) \ + LENGTH (sizeof (uint8_t)); \ + memcpy (&_val, p, sizeof (uint8_t)); +#define GET_UINT16(_val) \ + LENGTH (sizeof (uint16_t)); \ + memcpy (&_val, p, sizeof (uint16_t)); +#define GET_UINT32(_val) \ + LENGTH (sizeof (uint32_t)); \ + memcpy (&_val, p, sizeof (uint32_t)); +#define GET_UINT16_H(_val) \ + GET_UINT16 (_val); \ + _val = ntohs (_val); +#define GET_UINT32_H(_val) \ + GET_UINT32 (_val); \ + _val = ntohl (_val); + + switch (option) { + case DHCP_ADDRESS: + GET_UINT32 (dhcp->address.s_addr); + break; + case DHCP_NETMASK: + GET_UINT32 (dhcp->netmask.s_addr); + break; + case DHCP_BROADCAST: + GET_UINT32 (dhcp->broadcast.s_addr); + break; + case DHCP_SERVERIDENTIFIER: + GET_UINT32 (dhcp->serveraddress.s_addr); + break; + case DHCP_LEASETIME: + GET_UINT32_H (dhcp->leasetime); + break; + case DHCP_RENEWALTIME: + GET_UINT32_H (dhcp->renewaltime); + break; + case DHCP_REBINDTIME: + GET_UINT32_H (dhcp->rebindtime); + break; + case DHCP_MTU: + GET_UINT16_H (dhcp->mtu); + /* Minimum legal mtu is 68 accoridng to + * RFC 2132. In practise it's 576 which is the + * minimum maximum message size. */ + if (dhcp->mtu < MTU_MIN) { + logger (LOG_DEBUG, + "MTU %d is too low, minimum is %d; ignoring", + dhcp->mtu, MTU_MIN); + dhcp->mtu = 0; + } + break; + +#undef GET_UINT32_H +#undef GET_UINT32 +#undef GET_UINT16_H +#undef GET_UINT16 +#undef GET_UINT8 + +#define GETSTR(_var) { \ + MIN_LENGTH (sizeof (char)); \ + if (_var) free (_var); \ + _var = xmalloc ((size_t) length + 1); \ + memcpy (_var, p, (size_t) length); \ + memset (_var + length, 0, 1); \ +} + case DHCP_HOSTNAME: + GETSTR (dhcp->hostname); + break; + case DHCP_DNSDOMAIN: + GETSTR (dhcp->dnsdomain); + break; + case DHCP_MESSAGE: + GETSTR (dhcp->message); + break; +#ifdef ENABLE_INFO + case DHCP_ROOTPATH: + GETSTR (dhcp->rootpath); + break; +#endif +#ifdef ENABLE_NIS + case DHCP_NISDOMAIN: + GETSTR (dhcp->nisdomain); + break; +#endif +#undef GETSTR + +#define GETADDR(_var) \ + MULT_LENGTH (4); \ + if (! dhcp_add_address (&_var, p, length)) \ + { \ + retval = -1; \ + goto eexit; \ + } + case DHCP_DNSSERVER: + GETADDR (dhcp->dnsservers); + break; +#ifdef ENABLE_NTP + case DHCP_NTPSERVER: + GETADDR (dhcp->ntpservers); + break; +#endif +#ifdef ENABLE_NIS + case DHCP_NISSERVER: + GETADDR (dhcp->nisservers); + break; +#endif +#undef GETADDR + + case DHCP_DNSSEARCH: + MIN_LENGTH (1); + free (dhcp->dnssearch); + len = decode_search (p, length, NULL); + if (len > 0) { + dhcp->dnssearch = xmalloc (len); + decode_search (p, length, + dhcp->dnssearch); + } + break; + + case DHCP_CSR: + MIN_LENGTH (5); + free_route (csr); + csr = decode_CSR (p, length); + break; + + case DHCP_MSCSR: + MIN_LENGTH (5); + free_route (mscsr); + mscsr = decode_CSR (p, length); + break; + +#ifdef ENABLE_INFO + case DHCP_SIPSERVER: + free (dhcp->sipservers); + dhcp->sipservers = decode_sipservers (p,length); + break; +#endif + + case DHCP_STATICROUTE: + MULT_LENGTH (8); + free_route (routes); + routes = decode_routes (p, length); + break; + + case DHCP_ROUTERS: + MULT_LENGTH (4); + free_route (routers); + routers = decode_routers (p, length); + break; + + case DHCP_OPTIONSOVERLOADED: + LENGTH (1); + /* The overloaded option in an overloaded option + * should be ignored, overwise we may get an + * infinite loop */ + if (! in_overload) { + if (*p & 1) + parse_file = true; + if (*p & 2) + parse_sname = true; + } + break; + + case DHCP_FQDN: + /* We ignore replies about FQDN */ + break; + +#undef LENGTH +#undef MIN_LENGTH +#undef MULT_LENGTH + + default: + logger (LOG_DEBUG, + "no facility to parse DHCP code %u", + option); + break; + } + + p += length; + } + +eexit: + /* We may have options overloaded, so go back and grab them */ + if (parse_file) { + parse_file = false; + p = message->bootfile; + end = p + sizeof (message->bootfile); + in_overload = true; + goto parse_start; + } else if (parse_sname) { + parse_sname = false; + p = message->servername; + end = p + sizeof (message->servername); + memset (dhcp->servername, 0, sizeof (dhcp->servername)); + in_overload = true; + goto parse_start; + } + + /* Fill in any missing fields */ + if (! dhcp->netmask.s_addr) + dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); + if (! dhcp->broadcast.s_addr) + dhcp->broadcast.s_addr = dhcp->address.s_addr | + ~dhcp->netmask.s_addr; + + /* If we have classess static routes then we discard + * static routes and routers according to RFC 3442 */ + if (csr) { + dhcp->routes = csr; + free_route (mscsr); + free_route (routers); + free_route (routes); + } else if (mscsr) { + dhcp->routes = mscsr; + free_route (routers); + free_route (routes); + } else { + /* Ensure that we apply static routes before routers */ + if (! routes) + routes = routers; + else if (routers) + STAILQ_CONCAT (routes, routers); + dhcp->routes = routes; + } + + return (retval); +} diff --git a/workspace/customdhcpcd/src/dhcp.h b/workspace/customdhcpcd/src/dhcp.h new file mode 100644 index 0000000..ef97b75 --- /dev/null +++ b/workspace/customdhcpcd/src/dhcp.h @@ -0,0 +1,215 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCP_H +#define DHCP_H + +#include +#include +#include +#include +#include + +#include "dhcpcd.h" +#include "interface.h" + +/* Max MTU - defines dhcp option length */ +#define MTU_MAX 1500 +#define MTU_MIN 576 + +/* UDP port numbers for DHCP */ +#define DHCP_SERVER_PORT 67 +#define DHCP_CLIENT_PORT 68 + +#define MAGIC_COOKIE 0x63825363 +#define BROADCAST_FLAG 0x8000 + +/* DHCP message OP code */ +#define DHCP_BOOTREQUEST 1 +#define DHCP_BOOTREPLY 2 + +/* DHCP message type */ +#define DHCP_DISCOVER 1 +#define DHCP_OFFER 2 +#define DHCP_REQUEST 3 +#define DHCP_DECLINE 4 +#define DHCP_ACK 5 +#define DHCP_NAK 6 +#define DHCP_RELEASE 7 +#define DHCP_INFORM 8 + +/* DHCP options */ +enum DHCP_OPTIONS +{ + DHCP_PAD = 0, + DHCP_NETMASK = 1, + DHCP_TIMEROFFSET = 2, + DHCP_ROUTERS = 3, + DHCP_TIMESERVER = 4, + DHCP_NAMESERVER = 5, + DHCP_DNSSERVER = 6, + DHCP_LOGSERVER = 7, + DHCP_COOKIESERVER = 8, + DHCP_HOSTNAME = 12, + DHCP_DNSDOMAIN = 15, + DHCP_ROOTPATH = 17, + DHCP_DEFAULTIPTTL = 23, + DHCP_MTU = 26, + DHCP_BROADCAST = 28, + DHCP_MASKDISCOVERY = 29, + DHCP_ROUTERDISCOVERY = 31, + DHCP_STATICROUTE = 33, + DHCP_NISDOMAIN = 40, + DHCP_NISSERVER = 41, + DHCP_NTPSERVER = 42, + DHCP_ADDRESS = 50, + DHCP_LEASETIME = 51, + DHCP_OPTIONSOVERLOADED = 52, + DHCP_MESSAGETYPE = 53, + DHCP_SERVERIDENTIFIER = 54, + DHCP_PARAMETERREQUESTLIST = 55, + DHCP_MESSAGE = 56, + DHCP_MAXMESSAGESIZE = 57, + DHCP_RENEWALTIME = 58, + DHCP_REBINDTIME = 59, + DHCP_CLASSID = 60, + DHCP_CLIENTID = 61, + DHCP_USERCLASS = 77, /* RFC 3004 */ + DHCP_FQDN = 81, + DHCP_DNSSEARCH = 119, /* RFC 3397 */ + DHCP_SIPSERVER = 120, /* RFC 3361 */ + DHCP_CSR = 121, /* RFC 3442 */ + DHCP_MSCSR = 249, /* MS code for RFC 3442 */ + DHCP_END = 255 +}; + +/* SetFQDNHostName values - lsnybble used in flags + * byte (see buildmsg.c), hsnybble to create order + * and to allow 0x00 to mean disable + */ +enum FQQN { + FQDN_DISABLE = 0x00, + FQDN_NONE = 0x18, + FQDN_PTR = 0x20, + FQDN_BOTH = 0x31 +}; + +typedef struct fqdn_t +{ + uint8_t flags; + uint8_t r1; + uint8_t r2; + char *name; +} fqdn_t; + +typedef struct dhcp_t +{ + char version[11]; + + struct in_addr serveraddress; + char serverhw[IF_NAMESIZE]; + char servername[64]; + + struct in_addr address; + struct in_addr netmask; + struct in_addr broadcast; + unsigned short mtu; + + uint32_t leasedfrom; + uint32_t leasetime; + uint32_t renewaltime; + uint32_t rebindtime; + + struct route_head *routes; + + char *hostname; + fqdn_t *fqdn; + + struct address_head *dnsservers; + char *dnsdomain; + char *dnssearch; + + struct address_head *ntpservers; + + struct address_head *nisservers; + char *nisdomain; + + char *sipservers; + + char *message; + char *rootpath; + + bool frominfo; +} dhcp_t; + +/* Sizes for DHCP options */ +#define DHCP_CHADDR_LEN 16 +#define SERVERNAME_LEN 64 +#define BOOTFILE_LEN 128 +#define DHCP_UDP_LEN (20 + 8) +#define DHCP_BASE_LEN (4 + 4 + 2 + 2 + 4 + 4 + 4 + 4 + 4) +#define DHCP_RESERVE_LEN (4 + 4 + 4 + 4 + 2) +#define DHCP_FIXED_LEN (DHCP_BASE_LEN + DHCP_CHADDR_LEN + \ + + SERVERNAME_LEN + BOOTFILE_LEN) +#define DHCP_OPTION_LEN (MTU_MAX - DHCP_FIXED_LEN - DHCP_UDP_LEN \ + - DHCP_RESERVE_LEN) + +/* Some crappy DHCP servers require the BOOTP minimum length */ +#define BOOTP_MESSAGE_LENTH_MIN 300 + +typedef struct dhcpmessage_t +{ + unsigned char op; /* message type */ + unsigned char hwtype; /* hardware address type */ + unsigned char hwlen; /* hardware address length */ + unsigned char hwopcount; /* should be zero in client message */ + uint32_t xid; /* transaction id */ + uint16_t secs; /* elapsed time in sec. from boot */ + uint16_t flags; + uint32_t ciaddr; /* (previously allocated) client IP */ + uint32_t yiaddr; /* 'your' client IP address */ + uint32_t siaddr; /* should be zero in client's messages */ + uint32_t giaddr; /* should be zero in client's messages */ + unsigned char chaddr[DHCP_CHADDR_LEN]; /* client's hardware address */ + unsigned char servername[SERVERNAME_LEN]; /* server host name */ + unsigned char bootfile[BOOTFILE_LEN]; /* boot file name */ + uint32_t cookie; + unsigned char options[DHCP_OPTION_LEN]; /* message options - cookie */ +} dhcpmessage_t; + +struct udp_dhcp_packet +{ + struct ip ip; + struct udphdr udp; + dhcpmessage_t dhcp; +}; + +ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, + uint32_t xid, char type, const options_t *options); +void free_dhcp (dhcp_t *dhcp); +int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message); +#endif diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c new file mode 100644 index 0000000..97a685a --- /dev/null +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -0,0 +1,364 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "client.h" +#include "dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" +#include "version.h" + +static int doversion = 0; +static int dohelp = 0; +#define EXTRA_OPTS +static const struct option longopts[] = { + {"arp", no_argument, NULL, 'a'}, + {"script", required_argument, NULL, 'c'}, + {"debug", no_argument, NULL, 'd'}, + {"hostname", optional_argument, NULL, 'h'}, + {"classid", optional_argument, NULL, 'i'}, + {"release", no_argument, NULL, 'k'}, + {"leasetime", required_argument, NULL, 'l'}, + {"metric", required_argument, NULL, 'm'}, + {"renew", no_argument, NULL, 'n'}, + {"persistent", no_argument, NULL, 'p'}, + {"inform", optional_argument, NULL, 's'}, + {"request", optional_argument, NULL, 'r'}, + {"timeout", required_argument, NULL, 't'}, + {"userclass", required_argument, NULL, 'u'}, + {"exit", no_argument, NULL, 'x'}, + {"lastlease", no_argument, NULL, 'E'}, + {"fqdn", required_argument, NULL, 'F'}, + {"nogateway", no_argument, NULL, 'G'}, + {"sethostname", no_argument, NULL, 'H'}, + {"clientid", optional_argument, NULL, 'I'}, + {"noipv4ll", no_argument, NULL, 'L'}, + {"nomtu", no_argument, NULL, 'M'}, + {"nontp", no_argument, NULL, 'N'}, + {"nodns", no_argument, NULL, 'R'}, + {"msscr", no_argument, NULL, 'S'}, + {"test", no_argument, NULL, 'T'}, + {"nonis", no_argument, NULL, 'Y'}, + {"help", no_argument, &dohelp, 1}, + {"version", no_argument, &doversion, 1}, +#ifdef THERE_IS_NO_FORK + {"daemonised", no_argument, NULL, 'f'}, + {"skiproutes", required_argument, NULL, 'g'}, +#endif + {NULL, 0, NULL, 0} +}; + +#ifdef THERE_IS_NO_FORK +char dhcpcd[PATH_MAX]; +char **dhcpcd_argv = NULL; +int dhcpcd_argc = 0; +char *dhcpcd_skiproutes = NULL; +#undef EXTRA_OPTS +#define EXTRA_OPTS "fg:" +#endif + +static int atoint (const char *s) +{ + char *t; + long n; + + errno = 0; + n = strtol (s, &t, 0); + if ((errno != 0 && n == 0) || s == t || + (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) + { + logger (LOG_ERR, "`%s' out of range", s); + return (-1); + } + + return ((int) n); +} + +static pid_t read_pid (const char *pidfile) +{ + FILE *fp; + pid_t pid = 0; + + if ((fp = fopen (pidfile, "r")) == NULL) { + errno = ENOENT; + return 0; + } + + fscanf (fp, "%d", &pid); + fclose (fp); + + + return (pid); +} + +static void usage (void) +{ + printf ("usage: "PACKAGE" [-adknpEGHMNRSTY] [-c script] [-h hostname] [-i classID]\n" + " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" + " [-t timeout] [-u userclass] [-F none | ptr | both]\n" + " [-I clientID] \n"); +} + + +int nd_main(char *ifname) +{ + options_t *options; + int userclasses = 0; + int opt; + int option_index = 0; + char *prefix; + pid_t pid; + int debug = 0; + int i; + int pidfd = -1; + int sig = 0; + int retval = EXIT_FAILURE; + + /* Close any un-needed fd's */ + for (i = getdtablesize() - 1; i >= 3; --i) + close (i); + + openlog (PACKAGE, LOG_PID, LOG_LOCAL0); + + options = xzalloc (sizeof (*options)); + options->script = (char *) DEFAULT_SCRIPT; + snprintf (options->classid, CLASS_ID_MAX_LEN, "%s %s", + PACKAGE, VERSION); + + options->doarp = true; + options->dodns = true; + options->domtu = true; + options->donis = true; + options->dontp = true; + options->dogateway = true; + options->daemonise = true; + options->doinform = false; + options->doipv4ll = true; + options->doduid = true; + options->timeout = DEFAULT_TIMEOUT; + + gethostname (options->hostname, sizeof (options->hostname)); + if (strcmp (options->hostname, "(none)") == 0 || + strcmp (options->hostname, "localhost") == 0) + memset (options->hostname, 0, sizeof (options->hostname)); + + +/* +#ifdef THERE_IS_NO_FORK + dhcpcd_argv = argv; + dhcpcd_argc = argc; + if (! realpath (argv[0], dhcpcd)) { + logger (LOG_ERR, "unable to resolve the path `%s': %s", + argv[0], strerror (errno)); + goto abort; + } +#endif +*/ + + if (strlen (ifname) > IF_NAMESIZE) { + logger (LOG_ERR, + "`%s' too long for an interface name (max=%d)", + ifname, IF_NAMESIZE); + goto abort; + } else { + strlcpy (options->interface, ifname, + sizeof (options->interface)); + } + + if (strchr (options->hostname, '.')) { + if (options->fqdn == FQDN_DISABLE) + options->fqdn = FQDN_BOTH; + } else + options->fqdn = FQDN_DISABLE; + + if (options->request_address.s_addr == 0 && options->doinform) { + if ((options->request_address.s_addr = + get_address (options->interface)) != 0) + options->keep_address = true; + } + + if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { + logger (LOG_ERR, + "you are not allowed to request a link local address"); + goto abort; + } + + if (geteuid ()) + logger (LOG_WARNING, PACKAGE " will not work correctly unless" + " run as root"); + + prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); + snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); + setlogprefix (prefix); + snprintf (options->pidfile, sizeof (options->pidfile), PIDFILE, + options->interface); + free (prefix); + + chdir ("/"); + umask (022); + + if (mkdir (INFODIR, S_IRUSR | S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) + { + logger (LOG_ERR, + "mkdir(\"%s\",0): %s\n", INFODIR, strerror (errno)); + goto abort; + } + + if (mkdir (ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) + { + logger (LOG_ERR, + "mkdir(\"%s\",0): %s\n", ETCDIR, strerror (errno)); + goto abort; + } + + if (options->test) { + if (options->dorequest || options->doinform) { + logger (LOG_ERR, + "cannot test with --inform or --request"); + goto abort; + } + + if (options->dolastlease) { + logger (LOG_ERR, "cannot test with --lastlease"); + goto abort; + } + + if (sig != 0) { + logger (LOG_ERR, + "cannot test with --release or --renew"); + goto abort; + } + } + + if (sig != 0) { + int killed = -1; + pid = read_pid (options->pidfile); + if (pid != 0) + logger (LOG_INFO, "sending signal %d to pid %d", + sig, pid); + + if (! pid || (killed = kill (pid, sig))) + logger (sig == SIGALRM ? LOG_INFO : LOG_ERR, + ""PACKAGE" not running"); + + if (pid != 0 && (sig != SIGALRM || killed != 0)) + unlink (options->pidfile); + + if (killed == 0) { + retval = EXIT_SUCCESS; + goto abort; + } + + if (sig != SIGALRM) + goto abort; + } + + if (! options->test && ! options->daemonised) { + if ((pid = read_pid (options->pidfile)) > 0 && + kill (pid, 0) == 0) + { + logger (LOG_ERR, ""PACKAGE + " already running on pid %d (%s)", + pid, options->pidfile); + goto abort; + } + + pidfd = open (options->pidfile, + O_WRONLY | O_CREAT | O_NONBLOCK, 0664); + if (pidfd == -1) { + logger (LOG_ERR, "open `%s': %s", + options->pidfile, strerror (errno)); + goto abort; + } + + /* Lock the file so that only one instance of dhcpcd runs + * on an interface */ + if (flock (pidfd, LOCK_EX | LOCK_NB) == -1) { + logger (LOG_ERR, "flock `%s': %s", + options->pidfile, strerror (errno)); + goto abort; + } + + /* dhcpcd.sh should not interhit this fd */ + if ((i = fcntl (pidfd, F_GETFD, 0)) == -1 || + fcntl (pidfd, F_SETFD, i | FD_CLOEXEC) == -1) + logger (LOG_ERR, "fcntl: %s", strerror (errno)); + + writepid (pidfd, getpid ()); + logger (LOG_INFO, PACKAGE " " VERSION " starting"); + } + + /* Seed random */ + srandomdev (); + + /* Massage our filters per platform */ + setup_packet_filters (); + + if (dhcp_run (options, &pidfd) == 0) + retval = EXIT_SUCCESS; + +abort: + /* If we didn't daemonise then we need to punt the pidfile now */ + if (pidfd > -1) { + close (pidfd); + unlink (options->pidfile); + } + + free (options); + +#ifdef THERE_IS_NO_FORK + /* There may have been an error before the dhcp_run function + * clears this, so just do it here to be safe */ + free (dhcpcd_skiproutes); +#endif + + logger (LOG_INFO, "exiting"); + + exit (retval); + /* NOTREACHED */ +} diff --git a/workspace/customdhcpcd/src/dhcpcd.h b/workspace/customdhcpcd/src/dhcpcd.h new file mode 100644 index 0000000..0b41ead --- /dev/null +++ b/workspace/customdhcpcd/src/dhcpcd.h @@ -0,0 +1,96 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCPCD_H +#define DHCPCD_H + +#include +#include +#include +#include +#include +#include + +#include "common.h" + +#define DEFAULT_TIMEOUT 20 +#define DEFAULT_LEASETIME 3600 /* 1 hour */ + +#define CLASS_ID_MAX_LEN 48 +#define CLIENT_ID_MAX_LEN 48 +#define USERCLASS_MAX_LEN 255 + +#ifdef THERE_IS_NO_FORK +extern char dhcpcd[PATH_MAX]; +extern char **dhcpcd_argv; +extern int dhcpcd_argc; +extern char *dhcpcd_skiproutes; +#endif + +typedef struct options_t { + char interface[IF_NAMESIZE]; + char hostname[MAXHOSTNAMELEN]; + int fqdn; + char classid[CLASS_ID_MAX_LEN]; + char clientid[CLIENT_ID_MAX_LEN]; + char userclass[USERCLASS_MAX_LEN]; + size_t userclass_len; + uint32_t leasetime; + time_t timeout; + int metric; + + bool doarp; + bool dodns; + bool dodomainname; + bool dogateway; + int dohostname; + bool domtu; + bool donis; + bool dontp; + bool dolastlease; + bool doinform; + bool dorequest; + bool doipv4ll; + bool doduid; + int domscsr; + + struct in_addr request_address; + struct in_addr request_netmask; + + bool persistent; + bool keep_address; + bool daemonise; + bool daemonised; + bool test; + + char *script; + char pidfile[PATH_MAX]; +} options_t; + +int nd_main (char *ifname); + +#endif diff --git a/workspace/customdhcpcd/src/dhcpcd.sh b/workspace/customdhcpcd/src/dhcpcd.sh new file mode 100644 index 0000000..8c86aac --- /dev/null +++ b/workspace/customdhcpcd/src/dhcpcd.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# This is a sample /etc/dhcpcd.sh script. +# /etc/dhcpcd.sh script is executed by dhcpcd daemon +# any time it configures or shuts down interface. +# The following parameters are passed to dhcpcd.exe script: +# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info" +# $2 = "up" if interface has been configured with the same +# IP address as before reboot; +# $2 = "down" if interface has been shut down; +# $2 = "new" if interface has been configured with new IP address; +# +# Sanity checks + +if [ $# -lt 2 ]; then + logger -s -p local0.err -t dhcpcd.sh "wrong usage" + exit 1 +fi + +hostinfo="$1" +state="$2" + +# Reading HostInfo file for configuration parameters +[ -e "${hostinfo}" ] && . "${hostinfo}" + +case "${state}" in + up) + logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been configured with old IP=${IPADDR}" + # Put your code here for when the interface has been brought up with an + # old IP address here + ;; + + new) + logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been configured with new IP=${IPADDR}" + # Put your code here for when the interface has been brought up with a + # new IP address + ;; + + down) logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been brought down" + # Put your code here for the when the interface has been shut down + ;; +esac +exit 0 diff --git a/workspace/customdhcpcd/src/discover.c b/workspace/customdhcpcd/src/discover.c new file mode 100644 index 0000000..eae7b0a --- /dev/null +++ b/workspace/customdhcpcd/src/discover.c @@ -0,0 +1,7 @@ +/* + * discover.c + * + * Created on: Jul 7, 2011 + * Author: niklas + */ + diff --git a/workspace/customdhcpcd/src/discover.h b/workspace/customdhcpcd/src/discover.h new file mode 100644 index 0000000..1f4918d --- /dev/null +++ b/workspace/customdhcpcd/src/discover.h @@ -0,0 +1,12 @@ +/* + * discover.h + * + * Created on: Jul 7, 2011 + * Author: niklas + */ + +#ifndef DISCOVER_H_ +#define DISCOVER_H_ + + +#endif /* DISCOVER_H_ */ diff --git a/workspace/customdhcpcd/src/duid.c b/workspace/customdhcpcd/src/duid.c new file mode 100644 index 0000000..e4dd83b --- /dev/null +++ b/workspace/customdhcpcd/src/duid.c @@ -0,0 +1,118 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "duid.h" +#include "logger.h" + +#ifdef ENABLE_DUID + +#define THIRTY_YEARS_IN_SECONDS 946707779 + +size_t get_duid (unsigned char *duid, const interface_t *iface) +{ + FILE *f; + uint16_t type = 0; + uint16_t hw = 0; + uint32_t ul; + time_t t; + int x = 0; + unsigned char *p = duid; + size_t len = 0; + + if (! iface) + return (0); + + /* If we already have a DUID then use it as it's never supposed + * to change once we have one even if the interfaces do */ + if ((f = fopen (DUIDFILE, "r"))) { + char *line = get_line (f); + if (line) { + len = hwaddr_aton (NULL, line); + if (len && len <= DUID_LEN) + hwaddr_aton (duid, line); + free (line); + } + fclose (f); + if (len) + return (len); + } else { + if (errno != ENOENT) { + logger (LOG_ERR, "fopen `%s': %s", + DUIDFILE, strerror (errno)); + return (0); + } + } + + /* No file? OK, lets make one based on our interface */ + type = htons (1); /* DUI-D-LLT */ + memcpy (p, &type, 2); + p += 2; + + hw = htons (iface->family); + memcpy (p, &hw, 2); + p += 2; + + /* time returns seconds from jan 1 1970, but DUID-LLT is + * seconds from jan 1 2000 modulo 2^32 */ + t = time (NULL) - THIRTY_YEARS_IN_SECONDS; + ul = htonl (t & 0xffffffff); + memcpy (p, &ul, 4); + p += 4; + + /* Finally, add the MAC address of the interface */ + memcpy (p, iface->hwaddr, iface->hwlen); + p += iface->hwlen; + + len = p - duid; + + if (! (f = fopen (DUIDFILE, "w"))) + logger (LOG_ERR, "fopen `%s': %s", DUIDFILE, strerror (errno)); + else { + x = fprintf (f, "%s\n", hwaddr_ntoa (duid, len)); + fclose (f); + } + + /* Failed to write the duid? scrub it, we cannot use it */ + if (x < 1) { + len = 0; + unlink (DUIDFILE); + } + + return (len); +} +#endif diff --git a/workspace/customdhcpcd/src/duid.h b/workspace/customdhcpcd/src/duid.h new file mode 100644 index 0000000..1492990 --- /dev/null +++ b/workspace/customdhcpcd/src/duid.h @@ -0,0 +1,42 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DUID_H +#define DUID_H + +#include "config.h" + +#ifdef ENABLE_DUID +#ifndef DUID_LEN +# define DUID_LEN 128 + 2 +#endif + +#include "interface.h" + +size_t get_duid (unsigned char *duid, const interface_t *iface); +#endif +#endif diff --git a/workspace/customdhcpcd/src/info.c b/workspace/customdhcpcd/src/info.c new file mode 100644 index 0000000..8369b43 --- /dev/null +++ b/workspace/customdhcpcd/src/info.c @@ -0,0 +1,472 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include + +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "info.h" + +#ifdef ENABLE_INFO + +/* Create a malloced string of cstr, changing ' to '\'' + * so the contents work in a shell */ +static char *cleanmetas (const char *cstr) +{ + const char *p = cstr; + char *new; + char *n; + size_t len; + + if (cstr == NULL || (len = strlen (cstr)) == 0) + return (xstrdup ("")); + + n = new = xmalloc (sizeof (char) * len + 2); + do + if (*p == '\'') { + size_t pos = n - new; + len += 4; + new = xrealloc (new, sizeof (char) * len + 1); + n = new + pos; + *n++ = '\''; + *n++ = '\\'; + *n++ = '\''; + *n++ = '\''; + } else + *n++ = *p; + while (*p++); + + /* Terminate the sucker */ + *n = '\0'; + + return (new); +} + + +static void print_addresses (FILE *f, const struct address_head *addresses) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, " "); + } +} + +static void print_clean (FILE *f, const char *name, const char *value) +{ + char *clean; + + if (! value) + return; + + clean = cleanmetas (value); + fprintf (f, "%s='%s'\n", name, clean); + free (clean); +} + +bool write_info(const interface_t *iface, const dhcp_t *dhcp, + const options_t *options, bool overwrite) +{ + FILE *f; + route_t *route; + struct stat sb; + + if (options->test) + f = stdout; + else { + if (! overwrite && stat (iface->infofile, &sb) == 0) + return (true); + + logger (LOG_DEBUG, "writing %s", iface->infofile); + if ((f = fopen (iface->infofile, "w")) == NULL) { + logger (LOG_ERR, "fopen `%s': %s", + iface->infofile, strerror (errno)); + return (false); + } + } + + if (dhcp->address.s_addr) { + struct in_addr n; + n.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + fprintf (f, "IPADDR='%s'\n", inet_ntoa (dhcp->address)); + fprintf (f, "NETMASK='%s'\n", inet_ntoa (dhcp->netmask)); + fprintf (f, "NETWORK='%s'\n", inet_ntoa (n)); + fprintf (f, "BROADCAST='%s'\n", inet_ntoa (dhcp->broadcast)); + } + if (dhcp->mtu > 0) + fprintf (f, "MTU='%d'\n", dhcp->mtu); + + if (dhcp->routes) { + bool doneone = false; + fprintf (f, "ROUTES='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr != 0) { + if (doneone) + fprintf (f, " "); + fprintf (f, "%s", inet_ntoa (route->destination)); + fprintf (f, ",%s", inet_ntoa (route->netmask)); + fprintf (f, ",%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + + doneone = false; + fprintf (f, "GATEWAYS='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf (f, " "); + fprintf (f, "%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + } + + print_clean (f, "HOSTNAME", dhcp->hostname); + print_clean (f, "DNSDOMAIN", dhcp->dnsdomain); + print_clean (f, "DNSSEARCH", dhcp->dnssearch); + + if (dhcp->dnsservers) { + fprintf (f, "DNSSERVERS='"); + print_addresses (f, dhcp->dnsservers); + fprintf (f, "'\n"); + } + + if (dhcp->fqdn) { + fprintf (f, "FQDNFLAGS='%u'\n", dhcp->fqdn->flags); + fprintf (f, "FQDNRCODE1='%u'\n", dhcp->fqdn->r1); + fprintf (f, "FQDNRCODE2='%u'\n", dhcp->fqdn->r2); + print_clean (f, "FQDNHOSTNAME", dhcp->fqdn->name); + } + + if (dhcp->ntpservers) { + fprintf (f, "NTPSERVERS='"); + print_addresses (f, dhcp->ntpservers); + fprintf (f, "'\n"); + } + + print_clean (f, "NISDOMAIN", dhcp->nisdomain); + if (dhcp->nisservers) { + fprintf (f, "NISSERVERS='"); + print_addresses (f, dhcp->nisservers); + fprintf (f, "'\n"); + } + + print_clean (f, "ROOTPATH", dhcp->rootpath); + print_clean (f, "SIPSERVERS", dhcp->sipservers); + + if (dhcp->serveraddress.s_addr) + fprintf (f, "DHCPSID='%s'\n", inet_ntoa (dhcp->serveraddress)); + if (dhcp->servername[0]) + print_clean (f, "DHCPSNAME", dhcp->servername); + + if (! options->doinform && dhcp->address.s_addr) { + if (! options->test) + fprintf (f, "LEASEDFROM='%u'\n", dhcp->leasedfrom); + fprintf (f, "LEASETIME='%u'\n", dhcp->leasetime); + fprintf (f, "RENEWALTIME='%u'\n", dhcp->renewaltime); + fprintf (f, "REBINDTIME='%u'\n", dhcp->rebindtime); + } + print_clean (f, "INTERFACE", iface->name); + print_clean (f, "CLASSID", options->classid); + if (iface->clientid_len > 0) { + fprintf (f, "CLIENTID='%s'\n", + hwaddr_ntoa (iface->clientid, iface->clientid_len)); + } + fprintf (f, "DHCPCHADDR='%s'\n", hwaddr_ntoa (iface->hwaddr, + iface->hwlen)); + +#ifdef ENABLE_INFO_COMPAT + /* Support the old .info settings if we need to */ + fprintf (f, "\n# dhcpcd-1.x and 2.x compatible variables\n"); + if (dhcp->dnsservers) { + address_t *addr; + + fprintf (f, "DNS='"); + STAILQ_FOREACH (addr, dhcp->dnsservers, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, ","); + } + fprintf (f, "'\n"); + } + + if (dhcp->routes) { + bool doneone = false; + fprintf (f, "GATEWAY='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf (f, ","); + fprintf (f, "%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + } +#endif + + if (! options->test) + fclose (f); + return (true); +} + +static bool parse_address (struct in_addr *addr, + const char *value, const char *var) +{ + if (inet_aton (value, addr) == 0) { + logger (LOG_ERR, "%s `%s': %s", var, value, + strerror (errno)); + return (false); + } + return (true); +} + +static bool parse_uint (unsigned int *i, + const char *value, const char *var) +{ + if (sscanf (value, "%u", i) != 1) { + logger (LOG_ERR, "%s `%s': not a valid number", + var, value); + return (false); + } + return (true); +} + +static bool parse_ushort (unsigned short *s, + const char *value, const char *var) +{ + if (sscanf (value, "%hu", s) != 1) { + logger (LOG_ERR, "%s `%s': not a valid number", + var, value); + return (false); + } + return (true); +} + +static struct address_head *parse_addresses (char *value, const char *var) +{ + char *token; + char *p = value; + struct address_head *head = NULL; + + while ((token = strsep (&p, " "))) { + address_t *a = xzalloc (sizeof (*a)); + + if (inet_aton (token, &a->address) == 0) { + logger (LOG_ERR, "%s: invalid address `%s'", var, token); + free_address (head); + free (a); + return (NULL); + } + + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + STAILQ_INSERT_TAIL (head, a, entries); + } + + return (head); +} + +bool read_info (const interface_t *iface, dhcp_t *dhcp) +{ + FILE *fp; + char *line; + char *var; + char *value; + char *p; + struct stat sb; + + if (stat (iface->infofile, &sb) != 0) { + logger (LOG_ERR, "lease information file `%s' does not exist", + iface->infofile); + return (false); + } + + if (! (fp = fopen (iface->infofile, "r"))) { + logger (LOG_ERR, "fopen `%s': %s", + iface->infofile, strerror (errno)); + return (false); + } + + dhcp->frominfo = true; + + while ((line = get_line (fp))) { + var = line; + + /* Strip leading spaces/tabs */ + while ((*var == ' ') || (*var == '\t')) + var++; + + /* Trim trailing \n */ + p = var + strlen (var) - 1; + if (*p == '\n') + *p = 0; + + /* Skip comments */ + if (*var == '#') + goto next; + + /* If we don't have an equals sign then skip it */ + if (! (p = strchr (var, '='))) + goto next; + + /* Terminate the = so we have two strings */ + *p = 0; + + value = p + 1; + /* Strip leading and trailing quotes if present */ + if (*value == '\'' || *value == '"') + value++; + p = value + strlen (value) - 1; + if (*p == '\'' || *p == '"') + *p = 0; + + /* Don't process null vars or values */ + if (! *var || ! *value) + goto next; + + if (strcmp (var, "IPADDR") == 0) + parse_address (&dhcp->address, value, "IPADDR"); + else if (strcmp (var, "NETMASK") == 0) + parse_address (&dhcp->netmask, value, "NETMASK"); + else if (strcmp (var, "BROADCAST") == 0) + parse_address (&dhcp->broadcast, value, "BROADCAST"); + else if (strcmp (var, "MTU") == 0) + parse_ushort (&dhcp->mtu, value, "MTU"); + else if (strcmp (var, "ROUTES") == 0) { + p = value; + while ((value = strsep (&p, " "))) { + char *pp = value; + char *dest = strsep (&pp, ","); + char *net = strsep (&pp, ","); + char *gate = strsep (&pp, ","); + route_t *route; + + if (! dest || ! net || ! gate) { + logger (LOG_ERR, "read_info ROUTES `%s,%s,%s': invalid route", + dest, net, gate); + goto next; + } + + /* See if we can create a route */ + route = xzalloc (sizeof (*route)); + if (inet_aton (dest, &route->destination) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid destination address", + dest); + free (route); + goto next; + } + if (inet_aton (dest, &route->netmask) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid netmask address", + net); + free (route); + goto next; + } + if (inet_aton (dest, &route->gateway) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid gateway address", + gate); + free (route); + goto next; + } + + /* OK, now add our route */ + if (! dhcp->routes) { + dhcp->routes = xmalloc (sizeof (*dhcp->routes)); + STAILQ_INIT (dhcp->routes); + } + STAILQ_INSERT_TAIL (dhcp->routes, route, entries); + } + } else if (strcmp (var, "GATEWAYS") == 0) { + p = value; + while ((value = strsep (&p, " "))) { + route_t *route = xzalloc (sizeof (*route)); + if (parse_address (&route->gateway, value, "GATEWAYS")) { + if (! dhcp->routes) { + dhcp->routes = xmalloc (sizeof (*dhcp->routes)); + STAILQ_INIT (dhcp->routes); + } + STAILQ_INSERT_TAIL (dhcp->routes, route, entries); + } else + free (route); + } + } else if (strcmp (var, "HOSTNAME") == 0) + dhcp->hostname = xstrdup (value); + else if (strcmp (var, "DNSDOMAIN") == 0) + dhcp->dnsdomain = xstrdup (value); + else if (strcmp (var, "DNSSEARCH") == 0) + dhcp->dnssearch = xstrdup (value); + else if (strcmp (var, "DNSSERVERS") == 0) + dhcp->dnsservers = parse_addresses (value, "DNSSERVERS"); + else if (strcmp (var, "NTPSERVERS") == 0) + dhcp->ntpservers = parse_addresses (value, "NTPSERVERS"); + else if (strcmp (var, "NISDOMAIN") == 0) + dhcp->nisdomain = xstrdup (value); + else if (strcmp (var, "NISSERVERS") == 0) + dhcp->nisservers = parse_addresses (value, "NISSERVERS"); + else if (strcmp (var, "ROOTPATH") == 0) + dhcp->rootpath = xstrdup (value); + else if (strcmp (var, "DHCPSID") == 0) + parse_address (&dhcp->serveraddress, value, "DHCPSID"); + else if (strcmp (var, "DHCPSNAME") == 0) + strlcpy (dhcp->servername, value, sizeof (dhcp->servername)); + else if (strcmp (var, "LEASEDFROM") == 0) + parse_uint (&dhcp->leasedfrom, value, "LEASEDFROM"); + else if (strcmp (var, "LEASETIME") == 0) + parse_uint (&dhcp->leasetime, value, "LEASETIME"); + else if (strcmp (var, "RENEWALTIME") == 0) + parse_uint (&dhcp->renewaltime, value, "RENEWALTIME"); + else if (strcmp (var, "REBINDTIME") == 0) + parse_uint (&dhcp->rebindtime, value, "REBINDTIME"); + +next: + free (line); + } + + fclose (fp); + return (true); +} + +#endif + diff --git a/workspace/customdhcpcd/src/info.h b/workspace/customdhcpcd/src/info.h new file mode 100644 index 0000000..22966db --- /dev/null +++ b/workspace/customdhcpcd/src/info.h @@ -0,0 +1,42 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef INFO_H +#define INFO_H + +#include "dhcpcd.h" +#include "interface.h" +#include "dhcp.h" + +#ifdef ENABLE_INFO +bool write_info (const interface_t *iface, const dhcp_t *dhcp, + const options_t *options, bool overwrite); + +bool read_info (const interface_t *iface, dhcp_t *dhcp); +#endif + +#endif diff --git a/workspace/customdhcpcd/src/interface.c b/workspace/customdhcpcd/src/interface.c new file mode 100644 index 0000000..d2ff8d6 --- /dev/null +++ b/workspace/customdhcpcd/src/interface.c @@ -0,0 +1,1060 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include + +/* Netlink suff */ +#ifdef __linux__ +#include /* Needed for 2.4 kernels */ +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" + +void free_address (struct address_head *addresses) +{ + address_t *p; + address_t *n; + + if (! addresses) + return; + + p = STAILQ_FIRST (addresses); + while (p) { + n = STAILQ_NEXT (p, entries); + free (p); + p = n; + } + free (addresses); +} + +void free_route (struct route_head *routes) +{ + route_t *p; + route_t *n; + + if (! routes) + return; + + p = STAILQ_FIRST (routes); + while (p) { + n = STAILQ_NEXT (p, entries); + free (p); + p = n; + } + free (routes); +} + +int inet_ntocidr (struct in_addr address) +{ + int cidr = 0; + uint32_t mask = htonl (address.s_addr); + + while (mask) { + cidr++; + mask <<= 1; + } + + return (cidr); +} + +int inet_cidrtoaddr (int cidr, struct in_addr *addr) { + int ocets; + + if (cidr < 0 || cidr > 32) { + errno = EINVAL; + return (-1); + } + ocets = (cidr + 7) / 8; + + memset (addr, 0, sizeof (*addr)); + if (ocets > 0) { + memset (&addr->s_addr, 255, (size_t) ocets - 1); + memset ((unsigned char *) &addr->s_addr + (ocets - 1), + (256 - (1 << (32 - cidr) % 8)), 1); + } + + return (0); +} + +uint32_t get_netmask (uint32_t addr) +{ + uint32_t dst; + + if (addr == 0) + return (0); + + dst = htonl (addr); + if (IN_CLASSA (dst)) + return (ntohl (IN_CLASSA_NET)); + if (IN_CLASSB (dst)) + return (ntohl (IN_CLASSB_NET)); + if (IN_CLASSC (dst)) + return (ntohl (IN_CLASSC_NET)); + + return (0); +} + +char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen) +{ + static char buffer[(HWADDR_LEN * 3) + 1]; + char *p = buffer; + size_t i; + + for (i = 0; i < hwlen && i < HWADDR_LEN; i++) { + if (i > 0) + *p ++= ':'; + p += snprintf (p, 3, "%.2x", hwaddr[i]); + } + + *p ++= '\0'; + + return (buffer); +} + +size_t hwaddr_aton (unsigned char *buffer, const char *addr) +{ + char c[3]; + const char *p = addr; + unsigned char *bp = buffer; + size_t len = 0; + + c[2] = '\0'; + while (*p) { + c[0] = *p++; + c[1] = *p++; + /* Ensure that next data is EOL or a seperator with data */ + if (! (*p == '\0' || (*p == ':' && *(p + 1) != '\0'))) { + errno = EINVAL; + return (0); + } + /* Ensure that digits are hex */ + if (isxdigit ((int) c[0]) == 0 || isxdigit ((int) c[1]) == 0) { + errno = EINVAL; + return (0); + } + p++; + if (bp) + *bp++ = (unsigned char) strtol (c, NULL, 16); + else + len++; + } + + if (bp) + return (bp - buffer); + return (len); +} + +static int _do_interface (const char *ifname, + _unused unsigned char *hwaddr, _unused size_t *hwlen, + struct in_addr *addr, + bool flush, bool get) +{ + int s; + struct ifconf ifc; + int retval = 0; + int len = 10 * sizeof (struct ifreq); + int lastlen = 0; + char *p; + + if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + /* Not all implementations return the needed buffer size for + * SIOGIFCONF so we loop like so for all until it works */ + memset (&ifc, 0, sizeof (ifc)); + for (;;) { + ifc.ifc_len = len; + ifc.ifc_buf = xmalloc ((size_t) len); + if (ioctl (s, SIOCGIFCONF, &ifc) == -1) { + if (errno != EINVAL || lastlen != 0) { + logger (LOG_ERR, "ioctl SIOCGIFCONF: %s", + strerror (errno)); + close (s); + free (ifc.ifc_buf); + return -1; + } + } else { + if (ifc.ifc_len == lastlen) + break; + lastlen = ifc.ifc_len; + } + + free (ifc.ifc_buf); + ifc.ifc_buf = NULL; + len *= 2; + } + + for (p = ifc.ifc_buf; p < ifc.ifc_buf + ifc.ifc_len;) { + union { + char *buffer; + struct ifreq *ifr; + } ifreqs; + struct sockaddr_in address; + struct ifreq *ifr; + + /* Cast the ifc buffer to an ifreq cleanly */ + ifreqs.buffer = p; + ifr = ifreqs.ifr; + +#ifdef __linux__ + p += sizeof (*ifr); +#else + p += offsetof (struct ifreq, ifr_ifru) + ifr->ifr_addr.sa_len; +#endif + + if (strcmp (ifname, ifr->ifr_name) != 0) + continue; + +#ifdef AF_LINK + if (hwaddr && hwlen && ifr->ifr_addr.sa_family == AF_LINK) { + struct sockaddr_dl sdl; + + memcpy (&sdl, &ifr->ifr_addr, sizeof (sdl)); + *hwlen = sdl.sdl_alen; + memcpy (hwaddr, sdl.sdl_data + sdl.sdl_nlen, + (size_t) sdl.sdl_alen); + retval = 1; + break; + } +#endif + + if (ifr->ifr_addr.sa_family == AF_INET) { + memcpy (&address, &ifr->ifr_addr, sizeof (address)); + if (flush) { + struct sockaddr_in netmask; + + if (ioctl (s, SIOCGIFNETMASK, ifr) == -1) { + logger (LOG_ERR, + "ioctl SIOCGIFNETMASK: %s", + strerror (errno)); + continue; + } + memcpy (&netmask, &ifr->ifr_addr, + sizeof (netmask)); + + if (del_address (ifname, + address.sin_addr, + netmask.sin_addr) == -1) + retval = -1; + } else if (get) { + addr->s_addr = address.sin_addr.s_addr; + retval = 1; + break; + } else if (address.sin_addr.s_addr == addr->s_addr) { + retval = 1; + break; + } + } + + } + + close (s); + free (ifc.ifc_buf); + return retval; +} + +interface_t *read_interface (const char *ifname, _unused int metric) +{ + int s; + struct ifreq ifr; + interface_t *iface = NULL; + unsigned char *hwaddr = NULL; + size_t hwlen = 0; + sa_family_t family = 0; + unsigned short mtu; +#ifdef __linux__ + char *p; +#endif + + if (! ifname) + return NULL; + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + + if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return NULL; + } + +#ifdef __linux__ + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCGIFHWADDR, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFHWADDR: %s", strerror (errno)); + goto exit; + } + + switch (ifr.ifr_hwaddr.sa_family) { + case ARPHRD_ETHER: + case ARPHRD_IEEE802: + hwlen = ETHER_ADDR_LEN; + break; + case ARPHRD_IEEE1394: + hwlen = EUI64_ADDR_LEN; + case ARPHRD_INFINIBAND: + hwlen = INFINIBAND_ADDR_LEN; + break; + default: + logger (LOG_ERR, + "interface is not Ethernet, FireWire, " \ + "InfiniBand or Token Ring"); + goto exit; + } + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + memcpy (hwaddr, ifr.ifr_hwaddr.sa_data, hwlen); + family = ifr.ifr_hwaddr.sa_family; +#else + ifr.ifr_metric = metric; + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCSIFMETRIC, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCSIFMETRIC: %s", strerror (errno)); + goto exit; + } + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + if (_do_interface (ifname, hwaddr, &hwlen, NULL, false, false) != 1) { + logger (LOG_ERR, "could not find interface %s", ifname); + goto exit; + } + + family = ARPHRD_ETHER; +#endif + + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCGIFMTU, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); + goto exit; + } + + if (ifr.ifr_mtu < MTU_MIN) { + logger (LOG_DEBUG, "MTU of %d is too low, setting to %d", + ifr.ifr_mtu, MTU_MIN); + ifr.ifr_mtu = MTU_MIN; + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCSIFMTU, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCSIFMTU,: %s", + strerror (errno)); + goto exit; + } + } + mtu = ifr.ifr_mtu; + + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); +#ifdef __linux__ + /* We can only bring the real interface up */ + if ((p = strchr (ifr.ifr_name, ':'))) + *p = '\0'; +#endif + if (ioctl (s, SIOCGIFFLAGS, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFFLAGS: %s", strerror (errno)); + goto exit; + } + + if (! (ifr.ifr_flags & IFF_UP) || ! (ifr.ifr_flags & IFF_RUNNING)) { + ifr.ifr_flags |= IFF_UP | IFF_RUNNING; + if (ioctl (s, SIOCSIFFLAGS, &ifr) != 0) { + logger (LOG_ERR, "ioctl SIOCSIFFLAGS: %s", + strerror (errno)); + goto exit; + } + } + + iface = xzalloc (sizeof (*iface)); + strlcpy (iface->name, ifname, IF_NAMESIZE); +#ifdef ENABLE_INFO + snprintf (iface->infofile, PATH_MAX, INFOFILE, ifname); +#endif + memcpy (&iface->hwaddr, hwaddr, hwlen); + iface->hwlen = hwlen; + + iface->family = family; + iface->arpable = ! (ifr.ifr_flags & (IFF_NOARP | IFF_LOOPBACK)); + iface->mtu = iface->previous_mtu = mtu; + + logger (LOG_INFO, "hardware address = %s", + hwaddr_ntoa (iface->hwaddr, iface->hwlen)); + + /* 0 is a valid fd, so init to -1 */ + iface->fd = -1; +#ifdef __linux__ + iface->listen_fd = -1; +#endif + +exit: + close (s); + free (hwaddr); + return iface; +} + +int get_mtu (const char *ifname) +{ + struct ifreq ifr; + int r; + int s; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + r = ioctl (s, SIOCGIFMTU, &ifr); + close (s); + + if (r == -1) { + logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); + return (-1); + } + + return (ifr.ifr_mtu); +} + +int set_mtu (const char *ifname, short int mtu) +{ + struct ifreq ifr; + int r; + int s; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + + memset (&ifr, 0, sizeof (ifr)); + logger (LOG_DEBUG, "setting MTU to %d", mtu); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + ifr.ifr_mtu = mtu; + r = ioctl (s, SIOCSIFMTU, &ifr); + close (s); + + if (r == -1) + logger (LOG_ERR, "ioctl SIOCSIFMTU: %s", strerror (errno)); + + return (r == 0 ? 0 : -1); +} + +static void log_route (struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + _unused int metric, + int change, int del) +{ + char *dstd = xstrdup (inet_ntoa (destination)); + +#ifdef __linux__ +#define METRIC " metric %d" +#else +#define METRIC "" +#endif + + if (gateway.s_addr == destination.s_addr || + gateway.s_addr == INADDR_ANY) + logger (LOG_INFO, "%s route to %s/%d" METRIC, + change ? "changing" : del ? "removing" : "adding", + dstd, inet_ntocidr (netmask) +#ifdef __linux__ + , metric +#endif + ); + else if (destination.s_addr == INADDR_ANY) + logger (LOG_INFO, "%s default route via %s" METRIC, + change ? "changing" : del ? "removing" : "adding", + inet_ntoa (gateway) + +#ifdef __linux__ + , metric +#endif + ); + else + logger (LOG_INFO, "%s route to %s/%d via %s" METRIC, + change ? "changing" : del ? "removing" : "adding", + dstd, inet_ntocidr (netmask), inet_ntoa (gateway) +#ifdef __linux__ + , metric +#endif + ); + + free (dstd); +} + +#if defined(BSD) || defined(__FreeBSD_kernel__) + +/* Darwin doesn't define this for some very odd reason */ +#ifndef SA_SIZE +# define SA_SIZE(sa) \ + ( (!(sa) || ((struct sockaddr *)(sa))->sa_len == 0) ? \ + sizeof(long) : \ + 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) +#endif + +static int do_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast, + int del) +{ + int s; + struct ifaliasreq ifa; + + if (! ifname) + return -1; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&ifa, 0, sizeof (ifa)); + strlcpy (ifa.ifra_name, ifname, sizeof (ifa.ifra_name)); + +#define ADDADDR(_var, _addr) { \ + union { struct sockaddr *sa; struct sockaddr_in *sin; } _s; \ + _s.sa = &_var; \ + _s.sin->sin_family = AF_INET; \ + _s.sin->sin_len = sizeof (*_s.sin); \ + memcpy (&_s.sin->sin_addr, &_addr, sizeof (_s.sin->sin_addr)); \ +} + + ADDADDR (ifa.ifra_addr, address); + ADDADDR (ifa.ifra_mask, netmask); +if (! del) + ADDADDR (ifa.ifra_broadaddr, broadcast); + +#undef ADDADDR + + if (ioctl (s, del ? SIOCDIFADDR : SIOCAIFADDR, &ifa) == -1) { + logger (LOG_ERR, "ioctl %s: %s", + del ? "SIOCDIFADDR" : "SIOCAIFADDR", + strerror (errno)); + close (s); + return -1; + } + +close (s); +return 0; +} + +static int do_route (const char *ifname, + struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + int metric, + int change, int del) +{ + int s; + static int seq; + union sockunion { + struct sockaddr sa; + struct sockaddr_in sin; +#ifdef INET6 + struct sockaddr_in6 sin6; +#endif + struct sockaddr_dl sdl; + struct sockaddr_storage ss; + } su; + struct rtm + { + struct rt_msghdr hdr; + char buffer[sizeof (su) * 3]; + } rtm; + char *bp = rtm.buffer; + size_t l; + + if (! ifname) + return -1; + + log_route (destination, netmask, gateway, metric, change, del); + + if ((s = socket (PF_ROUTE, SOCK_RAW, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&rtm, 0, sizeof (rtm)); + + rtm.hdr.rtm_version = RTM_VERSION; + rtm.hdr.rtm_seq = ++seq; + rtm.hdr.rtm_type = change ? RTM_CHANGE : del ? RTM_DELETE : RTM_ADD; + rtm.hdr.rtm_flags = RTF_UP | RTF_STATIC; + + /* This order is important */ + rtm.hdr.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; + +#define ADDADDR(_addr) \ + memset (&su, 0, sizeof (su)); \ + su.sin.sin_family = AF_INET; \ + su.sin.sin_len = sizeof (su.sin); \ + memcpy (&su.sin.sin_addr, &_addr, sizeof (su.sin.sin_addr)); \ + l = SA_SIZE (&(su.sa)); \ + memcpy (bp, &(su), l); \ + bp += l; + + ADDADDR (destination); + + if (netmask.s_addr == INADDR_BROADCAST || + gateway.s_addr == INADDR_ANY) + { + /* Make us a link layer socket */ + unsigned char *hwaddr; + size_t hwlen = 0; + + if (netmask.s_addr == INADDR_BROADCAST) + rtm.hdr.rtm_flags |= RTF_HOST; + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + _do_interface (ifname, hwaddr, &hwlen, NULL, false, false); + memset (&su, 0, sizeof (su)); + su.sdl.sdl_len = sizeof (su.sdl); + su.sdl.sdl_family = AF_LINK; + su.sdl.sdl_nlen = strlen (ifname); + memcpy (&su.sdl.sdl_data, ifname, (size_t) su.sdl.sdl_nlen); + su.sdl.sdl_alen = hwlen; + memcpy (((unsigned char *) &su.sdl.sdl_data) + su.sdl.sdl_nlen, + hwaddr, (size_t) su.sdl.sdl_alen); + + l = SA_SIZE (&(su.sa)); + memcpy (bp, &su, l); + bp += l; + free (hwaddr); + } else { + rtm.hdr.rtm_flags |= RTF_GATEWAY; + ADDADDR (gateway); + } + + ADDADDR (netmask); +#undef ADDADDR + + rtm.hdr.rtm_msglen = l = bp - (char *)&rtm; + if (write (s, &rtm, l) == -1) { + /* Don't report error about routes already existing */ + if (errno != EEXIST) + logger (LOG_ERR, "write: %s", strerror (errno)); + close (s); + return -1; + } + + close (s); + return 0; +} + +#elif __linux__ +/* This netlink stuff is overly compex IMO. + * The BSD implementation is much cleaner and a lot less code. + * send_netlink handles the actual transmission so we can work out + * if there was an error or not. */ +#define BUFFERLEN 256 +int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg) +{ + int s; + pid_t mypid = getpid (); + struct sockaddr_nl nl; + struct iovec iov; + struct msghdr msg; + static unsigned int seq; + char *buffer; + ssize_t bytes; + union + { + char *buffer; + struct nlmsghdr *nlm; + } h; + + if ((s = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&nl, 0, sizeof (nl)); + nl.nl_family = AF_NETLINK; + if (bind (s, (struct sockaddr *) &nl, sizeof (nl)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (s); + return -1; + } + + memset (&iov, 0, sizeof (iov)); + iov.iov_base = hdr; + iov.iov_len = hdr->nlmsg_len; + + memset (&msg, 0, sizeof (msg)); + msg.msg_name = &nl; + msg.msg_namelen = sizeof (nl); + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + + /* Request a reply */ + hdr->nlmsg_flags |= NLM_F_ACK; + hdr->nlmsg_seq = ++seq; + + if (sendmsg (s, &msg, 0) == -1) { + logger (LOG_ERR, "write: %s", strerror (errno)); + close (s); + return -1; + } + + buffer = xzalloc (sizeof (char) * BUFFERLEN); + iov.iov_base = buffer; + + for (;;) { + iov.iov_len = BUFFERLEN; + bytes = recvmsg (s, &msg, 0); + + if (bytes == -1) { + if (errno != EINTR) + logger (LOG_ERR, "recvmsg: %s", + strerror (errno)); + continue; + } + + if (bytes == 0) { + logger (LOG_ERR, "netlink: EOF"); + goto eexit; + } + + if (msg.msg_namelen != sizeof (nl)) { + logger (LOG_ERR, + "netlink: sender address length mismatch"); + goto eexit; + } + + for (h.buffer = buffer; bytes >= (signed) sizeof (*h.nlm); ) { + int len = h.nlm->nlmsg_len; + int l = len - sizeof (*h.nlm); + struct nlmsgerr *err = (struct nlmsgerr *) NLMSG_DATA (h.nlm); + + if (l < 0 || len > bytes) { + if (msg.msg_flags & MSG_TRUNC) + logger (LOG_ERR, "netlink: truncated message"); + else + logger (LOG_ERR, "netlink: malformed message"); + goto eexit; + } + + /* Ensure it's our message */ + if (nl.nl_pid != 0 || + (pid_t) h.nlm->nlmsg_pid != mypid || + h.nlm->nlmsg_seq != seq) + { + /* Next Message */ + bytes -= NLMSG_ALIGN (len); + h.buffer += NLMSG_ALIGN (len); + continue; + } + + /* We get an NLMSG_ERROR back with a code of zero for success */ + if (h.nlm->nlmsg_type != NLMSG_ERROR) { + logger (LOG_ERR, "netlink: unexpected reply %d", + h.nlm->nlmsg_type); + goto eexit; + } + + if ((unsigned) l < sizeof (*err)) { + logger (LOG_ERR, "netlink: error truncated"); + goto eexit; + } + + if (err->error == 0) { + int retval = 0; + + close (s); + if (callback) { + if ((retval = callback (hdr, arg)) == -1) + logger (LOG_ERR, "netlink: callback failed"); + } + free (buffer); + return (retval); + } + + errno = -err->error; + /* Don't report on something already existing */ + if (errno != EEXIST) + logger (LOG_ERR, "netlink: %s", + strerror (errno)); + goto eexit; + } + } + +eexit: + close (s); + free (buffer); + return -1; +} + +#define NLMSG_TAIL(nmsg) \ + ((struct rtattr *) (((ptrdiff_t) (nmsg)) + NLMSG_ALIGN ((nmsg)->nlmsg_len))) + +static int add_attr_l(struct nlmsghdr *n, unsigned int maxlen, int type, + const void *data, int alen) +{ + int len = RTA_LENGTH(alen); + struct rtattr *rta; + + if (NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len) > maxlen) { + logger (LOG_ERR, "add_attr_l: message exceeded bound of %d\n", + maxlen); + return -1; + } + + rta = NLMSG_TAIL (n); + rta->rta_type = type; + rta->rta_len = len; + memcpy (RTA_DATA (rta), data, alen); + n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len); + + return 0; +} + +static int add_attr_32(struct nlmsghdr *n, unsigned int maxlen, int type, + uint32_t data) +{ + int len = RTA_LENGTH (sizeof (data)); + struct rtattr *rta; + + if (NLMSG_ALIGN (n->nlmsg_len) + len > maxlen) { + logger (LOG_ERR, "add_attr32: message exceeded bound of %d\n", + maxlen); + return -1; + } + + rta = NLMSG_TAIL (n); + rta->rta_type = type; + rta->rta_len = len; + memcpy (RTA_DATA (rta), &data, sizeof (data)); + n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + len; + + return 0; +} + +struct nlma +{ + struct nlmsghdr hdr; + struct ifaddrmsg ifa; + char buffer[64]; +}; + +struct nlmr +{ + struct nlmsghdr hdr; + struct rtmsg rt; + char buffer[256]; +}; + +static int do_address(const char *ifname, + struct in_addr address, struct in_addr netmask, + struct in_addr broadcast, int del) +{ + struct nlma *nlm; + int retval; + + if (!ifname) + return -1; + + nlm = xzalloc (sizeof (*nlm)); + nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct ifaddrmsg)); + nlm->hdr.nlmsg_flags = NLM_F_REQUEST; + if (! del) + nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; + nlm->hdr.nlmsg_type = del ? RTM_DELADDR : RTM_NEWADDR; + if (! (nlm->ifa.ifa_index = if_nametoindex (ifname))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + ifname); + free (nlm); + return -1; + } + nlm->ifa.ifa_family = AF_INET; + + nlm->ifa.ifa_prefixlen = inet_ntocidr (netmask); + + /* This creates the aliased interface */ + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LABEL, + ifname, strlen (ifname) + 1); + + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LOCAL, + &address.s_addr, sizeof (address.s_addr)); + if (! del) + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_BROADCAST, + &broadcast.s_addr, sizeof (broadcast.s_addr)); + + retval = send_netlink (&nlm->hdr, NULL, NULL); + free (nlm); + return retval; +} + +static int do_route (const char *ifname, + struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + int metric, int change, int del) +{ + struct nlmr *nlm; + unsigned int ifindex; + int retval; + + if (! ifname) + return -1; + + log_route (destination, netmask, gateway, metric, change, del); + + if (! (ifindex = if_nametoindex (ifname))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + ifname); + return -1; + } + + nlm = xzalloc (sizeof (*nlm)); + nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg)); + if (change) + nlm->hdr.nlmsg_flags = NLM_F_REPLACE; + else if (! del) + nlm->hdr.nlmsg_flags = NLM_F_CREATE | NLM_F_EXCL; + nlm->hdr.nlmsg_flags |= NLM_F_REQUEST; + nlm->hdr.nlmsg_type = del ? RTM_DELROUTE : RTM_NEWROUTE; + nlm->rt.rtm_family = AF_INET; + nlm->rt.rtm_table = RT_TABLE_MAIN; + + if (del) + nlm->rt.rtm_scope = RT_SCOPE_NOWHERE; + else { + nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_EXCL; + nlm->rt.rtm_protocol = RTPROT_BOOT; + if (netmask.s_addr == INADDR_BROADCAST || + gateway.s_addr == INADDR_ANY) + nlm->rt.rtm_scope = RT_SCOPE_LINK; + else + nlm->rt.rtm_scope = RT_SCOPE_UNIVERSE; + nlm->rt.rtm_type = RTN_UNICAST; + } + + nlm->rt.rtm_dst_len = inet_ntocidr (netmask); + add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_DST, + &destination.s_addr, sizeof (destination.s_addr)); + if (netmask.s_addr != INADDR_BROADCAST && + destination.s_addr != gateway.s_addr) + add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_GATEWAY, + &gateway.s_addr, sizeof (gateway.s_addr)); + + add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_OIF, ifindex); + add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_PRIORITY, metric); + + retval = send_netlink (&nlm->hdr, NULL, NULL); + free (nlm); + return retval; +} + +#else + #error "Platform not supported!" + #error "We currently support BPF and Linux sockets." + #error "Other platforms may work using BPF. If yours does, please let me know" + #error "so I can add it to our list." +#endif + +int add_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast) +{ + logger (LOG_INFO, "adding IP address %s/%d", + inet_ntoa (address), inet_ntocidr (netmask)); + + return (do_address (ifname, address, netmask, broadcast, 0)); +} + +int del_address (const char *ifname, + struct in_addr address, struct in_addr netmask) +{ + struct in_addr t; + + logger (LOG_INFO, "removing IP address %s/%d", + inet_ntoa (address), inet_ntocidr (netmask)); + + memset (&t, 0, sizeof (t)); + return (do_address (ifname, address, netmask, t, 1)); +} + +int add_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 0, 0)); +} + +int change_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 1, 0)); +} + +int del_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 0, 1)); +} + + +int flush_addresses (const char *ifname) +{ + return (_do_interface (ifname, NULL, NULL, NULL, true, false)); +} + +in_addr_t get_address (const char *ifname) +{ + struct in_addr address; + if (_do_interface (ifname, NULL, NULL, &address, false, true) > 0) + return (address.s_addr); + return (0); +} + +int has_address (const char *ifname, struct in_addr address) +{ + return (_do_interface (ifname, NULL, NULL, &address, false, false)); +} diff --git a/workspace/customdhcpcd/src/interface.h b/workspace/customdhcpcd/src/interface.h new file mode 100644 index 0000000..8215d48 --- /dev/null +++ b/workspace/customdhcpcd/src/interface.h @@ -0,0 +1,173 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef INTERFACE_H +#define INTERFACE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#ifdef __linux__ +# include +#endif + +#ifdef ENABLE_DUID +#ifndef DUID_LEN +# define DUID_LEN 128 + 2 +#endif +#endif + +#define EUI64_ADDR_LEN 8 +#define INFINIBAND_ADDR_LEN 20 + +/* Linux 2.4 doesn't define this */ +#ifndef ARPHRD_IEEE1394 +# define ARPHRD_IEEE1394 24 +#endif + +/* The BSD's don't define this yet */ +#ifndef ARPHRD_INFINIBAND +# define ARPHRD_INFINIBAND 32 +#endif + +#define HWADDR_LEN 20 + +/* Work out if we have a private address or not + * 10/8 + * 172.16/12 + * 192.168/16 + */ +#ifndef IN_PRIVATE +# define IN_PRIVATE(addr) (((addr & IN_CLASSA_NET) == 0x0a000000) || \ + ((addr & 0xfff00000) == 0xac100000) || \ + ((addr & IN_CLASSB_NET) == 0xc0a80000)) +#endif + +#define LINKLOCAL_ADDR 0xa9fe0000 +#define LINKLOCAL_MASK 0xffff0000 +#define LINKLOCAL_BRDC 0xa9feffff + +#ifndef IN_LINKLOCAL +# define IN_LINKLOCAL(addr) ((addr & IN_CLASSB_NET) == LINKLOCAL_ADDR) +#endif + +#ifndef STAILQ_ENTRY +# error "your sys/queue.h is too old and lacks STAILQ" +#endif + +#define NSTAILQ_FOREACH(var, head, field) \ + if (head) STAILQ_FOREACH (var, head, field) + +typedef struct route_t +{ + struct in_addr destination; + struct in_addr netmask; + struct in_addr gateway; + STAILQ_ENTRY (route_t) entries; +} route_t; +STAILQ_HEAD (route_head, route_t); + +typedef struct address_t +{ + struct in_addr address; + STAILQ_ENTRY (address_t) entries; +} address_t; +STAILQ_HEAD (address_head, address_t); + +typedef struct interface_t +{ + char name[IF_NAMESIZE]; + sa_family_t family; + unsigned char hwaddr[HWADDR_LEN]; + size_t hwlen; + bool arpable; + unsigned short mtu; + + int fd; + size_t buffer_length; + +#ifdef __linux__ + int listen_fd; + int socket_protocol; +#endif + + char infofile[PATH_MAX]; + + unsigned short previous_mtu; + struct in_addr previous_address; + struct in_addr previous_netmask; + struct route_head *previous_routes; + + time_t start_uptime; + + unsigned char *clientid; + size_t clientid_len; +} interface_t; + +void free_address (struct address_head *addresses); +void free_route (struct route_head *routes); +uint32_t get_netmask (uint32_t addr); +char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen); +size_t hwaddr_aton (unsigned char *hwaddr, const char *addr); + +interface_t *read_interface (const char *ifname, int metric); +int get_mtu (const char *ifname); +int set_mtu (const char *ifname, short int mtu); + +int add_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast); +int del_address (const char *ifname, struct in_addr address, + struct in_addr netmask); + +int flush_addresses (const char *ifname); +in_addr_t get_address (const char *ifname); +int has_address (const char *ifname, struct in_addr address); + +int add_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); +int change_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); +int del_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); + +int inet_ntocidr (struct in_addr address); +int inet_cidrtoaddr (int cidr, struct in_addr *addr); + +#ifdef __linux__ +typedef int (*netlink_callback) (struct nlmsghdr *hdr, void *arg); +int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg); +#endif +#endif diff --git a/workspace/customdhcpcd/src/ipv4ll.c b/workspace/customdhcpcd/src/ipv4ll.c new file mode 100644 index 0000000..9742b9a --- /dev/null +++ b/workspace/customdhcpcd/src/ipv4ll.c @@ -0,0 +1,70 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "config.h" +#include "arp.h" +#include "ipv4ll.h" + +#ifdef ENABLE_IPV4LL + +#ifndef ENABLE_ARP + # error IPV4LL requires ARP +#endif + +#define IPV4LL_LEASETIME 20 + +int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp) { + struct in_addr addr; + + for (;;) { + addr.s_addr = htonl (LINKLOCAL_ADDR | + (((uint32_t) abs ((int) random ()) + % 0xFD00) + 0x0100)); + errno = 0; + if (! arp_claim (iface, addr)) + break; + /* Our ARP may have been interrupted */ + if (errno) + return (-1); + } + + dhcp->address.s_addr = addr.s_addr; + dhcp->netmask.s_addr = htonl (LINKLOCAL_MASK); + dhcp->broadcast.s_addr = htonl (LINKLOCAL_BRDC); + + /* Finally configure some DHCP like lease times */ + dhcp->leasetime = IPV4LL_LEASETIME; + dhcp->renewaltime = (dhcp->leasetime * 0.5); + dhcp->rebindtime = (dhcp->leasetime * 0.875); + + return (0); +} + +#endif diff --git a/workspace/customdhcpcd/src/ipv4ll.h b/workspace/customdhcpcd/src/ipv4ll.h new file mode 100644 index 0000000..4fa8943 --- /dev/null +++ b/workspace/customdhcpcd/src/ipv4ll.h @@ -0,0 +1,39 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef IPV4LL_H +#define IPV4LL_H + +#ifdef ENABLE_IPV4LL + +#include "dhcp.h" +#include "interface.h" + +int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp); + +#endif +#endif diff --git a/workspace/customdhcpcd/src/logger.c b/workspace/customdhcpcd/src/logger.c new file mode 100644 index 0000000..d084e62 --- /dev/null +++ b/workspace/customdhcpcd/src/logger.c @@ -0,0 +1,126 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define SYSLOG_NAMES + +#define COM_CH "/var/tmp/com.socket" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "common.h" +#include "logger.h" + + +static int loglevel = LOG_WARNING; +static char logprefix[12] = {0}; + +int logtolevel (const char *priority) +{ + CODE *c; + + if (isdigit ((int) *priority)) + return (atoi (priority)); + + for (c = prioritynames; c->c_name; c++) + if (! strcasecmp (priority, c->c_name)) + return (c->c_val); + + return (-1); +} + +static const char *leveltolog (int level) { + CODE *c; + + for (c = prioritynames; c->c_name; c++) + if (c->c_val == level) + return (c->c_name); + + return (NULL); +} + +void setloglevel (int level) +{ + loglevel = level; +} + +void setlogprefix (const char *prefix) +{ + snprintf (logprefix, sizeof (logprefix), "%s", prefix); +} + +void logger (int level, const char *fmt, ...) +{ + va_list p; + va_list p2; + FILE *f = stderr; + + va_start (p, fmt); + va_copy (p2, p); + + if (level <= LOG_ERR || level <= loglevel) { + if (level == LOG_DEBUG || level == LOG_INFO) + f = stdout; + fprintf (f, "%s, %s", leveltolog (level), logprefix); + vfprintf (f, fmt, p); + fputc ('\n', f); + + /* stdout, stderr may be re-directed to some kind of buffer. + * So we always flush to ensure it's written. */ + fflush (f); + } + + if (level < LOG_DEBUG || level <= loglevel) { + size_t len = strlen (logprefix); + size_t fmt2len = strlen (fmt) + len + 1; + char *fmt2 = malloc (sizeof (char) * fmt2len); + char *pf = fmt2; + if (fmt2) { + memcpy (pf, logprefix, len); + pf += len; + strlcpy (pf, fmt, fmt2len - len); + vsyslog (level, fmt2, p2); + free (fmt2); + } else { + vsyslog (level, fmt, p2); + syslog (LOG_ERR, "logger: memory exhausted"); + exit (EXIT_FAILURE); + } + } + + va_end (p2); + va_end (p); +} + diff --git a/workspace/customdhcpcd/src/logger.h b/workspace/customdhcpcd/src/logger.h new file mode 100644 index 0000000..e42e020 --- /dev/null +++ b/workspace/customdhcpcd/src/logger.h @@ -0,0 +1,53 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef LOGGER_H +#define LOGGER_H + +#if defined(__GNUC__) +# define _PRINTF_LIKE(_one, _two) __attribute__ ((__format__ (__printf__, _one, _two))) +#else +# define _PRINTF_LIKE(_one, _two) +#endif + +#include + + + +int logtolevel (const char *priority); +void setloglevel (int level); +void setlogprefix (const char *prefix); +void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); + +/** + * new functions for communicating with Qt + */ +void initQtLoggerSocket (); +void closeQtLoggerSocket (); +void sendToQt (); + +#endif diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c new file mode 100644 index 0000000..5bba4ad --- /dev/null +++ b/workspace/customdhcpcd/src/logwriter.c @@ -0,0 +1,84 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include "common.h" + +/*sockets for the logger and the qt-reader */ +int sockfd, ns; +char *socketName; +char *interfaceName; + +void setSocketName(char * sn) { + socketName = sn; +} + +void setInterfaceName(char * in){ + interfaceName = in; +} + +void initQtLoggerSocket() { + /** + * new code. seems to be right. + */ + struct sockaddr_un serv_addr; + sockfd = socket(AF_UNIX, SOCK_STREAM, 0); + if (sockfd < 0) + fprintf(stdout,"ERROR opening socket"); + serv_addr.sun_family = AF_UNIX; + strcpy(serv_addr.sun_path, socketName); + + if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) + fprintf(stdout,"ERROR connecting"); +} + +void closeQtLoggerSocket (){ + close(sockfd); +} + +void logToQt(char * status, char * substatus, char * msg) { + char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); + strcpy(m,interfaceName); + strcat(m,";"); + strcat(m,status); + strcat(m,";"); + strcat(m,substatus); + strcat(m,";"); + strcat(m,msg); + sendToQt(m); + + free(m); +} + +void logToQt(int status, int substatus, char * msg) { + char * st = (char *) malloc(sizeof(int)*4+1); + char * sst = (char *) malloc(sizeof(int)*4+1); + sprintf(st,"%d",status); + sprintf(sst,"%d",substatus); + char * m = malloc(strlen(interfaceName) + strlen(st) + strlen(sst) + strlen(msg) + 4); + strcpy(m,interfaceName); + strcat(m,";"); + strcat(m, st); + strcat(m, ";"); + strcat(m, sst); + strcat(m, ";"); + strcat(m, msg); + sendToQt(m); + + free(st); + free(sst); + free(m); +} + +void sendToQt(char *msg) { + int n = write(sockfd, msg, strlen(msg)); + if (n < 0) + fprintf(stdout, "ERROR writing to socket: %s", msg); +} diff --git a/workspace/customdhcpcd/src/logwriter.h b/workspace/customdhcpcd/src/logwriter.h new file mode 100644 index 0000000..7248fed --- /dev/null +++ b/workspace/customdhcpcd/src/logwriter.h @@ -0,0 +1,22 @@ +/* + * logwriter.h + * + * Created on: Jul 7, 2011 + * Author: niklas + */ + +#ifndef LOGWRITER_H_ +#define LOGWRITER_H_ + +/** + * new functions for communicating with Qt + */ +void setSocketName(char * sn); +void setInterfaceName(char * in); +void initQtLoggerSocket (); +void closeQtLoggerSocket (); +void logToQt(char * status, char * substatus, char * msg); +void logToQt(int status, int substatus, char * msg); +void sendToQt (); + +#endif /* LOGWRITER_H_ */ diff --git a/workspace/customdhcpcd/src/signal.c b/workspace/customdhcpcd/src/signal.c new file mode 100644 index 0000000..9055c9f --- /dev/null +++ b/workspace/customdhcpcd/src/signal.c @@ -0,0 +1,183 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" +#include "signal.h" + +static int signal_pipe[2]; +static int signals[5]; + +static const int handle_sigs[] = { + SIGHUP, + SIGALRM, + SIGTERM, + SIGINT +}; + +static void signal_handler (int sig) +{ + unsigned int i = 0; + int serrno = errno; + + /* Add a signal to our stack */ + while (signals[i]) + i++; + if (i > sizeof (signals) / sizeof (signals[0])) + logger (LOG_ERR, "signal buffer overrun"); + else + signals[i] = sig; + + if (write (signal_pipe[1], &sig, sizeof (sig)) == -1) + logger (LOG_ERR, "Could not send signal: %s", strerror (errno)); + + /* Restore errno */ + errno = serrno; +} + +int signal_fd (void) +{ + return (signal_pipe[0]); +} + +/* Check if we have a signal or not */ +int signal_exists (const struct pollfd *fd) +{ + if (signals[0] || (fd && fd->revents & POLLIN)) + return (0); + return (-1); +} + +/* Read a signal from the signal pipe. Returns 0 if there is + * no signal, -1 on error (and sets errno appropriately), and + * your signal on success */ +int signal_read (struct pollfd *fd) +{ + int sig = -1; + + /* Pop a signal off the our stack */ + if (signals[0]) { + unsigned int i = 0; + sig = signals[0]; + while (i < (sizeof (signals) / sizeof (signals[0])) - 1) { + signals[i] = signals[i + 1]; + if (! signals[++i]) + break; + } + } + + if (fd && fd->revents & POLLIN) { + char buf[16]; + size_t bytes; + + memset (buf, 0, sizeof (buf)); + bytes = read (signal_pipe[0], buf, sizeof (buf)); + + if (bytes >= sizeof (sig)) + memcpy (&sig, buf, sizeof (sig)); + + /* We need to clear us from rset if nothing left in the buffer + * in case we are called many times */ + if (bytes == sizeof (sig)) + fd->revents = 0; + } + + return (sig); +} + +/* Call this before doing anything else. Sets up the socket pair + * and installs the signal handler */ +int signal_init (void) +{ + struct sigaction sa; + + if (pipe (signal_pipe) == -1) { + logger (LOG_ERR, "pipe: %s", strerror (errno)); + return (-1); + } + + /* Stop any scripts from inheriting us */ + close_on_exec (signal_pipe[0]); + close_on_exec (signal_pipe[1]); + + /* Ignore child signals and don't make zombies. + * Because we do this, we don't need to be in signal_setup */ + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = SIG_DFL; + sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT; + if (sigaction (SIGCHLD, &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + memset (signals, 0, sizeof (signals)); + return (0); +} + +int signal_setup (void) +{ + unsigned int i; + struct sigaction sa; + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = signal_handler; + sigemptyset (&sa.sa_mask); + + for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) + if (sigaction (handle_sigs[i], &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + return (0); +} + +int signal_reset (void) +{ + struct sigaction sa; + unsigned int i; + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = SIG_DFL; + sigemptyset (&sa.sa_mask); + + for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) + if (sigaction (handle_sigs[i], &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + return (0); +} diff --git a/workspace/customdhcpcd/src/signal.h b/workspace/customdhcpcd/src/signal.h new file mode 100644 index 0000000..63a5906 --- /dev/null +++ b/workspace/customdhcpcd/src/signal.h @@ -0,0 +1,40 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SIGNAL_H +#define SIGNAL_H + +#include + +int signal_init (void); +int signal_setup (void); +int signal_reset (void); +int signal_fd (void); +int signal_exists (const struct pollfd *fd); +int signal_read (struct pollfd *fd); + +#endif diff --git a/workspace/customdhcpcd/src/socket.c b/workspace/customdhcpcd/src/socket.c new file mode 100644 index 0000000..58ad6c5 --- /dev/null +++ b/workspace/customdhcpcd/src/socket.c @@ -0,0 +1,647 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#define __FAVOR_BSD /* Nasty hack so we can use BSD semantics for UDP */ +#include +#undef __FAVOR_BSD +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(BSD) || defined(__FreeBSD_kernel__) +# include +#elif __linux__ +# include +# include +# define bpf_insn sock_filter +#endif + +#include "config.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" + +/* A suitably large buffer for all transactions. + * BPF buffer size is set by the kernel, so no define. */ +#ifdef __linux__ +# define BUFFER_LENGTH 4096 +#endif + +/* Broadcast address for IPoIB */ +static const uint8_t ipv4_bcast_addr[] = { + 0x00, 0xff, 0xff, 0xff, + 0xff, 0x12, 0x40, 0x1b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff +}; + +/* Credit where credit is due :) + * The below BPF filter is taken from ISC DHCP */ +static struct bpf_insn dhcp_bpf_filter [] = { + /* Make sure this is an IP packet... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_IP, 0, 8), + + /* Make sure it's a UDP packet... */ + BPF_STMT (BPF_LD + BPF_B + BPF_ABS, 23), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6), + + /* Make sure this isn't a fragment... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), + BPF_JUMP (BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0), + + /* Get the IP header length... */ + BPF_STMT (BPF_LDX + BPF_B + BPF_MSH, 14), + + /* Make sure it's to the right port... */ + BPF_STMT (BPF_LD + BPF_H + BPF_IND, 16), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, DHCP_CLIENT_PORT, 0, 1), + + /* If we passed all the tests, ask for the whole packet. */ + BPF_STMT (BPF_RET + BPF_K, ~0U), + + /* Otherwise, drop it. */ + BPF_STMT (BPF_RET + BPF_K, 0), +}; + +static struct bpf_insn arp_bpf_filter [] = { + /* Make sure this is an ARP packet... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_ARP, 0, 3), + + /* Make sure this is an ARP REPLY... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ARPOP_REPLY, 0, 1), + + /* If we passed all the tests, ask for the whole packet. */ + BPF_STMT (BPF_RET + BPF_K, ~0U), + + /* Otherwise, drop it. */ + BPF_STMT (BPF_RET + BPF_K, 0), +}; + +void setup_packet_filters (void) +{ +#ifdef __linux__ + /* We need to massage the filters for Linux cooked packets */ + dhcp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ + dhcp_bpf_filter[2].k -= ETH_HLEN; + dhcp_bpf_filter[4].k -= ETH_HLEN; + dhcp_bpf_filter[6].k -= ETH_HLEN; + dhcp_bpf_filter[7].k -= ETH_HLEN; + + arp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ + arp_bpf_filter[2].k -= ETH_HLEN; +#endif +} + +static uint16_t checksum (unsigned char *addr, uint16_t len) +{ + uint32_t sum = 0; + union + { + unsigned char *addr; + uint16_t *i; + } p; + uint16_t nleft = len; + + p.addr = addr; + while (nleft > 1) { + sum += *p.i++; + nleft -= 2; + } + + if (nleft == 1) { + uint8_t a = 0; + memcpy (&a, p.i, 1); + sum += ntohs (a) << 8; + } + + sum = (sum >> 16) + (sum & 0xffff); + sum += (sum >> 16); + + return ~sum; +} + +void make_dhcp_packet(struct udp_dhcp_packet *packet, + const unsigned char *data, size_t length, + struct in_addr source, struct in_addr dest) +{ + struct ip *ip = &packet->ip; + struct udphdr *udp = &packet->udp; + + /* OK, this is important :) + * We copy the data to our packet and then create a small part of the + * ip structure and an invalid ip_len (basically udp length). + * We then fill the udp structure and put the checksum + * of the whole packet into the udp checksum. + * Finally we complete the ip structure and ip checksum. + * If we don't do the ordering like so then the udp checksum will be + * broken, so find another way of doing it! */ + + memcpy (&packet->dhcp, data, length); + + ip->ip_p = IPPROTO_UDP; + ip->ip_src.s_addr = source.s_addr; + if (dest.s_addr == 0) + ip->ip_dst.s_addr = INADDR_BROADCAST; + else + ip->ip_dst.s_addr = dest.s_addr; + + udp->uh_sport = htons (DHCP_CLIENT_PORT); + udp->uh_dport = htons (DHCP_SERVER_PORT); + udp->uh_ulen = htons (sizeof (*udp) + length); + ip->ip_len = udp->uh_ulen; + udp->uh_sum = checksum ((unsigned char *) packet, sizeof (*packet)); + + ip->ip_v = IPVERSION; + ip->ip_hl = 5; + ip->ip_id = 0; + ip->ip_tos = IPTOS_LOWDELAY; + ip->ip_len = htons (sizeof (*ip) + sizeof (*udp) + length); + ip->ip_id = 0; + ip->ip_off = htons (IP_DF); /* Don't fragment */ + ip->ip_ttl = IPDEFTTL; + + ip->ip_sum = checksum ((unsigned char *) ip, sizeof (*ip)); +} + +static int valid_dhcp_packet (unsigned char *data) +{ + union + { + unsigned char *data; + struct udp_dhcp_packet *packet; + } d; + uint16_t bytes; + uint16_t ipsum; + uint16_t iplen; + uint16_t udpsum; + struct in_addr source; + struct in_addr dest; + int retval = 0; + + d.data = data; + bytes = ntohs (d.packet->ip.ip_len); + ipsum = d.packet->ip.ip_sum; + iplen = d.packet->ip.ip_len; + udpsum = d.packet->udp.uh_sum; + + d.data = data; + d.packet->ip.ip_sum = 0; + if (ipsum != checksum ((unsigned char *) &d.packet->ip, + sizeof (d.packet->ip))) + { + logger (LOG_DEBUG, "bad IP header checksum, ignoring"); + retval = -1; + goto eexit; + } + + memcpy (&source, &d.packet->ip.ip_src, sizeof (d.packet->ip.ip_src)); + memcpy (&dest, &d.packet->ip.ip_dst, sizeof (d.packet->ip.ip_dst)); + memset (&d.packet->ip, 0, sizeof (d.packet->ip)); + d.packet->udp.uh_sum = 0; + + d.packet->ip.ip_p = IPPROTO_UDP; + memcpy (&d.packet->ip.ip_src, &source, sizeof (d.packet->ip.ip_src)); + memcpy (&d.packet->ip.ip_dst, &dest, sizeof (d.packet->ip.ip_dst)); + d.packet->ip.ip_len = d.packet->udp.uh_ulen; + if (udpsum && udpsum != checksum (d.data, bytes)) { + logger (LOG_ERR, "bad UDP checksum, ignoring"); + retval = -1; + } + +eexit: + d.packet->ip.ip_sum = ipsum; + d.packet->ip.ip_len = iplen; + d.packet->udp.uh_sum = udpsum; + + return retval; +} + +#if defined(BSD) || defined(__FreeBSD_kernel__) +int open_socket (interface_t *iface, int protocol) +{ + int n = 0; + int fd = -1; + char *device; + int flags; + struct ifreq ifr; + int buf = 0; + struct bpf_program pf; + + device = xmalloc (sizeof (char) * PATH_MAX); + do { + snprintf (device, PATH_MAX, "/dev/bpf%d", n++); + fd = open (device, O_RDWR); + } while (fd == -1 && errno == EBUSY); + free (device); + + if (fd == -1) { + logger (LOG_ERR, "unable to open a BPF device"); + return -1; + } + + close_on_exec (fd); + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, iface->name, sizeof (ifr.ifr_name)); + if (ioctl (fd, BIOCSETIF, &ifr) == -1) { + logger (LOG_ERR, + "cannot attach interface `%s' to bpf device `%s': %s", + iface->name, device, strerror (errno)); + close (fd); + return -1; + } + + /* Get the required BPF buffer length from the kernel. */ + if (ioctl (fd, BIOCGBLEN, &buf) == -1) { + logger (LOG_ERR, "ioctl BIOCGBLEN: %s", strerror (errno)); + close (fd); + return -1; + } + iface->buffer_length = buf; + + flags = 1; + if (ioctl (fd, BIOCIMMEDIATE, &flags) == -1) { + logger (LOG_ERR, "ioctl BIOCIMMEDIATE: %s", strerror (errno)); + close (fd); + return -1; + } + + /* Install the DHCP filter */ + if (protocol == ETHERTYPE_ARP) { + pf.bf_insns = arp_bpf_filter; + pf.bf_len = sizeof (arp_bpf_filter) + / sizeof (arp_bpf_filter[0]); + } else { + pf.bf_insns = dhcp_bpf_filter; + pf.bf_len = sizeof (dhcp_bpf_filter) + / sizeof (dhcp_bpf_filter[0]); + } + if (ioctl (fd, BIOCSETF, &pf) == -1) { + logger (LOG_ERR, "ioctl BIOCSETF: %s", strerror (errno)); + close (fd); + return -1; + } + + if (iface->fd > -1) + close (iface->fd); + iface->fd = fd; + + return fd; +} + +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len) +{ + ssize_t retval = -1; + struct iovec iov[2]; + + if (iface->family == ARPHRD_ETHER) { + struct ether_header hw; + memset (&hw, 0, sizeof (hw)); + memset (&hw.ether_dhost, 0xff, ETHER_ADDR_LEN); + hw.ether_type = htons (type); + + iov[0].iov_base = &hw; + iov[0].iov_len = sizeof (hw); + } else { + logger (LOG_ERR, "unsupported interace type %d", iface->family); + return -1; + } + iov[1].iov_base = (unsigned char *) data; + iov[1].iov_len = len; + + if ((retval = writev(iface->fd, iov, 2)) == -1) + logger (LOG_ERR, "writev: %s", strerror (errno)); + + return retval; +} + +/* BPF requires that we read the entire buffer. + * So we pass the buffer in the API so we can loop on >1 dhcp packet. */ +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, + size_t *buffer_len, size_t *buffer_pos) +{ + union + { + unsigned char *buffer; + struct bpf_hdr *packet; + } bpf; + + bpf.buffer = buffer; + + if (*buffer_pos < 1) { + memset (bpf.buffer, 0, iface->buffer_length); + *buffer_len = read (iface->fd, bpf.buffer, iface->buffer_length); + *buffer_pos = 0; + if (*buffer_len < 1) { + struct timespec ts; + logger (LOG_ERR, "read: %s", strerror (errno)); + ts.tv_sec = 3; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (-1); + } + } else + bpf.buffer += *buffer_pos; + + while (bpf.packet) { + size_t len = 0; + union + { + unsigned char *buffer; + struct ether_header *hw; + } hdr; + unsigned char *payload; + bool have_data = false; + + /* Ensure that the entire packet is in our buffer */ + if (*buffer_pos + bpf.packet->bh_hdrlen + bpf.packet->bh_caplen + > (unsigned) *buffer_len) + break; + + hdr.buffer = bpf.buffer + bpf.packet->bh_hdrlen; + payload = hdr.buffer + sizeof (*hdr.hw); + + /* If it's an ARP reply, then just send it back */ + if (hdr.hw->ether_type == htons (ETHERTYPE_ARP)) { + len = bpf.packet->bh_caplen - + sizeof (*hdr.hw); + memcpy (data, payload, len); + have_data = true; + } else { + if (valid_dhcp_packet (payload) >= 0) { + union + { + unsigned char *buffer; + struct udp_dhcp_packet *packet; + } pay; + pay.buffer = payload; + len = ntohs (pay.packet->ip.ip_len) - + sizeof (pay.packet->ip) - + sizeof (pay.packet->udp); + memcpy (data, &pay.packet->dhcp, len); + have_data = true; + } + } + + /* Update the buffer_pos pointer */ + bpf.buffer += BPF_WORDALIGN (bpf.packet->bh_hdrlen + + bpf.packet->bh_caplen); + if ((unsigned) (bpf.buffer - buffer) < *buffer_len) + *buffer_pos = bpf.buffer - buffer; + else + *buffer_pos = 0; + + if (have_data) + return len; + + if (*buffer_pos == 0) + break; + } + + /* No valid packets left, so return */ + *buffer_pos = 0; + return -1; +} + +#elif __linux__ + +int open_socket (interface_t *iface, int protocol) +{ + int fd; + union sockunion { + struct sockaddr sa; + struct sockaddr_in sin; + struct sockaddr_ll sll; + struct sockaddr_storage ss; + } su; + struct sock_fprog pf; + struct ifreq ifr; + int n = 1; + + /* We need to bind to a port, otherwise Linux generate ICMP messages + * that cannot contect the port when we have an address. + * We don't actually use this fd at all, instead using our packet + * filter socket. */ + if (iface->listen_fd == -1 && protocol == ETHERTYPE_IP) { + if ((fd = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + } else { + memset (&su, 0, sizeof (su)); + su.sin.sin_family = AF_INET; + su.sin.sin_port = htons (DHCP_CLIENT_PORT); + if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, + &n, sizeof (n)) == -1) + logger (LOG_ERR, "SO_REUSEADDR: %s", + strerror (errno)); + if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, + &n, sizeof (n)) == -1) + logger (LOG_ERR, "SO_RCVBUF: %s", + strerror (errno)); + memset (&ifr, 0, sizeof (ifr)); + strncpy (ifr.ifr_name, iface->name, + sizeof (ifr.ifr_name)); + if (setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, + &ifr, sizeof (ifr)) == -1) + logger (LOG_ERR, "SO_SOBINDTODEVICE: %s", + strerror (errno)); + if (bind (fd, &su.sa, sizeof (su)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (fd); + } else { + iface->listen_fd = fd; + close_on_exec (fd); + } + } + } + + if ((fd = socket (PF_PACKET, SOCK_DGRAM, htons (protocol))) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + close_on_exec (fd); + + memset (&su, 0, sizeof (su)); + su.sll.sll_family = PF_PACKET; + su.sll.sll_protocol = htons (protocol); + if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { + logger (LOG_ERR, + "if_nametoindex: no index for interface `%s'", + iface->name); + close (fd); + return (-1); + } + + /* Install the DHCP filter */ + memset (&pf, 0, sizeof (pf)); + if (protocol == ETHERTYPE_ARP) { + pf.filter = arp_bpf_filter; + pf.len = sizeof (arp_bpf_filter) / sizeof (arp_bpf_filter[0]); + } else { + pf.filter = dhcp_bpf_filter; + pf.len = sizeof (dhcp_bpf_filter) / sizeof (dhcp_bpf_filter[0]); + } + if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, + &pf, sizeof (pf)) != 0) + { + logger (LOG_ERR, "SO_ATTACH_FILTER: %s", strerror (errno)); + close (fd); + return (-1); + } + + if (bind (fd, &su.sa, sizeof (su)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (fd); + return (-1); + } + + if (iface->fd > -1) + close (iface->fd); + iface->fd = fd; + iface->socket_protocol = protocol; + iface->buffer_length = BUFFER_LENGTH; + + return (fd); +} + +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len) +{ + union sockunion { + struct sockaddr sa; + struct sockaddr_ll sll; + struct sockaddr_storage ss; + } su; + ssize_t retval; + + if (! iface) + return (-1); + + memset (&su, 0, sizeof (su)); + su.sll.sll_family = AF_PACKET; + su.sll.sll_protocol = htons (type); + + if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + iface->name); + return (-1); + } + + su.sll.sll_hatype = htons (iface->family); + su.sll.sll_halen = iface->hwlen; + if (iface->family == ARPHRD_INFINIBAND) + memcpy (&su.sll.sll_addr, + &ipv4_bcast_addr, sizeof (ipv4_bcast_addr)); + else + memset (&su.sll.sll_addr, 0xff, iface->hwlen); + + if ((retval = sendto (iface->fd, data, len, 0, &su.sa, + sizeof (su))) == -1) + + logger (LOG_ERR, "sendto: %s", strerror (errno)); + return (retval); +} + +/* Linux has no need for the buffer as we can read as much as we want. + * We only have the buffer listed to keep the same API. */ +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, + size_t *buffer_len, size_t *buffer_pos) +{ + ssize_t bytes; + union + { + unsigned char *buffer; + struct udp_dhcp_packet *packet; + } pay; + + /* We don't use the given buffer, but we need to rewind the position */ + *buffer_pos = 0; + + memset (buffer, 0, iface->buffer_length); + bytes = read (iface->fd, buffer, iface->buffer_length); + + if (bytes == -1) { + struct timespec ts; + logger (LOG_ERR, "read: %s", strerror (errno)); + ts.tv_sec = 3; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (-1); + } + + *buffer_len = bytes; + /* If it's an ARP reply, then just send it back */ + if (iface->socket_protocol == ETHERTYPE_ARP) { + memcpy (data, buffer, bytes); + return (bytes); + } + + if ((unsigned) bytes < (sizeof (pay.packet->ip) + + sizeof (pay.packet->udp))) + { + logger (LOG_DEBUG, "message too short, ignoring"); + return (-1); + } + + pay.buffer = buffer; + if (bytes < ntohs (pay.packet->ip.ip_len)) { + logger (LOG_DEBUG, "truncated packet, ignoring"); + return (-1); + } + + if (valid_dhcp_packet (buffer) == -1) + return (-1); + + bytes = ntohs (pay.packet->ip.ip_len) - + (sizeof (pay.packet->ip) + sizeof (pay.packet->udp)); + memcpy (data, &pay.packet->dhcp, bytes); + return (bytes); +} + +#else + #error "Platform not supported!" + #error "We currently support BPF and Linux sockets." + #error "Other platforms may work using BPF. If yours does, please let me know" + #error "so I can add it to our list." +#endif diff --git a/workspace/customdhcpcd/src/socket.h b/workspace/customdhcpcd/src/socket.h new file mode 100644 index 0000000..bdf26d0 --- /dev/null +++ b/workspace/customdhcpcd/src/socket.h @@ -0,0 +1,46 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SOCKET_H +#define SOCKET_H + +#include + +#include "dhcp.h" +#include "interface.h" + +void setup_packet_filters (void); +void make_dhcp_packet(struct udp_dhcp_packet *packet, + const unsigned char *data, size_t length, + struct in_addr source, struct in_addr dest); + +int open_socket (interface_t *iface, int protocol); +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len); +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos); +#endif diff --git a/workspace/customdhcpcd/src/status.h b/workspace/customdhcpcd/src/status.h new file mode 100644 index 0000000..afdc071 --- /dev/null +++ b/workspace/customdhcpcd/src/status.h @@ -0,0 +1,21 @@ +/* + * status.h + * + * Created on: Jul 11, 2011 + * Author: niklas + */ + +#ifndef STATUS_H_ +#define STATUS_H_ + +enum STATUS { + STAT_OK, + STAT_ERROR +}; + +enum SUBSTATUS { + DISCOVER, + OFFER +}; + +#endif /* STATUS_H_ */ -- cgit v1.2.3-55-g7522 From 5c815484e63280f9fdbe167149a5f693a29945b9 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 13 Jul 2011 17:03:29 +0200 Subject: multiple clients possible. inserted something into _send_message --- workspace/LogReceiver/LogReceiver | Bin 35241 -> 35272 bytes workspace/LogReceiver/logreceiver.cpp | 83 +++++++++++++++++++++------------ workspace/LogReceiver/logreceiver.h | 2 +- workspace/LogReceiver/logreceiver.ui | 9 +++- workspace/customdhcpcd/src/client.c | 11 ++++- workspace/customdhcpcd/src/dhcpcd.c | 17 ++++++- workspace/customdhcpcd/src/logwriter.c | 36 +++++++++++++- workspace/customdhcpcd/src/logwriter.h | 3 +- 8 files changed, 123 insertions(+), 38 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 0a4b640..4c9ccec 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 6988463..29ea8d8 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -1,5 +1,6 @@ #include #include +#include #include #include @@ -13,7 +14,7 @@ LogReceiver::LogReceiver(QWidget *parent) : QDialog(parent) { - ui.setupUi(this); + //ui.setupUi(this); statusLabel = new QLabel; quitButton = new QPushButton(tr("Quit")); @@ -51,32 +52,65 @@ LogReceiver::~LogReceiver() { } - void LogReceiver::handleNewConnection() - { - qDebug() << "New Connection arrived"; +void LogReceiver::handleNewConnection() { + qDebug() << "New Connection arrived"; - clientSocket = server->nextPendingConnection(); - connect(clientSocket, SIGNAL(disconnected()), - clientSocket, SLOT(deleteLater())); - connect(clientSocket, SIGNAL(readyRead()), this, SLOT(handleNewInput())); - } + QLocalSocket * client = server ->nextPendingConnection(); + clients.insert(client, client); + connect(client, SIGNAL(disconnected()), client, SLOT(deleteLater())); + connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + +void LogReceiver::handleNewInput() { + + QObject* sender = const_cast (QObject::sender()); + QLocalSocket* socket = static_cast (sender); + + QLocalSocket * client = clients.value(socket); + + QByteArray data = client->readAll(); + QString logMsg(data); + QString s_state = logMsg.section(";", 0, 0); + QString s_subState = logMsg.section(";", 1, 1); + QString msg = logMsg.section(";", 2, 2); + + qDebug() << logMsg; - void LogReceiver::handleNewInput() { + qDebug() << msg; - QByteArray data = clientSocket->readAll(); - char * cdata = new char[data.size() +1]; - qDebug() << data.size(); - qDebug() << strlen(cdata); - strcpy(cdata, data.data()); - qDebug() << strlen(cdata); - qDebug() << cdata; - int st, sst; - char str[40]; - sscanf(cdata, "%d;%d;%s",&st,&sst,str); + int st = s_state.toInt(); + int sst = s_subState.toInt(); switch (st) { case STAT_OK: qDebug() << "received stat_ok"; + switch (sst) { + case DHCP_DISCOVER: + break; + case DHCP_OFFER: + + break; + case DHCP_REQUEST: + + break; + case DHCP_DECLINE: + + break; + case DHCP_ACK: + + break; + case DHCP_NAK: + + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + + break; + default: + break; + } break; case STAT_ERROR: qDebug() << "received stat_error"; @@ -85,15 +119,6 @@ LogReceiver::~LogReceiver() { qDebug() << "undefined status"; } - qDebug() << st; - QString logMsg(data); - - /** - * verarbeite den string - */ - - qDebug() << logMsg; - statusLabel->setText(logMsg); } diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 6b94eab..f73a56a 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -27,8 +27,8 @@ private: QPushButton *quitButton; QLocalServer *server; QStringList fortunes; - QLocalSocket *clientSocket; quint16 blockSize; + QMap clients; }; #endif // LOGRECEIVER_H diff --git a/workspace/LogReceiver/logreceiver.ui b/workspace/LogReceiver/logreceiver.ui index 500f418..d8c1d46 100644 --- a/workspace/LogReceiver/logreceiver.ui +++ b/workspace/LogReceiver/logreceiver.ui @@ -6,13 +6,18 @@ 0 0 - 400 - 300 + 572 + 385 LogReceiver + + #LogReceiverClass{ +background:grey; +} + diff --git a/workspace/customdhcpcd/src/client.c b/workspace/customdhcpcd/src/client.c index 8ce2721..24c8680 100644 --- a/workspace/customdhcpcd/src/client.c +++ b/workspace/customdhcpcd/src/client.c @@ -60,6 +60,9 @@ #include "signal.h" #include "socket.h" +#include "logwriter.h" +#include "status.h" + #ifdef ENABLE_DUID # include "duid.h" #endif @@ -453,6 +456,7 @@ static bool _send_message (state_t *state, int type, const options_t *options) state->last_type = type; state->last_sent = uptime (); + logSendToQt(type); retval = send_message (state->interface, state->dhcp, state->xid, type, options); return (retval == -1 ? false : true); @@ -596,8 +600,9 @@ static bool handle_signal (int sig, state_t *state, const options_t *options) if (! IN_LINKLOCAL (ntohl (state->dhcp->address.s_addr))) { do_socket (state, SOCKET_OPEN); state->xid = (uint32_t) random (); - if ((open_socket (state->interface, false)) >= 0) + if ((open_socket (state->interface, false)) >= 0) { _send_message (state, DHCP_RELEASE, options); + } do_socket (state, SOCKET_CLOSED); } unlink (state->interface->infofile); @@ -847,6 +852,9 @@ static int handle_dhcp (state_t *state, int type, const options_t *options) logger (LOG_ERR, "%d not an ACK or OFFER", type); return (0); } + + /* if we are here, than we received an ACK and can go on with configuration */ + logToQt(STAT_OK, DHCP_ACK, ""); switch (state->state) { case STATE_RENEW_REQUESTED: @@ -1064,6 +1072,7 @@ int dhcp_run (const options_t *options, int *pidfd) if (! options) return (-1); + /*read_interface : defined in interface.c*/ iface = read_interface (options->interface, options->metric); if (! iface) goto eexit; diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index 97a685a..fca0bd4 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -51,6 +51,9 @@ const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; #include "socket.h" #include "version.h" +#include "logwriter.h" +#include "status.h" + static int doversion = 0; static int dohelp = 0; #define EXTRA_OPTS @@ -198,10 +201,17 @@ int nd_main(char *ifname) #endif */ + /* initializations for the ipc connection to qt*/ + setSocketName(""); + setInterfaceName(ifname); + initQtLoggerSocket(); + + if (strlen (ifname) > IF_NAMESIZE) { logger (LOG_ERR, "`%s' too long for an interface name (max=%d)", ifname, IF_NAMESIZE); + logToQt(STAT_ERROR,-1,"interface name is too long"); goto abort; } else { strlcpy (options->interface, ifname, @@ -223,12 +233,14 @@ int nd_main(char *ifname) if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { logger (LOG_ERR, "you are not allowed to request a link local address"); + logToQt(STAT_ERROR, -1, "you are not allowed to request a link local address"); goto abort; } - if (geteuid ()) + if (geteuid ()) { logger (LOG_WARNING, PACKAGE " will not work correctly unless" " run as root"); + } prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); @@ -339,6 +351,7 @@ int nd_main(char *ifname) /* Massage our filters per platform */ setup_packet_filters (); + /*dhcp_run : defined in client.c*/ if (dhcp_run (options, &pidfd) == 0) retval = EXIT_SUCCESS; @@ -358,7 +371,7 @@ abort: #endif logger (LOG_INFO, "exiting"); - + logToQt(STAT_INFO, -1, "exiting due abort"); exit (retval); /* NOTREACHED */ } diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 5bba4ad..5f51a7e 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -8,8 +8,8 @@ #include #include - #include "common.h" +#include "dhcp.h" /*sockets for the logger and the qt-reader */ int sockfd, ns; @@ -43,6 +43,38 @@ void closeQtLoggerSocket (){ close(sockfd); } +void logSendToQt(int type) { + switch(type) { + case DHCP_DISCOVER: + logToQt(STAT_OK, DHCP_DISCOVER, ""); + break; + case DHCP_OFFER: + logToQt(STAT_OK, DHCP_OFFER, ""); + break; + case DHCP_REQUEST: + logToQt(STAT_OK, DHCP_REQUEST, ""); + break; + case DHCP_DECLINE: + logToQt(STAT_OK, DHCP_DECLINE, ""); + break; + case DHCP_ACK: + logToQt(STAT_OK, DHCP_ACK, ""); + break; + case DHCP_NAK: + logToQt(STAT_OK, DHCP_NAK, ""); + break; + case DHCP_RELEASE: + logToQt(STAT_OK, DHCP_RELEASE, ""); + break; + case DHCP_INFORM: + logToQt(STAT_OK, DHCP_INFORM, ""); + break; + default : + break; + } +} + +/* void logToQt(char * status, char * substatus, char * msg) { char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); strcpy(m,interfaceName); @@ -56,7 +88,7 @@ void logToQt(char * status, char * substatus, char * msg) { free(m); } - +*/ void logToQt(int status, int substatus, char * msg) { char * st = (char *) malloc(sizeof(int)*4+1); char * sst = (char *) malloc(sizeof(int)*4+1); diff --git a/workspace/customdhcpcd/src/logwriter.h b/workspace/customdhcpcd/src/logwriter.h index 7248fed..5ee7b84 100644 --- a/workspace/customdhcpcd/src/logwriter.h +++ b/workspace/customdhcpcd/src/logwriter.h @@ -15,7 +15,8 @@ void setSocketName(char * sn); void setInterfaceName(char * in); void initQtLoggerSocket (); void closeQtLoggerSocket (); -void logToQt(char * status, char * substatus, char * msg); +void logSendToQt(int type); +//void logToQt(char * status, char * substatus, char * msg); void logToQt(int status, int substatus, char * msg); void sendToQt (); -- cgit v1.2.3-55-g7522 From 635d6f901892cb7df028eb41f3d727e569a3af7e Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 14 Jul 2011 16:59:40 +0200 Subject: customdhcpcd is now compiling and can communicate with the LogReceiver started to implement the QProcess handling (parallel calls of dhcpcd out of fbgui/LogReceiver) --- workspace/LogReceiver/LogReceiver | Bin 35272 -> 35272 bytes workspace/LogReceiver/logreceiver.cpp | 57 +++++- workspace/LogReceiver/logreceiver.h | 9 +- workspace/customdhcpcd/src/dhcpcd.c | 329 +++++++++++++++++++++++++++++++-- workspace/customdhcpcd/src/dhcpcd.h | 9 + workspace/customdhcpcd/src/logger.h | 7 +- workspace/customdhcpcd/src/logwriter.c | 111 ++++++----- workspace/customdhcpcd/src/logwriter.h | 10 +- workspace/customdhcpcd/src/status.h | 3 +- 9 files changed, 454 insertions(+), 81 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 4c9ccec..4fa7468 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 29ea8d8..5c695e5 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -1,6 +1,8 @@ #include + #include #include -#include + #include + #include #include @@ -21,7 +23,7 @@ LogReceiver::LogReceiver(QWidget *parent) : quitButton->setAutoDefault(false); server = new QLocalServer(this); - if (!server->listen("/var/tmp/qt_c_socket_test")) { + if (!server->listen("/var/tmp/qt_c_socket_default")) { QMessageBox::critical(this, tr("LogReceiver"), tr( "Unable to start the server: %1.") .arg(server->errorString())); close(); @@ -70,9 +72,10 @@ void LogReceiver::handleNewInput() { QByteArray data = client->readAll(); QString logMsg(data); - QString s_state = logMsg.section(";", 0, 0); - QString s_subState = logMsg.section(";", 1, 1); - QString msg = logMsg.section(";", 2, 2); + QString interface = logMsg.section(";",0,0); + QString s_state = logMsg.section(";", 1, 1); + QString s_subState = logMsg.section(";", 2, 2); + QString msg = logMsg.section(";", 3, 3); qDebug() << logMsg; @@ -122,3 +125,47 @@ void LogReceiver::handleNewInput() { statusLabel->setText(logMsg); } +QList LogReceiver::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + QList result; + foreach(QNetworkInterface nI, nIList) { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| + nI.flags() & QNetworkInterface::IsLoopBack) || + nI.flags() & QNetworkInterface::IsPointToPoint)) + { + continue; + } + qDebug() << nI.humanReadableName(); + result.append(nI); + } + return result; +} + +void LogReceiver::runDHCPCD(QList &interfaces) { + foreach(QNetworkInterface ni, interfaces) { + QProcess * p = new QProcess(this); + clientProcesses.insert(p->pid(),p); + p->start(pathToDhcpcdExe,dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), + this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + } +} + +void LogReceiver::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + + QObject* sender = const_cast (QObject::sender()); + QProcess* process = static_cast (sender); + + QProcess * client = clientProcesses.value(process->pid()); +} + +void LogReceiver::handleProcessStarted() { + + QObject* sender = const_cast (QObject::sender()); + QProcess* process = static_cast (sender); + + QProcess * client = clientProcesses.value(process->pid()); +} + diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index f73a56a..0c9df48 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -20,15 +20,22 @@ public: private slots: void handleNewConnection(); void handleNewInput(); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); private: Ui::LogReceiverClass ui; QLabel *statusLabel; QPushButton *quitButton; QLocalServer *server; - QStringList fortunes; quint16 blockSize; QMap clients; + QMap clientProcesses; + QString pathToDhcpcdExe; + QStringList dhcpcdArguments; + + void runDHCPCD(QList &interfaces); + void getListOfNetworkInterfaces(); }; #endif // LOGRECEIVER_H diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index fca0bd4..1fc9040 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -68,6 +68,7 @@ static const struct option longopts[] = { {"metric", required_argument, NULL, 'm'}, {"renew", no_argument, NULL, 'n'}, {"persistent", no_argument, NULL, 'p'}, + {"qtsocketaddress", required_argument, NULL, 'q'}, {"inform", optional_argument, NULL, 's'}, {"request", optional_argument, NULL, 'r'}, {"timeout", required_argument, NULL, 't'}, @@ -142,11 +143,11 @@ static void usage (void) printf ("usage: "PACKAGE" [-adknpEGHMNRSTY] [-c script] [-h hostname] [-i classID]\n" " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" " [-t timeout] [-u userclass] [-F none | ptr | both]\n" - " [-I clientID] \n"); + " [-I clientID] [-q qtsocketaddress] \n"); } -int nd_main(char *ifname) +int main (int argc, char **argv) { options_t *options; int userclasses = 0; @@ -182,6 +183,10 @@ int nd_main(char *ifname) options->doipv4ll = true; options->doduid = true; options->timeout = DEFAULT_TIMEOUT; + /* added by Niklas Goby, additional field, storing the socket address path for + * communicating with Qt "server" + * defined in dhcpcd.h */ + strcpy(options->qtsocketaddress, DEFAULT_QTSOCKETADDRESS); gethostname (options->hostname, sizeof (options->hostname)); if (strcmp (options->hostname, "(none)") == 0 || @@ -189,7 +194,287 @@ int nd_main(char *ifname) memset (options->hostname, 0, sizeof (options->hostname)); -/* + /* Don't set any optional arguments here so we retain POSIX + * compatibility with getopt */ + while ((opt = getopt_long(argc, argv, EXTRA_OPTS + "c:dh:i:kl:m:npr:s:t:u:xAEF:GHI:LMNRSTY", + longopts, &option_index)) != -1) + { + switch (opt) { + case 0: + if (longopts[option_index].flag) + break; + logger (LOG_ERR, + "option `%s' should set a flag", + longopts[option_index].name); + goto abort; + case 'c': + options->script = optarg; + break; + case 'd': + debug++; + switch (debug) { + case 1: + setloglevel (LOG_DEBUG); + break; + case 2: + options->daemonise = false; + break; + } + break; + #ifdef THERE_IS_NO_FORK + case 'f': + options->daemonised = true; + close_fds (); + break; + case 'g': + dhcpcd_skiproutes = xstrdup (optarg); + break; + #endif + case 'h': + if (! optarg) + *options->hostname = '\0'; + else if (strlen (optarg) > MAXHOSTNAMELEN) { + logger (LOG_ERR, + "`%s' too long for HostName string, max is %d", + optarg, MAXHOSTNAMELEN); + goto abort; + } else + strlcpy (options->hostname, optarg, + sizeof (options->hostname)); + break; + case 'i': + if (! optarg) { + *options->classid = '\0'; + } else if (strlen (optarg) > CLASS_ID_MAX_LEN) { + logger (LOG_ERR, + "`%s' too long for ClassID string, max is %d", + optarg, CLASS_ID_MAX_LEN); + goto abort; + } else + strlcpy (options->classid, optarg, + sizeof (options->classid)); + break; + case 'k': + sig = SIGHUP; + break; + case 'l': + if (*optarg == '-') { + logger (LOG_ERR, + "leasetime must be a positive value"); + goto abort; + } + errno = 0; + options->leasetime = (uint32_t) strtol (optarg, NULL, 0); + if (errno == EINVAL || errno == ERANGE) { + logger (LOG_ERR, "`%s' out of range", optarg); + goto abort; + } + break; + case 'm': + options->metric = atoint (optarg); + if (options->metric < 0) { + logger (LOG_ERR, + "metric must be a positive value"); + goto abort; + } + break; + case 'n': + sig = SIGALRM; + break; + case 'p': + options->persistent = true; + break; + case 's': + options->doinform = true; + options->doarp = false; + if (! optarg || strlen (optarg) == 0) { + options->request_address.s_addr = 0; + break; + } else { + char *slash = strchr (optarg, '/'); + if (slash) { + int cidr; + /* nullify the slash, so the -r option can read the + * address */ + *slash++ = '\0'; + if (sscanf (slash, "%d", &cidr) != 1 || + inet_cidrtoaddr (cidr, &options->request_netmask) != 0) { + logger (LOG_ERR, "`%s' is not a valid CIDR", slash); + goto abort; + } + } + } + /* FALLTHROUGH */ + case 'r': + if (! options->doinform) + options->dorequest = true; + if (strlen (optarg) > 0 && + ! inet_aton (optarg, &options->request_address)) + { + logger (LOG_ERR, "`%s' is not a valid IP address", optarg); + goto abort; + } + break; + case 't': + options->timeout = atoint (optarg); + if (options->timeout < 0) { + logger (LOG_ERR, "timeout must be a positive value"); + goto abort; + } + break; + case 'q': + if (strlen(optarg) > QTSOCKETADDRESSLENGTH) { + logger(LOG_ERR, "`%s' too long for an socket address path (max=%d)", + optarg, QTSOCKETADDRESSLENGTH); + goto abort; + } + strlcpy(options->qtsocketaddress, optarg, sizeof(options->qtsocketaddress)); + break; + case 'u': + { + int offset = 0; + for (i = 0; i < userclasses; i++) + offset += (int) options->userclass[offset] + 1; + if (offset + 1 + strlen (optarg) > USERCLASS_MAX_LEN) { + logger (LOG_ERR, "userclass overrun, max is %d", + USERCLASS_MAX_LEN); + goto abort; + } + userclasses++; + memcpy (options->userclass + offset + 1 , optarg, strlen (optarg)); + options->userclass[offset] = strlen (optarg); + options->userclass_len += (strlen (optarg)) + 1; + } + break; + case 'x': + sig = SIGTERM; + break; + case 'A': + #ifndef ENABLE_ARP + logger (LOG_ERR, + "arp not compiled into dhcpcd"); + goto abort; + #endif + options->doarp = false; + break; + case 'E': + #ifndef ENABLE_INFO + logger (LOG_ERR, + "info not compiled into dhcpcd"); + goto abort; + #endif + options->dolastlease = true; + break; + case 'F': + if (strncmp (optarg, "none", strlen (optarg)) == 0) + options->fqdn = FQDN_NONE; + else if (strncmp (optarg, "ptr", strlen (optarg)) == 0) + options->fqdn = FQDN_PTR; + else if (strncmp (optarg, "both", strlen (optarg)) == 0) + options->fqdn = FQDN_BOTH; + else { + logger (LOG_ERR, "invalid value `%s' for FQDN", optarg); + goto abort; + } + break; + case 'G': + options->dogateway = false; + break; + case 'H': + options->dohostname++; + break; + case 'I': + if (optarg) { + if (strlen (optarg) > CLIENT_ID_MAX_LEN) { + logger (LOG_ERR, "`%s' is too long for ClientID, max is %d", + optarg, CLIENT_ID_MAX_LEN); + goto abort; + } + if (strlcpy (options->clientid, optarg, + sizeof (options->clientid)) == 0) + /* empty string disabled duid */ + options->doduid = false; + + } else { + memset (options->clientid, 0, sizeof (options->clientid)); + options->doduid = false; + } + break; + case 'L': + options->doipv4ll = false; + break; + case 'M': + options->domtu = false; + break; + case 'N': + options->dontp = false; + break; + case 'R': + options->dodns = false; + break; + case 'S': + options->domscsr++; + break; + case 'T': + #ifndef ENABLE_INFO + logger (LOG_ERR, "info support not compiled into dhcpcd"); + goto abort; + #endif + options->test = true; + options->persistent = true; + break; + case 'Y': + options->donis = false; + break; + case '?': + usage (); + goto abort; + default: + usage (); + goto abort; + } + } + if (doversion) { + printf (""PACKAGE" "VERSION"\n"); + printf ("Compile time options:" + #ifdef ENABLE_ARP + " ARP" + #endif + #ifdef ENABLE_DUID + " DUID" + #endif + #ifdef ENABLE_INFO + " INFO" + #endif + #ifdef ENABLE_INFO_COMPAT + " INFO_COMPAT" + #endif + #ifdef ENABLE_IPV4LL + " IPV4LL" + #endif + #ifdef ENABLE_NIS + " NIS" + #endif + #ifdef ENABLE_NTP + " NTP" + #endif + #ifdef SERVICE + " " SERVICE + #endif + #ifdef ENABLE_RESOLVCONF + " RESOLVCONF" + #endif + #ifdef THERE_IS_NO_FORK + " THERE_IS_NO_FORK" + #endif + "\n"); + } + + if (dohelp) + usage (); + + #ifdef THERE_IS_NO_FORK dhcpcd_argv = argv; dhcpcd_argc = argc; @@ -199,34 +484,44 @@ int nd_main(char *ifname) goto abort; } #endif -*/ /* initializations for the ipc connection to qt*/ - setSocketName(""); - setInterfaceName(ifname); - initQtLoggerSocket(); + setSocketName(options->qtsocketaddress); + if (initQtLoggerSocket() < 0) { + logger(LOG_ERR, "initialization Qt Logger failed: %s ", strerror (errno)); + goto abort; + } - if (strlen (ifname) > IF_NAMESIZE) { - logger (LOG_ERR, - "`%s' too long for an interface name (max=%d)", - ifname, IF_NAMESIZE); - logToQt(STAT_ERROR,-1,"interface name is too long"); + if (optind < argc) { + if (strlen(argv[optind]) > IF_NAMESIZE) { + logger(LOG_ERR, "`%s' too long for an interface name (max=%d)", + argv[optind], IF_NAMESIZE); goto abort; + } + strlcpy(options->interface, argv[optind], sizeof(options->interface)); + setInterfaceName(options->interface); } else { - strlcpy (options->interface, ifname, - sizeof (options->interface)); + /* If only version was requested then exit now */ + if (doversion || dohelp) { + retval = 0; + goto abort; + } + + logger(LOG_ERR, "no interface specified"); + setInterfaceName("no_if"); + goto abort; } - if (strchr (options->hostname, '.')) { + if (strchr(options->hostname, '.')) { if (options->fqdn == FQDN_DISABLE) options->fqdn = FQDN_BOTH; } else options->fqdn = FQDN_DISABLE; if (options->request_address.s_addr == 0 && options->doinform) { - if ((options->request_address.s_addr = - get_address (options->interface)) != 0) + if ((options->request_address.s_addr = get_address(options->interface)) + != 0) options->keep_address = true; } diff --git a/workspace/customdhcpcd/src/dhcpcd.h b/workspace/customdhcpcd/src/dhcpcd.h index 0b41ead..7deb5b7 100644 --- a/workspace/customdhcpcd/src/dhcpcd.h +++ b/workspace/customdhcpcd/src/dhcpcd.h @@ -40,6 +40,11 @@ #define DEFAULT_TIMEOUT 20 #define DEFAULT_LEASETIME 3600 /* 1 hour */ +/* added by Niklas Goby, additional field, storing the socket address path for + * communicating with Qt "server" */ +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define QTSOCKETADDRESSLENGTH 255 + #define CLASS_ID_MAX_LEN 48 #define CLIENT_ID_MAX_LEN 48 #define USERCLASS_MAX_LEN 255 @@ -52,6 +57,10 @@ extern char *dhcpcd_skiproutes; #endif typedef struct options_t { + /* added by Niklas Goby, additional field, storing the socket address path for + * communicating with Qt "server" */ + char qtsocketaddress[QTSOCKETADDRESSLENGTH]; + /*----*/ char interface[IF_NAMESIZE]; char hostname[MAXHOSTNAMELEN]; int fqdn; diff --git a/workspace/customdhcpcd/src/logger.h b/workspace/customdhcpcd/src/logger.h index e42e020..70e2ed5 100644 --- a/workspace/customdhcpcd/src/logger.h +++ b/workspace/customdhcpcd/src/logger.h @@ -43,11 +43,6 @@ void setloglevel (int level); void setlogprefix (const char *prefix); void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); -/** - * new functions for communicating with Qt - */ -void initQtLoggerSocket (); -void closeQtLoggerSocket (); -void sendToQt (); + #endif diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 5f51a7e..80f1f0a 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -7,12 +7,16 @@ #include #include #include +#include #include "common.h" #include "dhcp.h" +#include "logwriter.h" +#include "status.h" /*sockets for the logger and the qt-reader */ int sockfd, ns; +int retval; char *socketName; char *interfaceName; @@ -20,29 +24,83 @@ void setSocketName(char * sn) { socketName = sn; } -void setInterfaceName(char * in){ +void setInterfaceName(const char * in){ interfaceName = in; } -void initQtLoggerSocket() { +int initQtLoggerSocket() { /** * new code. seems to be right. */ + struct sockaddr_un serv_addr; + fprintf(stdout,"start init \n"); sockfd = socket(AF_UNIX, SOCK_STREAM, 0); - if (sockfd < 0) - fprintf(stdout,"ERROR opening socket"); + if (sockfd < 0) { + fprintf(stdout,"ERROR opening socket \n"); + retval = sockfd; + return sockfd; + } serv_addr.sun_family = AF_UNIX; strcpy(serv_addr.sun_path, socketName); - if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) - fprintf(stdout,"ERROR connecting"); + retval = connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); + if ( retval < 0) + fprintf(stdout,"ERROR connecting \n"); + fprintf(stdout,"init Qt Logger Socket done \n"); + return retval; } void closeQtLoggerSocket (){ close(sockfd); } +/* +void logToQt(char * status, char * substatus, char * msg) { + char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); + strcpy(m,interfaceName); + strcat(m,";"); + strcat(m,status); + strcat(m,";"); + strcat(m,substatus); + strcat(m,";"); + strcat(m,msg); + sendToQt(m); + + free(m); +} +*/ + + +void sendToQt(char *msg) { + int n = write(sockfd, msg, strlen(msg)); + if (n < 0) + fprintf(stdout, "ERROR writing to socket: %s", msg); +} + +void logToQt(int status, int substatus, const char * msg) { + if (retval >= 0) { + char * st = (char *) malloc(sizeof(int) * 4 + 1); + char * sst = (char *) malloc(sizeof(int) * 4 + 1); + sprintf(st, "%d", status); + sprintf(sst, "%d", substatus); + char * m = (char *) malloc(strlen(interfaceName) + strlen(st) + strlen( + sst) + strlen(msg) + 4); + strcpy(m, interfaceName); + strcat(m, ";"); + strcat(m, st); + strcat(m, ";"); + strcat(m, sst); + strcat(m, ";"); + strcat(m, msg); + sendToQt(m); + + free(st); + free(sst); + free(m); + } +} + void logSendToQt(int type) { switch(type) { case DHCP_DISCOVER: @@ -73,44 +131,3 @@ void logSendToQt(int type) { break; } } - -/* -void logToQt(char * status, char * substatus, char * msg) { - char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); - strcpy(m,interfaceName); - strcat(m,";"); - strcat(m,status); - strcat(m,";"); - strcat(m,substatus); - strcat(m,";"); - strcat(m,msg); - sendToQt(m); - - free(m); -} -*/ -void logToQt(int status, int substatus, char * msg) { - char * st = (char *) malloc(sizeof(int)*4+1); - char * sst = (char *) malloc(sizeof(int)*4+1); - sprintf(st,"%d",status); - sprintf(sst,"%d",substatus); - char * m = malloc(strlen(interfaceName) + strlen(st) + strlen(sst) + strlen(msg) + 4); - strcpy(m,interfaceName); - strcat(m,";"); - strcat(m, st); - strcat(m, ";"); - strcat(m, sst); - strcat(m, ";"); - strcat(m, msg); - sendToQt(m); - - free(st); - free(sst); - free(m); -} - -void sendToQt(char *msg) { - int n = write(sockfd, msg, strlen(msg)); - if (n < 0) - fprintf(stdout, "ERROR writing to socket: %s", msg); -} diff --git a/workspace/customdhcpcd/src/logwriter.h b/workspace/customdhcpcd/src/logwriter.h index 5ee7b84..6276b53 100644 --- a/workspace/customdhcpcd/src/logwriter.h +++ b/workspace/customdhcpcd/src/logwriter.h @@ -12,12 +12,14 @@ * new functions for communicating with Qt */ void setSocketName(char * sn); -void setInterfaceName(char * in); -void initQtLoggerSocket (); +void setInterfaceName(const char * in); +int initQtLoggerSocket (); void closeQtLoggerSocket (); +void sendToQt (); +void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); //void logToQt(char * status, char * substatus, char * msg); -void logToQt(int status, int substatus, char * msg); -void sendToQt (); + + #endif /* LOGWRITER_H_ */ diff --git a/workspace/customdhcpcd/src/status.h b/workspace/customdhcpcd/src/status.h index afdc071..493eea1 100644 --- a/workspace/customdhcpcd/src/status.h +++ b/workspace/customdhcpcd/src/status.h @@ -10,7 +10,8 @@ enum STATUS { STAT_OK, - STAT_ERROR + STAT_ERROR, + STAT_INFO }; enum SUBSTATUS { -- cgit v1.2.3-55-g7522 From 3c429677e0d34c2de3d2270842b28744f91c63dd Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 18 Jul 2011 16:57:52 +0200 Subject: made a small gui. Interfac names and progressbars will be added dynamicaly. --- workspace/LogReceiver/LogReceiver | Bin 35272 -> 55619 bytes workspace/LogReceiver/LogReceiver.pro | 2 + workspace/LogReceiver/logreceiver.cpp | 106 +++++++++++++++++++++++++++++++--- workspace/LogReceiver/logreceiver.h | 26 ++++++++- workspace/LogReceiver/logreceiver.ui | 88 ---------------------------- 5 files changed, 124 insertions(+), 98 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 4fa7468..282159d 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index 1be2ccd..566983d 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -9,3 +9,5 @@ SOURCES += main.cpp \ logreceiver.cpp FORMS += logreceiver.ui RESOURCES += +CFLAGS = -g -Wall +CXXFLAGS = -g -Wall \ No newline at end of file diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 5c695e5..82d24a2 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -16,7 +16,7 @@ LogReceiver::LogReceiver(QWidget *parent) : QDialog(parent) { - //ui.setupUi(this); + ui.setupUi(this); statusLabel = new QLabel; quitButton = new QPushButton(tr("Quit")); @@ -44,9 +44,17 @@ LogReceiver::LogReceiver(QWidget *parent) : QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(statusLabel); mainLayout->addLayout(buttonLayout); - setLayout(mainLayout); + //setLayout(mainLayout); - setWindowTitle(tr("Fortune Server")); + getListOfNetworkInterfaces(); + buildGui(); + addInterfacesToGroupBox(interfacesMap); + pathToDhcpcdExe = "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd"; + QString ifName("eth0"); + runDHCPCD(ifName); + + + setWindowTitle(tr("NetD")); } LogReceiver::~LogReceiver() { @@ -89,18 +97,19 @@ void LogReceiver::handleNewInput() { qDebug() << "received stat_ok"; switch (sst) { case DHCP_DISCOVER: + handleProgress(0,10); break; case DHCP_OFFER: - + handleProgress(0,20); break; case DHCP_REQUEST: - + handleProgress(0,30); break; case DHCP_DECLINE: break; case DHCP_ACK: - + handleProgress(0,40); break; case DHCP_NAK: @@ -128,6 +137,7 @@ void LogReceiver::handleNewInput() { QList LogReceiver::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); QList result; + int i = 0; foreach(QNetworkInterface nI, nIList) { if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| nI.flags() & QNetworkInterface::IsLoopBack) || @@ -137,35 +147,113 @@ QList LogReceiver::getListOfNetworkInterfaces() { } qDebug() << nI.humanReadableName(); result.append(nI); + interfacesMap.insert(i, nI); + i++; } return result; } void LogReceiver::runDHCPCD(QList &interfaces) { foreach(QNetworkInterface ni, interfaces) { + dhcpcdArguments.append(ni.humanReadableName()); QProcess * p = new QProcess(this); clientProcesses.insert(p->pid(),p); p->start(pathToDhcpcdExe,dhcpcdArguments); connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); } } +void LogReceiver::runDHCPCD(QString interface) { + dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + clientProcesses.insert(p->pid(),p); + p->start(pathToDhcpcdExe,dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), + this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); +} + void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QObject* sender = const_cast (QObject::sender()); QProcess* process = static_cast (sender); + QProcess* p = qobject_cast(QObject::sender()); QProcess * client = clientProcesses.value(process->pid()); + + qDebug() << "process finished: " << client->pid() << exitCode << exitStatus; } void LogReceiver::handleProcessStarted() { - QObject* sender = const_cast (QObject::sender()); - QProcess* process = static_cast (sender); +/* + //QObject* sender = const_cast (QObject::sender()); + QProcess* process = static_cast (QObject::sender()); +*/ + //QProcess* p = qobject_cast(QObject::sender()); + //QProcess * client = clientProcesses.value(process->pid()); - QProcess * client = clientProcesses.value(process->pid()); + + qDebug() << "process started: "; +} + +void LogReceiver::buildGui() { + + ndStatusLabel = new QLabel(tr("test")); + ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, + QSizePolicy::Expanding); + ndStatusLabel->setAlignment(Qt::AlignCenter); + ndStatusLabel->setMinimumSize(100, 20); + + // create interface group box + createInterfaceGroupBox(); + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(ndStatusLabel); + mainLayout->addWidget(interfaceGroupBox); + + setLayout(mainLayout); +} + +void LogReceiver::createInterfaceGroupBox(){ + interfaceGroupBox = new QGroupBox(tr("Interfaces")); + + interfaceGroupBoxLayout = new QVBoxLayout; + /* add interfaces via addInterfacesToGroupBox()*/ + + interfaceGroupBox->setLayout(interfaceGroupBoxLayout); +} + +void LogReceiver::addInterfacesToGroupBox(QMap &interfaces) { + for(int i = 0; i < interfaces.size(); i++) { + QHBoxLayout *hBoxLayout = new QHBoxLayout; + QLabel *label = new QLabel(interfaces.value(i).humanReadableName()); + QProgressBar *pBar = new QProgressBar(this); + pBar->setRange(1,100); + pBar->setMaximumSize(200,20); + + progressBars.insert(i,pBar); + + hBoxLayout->addWidget(label, Qt::AlignLeft); + hBoxLayout->addWidget(pBar, Qt::AlignRight); + + interfaceGroupBoxLayout->addLayout(hBoxLayout,2); + } +} + +void LogReceiver::handleProgress(int iFaceIndex, int newValue) { + QProgressBar * pBar = progressBars.value(iFaceIndex); + if(newValue >= pBar->value()) { + pBar->setValue(newValue); + } + else { + qDebug() << "Error: new value is smaller than the old value!"; + } } +int LogReceiver::checkBlackList() diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 0c9df48..2457933 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -3,6 +3,11 @@ #include #include +#include +#include +#include +#include +#include #include "ui_logreceiver.h" class QLabel; @@ -22,6 +27,7 @@ private slots: void handleNewInput(); void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); void handleProcessStarted(); + void handleProgress(int iFaceIndex, int newValue); private: Ui::LogReceiverClass ui; @@ -29,13 +35,31 @@ private: QPushButton *quitButton; QLocalServer *server; quint16 blockSize; + QMap interfacesMap; QMap clients; QMap clientProcesses; QString pathToDhcpcdExe; QStringList dhcpcdArguments; + /**/ + QStringList blackList; + + /*gui elements*/ + QMap progressBars; + QLabel *ndStatusLabel; + QGroupBox *interfaceGroupBox; + QVBoxLayout *mainLayout; + QVBoxLayout *interfaceGroupBoxLayout; + /**/ + void runDHCPCD(QList &interfaces); - void getListOfNetworkInterfaces(); + void runDHCPCD(QString interface); + QList getListOfNetworkInterfaces(); + + /*gui functions*/ + void buildGui(); + void createInterfaceGroupBox(); + void addInterfacesToGroupBox(QMap &interfaces); }; #endif // LOGRECEIVER_H diff --git a/workspace/LogReceiver/logreceiver.ui b/workspace/LogReceiver/logreceiver.ui index d8c1d46..0010c64 100644 --- a/workspace/LogReceiver/logreceiver.ui +++ b/workspace/LogReceiver/logreceiver.ui @@ -18,94 +18,6 @@ background:grey; } - - - - 10 - 10 - 131 - 17 - - - - NetworkDiscovery - - - - - - 30 - 60 - 151 - 17 - - - - verfügbare Interfaces - - - - - - 40 - 190 - 311 - 81 - - - - - - - 10 - 150 - 71 - 17 - - - - StatusLog - - - - - - 10 - 140 - 371 - 16 - - - - Qt::Horizontal - - - - - - 40 - 90 - 67 - 17 - - - - i_Name - - - - - - 230 - 90 - 67 - 17 - - - - status - - -- cgit v1.2.3-55-g7522 From 3ca41856a5a4a1a3444110633eb7c246cee38815 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 20 Jul 2011 14:59:56 +0200 Subject: added the blacklist function --- workspace/LogReceiver/LogReceiver.pro | 4 +--- workspace/LogReceiver/logreceiver.cpp | 15 +++++++++++++-- workspace/LogReceiver/logreceiver.h | 1 + 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index 566983d..299de02 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -8,6 +8,4 @@ HEADERS += status.h \ SOURCES += main.cpp \ logreceiver.cpp FORMS += logreceiver.ui -RESOURCES += -CFLAGS = -g -Wall -CXXFLAGS = -g -Wall \ No newline at end of file +RESOURCES += \ No newline at end of file diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 82d24a2..30a29e7 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -141,7 +141,8 @@ QList LogReceiver::getListOfNetworkInterfaces() { foreach(QNetworkInterface nI, nIList) { if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| nI.flags() & QNetworkInterface::IsLoopBack) || - nI.flags() & QNetworkInterface::IsPointToPoint)) + nI.flags() & QNetworkInterface::IsPointToPoint) || + checkBlackList(nI.humanReadableName())) { continue; } @@ -256,4 +257,14 @@ void LogReceiver::handleProgress(int iFaceIndex, int newValue) { } } -int LogReceiver::checkBlackList() +bool LogReceiver::checkBlackList(QString i) { + if (i.startsWith("v", Qt::CaseInsensitive)) { + return true; + } + else if(i.startsWith("d", Qt::CaseInsensitive)) { + return true; + } + else { + return false; + } +} diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 2457933..7269823 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -60,6 +60,7 @@ private: void buildGui(); void createInterfaceGroupBox(); void addInterfacesToGroupBox(QMap &interfaces); + bool checkBlackList(QString i); }; #endif // LOGRECEIVER_H -- cgit v1.2.3-55-g7522 From 39a0d42dde28ea9b45be9a47a8285c58e34799ad Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 20 Jul 2011 16:15:03 +0200 Subject: configuration of more than one interface is working. Both progressbars are updated. only bad thing is that it is slower than expected due to the qt gui --- workspace/LogReceiver/LogReceiver | Bin 55619 -> 56166 bytes workspace/LogReceiver/logreceiver.cpp | 18 +++++++++++------- workspace/LogReceiver/logreceiver.h | 3 +-- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 282159d..13304e8 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 30a29e7..f1a20b0 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -46,12 +46,13 @@ LogReceiver::LogReceiver(QWidget *parent) : mainLayout->addLayout(buttonLayout); //setLayout(mainLayout); - getListOfNetworkInterfaces(); + QList list = getListOfNetworkInterfaces(); buildGui(); addInterfacesToGroupBox(interfacesMap); pathToDhcpcdExe = "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd"; - QString ifName("eth0"); - runDHCPCD(ifName); + dhcpcdArguments.append("-d"); + //QString ifName(); + runDHCPCD(list); setWindowTitle(tr("NetD")); @@ -85,6 +86,8 @@ void LogReceiver::handleNewInput() { QString s_subState = logMsg.section(";", 2, 2); QString msg = logMsg.section(";", 3, 3); + int pBar = indexToIfaceNameMap.value(interface); + qDebug() << logMsg; qDebug() << msg; @@ -97,19 +100,19 @@ void LogReceiver::handleNewInput() { qDebug() << "received stat_ok"; switch (sst) { case DHCP_DISCOVER: - handleProgress(0,10); + handleProgress(pBar,10); break; case DHCP_OFFER: - handleProgress(0,20); + handleProgress(pBar,20); break; case DHCP_REQUEST: - handleProgress(0,30); + handleProgress(pBar,30); break; case DHCP_DECLINE: break; case DHCP_ACK: - handleProgress(0,40); + handleProgress(pBar,40); break; case DHCP_NAK: @@ -149,6 +152,7 @@ QList LogReceiver::getListOfNetworkInterfaces() { qDebug() << nI.humanReadableName(); result.append(nI); interfacesMap.insert(i, nI); + indexToIfaceNameMap.insert(nI.humanReadableName(), i); i++; } return result; diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 7269823..5bd209d 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -36,13 +36,12 @@ private: QLocalServer *server; quint16 blockSize; QMap interfacesMap; + QMap indexToIfaceNameMap; QMap clients; QMap clientProcesses; QString pathToDhcpcdExe; QStringList dhcpcdArguments; - /**/ - QStringList blackList; /*gui elements*/ QMap progressBars; -- cgit v1.2.3-55-g7522 From ddac93a94b860c94e6fb893ed5a9c508c19231f1 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 21 Jul 2011 17:29:53 +0200 Subject: log messages are delivered to qt app. --- workspace/LogReceiver/LogReceiver | Bin 56166 -> 60452 bytes workspace/LogReceiver/logreceiver.cpp | 37 ++++++++++++++++++++++++--------- workspace/LogReceiver/logreceiver.h | 1 + workspace/customdhcpcd/src/client.c | 2 +- workspace/customdhcpcd/src/dhcpcd.c | 4 ++-- workspace/customdhcpcd/src/logger.c | 7 +++++++ workspace/customdhcpcd/src/logwriter.c | 28 +++++++++++++++++-------- workspace/customdhcpcd/src/logwriter.h | 1 + 8 files changed, 58 insertions(+), 22 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 13304e8..b324cb7 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index f1a20b0..4aeebfc 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -7,6 +7,7 @@ #include #include #include + #include #include "logreceiver.h" #include @@ -50,8 +51,8 @@ LogReceiver::LogReceiver(QWidget *parent) : buildGui(); addInterfacesToGroupBox(interfacesMap); pathToDhcpcdExe = "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd"; - dhcpcdArguments.append("-d"); - //QString ifName(); + //dhcpcdArguments.append("-d"); + QString ifName("eth1"); runDHCPCD(list); @@ -79,7 +80,19 @@ void LogReceiver::handleNewInput() { QLocalSocket * client = clients.value(socket); - QByteArray data = client->readAll(); + QString data(client->readAll()); + + data = data.trimmed(); + + QStringList lines = data.split("\n"); + + for (int i=0; i < lines.length(); i++) { + handleNewInputLine(lines.at(i)); + } +} + +void LogReceiver::handleNewInputLine(QString data) { + QString logMsg(data); QString interface = logMsg.section(";",0,0); QString s_state = logMsg.section(";", 1, 1); @@ -88,16 +101,17 @@ void LogReceiver::handleNewInput() { int pBar = indexToIfaceNameMap.value(interface); - qDebug() << logMsg; + //qDebug() << logMsg; - qDebug() << msg; + //qDebug() << msg; int st = s_state.toInt(); int sst = s_subState.toInt(); switch (st) { - case STAT_OK: - qDebug() << "received stat_ok"; + case LOG_INFO: + qDebug() << "received LOG_INFO"; + qDebug() << sst; switch (sst) { case DHCP_DISCOVER: handleProgress(pBar,10); @@ -126,15 +140,18 @@ void LogReceiver::handleNewInput() { default: break; } + + qDebug() << msg; + break; - case STAT_ERROR: + case LOG_ERR: qDebug() << "received stat_error"; break; default: - qDebug() << "undefined status"; + qDebug() << logMsg; } - statusLabel->setText(logMsg); + //statusLabel->setText(logMsg); } QList LogReceiver::getListOfNetworkInterfaces() { diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 5bd209d..2dce00a 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -25,6 +25,7 @@ public: private slots: void handleNewConnection(); void handleNewInput(); + void handleNewInputLine(QString data); void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); void handleProcessStarted(); void handleProgress(int iFaceIndex, int newValue); diff --git a/workspace/customdhcpcd/src/client.c b/workspace/customdhcpcd/src/client.c index 24c8680..5a8a9e9 100644 --- a/workspace/customdhcpcd/src/client.c +++ b/workspace/customdhcpcd/src/client.c @@ -854,7 +854,7 @@ static int handle_dhcp (state_t *state, int type, const options_t *options) } /* if we are here, than we received an ACK and can go on with configuration */ - logToQt(STAT_OK, DHCP_ACK, ""); + logToQt(LOG_INFO, DHCP_ACK, ""); switch (state->state) { case STATE_RENEW_REQUESTED: diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index 1fc9040..550c25a 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -528,7 +528,7 @@ int main (int argc, char **argv) if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { logger (LOG_ERR, "you are not allowed to request a link local address"); - logToQt(STAT_ERROR, -1, "you are not allowed to request a link local address"); + logToQt(LOG_ERR, -1, "you are not allowed to request a link local address"); goto abort; } @@ -666,7 +666,7 @@ abort: #endif logger (LOG_INFO, "exiting"); - logToQt(STAT_INFO, -1, "exiting due abort"); + logToQt(LOG_INFO, 0, "exiting due abort"); exit (retval); /* NOTREACHED */ } diff --git a/workspace/customdhcpcd/src/logger.c b/workspace/customdhcpcd/src/logger.c index d084e62..cecd2b8 100644 --- a/workspace/customdhcpcd/src/logger.c +++ b/workspace/customdhcpcd/src/logger.c @@ -42,6 +42,7 @@ #include "common.h" #include "logger.h" +#include "logwriter.h" static int loglevel = LOG_WARNING; @@ -97,6 +98,12 @@ void logger (int level, const char *fmt, ...) vfprintf (f, fmt, p); fputc ('\n', f); + /* new function by Niklas Goby + * send the log message also to our Qt programm. + * implemented in logwriter.c + * */ + logLoggerToQt(level, fmt, p); + /* stdout, stderr may be re-directed to some kind of buffer. * So we always flush to ensure it's written. */ fflush (f); diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 80f1f0a..8b6d6dc 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -11,6 +11,7 @@ #include "common.h" #include "dhcp.h" +#include "logger.h" #include "logwriter.h" #include "status.h" @@ -19,6 +20,7 @@ int sockfd, ns; int retval; char *socketName; char *interfaceName; +char mesg[256] = {0}; void setSocketName(char * sn) { socketName = sn; @@ -74,8 +76,10 @@ void logToQt(char * status, char * substatus, char * msg) { void sendToQt(char *msg) { int n = write(sockfd, msg, strlen(msg)); +// fflush(sockfd); if (n < 0) - fprintf(stdout, "ERROR writing to socket: %s", msg); + syslog (LOG_ERR, sprintf("[fbgui] ERROR writing to socket: %s", msg)); +// fprintf(stdout, "ERROR writing to socket: %s", msg); } void logToQt(int status, int substatus, const char * msg) { @@ -104,30 +108,36 @@ void logToQt(int status, int substatus, const char * msg) { void logSendToQt(int type) { switch(type) { case DHCP_DISCOVER: - logToQt(STAT_OK, DHCP_DISCOVER, ""); + logToQt(LOG_INFO, DHCP_DISCOVER, ""); break; case DHCP_OFFER: - logToQt(STAT_OK, DHCP_OFFER, ""); + logToQt(LOG_INFO, DHCP_OFFER, ""); break; case DHCP_REQUEST: - logToQt(STAT_OK, DHCP_REQUEST, ""); + logToQt(LOG_INFO, DHCP_REQUEST, ""); break; case DHCP_DECLINE: - logToQt(STAT_OK, DHCP_DECLINE, ""); + logToQt(LOG_INFO, DHCP_DECLINE, ""); break; case DHCP_ACK: - logToQt(STAT_OK, DHCP_ACK, ""); + logToQt(LOG_INFO, DHCP_ACK, ""); break; case DHCP_NAK: - logToQt(STAT_OK, DHCP_NAK, ""); + logToQt(LOG_INFO, DHCP_NAK, ""); break; case DHCP_RELEASE: - logToQt(STAT_OK, DHCP_RELEASE, ""); + logToQt(LOG_INFO, DHCP_RELEASE, ""); break; case DHCP_INFORM: - logToQt(STAT_OK, DHCP_INFORM, ""); + logToQt(LOG_INFO, DHCP_INFORM, ""); break; default : break; } } + +void logLoggerToQt(int level, const char *fmt, va_list args) { + vsnprintf(mesg, sizeof(mesg), fmt, args); + strcat(mesg, "\n"); + logToQt(level, 0, mesg); +} diff --git a/workspace/customdhcpcd/src/logwriter.h b/workspace/customdhcpcd/src/logwriter.h index 6276b53..84d409d 100644 --- a/workspace/customdhcpcd/src/logwriter.h +++ b/workspace/customdhcpcd/src/logwriter.h @@ -18,6 +18,7 @@ void closeQtLoggerSocket (); void sendToQt (); void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); +void logLoggerToQt(int level, const char *fmt, va_list args); //void logToQt(char * status, char * substatus, char * msg); -- cgit v1.2.3-55-g7522 From 87dc3eae8eeb774aecf005465ddd9eecdd829b8a Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 28 Jul 2011 16:00:49 +0200 Subject: better version of the logwriter.c and started to devide gui and logic --- workspace/LogReceiver/LogReceiver | Bin 60452 -> 65044 bytes workspace/LogReceiver/LogReceiver.pro | 12 ++- workspace/LogReceiver/logreceiver.cpp | 184 +++++++++++++++++++-------------- workspace/LogReceiver/logreceiver.h | 32 ++---- workspace/LogReceiver/main.cpp | 2 +- workspace/LogReceiver/ndgui.cpp | 73 +++++++++++++ workspace/LogReceiver/ndgui.h | 38 +++++++ workspace/LogReceiver/ndgui.ui | 19 ++++ workspace/customdhcpcd/src/dhcpcd.c | 2 +- workspace/customdhcpcd/src/logwriter.c | 77 +++++++------- workspace/customdhcpcd/src/logwriter.h | 15 ++- 11 files changed, 304 insertions(+), 150 deletions(-) create mode 100644 workspace/LogReceiver/ndgui.cpp create mode 100644 workspace/LogReceiver/ndgui.h create mode 100644 workspace/LogReceiver/ndgui.ui diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index b324cb7..f08dc0a 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index 299de02..ef51cfb 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -3,9 +3,13 @@ TARGET = LogReceiver QT += core \ gui \ network -HEADERS += status.h \ +LIBS += -lsysfs +HEADERS += ndgui.h \ + status.h \ logreceiver.h -SOURCES += main.cpp \ +SOURCES += ndgui.cpp \ + main.cpp \ logreceiver.cpp -FORMS += logreceiver.ui -RESOURCES += \ No newline at end of file +FORMS += ndgui.ui \ + logreceiver.ui +RESOURCES += diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 4aeebfc..554b721 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -1,4 +1,3 @@ - #include #include #include #include @@ -8,55 +7,41 @@ #include #include #include + #include #include "logreceiver.h" #include #include #include "status.h" + #include "dhcp.h" -LogReceiver::LogReceiver(QWidget *parent) : - QDialog(parent) { - ui.setupUi(this); - - statusLabel = new QLabel; - quitButton = new QPushButton(tr("Quit")); - quitButton->setAutoDefault(false); +LogReceiver::LogReceiver() { server = new QLocalServer(this); if (!server->listen("/var/tmp/qt_c_socket_default")) { + /* QMessageBox::critical(this, tr("LogReceiver"), tr( "Unable to start the server: %1.") .arg(server->errorString())); close(); + */ + // emit signal to the gui that a critial error occoured return; } - statusLabel->setText(tr("The server is running.\n" - "Run the C Client example now.")); - - connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - QHBoxLayout *buttonLayout = new QHBoxLayout; - buttonLayout->addStretch(1); - buttonLayout->addWidget(quitButton); - buttonLayout->addStretch(1); - - QVBoxLayout *mainLayout = new QVBoxLayout; - mainLayout->addWidget(statusLabel); - mainLayout->addLayout(buttonLayout); - //setLayout(mainLayout); - QList list = getListOfNetworkInterfaces(); - buildGui(); - addInterfacesToGroupBox(interfacesMap); + //qDebug() << list.size(); + //checkCarrierState(list); + //qDebug() << list.size(); + //checkCarrierState("eth1"); + //checkCarrierState("eth0"); pathToDhcpcdExe = "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd"; - //dhcpcdArguments.append("-d"); + dhcpcdArguments.append("-d"); QString ifName("eth1"); - runDHCPCD(list); - + runDHCPCD(ifName); - setWindowTitle(tr("NetD")); } LogReceiver::~LogReceiver() { @@ -166,6 +151,36 @@ QList LogReceiver::getListOfNetworkInterfaces() { { continue; } + /* + if(!(nI.flags() & QNetworkInterface::IsUp)) { + qDebug() << nI.humanReadableName() + " is DOWN "; + + QProcess * p = new QProcess(this); + QStringList args; + args.append(nI.humanReadableName()); + args.append("up"); + p->start("ifconfig",args); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + p->waitForFinished(); + qDebug() << nI.humanReadableName() + " is UP "; +/* + QNetworkConfigurationManager manager; + QList confList = manager.allConfigurations(); + foreach(QNetworkConfiguration nC, confList){ + if( nC.name() == "Auto eth1") { + QNetworkConfiguration conf = manager.configurationFromIdentifier(nC.identifier()); + if(conf.isValid()) { + QNetworkSession *session = new QNetworkSession(conf); + session->open(); + } + qDebug() << "conf is not valid"; + } + qDebug() << nC.name(); + qDebug() << nC.identifier(); + } +*/ + + //} qDebug() << nI.humanReadableName(); result.append(nI); interfacesMap.insert(i, nI); @@ -199,6 +214,67 @@ void LogReceiver::runDHCPCD(QString interface) { dhcpcdArguments.removeLast(); } +void LogReceiver::checkCarrierState(QList &interfaces) { + foreach(QNetworkInterface nI, interfaces) { + if(checkCarrierState(nI.humanReadableName())) { + // everything is fine, cable is plugged, + // go on with the next interface + continue; + } + else { + // cable is unplugged, + // remove interface out of the list, + // remove interface out ot the index maps + int i = indexToIfaceNameMap.value(nI.humanReadableName()); + indexToIfaceNameMap.remove(nI.humanReadableName()); + interfacesMap.remove(i); + interfaces.removeAt(i); + } + } +} + +bool LogReceiver::checkCarrierState(QString interface) { + + qDebug() << "check carrier state for interface " << interface; + QByteArray ba = interface.toAscii(); + const char * iface = ba.data(); + + struct sysfs_class_device *class_device = sysfs_open_class_device("net", + iface); + struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); + if (attrlist != NULL) { + struct sysfs_attribute *attr = NULL; + dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { + if (strcmp("carrier", attr->name) == 0) { + QString value(attr->value); + bool ok = false; + bool * pok = &ok; + int v = value.toInt(pok); + if (*pok) { + if (v == 1) { + qDebug() + << "carrier is 1. Cable is plugged. return true"; + return true; + } else { + qDebug() + << "carrier is 0. Cable is unplugged. return false"; + return false; + } + } else { + qDebug() << "conversion error"; + } + } + } + } else { + qDebug() << "attrlist is Null"; + } + sysfs_close_class_device(class_device); + + return true; +} + + + void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { @@ -224,59 +300,7 @@ void LogReceiver::handleProcessStarted() { qDebug() << "process started: "; } -void LogReceiver::buildGui() { - - ndStatusLabel = new QLabel(tr("test")); - ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, - QSizePolicy::Expanding); - ndStatusLabel->setAlignment(Qt::AlignCenter); - ndStatusLabel->setMinimumSize(100, 20); - - // create interface group box - createInterfaceGroupBox(); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(ndStatusLabel); - mainLayout->addWidget(interfaceGroupBox); - - setLayout(mainLayout); -} - -void LogReceiver::createInterfaceGroupBox(){ - interfaceGroupBox = new QGroupBox(tr("Interfaces")); - - interfaceGroupBoxLayout = new QVBoxLayout; - /* add interfaces via addInterfacesToGroupBox()*/ - - interfaceGroupBox->setLayout(interfaceGroupBoxLayout); -} - -void LogReceiver::addInterfacesToGroupBox(QMap &interfaces) { - for(int i = 0; i < interfaces.size(); i++) { - QHBoxLayout *hBoxLayout = new QHBoxLayout; - QLabel *label = new QLabel(interfaces.value(i).humanReadableName()); - QProgressBar *pBar = new QProgressBar(this); - pBar->setRange(1,100); - pBar->setMaximumSize(200,20); - - progressBars.insert(i,pBar); - - hBoxLayout->addWidget(label, Qt::AlignLeft); - hBoxLayout->addWidget(pBar, Qt::AlignRight); - - interfaceGroupBoxLayout->addLayout(hBoxLayout,2); - } -} -void LogReceiver::handleProgress(int iFaceIndex, int newValue) { - QProgressBar * pBar = progressBars.value(iFaceIndex); - if(newValue >= pBar->value()) { - pBar->setValue(newValue); - } - else { - qDebug() << "Error: new value is smaller than the old value!"; - } -} bool LogReceiver::checkBlackList(QString i) { if (i.startsWith("v", Qt::CaseInsensitive)) { diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 2dce00a..e4592c0 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -1,25 +1,19 @@ #ifndef LOGRECEIVER_H #define LOGRECEIVER_H -#include -#include #include #include -#include -#include -#include -#include "ui_logreceiver.h" class QLabel; class QPushButton; class QLocalServer; class QLocalSocket; -class LogReceiver: public QDialog { +class LogReceiver: public QObject { Q_OBJECT public: - LogReceiver(QWidget *parent = 0); + LogReceiver(); ~LogReceiver(); private slots: @@ -28,12 +22,9 @@ private slots: void handleNewInputLine(QString data); void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); void handleProcessStarted(); - void handleProgress(int iFaceIndex, int newValue); + private: - Ui::LogReceiverClass ui; - QLabel *statusLabel; - QPushButton *quitButton; QLocalServer *server; quint16 blockSize; QMap interfacesMap; @@ -43,24 +34,13 @@ private: QString pathToDhcpcdExe; QStringList dhcpcdArguments; - - /*gui elements*/ - QMap progressBars; - QLabel *ndStatusLabel; - QGroupBox *interfaceGroupBox; - QVBoxLayout *mainLayout; - QVBoxLayout *interfaceGroupBoxLayout; - /**/ - void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); + void checkCarrierState(QList &interfaces); + bool checkCarrierState(QString interface); QList getListOfNetworkInterfaces(); - - /*gui functions*/ - void buildGui(); - void createInterfaceGroupBox(); - void addInterfacesToGroupBox(QMap &interfaces); bool checkBlackList(QString i); + }; #endif // LOGRECEIVER_H diff --git a/workspace/LogReceiver/main.cpp b/workspace/LogReceiver/main.cpp index e545906..52d0ac9 100644 --- a/workspace/LogReceiver/main.cpp +++ b/workspace/LogReceiver/main.cpp @@ -6,7 +6,7 @@ int main(int argc, char *argv[]) { QApplication a(argc, argv); - LogReceiver w; + ndgui w; w.show(); return a.exec(); } diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp new file mode 100644 index 0000000..0d4c505 --- /dev/null +++ b/workspace/LogReceiver/ndgui.cpp @@ -0,0 +1,73 @@ +#include "ndgui.h" + +ndgui::ndgui(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + + buildGui(); + addInterfacesToGroupBox(list); + + + setWindowTitle(tr("NetD")); +} + +ndgui::~ndgui() +{ + +} + +void ndgui::buildGui() { + + ndStatusLabel = new QLabel(tr("test")); + ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, + QSizePolicy::Expanding); + ndStatusLabel->setAlignment(Qt::AlignCenter); + ndStatusLabel->setMinimumSize(100, 20); + + // create interface group box + createInterfaceGroupBox(); + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(ndStatusLabel); + mainLayout->addWidget(interfaceGroupBox); + + setLayout(mainLayout); +} + +void ndgui::createInterfaceGroupBox(){ + interfaceGroupBox = new QGroupBox(tr("Interfaces")); + + interfaceGroupBoxLayout = new QVBoxLayout; + /* add interfaces via addInterfacesToGroupBox()*/ + + interfaceGroupBox->setLayout(interfaceGroupBoxLayout); +} + +void ndgui::addInterfacesToGroupBox(QList &interfaces) { + foreach(QNetworkInterface nI, interfaces){ + int index = indexToIfaceNameMap.value(nI.humanReadableName()); + QHBoxLayout *hBoxLayout = new QHBoxLayout; + QLabel *label = new QLabel(nI.humanReadableName()); + QProgressBar *pBar = new QProgressBar(this); + pBar->setRange(1,100); + pBar->setMaximumSize(200,20); + + progressBars.insert(index,pBar); + + hBoxLayout->addWidget(label, Qt::AlignLeft); + hBoxLayout->addWidget(pBar, Qt::AlignRight); + + interfaceGroupBoxLayout->addLayout(hBoxLayout,2); + } +} + +void ndgui::handleProgress(int iFaceIndex, int newValue) { + QProgressBar * pBar = progressBars.value(iFaceIndex); + if(newValue >= pBar->value()) { + pBar->setValue(newValue); + } + else { + qDebug() << "Error: new value is smaller than the old value!"; + } +} diff --git a/workspace/LogReceiver/ndgui.h b/workspace/LogReceiver/ndgui.h new file mode 100644 index 0000000..01b9d01 --- /dev/null +++ b/workspace/LogReceiver/ndgui.h @@ -0,0 +1,38 @@ +#ifndef NDGUI_H +#define NDGUI_H + +#include +#include "ui_ndgui.h" + +class ndgui: public QWidget { +Q_OBJECT + +public: + ndgui(QWidget *parent = 0); + ~ndgui(); + +public slots: + void handleProgress(int iFaceIndex, int newValue); + +private: + Ui::ndguiClass ui; + + /*gui elements*/ + QMap progressBars; + QLabel *ndStatusLabel; + QGroupBox *interfaceGroupBox; + QVBoxLayout *mainLayout; + QVBoxLayout *interfaceGroupBoxLayout; + /**/ + + /*gui functions*/ + void buildGui(); + void createInterfaceGroupBox(); + void addInterfacesToGroupBox(QList &interfaces); + + + + +}; + +#endif // NDGUI_H diff --git a/workspace/LogReceiver/ndgui.ui b/workspace/LogReceiver/ndgui.ui new file mode 100644 index 0000000..4a4c466 --- /dev/null +++ b/workspace/LogReceiver/ndgui.ui @@ -0,0 +1,19 @@ + + ndguiClass + + + + 0 + 0 + 400 + 300 + + + + ndgui + + + + + + diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index 550c25a..43ce3ed 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -646,7 +646,7 @@ int main (int argc, char **argv) /* Massage our filters per platform */ setup_packet_filters (); - /*dhcp_run : defined in client.c*/ + /* dhcp_run : defined in client.c */ if (dhcp_run (options, &pidfd) == 0) retval = EXIT_SUCCESS; diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 8b6d6dc..be8ee26 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -11,23 +11,24 @@ #include "common.h" #include "dhcp.h" +#include "dhcpcd.h" #include "logger.h" #include "logwriter.h" #include "status.h" /*sockets for the logger and the qt-reader */ int sockfd, ns; -int retval; -char *socketName; -char *interfaceName; +int retval = -1; +char socketName[QTSOCKETADDRESSLENGTH]; +char interfaceName[IF_NAMESIZE]; char mesg[256] = {0}; -void setSocketName(char * sn) { - socketName = sn; +void setSocketName(const char * sn) { + snprintf(socketName, sizeof(socketName), "%s", sn); } void setInterfaceName(const char * in){ - interfaceName = in; + snprintf(interfaceName, sizeof(interfaceName), "%s", in); } int initQtLoggerSocket() { @@ -74,62 +75,66 @@ void logToQt(char * status, char * substatus, char * msg) { */ -void sendToQt(char *msg) { - int n = write(sockfd, msg, strlen(msg)); +void sendToQt(log_msg * msg) { + int n = -1; + const char *tpl = "%s;%d;%d;%s\n"; + char *outbuf; + size_t outbuf_size = + sizeof(char)*4 + // ";" *3 + newline + sizeof(int)*2 + // status, substatus + sizeof(msg->device) + // devicename + sizeof(msg->msg); // msg + outbuf = malloc(outbuf_size); + memset(outbuf,0,outbuf_size); + snprintf(outbuf, sizeof(char)*3 + sizeof(int)*2 + sizeof(msg->device) + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, msg->msg); + if (outbuf != NULL){ + n = write(sockfd, outbuf, outbuf_size); + } + free(outbuf); + syslog (LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); // fflush(sockfd); - if (n < 0) - syslog (LOG_ERR, sprintf("[fbgui] ERROR writing to socket: %s", msg)); + if (n < 0) { + syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); // fprintf(stdout, "ERROR writing to socket: %s", msg); + } } void logToQt(int status, int substatus, const char * msg) { if (retval >= 0) { - char * st = (char *) malloc(sizeof(int) * 4 + 1); - char * sst = (char *) malloc(sizeof(int) * 4 + 1); - sprintf(st, "%d", status); - sprintf(sst, "%d", substatus); - char * m = (char *) malloc(strlen(interfaceName) + strlen(st) + strlen( - sst) + strlen(msg) + 4); - strcpy(m, interfaceName); - strcat(m, ";"); - strcat(m, st); - strcat(m, ";"); - strcat(m, sst); - strcat(m, ";"); - strcat(m, msg); - sendToQt(m); - - free(st); - free(sst); - free(m); + log_msg lm; + lm.status = status; + lm.substatus = substatus; + snprintf(lm.msg, sizeof(lm.msg), "%s", msg); + snprintf(lm.device, sizeof(lm.device), "%s", interfaceName); + sendToQt(&lm); } } void logSendToQt(int type) { switch(type) { case DHCP_DISCOVER: - logToQt(LOG_INFO, DHCP_DISCOVER, ""); + logToQt(LOG_INFO, DHCP_DISCOVER, "send discover"); break; case DHCP_OFFER: - logToQt(LOG_INFO, DHCP_OFFER, ""); + logToQt(LOG_INFO, DHCP_OFFER, "send offer"); break; case DHCP_REQUEST: - logToQt(LOG_INFO, DHCP_REQUEST, ""); + logToQt(LOG_INFO, DHCP_REQUEST, "send request"); break; case DHCP_DECLINE: - logToQt(LOG_INFO, DHCP_DECLINE, ""); + logToQt(LOG_INFO, DHCP_DECLINE, "send decline"); break; case DHCP_ACK: - logToQt(LOG_INFO, DHCP_ACK, ""); + logToQt(LOG_INFO, DHCP_ACK, "send ack"); break; case DHCP_NAK: - logToQt(LOG_INFO, DHCP_NAK, ""); + logToQt(LOG_INFO, DHCP_NAK, "send nak"); break; case DHCP_RELEASE: - logToQt(LOG_INFO, DHCP_RELEASE, ""); + logToQt(LOG_INFO, DHCP_RELEASE, "send release"); break; case DHCP_INFORM: - logToQt(LOG_INFO, DHCP_INFORM, ""); + logToQt(LOG_INFO, DHCP_INFORM, "send inform"); break; default : break; diff --git a/workspace/customdhcpcd/src/logwriter.h b/workspace/customdhcpcd/src/logwriter.h index 84d409d..1a755fc 100644 --- a/workspace/customdhcpcd/src/logwriter.h +++ b/workspace/customdhcpcd/src/logwriter.h @@ -8,10 +8,22 @@ #ifndef LOGWRITER_H_ #define LOGWRITER_H_ +#include "dhcpcd.h" + +#define LOG_MSG_SIZE 1024 + +typedef struct _log_msg log_msg; +struct _log_msg { + int status; + int substatus; + char device[IF_NAMESIZE]; + char msg[LOG_MSG_SIZE]; +}; + /** * new functions for communicating with Qt */ -void setSocketName(char * sn); +void setSocketName(const char * sn); void setInterfaceName(const char * in); int initQtLoggerSocket (); void closeQtLoggerSocket (); @@ -22,5 +34,4 @@ void logLoggerToQt(int level, const char *fmt, va_list args); //void logToQt(char * status, char * substatus, char * msg); - #endif /* LOGWRITER_H_ */ -- cgit v1.2.3-55-g7522 From 2a04cb4147eb9c583fae8d0b3120a74eaf1af68a Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 1 Aug 2011 12:31:12 +0200 Subject: seperation of logic and gui completed. --- workspace/LogReceiver/LogReceiver | Bin 65044 -> 65367 bytes workspace/LogReceiver/LogReceiver.pro | 1 + workspace/LogReceiver/logreceiver.cpp | 77 ++++++++++++---------------------- workspace/LogReceiver/logreceiver.h | 8 +++- workspace/LogReceiver/main.cpp | 2 +- workspace/LogReceiver/ndgui.cpp | 29 +++++++++++-- workspace/LogReceiver/ndgui.h | 10 ++++- 7 files changed, 70 insertions(+), 57 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index f08dc0a..ac7b336 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index ef51cfb..97c9067 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -4,6 +4,7 @@ QT += core \ gui \ network LIBS += -lsysfs +INCLUDEPATH += ../customdhcpcd/src HEADERS += ndgui.h \ status.h \ logreceiver.h diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 554b721..1bbdec0 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -19,12 +19,20 @@ LogReceiver::LogReceiver() { server = new QLocalServer(this); +} + +LogReceiver::~LogReceiver() { + +} + +void LogReceiver::initAndRun() { + if (!server->listen("/var/tmp/qt_c_socket_default")) { /* - QMessageBox::critical(this, tr("LogReceiver"), tr( - "Unable to start the server: %1.") .arg(server->errorString())); - close(); - */ + QMessageBox::critical(this, tr("LogReceiver"), tr( + "Unable to start the server: %1.") .arg(server->errorString())); + close(); + */ // emit signal to the gui that a critial error occoured return; } @@ -41,14 +49,8 @@ LogReceiver::LogReceiver() { dhcpcdArguments.append("-d"); QString ifName("eth1"); runDHCPCD(ifName); - -} - -LogReceiver::~LogReceiver() { - } - void LogReceiver::handleNewConnection() { qDebug() << "New Connection arrived"; @@ -84,14 +86,14 @@ void LogReceiver::handleNewInputLine(QString data) { QString s_subState = logMsg.section(";", 2, 2); QString msg = logMsg.section(";", 3, 3); - int pBar = indexToIfaceNameMap.value(interface); + int pBar = indexToIfaceNameMap.value(interface.trimmed()); //qDebug() << logMsg; //qDebug() << msg; - int st = s_state.toInt(); - int sst = s_subState.toInt(); + int st = s_state.trimmed().toInt(); + int sst = s_subState.trimmed().toInt(); switch (st) { case LOG_INFO: @@ -99,19 +101,19 @@ void LogReceiver::handleNewInputLine(QString data) { qDebug() << sst; switch (sst) { case DHCP_DISCOVER: - handleProgress(pBar,10); + emit changeProgressBarValue(pBar,10); break; case DHCP_OFFER: - handleProgress(pBar,20); + emit changeProgressBarValue(pBar,20); break; case DHCP_REQUEST: - handleProgress(pBar,30); + emit changeProgressBarValue(pBar,30); break; case DHCP_DECLINE: break; case DHCP_ACK: - handleProgress(pBar,40); + emit changeProgressBarValue(pBar,100); break; case DHCP_NAK: @@ -151,40 +153,15 @@ QList LogReceiver::getListOfNetworkInterfaces() { { continue; } - /* - if(!(nI.flags() & QNetworkInterface::IsUp)) { - qDebug() << nI.humanReadableName() + " is DOWN "; - - QProcess * p = new QProcess(this); - QStringList args; - args.append(nI.humanReadableName()); - args.append("up"); - p->start("ifconfig",args); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - p->waitForFinished(); - qDebug() << nI.humanReadableName() + " is UP "; -/* - QNetworkConfigurationManager manager; - QList confList = manager.allConfigurations(); - foreach(QNetworkConfiguration nC, confList){ - if( nC.name() == "Auto eth1") { - QNetworkConfiguration conf = manager.configurationFromIdentifier(nC.identifier()); - if(conf.isValid()) { - QNetworkSession *session = new QNetworkSession(conf); - session->open(); - } - qDebug() << "conf is not valid"; - } - qDebug() << nC.name(); - qDebug() << nC.identifier(); - } -*/ + if (!checkCarrierState(nI.humanReadableName())) { + continue; + } - //} - qDebug() << nI.humanReadableName(); + // qDebug() << nI.humanReadableName(); result.append(nI); interfacesMap.insert(i, nI); indexToIfaceNameMap.insert(nI.humanReadableName(), i); + emit addNewInterface(nI.humanReadableName(), i); i++; } return result; @@ -278,11 +255,11 @@ bool LogReceiver::checkCarrierState(QString interface) { void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { - QObject* sender = const_cast (QObject::sender()); - QProcess* process = static_cast (sender); + //QObject* sender = const_cast (QObject::sender()); + //QProcess* process = static_cast (sender); QProcess* p = qobject_cast(QObject::sender()); - QProcess * client = clientProcesses.value(process->pid()); + QProcess * client = clientProcesses.value(p->pid()); qDebug() << "process finished: " << client->pid() << exitCode << exitStatus; } diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index e4592c0..26a3934 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -4,8 +4,6 @@ #include #include -class QLabel; -class QPushButton; class QLocalServer; class QLocalSocket; @@ -16,6 +14,8 @@ public: LogReceiver(); ~LogReceiver(); + void initAndRun(); + private slots: void handleNewConnection(); void handleNewInput(); @@ -23,6 +23,9 @@ private slots: void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); void handleProcessStarted(); +signals: + void addNewInterface(QString ifName, int index); + void changeProgressBarValue(int index, int newValue); private: QLocalServer *server; @@ -34,6 +37,7 @@ private: QString pathToDhcpcdExe; QStringList dhcpcdArguments; + void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); void checkCarrierState(QList &interfaces); diff --git a/workspace/LogReceiver/main.cpp b/workspace/LogReceiver/main.cpp index 52d0ac9..a8cd960 100644 --- a/workspace/LogReceiver/main.cpp +++ b/workspace/LogReceiver/main.cpp @@ -1,4 +1,4 @@ -#include "logreceiver.h" +#include "ndgui.h" #include #include diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp index 0d4c505..e838a8c 100644 --- a/workspace/LogReceiver/ndgui.cpp +++ b/workspace/LogReceiver/ndgui.cpp @@ -5,8 +5,12 @@ ndgui::ndgui(QWidget *parent) { ui.setupUi(this); - buildGui(); - addInterfacesToGroupBox(list); + connect(&logReceiver, SIGNAL(addNewInterface(QString, int)), this, SLOT(addNewInterface(QString, int))); + connect(&logReceiver, SIGNAL(changeProgressBarValue(int , int )), this, SLOT(handleProgress(int, int))); + + buildGui(); + + logReceiver.initAndRun(); setWindowTitle(tr("NetD")); @@ -19,6 +23,8 @@ ndgui::~ndgui() void ndgui::buildGui() { + + ndStatusLabel = new QLabel(tr("test")); ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -28,6 +34,8 @@ void ndgui::buildGui() { // create interface group box createInterfaceGroupBox(); + + mainLayout = new QVBoxLayout; mainLayout->addWidget(ndStatusLabel); mainLayout->addWidget(interfaceGroupBox); @@ -44,6 +52,21 @@ void ndgui::createInterfaceGroupBox(){ interfaceGroupBox->setLayout(interfaceGroupBoxLayout); } +void ndgui::addNewInterface(QString ifName, int index) { + QHBoxLayout *hBoxLayout = new QHBoxLayout; + QLabel *label = new QLabel(ifName); + QProgressBar *pBar = new QProgressBar(this); + pBar->setRange(1, 100); + pBar->setMaximumSize(200, 20); + + progressBars.insert(index, pBar); + + hBoxLayout->addWidget(label, Qt::AlignLeft); + hBoxLayout->addWidget(pBar, Qt::AlignRight); + + interfaceGroupBoxLayout->addLayout(hBoxLayout, 2); +} +/* void ndgui::addInterfacesToGroupBox(QList &interfaces) { foreach(QNetworkInterface nI, interfaces){ int index = indexToIfaceNameMap.value(nI.humanReadableName()); @@ -61,7 +84,7 @@ void ndgui::addInterfacesToGroupBox(QList &interfaces) { interfaceGroupBoxLayout->addLayout(hBoxLayout,2); } } - +*/ void ndgui::handleProgress(int iFaceIndex, int newValue) { QProgressBar * pBar = progressBars.value(iFaceIndex); if(newValue >= pBar->value()) { diff --git a/workspace/LogReceiver/ndgui.h b/workspace/LogReceiver/ndgui.h index 01b9d01..990a6b9 100644 --- a/workspace/LogReceiver/ndgui.h +++ b/workspace/LogReceiver/ndgui.h @@ -2,7 +2,12 @@ #define NDGUI_H #include +#include "qprogressbar.h" +#include "qlabel.h" +#include "qgroupbox.h" +#include "qboxlayout.h" #include "ui_ndgui.h" +#include "logreceiver.h" class ndgui: public QWidget { Q_OBJECT @@ -13,10 +18,13 @@ public: public slots: void handleProgress(int iFaceIndex, int newValue); + void addNewInterface(QString ifName, int index); private: Ui::ndguiClass ui; + LogReceiver logReceiver; + /*gui elements*/ QMap progressBars; QLabel *ndStatusLabel; @@ -28,7 +36,7 @@ private: /*gui functions*/ void buildGui(); void createInterfaceGroupBox(); - void addInterfacesToGroupBox(QList &interfaces); + //void addInterfacesToGroupBox(QList &interfaces); -- cgit v1.2.3-55-g7522 From e0d30e3134fcbe54182d53e69f64167db408014b Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 1 Aug 2011 16:55:01 +0200 Subject: added some log statements to the dhcpcd client. But unfortunately it seems that some message will not be delivered. It happens that after the process finished message, some other messages arrived --- workspace/LogReceiver/LogReceiver | Bin 65367 -> 69772 bytes workspace/LogReceiver/LogReceiver.pro | 1 - workspace/LogReceiver/logreceiver.cpp | 113 +++++++++++++++++++-------------- workspace/LogReceiver/logreceiver.h | 7 +- workspace/LogReceiver/ndgui.cpp | 5 +- workspace/customdhcpcd/src/client.c | 5 ++ workspace/customdhcpcd/src/configure.c | 4 ++ workspace/customdhcpcd/src/dhcpcd.c | 20 +++--- workspace/customdhcpcd/src/logger.c | 59 ++++++++--------- workspace/customdhcpcd/src/logwriter.c | 2 +- workspace/customdhcpcd/src/status.h | 15 ++--- 11 files changed, 128 insertions(+), 103 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index ac7b336..9119d96 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index 97c9067..81c48f6 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -6,7 +6,6 @@ QT += core \ LIBS += -lsysfs INCLUDEPATH += ../customdhcpcd/src HEADERS += ndgui.h \ - status.h \ logreceiver.h SOURCES += ndgui.cpp \ main.cpp \ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 1bbdec0..60e8b5c 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -25,27 +25,36 @@ LogReceiver::~LogReceiver() { } -void LogReceiver::initAndRun() { +void LogReceiver::initAndRun(QString serverPath, + QString pathToExe , + QStringList* args ) { - if (!server->listen("/var/tmp/qt_c_socket_default")) { + if (serverPath != DEFAULT_QTSOCKETADDRESS) { + dhcpcdArguments.append("-q"); + dhcpcdArguments.append(serverPath); + } + if (!server->listen(serverPath)) { /* QMessageBox::critical(this, tr("LogReceiver"), tr( "Unable to start the server: %1.") .arg(server->errorString())); close(); */ // emit signal to the gui that a critial error occoured + qDebug() << "--- \t [LogReceiver::initAndRun] Unable to start server:" << server->errorString(); return; } connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); QList list = getListOfNetworkInterfaces(); - //qDebug() << list.size(); //checkCarrierState(list); - //qDebug() << list.size(); - //checkCarrierState("eth1"); - //checkCarrierState("eth0"); - pathToDhcpcdExe = "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd"; + pathToDhcpcdExe = pathToExe; + + if(args != NULL && ! args->isEmpty()) { + qDebug() << "--- \t [LogReceiver::initAndRun] added additional args"; + dhcpcdArguments.append(*args); + } + dhcpcdArguments.append("-d"); QString ifName("eth1"); runDHCPCD(ifName); @@ -86,50 +95,61 @@ void LogReceiver::handleNewInputLine(QString data) { QString s_subState = logMsg.section(";", 2, 2); QString msg = logMsg.section(";", 3, 3); - int pBar = indexToIfaceNameMap.value(interface.trimmed()); - - //qDebug() << logMsg; - - //qDebug() << msg; - + int pBar = indexToIfaceNameMap.value(interface.trimmed(), -1); +/* + if(pBar < 0) { + qDebug() << "--- \t no pBar with index: " << pBar; + } + else { + qDebug() << "--- \t get pBar for Interface: " << interface.trimmed() << "index: " << pBar; + } +*/ int st = s_state.trimmed().toInt(); int sst = s_subState.trimmed().toInt(); - + qDebug() << logMsg; switch (st) { case LOG_INFO: - qDebug() << "received LOG_INFO"; - qDebug() << sst; switch (sst) { case DHCP_DISCOVER: - emit changeProgressBarValue(pBar,10); + emit changeProgressBarValue(pBar, 10); break; case DHCP_OFFER: - emit changeProgressBarValue(pBar,20); + emit changeProgressBarValue(pBar, 20); break; case DHCP_REQUEST: - emit changeProgressBarValue(pBar,30); - break; - case DHCP_DECLINE: - + emit changeProgressBarValue(pBar, 30); break; case DHCP_ACK: - emit changeProgressBarValue(pBar,100); + emit changeProgressBarValue(pBar, 40); break; case DHCP_NAK: - + emit changeProgressBarValue(pBar, 40); + break; + case DHCPCD_ARP_TEST: + emit changeProgressBarValue(pBar, 50); + break; + case DHCP_DECLINE: + emit changeProgressBarValue(pBar, 60); break; case DHCP_RELEASE: break; case DHCP_INFORM: - break; + case DHCPCD_CONFIGURE: + emit changeProgressBarValue(pBar, 70); + break; + case DHCPCD_WRITE: + emit changeProgressBarValue(pBar, 80); + break; + case DHCPCD_EXIT: + emit changeProgressBarValue(pBar, 100); + break; + case DHCPCD_LOG: + default: break; } - - qDebug() << msg; - break; case LOG_ERR: qDebug() << "received stat_error"; @@ -137,8 +157,6 @@ void LogReceiver::handleNewInputLine(QString data) { default: qDebug() << logMsg; } - - //statusLabel->setText(logMsg); } QList LogReceiver::getListOfNetworkInterfaces() { @@ -171,6 +189,9 @@ void LogReceiver::runDHCPCD(QList &interfaces) { foreach(QNetworkInterface ni, interfaces) { dhcpcdArguments.append(ni.humanReadableName()); QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + clientProcesses.insert(p->pid(),p); p->start(pathToDhcpcdExe,dhcpcdArguments); connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); @@ -183,6 +204,9 @@ void LogReceiver::runDHCPCD(QList &interfaces) { void LogReceiver::runDHCPCD(QString interface) { dhcpcdArguments.append(interface); QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + clientProcesses.insert(p->pid(),p); p->start(pathToDhcpcdExe,dhcpcdArguments); connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); @@ -202,10 +226,15 @@ void LogReceiver::checkCarrierState(QList &interfaces) { // cable is unplugged, // remove interface out of the list, // remove interface out ot the index maps - int i = indexToIfaceNameMap.value(nI.humanReadableName()); + int i = indexToIfaceNameMap.value(nI.humanReadableName(), -1); + if(i < 0) { + qDebug() << "--- \t [LogReceiver::checkCarrierState] no interface with name:" << nI.humanReadableName(); + } + else { indexToIfaceNameMap.remove(nI.humanReadableName()); interfacesMap.remove(i); interfaces.removeAt(i); + } } } } @@ -254,26 +283,18 @@ bool LogReceiver::checkCarrierState(QString interface) { void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { - - //QObject* sender = const_cast (QObject::sender()); - //QProcess* process = static_cast (sender); QProcess* p = qobject_cast(QObject::sender()); - QProcess * client = clientProcesses.value(p->pid()); - - qDebug() << "process finished: " << client->pid() << exitCode << exitStatus; + QProcess * client = clientProcesses.value(p->pid(),0); + if(client <= 0) { + qDebug() << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; + } + else { + qDebug() << "process finished: " << client->pid() << exitCode << exitStatus; + } } void LogReceiver::handleProcessStarted() { - -/* - //QObject* sender = const_cast (QObject::sender()); - QProcess* process = static_cast (QObject::sender()); -*/ - //QProcess* p = qobject_cast(QObject::sender()); - //QProcess * client = clientProcesses.value(process->pid()); - - qDebug() << "process started: "; } diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 26a3934..561b406 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -10,11 +10,16 @@ class QLocalSocket; class LogReceiver: public QObject { Q_OBJECT +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd" + public: LogReceiver(); ~LogReceiver(); - void initAndRun(); + void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); private slots: void handleNewConnection(); diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp index e838a8c..629a8fb 100644 --- a/workspace/LogReceiver/ndgui.cpp +++ b/workspace/LogReceiver/ndgui.cpp @@ -10,7 +10,7 @@ ndgui::ndgui(QWidget *parent) buildGui(); - logReceiver.initAndRun(); + logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); setWindowTitle(tr("NetD")); @@ -23,8 +23,6 @@ ndgui::~ndgui() void ndgui::buildGui() { - - ndStatusLabel = new QLabel(tr("test")); ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); @@ -86,6 +84,7 @@ void ndgui::addInterfacesToGroupBox(QList &interfaces) { } */ void ndgui::handleProgress(int iFaceIndex, int newValue) { + qDebug() << "<[---]> SLOT handleProgress activated with: " << iFaceIndex << newValue; QProgressBar * pBar = progressBars.value(iFaceIndex); if(newValue >= pBar->value()) { pBar->setValue(newValue); diff --git a/workspace/customdhcpcd/src/client.c b/workspace/customdhcpcd/src/client.c index 5a8a9e9..ba71ba4 100644 --- a/workspace/customdhcpcd/src/client.c +++ b/workspace/customdhcpcd/src/client.c @@ -792,6 +792,7 @@ static int handle_dhcp (state_t *state, int type, const options_t *options) /* We should restart on a NAK */ if (type == DHCP_NAK) { logger (LOG_INFO, "received NAK: %s", dhcp->message); + logToQt(LOG_INFO, DHCP_NAK, ""); state->state = STATE_INIT; state->timeout = 0; state->xid = 0; @@ -827,6 +828,8 @@ static int handle_dhcp (state_t *state, int type, const options_t *options) addr, inet_ntoa (dhcp->serveraddress)); free (addr); + logToQt(LOG_INFO, DHCP_OFFER, ""); + #ifdef ENABLE_INFO if (options->test) { write_info (iface, dhcp, options, false); @@ -873,6 +876,7 @@ static int handle_dhcp (state_t *state, int type, const options_t *options) dhcp->address.s_addr) { errno = 0; + logToQt(LOG_INFO, DHCPCD_ARP_TEST, ""); if (arp_claim (iface, dhcp->address)) { do_socket (state, SOCKET_OPEN); _send_message (state, DHCP_DECLINE, options); @@ -969,6 +973,7 @@ static int handle_dhcp (state_t *state, int type, const options_t *options) state->xid = 0; + logToQt(LOG_INFO, DHCPCD_CONFIGURE, ""); if (configure (options, iface, dhcp, true) == -1 && ! state->daemonised) return (-1); diff --git a/workspace/customdhcpcd/src/configure.c b/workspace/customdhcpcd/src/configure.c index 0969f73..91e3c9f 100644 --- a/workspace/customdhcpcd/src/configure.c +++ b/workspace/customdhcpcd/src/configure.c @@ -59,6 +59,9 @@ #include "signal.h" #include "socket.h" +#include "status.h" +#include "logwriter.h" + static int file_in_path (const char *file) { char *p = getenv ("PATH"); @@ -742,6 +745,7 @@ int configure (const options_t *options, interface_t *iface, free_route (iface->previous_routes); iface->previous_routes = new_routes; + logToQt(LOG_INFO, DHCPCD_WRITE, ""); if (options->dodns && dhcp->dnsservers) make_resolv(iface->name, dhcp); else diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index 43ce3ed..769bf39 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -197,7 +197,7 @@ int main (int argc, char **argv) /* Don't set any optional arguments here so we retain POSIX * compatibility with getopt */ while ((opt = getopt_long(argc, argv, EXTRA_OPTS - "c:dh:i:kl:m:npr:s:t:u:xAEF:GHI:LMNRSTY", + "c:dh:i:kl:m:npq:r:s:t:u:xAEF:GHI:LMNRSTY", longopts, &option_index)) != -1) { switch (opt) { @@ -285,6 +285,14 @@ int main (int argc, char **argv) case 'p': options->persistent = true; break; + case 'q': + if (strlen(optarg) > QTSOCKETADDRESSLENGTH) { + logger(LOG_ERR, "`%s' too long for an socket address path (max=%d)", + optarg, QTSOCKETADDRESSLENGTH); + goto abort; + } + strlcpy(options->qtsocketaddress, optarg, sizeof(options->qtsocketaddress)); + break; case 's': options->doinform = true; options->doarp = false; @@ -323,14 +331,6 @@ int main (int argc, char **argv) goto abort; } break; - case 'q': - if (strlen(optarg) > QTSOCKETADDRESSLENGTH) { - logger(LOG_ERR, "`%s' too long for an socket address path (max=%d)", - optarg, QTSOCKETADDRESSLENGTH); - goto abort; - } - strlcpy(options->qtsocketaddress, optarg, sizeof(options->qtsocketaddress)); - break; case 'u': { int offset = 0; @@ -666,7 +666,7 @@ abort: #endif logger (LOG_INFO, "exiting"); - logToQt(LOG_INFO, 0, "exiting due abort"); + logToQt(LOG_INFO, DHCPCD_EXIT, "exiting due abort"); exit (retval); /* NOTREACHED */ } diff --git a/workspace/customdhcpcd/src/logger.c b/workspace/customdhcpcd/src/logger.c index cecd2b8..91d6cc0 100644 --- a/workspace/customdhcpcd/src/logger.c +++ b/workspace/customdhcpcd/src/logger.c @@ -39,30 +39,27 @@ #include #include - #include "common.h" #include "logger.h" #include "logwriter.h" - static int loglevel = LOG_WARNING; -static char logprefix[12] = {0}; +static char logprefix[12] = { 0 }; -int logtolevel (const char *priority) -{ +int logtolevel(const char *priority) { CODE *c; if (isdigit ((int) *priority)) - return (atoi (priority)); + return (atoi(priority)); for (c = prioritynames; c->c_name; c++) - if (! strcasecmp (priority, c->c_name)) + if (!strcasecmp(priority, c->c_name)) return (c->c_val); return (-1); } -static const char *leveltolog (int level) { +static const char *leveltolog(int level) { CODE *c; for (c = prioritynames; c->c_name; c++) @@ -72,18 +69,15 @@ static const char *leveltolog (int level) { return (NULL); } -void setloglevel (int level) -{ +void setloglevel(int level) { loglevel = level; } -void setlogprefix (const char *prefix) -{ - snprintf (logprefix, sizeof (logprefix), "%s", prefix); +void setlogprefix(const char *prefix) { + snprintf(logprefix, sizeof(logprefix), "%s", prefix); } -void logger (int level, const char *fmt, ...) -{ +void logger(int level, const char *fmt, ...) { va_list p; va_list p2; FILE *f = stderr; @@ -92,38 +86,39 @@ void logger (int level, const char *fmt, ...) va_copy (p2, p); if (level <= LOG_ERR || level <= loglevel) { - if (level == LOG_DEBUG || level == LOG_INFO) - f = stdout; - fprintf (f, "%s, %s", leveltolog (level), logprefix); - vfprintf (f, fmt, p); - fputc ('\n', f); /* new function by Niklas Goby * send the log message also to our Qt programm. * implemented in logwriter.c * */ - logLoggerToQt(level, fmt, p); + logLoggerToQt(level, fmt, p); + + if (level == LOG_DEBUG || level == LOG_INFO) + f = stdout; + fprintf(f, "%s, %s", leveltolog(level), logprefix); + vfprintf(f, fmt, p); + fputc('\n', f); /* stdout, stderr may be re-directed to some kind of buffer. * So we always flush to ensure it's written. */ - fflush (f); + fflush(f); } if (level < LOG_DEBUG || level <= loglevel) { - size_t len = strlen (logprefix); - size_t fmt2len = strlen (fmt) + len + 1; - char *fmt2 = malloc (sizeof (char) * fmt2len); + size_t len = strlen(logprefix); + size_t fmt2len = strlen(fmt) + len + 1; + char *fmt2 = malloc(sizeof(char) * fmt2len); char *pf = fmt2; if (fmt2) { - memcpy (pf, logprefix, len); + memcpy(pf, logprefix, len); pf += len; - strlcpy (pf, fmt, fmt2len - len); - vsyslog (level, fmt2, p2); - free (fmt2); + strlcpy(pf, fmt, fmt2len - len); + vsyslog(level, fmt2, p2); + free(fmt2); } else { - vsyslog (level, fmt, p2); - syslog (LOG_ERR, "logger: memory exhausted"); - exit (EXIT_FAILURE); + vsyslog(level, fmt, p2); + syslog(LOG_ERR, "logger: memory exhausted"); + exit(EXIT_FAILURE); } } diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index be8ee26..89aadb6 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -144,5 +144,5 @@ void logSendToQt(int type) { void logLoggerToQt(int level, const char *fmt, va_list args) { vsnprintf(mesg, sizeof(mesg), fmt, args); strcat(mesg, "\n"); - logToQt(level, 0, mesg); + logToQt(level, DHCPCD_LOG, mesg); } diff --git a/workspace/customdhcpcd/src/status.h b/workspace/customdhcpcd/src/status.h index 493eea1..0a1dc8a 100644 --- a/workspace/customdhcpcd/src/status.h +++ b/workspace/customdhcpcd/src/status.h @@ -8,15 +8,12 @@ #ifndef STATUS_H_ #define STATUS_H_ -enum STATUS { - STAT_OK, - STAT_ERROR, - STAT_INFO -}; +#define DHCPCD_EXIT 9 +#define DHCPCD_ARP_TEST 10 +#define DHCPCD_CONFIGURE 11 +#define DHCPCD_WRITE 12 +#define DHCPCD_LOG 13 + -enum SUBSTATUS { - DISCOVER, - OFFER -}; #endif /* STATUS_H_ */ -- cgit v1.2.3-55-g7522 From 3069686075559d7bfce594c40e919a0b1683a064 Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 16 Aug 2011 14:32:01 +0200 Subject: new function for checkInternetConnection, check with sessions for each config and test if you can get a valid response with a qhostInfo --- workspace/LogReceiver/LogReceiver | Bin 69772 -> 74661 bytes workspace/LogReceiver/logreceiver.cpp | 25 ++++++++++++++++++++++--- workspace/LogReceiver/logreceiver.h | 3 +++ 3 files changed, 25 insertions(+), 3 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 9119d96..f60254e 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 60e8b5c..2f41e08 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -55,8 +55,8 @@ void LogReceiver::initAndRun(QString serverPath, dhcpcdArguments.append(*args); } - dhcpcdArguments.append("-d"); - QString ifName("eth1"); + //dhcpcdArguments.append("-d"); + QString ifName("eth0"); runDHCPCD(ifName); } @@ -280,6 +280,25 @@ bool LogReceiver::checkCarrierState(QString interface) { } +void LogReceiver::checkInternetConnection(/*QList &interfaces*/) { + qDebug() << "check internet connection"; + QList allConfigs = manager.allConfigurations(QNetworkConfiguration::Discovered); + foreach(QNetworkConfiguration nC, allConfigs) { + qDebug() << nC.name(); + if(nC.isValid()) { + qDebug() << "config is valid"; + qDebug() << "try to open a new session"; + QNetworkSession session = new QNetworkSession(nC, this); + conntect(session,SIGNAL(error), this, SLOT(handleSessionError())); + conntect(session,SIGNAL(opened), this, SLOT(handleSessionOpened())); + session.open(); + session.waitForOpened(); + + } + } + qDebug() << "check internet connection done"; +} + void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { @@ -291,6 +310,7 @@ void LogReceiver::handleProcessFinished(int exitCode, } else { qDebug() << "process finished: " << client->pid() << exitCode << exitStatus; + checkInternetConnection(); } } @@ -299,7 +319,6 @@ void LogReceiver::handleProcessStarted() { } - bool LogReceiver::checkBlackList(QString i) { if (i.startsWith("v", Qt::CaseInsensitive)) { return true; diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 561b406..fb65d58 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -3,6 +3,7 @@ #include #include +#include class QLocalServer; class QLocalSocket; @@ -41,12 +42,14 @@ private: QMap clientProcesses; QString pathToDhcpcdExe; QStringList dhcpcdArguments; + QNetworkConfigurationManager manager; void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); void checkCarrierState(QList &interfaces); bool checkCarrierState(QString interface); + void checkInternetConnection(/*QList &interfaces*/); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); -- cgit v1.2.3-55-g7522 From 66bd4a4f1cc9424b3adbd14ca38a9bb6509431df Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 18 Aug 2011 14:50:37 +0200 Subject: added internet test. each configured interface will be tested if it is possible to ping the server. --- workspace/LogReceiver/LogReceiver | Bin 74661 -> 82545 bytes workspace/LogReceiver/logreceiver.cpp | 74 ++++++++++++++++++++++------------ workspace/LogReceiver/logreceiver.h | 12 ++++-- 3 files changed, 57 insertions(+), 29 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index f60254e..e7aff30 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 2f41e08..c5331dc 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -57,7 +57,7 @@ void LogReceiver::initAndRun(QString serverPath, //dhcpcdArguments.append("-d"); QString ifName("eth0"); - runDHCPCD(ifName); + runDHCPCD(list); } void LogReceiver::handleNewConnection() { @@ -192,7 +192,8 @@ void LogReceiver::runDHCPCD(QList &interfaces) { qDebug() << dhcpcdArguments; - clientProcesses.insert(p->pid(),p); + clientProcessToIfNameMap.insert(p, ni.humanReadableName()); + qDebug() << clientProcessToIfNameMap; p->start(pathToDhcpcdExe,dhcpcdArguments); connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), @@ -207,7 +208,8 @@ void LogReceiver::runDHCPCD(QString interface) { qDebug() << dhcpcdArguments; - clientProcesses.insert(p->pid(),p); + clientProcessToIfNameMap.insert(p, interface); + qDebug() << clientProcessToIfNameMap; p->start(pathToDhcpcdExe,dhcpcdArguments); connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), @@ -279,24 +281,33 @@ bool LogReceiver::checkCarrierState(QString interface) { return true; } +void LogReceiver::checkInternetConnection(QString ifName) { + QString command("ping"); + QStringList argList; + QString timeout("1"); + QString total("2"); + int exitCode = -1; + QString destination("www.google.de"); + argList << "-I" << "ifName" << "-W" << timeout << "-c" << total + << destination; + argList.replace(1, ifName); + QProcess * p = new QProcess(this); + p->start(command, argList); + p->waitForFinished(); + exitCode = p->exitCode(); + if (exitCode > 0) { + qDebug() << "no internet connection with interface" << ifName; + //remove interface from list and inform user via debug console + } else if (exitCode == 0) { + qDebug() << "internet: check passed! for interface" << ifName; + } +} -void LogReceiver::checkInternetConnection(/*QList &interfaces*/) { - qDebug() << "check internet connection"; - QList allConfigs = manager.allConfigurations(QNetworkConfiguration::Discovered); - foreach(QNetworkConfiguration nC, allConfigs) { - qDebug() << nC.name(); - if(nC.isValid()) { - qDebug() << "config is valid"; - qDebug() << "try to open a new session"; - QNetworkSession session = new QNetworkSession(nC, this); - conntect(session,SIGNAL(error), this, SLOT(handleSessionError())); - conntect(session,SIGNAL(opened), this, SLOT(handleSessionOpened())); - session.open(); - session.waitForOpened(); - - } - } - qDebug() << "check internet connection done"; +void LogReceiver::checkInternetConnection(QList &interfaces) { + foreach(QNetworkInterface ni, interfaces) + { + checkInternetConnection(ni.humanReadableName()); + } } @@ -304,18 +315,29 @@ void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QProcess* p = qobject_cast(QObject::sender()); - QProcess * client = clientProcesses.value(p->pid(),0); - if(client <= 0) { - qDebug() << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; + QString ifName = clientProcessToIfNameMap.value(p,"ifName"); + + if(ifName.compare("ifName") == 0) { + qDebug() << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; } else { - qDebug() << "process finished: " << client->pid() << exitCode << exitStatus; - checkInternetConnection(); + qDebug() << "process for interface"<< ifName << "finished" << exitCode << exitStatus; + if(exitCode > 0) { + qDebug() << "process exited unexpected"; + } + else { + qDebug() << "process normal exit"; + qDebug() << "check internet connction"; + checkInternetConnection(ifName); + } + } } void LogReceiver::handleProcessStarted() { - qDebug() << "process started: "; + QProcess* p = qobject_cast(QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p,"ifName"); + qDebug() << "process started for interface:" << ifName; } diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index fb65d58..06a1f3e 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -4,6 +4,10 @@ #include #include #include +#include +#include +#include +#include class QLocalServer; class QLocalSocket; @@ -39,17 +43,19 @@ private: QMap interfacesMap; QMap indexToIfaceNameMap; QMap clients; - QMap clientProcesses; + QMap clientProcessToIfNameMap; QString pathToDhcpcdExe; QStringList dhcpcdArguments; - QNetworkConfigurationManager manager; + QNetworkConfigurationManager configurationManager; + QNetworkAccessManager *accessManager; void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); void checkCarrierState(QList &interfaces); bool checkCarrierState(QString interface); - void checkInternetConnection(/*QList &interfaces*/); + void checkInternetConnection(QString ifName); + void checkInternetConnection(QList &interfaces); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); -- cgit v1.2.3-55-g7522 From 74bfbbab2b0012bbfadaf742e92c78bb7bff9e0c Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 19 Aug 2011 14:53:00 +0200 Subject: changed code order. added new signals --- workspace/LogReceiver/logreceiver.cpp | 300 +++++++++++++++++----------------- workspace/LogReceiver/logreceiver.h | 7 +- workspace/LogReceiver/ndgui.cpp | 5 + workspace/LogReceiver/ndgui.h | 1 + 4 files changed, 163 insertions(+), 150 deletions(-) diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index c5331dc..79879e7 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -47,7 +47,7 @@ void LogReceiver::initAndRun(QString serverPath, connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); QList list = getListOfNetworkInterfaces(); - //checkCarrierState(list); + //list = checkCarrierState(list); pathToDhcpcdExe = pathToExe; if(args != NULL && ! args->isEmpty()) { @@ -60,105 +60,6 @@ void LogReceiver::initAndRun(QString serverPath, runDHCPCD(list); } -void LogReceiver::handleNewConnection() { - qDebug() << "New Connection arrived"; - - QLocalSocket * client = server ->nextPendingConnection(); - clients.insert(client, client); - connect(client, SIGNAL(disconnected()), client, SLOT(deleteLater())); - connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); -} - -void LogReceiver::handleNewInput() { - - QObject* sender = const_cast (QObject::sender()); - QLocalSocket* socket = static_cast (sender); - - QLocalSocket * client = clients.value(socket); - - QString data(client->readAll()); - - data = data.trimmed(); - - QStringList lines = data.split("\n"); - - for (int i=0; i < lines.length(); i++) { - handleNewInputLine(lines.at(i)); - } -} - -void LogReceiver::handleNewInputLine(QString data) { - - QString logMsg(data); - QString interface = logMsg.section(";",0,0); - QString s_state = logMsg.section(";", 1, 1); - QString s_subState = logMsg.section(";", 2, 2); - QString msg = logMsg.section(";", 3, 3); - - int pBar = indexToIfaceNameMap.value(interface.trimmed(), -1); -/* - if(pBar < 0) { - qDebug() << "--- \t no pBar with index: " << pBar; - } - else { - qDebug() << "--- \t get pBar for Interface: " << interface.trimmed() << "index: " << pBar; - } -*/ - int st = s_state.trimmed().toInt(); - int sst = s_subState.trimmed().toInt(); - qDebug() << logMsg; - switch (st) { - case LOG_INFO: - switch (sst) { - case DHCP_DISCOVER: - emit changeProgressBarValue(pBar, 10); - break; - case DHCP_OFFER: - emit changeProgressBarValue(pBar, 20); - break; - case DHCP_REQUEST: - emit changeProgressBarValue(pBar, 30); - break; - case DHCP_ACK: - emit changeProgressBarValue(pBar, 40); - break; - case DHCP_NAK: - emit changeProgressBarValue(pBar, 40); - break; - case DHCPCD_ARP_TEST: - emit changeProgressBarValue(pBar, 50); - break; - case DHCP_DECLINE: - emit changeProgressBarValue(pBar, 60); - break; - case DHCP_RELEASE: - - break; - case DHCP_INFORM: - break; - case DHCPCD_CONFIGURE: - emit changeProgressBarValue(pBar, 70); - break; - case DHCPCD_WRITE: - emit changeProgressBarValue(pBar, 80); - break; - case DHCPCD_EXIT: - emit changeProgressBarValue(pBar, 100); - break; - case DHCPCD_LOG: - - default: - break; - } - break; - case LOG_ERR: - qDebug() << "received stat_error"; - break; - default: - qDebug() << logMsg; - } -} - QList LogReceiver::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); QList result; @@ -177,68 +78,39 @@ QList LogReceiver::getListOfNetworkInterfaces() { // qDebug() << nI.humanReadableName(); result.append(nI); - interfacesMap.insert(i, nI); - indexToIfaceNameMap.insert(nI.humanReadableName(), i); + //interfacesMap.insert(i, nI); + //indexToIfaceNameMap.insert(nI.humanReadableName(), i); emit addNewInterface(nI.humanReadableName(), i); i++; } return result; } -void LogReceiver::runDHCPCD(QList &interfaces) { - foreach(QNetworkInterface ni, interfaces) { - dhcpcdArguments.append(ni.humanReadableName()); - QProcess * p = new QProcess(this); - - qDebug() << dhcpcdArguments; - - clientProcessToIfNameMap.insert(p, ni.humanReadableName()); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe,dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), - this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); - } -} - -void LogReceiver::runDHCPCD(QString interface) { - dhcpcdArguments.append(interface); - QProcess * p = new QProcess(this); - - qDebug() << dhcpcdArguments; - - clientProcessToIfNameMap.insert(p, interface); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe,dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), - this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); -} - -void LogReceiver::checkCarrierState(QList &interfaces) { +QList LogReceiver::checkCarrierState(QList &interfaces) { + QList result; foreach(QNetworkInterface nI, interfaces) { if(checkCarrierState(nI.humanReadableName())) { // everything is fine, cable is plugged, // go on with the next interface - continue; + //continue; + result.append(nI); } - else { + //else { // cable is unplugged, // remove interface out of the list, // remove interface out ot the index maps - int i = indexToIfaceNameMap.value(nI.humanReadableName(), -1); - if(i < 0) { - qDebug() << "--- \t [LogReceiver::checkCarrierState] no interface with name:" << nI.humanReadableName(); - } - else { - indexToIfaceNameMap.remove(nI.humanReadableName()); - interfacesMap.remove(i); - interfaces.removeAt(i); - } - } + // int i = 0; //indexToIfaceNameMap.value(nI.humanReadableName(), -1); + //if(i < 0) { + // qDebug() << "--- \t [LogReceiver::checkCarrierState] no interface with name:" << nI.humanReadableName(); + //} + //else { + //indexToIfaceNameMap.remove(nI.humanReadableName()); + //interfacesMap.remove(i); + //interfaces.removeAt(i); + //} + //} } + return result; } bool LogReceiver::checkCarrierState(QString interface) { @@ -281,6 +153,41 @@ bool LogReceiver::checkCarrierState(QString interface) { return true; } +void LogReceiver::runDHCPCD(QList &interfaces) { + foreach(QNetworkInterface ni, interfaces) { + /* + dhcpcdArguments.append(ni.humanReadableName()); + QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + + clientProcessToIfNameMap.insert(p, ni.humanReadableName()); + qDebug() << clientProcessToIfNameMap; + p->start(pathToDhcpcdExe,dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), + this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); + */ + runDHCPCD(ni.humanReadableName()); + } +} + +void LogReceiver::runDHCPCD(QString interface) { + dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + + clientProcessToIfNameMap.insert(p, interface); + qDebug() << clientProcessToIfNameMap; + p->start(pathToDhcpcdExe,dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), + this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); +} + void LogReceiver::checkInternetConnection(QString ifName) { QString command("ping"); QStringList argList; @@ -300,6 +207,7 @@ void LogReceiver::checkInternetConnection(QString ifName) { //remove interface from list and inform user via debug console } else if (exitCode == 0) { qDebug() << "internet: check passed! for interface" << ifName; + emit connectionEstablished(ifName); } } @@ -310,6 +218,104 @@ void LogReceiver::checkInternetConnection(QList &interfaces) } } +void LogReceiver::handleNewConnection() { + qDebug() << "New Connection arrived"; + + QLocalSocket * client = server ->nextPendingConnection(); + clients.insert(client, client); + connect(client, SIGNAL(disconnected()), client, SLOT(deleteLater())); + connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + +void LogReceiver::handleNewInput() { + + QObject* sender = const_cast (QObject::sender()); + QLocalSocket* socket = static_cast (sender); + + QLocalSocket * client = clients.value(socket); + + QString data(client->readAll()); + + data = data.trimmed(); + + QStringList lines = data.split("\n"); + + for (int i=0; i < lines.length(); i++) { + handleNewInputLine(lines.at(i)); + } +} + +void LogReceiver::handleNewInputLine(QString data) { + + QString logMsg(data); + QString interface = logMsg.section(";",0,0); + QString s_state = logMsg.section(";", 1, 1); + QString s_subState = logMsg.section(";", 2, 2); + QString msg = logMsg.section(";", 3, 3); + + //int pBar = indexToIfaceNameMap.value(interface.trimmed(), -1); +/* + if(pBar < 0) { + qDebug() << "--- \t no pBar with index: " << pBar; + } + else { + qDebug() << "--- \t get pBar for Interface: " << interface.trimmed() << "index: " << pBar; + } +*/ + int st = s_state.trimmed().toInt(); + int sst = s_subState.trimmed().toInt(); + qDebug() << logMsg; + switch (st) { + case LOG_INFO: + switch (sst) { + case DHCP_DISCOVER: + //emit changeProgressBarValue(pBar, 10); + break; + case DHCP_OFFER: + //emit changeProgressBarValue(pBar, 20); + break; + case DHCP_REQUEST: + //emit changeProgressBarValue(pBar, 30); + break; + case DHCP_ACK: + //emit changeProgressBarValue(pBar, 40); + break; + case DHCP_NAK: + //emit changeProgressBarValue(pBar, 40); + break; + case DHCPCD_ARP_TEST: + //emit changeProgressBarValue(pBar, 50); + break; + case DHCP_DECLINE: + //emit changeProgressBarValue(pBar, 60); + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + break; + case DHCPCD_CONFIGURE: + //emit changeProgressBarValue(pBar, 70); + break; + case DHCPCD_WRITE: + //emit changeProgressBarValue(pBar, 80); + break; + case DHCPCD_EXIT: + //emit changeProgressBarValue(pBar, 100); + break; + case DHCPCD_LOG: + + default: + break; + } + break; + case LOG_ERR: + qDebug() << "received stat_error"; + break; + default: + qDebug() << logMsg; + } +} void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 06a1f3e..baf9ab9 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -36,12 +36,13 @@ private slots: signals: void addNewInterface(QString ifName, int index); void changeProgressBarValue(int index, int newValue); + void connectionEstablished(QString ifName); private: QLocalServer *server; quint16 blockSize; - QMap interfacesMap; - QMap indexToIfaceNameMap; + //QMap interfacesMap; + //QMap indexToIfaceNameMap; QMap clients; QMap clientProcessToIfNameMap; QString pathToDhcpcdExe; @@ -52,7 +53,7 @@ private: void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); - void checkCarrierState(QList &interfaces); + QList checkCarrierState(QList &interfaces); bool checkCarrierState(QString interface); void checkInternetConnection(QString ifName); void checkInternetConnection(QList &interfaces); diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp index 629a8fb..0e743ed 100644 --- a/workspace/LogReceiver/ndgui.cpp +++ b/workspace/LogReceiver/ndgui.cpp @@ -7,6 +7,7 @@ ndgui::ndgui(QWidget *parent) connect(&logReceiver, SIGNAL(addNewInterface(QString, int)), this, SLOT(addNewInterface(QString, int))); connect(&logReceiver, SIGNAL(changeProgressBarValue(int , int )), this, SLOT(handleProgress(int, int))); + connect(&logReceiver, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); buildGui(); @@ -93,3 +94,7 @@ void ndgui::handleProgress(int iFaceIndex, int newValue) { qDebug() << "Error: new value is smaller than the old value!"; } } + +void ndgui::handleConnectionEstablished(QString ifName) { + +} diff --git a/workspace/LogReceiver/ndgui.h b/workspace/LogReceiver/ndgui.h index 990a6b9..d3cf29f 100644 --- a/workspace/LogReceiver/ndgui.h +++ b/workspace/LogReceiver/ndgui.h @@ -19,6 +19,7 @@ public: public slots: void handleProgress(int iFaceIndex, int newValue); void addNewInterface(QString ifName, int index); + void handleConnectionEstablished(QString ifName); private: Ui::ndguiClass ui; -- cgit v1.2.3-55-g7522 From 23bc13f690a08cb049adf5145f115f45cbb9950f Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 22 Aug 2011 16:00:24 +0200 Subject: added a additional status label and some signals --- workspace/LogReceiver/LogReceiver | Bin 82545 -> 78251 bytes workspace/LogReceiver/logreceiver.cpp | 146 +++++++++++++++------------------ workspace/LogReceiver/logreceiver.h | 16 ++-- workspace/LogReceiver/ndgui.cpp | 59 +++++++------ workspace/LogReceiver/ndgui.h | 18 ++-- workspace/customdhcpcd/src/logwriter.c | 2 +- 6 files changed, 122 insertions(+), 119 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index e7aff30..d0aab5a 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 79879e7..70d49e6 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -25,9 +25,8 @@ LogReceiver::~LogReceiver() { } -void LogReceiver::initAndRun(QString serverPath, - QString pathToExe , - QStringList* args ) { +void LogReceiver::initAndRun(QString serverPath, QString pathToExe, + QStringList* args) { if (serverPath != DEFAULT_QTSOCKETADDRESS) { dhcpcdArguments.append("-q"); @@ -40,75 +39,77 @@ void LogReceiver::initAndRun(QString serverPath, close(); */ // emit signal to the gui that a critial error occoured - qDebug() << "--- \t [LogReceiver::initAndRun] Unable to start server:" << server->errorString(); + qDebug() << "--- \t [LogReceiver::initAndRun] Unable to start server:" + << server->errorString(); return; } connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - QList list = getListOfNetworkInterfaces(); - //list = checkCarrierState(list); pathToDhcpcdExe = pathToExe; - if(args != NULL && ! args->isEmpty()) { + if (args != NULL && !args->isEmpty()) { qDebug() << "--- \t [LogReceiver::initAndRun] added additional args"; dhcpcdArguments.append(*args); } - //dhcpcdArguments.append("-d"); - QString ifName("eth0"); - runDHCPCD(list); + numberOfProcesses = 0; + + // start the main work: + + QList list = getListOfNetworkInterfaces(); + + if (list.size() > 0) { + + //list = checkCarrierState(list); + + + //dhcpcdArguments.append("-d"); + QString ifName("eth0"); + numberOfProcesses = list.size(); + runDHCPCD(list); + } else { + qDebug() << "list is empty. Haven't found usable interface."; + emit abortBoot("Haven't found usable interface"); + return; + } + } -QList LogReceiver::getListOfNetworkInterfaces() { +QList LogReceiver::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); - QList result; - int i = 0; - foreach(QNetworkInterface nI, nIList) { - if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| - nI.flags() & QNetworkInterface::IsLoopBack) || - nI.flags() & QNetworkInterface::IsPointToPoint) || - checkBlackList(nI.humanReadableName())) - { - continue; - } - if (!checkCarrierState(nI.humanReadableName())) { - continue; - } - - // qDebug() << nI.humanReadableName(); - result.append(nI); - //interfacesMap.insert(i, nI); - //indexToIfaceNameMap.insert(nI.humanReadableName(), i); - emit addNewInterface(nI.humanReadableName(), i); - i++; + QList result; + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || checkBlackList(nI.humanReadableName())) { + continue; + } + if (!checkCarrierState(nI.humanReadableName())) { + continue; + } + result.append(nI.humanReadableName()); + emit addNewInterface(nI.humanReadableName()); + } + } else { + qDebug() << "no interfaces found!"; } return result; } -QList LogReceiver::checkCarrierState(QList &interfaces) { - QList result; - foreach(QNetworkInterface nI, interfaces) { - if(checkCarrierState(nI.humanReadableName())) { +QList LogReceiver::checkCarrierState(QList &interfaces) { + QList result; + foreach(QString nI, interfaces) { + if(checkCarrierState(nI)) { // everything is fine, cable is plugged, // go on with the next interface //continue; result.append(nI); } - //else { - // cable is unplugged, - // remove interface out of the list, - // remove interface out ot the index maps - // int i = 0; //indexToIfaceNameMap.value(nI.humanReadableName(), -1); - //if(i < 0) { - // qDebug() << "--- \t [LogReceiver::checkCarrierState] no interface with name:" << nI.humanReadableName(); - //} - //else { - //indexToIfaceNameMap.remove(nI.humanReadableName()); - //interfacesMap.remove(i); - //interfaces.removeAt(i); - //} - //} } return result; } @@ -153,27 +154,14 @@ bool LogReceiver::checkCarrierState(QString interface) { return true; } -void LogReceiver::runDHCPCD(QList &interfaces) { - foreach(QNetworkInterface ni, interfaces) { - /* - dhcpcdArguments.append(ni.humanReadableName()); - QProcess * p = new QProcess(this); - - qDebug() << dhcpcdArguments; - - clientProcessToIfNameMap.insert(p, ni.humanReadableName()); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe,dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), - this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); - */ - runDHCPCD(ni.humanReadableName()); +void LogReceiver::runDHCPCD(QList &interfaces) { + foreach(QString nI, interfaces) { + runDHCPCD(nI); } } void LogReceiver::runDHCPCD(QString interface) { + emit updateStatusLabel(interface,"start DHCP"); dhcpcdArguments.append(interface); QProcess * p = new QProcess(this); @@ -205,16 +193,18 @@ void LogReceiver::checkInternetConnection(QString ifName) { if (exitCode > 0) { qDebug() << "no internet connection with interface" << ifName; //remove interface from list and inform user via debug console + emit updateStatusLabel(ifName, "connection not possible"); } else if (exitCode == 0) { qDebug() << "internet: check passed! for interface" << ifName; + emit updateStatusLabel(ifName, "connection possible"); emit connectionEstablished(ifName); } } -void LogReceiver::checkInternetConnection(QList &interfaces) { - foreach(QNetworkInterface ni, interfaces) +void LogReceiver::checkInternetConnection(QList &interfaces) { + foreach(QString nI, interfaces) { - checkInternetConnection(ni.humanReadableName()); + checkInternetConnection(nI); } } @@ -252,16 +242,6 @@ void LogReceiver::handleNewInputLine(QString data) { QString s_state = logMsg.section(";", 1, 1); QString s_subState = logMsg.section(";", 2, 2); QString msg = logMsg.section(";", 3, 3); - - //int pBar = indexToIfaceNameMap.value(interface.trimmed(), -1); -/* - if(pBar < 0) { - qDebug() << "--- \t no pBar with index: " << pBar; - } - else { - qDebug() << "--- \t get pBar for Interface: " << interface.trimmed() << "index: " << pBar; - } -*/ int st = s_state.trimmed().toInt(); int sst = s_subState.trimmed().toInt(); qDebug() << logMsg; @@ -321,6 +301,8 @@ void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QProcess* p = qobject_cast(QObject::sender()); + + QString ifName = clientProcessToIfNameMap.value(p,"ifName"); if(ifName.compare("ifName") == 0) { @@ -330,14 +312,20 @@ void LogReceiver::handleProcessFinished(int exitCode, qDebug() << "process for interface"<< ifName << "finished" << exitCode << exitStatus; if(exitCode > 0) { qDebug() << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); } else { qDebug() << "process normal exit"; qDebug() << "check internet connction"; + emit updateStatusLabel(ifName, "check connectivity"); checkInternetConnection(ifName); } } + numberOfProcesses = numberOfProcesses -1; + if (numberOfProcesses <= 0) { + emit allProcessesFinished(); + } } void LogReceiver::handleProcessStarted() { diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index baf9ab9..c4e165d 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -34,9 +34,12 @@ private slots: void handleProcessStarted(); signals: - void addNewInterface(QString ifName, int index); - void changeProgressBarValue(int index, int newValue); + void addNewInterface(QString ifName); + void changeProgressBarValue(QString ifName, int newValue); void connectionEstablished(QString ifName); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); private: QLocalServer *server; @@ -49,15 +52,16 @@ private: QStringList dhcpcdArguments; QNetworkConfigurationManager configurationManager; QNetworkAccessManager *accessManager; + int numberOfProcesses; - void runDHCPCD(QList &interfaces); + void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); - QList checkCarrierState(QList &interfaces); + QListcheckCarrierState(QList &interfaces); bool checkCarrierState(QString interface); void checkInternetConnection(QString ifName); - void checkInternetConnection(QList &interfaces); - QList getListOfNetworkInterfaces(); + void checkInternetConnection(QList &interfaces); + QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); }; diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp index 0e743ed..78aa280 100644 --- a/workspace/LogReceiver/ndgui.cpp +++ b/workspace/LogReceiver/ndgui.cpp @@ -5,13 +5,17 @@ ndgui::ndgui(QWidget *parent) { ui.setupUi(this); - connect(&logReceiver, SIGNAL(addNewInterface(QString, int)), this, SLOT(addNewInterface(QString, int))); - connect(&logReceiver, SIGNAL(changeProgressBarValue(int , int )), this, SLOT(handleProgress(int, int))); + connect(&logReceiver, SIGNAL(addNewInterface(QString)), this, SLOT(addNewInterface(QString))); + connect(&logReceiver, SIGNAL(changeProgressBarValue(QString , int )), this, SLOT(handleProgress(QString, int))); connect(&logReceiver, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); + connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); + connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); + connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); buildGui(); logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); + numberOfInterfaces = 0; setWindowTitle(tr("NetD")); @@ -51,42 +55,30 @@ void ndgui::createInterfaceGroupBox(){ interfaceGroupBox->setLayout(interfaceGroupBoxLayout); } -void ndgui::addNewInterface(QString ifName, int index) { +void ndgui::addNewInterface(QString ifName) { + qDebug() << "receive interface to add:" << ifName; QHBoxLayout *hBoxLayout = new QHBoxLayout; QLabel *label = new QLabel(ifName); + QLabel *labelStatus = new QLabel("waiting"); QProgressBar *pBar = new QProgressBar(this); pBar->setRange(1, 100); pBar->setMaximumSize(200, 20); - progressBars.insert(index, pBar); + statusLabels.insert(ifName, labelStatus); + progressBars.insert(ifName, pBar); hBoxLayout->addWidget(label, Qt::AlignLeft); + hBoxLayout->addWidget(labelStatus, Qt::AlignCenter); hBoxLayout->addWidget(pBar, Qt::AlignRight); + numberOfInterfaces++; + interfaceGroupBoxLayout->addLayout(hBoxLayout, 2); } -/* -void ndgui::addInterfacesToGroupBox(QList &interfaces) { - foreach(QNetworkInterface nI, interfaces){ - int index = indexToIfaceNameMap.value(nI.humanReadableName()); - QHBoxLayout *hBoxLayout = new QHBoxLayout; - QLabel *label = new QLabel(nI.humanReadableName()); - QProgressBar *pBar = new QProgressBar(this); - pBar->setRange(1,100); - pBar->setMaximumSize(200,20); - - progressBars.insert(index,pBar); - - hBoxLayout->addWidget(label, Qt::AlignLeft); - hBoxLayout->addWidget(pBar, Qt::AlignRight); - - interfaceGroupBoxLayout->addLayout(hBoxLayout,2); - } -} -*/ -void ndgui::handleProgress(int iFaceIndex, int newValue) { - qDebug() << "<[---]> SLOT handleProgress activated with: " << iFaceIndex << newValue; - QProgressBar * pBar = progressBars.value(iFaceIndex); + +void ndgui::handleProgress(QString ifName, int newValue) { + qDebug() << "<[---]> SLOT handleProgress activated with: " << ifName << newValue; + QProgressBar * pBar = progressBars.value(ifName); if(newValue >= pBar->value()) { pBar->setValue(newValue); } @@ -96,5 +88,20 @@ void ndgui::handleProgress(int iFaceIndex, int newValue) { } void ndgui::handleConnectionEstablished(QString ifName) { + finalUsableInterfaces.append(ifName); +} + +void ndgui::handleAbortBoot(QString msg) { + qDebug() << "abort boot. reason:" << msg; +} + +void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { + QLabel* label = statusLabels.value(ifName); + label->setText(status); +} + +void ndgui::handleAllProcessesFinished() { + qDebug() << "all Processes finished"; + mainLayout-> } diff --git a/workspace/LogReceiver/ndgui.h b/workspace/LogReceiver/ndgui.h index d3cf29f..a3b1e70 100644 --- a/workspace/LogReceiver/ndgui.h +++ b/workspace/LogReceiver/ndgui.h @@ -17,17 +17,25 @@ public: ~ndgui(); public slots: - void handleProgress(int iFaceIndex, int newValue); - void addNewInterface(QString ifName, int index); + void handleProgress(QString ifName, int newValue); + void addNewInterface(QString ifName); void handleConnectionEstablished(QString ifName); + void handleAbortBoot(QString msg); + void handleUpdateStatusLabel(QString ifName, QString status); + void handleAllProcessesFinished(); private: Ui::ndguiClass ui; LogReceiver logReceiver; + QList finalUsableInterfaces; + + int numberOfInterfaces; + /*gui elements*/ - QMap progressBars; + QMap progressBars; + QMap statusLabels; QLabel *ndStatusLabel; QGroupBox *interfaceGroupBox; QVBoxLayout *mainLayout; @@ -37,10 +45,6 @@ private: /*gui functions*/ void buildGui(); void createInterfaceGroupBox(); - //void addInterfacesToGroupBox(QList &interfaces); - - - }; diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 89aadb6..2ef257c 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -21,7 +21,7 @@ int sockfd, ns; int retval = -1; char socketName[QTSOCKETADDRESSLENGTH]; char interfaceName[IF_NAMESIZE]; -char mesg[256] = {0}; +char mesg[1024]; void setSocketName(const char * sn) { snprintf(socketName, sizeof(socketName), "%s", sn); -- cgit v1.2.3-55-g7522 From 82aa92021583cbeefe6c0a29181680f3ca1e4242 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 24 Aug 2011 13:58:14 +0200 Subject: added to dialogs. one for the critical error case (abot boot dialog), one for the succesful case (choose interface dialog). also added a new function for testing the connectivity via tcpsocket (or http request). --- workspace/LogReceiver/LogReceiver | Bin 78251 -> 107903 bytes workspace/LogReceiver/LogReceiver.pro | 8 +- workspace/LogReceiver/abortbootdialog.cpp | 98 ++++++++++++++++++++++++ workspace/LogReceiver/abortbootdialog.h | 46 +++++++++++ workspace/LogReceiver/chooseinterfacedialog.cpp | 98 ++++++++++++++++++++++++ workspace/LogReceiver/chooseinterfacedialog.h | 44 +++++++++++ workspace/LogReceiver/logreceiver.cpp | 43 ++++++++--- workspace/LogReceiver/logreceiver.h | 1 + workspace/LogReceiver/ndgui.cpp | 79 ++++++++++++++++++- workspace/LogReceiver/ndgui.h | 18 ++++- 10 files changed, 421 insertions(+), 14 deletions(-) create mode 100644 workspace/LogReceiver/abortbootdialog.cpp create mode 100644 workspace/LogReceiver/abortbootdialog.h create mode 100644 workspace/LogReceiver/chooseinterfacedialog.cpp create mode 100644 workspace/LogReceiver/chooseinterfacedialog.h diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index d0aab5a..8ada72f 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro index 81c48f6..19300fa 100644 --- a/workspace/LogReceiver/LogReceiver.pro +++ b/workspace/LogReceiver/LogReceiver.pro @@ -6,10 +6,14 @@ QT += core \ LIBS += -lsysfs INCLUDEPATH += ../customdhcpcd/src HEADERS += ndgui.h \ - logreceiver.h + logreceiver.h \ + abortbootdialog.h \ + chooseinterfacedialog.h SOURCES += ndgui.cpp \ main.cpp \ - logreceiver.cpp + logreceiver.cpp \ + abortbootdialog.cpp \ + chooseinterfacedialog.cpp FORMS += ndgui.ui \ logreceiver.ui RESOURCES += diff --git a/workspace/LogReceiver/abortbootdialog.cpp b/workspace/LogReceiver/abortbootdialog.cpp new file mode 100644 index 0000000..1614f6b --- /dev/null +++ b/workspace/LogReceiver/abortbootdialog.cpp @@ -0,0 +1,98 @@ +#include + +#include "abortbootdialog.h" + +AbortBootDialog::AbortBootDialog(QWidget *parent) : + QDialog(parent) +{ + oneMinuteCountdown = 60; + + createContentGroupBox(); + createButtonGroupBox(); + + createTimer(); + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(contentGroupBox); + mainLayout->addWidget(buttonGroupBox); + + setLayout(mainLayout); + setWindowTitle(tr("Abort Boot")); +} +void AbortBootDialog::createContentGroupBox() +{ + contentGroupBox = new QGroupBox; + timerLabel = new QLabel(QString::number(oneMinuteCountdown)); + QHBoxLayout *layout = new QHBoxLayout; + + + layout->addWidget(new QLabel(tr("test"))); + layout->addWidget(timerLabel); + contentGroupBox->setLayout(layout); +} + +void AbortBootDialog::createButtonGroupBox() +{ + buttonGroupBox = new QGroupBox; + QHBoxLayout *layout = new QHBoxLayout; + + QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); + shutDownButton->setDefault(true); + QPushButton *restartButton = new QPushButton(tr("Restart")); + restartButton->setAutoDefault(false); + QPushButton *showLogButton = new QPushButton(tr("Show Log")); + showLogButton->setAutoDefault(false); + + connect(showLogButton, SIGNAL(clicked()),this, SLOT(showLogButtonClicked())); + connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); + connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); + + layout->addWidget(showLogButton); + layout->addWidget(restartButton); + layout->addWidget(shutDownButton); + buttonGroupBox->setLayout(layout); +} + +void AbortBootDialog::createTimer() +{ + timer = new QTimer(this); + connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); + timer->start(1000); +} + +void AbortBootDialog::showLogButtonClicked() +{ + qDebug() << "show log button clicked"; + emit showLogSignal(); +} + +void AbortBootDialog::shutDownButtonClicked() +{ + qDebug() << "shut down button clicked"; + emit shutDownSignal(); +} + +void AbortBootDialog::restartButtonClicked() +{ + qDebug() << "restart button clicked"; + emit restartSignal(); +} + +void AbortBootDialog::timerLabelUpdate() +{ + oneMinuteCountdown = oneMinuteCountdown -1; + timerLabel->setText(QString::number(oneMinuteCountdown)); + if(oneMinuteCountdown <= 0) + { + timer->stop(); + emit shutDownSignal(); + } + +} + +void AbortBootDialog::closeDialog() +{ + this->hide(); + this->killTimer(timer->timerId()); + this->close(); +} diff --git a/workspace/LogReceiver/abortbootdialog.h b/workspace/LogReceiver/abortbootdialog.h new file mode 100644 index 0000000..157331b --- /dev/null +++ b/workspace/LogReceiver/abortbootdialog.h @@ -0,0 +1,46 @@ +#ifndef ABORTBOOTDIALOG_H +#define ABORTBOOTDIALOG_H + +#include +#include "qboxlayout.h" +#include "qgroupbox.h" +#include "qcombobox.h" +#include "qlabel.h" + + +class AbortBootDialog : public QDialog +{ + Q_OBJECT +public: + explicit AbortBootDialog(QWidget *parent = 0); + + void closeDialog(); +private slots: + void showLogButtonClicked(); + void shutDownButtonClicked(); + void restartButtonClicked(); + void timerLabelUpdate(); + +private: + QVBoxLayout *mainLayout; + QGroupBox *contentGroupBox; + QGroupBox *buttonGroupBox; + QLabel *timerLabel; + QTimer *timer; + int oneMinuteCountdown; + + void createContentGroupBox(); + void createButtonGroupBox(); + void createTimer(); + + +signals: + void showLogSignal(); + void shutDownSignal(); + void restartSignal(); + +public slots: + +}; + +#endif // ABORTBOOTDIALOG_H diff --git a/workspace/LogReceiver/chooseinterfacedialog.cpp b/workspace/LogReceiver/chooseinterfacedialog.cpp new file mode 100644 index 0000000..b7a37e8 --- /dev/null +++ b/workspace/LogReceiver/chooseinterfacedialog.cpp @@ -0,0 +1,98 @@ +#include + +#include "chooseinterfacedialog.h" + +ChooseInterfaceDialog::ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent) : + QDialog(parent) +{ + oneMinuteCountdown = 60; + + createContentGroupBox(interfaces); + createButtonGroupBox(); + + createTimer(); + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(contentGroupBox); + mainLayout->addWidget(buttonGroupBox); + + setLayout(mainLayout); + setWindowTitle(tr("Choose Interface")); +} + +void ChooseInterfaceDialog::createContentGroupBox(QStringList &interfaces) +{ + contentGroupBox = new QGroupBox; + timerLabel = new QLabel(QString::number(oneMinuteCountdown)); + QVBoxLayout *groupBoxLayout = new QVBoxLayout; + QHBoxLayout *layout = new QHBoxLayout; + + comboBox = new QComboBox; + comboBox->addItems(interfaces); + + layout->addWidget(new QLabel(tr("test"))); + layout->addWidget(comboBox); + + groupBoxLayout->addWidget(timerLabel); + groupBoxLayout->addLayout(layout); + contentGroupBox->setLayout(groupBoxLayout); +} + +void ChooseInterfaceDialog::createButtonGroupBox() +{ + buttonGroupBox = new QGroupBox; + QHBoxLayout *layout = new QHBoxLayout; + + QPushButton *continueButton = new QPushButton(tr("Continue")); + continueButton->setDefault(true); + QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); + shutDownButton->setAutoDefault(false); + QPushButton *restartButton = new QPushButton(tr("Restart")); + restartButton->setAutoDefault(false); + + connect(continueButton, SIGNAL(clicked()),this, SLOT(continueButtonClicked())); + connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); + connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); + + layout->addWidget(restartButton); + layout->addWidget(shutDownButton); + layout->addWidget(continueButton); + buttonGroupBox->setLayout(layout); +} + +void ChooseInterfaceDialog::createTimer() +{ + timer = new QTimer(this); + connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); + timer->start(1000); +} + +void ChooseInterfaceDialog::continueButtonClicked() +{ + qDebug() << "continue button clicked"; + emit continueSignal(comboBox->currentText()); +} + +void ChooseInterfaceDialog::shutDownButtonClicked() +{ + qDebug() << "shut down button clicked"; + emit shutDownSignal(); +} + +void ChooseInterfaceDialog::restartButtonClicked() +{ + qDebug() << "restart button clicked"; + emit restartSignal(); +} + +void ChooseInterfaceDialog::timerLabelUpdate() +{ + oneMinuteCountdown = oneMinuteCountdown -1; + timerLabel->setText(QString::number(oneMinuteCountdown)); + if(oneMinuteCountdown <= 0) + { + timer->stop(); + emit continueSignal(comboBox->currentText()); + } + +} diff --git a/workspace/LogReceiver/chooseinterfacedialog.h b/workspace/LogReceiver/chooseinterfacedialog.h new file mode 100644 index 0000000..48ee038 --- /dev/null +++ b/workspace/LogReceiver/chooseinterfacedialog.h @@ -0,0 +1,44 @@ +#ifndef CHOOSEINTERFACEDIALOG_H +#define CHOOSEINTERFACEDIALOG_H + +#include +#include "qboxlayout.h" +#include "qgroupbox.h" +#include "qcombobox.h" +#include "qlabel.h" + +class ChooseInterfaceDialog : public QDialog +{ + Q_OBJECT +public: + explicit ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent = 0); +private slots: + void continueButtonClicked(); + void shutDownButtonClicked(); + void restartButtonClicked(); + void timerLabelUpdate(); + +private: + QVBoxLayout *mainLayout; + QGroupBox *contentGroupBox; + QGroupBox *buttonGroupBox; + QComboBox *comboBox; + QLabel *timerLabel; + QTimer *timer; + int oneMinuteCountdown; + + void createContentGroupBox(QStringList &interfaces); + void createButtonGroupBox(); + void createTimer(); + +signals: + void continueSignal(QString ifName); + void shutDownSignal(); + void restartSignal(); + + +public slots: + +}; + +#endif // CHOOSEINTERFACEDIALOG_H diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 70d49e6..93e8373 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -207,6 +207,29 @@ void LogReceiver::checkInternetConnection(QList &interfaces) { checkInternetConnection(nI); } } +void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { + + const bool canStartIAP = (configurationManager.capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces); + QList configs = configurationManager.allConfigurations(); + QNetworkConfiguration cfg; + foreach(QNetworkConfiguration nC, configs) { + if(nC.name() == ifName) { + cfg = nC; + } + } + + if(!cfg.isValid() || (!canStartIAP && cfg.state() != QNetworkConfiguration::Active)) { + + return; + } + session = new QNetworkSession(cfg, this); + session->open(); + session->waitForOpened(-1); + + + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(); +} void LogReceiver::handleNewConnection() { qDebug() << "New Connection arrived"; @@ -249,25 +272,25 @@ void LogReceiver::handleNewInputLine(QString data) { case LOG_INFO: switch (sst) { case DHCP_DISCOVER: - //emit changeProgressBarValue(pBar, 10); + emit changeProgressBarValue(interface, 10); break; case DHCP_OFFER: - //emit changeProgressBarValue(pBar, 20); + emit changeProgressBarValue(interface, 20); break; case DHCP_REQUEST: - //emit changeProgressBarValue(pBar, 30); + emit changeProgressBarValue(interface, 30); break; case DHCP_ACK: - //emit changeProgressBarValue(pBar, 40); + emit changeProgressBarValue(interface, 40); break; case DHCP_NAK: - //emit changeProgressBarValue(pBar, 40); + emit changeProgressBarValue(interface, 40); break; case DHCPCD_ARP_TEST: - //emit changeProgressBarValue(pBar, 50); + emit changeProgressBarValue(interface, 50); break; case DHCP_DECLINE: - //emit changeProgressBarValue(pBar, 60); + emit changeProgressBarValue(interface, 60); break; case DHCP_RELEASE: @@ -275,13 +298,13 @@ void LogReceiver::handleNewInputLine(QString data) { case DHCP_INFORM: break; case DHCPCD_CONFIGURE: - //emit changeProgressBarValue(pBar, 70); + emit changeProgressBarValue(interface, 70); break; case DHCPCD_WRITE: - //emit changeProgressBarValue(pBar, 80); + emit changeProgressBarValue(interface, 80); break; case DHCPCD_EXIT: - //emit changeProgressBarValue(pBar, 100); + emit changeProgressBarValue(interface, 100); break; case DHCPCD_LOG: diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index c4e165d..143cbef 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -61,6 +61,7 @@ private: bool checkCarrierState(QString interface); void checkInternetConnection(QString ifName); void checkInternetConnection(QList &interfaces); + void checkInternetConnectionViaTCP(QString ifName); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp index 78aa280..a839aef 100644 --- a/workspace/LogReceiver/ndgui.cpp +++ b/workspace/LogReceiver/ndgui.cpp @@ -1,4 +1,6 @@ #include "ndgui.h" +#include "chooseinterfacedialog.h" +#include "abortbootdialog.h" ndgui::ndgui(QWidget *parent) : QWidget(parent) @@ -93,6 +95,7 @@ void ndgui::handleConnectionEstablished(QString ifName) { void ndgui::handleAbortBoot(QString msg) { qDebug() << "abort boot. reason:" << msg; + showAbortBootDialog(); } void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { @@ -103,5 +106,79 @@ void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { void ndgui::handleAllProcessesFinished() { qDebug() << "all Processes finished"; - mainLayout-> + if (finalUsableInterfaces.size() > 0) { + showChooseInterfaceDialog(); + } else { + showAbortBootDialog(); + } +} + +void ndgui::showAbortBootDialog() { + aBD = new AbortBootDialog(this); + connect(aBD, SIGNAL(showLogSignal()), this, SLOT(showLog())); + connect(aBD, SIGNAL(restartSignal()), this, SLOT(restartSystem())); + connect(aBD, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); + aBD->setModal(true); + aBD->show(); +} + +void ndgui::showChooseInterfaceDialog() { + cID = new ChooseInterfaceDialog(finalUsableInterfaces, this); + connect(cID, SIGNAL(continueSignal(QString)), this, + SLOT(continueBoot(QString))); + connect(cID, SIGNAL(restartSignal()), this, SLOT(restartSystem())); + connect(cID, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); + cID->setModal(true); + cID->show(); +} + +void ndgui::restartSystem() +{ + + if(qobject_cast(QObject::sender())>0) + { + qDebug() << "received Signal restart abd"; + aBD->closeDialog(); + } + else if(qobject_cast(QObject::sender())>0) + { + qDebug() << "received Signal restart cid"; + cID->close(); + } + else + { + qDebug() << "unknown sender" << QObject::sender(); + } + + +} + +void ndgui::shutDownSystem() +{ + if(qobject_cast(QObject::sender())>0) + { + + aBD->closeDialog(); + } + else if(qobject_cast(QObject::sender())>0) + { + + cID->close(); + } + else + { + qDebug() << "unknown sender" << QObject::sender(); + } + +} + +void ndgui::continueBoot(QString ifName) +{ + QString text = "continue with interface: " + ifName; + cID->close(); +} + +void ndgui::showLog() +{ + qDebug() << "show log"; } diff --git a/workspace/LogReceiver/ndgui.h b/workspace/LogReceiver/ndgui.h index a3b1e70..e8b0b85 100644 --- a/workspace/LogReceiver/ndgui.h +++ b/workspace/LogReceiver/ndgui.h @@ -8,6 +8,8 @@ #include "qboxlayout.h" #include "ui_ndgui.h" #include "logreceiver.h" +#include "chooseinterfacedialog.h" +#include "abortbootdialog.h" class ndgui: public QWidget { Q_OBJECT @@ -24,15 +26,26 @@ public slots: void handleUpdateStatusLabel(QString ifName, QString status); void handleAllProcessesFinished(); + void restartSystem(); + void shutDownSystem(); + void continueBoot(QString ifName); + void showLog(); + + void showAbortBootDialog(); + void showChooseInterfaceDialog(); + private: Ui::ndguiClass ui; LogReceiver logReceiver; - QList finalUsableInterfaces; + QStringList finalUsableInterfaces; int numberOfInterfaces; + ChooseInterfaceDialog *cID; + AbortBootDialog *aBD; + /*gui elements*/ QMap progressBars; QMap statusLabels; @@ -42,6 +55,9 @@ private: QVBoxLayout *interfaceGroupBoxLayout; /**/ + + + /*gui functions*/ void buildGui(); void createInterfaceGroupBox(); -- cgit v1.2.3-55-g7522 From 4f713dfa2728b5727481604ad7249e9c71a6487d Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 29 Aug 2011 15:08:23 +0200 Subject: added makefiles --- .gitignore | 6 +- workspace/LogReceiver/LogReceiver | Bin 107903 -> 118177 bytes workspace/LogReceiver/Makefile | 278 +++++++++++++++++++++++++++ workspace/LogReceiver/Makefile.Debug | 178 +++++++++++++++++ workspace/LogReceiver/Makefile.Release | 178 +++++++++++++++++ workspace/LogReceiver/logreceiver.cpp | 88 ++++++--- workspace/LogReceiver/logreceiver.h | 1 + workspace/customdhcpcd/Debug/customdhcpcd | Bin 31498 -> 0 bytes workspace/customdhcpcd/Debug/src/arp.d | 21 ++ workspace/customdhcpcd/Debug/src/client.d | 37 ++++ workspace/customdhcpcd/Debug/src/common.d | 6 + workspace/customdhcpcd/Debug/src/configure.d | 28 +++ workspace/customdhcpcd/Debug/src/dhcp.d | 17 ++ workspace/customdhcpcd/Debug/src/dhcpcd.d | 26 +++ workspace/customdhcpcd/Debug/src/discover.d | 1 + workspace/customdhcpcd/Debug/src/duid.d | 12 ++ workspace/customdhcpcd/Debug/src/info.d | 17 ++ workspace/customdhcpcd/Debug/src/interface.d | 15 ++ workspace/customdhcpcd/Debug/src/ipv4ll.d | 17 ++ workspace/customdhcpcd/Debug/src/logger.d | 10 + workspace/customdhcpcd/Debug/src/logwriter.d | 19 ++ workspace/customdhcpcd/Debug/src/signal.d | 8 + workspace/customdhcpcd/Debug/src/socket.d | 17 ++ workspace/customdhcpcd/Debug/src/subdir.mk | 67 ++++++- workspace/customdhcpcd/src/Makefile | 34 ++++ workspace/customdhcpcd/src/mk/cc.mk | 23 +++ workspace/customdhcpcd/src/mk/depend.mk | 11 ++ workspace/customdhcpcd/src/mk/dist.mk | 11 ++ workspace/customdhcpcd/src/mk/man.mk | 14 ++ workspace/customdhcpcd/src/mk/os.mk | 77 ++++++++ workspace/customdhcpcd/src/mk/prog.mk | 34 ++++ 31 files changed, 1221 insertions(+), 30 deletions(-) create mode 100644 workspace/LogReceiver/Makefile create mode 100644 workspace/LogReceiver/Makefile.Debug create mode 100644 workspace/LogReceiver/Makefile.Release delete mode 100755 workspace/customdhcpcd/Debug/customdhcpcd create mode 100644 workspace/customdhcpcd/Debug/src/arp.d create mode 100644 workspace/customdhcpcd/Debug/src/client.d create mode 100644 workspace/customdhcpcd/Debug/src/common.d create mode 100644 workspace/customdhcpcd/Debug/src/configure.d create mode 100644 workspace/customdhcpcd/Debug/src/dhcp.d create mode 100644 workspace/customdhcpcd/Debug/src/dhcpcd.d create mode 100644 workspace/customdhcpcd/Debug/src/discover.d create mode 100644 workspace/customdhcpcd/Debug/src/duid.d create mode 100644 workspace/customdhcpcd/Debug/src/info.d create mode 100644 workspace/customdhcpcd/Debug/src/interface.d create mode 100644 workspace/customdhcpcd/Debug/src/ipv4ll.d create mode 100644 workspace/customdhcpcd/Debug/src/logger.d create mode 100644 workspace/customdhcpcd/Debug/src/logwriter.d create mode 100644 workspace/customdhcpcd/Debug/src/signal.d create mode 100644 workspace/customdhcpcd/Debug/src/socket.d create mode 100644 workspace/customdhcpcd/src/Makefile create mode 100644 workspace/customdhcpcd/src/mk/cc.mk create mode 100644 workspace/customdhcpcd/src/mk/depend.mk create mode 100644 workspace/customdhcpcd/src/mk/dist.mk create mode 100644 workspace/customdhcpcd/src/mk/man.mk create mode 100644 workspace/customdhcpcd/src/mk/os.mk create mode 100644 workspace/customdhcpcd/src/mk/prog.mk diff --git a/.gitignore b/.gitignore index f15f5f8..6941805 100644 --- a/.gitignore +++ b/.gitignore @@ -10,5 +10,7 @@ debug .project .cproject .metadata -Makefile -Makefile.* +/Makefile +/Makefile.* +/src/Makefile +/src/Makefile.* diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 8ada72f..bf4036a 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/Makefile b/workspace/LogReceiver/Makefile new file mode 100644 index 0000000..cd541af --- /dev/null +++ b/workspace/LogReceiver/Makefile @@ -0,0 +1,278 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Aug 24 10:11:58 2011 +# Project: LogReceiver.pro +# Template: app +# Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.7.2/include -I../customdhcpcd/src -I. -I. +LINK = g++ +LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lsysfs -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = ndgui.cpp \ + main.cpp \ + logreceiver.cpp \ + abortbootdialog.cpp \ + chooseinterfacedialog.cpp moc_ndgui.cpp \ + moc_logreceiver.cpp \ + moc_abortbootdialog.cpp \ + moc_chooseinterfacedialog.cpp +OBJECTS = ndgui.o \ + main.o \ + logreceiver.o \ + abortbootdialog.o \ + chooseinterfacedialog.o \ + moc_ndgui.o \ + moc_logreceiver.o \ + moc_abortbootdialog.o \ + moc_chooseinterfacedialog.o +DIST = /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): ui_ndgui.h ui_logreceiver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: LogReceiver.pro /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++/qmake.conf /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl \ + /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl \ + /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl + $(QMAKE) -o Makefile LogReceiver.pro +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl: +/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl: +/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl: +qmake: FORCE + @$(QMAKE) -o Makefile LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +moc_ndgui.cpp: ui_ndgui.h \ + logreceiver.h \ + chooseinterfacedialog.h \ + abortbootdialog.h \ + ndgui.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o moc_ndgui.cpp + +moc_logreceiver.cpp: logreceiver.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o moc_logreceiver.cpp + +moc_abortbootdialog.cpp: abortbootdialog.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) abortbootdialog.h -o moc_abortbootdialog.cpp + +moc_chooseinterfacedialog.cpp: chooseinterfacedialog.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) chooseinterfacedialog.h -o moc_chooseinterfacedialog.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_ndgui.h ui_logreceiver.h +compiler_uic_clean: + -$(DEL_FILE) ui_ndgui.h ui_logreceiver.h +ui_ndgui.h: ndgui.ui + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h + +ui_logreceiver.h: logreceiver.ui + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +ndgui.o: ndgui.cpp ndgui.h \ + ui_ndgui.h \ + logreceiver.h \ + chooseinterfacedialog.h \ + abortbootdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ndgui.o ndgui.cpp + +main.o: main.cpp ndgui.h \ + ui_ndgui.h \ + logreceiver.h \ + chooseinterfacedialog.h \ + abortbootdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp + +logreceiver.o: logreceiver.cpp logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o logreceiver.o logreceiver.cpp + +abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o abortbootdialog.o abortbootdialog.cpp + +chooseinterfacedialog.o: chooseinterfacedialog.cpp chooseinterfacedialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chooseinterfacedialog.o chooseinterfacedialog.cpp + +moc_ndgui.o: moc_ndgui.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ndgui.o moc_ndgui.cpp + +moc_logreceiver.o: moc_logreceiver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_logreceiver.o moc_logreceiver.cpp + +moc_abortbootdialog.o: moc_abortbootdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_abortbootdialog.o moc_abortbootdialog.cpp + +moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chooseinterfacedialog.o moc_chooseinterfacedialog.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/workspace/LogReceiver/Makefile.Debug b/workspace/LogReceiver/Makefile.Debug new file mode 100644 index 0000000..29db2ad --- /dev/null +++ b/workspace/LogReceiver/Makefile.Debug @@ -0,0 +1,178 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 +# Project: LogReceiver.pro +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Idebug -I. +LINK = g++ +LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = debug/ + +####### Files + +SOURCES = main.cpp \ + logreceiver.cpp debug/moc_logreceiver.cpp +OBJECTS = debug/main.o \ + debug/logreceiver.o \ + debug/moc_logreceiver.o +DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile.Debug $(TARGET) + +$(TARGET): ui_logreceiver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +qmake: FORCE + @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Debug LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) debug/LogReceiver1.0.0 || $(MKDIR) debug/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui debug/LogReceiver1.0.0/ && (cd `dirname debug/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname debug/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r debug/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile.Debug + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: debug/moc_logreceiver.cpp +compiler_moc_header_clean: + -$(DEL_FILE) debug/moc_logreceiver.cpp +debug/moc_logreceiver.cpp: ui_logreceiver.h \ + logreceiver.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o debug/moc_logreceiver.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_logreceiver.h +compiler_uic_clean: + -$(DEL_FILE) ui_logreceiver.h +ui_logreceiver.h: logreceiver.ui + /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +debug/main.o: main.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/main.o main.cpp + +debug/logreceiver.o: logreceiver.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/logreceiver.o logreceiver.cpp + +debug/moc_logreceiver.o: debug/moc_logreceiver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_logreceiver.o debug/moc_logreceiver.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/workspace/LogReceiver/Makefile.Release b/workspace/LogReceiver/Makefile.Release new file mode 100644 index 0000000..64e6a9f --- /dev/null +++ b/workspace/LogReceiver/Makefile.Release @@ -0,0 +1,178 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 +# Project: LogReceiver.pro +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Irelease -I. +LINK = g++ +LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = release/ + +####### Files + +SOURCES = main.cpp \ + logreceiver.cpp release/moc_logreceiver.cpp +OBJECTS = release/main.o \ + release/logreceiver.o \ + release/moc_logreceiver.o +DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile.Release $(TARGET) + +$(TARGET): ui_logreceiver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +qmake: FORCE + @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Release LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) release/LogReceiver1.0.0 || $(MKDIR) release/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h release/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui release/LogReceiver1.0.0/ && (cd `dirname release/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname release/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r release/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile.Release + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: release/moc_logreceiver.cpp +compiler_moc_header_clean: + -$(DEL_FILE) release/moc_logreceiver.cpp +release/moc_logreceiver.cpp: ui_logreceiver.h \ + logreceiver.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o release/moc_logreceiver.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_logreceiver.h +compiler_uic_clean: + -$(DEL_FILE) ui_logreceiver.h +ui_logreceiver.h: logreceiver.ui + /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +release/main.o: main.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/main.o main.cpp + +release/logreceiver.o: logreceiver.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/logreceiver.o logreceiver.cpp + +release/moc_logreceiver.o: release/moc_logreceiver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_logreceiver.o release/moc_logreceiver.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 93e8373..e0ae336 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -209,26 +209,42 @@ void LogReceiver::checkInternetConnection(QList &interfaces) { } void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { - const bool canStartIAP = (configurationManager.capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces); - QList configs = configurationManager.allConfigurations(); - QNetworkConfiguration cfg; - foreach(QNetworkConfiguration nC, configs) { - if(nC.name() == ifName) { - cfg = nC; - } - } - - if(!cfg.isValid() || (!canStartIAP && cfg.state() != QNetworkConfiguration::Active)) { - - return; - } - session = new QNetworkSession(cfg, this); - session->open(); - session->waitForOpened(-1); - - - QTcpSocket *tcpSocket = new QTcpSocket(this); - tcpSocket->connectToHost(); + const bool canStartIAP = (configurationManager.capabilities() + & QNetworkConfigurationManager::CanStartAndStopInterfaces); + QList configs = + configurationManager.allConfigurations(); + QNetworkConfiguration cfg; + foreach(QNetworkConfiguration nC, configs) + { + if (nC.name() == ifName) { + qDebug() << "found config" << nC.name(); + cfg = nC; + break; + } + } + if (!cfg.isValid() || (!canStartIAP && cfg.state() + != QNetworkConfiguration::Active)) { + qDebug() << "config is not valid" << cfg.name(); + return; + } + QNetworkSession *session = new QNetworkSession(cfg, this); + session->open(); + if (session->waitForOpened(-1)) { + + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(QString("209.85.148.105"), 80); + if (!tcpSocket->waitForConnected()) { + qDebug() << tcpSocket->errorString(); + emit updateStatusLabel(ifName, "connection not possible"); + } else { + emit updateStatusLabel(ifName, "connection possible"); + emit connectionEstablished(ifName); + } + } + else { + qDebug() << "couldn't open session"; + } + session->close(); } void LogReceiver::handleNewConnection() { @@ -258,6 +274,21 @@ void LogReceiver::handleNewInput() { } } + +void LogReceiver::handleNewInput_(QLocalSocket *client) { + + QString data(client->readAll()); + + data = data.trimmed(); + + QStringList lines = data.split("\n"); + + for (int i=0; i < lines.length(); i++) { + handleNewInputLine(lines.at(i)); + } +} + + void LogReceiver::handleNewInputLine(QString data) { QString logMsg(data); @@ -323,9 +354,6 @@ void LogReceiver::handleNewInputLine(QString data) { void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QProcess* p = qobject_cast(QObject::sender()); - - - QString ifName = clientProcessToIfNameMap.value(p,"ifName"); if(ifName.compare("ifName") == 0) { @@ -341,9 +369,19 @@ void LogReceiver::handleProcessFinished(int exitCode, qDebug() << "process normal exit"; qDebug() << "check internet connction"; emit updateStatusLabel(ifName, "check connectivity"); - checkInternetConnection(ifName); + //checkInternetConnection(ifName); + checkInternetConnectionViaTCP(ifName); } - + } + if (numberOfProcesses == 1) { + QLocalSocket *s; + qDebug() << "try to read socket buffer.."; + foreach(s, clients.keys()) { + if (s->bytesAvailable() > 0) { + qDebug() << "read socket buffer.."; + handleNewInput_(s); + } + } } numberOfProcesses = numberOfProcesses -1; if (numberOfProcesses <= 0) { diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 143cbef..e53ad1d 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -55,6 +55,7 @@ private: int numberOfProcesses; + void handleNewInput_(QLocalSocket *s); void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); diff --git a/workspace/customdhcpcd/Debug/customdhcpcd b/workspace/customdhcpcd/Debug/customdhcpcd deleted file mode 100755 index 6212e3b..0000000 Binary files a/workspace/customdhcpcd/Debug/customdhcpcd and /dev/null differ diff --git a/workspace/customdhcpcd/Debug/src/arp.d b/workspace/customdhcpcd/Debug/src/arp.d new file mode 100644 index 0000000..e639f20 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/arp.d @@ -0,0 +1,21 @@ +src/arp.d src/arp.o: ../src/arp.c ../src/config.h ../src/common.h \ + ../src/arp.h ../src/interface.h ../src/logger.h ../src/signal.h \ + ../src/socket.h ../src/dhcp.h ../src/dhcpcd.h + +../src/config.h: + +../src/common.h: + +../src/arp.h: + +../src/interface.h: + +../src/logger.h: + +../src/signal.h: + +../src/socket.h: + +../src/dhcp.h: + +../src/dhcpcd.h: diff --git a/workspace/customdhcpcd/Debug/src/client.d b/workspace/customdhcpcd/Debug/src/client.d new file mode 100644 index 0000000..585c535 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/client.d @@ -0,0 +1,37 @@ +src/client.d src/client.o: ../src/client.c ../src/config.h \ + ../src/common.h ../src/arp.h ../src/interface.h ../src/client.h \ + ../src/dhcpcd.h ../src/configure.h ../src/dhcp.h ../src/info.h \ + ../src/ipv4ll.h ../src/logger.h ../src/signal.h ../src/socket.h \ + ../src/logwriter.h ../src/status.h ../src/duid.h + +../src/config.h: + +../src/common.h: + +../src/arp.h: + +../src/interface.h: + +../src/client.h: + +../src/dhcpcd.h: + +../src/configure.h: + +../src/dhcp.h: + +../src/info.h: + +../src/ipv4ll.h: + +../src/logger.h: + +../src/signal.h: + +../src/socket.h: + +../src/logwriter.h: + +../src/status.h: + +../src/duid.h: diff --git a/workspace/customdhcpcd/Debug/src/common.d b/workspace/customdhcpcd/Debug/src/common.d new file mode 100644 index 0000000..235fc5e --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/common.d @@ -0,0 +1,6 @@ +src/common.d src/common.o: ../src/common.c ../src/common.h \ + ../src/logger.h + +../src/common.h: + +../src/logger.h: diff --git a/workspace/customdhcpcd/Debug/src/configure.d b/workspace/customdhcpcd/Debug/src/configure.d new file mode 100644 index 0000000..16416f6 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/configure.d @@ -0,0 +1,28 @@ +src/configure.d src/configure.o: ../src/configure.c ../src/config.h \ + ../src/common.h ../src/configure.h ../src/dhcpcd.h ../src/interface.h \ + ../src/dhcp.h ../src/info.h ../src/logger.h ../src/signal.h \ + ../src/socket.h ../src/status.h ../src/logwriter.h + +../src/config.h: + +../src/common.h: + +../src/configure.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/dhcp.h: + +../src/info.h: + +../src/logger.h: + +../src/signal.h: + +../src/socket.h: + +../src/status.h: + +../src/logwriter.h: diff --git a/workspace/customdhcpcd/Debug/src/dhcp.d b/workspace/customdhcpcd/Debug/src/dhcp.d new file mode 100644 index 0000000..82e54dd --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/dhcp.d @@ -0,0 +1,17 @@ +src/dhcp.d src/dhcp.o: ../src/dhcp.c ../src/config.h ../src/common.h \ + ../src/dhcpcd.h ../src/dhcp.h ../src/interface.h ../src/logger.h \ + ../src/socket.h + +../src/config.h: + +../src/common.h: + +../src/dhcpcd.h: + +../src/dhcp.h: + +../src/interface.h: + +../src/logger.h: + +../src/socket.h: diff --git a/workspace/customdhcpcd/Debug/src/dhcpcd.d b/workspace/customdhcpcd/Debug/src/dhcpcd.d new file mode 100644 index 0000000..05c8d7e --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/dhcpcd.d @@ -0,0 +1,26 @@ +src/dhcpcd.d src/dhcpcd.o: ../src/dhcpcd.c ../src/config.h \ + ../src/client.h ../src/dhcpcd.h ../src/common.h ../src/dhcp.h \ + ../src/interface.h ../src/logger.h ../src/socket.h ../src/version.h \ + ../src/logwriter.h ../src/status.h + +../src/config.h: + +../src/client.h: + +../src/dhcpcd.h: + +../src/common.h: + +../src/dhcp.h: + +../src/interface.h: + +../src/logger.h: + +../src/socket.h: + +../src/version.h: + +../src/logwriter.h: + +../src/status.h: diff --git a/workspace/customdhcpcd/Debug/src/discover.d b/workspace/customdhcpcd/Debug/src/discover.d new file mode 100644 index 0000000..9188993 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/discover.d @@ -0,0 +1 @@ +src/discover.d src/discover.o: ../src/discover.c diff --git a/workspace/customdhcpcd/Debug/src/duid.d b/workspace/customdhcpcd/Debug/src/duid.d new file mode 100644 index 0000000..1434db7 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/duid.d @@ -0,0 +1,12 @@ +src/duid.d src/duid.o: ../src/duid.c ../src/config.h ../src/common.h \ + ../src/duid.h ../src/interface.h ../src/logger.h + +../src/config.h: + +../src/common.h: + +../src/duid.h: + +../src/interface.h: + +../src/logger.h: diff --git a/workspace/customdhcpcd/Debug/src/info.d b/workspace/customdhcpcd/Debug/src/info.d new file mode 100644 index 0000000..0a3490d --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/info.d @@ -0,0 +1,17 @@ +src/info.d src/info.o: ../src/info.c ../src/config.h ../src/common.h \ + ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/logger.h \ + ../src/info.h + +../src/config.h: + +../src/common.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/logger.h: + +../src/info.h: diff --git a/workspace/customdhcpcd/Debug/src/interface.d b/workspace/customdhcpcd/Debug/src/interface.d new file mode 100644 index 0000000..581c831 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/interface.d @@ -0,0 +1,15 @@ +src/interface.d src/interface.o: ../src/interface.c ../src/config.h \ + ../src/common.h ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h \ + ../src/logger.h + +../src/config.h: + +../src/common.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/logger.h: diff --git a/workspace/customdhcpcd/Debug/src/ipv4ll.d b/workspace/customdhcpcd/Debug/src/ipv4ll.d new file mode 100644 index 0000000..7d02ead --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/ipv4ll.d @@ -0,0 +1,17 @@ +src/ipv4ll.d src/ipv4ll.o: ../src/ipv4ll.c ../src/config.h ../src/arp.h \ + ../src/interface.h ../src/ipv4ll.h ../src/dhcp.h ../src/dhcpcd.h \ + ../src/common.h + +../src/config.h: + +../src/arp.h: + +../src/interface.h: + +../src/ipv4ll.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/common.h: diff --git a/workspace/customdhcpcd/Debug/src/logger.d b/workspace/customdhcpcd/Debug/src/logger.d new file mode 100644 index 0000000..bbf1cf8 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/logger.d @@ -0,0 +1,10 @@ +src/logger.d src/logger.o: ../src/logger.c ../src/common.h \ + ../src/logger.h ../src/logwriter.h ../src/dhcpcd.h + +../src/common.h: + +../src/logger.h: + +../src/logwriter.h: + +../src/dhcpcd.h: diff --git a/workspace/customdhcpcd/Debug/src/logwriter.d b/workspace/customdhcpcd/Debug/src/logwriter.d new file mode 100644 index 0000000..83dc4b5 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/logwriter.d @@ -0,0 +1,19 @@ +src/logwriter.d src/logwriter.o: ../src/logwriter.c ../src/common.h \ + ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/config.h \ + ../src/logger.h ../src/logwriter.h ../src/status.h + +../src/common.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/config.h: + +../src/logger.h: + +../src/logwriter.h: + +../src/status.h: diff --git a/workspace/customdhcpcd/Debug/src/signal.d b/workspace/customdhcpcd/Debug/src/signal.d new file mode 100644 index 0000000..0185fc3 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/signal.d @@ -0,0 +1,8 @@ +src/signal.d src/signal.o: ../src/signal.c ../src/common.h \ + ../src/logger.h ../src/signal.h + +../src/common.h: + +../src/logger.h: + +../src/signal.h: diff --git a/workspace/customdhcpcd/Debug/src/socket.d b/workspace/customdhcpcd/Debug/src/socket.d new file mode 100644 index 0000000..785c170 --- /dev/null +++ b/workspace/customdhcpcd/Debug/src/socket.d @@ -0,0 +1,17 @@ +src/socket.d src/socket.o: ../src/socket.c ../src/config.h ../src/dhcp.h \ + ../src/dhcpcd.h ../src/common.h ../src/interface.h ../src/logger.h \ + ../src/socket.h + +../src/config.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/common.h: + +../src/interface.h: + +../src/logger.h: + +../src/socket.h: diff --git a/workspace/customdhcpcd/Debug/src/subdir.mk b/workspace/customdhcpcd/Debug/src/subdir.mk index 86fb69b..38890b3 100644 --- a/workspace/customdhcpcd/Debug/src/subdir.mk +++ b/workspace/customdhcpcd/Debug/src/subdir.mk @@ -3,14 +3,75 @@ ################################################################################ # Add inputs and outputs from these tool invocations to the build variables +O_SRCS += \ +../src/arp.o \ +../src/client.o \ +../src/common.o \ +../src/configure.o \ +../src/dhcp.o \ +../src/dhcpcd.o \ +../src/duid.o \ +../src/info.o \ +../src/interface.o \ +../src/ipv4ll.o \ +../src/logger.o \ +../src/logwriter.o \ +../src/signal.o \ +../src/socket.o + C_SRCS += \ -../src/customdhcpcd.c +../src/arp.c \ +../src/client.c \ +../src/common.c \ +../src/configure.c \ +../src/customdhcpcd.c \ +../src/dhcp.c \ +../src/dhcpcd.c \ +../src/discover.c \ +../src/duid.c \ +../src/info.c \ +../src/interface.c \ +../src/ipv4ll.c \ +../src/logger.c \ +../src/logwriter.c \ +../src/signal.c \ +../src/socket.c OBJS += \ -./src/customdhcpcd.o +./src/arp.o \ +./src/client.o \ +./src/common.o \ +./src/configure.o \ +./src/customdhcpcd.o \ +./src/dhcp.o \ +./src/dhcpcd.o \ +./src/discover.o \ +./src/duid.o \ +./src/info.o \ +./src/interface.o \ +./src/ipv4ll.o \ +./src/logger.o \ +./src/logwriter.o \ +./src/signal.o \ +./src/socket.o C_DEPS += \ -./src/customdhcpcd.d +./src/arp.d \ +./src/client.d \ +./src/common.d \ +./src/configure.d \ +./src/customdhcpcd.d \ +./src/dhcp.d \ +./src/dhcpcd.d \ +./src/discover.d \ +./src/duid.d \ +./src/info.d \ +./src/interface.d \ +./src/ipv4ll.d \ +./src/logger.d \ +./src/logwriter.d \ +./src/signal.d \ +./src/socket.d # Each subdirectory must supply rules for building sources it contributes diff --git a/workspace/customdhcpcd/src/Makefile b/workspace/customdhcpcd/src/Makefile new file mode 100644 index 0000000..13d9f28 --- /dev/null +++ b/workspace/customdhcpcd/src/Makefile @@ -0,0 +1,34 @@ +# Makefile based on BSD's pmake. +# Our mk stubs also work with GNU make. +# Copyright 2008 Roy Marples + +PROG= dhcpcd +SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ + info.c interface.c ipv4ll.c logger.c logwriter.c signal.c socket.c +MAN= dhcpcd.8 + +VERSION= 3.2.3 +CLEANFILES= version.h dhcpcd.8 + +BINDIR= ${PREFIX}/sbin + +.SUFFIXES: .in + +MK= mk +include ${MK}/os.mk +include ${MK}/cc.mk +include ${MK}/prog.mk + +# os.mk should define this, but heh +INFOD?= /var/db + +LDADD+= ${LIBRESOLV} ${LIBRT} +CFLAGS+= -g -Wall -DINFODIR=\"${INFOD}\" ${FORK} ${RC} + +# As version.h is generated by us, hardcode the depend correctly. +${SRCS}: version.h +version.h: + echo "#define VERSION \"${VERSION}\""> version.h + +.in: + sed 's:@PREFIX@:${PREFIX}:g; s:@INFODIR@:${INFOD}:g' $< > $@ diff --git a/workspace/customdhcpcd/src/mk/cc.mk b/workspace/customdhcpcd/src/mk/cc.mk new file mode 100644 index 0000000..d52597b --- /dev/null +++ b/workspace/customdhcpcd/src/mk/cc.mk @@ -0,0 +1,23 @@ +# Copyright 2008 Roy Marples + +# Setup some good default CFLAGS +CFLAGS?= -O2 + +# Default to using the C99 standard +CSTD?= c99 +_CSTD_SH= if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi +_CSTD!= ${_CSTD_SH} +CFLAGS+= ${_CSTD}$(shell ${_CSTD_SH}) + +# Try and use some good cc flags +_CC_FLAGS= -pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \ + -Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \ + -Wbad-function-cast -Wnested-externs -Wcomment -Winline \ + -Wchar-subscripts -Wcast-align -Wno-format-nonliteral \ + -Wdeclaration-after-statement -Wsequence-point -Wextra +_CC_FLAGS_SH= for f in ${_CC_FLAGS}; do \ + if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ + then printf "%s" "$$f "; fi \ + done +_CC_FLAGS!= ${_CC_FLAGS_SH} +CFLAGS+= ${_CC_FLAGS}$(shell ${CC_FLAGS_SH}) diff --git a/workspace/customdhcpcd/src/mk/depend.mk b/workspace/customdhcpcd/src/mk/depend.mk new file mode 100644 index 0000000..a4d717a --- /dev/null +++ b/workspace/customdhcpcd/src/mk/depend.mk @@ -0,0 +1,11 @@ +# This only works for make implementations that always include a .depend if +# it exists. Only GNU make does not do this. + +# Copyright 2008 Roy Marples + +CLEANFILES+= .depend + +.depend: ${SRCS} + ${CC} ${CFLAGS} -MM ${SRCS} > .depend + +depend: .depend diff --git a/workspace/customdhcpcd/src/mk/dist.mk b/workspace/customdhcpcd/src/mk/dist.mk new file mode 100644 index 0000000..1d3669d --- /dev/null +++ b/workspace/customdhcpcd/src/mk/dist.mk @@ -0,0 +1,11 @@ +# rules to make a distribution tarball from a git repo +# Copyright 2008 Roy Marples + +GITREF?= HEAD +DISTPREFIX?= ${PROG}-${VERSION} +DISTFILE?= ${DISTPREFIX}.tar.bz2 + +CLEANFILES+= ${DISTFILE} + +dist: + git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE} diff --git a/workspace/customdhcpcd/src/mk/man.mk b/workspace/customdhcpcd/src/mk/man.mk new file mode 100644 index 0000000..5d9bf26 --- /dev/null +++ b/workspace/customdhcpcd/src/mk/man.mk @@ -0,0 +1,14 @@ +# rules to install manpages +# Copyright 2008 Roy Marples + +MANPREFIX?= /usr/share +MANDIR?= ${MANPREFIX}/man/man +MANMODE?= 0444 +MINSTALL?= ${INSTALL} -m ${MANMODE} + +man: ${MAN} + +# We cheat as all our pages go into section 8 +maninstall: man + ${INSTALL} -d ${DESTDIR}${MANDIR}8 + for man in ${MAN}; do ${MINSTALL} $$man ${DESTDIR}${MANDIR}8; done diff --git a/workspace/customdhcpcd/src/mk/os.mk b/workspace/customdhcpcd/src/mk/os.mk new file mode 100644 index 0000000..af173fc --- /dev/null +++ b/workspace/customdhcpcd/src/mk/os.mk @@ -0,0 +1,77 @@ +# Setup OS specific variables +# Copyright 2008 Roy Marples + +# Work out if we need -lresolv or not +_LIBRESOLV_SH= printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ + if ${CC} .res_init.c -o .res_init >/dev/null 2>&1; then \ + echo ""; \ + elif ${CC} .res_init.c -lresolv -o .res_init >/dev/null 2>&1; then \ + echo "-lresolv"; \ + else \ + echo "Cannot work out how to get res_init to link" >&2; \ + rm -f .res_init.c .res_init; \ + exit 1; \ + fi; \ + rm -f .res_init.c .res_init +_LIBRESOLV!= ${_LIBRESOLV_SH} +LIBRESOLV= ${_LIBRESOLV}$(shell ${_LIBRESOLV_SH}) + +# Work out if we need -lrt or not +_LIBRT_SH= printf '\#include \n\#include \n\nint main (void) { struct timespec ts;\n\#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC)\nreturn (clock_gettime (CLOCK_MONOTONIC, &ts));\n\#else\nreturn -1;\n\#endif\n}\n' > .clock_gettime.c; \ + if ${CC} .clock_gettime.c -o .clock_gettime >/dev/null 2>&1; then \ + echo ""; \ + elif ${CC} .clock_gettime.c -lrt -o .clock_gettime >/dev/null 2>&1; then \ + echo "-lrt"; \ + else \ + echo ""; \ + fi; \ + rm -f .clock_gettime.c .clock_gettime +_LIBRT!= ${_LIBRT_SH} +LIBRT= ${_LIBRT}$(shell ${_LIBRT_SH}) + +# Work out if our fork() works or not +_HAVE_FORK_SH= if test "${HAVE_FORK}" = "yes"; then \ + echo ""; \ + elif test -n "${HAVE_FORK}"; then \ + echo "-DTHERE_IS_NO_FORK"; \ + else \ + printf '\#include \n\#include \nint main (void) { pid_t pid = fork(); if (pid == -1) exit (-1); exit (0); }\n' > .fork.c; \ + ${CC} .fork.c -o .fork >/dev/null 2>&1; \ + if ./.fork; then \ + echo ""; \ + else \ + echo "-DTHERE_IS_NO_FORK"; \ + fi; \ + rm -f .fork.c .fork; \ + fi; +_HAVE_FORK!= ${_HAVE_FORK_SH} +FORK= ${_HAVE_FORK}$(shell ${_HAVE_FORK_SH}) + +# info dir defaults to /var/lib/dhcpcd on Linux and /var/db elsewhere +_INFODIR_SH= if test -n "${INFODIR}"; then \ + echo "${INFODIR}"; \ + else \ + case `uname -s` in \ + Linux) echo "/var/lib/dhcpcd";; \ + *) echo "/var/db";; \ + esac \ + fi +_INFODIR!= ${_INFODIR_SH} +INFOD?= ${_INFODIR}$(shell ${_INFODIR_SH}) + +# Work out how to restart services +_RC_SH= if test -n "${HAVE_INIT}"; then \ + test "${HAVE_INIT}" = "no" || echo "-DENABLE_${HAVE_INIT}"; \ + elif test -x /sbin/runscript; then echo "-DENABLE_OPENRC"; \ + elif test -x /sbin/service; then echo "-DENABLE_SERVICE"; \ + elif test -x /etc/rc.d/rc.S -a -x /etc/rc.d/rc.M; then echo "-DENABLE_SLACKRC"; \ + elif test -d /etc/rc.d; then echo "-DENABLE_BSDRC"; \ + elif test -d /etc/init.d; then echo "-DENABLE_SYSV"; \ + fi +_RC!= ${_RC_SH} +RC= ${_RC}$(shell ${_RC_SH}) + +# glibc requires _BSD_SOURCE and _XOPEN_SOURCE +_DEF_SH= case `uname -s` in Linux) echo "-D_BSD_SOURCE -D_XOPEN_SOURCE=600";; *) echo;; esac +_DEF!= ${_DEF_SH} +CFLAGS+= ${_DEF}$(shell ${_DEF_SH}) diff --git a/workspace/customdhcpcd/src/mk/prog.mk b/workspace/customdhcpcd/src/mk/prog.mk new file mode 100644 index 0000000..6f2560c --- /dev/null +++ b/workspace/customdhcpcd/src/mk/prog.mk @@ -0,0 +1,34 @@ +# rules to build a program +# based on FreeBSD's bsd.prog.mk + +# Copyright 2008 Roy Marples + +BINDIR?= ${PREFIX}/usr/bin +BINMODE?= 0755 +OBJS+= ${SRCS:.c=.o} + +INSTALL?= install + +all: ${PROG} ${MAN} + +${PROG}: ${SCRIPTS} ${OBJS} + ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} + +_proginstall: ${PROG} + ${INSTALL} -d ${DESTDIR}${BINDIR} + ${INSTALL} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR} + +include ${MK}/depend.mk +include ${MK}/man.mk +include ${MK}/dist.mk + +install: _proginstall maninstall + +clean: + rm -f ${OBJS} ${PROG} ${CLEANFILES} + +LINTFLAGS?= -hx +LINTFLAGS+= -X 159,247,352 + +lint: ${SRCS:.c=.c} + ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} $^ ${.ALLSRC} -- cgit v1.2.3-55-g7522 From b003285b65d6374cd144214b94bcc1bc9041e091 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 29 Aug 2011 16:54:40 +0200 Subject: tried to fix the message loss problem, but failed. TODO: debug and socket sniffer --- workspace/LogReceiver/LogReceiver | Bin 118177 -> 113415 bytes workspace/LogReceiver/logreceiver.cpp | 25 ------------------------- workspace/LogReceiver/logreceiver.h | 2 -- workspace/customdhcpcd/src/dhcpcd.c | 1 + 4 files changed, 1 insertion(+), 27 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index bf4036a..7fee3c5 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index e0ae336..127d69e 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -274,21 +274,6 @@ void LogReceiver::handleNewInput() { } } - -void LogReceiver::handleNewInput_(QLocalSocket *client) { - - QString data(client->readAll()); - - data = data.trimmed(); - - QStringList lines = data.split("\n"); - - for (int i=0; i < lines.length(); i++) { - handleNewInputLine(lines.at(i)); - } -} - - void LogReceiver::handleNewInputLine(QString data) { QString logMsg(data); @@ -373,16 +358,6 @@ void LogReceiver::handleProcessFinished(int exitCode, checkInternetConnectionViaTCP(ifName); } } - if (numberOfProcesses == 1) { - QLocalSocket *s; - qDebug() << "try to read socket buffer.."; - foreach(s, clients.keys()) { - if (s->bytesAvailable() > 0) { - qDebug() << "read socket buffer.."; - handleNewInput_(s); - } - } - } numberOfProcesses = numberOfProcesses -1; if (numberOfProcesses <= 0) { emit allProcessesFinished(); diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index e53ad1d..6611d15 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -54,8 +54,6 @@ private: QNetworkAccessManager *accessManager; int numberOfProcesses; - - void handleNewInput_(QLocalSocket *s); void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index 769bf39..f8f003c 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -665,6 +665,7 @@ abort: free (dhcpcd_skiproutes); #endif + closeQtLoggerSocket(); logger (LOG_INFO, "exiting"); logToQt(LOG_INFO, DHCPCD_EXIT, "exiting due abort"); exit (retval); -- cgit v1.2.3-55-g7522 From 34e522bcad11b1264a92e46379991fb4d344f1d1 Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 30 Aug 2011 15:03:25 +0200 Subject: added check for file existens. renamed the dhcpcd bin to customdhcpcd. temporal solution for the message loss problem => added a sleep(1) function after every send operation. this makes the programm a bit slower but it solves the problem, we now receive every message (issue 339) --- workspace/LogReceiver/LogReceiver | Bin 113415 -> 117864 bytes workspace/LogReceiver/logreceiver.cpp | 49 ++++++++++++++++++++++++++------ workspace/LogReceiver/logreceiver.h | 6 +++- workspace/customdhcpcd/src/Makefile | 2 +- workspace/customdhcpcd/src/customdhcpcd | Bin 0 -> 173204 bytes workspace/customdhcpcd/src/dhcpcd.c | 2 +- workspace/customdhcpcd/src/logwriter.c | 1 + 7 files changed, 49 insertions(+), 11 deletions(-) create mode 100755 workspace/customdhcpcd/src/customdhcpcd diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 7fee3c5..a2450ce 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 127d69e..9f73862 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -39,14 +39,23 @@ void LogReceiver::initAndRun(QString serverPath, QString pathToExe, close(); */ // emit signal to the gui that a critial error occoured - qDebug() << "--- \t [LogReceiver::initAndRun] Unable to start server:" + QString errorInfo("Unable to start server: "); + qDebug() << "--- \t [LogReceiver::initAndRun] " + errorInfo << server->errorString(); + emit abortBoot(errorInfo + server->errorString()); return; } connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); pathToDhcpcdExe = pathToExe; + // check if the path to the customdhcpcd file is correct + QFileInfo fInfo(pathToDhcpcdExe); + if (!fInfo.exists()) { + qDebug() << "couldn't find customdhcpcd exe. Please check the path to this file."; + emit abortBoot("couldn't find customdhcpcd exe. Please check the path to this file."); + return; + } if (args != NULL && !args->isEmpty()) { qDebug() << "--- \t [LogReceiver::initAndRun] added additional args"; @@ -250,23 +259,46 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { void LogReceiver::handleNewConnection() { qDebug() << "New Connection arrived"; - QLocalSocket * client = server ->nextPendingConnection(); + /*QLocalSocket **/ client = server ->nextPendingConnection(); clients.insert(client, client); - connect(client, SIGNAL(disconnected()), client, SLOT(deleteLater())); + connect(client, SIGNAL(disconnected()), this, SLOT(handleClientDisconnect())); connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); } +void LogReceiver::handleClientDisconnect() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = clients.value(socket); + + qDebug() << "disconnect client"; + handleNewInput(client); + client->deleteLater(); +} + +void LogReceiver::handleNewInput(QLocalSocket * client) { + QString data(client->readAll()); + + data = data.trimmed(); + qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(lines.at(i)); + } +} + void LogReceiver::handleNewInput() { - QObject* sender = const_cast (QObject::sender()); - QLocalSocket* socket = static_cast (sender); + //QObject* sender = const_cast (QObject::sender()); + //QLocalSocket* socket = static_cast (sender); + QLocalSocket* socket = qobject_cast(QObject::sender()); QLocalSocket * client = clients.value(socket); QString data(client->readAll()); data = data.trimmed(); - + qDebug() << data; QStringList lines = data.split("\n"); for (int i=0; i < lines.length(); i++) { @@ -283,7 +315,7 @@ void LogReceiver::handleNewInputLine(QString data) { QString msg = logMsg.section(";", 3, 3); int st = s_state.trimmed().toInt(); int sst = s_subState.trimmed().toInt(); - qDebug() << logMsg; + //qDebug() << logMsg; switch (st) { case LOG_INFO: switch (sst) { @@ -320,7 +352,7 @@ void LogReceiver::handleNewInputLine(QString data) { emit changeProgressBarValue(interface, 80); break; case DHCPCD_EXIT: - emit changeProgressBarValue(interface, 100); + //emit changeProgressBarValue(interface, 100); break; case DHCPCD_LOG: @@ -353,6 +385,7 @@ void LogReceiver::handleProcessFinished(int exitCode, else { qDebug() << "process normal exit"; qDebug() << "check internet connction"; + emit changeProgressBarValue(ifName, 100); emit updateStatusLabel(ifName, "check connectivity"); //checkInternetConnection(ifName); checkInternetConnectionViaTCP(ifName); diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 6611d15..6b32aa8 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -16,7 +16,7 @@ class LogReceiver: public QObject { Q_OBJECT #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/workspace/customdhcpcd/src/dhcpcd" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/workspace/customdhcpcd/src/customdhcpcd" public: LogReceiver(); @@ -32,6 +32,7 @@ private slots: void handleNewInputLine(QString data); void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); void handleProcessStarted(); + void handleClientDisconnect(); signals: void addNewInterface(QString ifName); @@ -47,6 +48,7 @@ private: //QMap interfacesMap; //QMap indexToIfaceNameMap; QMap clients; + QLocalSocket * client; QMap clientProcessToIfNameMap; QString pathToDhcpcdExe; QStringList dhcpcdArguments; @@ -54,6 +56,8 @@ private: QNetworkAccessManager *accessManager; int numberOfProcesses; + void handleNewInput(QLocalSocket * client); + void runDHCPCD(QList &interfaces); void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); diff --git a/workspace/customdhcpcd/src/Makefile b/workspace/customdhcpcd/src/Makefile index 13d9f28..7f90db4 100644 --- a/workspace/customdhcpcd/src/Makefile +++ b/workspace/customdhcpcd/src/Makefile @@ -2,7 +2,7 @@ # Our mk stubs also work with GNU make. # Copyright 2008 Roy Marples -PROG= dhcpcd +PROG= customdhcpcd SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ info.c interface.c ipv4ll.c logger.c logwriter.c signal.c socket.c MAN= dhcpcd.8 diff --git a/workspace/customdhcpcd/src/customdhcpcd b/workspace/customdhcpcd/src/customdhcpcd new file mode 100755 index 0000000..38b7696 Binary files /dev/null and b/workspace/customdhcpcd/src/customdhcpcd differ diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c index f8f003c..9f91239 100644 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ b/workspace/customdhcpcd/src/dhcpcd.c @@ -665,9 +665,9 @@ abort: free (dhcpcd_skiproutes); #endif - closeQtLoggerSocket(); logger (LOG_INFO, "exiting"); logToQt(LOG_INFO, DHCPCD_EXIT, "exiting due abort"); + closeQtLoggerSocket(); exit (retval); /* NOTREACHED */ } diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 2ef257c..a6adbe3 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -97,6 +97,7 @@ void sendToQt(log_msg * msg) { syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); // fprintf(stdout, "ERROR writing to socket: %s", msg); } + sleep(1); } void logToQt(int status, int substatus, const char * msg) { -- cgit v1.2.3-55-g7522 From 0c23447d55c144c6c7e2bfb1b526a64bb5051f2e Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 30 Aug 2011 16:16:30 +0200 Subject: changed sleep(1) to usleep(500) after every send to socket in logwriter.c Main Problem with this workaround: with increasing number of messages, the program will become slower and slower. also added a new map in which i store the pair (interfacename, qlocalsocket client) with this i can check if there are still some messages left, when a process finishes --- workspace/LogReceiver/LogReceiver | Bin 117864 -> 122366 bytes workspace/LogReceiver/logreceiver.cpp | 208 +++++++++++++++++--------------- workspace/LogReceiver/logreceiver.h | 3 +- workspace/customdhcpcd/src/customdhcpcd | Bin 173204 -> 173205 bytes workspace/customdhcpcd/src/logwriter.c | 2 +- 5 files changed, 115 insertions(+), 98 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index a2450ce..0aaf570 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 9f73862..9bc86e3 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -1,20 +1,18 @@ - #include - #include - #include - - - #include - #include - #include - #include - #include - - #include "logreceiver.h" - #include - #include - #include "status.h" - #include "dhcp.h" - +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "logreceiver.h" +#include +#include +#include "status.h" +#include "dhcp.h" LogReceiver::LogReceiver() { @@ -42,7 +40,8 @@ void LogReceiver::initAndRun(QString serverPath, QString pathToExe, QString errorInfo("Unable to start server: "); qDebug() << "--- \t [LogReceiver::initAndRun] " + errorInfo << server->errorString(); - emit abortBoot(errorInfo + server->errorString()); + emit + abortBoot(errorInfo + server->errorString()); return; } @@ -52,8 +51,11 @@ void LogReceiver::initAndRun(QString serverPath, QString pathToExe, // check if the path to the customdhcpcd file is correct QFileInfo fInfo(pathToDhcpcdExe); if (!fInfo.exists()) { - qDebug() << "couldn't find customdhcpcd exe. Please check the path to this file."; - emit abortBoot("couldn't find customdhcpcd exe. Please check the path to this file."); + qDebug() + << "couldn't find customdhcpcd exe. Please check the path to this file."; + emit + abortBoot( + "couldn't find customdhcpcd exe. Please check the path to this file."); return; } @@ -79,7 +81,8 @@ void LogReceiver::initAndRun(QString serverPath, QString pathToExe, runDHCPCD(list); } else { qDebug() << "list is empty. Haven't found usable interface."; - emit abortBoot("Haven't found usable interface"); + emit + abortBoot("Haven't found usable interface"); return; } @@ -112,14 +115,15 @@ QList LogReceiver::getListOfNetworkInterfaces() { QList LogReceiver::checkCarrierState(QList &interfaces) { QList result; - foreach(QString nI, interfaces) { - if(checkCarrierState(nI)) { - // everything is fine, cable is plugged, - // go on with the next interface - //continue; - result.append(nI); + foreach(QString nI, interfaces) + { + if (checkCarrierState(nI)) { + // everything is fine, cable is plugged, + // go on with the next interface + //continue; + result.append(nI); + } } - } return result; } @@ -164,25 +168,26 @@ bool LogReceiver::checkCarrierState(QString interface) { } void LogReceiver::runDHCPCD(QList &interfaces) { - foreach(QString nI, interfaces) { - runDHCPCD(nI); - } + foreach(QString nI, interfaces) + { + runDHCPCD(nI); + } } void LogReceiver::runDHCPCD(QString interface) { - emit updateStatusLabel(interface,"start DHCP"); - dhcpcdArguments.append(interface); - QProcess * p = new QProcess(this); - - qDebug() << dhcpcdArguments; - - clientProcessToIfNameMap.insert(p, interface); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe,dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), - this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); + emit updateStatusLabel(interface, "start DHCP"); + dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + + clientProcessToIfNameMap.insert(p, interface); + qDebug() << clientProcessToIfNameMap; + p->start(pathToDhcpcdExe, dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, + SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); } void LogReceiver::checkInternetConnection(QString ifName) { @@ -205,16 +210,17 @@ void LogReceiver::checkInternetConnection(QString ifName) { emit updateStatusLabel(ifName, "connection not possible"); } else if (exitCode == 0) { qDebug() << "internet: check passed! for interface" << ifName; - emit updateStatusLabel(ifName, "connection possible"); + emit + updateStatusLabel(ifName, "connection possible"); emit connectionEstablished(ifName); } } void LogReceiver::checkInternetConnection(QList &interfaces) { foreach(QString nI, interfaces) - { - checkInternetConnection(nI); - } + { + checkInternetConnection(nI); + } } void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { @@ -242,15 +248,14 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { QTcpSocket *tcpSocket = new QTcpSocket(this); tcpSocket->connectToHost(QString("209.85.148.105"), 80); - if (!tcpSocket->waitForConnected()) { + if (!tcpSocket->waitForConnected(2000)) { qDebug() << tcpSocket->errorString(); emit updateStatusLabel(ifName, "connection not possible"); } else { emit updateStatusLabel(ifName, "connection possible"); emit connectionEstablished(ifName); } - } - else { + } else { qDebug() << "couldn't open session"; } session->close(); @@ -259,9 +264,11 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { void LogReceiver::handleNewConnection() { qDebug() << "New Connection arrived"; - /*QLocalSocket **/ client = server ->nextPendingConnection(); + /*QLocalSocket **/ + client = server ->nextPendingConnection(); clients.insert(client, client); - connect(client, SIGNAL(disconnected()), this, SLOT(handleClientDisconnect())); + connect(client, SIGNAL(disconnected()), this, + SLOT(handleClientDisconnect())); connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); } @@ -276,46 +283,52 @@ void LogReceiver::handleClientDisconnect() { } void LogReceiver::handleNewInput(QLocalSocket * client) { - QString data(client->readAll()); + qDebug() << "last read before exit"; + while (client->canReadLine()) { + QString data(client->readLine()); - data = data.trimmed(); - qDebug() << data; - QStringList lines = data.split("\n"); + data = data.trimmed(); + qDebug() << data; + QStringList lines = data.split("\n"); - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(lines.at(i)); + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } } } void LogReceiver::handleNewInput() { - - //QObject* sender = const_cast (QObject::sender()); - //QLocalSocket* socket = static_cast (sender); - QLocalSocket* socket = qobject_cast(QObject::sender()); + QLocalSocket* socket = qobject_cast (QObject::sender()); QLocalSocket * client = clients.value(socket); QString data(client->readAll()); data = data.trimmed(); - qDebug() << data; + qDebug() << data; QStringList lines = data.split("\n"); - for (int i=0; i < lines.length(); i++) { - handleNewInputLine(lines.at(i)); + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); } } -void LogReceiver::handleNewInputLine(QString data) { +void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { QString logMsg(data); - QString interface = logMsg.section(";",0,0); + QString interface = logMsg.section(";", 0, 0); QString s_state = logMsg.section(";", 1, 1); QString s_subState = logMsg.section(";", 2, 2); QString msg = logMsg.section(";", 3, 3); int st = s_state.trimmed().toInt(); int sst = s_subState.trimmed().toInt(); //qDebug() << logMsg; + + if (ifNameToClient.size() < numberOfProcesses && !ifNameToClient.contains( + interface)) { + ifNameToClient.insert(interface, client); + } + switch (st) { case LOG_INFO: switch (sst) { @@ -370,48 +383,51 @@ void LogReceiver::handleNewInputLine(QString data) { void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { - QProcess* p = qobject_cast(QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p,"ifName"); + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - if(ifName.compare("ifName") == 0) { - qDebug() << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; + if (ifName.compare("ifName") == 0) { + qDebug() + << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; + } else { + qDebug() << "process for interface" << ifName << "finished" << exitCode + << exitStatus; + if (exitCode > 0) { + qDebug() << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << "process normal exit"; + qDebug() << "check internet connction"; + emit + changeProgressBarValue(ifName, 100); + emit + updateStatusLabel(ifName, "check connectivity"); + //checkInternetConnection(ifName); + checkInternetConnectionViaTCP(ifName); + } } - else { - qDebug() << "process for interface"<< ifName << "finished" << exitCode << exitStatus; - if(exitCode > 0) { - qDebug() << "process exited unexpected"; - emit updateStatusLabel(ifName, "process exited unexpected"); - } - else { - qDebug() << "process normal exit"; - qDebug() << "check internet connction"; - emit changeProgressBarValue(ifName, 100); - emit updateStatusLabel(ifName, "check connectivity"); - //checkInternetConnection(ifName); - checkInternetConnectionViaTCP(ifName); - } + QLocalSocket *client = ifNameToClient.value(ifName, 0); + if(client != 0) { + handleNewInput(client); } - numberOfProcesses = numberOfProcesses -1; + numberOfProcesses = numberOfProcesses - 1; if (numberOfProcesses <= 0) { emit allProcessesFinished(); } } void LogReceiver::handleProcessStarted() { - QProcess* p = qobject_cast(QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p,"ifName"); - qDebug() << "process started for interface:" << ifName; + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + qDebug() << "process started for interface:" << ifName; } - bool LogReceiver::checkBlackList(QString i) { if (i.startsWith("v", Qt::CaseInsensitive)) { - return true; - } - else if(i.startsWith("d", Qt::CaseInsensitive)) { return true; - } - else { + } else if (i.startsWith("d", Qt::CaseInsensitive)) { + return true; + } else { return false; } } diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h index 6b32aa8..ce6d070 100644 --- a/workspace/LogReceiver/logreceiver.h +++ b/workspace/LogReceiver/logreceiver.h @@ -29,7 +29,7 @@ public: private slots: void handleNewConnection(); void handleNewInput(); - void handleNewInputLine(QString data); + void handleNewInputLine(QLocalSocket * client, QString data); void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); void handleProcessStarted(); void handleClientDisconnect(); @@ -49,6 +49,7 @@ private: //QMap indexToIfaceNameMap; QMap clients; QLocalSocket * client; + QMap ifNameToClient; QMap clientProcessToIfNameMap; QString pathToDhcpcdExe; QStringList dhcpcdArguments; diff --git a/workspace/customdhcpcd/src/customdhcpcd b/workspace/customdhcpcd/src/customdhcpcd index 38b7696..c1b9cc1 100755 Binary files a/workspace/customdhcpcd/src/customdhcpcd and b/workspace/customdhcpcd/src/customdhcpcd differ diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index a6adbe3..77a662c 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -97,7 +97,7 @@ void sendToQt(log_msg * msg) { syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); // fprintf(stdout, "ERROR writing to socket: %s", msg); } - sleep(1); + usleep(500); } void logToQt(int status, int substatus, const char * msg) { -- cgit v1.2.3-55-g7522 From 61f3b8b4b9fc460efa6d236f5422fe7a59101090 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 09:13:25 +0200 Subject: some minor changes --- workspace/LogReceiver/LogReceiver | Bin 122366 -> 122376 bytes workspace/LogReceiver/logreceiver.cpp | 17 ++++++++++++++++- workspace/customdhcpcd/src/customdhcpcd | Bin 173205 -> 173171 bytes workspace/customdhcpcd/src/logwriter.c | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver index 0aaf570..a16897b 100755 Binary files a/workspace/LogReceiver/LogReceiver and b/workspace/LogReceiver/LogReceiver differ diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp index 9bc86e3..802f442 100644 --- a/workspace/LogReceiver/logreceiver.cpp +++ b/workspace/LogReceiver/logreceiver.cpp @@ -246,6 +246,7 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { session->open(); if (session->waitForOpened(-1)) { + qDebug () << "used interface for connectivity check:" <interface().humanReadableName(); QTcpSocket *tcpSocket = new QTcpSocket(this); tcpSocket->connectToHost(QString("209.85.148.105"), 80); if (!tcpSocket->waitForConnected(2000)) { @@ -302,6 +303,18 @@ void LogReceiver::handleNewInput() { QLocalSocket * client = clients.value(socket); + while(!client->atEnd()) { + QString data(client->readLine()); + + data = data.trimmed(); + //qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + } +/* QString data(client->readAll()); data = data.trimmed(); @@ -311,6 +324,7 @@ void LogReceiver::handleNewInput() { for (int i = 0; i < lines.length(); i++) { handleNewInputLine(client, lines.at(i)); } + */ } void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { @@ -377,7 +391,8 @@ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { qDebug() << "received stat_error"; break; default: - qDebug() << logMsg; + //qDebug() << logMsg; + break; } } diff --git a/workspace/customdhcpcd/src/customdhcpcd b/workspace/customdhcpcd/src/customdhcpcd index c1b9cc1..5ef34d0 100755 Binary files a/workspace/customdhcpcd/src/customdhcpcd and b/workspace/customdhcpcd/src/customdhcpcd differ diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c index 77a662c..74c0181 100644 --- a/workspace/customdhcpcd/src/logwriter.c +++ b/workspace/customdhcpcd/src/logwriter.c @@ -97,7 +97,7 @@ void sendToQt(log_msg * msg) { syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); // fprintf(stdout, "ERROR writing to socket: %s", msg); } - usleep(500); + //usleep(500); } void logToQt(int status, int substatus, const char * msg) { -- cgit v1.2.3-55-g7522 From 4e1b9faba7503f99ee2fbcd7458f66ade42fa309 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 09:31:39 +0200 Subject: tried to clean the git. deleted old unused files and folders. moved customdhcpcd and LogReceiver to the fbgui folder --- LogReceiver/LogReceiver | Bin 0 -> 122376 bytes LogReceiver/LogReceiver.pro | 19 + LogReceiver/Makefile | 278 +++++ LogReceiver/Makefile.Debug | 178 +++ LogReceiver/Makefile.Release | 178 +++ LogReceiver/abortbootdialog.cpp | 98 ++ LogReceiver/abortbootdialog.h | 46 + LogReceiver/chooseinterfacedialog.cpp | 98 ++ LogReceiver/chooseinterfacedialog.h | 44 + LogReceiver/logreceiver.cpp | 448 ++++++++ LogReceiver/logreceiver.h | 74 ++ LogReceiver/logreceiver.ui | 25 + LogReceiver/main.cpp | 12 + LogReceiver/ndgui.cpp | 184 ++++ LogReceiver/ndgui.h | 67 ++ LogReceiver/ndgui.ui | 19 + customdhcpcd/Debug/makefile | 44 + customdhcpcd/Debug/objects.mk | 7 + customdhcpcd/Debug/sources.mk | 17 + customdhcpcd/Debug/src/arp.d | 21 + customdhcpcd/Debug/src/client.d | 37 + customdhcpcd/Debug/src/common.d | 6 + customdhcpcd/Debug/src/configure.d | 28 + customdhcpcd/Debug/src/customdhcpcd.d | 1 + customdhcpcd/Debug/src/dhcp.d | 17 + customdhcpcd/Debug/src/dhcpcd.d | 26 + customdhcpcd/Debug/src/discover.d | 1 + customdhcpcd/Debug/src/duid.d | 12 + customdhcpcd/Debug/src/info.d | 17 + customdhcpcd/Debug/src/interface.d | 15 + customdhcpcd/Debug/src/ipv4ll.d | 17 + customdhcpcd/Debug/src/logger.d | 10 + customdhcpcd/Debug/src/logwriter.d | 19 + customdhcpcd/Debug/src/signal.d | 8 + customdhcpcd/Debug/src/socket.d | 17 + customdhcpcd/Debug/src/subdir.mk | 85 ++ customdhcpcd/src/.gitignore | 5 + customdhcpcd/src/Makefile | 34 + customdhcpcd/src/README | 45 + customdhcpcd/src/arp.c | 284 +++++ customdhcpcd/src/arp.h | 39 + customdhcpcd/src/client.c | 1150 ++++++++++++++++++++ customdhcpcd/src/client.h | 35 + customdhcpcd/src/common.c | 249 +++++ customdhcpcd/src/common.h | 68 ++ customdhcpcd/src/config.h | 133 +++ customdhcpcd/src/configure.c | 813 ++++++++++++++ customdhcpcd/src/configure.h | 38 + customdhcpcd/src/customdhcpcd | Bin 0 -> 173171 bytes customdhcpcd/src/customdhcpcd.c | 17 + customdhcpcd/src/dhcp.c | 933 ++++++++++++++++ customdhcpcd/src/dhcp.h | 215 ++++ customdhcpcd/src/dhcpcd.c | 673 ++++++++++++ customdhcpcd/src/dhcpcd.h | 105 ++ customdhcpcd/src/dhcpcd.sh | 46 + customdhcpcd/src/discover.c | 7 + customdhcpcd/src/discover.h | 12 + customdhcpcd/src/duid.c | 118 ++ customdhcpcd/src/duid.h | 42 + customdhcpcd/src/info.c | 472 ++++++++ customdhcpcd/src/info.h | 42 + customdhcpcd/src/interface.c | 1060 ++++++++++++++++++ customdhcpcd/src/interface.h | 173 +++ customdhcpcd/src/ipv4ll.c | 70 ++ customdhcpcd/src/ipv4ll.h | 39 + customdhcpcd/src/logger.c | 128 +++ customdhcpcd/src/logger.h | 48 + customdhcpcd/src/logwriter.c | 149 +++ customdhcpcd/src/logwriter.h | 37 + customdhcpcd/src/mk/cc.mk | 23 + customdhcpcd/src/mk/depend.mk | 11 + customdhcpcd/src/mk/dist.mk | 11 + customdhcpcd/src/mk/man.mk | 14 + customdhcpcd/src/mk/os.mk | 77 ++ customdhcpcd/src/mk/prog.mk | 34 + customdhcpcd/src/signal.c | 183 ++++ customdhcpcd/src/signal.h | 40 + customdhcpcd/src/socket.c | 647 +++++++++++ customdhcpcd/src/socket.h | 46 + customdhcpcd/src/status.h | 19 + workspace/LogReceiver/LogReceiver | Bin 122376 -> 0 bytes workspace/LogReceiver/LogReceiver.pro | 19 - workspace/LogReceiver/Makefile | 278 ----- workspace/LogReceiver/Makefile.Debug | 178 --- workspace/LogReceiver/Makefile.Release | 178 --- workspace/LogReceiver/abortbootdialog.cpp | 98 -- workspace/LogReceiver/abortbootdialog.h | 46 - workspace/LogReceiver/chooseinterfacedialog.cpp | 98 -- workspace/LogReceiver/chooseinterfacedialog.h | 44 - workspace/LogReceiver/logreceiver.cpp | 448 -------- workspace/LogReceiver/logreceiver.h | 74 -- workspace/LogReceiver/logreceiver.ui | 25 - workspace/LogReceiver/main.cpp | 12 - workspace/LogReceiver/ndgui.cpp | 184 ---- workspace/LogReceiver/ndgui.h | 67 -- workspace/LogReceiver/ndgui.ui | 19 - workspace/LogWriter/LogWriter | Bin 35093 -> 0 bytes workspace/LogWriter/LogWriter.pro | 11 - workspace/LogWriter/logwriter.cpp | 120 -- workspace/LogWriter/logwriter.h | 50 - workspace/LogWriter/logwriter.ui | 19 - workspace/LogWriter/main.cpp | 12 - workspace/customdhcpcd/Debug/makefile | 44 - workspace/customdhcpcd/Debug/objects.mk | 7 - workspace/customdhcpcd/Debug/sources.mk | 17 - workspace/customdhcpcd/Debug/src/arp.d | 21 - workspace/customdhcpcd/Debug/src/client.d | 37 - workspace/customdhcpcd/Debug/src/common.d | 6 - workspace/customdhcpcd/Debug/src/configure.d | 28 - workspace/customdhcpcd/Debug/src/customdhcpcd.d | 1 - workspace/customdhcpcd/Debug/src/dhcp.d | 17 - workspace/customdhcpcd/Debug/src/dhcpcd.d | 26 - workspace/customdhcpcd/Debug/src/discover.d | 1 - workspace/customdhcpcd/Debug/src/duid.d | 12 - workspace/customdhcpcd/Debug/src/info.d | 17 - workspace/customdhcpcd/Debug/src/interface.d | 15 - workspace/customdhcpcd/Debug/src/ipv4ll.d | 17 - workspace/customdhcpcd/Debug/src/logger.d | 10 - workspace/customdhcpcd/Debug/src/logwriter.d | 19 - workspace/customdhcpcd/Debug/src/signal.d | 8 - workspace/customdhcpcd/Debug/src/socket.d | 17 - workspace/customdhcpcd/Debug/src/subdir.mk | 85 -- workspace/customdhcpcd/src/.gitignore | 5 - workspace/customdhcpcd/src/Makefile | 34 - workspace/customdhcpcd/src/README | 45 - workspace/customdhcpcd/src/arp.c | 284 ----- workspace/customdhcpcd/src/arp.h | 39 - workspace/customdhcpcd/src/client.c | 1150 -------------------- workspace/customdhcpcd/src/client.h | 35 - workspace/customdhcpcd/src/common.c | 249 ----- workspace/customdhcpcd/src/common.h | 68 -- workspace/customdhcpcd/src/config.h | 133 --- workspace/customdhcpcd/src/configure.c | 813 -------------- workspace/customdhcpcd/src/configure.h | 38 - workspace/customdhcpcd/src/customdhcpcd | Bin 173171 -> 0 bytes workspace/customdhcpcd/src/customdhcpcd.c | 17 - workspace/customdhcpcd/src/dhcp.c | 933 ---------------- workspace/customdhcpcd/src/dhcp.h | 215 ---- workspace/customdhcpcd/src/dhcpcd.c | 673 ------------ workspace/customdhcpcd/src/dhcpcd.h | 105 -- workspace/customdhcpcd/src/dhcpcd.sh | 46 - workspace/customdhcpcd/src/discover.c | 7 - workspace/customdhcpcd/src/discover.h | 12 - workspace/customdhcpcd/src/duid.c | 118 -- workspace/customdhcpcd/src/duid.h | 42 - workspace/customdhcpcd/src/info.c | 472 -------- workspace/customdhcpcd/src/info.h | 42 - workspace/customdhcpcd/src/interface.c | 1060 ------------------ workspace/customdhcpcd/src/interface.h | 173 --- workspace/customdhcpcd/src/ipv4ll.c | 70 -- workspace/customdhcpcd/src/ipv4ll.h | 39 - workspace/customdhcpcd/src/logger.c | 128 --- workspace/customdhcpcd/src/logger.h | 48 - workspace/customdhcpcd/src/logwriter.c | 149 --- workspace/customdhcpcd/src/logwriter.h | 37 - workspace/customdhcpcd/src/mk/cc.mk | 23 - workspace/customdhcpcd/src/mk/depend.mk | 11 - workspace/customdhcpcd/src/mk/dist.mk | 11 - workspace/customdhcpcd/src/mk/man.mk | 14 - workspace/customdhcpcd/src/mk/os.mk | 77 -- workspace/customdhcpcd/src/mk/prog.mk | 34 - workspace/customdhcpcd/src/signal.c | 183 ---- workspace/customdhcpcd/src/signal.h | 40 - workspace/customdhcpcd/src/socket.c | 647 ----------- workspace/customdhcpcd/src/socket.h | 46 - workspace/customdhcpcd/src/status.h | 19 - .../org.eclipse.ltk.core.refactoring.prefs | 3 - workspace/networkDiscovery/dhcpcd/.gitignore | 5 - workspace/networkDiscovery/dhcpcd/README | 45 - workspace/networkDiscovery/dhcpcd/arp.c | 284 ----- workspace/networkDiscovery/dhcpcd/arp.h | 39 - workspace/networkDiscovery/dhcpcd/client.c | 1136 ------------------- workspace/networkDiscovery/dhcpcd/client.h | 35 - workspace/networkDiscovery/dhcpcd/common.c | 249 ----- workspace/networkDiscovery/dhcpcd/common.h | 68 -- workspace/networkDiscovery/dhcpcd/config.h | 133 --- workspace/networkDiscovery/dhcpcd/configure.c | 809 -------------- workspace/networkDiscovery/dhcpcd/configure.h | 38 - workspace/networkDiscovery/dhcpcd/dhcp.c | 933 ---------------- workspace/networkDiscovery/dhcpcd/dhcp.h | 215 ---- workspace/networkDiscovery/dhcpcd/dhcpcd.c | 366 ------- workspace/networkDiscovery/dhcpcd/dhcpcd.h | 96 -- workspace/networkDiscovery/dhcpcd/dhcpcd.sh | 46 - workspace/networkDiscovery/dhcpcd/duid.c | 118 -- workspace/networkDiscovery/dhcpcd/duid.h | 42 - workspace/networkDiscovery/dhcpcd/info.c | 472 -------- workspace/networkDiscovery/dhcpcd/info.h | 42 - workspace/networkDiscovery/dhcpcd/interface.c | 1060 ------------------ workspace/networkDiscovery/dhcpcd/interface.h | 173 --- workspace/networkDiscovery/dhcpcd/ipv4ll.c | 70 -- workspace/networkDiscovery/dhcpcd/ipv4ll.h | 39 - workspace/networkDiscovery/dhcpcd/logger.c | 158 --- workspace/networkDiscovery/dhcpcd/logger.h | 53 - workspace/networkDiscovery/dhcpcd/signal.c | 183 ---- workspace/networkDiscovery/dhcpcd/signal.h | 40 - workspace/networkDiscovery/dhcpcd/socket.c | 647 ----------- workspace/networkDiscovery/dhcpcd/socket.h | 46 - workspace/networkDiscovery/main.cpp | 12 - workspace/networkDiscovery/networkDiscovery.pro | 42 - workspace/networkDiscovery/networkdiscovery.cpp | 125 --- workspace/networkDiscovery/networkdiscovery.h | 35 - workspace/networkDiscovery/networkdiscovery.ui | 19 - 202 files changed, 10557 insertions(+), 18645 deletions(-) create mode 100755 LogReceiver/LogReceiver create mode 100644 LogReceiver/LogReceiver.pro create mode 100644 LogReceiver/Makefile create mode 100644 LogReceiver/Makefile.Debug create mode 100644 LogReceiver/Makefile.Release create mode 100644 LogReceiver/abortbootdialog.cpp create mode 100644 LogReceiver/abortbootdialog.h create mode 100644 LogReceiver/chooseinterfacedialog.cpp create mode 100644 LogReceiver/chooseinterfacedialog.h create mode 100644 LogReceiver/logreceiver.cpp create mode 100644 LogReceiver/logreceiver.h create mode 100644 LogReceiver/logreceiver.ui create mode 100644 LogReceiver/main.cpp create mode 100644 LogReceiver/ndgui.cpp create mode 100644 LogReceiver/ndgui.h create mode 100644 LogReceiver/ndgui.ui create mode 100644 customdhcpcd/Debug/makefile create mode 100644 customdhcpcd/Debug/objects.mk create mode 100644 customdhcpcd/Debug/sources.mk create mode 100644 customdhcpcd/Debug/src/arp.d create mode 100644 customdhcpcd/Debug/src/client.d create mode 100644 customdhcpcd/Debug/src/common.d create mode 100644 customdhcpcd/Debug/src/configure.d create mode 100644 customdhcpcd/Debug/src/customdhcpcd.d create mode 100644 customdhcpcd/Debug/src/dhcp.d create mode 100644 customdhcpcd/Debug/src/dhcpcd.d create mode 100644 customdhcpcd/Debug/src/discover.d create mode 100644 customdhcpcd/Debug/src/duid.d create mode 100644 customdhcpcd/Debug/src/info.d create mode 100644 customdhcpcd/Debug/src/interface.d create mode 100644 customdhcpcd/Debug/src/ipv4ll.d create mode 100644 customdhcpcd/Debug/src/logger.d create mode 100644 customdhcpcd/Debug/src/logwriter.d create mode 100644 customdhcpcd/Debug/src/signal.d create mode 100644 customdhcpcd/Debug/src/socket.d create mode 100644 customdhcpcd/Debug/src/subdir.mk create mode 100644 customdhcpcd/src/.gitignore create mode 100644 customdhcpcd/src/Makefile create mode 100644 customdhcpcd/src/README create mode 100644 customdhcpcd/src/arp.c create mode 100644 customdhcpcd/src/arp.h create mode 100644 customdhcpcd/src/client.c create mode 100644 customdhcpcd/src/client.h create mode 100644 customdhcpcd/src/common.c create mode 100644 customdhcpcd/src/common.h create mode 100644 customdhcpcd/src/config.h create mode 100644 customdhcpcd/src/configure.c create mode 100644 customdhcpcd/src/configure.h create mode 100755 customdhcpcd/src/customdhcpcd create mode 100644 customdhcpcd/src/customdhcpcd.c create mode 100644 customdhcpcd/src/dhcp.c create mode 100644 customdhcpcd/src/dhcp.h create mode 100644 customdhcpcd/src/dhcpcd.c create mode 100644 customdhcpcd/src/dhcpcd.h create mode 100644 customdhcpcd/src/dhcpcd.sh create mode 100644 customdhcpcd/src/discover.c create mode 100644 customdhcpcd/src/discover.h create mode 100644 customdhcpcd/src/duid.c create mode 100644 customdhcpcd/src/duid.h create mode 100644 customdhcpcd/src/info.c create mode 100644 customdhcpcd/src/info.h create mode 100644 customdhcpcd/src/interface.c create mode 100644 customdhcpcd/src/interface.h create mode 100644 customdhcpcd/src/ipv4ll.c create mode 100644 customdhcpcd/src/ipv4ll.h create mode 100644 customdhcpcd/src/logger.c create mode 100644 customdhcpcd/src/logger.h create mode 100644 customdhcpcd/src/logwriter.c create mode 100644 customdhcpcd/src/logwriter.h create mode 100644 customdhcpcd/src/mk/cc.mk create mode 100644 customdhcpcd/src/mk/depend.mk create mode 100644 customdhcpcd/src/mk/dist.mk create mode 100644 customdhcpcd/src/mk/man.mk create mode 100644 customdhcpcd/src/mk/os.mk create mode 100644 customdhcpcd/src/mk/prog.mk create mode 100644 customdhcpcd/src/signal.c create mode 100644 customdhcpcd/src/signal.h create mode 100644 customdhcpcd/src/socket.c create mode 100644 customdhcpcd/src/socket.h create mode 100644 customdhcpcd/src/status.h delete mode 100755 workspace/LogReceiver/LogReceiver delete mode 100644 workspace/LogReceiver/LogReceiver.pro delete mode 100644 workspace/LogReceiver/Makefile delete mode 100644 workspace/LogReceiver/Makefile.Debug delete mode 100644 workspace/LogReceiver/Makefile.Release delete mode 100644 workspace/LogReceiver/abortbootdialog.cpp delete mode 100644 workspace/LogReceiver/abortbootdialog.h delete mode 100644 workspace/LogReceiver/chooseinterfacedialog.cpp delete mode 100644 workspace/LogReceiver/chooseinterfacedialog.h delete mode 100644 workspace/LogReceiver/logreceiver.cpp delete mode 100644 workspace/LogReceiver/logreceiver.h delete mode 100644 workspace/LogReceiver/logreceiver.ui delete mode 100644 workspace/LogReceiver/main.cpp delete mode 100644 workspace/LogReceiver/ndgui.cpp delete mode 100644 workspace/LogReceiver/ndgui.h delete mode 100644 workspace/LogReceiver/ndgui.ui delete mode 100755 workspace/LogWriter/LogWriter delete mode 100644 workspace/LogWriter/LogWriter.pro delete mode 100644 workspace/LogWriter/logwriter.cpp delete mode 100644 workspace/LogWriter/logwriter.h delete mode 100644 workspace/LogWriter/logwriter.ui delete mode 100644 workspace/LogWriter/main.cpp delete mode 100644 workspace/customdhcpcd/Debug/makefile delete mode 100644 workspace/customdhcpcd/Debug/objects.mk delete mode 100644 workspace/customdhcpcd/Debug/sources.mk delete mode 100644 workspace/customdhcpcd/Debug/src/arp.d delete mode 100644 workspace/customdhcpcd/Debug/src/client.d delete mode 100644 workspace/customdhcpcd/Debug/src/common.d delete mode 100644 workspace/customdhcpcd/Debug/src/configure.d delete mode 100644 workspace/customdhcpcd/Debug/src/customdhcpcd.d delete mode 100644 workspace/customdhcpcd/Debug/src/dhcp.d delete mode 100644 workspace/customdhcpcd/Debug/src/dhcpcd.d delete mode 100644 workspace/customdhcpcd/Debug/src/discover.d delete mode 100644 workspace/customdhcpcd/Debug/src/duid.d delete mode 100644 workspace/customdhcpcd/Debug/src/info.d delete mode 100644 workspace/customdhcpcd/Debug/src/interface.d delete mode 100644 workspace/customdhcpcd/Debug/src/ipv4ll.d delete mode 100644 workspace/customdhcpcd/Debug/src/logger.d delete mode 100644 workspace/customdhcpcd/Debug/src/logwriter.d delete mode 100644 workspace/customdhcpcd/Debug/src/signal.d delete mode 100644 workspace/customdhcpcd/Debug/src/socket.d delete mode 100644 workspace/customdhcpcd/Debug/src/subdir.mk delete mode 100644 workspace/customdhcpcd/src/.gitignore delete mode 100644 workspace/customdhcpcd/src/Makefile delete mode 100644 workspace/customdhcpcd/src/README delete mode 100644 workspace/customdhcpcd/src/arp.c delete mode 100644 workspace/customdhcpcd/src/arp.h delete mode 100644 workspace/customdhcpcd/src/client.c delete mode 100644 workspace/customdhcpcd/src/client.h delete mode 100644 workspace/customdhcpcd/src/common.c delete mode 100644 workspace/customdhcpcd/src/common.h delete mode 100644 workspace/customdhcpcd/src/config.h delete mode 100644 workspace/customdhcpcd/src/configure.c delete mode 100644 workspace/customdhcpcd/src/configure.h delete mode 100755 workspace/customdhcpcd/src/customdhcpcd delete mode 100644 workspace/customdhcpcd/src/customdhcpcd.c delete mode 100644 workspace/customdhcpcd/src/dhcp.c delete mode 100644 workspace/customdhcpcd/src/dhcp.h delete mode 100644 workspace/customdhcpcd/src/dhcpcd.c delete mode 100644 workspace/customdhcpcd/src/dhcpcd.h delete mode 100644 workspace/customdhcpcd/src/dhcpcd.sh delete mode 100644 workspace/customdhcpcd/src/discover.c delete mode 100644 workspace/customdhcpcd/src/discover.h delete mode 100644 workspace/customdhcpcd/src/duid.c delete mode 100644 workspace/customdhcpcd/src/duid.h delete mode 100644 workspace/customdhcpcd/src/info.c delete mode 100644 workspace/customdhcpcd/src/info.h delete mode 100644 workspace/customdhcpcd/src/interface.c delete mode 100644 workspace/customdhcpcd/src/interface.h delete mode 100644 workspace/customdhcpcd/src/ipv4ll.c delete mode 100644 workspace/customdhcpcd/src/ipv4ll.h delete mode 100644 workspace/customdhcpcd/src/logger.c delete mode 100644 workspace/customdhcpcd/src/logger.h delete mode 100644 workspace/customdhcpcd/src/logwriter.c delete mode 100644 workspace/customdhcpcd/src/logwriter.h delete mode 100644 workspace/customdhcpcd/src/mk/cc.mk delete mode 100644 workspace/customdhcpcd/src/mk/depend.mk delete mode 100644 workspace/customdhcpcd/src/mk/dist.mk delete mode 100644 workspace/customdhcpcd/src/mk/man.mk delete mode 100644 workspace/customdhcpcd/src/mk/os.mk delete mode 100644 workspace/customdhcpcd/src/mk/prog.mk delete mode 100644 workspace/customdhcpcd/src/signal.c delete mode 100644 workspace/customdhcpcd/src/signal.h delete mode 100644 workspace/customdhcpcd/src/socket.c delete mode 100644 workspace/customdhcpcd/src/socket.h delete mode 100644 workspace/customdhcpcd/src/status.h delete mode 100644 workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs delete mode 100644 workspace/networkDiscovery/dhcpcd/.gitignore delete mode 100644 workspace/networkDiscovery/dhcpcd/README delete mode 100644 workspace/networkDiscovery/dhcpcd/arp.c delete mode 100644 workspace/networkDiscovery/dhcpcd/arp.h delete mode 100644 workspace/networkDiscovery/dhcpcd/client.c delete mode 100644 workspace/networkDiscovery/dhcpcd/client.h delete mode 100644 workspace/networkDiscovery/dhcpcd/common.c delete mode 100644 workspace/networkDiscovery/dhcpcd/common.h delete mode 100644 workspace/networkDiscovery/dhcpcd/config.h delete mode 100644 workspace/networkDiscovery/dhcpcd/configure.c delete mode 100644 workspace/networkDiscovery/dhcpcd/configure.h delete mode 100644 workspace/networkDiscovery/dhcpcd/dhcp.c delete mode 100644 workspace/networkDiscovery/dhcpcd/dhcp.h delete mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.c delete mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.h delete mode 100644 workspace/networkDiscovery/dhcpcd/dhcpcd.sh delete mode 100644 workspace/networkDiscovery/dhcpcd/duid.c delete mode 100644 workspace/networkDiscovery/dhcpcd/duid.h delete mode 100644 workspace/networkDiscovery/dhcpcd/info.c delete mode 100644 workspace/networkDiscovery/dhcpcd/info.h delete mode 100644 workspace/networkDiscovery/dhcpcd/interface.c delete mode 100644 workspace/networkDiscovery/dhcpcd/interface.h delete mode 100644 workspace/networkDiscovery/dhcpcd/ipv4ll.c delete mode 100644 workspace/networkDiscovery/dhcpcd/ipv4ll.h delete mode 100644 workspace/networkDiscovery/dhcpcd/logger.c delete mode 100644 workspace/networkDiscovery/dhcpcd/logger.h delete mode 100644 workspace/networkDiscovery/dhcpcd/signal.c delete mode 100644 workspace/networkDiscovery/dhcpcd/signal.h delete mode 100644 workspace/networkDiscovery/dhcpcd/socket.c delete mode 100644 workspace/networkDiscovery/dhcpcd/socket.h delete mode 100644 workspace/networkDiscovery/main.cpp delete mode 100644 workspace/networkDiscovery/networkDiscovery.pro delete mode 100644 workspace/networkDiscovery/networkdiscovery.cpp delete mode 100644 workspace/networkDiscovery/networkdiscovery.h delete mode 100644 workspace/networkDiscovery/networkdiscovery.ui diff --git a/LogReceiver/LogReceiver b/LogReceiver/LogReceiver new file mode 100755 index 0000000..a16897b Binary files /dev/null and b/LogReceiver/LogReceiver differ diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro new file mode 100644 index 0000000..19300fa --- /dev/null +++ b/LogReceiver/LogReceiver.pro @@ -0,0 +1,19 @@ +TEMPLATE = app +TARGET = LogReceiver +QT += core \ + gui \ + network +LIBS += -lsysfs +INCLUDEPATH += ../customdhcpcd/src +HEADERS += ndgui.h \ + logreceiver.h \ + abortbootdialog.h \ + chooseinterfacedialog.h +SOURCES += ndgui.cpp \ + main.cpp \ + logreceiver.cpp \ + abortbootdialog.cpp \ + chooseinterfacedialog.cpp +FORMS += ndgui.ui \ + logreceiver.ui +RESOURCES += diff --git a/LogReceiver/Makefile b/LogReceiver/Makefile new file mode 100644 index 0000000..cd541af --- /dev/null +++ b/LogReceiver/Makefile @@ -0,0 +1,278 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Aug 24 10:11:58 2011 +# Project: LogReceiver.pro +# Template: app +# Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.7.2/include -I../customdhcpcd/src -I. -I. +LINK = g++ +LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lsysfs -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = ./ + +####### Files + +SOURCES = ndgui.cpp \ + main.cpp \ + logreceiver.cpp \ + abortbootdialog.cpp \ + chooseinterfacedialog.cpp moc_ndgui.cpp \ + moc_logreceiver.cpp \ + moc_abortbootdialog.cpp \ + moc_chooseinterfacedialog.cpp +OBJECTS = ndgui.o \ + main.o \ + logreceiver.o \ + abortbootdialog.o \ + chooseinterfacedialog.o \ + moc_ndgui.o \ + moc_logreceiver.o \ + moc_abortbootdialog.o \ + moc_chooseinterfacedialog.o +DIST = /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile $(TARGET) + +$(TARGET): ui_ndgui.h ui_logreceiver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +Makefile: LogReceiver.pro /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++/qmake.conf /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ + /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl \ + /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl \ + /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl + $(QMAKE) -o Makefile LogReceiver.pro +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf: +/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl: +/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl: +/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl: +qmake: FORCE + @$(QMAKE) -o Makefile LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +compiler_moc_header_clean: + -$(DEL_FILE) moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +moc_ndgui.cpp: ui_ndgui.h \ + logreceiver.h \ + chooseinterfacedialog.h \ + abortbootdialog.h \ + ndgui.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o moc_ndgui.cpp + +moc_logreceiver.cpp: logreceiver.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o moc_logreceiver.cpp + +moc_abortbootdialog.cpp: abortbootdialog.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) abortbootdialog.h -o moc_abortbootdialog.cpp + +moc_chooseinterfacedialog.cpp: chooseinterfacedialog.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) chooseinterfacedialog.h -o moc_chooseinterfacedialog.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_ndgui.h ui_logreceiver.h +compiler_uic_clean: + -$(DEL_FILE) ui_ndgui.h ui_logreceiver.h +ui_ndgui.h: ndgui.ui + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h + +ui_logreceiver.h: logreceiver.ui + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +ndgui.o: ndgui.cpp ndgui.h \ + ui_ndgui.h \ + logreceiver.h \ + chooseinterfacedialog.h \ + abortbootdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ndgui.o ndgui.cpp + +main.o: main.cpp ndgui.h \ + ui_ndgui.h \ + logreceiver.h \ + chooseinterfacedialog.h \ + abortbootdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp + +logreceiver.o: logreceiver.cpp logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o logreceiver.o logreceiver.cpp + +abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o abortbootdialog.o abortbootdialog.cpp + +chooseinterfacedialog.o: chooseinterfacedialog.cpp chooseinterfacedialog.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chooseinterfacedialog.o chooseinterfacedialog.cpp + +moc_ndgui.o: moc_ndgui.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ndgui.o moc_ndgui.cpp + +moc_logreceiver.o: moc_logreceiver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_logreceiver.o moc_logreceiver.cpp + +moc_abortbootdialog.o: moc_abortbootdialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_abortbootdialog.o moc_abortbootdialog.cpp + +moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chooseinterfacedialog.o moc_chooseinterfacedialog.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/LogReceiver/Makefile.Debug b/LogReceiver/Makefile.Debug new file mode 100644 index 0000000..29db2ad --- /dev/null +++ b/LogReceiver/Makefile.Debug @@ -0,0 +1,178 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 +# Project: LogReceiver.pro +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Idebug -I. +LINK = g++ +LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = debug/ + +####### Files + +SOURCES = main.cpp \ + logreceiver.cpp debug/moc_logreceiver.cpp +OBJECTS = debug/main.o \ + debug/logreceiver.o \ + debug/moc_logreceiver.o +DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile.Debug $(TARGET) + +$(TARGET): ui_logreceiver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +qmake: FORCE + @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Debug LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) debug/LogReceiver1.0.0 || $(MKDIR) debug/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui debug/LogReceiver1.0.0/ && (cd `dirname debug/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname debug/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r debug/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile.Debug + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: debug/moc_logreceiver.cpp +compiler_moc_header_clean: + -$(DEL_FILE) debug/moc_logreceiver.cpp +debug/moc_logreceiver.cpp: ui_logreceiver.h \ + logreceiver.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o debug/moc_logreceiver.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_logreceiver.h +compiler_uic_clean: + -$(DEL_FILE) ui_logreceiver.h +ui_logreceiver.h: logreceiver.ui + /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +debug/main.o: main.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/main.o main.cpp + +debug/logreceiver.o: logreceiver.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/logreceiver.o logreceiver.cpp + +debug/moc_logreceiver.o: debug/moc_logreceiver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_logreceiver.o debug/moc_logreceiver.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/LogReceiver/Makefile.Release b/LogReceiver/Makefile.Release new file mode 100644 index 0000000..64e6a9f --- /dev/null +++ b/LogReceiver/Makefile.Release @@ -0,0 +1,178 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 +# Project: LogReceiver.pro +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Irelease -I. +LINK = g++ +LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = release/ + +####### Files + +SOURCES = main.cpp \ + logreceiver.cpp release/moc_logreceiver.cpp +OBJECTS = release/main.o \ + release/logreceiver.o \ + release/moc_logreceiver.o +DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile.Release $(TARGET) + +$(TARGET): ui_logreceiver.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +qmake: FORCE + @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Release LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) release/LogReceiver1.0.0 || $(MKDIR) release/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h release/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui release/LogReceiver1.0.0/ && (cd `dirname release/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname release/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r release/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile.Release + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: release/moc_logreceiver.cpp +compiler_moc_header_clean: + -$(DEL_FILE) release/moc_logreceiver.cpp +release/moc_logreceiver.cpp: ui_logreceiver.h \ + logreceiver.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o release/moc_logreceiver.cpp + +compiler_rcc_make_all: +compiler_rcc_clean: +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_logreceiver.h +compiler_uic_clean: + -$(DEL_FILE) ui_logreceiver.h +ui_logreceiver.h: logreceiver.ui + /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_uic_clean + +####### Compile + +release/main.o: main.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/main.o main.cpp + +release/logreceiver.o: logreceiver.cpp logreceiver.h \ + ui_logreceiver.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/logreceiver.o logreceiver.cpp + +release/moc_logreceiver.o: release/moc_logreceiver.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_logreceiver.o release/moc_logreceiver.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/LogReceiver/abortbootdialog.cpp b/LogReceiver/abortbootdialog.cpp new file mode 100644 index 0000000..1614f6b --- /dev/null +++ b/LogReceiver/abortbootdialog.cpp @@ -0,0 +1,98 @@ +#include + +#include "abortbootdialog.h" + +AbortBootDialog::AbortBootDialog(QWidget *parent) : + QDialog(parent) +{ + oneMinuteCountdown = 60; + + createContentGroupBox(); + createButtonGroupBox(); + + createTimer(); + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(contentGroupBox); + mainLayout->addWidget(buttonGroupBox); + + setLayout(mainLayout); + setWindowTitle(tr("Abort Boot")); +} +void AbortBootDialog::createContentGroupBox() +{ + contentGroupBox = new QGroupBox; + timerLabel = new QLabel(QString::number(oneMinuteCountdown)); + QHBoxLayout *layout = new QHBoxLayout; + + + layout->addWidget(new QLabel(tr("test"))); + layout->addWidget(timerLabel); + contentGroupBox->setLayout(layout); +} + +void AbortBootDialog::createButtonGroupBox() +{ + buttonGroupBox = new QGroupBox; + QHBoxLayout *layout = new QHBoxLayout; + + QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); + shutDownButton->setDefault(true); + QPushButton *restartButton = new QPushButton(tr("Restart")); + restartButton->setAutoDefault(false); + QPushButton *showLogButton = new QPushButton(tr("Show Log")); + showLogButton->setAutoDefault(false); + + connect(showLogButton, SIGNAL(clicked()),this, SLOT(showLogButtonClicked())); + connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); + connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); + + layout->addWidget(showLogButton); + layout->addWidget(restartButton); + layout->addWidget(shutDownButton); + buttonGroupBox->setLayout(layout); +} + +void AbortBootDialog::createTimer() +{ + timer = new QTimer(this); + connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); + timer->start(1000); +} + +void AbortBootDialog::showLogButtonClicked() +{ + qDebug() << "show log button clicked"; + emit showLogSignal(); +} + +void AbortBootDialog::shutDownButtonClicked() +{ + qDebug() << "shut down button clicked"; + emit shutDownSignal(); +} + +void AbortBootDialog::restartButtonClicked() +{ + qDebug() << "restart button clicked"; + emit restartSignal(); +} + +void AbortBootDialog::timerLabelUpdate() +{ + oneMinuteCountdown = oneMinuteCountdown -1; + timerLabel->setText(QString::number(oneMinuteCountdown)); + if(oneMinuteCountdown <= 0) + { + timer->stop(); + emit shutDownSignal(); + } + +} + +void AbortBootDialog::closeDialog() +{ + this->hide(); + this->killTimer(timer->timerId()); + this->close(); +} diff --git a/LogReceiver/abortbootdialog.h b/LogReceiver/abortbootdialog.h new file mode 100644 index 0000000..157331b --- /dev/null +++ b/LogReceiver/abortbootdialog.h @@ -0,0 +1,46 @@ +#ifndef ABORTBOOTDIALOG_H +#define ABORTBOOTDIALOG_H + +#include +#include "qboxlayout.h" +#include "qgroupbox.h" +#include "qcombobox.h" +#include "qlabel.h" + + +class AbortBootDialog : public QDialog +{ + Q_OBJECT +public: + explicit AbortBootDialog(QWidget *parent = 0); + + void closeDialog(); +private slots: + void showLogButtonClicked(); + void shutDownButtonClicked(); + void restartButtonClicked(); + void timerLabelUpdate(); + +private: + QVBoxLayout *mainLayout; + QGroupBox *contentGroupBox; + QGroupBox *buttonGroupBox; + QLabel *timerLabel; + QTimer *timer; + int oneMinuteCountdown; + + void createContentGroupBox(); + void createButtonGroupBox(); + void createTimer(); + + +signals: + void showLogSignal(); + void shutDownSignal(); + void restartSignal(); + +public slots: + +}; + +#endif // ABORTBOOTDIALOG_H diff --git a/LogReceiver/chooseinterfacedialog.cpp b/LogReceiver/chooseinterfacedialog.cpp new file mode 100644 index 0000000..b7a37e8 --- /dev/null +++ b/LogReceiver/chooseinterfacedialog.cpp @@ -0,0 +1,98 @@ +#include + +#include "chooseinterfacedialog.h" + +ChooseInterfaceDialog::ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent) : + QDialog(parent) +{ + oneMinuteCountdown = 60; + + createContentGroupBox(interfaces); + createButtonGroupBox(); + + createTimer(); + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(contentGroupBox); + mainLayout->addWidget(buttonGroupBox); + + setLayout(mainLayout); + setWindowTitle(tr("Choose Interface")); +} + +void ChooseInterfaceDialog::createContentGroupBox(QStringList &interfaces) +{ + contentGroupBox = new QGroupBox; + timerLabel = new QLabel(QString::number(oneMinuteCountdown)); + QVBoxLayout *groupBoxLayout = new QVBoxLayout; + QHBoxLayout *layout = new QHBoxLayout; + + comboBox = new QComboBox; + comboBox->addItems(interfaces); + + layout->addWidget(new QLabel(tr("test"))); + layout->addWidget(comboBox); + + groupBoxLayout->addWidget(timerLabel); + groupBoxLayout->addLayout(layout); + contentGroupBox->setLayout(groupBoxLayout); +} + +void ChooseInterfaceDialog::createButtonGroupBox() +{ + buttonGroupBox = new QGroupBox; + QHBoxLayout *layout = new QHBoxLayout; + + QPushButton *continueButton = new QPushButton(tr("Continue")); + continueButton->setDefault(true); + QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); + shutDownButton->setAutoDefault(false); + QPushButton *restartButton = new QPushButton(tr("Restart")); + restartButton->setAutoDefault(false); + + connect(continueButton, SIGNAL(clicked()),this, SLOT(continueButtonClicked())); + connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); + connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); + + layout->addWidget(restartButton); + layout->addWidget(shutDownButton); + layout->addWidget(continueButton); + buttonGroupBox->setLayout(layout); +} + +void ChooseInterfaceDialog::createTimer() +{ + timer = new QTimer(this); + connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); + timer->start(1000); +} + +void ChooseInterfaceDialog::continueButtonClicked() +{ + qDebug() << "continue button clicked"; + emit continueSignal(comboBox->currentText()); +} + +void ChooseInterfaceDialog::shutDownButtonClicked() +{ + qDebug() << "shut down button clicked"; + emit shutDownSignal(); +} + +void ChooseInterfaceDialog::restartButtonClicked() +{ + qDebug() << "restart button clicked"; + emit restartSignal(); +} + +void ChooseInterfaceDialog::timerLabelUpdate() +{ + oneMinuteCountdown = oneMinuteCountdown -1; + timerLabel->setText(QString::number(oneMinuteCountdown)); + if(oneMinuteCountdown <= 0) + { + timer->stop(); + emit continueSignal(comboBox->currentText()); + } + +} diff --git a/LogReceiver/chooseinterfacedialog.h b/LogReceiver/chooseinterfacedialog.h new file mode 100644 index 0000000..48ee038 --- /dev/null +++ b/LogReceiver/chooseinterfacedialog.h @@ -0,0 +1,44 @@ +#ifndef CHOOSEINTERFACEDIALOG_H +#define CHOOSEINTERFACEDIALOG_H + +#include +#include "qboxlayout.h" +#include "qgroupbox.h" +#include "qcombobox.h" +#include "qlabel.h" + +class ChooseInterfaceDialog : public QDialog +{ + Q_OBJECT +public: + explicit ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent = 0); +private slots: + void continueButtonClicked(); + void shutDownButtonClicked(); + void restartButtonClicked(); + void timerLabelUpdate(); + +private: + QVBoxLayout *mainLayout; + QGroupBox *contentGroupBox; + QGroupBox *buttonGroupBox; + QComboBox *comboBox; + QLabel *timerLabel; + QTimer *timer; + int oneMinuteCountdown; + + void createContentGroupBox(QStringList &interfaces); + void createButtonGroupBox(); + void createTimer(); + +signals: + void continueSignal(QString ifName); + void shutDownSignal(); + void restartSignal(); + + +public slots: + +}; + +#endif // CHOOSEINTERFACEDIALOG_H diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp new file mode 100644 index 0000000..802f442 --- /dev/null +++ b/LogReceiver/logreceiver.cpp @@ -0,0 +1,448 @@ +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "logreceiver.h" +#include +#include +#include "status.h" +#include "dhcp.h" + +LogReceiver::LogReceiver() { + + server = new QLocalServer(this); +} + +LogReceiver::~LogReceiver() { + +} + +void LogReceiver::initAndRun(QString serverPath, QString pathToExe, + QStringList* args) { + + if (serverPath != DEFAULT_QTSOCKETADDRESS) { + dhcpcdArguments.append("-q"); + dhcpcdArguments.append(serverPath); + } + if (!server->listen(serverPath)) { + /* + QMessageBox::critical(this, tr("LogReceiver"), tr( + "Unable to start the server: %1.") .arg(server->errorString())); + close(); + */ + // emit signal to the gui that a critial error occoured + QString errorInfo("Unable to start server: "); + qDebug() << "--- \t [LogReceiver::initAndRun] " + errorInfo + << server->errorString(); + emit + abortBoot(errorInfo + server->errorString()); + return; + } + + connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + + pathToDhcpcdExe = pathToExe; + // check if the path to the customdhcpcd file is correct + QFileInfo fInfo(pathToDhcpcdExe); + if (!fInfo.exists()) { + qDebug() + << "couldn't find customdhcpcd exe. Please check the path to this file."; + emit + abortBoot( + "couldn't find customdhcpcd exe. Please check the path to this file."); + return; + } + + if (args != NULL && !args->isEmpty()) { + qDebug() << "--- \t [LogReceiver::initAndRun] added additional args"; + dhcpcdArguments.append(*args); + } + + numberOfProcesses = 0; + + // start the main work: + + QList list = getListOfNetworkInterfaces(); + + if (list.size() > 0) { + + //list = checkCarrierState(list); + + + //dhcpcdArguments.append("-d"); + QString ifName("eth0"); + numberOfProcesses = list.size(); + runDHCPCD(list); + } else { + qDebug() << "list is empty. Haven't found usable interface."; + emit + abortBoot("Haven't found usable interface"); + return; + } + +} + +QList LogReceiver::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + QList result; + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || checkBlackList(nI.humanReadableName())) { + continue; + } + if (!checkCarrierState(nI.humanReadableName())) { + continue; + } + result.append(nI.humanReadableName()); + emit addNewInterface(nI.humanReadableName()); + } + } else { + qDebug() << "no interfaces found!"; + } + return result; +} + +QList LogReceiver::checkCarrierState(QList &interfaces) { + QList result; + foreach(QString nI, interfaces) + { + if (checkCarrierState(nI)) { + // everything is fine, cable is plugged, + // go on with the next interface + //continue; + result.append(nI); + } + } + return result; +} + +bool LogReceiver::checkCarrierState(QString interface) { + + qDebug() << "check carrier state for interface " << interface; + QByteArray ba = interface.toAscii(); + const char * iface = ba.data(); + + struct sysfs_class_device *class_device = sysfs_open_class_device("net", + iface); + struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); + if (attrlist != NULL) { + struct sysfs_attribute *attr = NULL; + dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { + if (strcmp("carrier", attr->name) == 0) { + QString value(attr->value); + bool ok = false; + bool * pok = &ok; + int v = value.toInt(pok); + if (*pok) { + if (v == 1) { + qDebug() + << "carrier is 1. Cable is plugged. return true"; + return true; + } else { + qDebug() + << "carrier is 0. Cable is unplugged. return false"; + return false; + } + } else { + qDebug() << "conversion error"; + } + } + } + } else { + qDebug() << "attrlist is Null"; + } + sysfs_close_class_device(class_device); + + return true; +} + +void LogReceiver::runDHCPCD(QList &interfaces) { + foreach(QString nI, interfaces) + { + runDHCPCD(nI); + } +} + +void LogReceiver::runDHCPCD(QString interface) { + emit updateStatusLabel(interface, "start DHCP"); + dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + + clientProcessToIfNameMap.insert(p, interface); + qDebug() << clientProcessToIfNameMap; + p->start(pathToDhcpcdExe, dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, + SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); +} + +void LogReceiver::checkInternetConnection(QString ifName) { + QString command("ping"); + QStringList argList; + QString timeout("1"); + QString total("2"); + int exitCode = -1; + QString destination("www.google.de"); + argList << "-I" << "ifName" << "-W" << timeout << "-c" << total + << destination; + argList.replace(1, ifName); + QProcess * p = new QProcess(this); + p->start(command, argList); + p->waitForFinished(); + exitCode = p->exitCode(); + if (exitCode > 0) { + qDebug() << "no internet connection with interface" << ifName; + //remove interface from list and inform user via debug console + emit updateStatusLabel(ifName, "connection not possible"); + } else if (exitCode == 0) { + qDebug() << "internet: check passed! for interface" << ifName; + emit + updateStatusLabel(ifName, "connection possible"); + emit connectionEstablished(ifName); + } +} + +void LogReceiver::checkInternetConnection(QList &interfaces) { + foreach(QString nI, interfaces) + { + checkInternetConnection(nI); + } +} +void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { + + const bool canStartIAP = (configurationManager.capabilities() + & QNetworkConfigurationManager::CanStartAndStopInterfaces); + QList configs = + configurationManager.allConfigurations(); + QNetworkConfiguration cfg; + foreach(QNetworkConfiguration nC, configs) + { + if (nC.name() == ifName) { + qDebug() << "found config" << nC.name(); + cfg = nC; + break; + } + } + if (!cfg.isValid() || (!canStartIAP && cfg.state() + != QNetworkConfiguration::Active)) { + qDebug() << "config is not valid" << cfg.name(); + return; + } + QNetworkSession *session = new QNetworkSession(cfg, this); + session->open(); + if (session->waitForOpened(-1)) { + + qDebug () << "used interface for connectivity check:" <interface().humanReadableName(); + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(QString("209.85.148.105"), 80); + if (!tcpSocket->waitForConnected(2000)) { + qDebug() << tcpSocket->errorString(); + emit updateStatusLabel(ifName, "connection not possible"); + } else { + emit updateStatusLabel(ifName, "connection possible"); + emit connectionEstablished(ifName); + } + } else { + qDebug() << "couldn't open session"; + } + session->close(); +} + +void LogReceiver::handleNewConnection() { + qDebug() << "New Connection arrived"; + + /*QLocalSocket **/ + client = server ->nextPendingConnection(); + clients.insert(client, client); + connect(client, SIGNAL(disconnected()), this, + SLOT(handleClientDisconnect())); + connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + +void LogReceiver::handleClientDisconnect() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = clients.value(socket); + + qDebug() << "disconnect client"; + handleNewInput(client); + client->deleteLater(); +} + +void LogReceiver::handleNewInput(QLocalSocket * client) { + qDebug() << "last read before exit"; + while (client->canReadLine()) { + QString data(client->readLine()); + + data = data.trimmed(); + qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + } +} + +void LogReceiver::handleNewInput() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = clients.value(socket); + + while(!client->atEnd()) { + QString data(client->readLine()); + + data = data.trimmed(); + //qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + } +/* + QString data(client->readAll()); + + data = data.trimmed(); + qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + */ +} + +void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { + + QString logMsg(data); + QString interface = logMsg.section(";", 0, 0); + QString s_state = logMsg.section(";", 1, 1); + QString s_subState = logMsg.section(";", 2, 2); + QString msg = logMsg.section(";", 3, 3); + int st = s_state.trimmed().toInt(); + int sst = s_subState.trimmed().toInt(); + //qDebug() << logMsg; + + if (ifNameToClient.size() < numberOfProcesses && !ifNameToClient.contains( + interface)) { + ifNameToClient.insert(interface, client); + } + + switch (st) { + case LOG_INFO: + switch (sst) { + case DHCP_DISCOVER: + emit changeProgressBarValue(interface, 10); + break; + case DHCP_OFFER: + emit changeProgressBarValue(interface, 20); + break; + case DHCP_REQUEST: + emit changeProgressBarValue(interface, 30); + break; + case DHCP_ACK: + emit changeProgressBarValue(interface, 40); + break; + case DHCP_NAK: + emit changeProgressBarValue(interface, 40); + break; + case DHCPCD_ARP_TEST: + emit changeProgressBarValue(interface, 50); + break; + case DHCP_DECLINE: + emit changeProgressBarValue(interface, 60); + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + break; + case DHCPCD_CONFIGURE: + emit changeProgressBarValue(interface, 70); + break; + case DHCPCD_WRITE: + emit changeProgressBarValue(interface, 80); + break; + case DHCPCD_EXIT: + //emit changeProgressBarValue(interface, 100); + break; + case DHCPCD_LOG: + + default: + break; + } + break; + case LOG_ERR: + qDebug() << "received stat_error"; + break; + default: + //qDebug() << logMsg; + break; + } +} + +void LogReceiver::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + + if (ifName.compare("ifName") == 0) { + qDebug() + << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; + } else { + qDebug() << "process for interface" << ifName << "finished" << exitCode + << exitStatus; + if (exitCode > 0) { + qDebug() << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << "process normal exit"; + qDebug() << "check internet connction"; + emit + changeProgressBarValue(ifName, 100); + emit + updateStatusLabel(ifName, "check connectivity"); + //checkInternetConnection(ifName); + checkInternetConnectionViaTCP(ifName); + } + } + QLocalSocket *client = ifNameToClient.value(ifName, 0); + if(client != 0) { + handleNewInput(client); + } + numberOfProcesses = numberOfProcesses - 1; + if (numberOfProcesses <= 0) { + emit allProcessesFinished(); + } +} + +void LogReceiver::handleProcessStarted() { + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + qDebug() << "process started for interface:" << ifName; +} + +bool LogReceiver::checkBlackList(QString i) { + if (i.startsWith("v", Qt::CaseInsensitive)) { + return true; + } else if (i.startsWith("d", Qt::CaseInsensitive)) { + return true; + } else { + return false; + } +} diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h new file mode 100644 index 0000000..ce6d070 --- /dev/null +++ b/LogReceiver/logreceiver.h @@ -0,0 +1,74 @@ +#ifndef LOGRECEIVER_H +#define LOGRECEIVER_H + +#include +#include +#include +#include +#include +#include +#include + +class QLocalServer; +class QLocalSocket; + +class LogReceiver: public QObject { +Q_OBJECT + +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/workspace/customdhcpcd/src/customdhcpcd" + +public: + LogReceiver(); + ~LogReceiver(); + + void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + +private slots: + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket * client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + +signals: + void addNewInterface(QString ifName); + void changeProgressBarValue(QString ifName, int newValue); + void connectionEstablished(QString ifName); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); + +private: + QLocalServer *server; + quint16 blockSize; + //QMap interfacesMap; + //QMap indexToIfaceNameMap; + QMap clients; + QLocalSocket * client; + QMap ifNameToClient; + QMap clientProcessToIfNameMap; + QString pathToDhcpcdExe; + QStringList dhcpcdArguments; + QNetworkConfigurationManager configurationManager; + QNetworkAccessManager *accessManager; + int numberOfProcesses; + + void handleNewInput(QLocalSocket * client); + + void runDHCPCD(QList &interfaces); + void runDHCPCD(QString interface); + QListcheckCarrierState(QList &interfaces); + bool checkCarrierState(QString interface); + void checkInternetConnection(QString ifName); + void checkInternetConnection(QList &interfaces); + void checkInternetConnectionViaTCP(QString ifName); + QList getListOfNetworkInterfaces(); + bool checkBlackList(QString i); + +}; + +#endif // LOGRECEIVER_H diff --git a/LogReceiver/logreceiver.ui b/LogReceiver/logreceiver.ui new file mode 100644 index 0000000..0010c64 --- /dev/null +++ b/LogReceiver/logreceiver.ui @@ -0,0 +1,25 @@ + + + LogReceiverClass + + + + 0 + 0 + 572 + 385 + + + + LogReceiver + + + #LogReceiverClass{ +background:grey; +} + + + + + + diff --git a/LogReceiver/main.cpp b/LogReceiver/main.cpp new file mode 100644 index 0000000..a8cd960 --- /dev/null +++ b/LogReceiver/main.cpp @@ -0,0 +1,12 @@ +#include "ndgui.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + ndgui w; + w.show(); + return a.exec(); +} diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp new file mode 100644 index 0000000..a839aef --- /dev/null +++ b/LogReceiver/ndgui.cpp @@ -0,0 +1,184 @@ +#include "ndgui.h" +#include "chooseinterfacedialog.h" +#include "abortbootdialog.h" + +ndgui::ndgui(QWidget *parent) + : QWidget(parent) +{ + ui.setupUi(this); + + connect(&logReceiver, SIGNAL(addNewInterface(QString)), this, SLOT(addNewInterface(QString))); + connect(&logReceiver, SIGNAL(changeProgressBarValue(QString , int )), this, SLOT(handleProgress(QString, int))); + connect(&logReceiver, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); + connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); + connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); + connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + + buildGui(); + + logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); + numberOfInterfaces = 0; + + + setWindowTitle(tr("NetD")); +} + +ndgui::~ndgui() +{ + +} + +void ndgui::buildGui() { + + ndStatusLabel = new QLabel(tr("test")); + ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, + QSizePolicy::Expanding); + ndStatusLabel->setAlignment(Qt::AlignCenter); + ndStatusLabel->setMinimumSize(100, 20); + + // create interface group box + createInterfaceGroupBox(); + + + + mainLayout = new QVBoxLayout; + mainLayout->addWidget(ndStatusLabel); + mainLayout->addWidget(interfaceGroupBox); + + setLayout(mainLayout); +} + +void ndgui::createInterfaceGroupBox(){ + interfaceGroupBox = new QGroupBox(tr("Interfaces")); + + interfaceGroupBoxLayout = new QVBoxLayout; + /* add interfaces via addInterfacesToGroupBox()*/ + + interfaceGroupBox->setLayout(interfaceGroupBoxLayout); +} + +void ndgui::addNewInterface(QString ifName) { + qDebug() << "receive interface to add:" << ifName; + QHBoxLayout *hBoxLayout = new QHBoxLayout; + QLabel *label = new QLabel(ifName); + QLabel *labelStatus = new QLabel("waiting"); + QProgressBar *pBar = new QProgressBar(this); + pBar->setRange(1, 100); + pBar->setMaximumSize(200, 20); + + statusLabels.insert(ifName, labelStatus); + progressBars.insert(ifName, pBar); + + hBoxLayout->addWidget(label, Qt::AlignLeft); + hBoxLayout->addWidget(labelStatus, Qt::AlignCenter); + hBoxLayout->addWidget(pBar, Qt::AlignRight); + + numberOfInterfaces++; + + interfaceGroupBoxLayout->addLayout(hBoxLayout, 2); +} + +void ndgui::handleProgress(QString ifName, int newValue) { + qDebug() << "<[---]> SLOT handleProgress activated with: " << ifName << newValue; + QProgressBar * pBar = progressBars.value(ifName); + if(newValue >= pBar->value()) { + pBar->setValue(newValue); + } + else { + qDebug() << "Error: new value is smaller than the old value!"; + } +} + +void ndgui::handleConnectionEstablished(QString ifName) { + finalUsableInterfaces.append(ifName); +} + +void ndgui::handleAbortBoot(QString msg) { + qDebug() << "abort boot. reason:" << msg; + showAbortBootDialog(); +} + +void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { + QLabel* label = statusLabels.value(ifName); + label->setText(status); +} + +void ndgui::handleAllProcessesFinished() { + qDebug() << "all Processes finished"; + + if (finalUsableInterfaces.size() > 0) { + showChooseInterfaceDialog(); + } else { + showAbortBootDialog(); + } +} + +void ndgui::showAbortBootDialog() { + aBD = new AbortBootDialog(this); + connect(aBD, SIGNAL(showLogSignal()), this, SLOT(showLog())); + connect(aBD, SIGNAL(restartSignal()), this, SLOT(restartSystem())); + connect(aBD, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); + aBD->setModal(true); + aBD->show(); +} + +void ndgui::showChooseInterfaceDialog() { + cID = new ChooseInterfaceDialog(finalUsableInterfaces, this); + connect(cID, SIGNAL(continueSignal(QString)), this, + SLOT(continueBoot(QString))); + connect(cID, SIGNAL(restartSignal()), this, SLOT(restartSystem())); + connect(cID, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); + cID->setModal(true); + cID->show(); +} + +void ndgui::restartSystem() +{ + + if(qobject_cast(QObject::sender())>0) + { + qDebug() << "received Signal restart abd"; + aBD->closeDialog(); + } + else if(qobject_cast(QObject::sender())>0) + { + qDebug() << "received Signal restart cid"; + cID->close(); + } + else + { + qDebug() << "unknown sender" << QObject::sender(); + } + + +} + +void ndgui::shutDownSystem() +{ + if(qobject_cast(QObject::sender())>0) + { + + aBD->closeDialog(); + } + else if(qobject_cast(QObject::sender())>0) + { + + cID->close(); + } + else + { + qDebug() << "unknown sender" << QObject::sender(); + } + +} + +void ndgui::continueBoot(QString ifName) +{ + QString text = "continue with interface: " + ifName; + cID->close(); +} + +void ndgui::showLog() +{ + qDebug() << "show log"; +} diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h new file mode 100644 index 0000000..e8b0b85 --- /dev/null +++ b/LogReceiver/ndgui.h @@ -0,0 +1,67 @@ +#ifndef NDGUI_H +#define NDGUI_H + +#include +#include "qprogressbar.h" +#include "qlabel.h" +#include "qgroupbox.h" +#include "qboxlayout.h" +#include "ui_ndgui.h" +#include "logreceiver.h" +#include "chooseinterfacedialog.h" +#include "abortbootdialog.h" + +class ndgui: public QWidget { +Q_OBJECT + +public: + ndgui(QWidget *parent = 0); + ~ndgui(); + +public slots: + void handleProgress(QString ifName, int newValue); + void addNewInterface(QString ifName); + void handleConnectionEstablished(QString ifName); + void handleAbortBoot(QString msg); + void handleUpdateStatusLabel(QString ifName, QString status); + void handleAllProcessesFinished(); + + void restartSystem(); + void shutDownSystem(); + void continueBoot(QString ifName); + void showLog(); + + void showAbortBootDialog(); + void showChooseInterfaceDialog(); + +private: + Ui::ndguiClass ui; + + LogReceiver logReceiver; + + QStringList finalUsableInterfaces; + + int numberOfInterfaces; + + ChooseInterfaceDialog *cID; + AbortBootDialog *aBD; + + /*gui elements*/ + QMap progressBars; + QMap statusLabels; + QLabel *ndStatusLabel; + QGroupBox *interfaceGroupBox; + QVBoxLayout *mainLayout; + QVBoxLayout *interfaceGroupBoxLayout; + /**/ + + + + + /*gui functions*/ + void buildGui(); + void createInterfaceGroupBox(); + +}; + +#endif // NDGUI_H diff --git a/LogReceiver/ndgui.ui b/LogReceiver/ndgui.ui new file mode 100644 index 0000000..4a4c466 --- /dev/null +++ b/LogReceiver/ndgui.ui @@ -0,0 +1,19 @@ + + ndguiClass + + + + 0 + 0 + 400 + 300 + + + + ndgui + + + + + + diff --git a/customdhcpcd/Debug/makefile b/customdhcpcd/Debug/makefile new file mode 100644 index 0000000..0c6307d --- /dev/null +++ b/customdhcpcd/Debug/makefile @@ -0,0 +1,44 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +-include ../makefile.init + +RM := rm -rf + +# All of the sources participating in the build are defined here +-include sources.mk +-include subdir.mk +-include src/subdir.mk +-include objects.mk + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(C_DEPS)),) +-include $(C_DEPS) +endif +endif + +-include ../makefile.defs + +# Add inputs and outputs from these tool invocations to the build variables + +# All Target +all: customdhcpcd + +# Tool invocations +customdhcpcd: $(OBJS) $(USER_OBJS) + @echo 'Building target: $@' + @echo 'Invoking: GCC C Linker' + gcc -o"customdhcpcd" $(OBJS) $(USER_OBJS) $(LIBS) + @echo 'Finished building target: $@' + @echo ' ' + +# Other Targets +clean: + -$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) customdhcpcd + -@echo ' ' + +.PHONY: all clean dependents +.SECONDARY: + +-include ../makefile.targets diff --git a/customdhcpcd/Debug/objects.mk b/customdhcpcd/Debug/objects.mk new file mode 100644 index 0000000..224ef68 --- /dev/null +++ b/customdhcpcd/Debug/objects.mk @@ -0,0 +1,7 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +USER_OBJS := + +LIBS := diff --git a/customdhcpcd/Debug/sources.mk b/customdhcpcd/Debug/sources.mk new file mode 100644 index 0000000..57cf3c3 --- /dev/null +++ b/customdhcpcd/Debug/sources.mk @@ -0,0 +1,17 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +O_SRCS := +C_SRCS := +S_UPPER_SRCS := +OBJ_SRCS := +ASM_SRCS := +OBJS := +C_DEPS := +EXECUTABLES := + +# Every subdirectory with source files must be described here +SUBDIRS := \ +src \ + diff --git a/customdhcpcd/Debug/src/arp.d b/customdhcpcd/Debug/src/arp.d new file mode 100644 index 0000000..e639f20 --- /dev/null +++ b/customdhcpcd/Debug/src/arp.d @@ -0,0 +1,21 @@ +src/arp.d src/arp.o: ../src/arp.c ../src/config.h ../src/common.h \ + ../src/arp.h ../src/interface.h ../src/logger.h ../src/signal.h \ + ../src/socket.h ../src/dhcp.h ../src/dhcpcd.h + +../src/config.h: + +../src/common.h: + +../src/arp.h: + +../src/interface.h: + +../src/logger.h: + +../src/signal.h: + +../src/socket.h: + +../src/dhcp.h: + +../src/dhcpcd.h: diff --git a/customdhcpcd/Debug/src/client.d b/customdhcpcd/Debug/src/client.d new file mode 100644 index 0000000..585c535 --- /dev/null +++ b/customdhcpcd/Debug/src/client.d @@ -0,0 +1,37 @@ +src/client.d src/client.o: ../src/client.c ../src/config.h \ + ../src/common.h ../src/arp.h ../src/interface.h ../src/client.h \ + ../src/dhcpcd.h ../src/configure.h ../src/dhcp.h ../src/info.h \ + ../src/ipv4ll.h ../src/logger.h ../src/signal.h ../src/socket.h \ + ../src/logwriter.h ../src/status.h ../src/duid.h + +../src/config.h: + +../src/common.h: + +../src/arp.h: + +../src/interface.h: + +../src/client.h: + +../src/dhcpcd.h: + +../src/configure.h: + +../src/dhcp.h: + +../src/info.h: + +../src/ipv4ll.h: + +../src/logger.h: + +../src/signal.h: + +../src/socket.h: + +../src/logwriter.h: + +../src/status.h: + +../src/duid.h: diff --git a/customdhcpcd/Debug/src/common.d b/customdhcpcd/Debug/src/common.d new file mode 100644 index 0000000..235fc5e --- /dev/null +++ b/customdhcpcd/Debug/src/common.d @@ -0,0 +1,6 @@ +src/common.d src/common.o: ../src/common.c ../src/common.h \ + ../src/logger.h + +../src/common.h: + +../src/logger.h: diff --git a/customdhcpcd/Debug/src/configure.d b/customdhcpcd/Debug/src/configure.d new file mode 100644 index 0000000..16416f6 --- /dev/null +++ b/customdhcpcd/Debug/src/configure.d @@ -0,0 +1,28 @@ +src/configure.d src/configure.o: ../src/configure.c ../src/config.h \ + ../src/common.h ../src/configure.h ../src/dhcpcd.h ../src/interface.h \ + ../src/dhcp.h ../src/info.h ../src/logger.h ../src/signal.h \ + ../src/socket.h ../src/status.h ../src/logwriter.h + +../src/config.h: + +../src/common.h: + +../src/configure.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/dhcp.h: + +../src/info.h: + +../src/logger.h: + +../src/signal.h: + +../src/socket.h: + +../src/status.h: + +../src/logwriter.h: diff --git a/customdhcpcd/Debug/src/customdhcpcd.d b/customdhcpcd/Debug/src/customdhcpcd.d new file mode 100644 index 0000000..1dd84f9 --- /dev/null +++ b/customdhcpcd/Debug/src/customdhcpcd.d @@ -0,0 +1 @@ +src/customdhcpcd.d src/customdhcpcd.o: ../src/customdhcpcd.c diff --git a/customdhcpcd/Debug/src/dhcp.d b/customdhcpcd/Debug/src/dhcp.d new file mode 100644 index 0000000..82e54dd --- /dev/null +++ b/customdhcpcd/Debug/src/dhcp.d @@ -0,0 +1,17 @@ +src/dhcp.d src/dhcp.o: ../src/dhcp.c ../src/config.h ../src/common.h \ + ../src/dhcpcd.h ../src/dhcp.h ../src/interface.h ../src/logger.h \ + ../src/socket.h + +../src/config.h: + +../src/common.h: + +../src/dhcpcd.h: + +../src/dhcp.h: + +../src/interface.h: + +../src/logger.h: + +../src/socket.h: diff --git a/customdhcpcd/Debug/src/dhcpcd.d b/customdhcpcd/Debug/src/dhcpcd.d new file mode 100644 index 0000000..05c8d7e --- /dev/null +++ b/customdhcpcd/Debug/src/dhcpcd.d @@ -0,0 +1,26 @@ +src/dhcpcd.d src/dhcpcd.o: ../src/dhcpcd.c ../src/config.h \ + ../src/client.h ../src/dhcpcd.h ../src/common.h ../src/dhcp.h \ + ../src/interface.h ../src/logger.h ../src/socket.h ../src/version.h \ + ../src/logwriter.h ../src/status.h + +../src/config.h: + +../src/client.h: + +../src/dhcpcd.h: + +../src/common.h: + +../src/dhcp.h: + +../src/interface.h: + +../src/logger.h: + +../src/socket.h: + +../src/version.h: + +../src/logwriter.h: + +../src/status.h: diff --git a/customdhcpcd/Debug/src/discover.d b/customdhcpcd/Debug/src/discover.d new file mode 100644 index 0000000..9188993 --- /dev/null +++ b/customdhcpcd/Debug/src/discover.d @@ -0,0 +1 @@ +src/discover.d src/discover.o: ../src/discover.c diff --git a/customdhcpcd/Debug/src/duid.d b/customdhcpcd/Debug/src/duid.d new file mode 100644 index 0000000..1434db7 --- /dev/null +++ b/customdhcpcd/Debug/src/duid.d @@ -0,0 +1,12 @@ +src/duid.d src/duid.o: ../src/duid.c ../src/config.h ../src/common.h \ + ../src/duid.h ../src/interface.h ../src/logger.h + +../src/config.h: + +../src/common.h: + +../src/duid.h: + +../src/interface.h: + +../src/logger.h: diff --git a/customdhcpcd/Debug/src/info.d b/customdhcpcd/Debug/src/info.d new file mode 100644 index 0000000..0a3490d --- /dev/null +++ b/customdhcpcd/Debug/src/info.d @@ -0,0 +1,17 @@ +src/info.d src/info.o: ../src/info.c ../src/config.h ../src/common.h \ + ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/logger.h \ + ../src/info.h + +../src/config.h: + +../src/common.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/logger.h: + +../src/info.h: diff --git a/customdhcpcd/Debug/src/interface.d b/customdhcpcd/Debug/src/interface.d new file mode 100644 index 0000000..581c831 --- /dev/null +++ b/customdhcpcd/Debug/src/interface.d @@ -0,0 +1,15 @@ +src/interface.d src/interface.o: ../src/interface.c ../src/config.h \ + ../src/common.h ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h \ + ../src/logger.h + +../src/config.h: + +../src/common.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/logger.h: diff --git a/customdhcpcd/Debug/src/ipv4ll.d b/customdhcpcd/Debug/src/ipv4ll.d new file mode 100644 index 0000000..7d02ead --- /dev/null +++ b/customdhcpcd/Debug/src/ipv4ll.d @@ -0,0 +1,17 @@ +src/ipv4ll.d src/ipv4ll.o: ../src/ipv4ll.c ../src/config.h ../src/arp.h \ + ../src/interface.h ../src/ipv4ll.h ../src/dhcp.h ../src/dhcpcd.h \ + ../src/common.h + +../src/config.h: + +../src/arp.h: + +../src/interface.h: + +../src/ipv4ll.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/common.h: diff --git a/customdhcpcd/Debug/src/logger.d b/customdhcpcd/Debug/src/logger.d new file mode 100644 index 0000000..bbf1cf8 --- /dev/null +++ b/customdhcpcd/Debug/src/logger.d @@ -0,0 +1,10 @@ +src/logger.d src/logger.o: ../src/logger.c ../src/common.h \ + ../src/logger.h ../src/logwriter.h ../src/dhcpcd.h + +../src/common.h: + +../src/logger.h: + +../src/logwriter.h: + +../src/dhcpcd.h: diff --git a/customdhcpcd/Debug/src/logwriter.d b/customdhcpcd/Debug/src/logwriter.d new file mode 100644 index 0000000..83dc4b5 --- /dev/null +++ b/customdhcpcd/Debug/src/logwriter.d @@ -0,0 +1,19 @@ +src/logwriter.d src/logwriter.o: ../src/logwriter.c ../src/common.h \ + ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/config.h \ + ../src/logger.h ../src/logwriter.h ../src/status.h + +../src/common.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/interface.h: + +../src/config.h: + +../src/logger.h: + +../src/logwriter.h: + +../src/status.h: diff --git a/customdhcpcd/Debug/src/signal.d b/customdhcpcd/Debug/src/signal.d new file mode 100644 index 0000000..0185fc3 --- /dev/null +++ b/customdhcpcd/Debug/src/signal.d @@ -0,0 +1,8 @@ +src/signal.d src/signal.o: ../src/signal.c ../src/common.h \ + ../src/logger.h ../src/signal.h + +../src/common.h: + +../src/logger.h: + +../src/signal.h: diff --git a/customdhcpcd/Debug/src/socket.d b/customdhcpcd/Debug/src/socket.d new file mode 100644 index 0000000..785c170 --- /dev/null +++ b/customdhcpcd/Debug/src/socket.d @@ -0,0 +1,17 @@ +src/socket.d src/socket.o: ../src/socket.c ../src/config.h ../src/dhcp.h \ + ../src/dhcpcd.h ../src/common.h ../src/interface.h ../src/logger.h \ + ../src/socket.h + +../src/config.h: + +../src/dhcp.h: + +../src/dhcpcd.h: + +../src/common.h: + +../src/interface.h: + +../src/logger.h: + +../src/socket.h: diff --git a/customdhcpcd/Debug/src/subdir.mk b/customdhcpcd/Debug/src/subdir.mk new file mode 100644 index 0000000..38890b3 --- /dev/null +++ b/customdhcpcd/Debug/src/subdir.mk @@ -0,0 +1,85 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +O_SRCS += \ +../src/arp.o \ +../src/client.o \ +../src/common.o \ +../src/configure.o \ +../src/dhcp.o \ +../src/dhcpcd.o \ +../src/duid.o \ +../src/info.o \ +../src/interface.o \ +../src/ipv4ll.o \ +../src/logger.o \ +../src/logwriter.o \ +../src/signal.o \ +../src/socket.o + +C_SRCS += \ +../src/arp.c \ +../src/client.c \ +../src/common.c \ +../src/configure.c \ +../src/customdhcpcd.c \ +../src/dhcp.c \ +../src/dhcpcd.c \ +../src/discover.c \ +../src/duid.c \ +../src/info.c \ +../src/interface.c \ +../src/ipv4ll.c \ +../src/logger.c \ +../src/logwriter.c \ +../src/signal.c \ +../src/socket.c + +OBJS += \ +./src/arp.o \ +./src/client.o \ +./src/common.o \ +./src/configure.o \ +./src/customdhcpcd.o \ +./src/dhcp.o \ +./src/dhcpcd.o \ +./src/discover.o \ +./src/duid.o \ +./src/info.o \ +./src/interface.o \ +./src/ipv4ll.o \ +./src/logger.o \ +./src/logwriter.o \ +./src/signal.o \ +./src/socket.o + +C_DEPS += \ +./src/arp.d \ +./src/client.d \ +./src/common.d \ +./src/configure.d \ +./src/customdhcpcd.d \ +./src/dhcp.d \ +./src/dhcpcd.d \ +./src/discover.d \ +./src/duid.d \ +./src/info.d \ +./src/interface.d \ +./src/ipv4ll.d \ +./src/logger.d \ +./src/logwriter.d \ +./src/signal.d \ +./src/socket.d + + +# Each subdirectory must supply rules for building sources it contributes +src/%.o: ../src/%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/customdhcpcd/src/.gitignore b/customdhcpcd/src/.gitignore new file mode 100644 index 0000000..6eb1591 --- /dev/null +++ b/customdhcpcd/src/.gitignore @@ -0,0 +1,5 @@ +*.o +version.h +dhcpcd +dhcpcd.8 +dhcpcd-*.bz2 diff --git a/customdhcpcd/src/Makefile b/customdhcpcd/src/Makefile new file mode 100644 index 0000000..7f90db4 --- /dev/null +++ b/customdhcpcd/src/Makefile @@ -0,0 +1,34 @@ +# Makefile based on BSD's pmake. +# Our mk stubs also work with GNU make. +# Copyright 2008 Roy Marples + +PROG= customdhcpcd +SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ + info.c interface.c ipv4ll.c logger.c logwriter.c signal.c socket.c +MAN= dhcpcd.8 + +VERSION= 3.2.3 +CLEANFILES= version.h dhcpcd.8 + +BINDIR= ${PREFIX}/sbin + +.SUFFIXES: .in + +MK= mk +include ${MK}/os.mk +include ${MK}/cc.mk +include ${MK}/prog.mk + +# os.mk should define this, but heh +INFOD?= /var/db + +LDADD+= ${LIBRESOLV} ${LIBRT} +CFLAGS+= -g -Wall -DINFODIR=\"${INFOD}\" ${FORK} ${RC} + +# As version.h is generated by us, hardcode the depend correctly. +${SRCS}: version.h +version.h: + echo "#define VERSION \"${VERSION}\""> version.h + +.in: + sed 's:@PREFIX@:${PREFIX}:g; s:@INFODIR@:${INFOD}:g' $< > $@ diff --git a/customdhcpcd/src/README b/customdhcpcd/src/README new file mode 100644 index 0000000..9089ec6 --- /dev/null +++ b/customdhcpcd/src/README @@ -0,0 +1,45 @@ +dhcpcd-3 - DHCP client daemon +Copyright 2006-2008 Roy Marples + + +Installation +------------ +Edit config.h to match your building requirements. + +Take special note of ENABLE_DUID and unset it if the target media is +volatile, like say a LiveCD. + +Then just make; make install + +man dhcpcd for command line options + + +Notes +----- +If you're cross compiling you may need to send HAVE_FORK=yes or HAVE_FORK=no +to the make command to avoid to automatic test. + +We try and detect how to restart ntp and ypbind, you can override this with +HAVE_INIT=no or force one of these values +OPENRC (OpenRC as used by Gentoo (forked from baselayout)) +BSDRC (BSD RC system - /etc/rc.d/ntpd restart ) +SERVICE (RedHat service command - service ntpd restart) +SLACKRC (Slackware RC system - /etc/rc.d/rc.ntpd restart) +SYSV (SYSV style - /etc/init.d/ntpd restart) + +You can change the default dir where dhcpcd stores it's .info files with +INFODIR=/var/db + +We now default to using -std=c99. For 64-bit linux, this always works, but +for 32-bit linux it requires either gnu99 or a patch to asm/types.h. +Most distros patch linux headers so this should work fine. +linux-2.6.24 finally ships with a working 32-bit header. +If your linux headers are older, or your distro hasn't patched them you can +set CSTD=gnu99 to work around this. + + +ChangeLog +--------- +We no longer supply a ChangeLog. +However, you're more than welcome to read the git commit comments at +http://git.marples.name/?p=dhcpcd/.git;a=summary diff --git a/customdhcpcd/src/arp.c b/customdhcpcd/src/arp.c new file mode 100644 index 0000000..794850c --- /dev/null +++ b/customdhcpcd/src/arp.c @@ -0,0 +1,284 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#ifdef __linux__ +#include +#include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "arp.h" +#include "interface.h" +#include "logger.h" +#include "signal.h" +#include "socket.h" + +/* These are really for IPV4LL */ +#define NPROBES 3 +#define PROBE_INTERVAL 200 +#define NCLAIMS 2 +#define CLAIM_INTERVAL 200 + +/* Linux does not seem to define these handy macros */ +#ifndef ar_sha +#define ar_sha(ap) (((caddr_t) ((ap) + 1)) + 0) +#define ar_spa(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln) +#define ar_tha(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln + (ap)->ar_pln) +#define ar_tpa(ap) (((caddr_t) ((ap) + 1)) + 2 * (ap)->ar_hln + (ap)->ar_pln) +#endif + +#ifndef arphdr_len +#define arphdr_len2(ar_hln, ar_pln) (sizeof (struct arphdr) + \ + 2 * (ar_hln) + 2 * (ar_pln)) +#define arphdr_len(ap) (arphdr_len2 ((ap)->ar_hln, (ap)->ar_pln)) +#endif + +#ifdef ENABLE_ARP + +static int send_arp (const interface_t *iface, int op, struct in_addr sip, + const unsigned char *taddr, struct in_addr tip) +{ + struct arphdr *arp; + size_t arpsize = arphdr_len2 (iface->hwlen, sizeof (sip)); + caddr_t tha; + int retval; + + arp = xzalloc (arpsize); + arp->ar_hrd = htons (iface->family); + arp->ar_pro = htons (ETHERTYPE_IP); + arp->ar_hln = iface->hwlen; + arp->ar_pln = sizeof (sip); + arp->ar_op = htons (op); + memcpy (ar_sha (arp), iface->hwaddr, (size_t) arp->ar_hln); + memcpy (ar_spa (arp), &sip, (size_t) arp->ar_pln); + if (taddr) { + /* NetBSD can return NULL from ar_tha, which is probably wrong + * but we still need to deal with it */ + if (! (tha = ar_tha (arp))) { + free (arp); + errno = EINVAL; + return (-1); + } + memcpy (tha, taddr, (size_t) arp->ar_hln); + } + memcpy (ar_tpa (arp), &tip, (size_t) arp->ar_pln); + + retval = send_packet (iface, ETHERTYPE_ARP, + (unsigned char *) arp, arphdr_len (arp)); + free (arp); + return (retval); +} + +int arp_claim (interface_t *iface, struct in_addr address) +{ + struct arphdr *reply = NULL; + long timeout = 0; + unsigned char *buffer; + int retval = -1; + int nprobes = 0; + int nclaims = 0; + struct in_addr null_address; + struct pollfd fds[] = { + { -1, POLLIN, 0 }, + { -1, POLLIN, 0 } + }; + + if (! iface) + return (-1); + + if (! iface->arpable) { + logger (LOG_DEBUG, "interface `%s' is not ARPable", iface->name); + return (0); + } + + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && + ! IN_LINKLOCAL (ntohl (address.s_addr))) + logger (LOG_INFO, + "checking %s is available on attached networks", + inet_ntoa (address)); + + if (! open_socket (iface, ETHERTYPE_ARP)) + return (-1); + + fds[0].fd = signal_fd (); + fds[1].fd = iface->fd; + + memset (&null_address, 0, sizeof (null_address)); + + buffer = xmalloc (iface->buffer_length); + reply = xmalloc (iface->buffer_length); + + for (;;) { + size_t bufpos = 0; + size_t buflen = iface->buffer_length; + int bytes; + int s = 0; + struct timeval stopat; + struct timeval now; + + /* Only poll if we have a timeout */ + if (timeout > 0) { + s = poll (fds, 2, timeout); + if (s == -1) { + if (errno == EINTR) { + if (signal_exists (NULL) == -1) { + errno = 0; + continue; + } else + break; + } + + logger (LOG_ERR, "poll: `%s'", + strerror (errno)); + break; + } + } + + /* Timed out */ + if (s == 0) { + if (nprobes < NPROBES) { + nprobes ++; + timeout = PROBE_INTERVAL; + logger (LOG_DEBUG, "sending ARP probe #%d", + nprobes); + if (send_arp (iface, ARPOP_REQUEST, + null_address, NULL, + address) == -1) + break; + + /* IEEE1394 cannot set ARP target address + * according to RFC2734 */ + if (nprobes >= NPROBES && + iface->family == ARPHRD_IEEE1394) + nclaims = NCLAIMS; + } else if (nclaims < NCLAIMS) { + nclaims ++; + timeout = CLAIM_INTERVAL; + logger (LOG_DEBUG, "sending ARP claim #%d", + nclaims); + if (send_arp (iface, ARPOP_REQUEST, + address, iface->hwaddr, + address) == -1) + break; + } else { + /* No replies, so done */ + retval = 0; + break; + } + + /* Setup our stop time */ + if (get_time (&stopat) != 0) + break; + stopat.tv_usec += timeout; + + continue; + } + + /* We maybe ARP flooded, so check our time */ + if (get_time (&now) != 0) + break; + if (timercmp (&now, &stopat, >)) { + timeout = 0; + continue; + } + + if (! fds[1].revents & POLLIN) + continue; + + memset (buffer, 0, buflen); + do { + union { + unsigned char *c; + struct in_addr *a; + } rp; + union { + unsigned char *c; + struct ether_addr *a; + } rh; + + memset (reply, 0, iface->buffer_length); + if ((bytes = get_packet (iface, (unsigned char *) reply, + buffer, + &buflen, &bufpos)) == -1) + break; + + /* Only these types are recognised */ + if (reply->ar_op != htons (ARPOP_REPLY)) + continue; + + /* Protocol must be IP. */ + if (reply->ar_pro != htons (ETHERTYPE_IP)) + continue; + if (reply->ar_pln != sizeof (address)) + continue; + if ((unsigned) bytes < sizeof (reply) + + 2 * (4 + reply->ar_hln)) + continue; + + rp.c = (unsigned char *) ar_spa (reply); + rh.c = (unsigned char *) ar_sha (reply); + + /* Ensure the ARP reply is for the our address */ + if (rp.a->s_addr != address.s_addr) + continue; + + /* Some systems send a reply back from our hwaddress, + * which is wierd */ + if (reply->ar_hln == iface->hwlen && + memcmp (rh.c, iface->hwaddr, iface->hwlen) == 0) + continue; + + logger (LOG_ERR, "ARPOP_REPLY received from %s (%s)", + inet_ntoa (*rp.a), + hwaddr_ntoa (rh.c, (size_t) reply->ar_hln)); + retval = -1; + goto eexit; + } while (bufpos != 0); + } + +eexit: + close (iface->fd); + iface->fd = -1; + free (buffer); + free (reply); + return (retval); +} +#endif diff --git a/customdhcpcd/src/arp.h b/customdhcpcd/src/arp.h new file mode 100644 index 0000000..3b7e8ef --- /dev/null +++ b/customdhcpcd/src/arp.h @@ -0,0 +1,39 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef ARP_H +#define ARP_H + +#ifdef ENABLE_ARP +#include + +#include "interface.h" + +int arp_claim (interface_t *iface, struct in_addr address); +#endif + +#endif diff --git a/customdhcpcd/src/client.c b/customdhcpcd/src/client.c new file mode 100644 index 0000000..ba71ba4 --- /dev/null +++ b/customdhcpcd/src/client.c @@ -0,0 +1,1150 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#ifdef __linux__ +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#ifdef ENABLE_ARP +# include "arp.h" +#endif +#include "client.h" +#include "configure.h" +#include "dhcp.h" +#include "dhcpcd.h" +#include "info.h" +#include "interface.h" +#ifdef ENABLE_IPV4LL +# include "ipv4ll.h" +#endif +#include "logger.h" +#include "signal.h" +#include "socket.h" + +#include "logwriter.h" +#include "status.h" + +#ifdef ENABLE_DUID +# include "duid.h" +#endif + +#ifdef ENABLE_INFO +# include "info.h" +#endif + +#ifdef THERE_IS_NO_FORK +# ifndef ENABLE_INFO + # error "Non MMU requires ENABLE_INFO to work" +# endif +#endif + +/* Some platforms don't define INFTIM */ +#ifndef INFTIM +# define INFTIM -1 +#endif + +/* This is out mini timeout. + * Basically we resend the last request every TIMEOUT_MINI seconds. */ +#define TIMEOUT_MINI 3 +/* Except for an infinite timeout. We keep adding TIMEOUT_MINI to + * ourself until TIMEOUT_MINI_INF is reached. */ +#define TIMEOUT_MINI_INF 60 + +#define STATE_INIT 0 +#define STATE_REQUESTING 1 +#define STATE_BOUND 2 +#define STATE_RENEWING 3 +#define STATE_REBINDING 4 +#define STATE_REBOOT 5 +#define STATE_RENEW_REQUESTED 6 +#define STATE_RELEASED 7 + +/* We should define a maximum for the NAK exponential backoff */ +#define NAKOFF_MAX 60 + +#define SOCKET_CLOSED 0 +#define SOCKET_OPEN 1 + +/* Indexes for pollfds */ +#define POLLFD_SIGNAL 0 +#define POLLFD_IFACE 1 + +typedef struct _state { + int *pidfd; + bool forked; + int state; + uint32_t xid; + dhcp_t *dhcp; + int socket; + interface_t *interface; + time_t start; + time_t last_sent; + time_t last_type; + long timeout; + time_t nakoff; + bool daemonised; + bool persistent; + unsigned char *buffer; + size_t buffer_len; + size_t buffer_pos; +} state_t; + +static pid_t daemonise (int *pidfd) +{ + pid_t pid; + sigset_t full; + sigset_t old; +#ifdef THERE_IS_NO_FORK + char **argv; + int i; +#endif + + sigfillset (&full); + sigprocmask (SIG_SETMASK, &full, &old); + +#ifndef THERE_IS_NO_FORK + logger (LOG_DEBUG, "forking to background"); + switch (pid = fork()) { + case -1: + logger (LOG_ERR, "fork: %s", strerror (errno)); + exit (EXIT_FAILURE); + /* NOT REACHED */ + case 0: + setsid (); + close_fds (); + break; + default: + /* Reset our signals as we're the parent about to exit. */ + signal_reset (); + break; + } +#else + logger (LOG_INFO, "forking to background"); + + /* We need to add --daemonise to our options */ + argv = xmalloc (sizeof (char *) * (dhcpcd_argc + 4)); + argv[0] = dhcpcd; + for (i = 1; i < dhcpcd_argc; i++) + argv[i] = dhcpcd_argv[i]; + argv[i] = (char *) "--daemonised"; + if (dhcpcd_skiproutes) { + argv[++i] = (char *) "--skiproutes"; + argv[++i] = dhcpcd_skiproutes; + } + argv[i + 1] = NULL; + + switch (pid = vfork ()) { + case -1: + logger (LOG_ERR, "vfork: %s", strerror (errno)); + _exit (EXIT_FAILURE); + case 0: + signal_reset (); + sigprocmask (SIG_SETMASK, &old, NULL); + execvp (dhcpcd, argv); + logger (LOG_ERR, "execl `%s': %s", dhcpcd, + strerror (errno)); + _exit (EXIT_FAILURE); + } + + free (argv); +#endif + + /* Done with the fd now */ + if (pid != 0) { + writepid (*pidfd, pid); + close (*pidfd); + *pidfd = -1; + + } + + sigprocmask (SIG_SETMASK, &old, NULL); + return (pid); +} + +#ifdef ENABLE_INFO +static bool get_old_lease (state_t *state, const options_t *options) +{ + interface_t *iface = state->interface; + dhcp_t *dhcp = state->dhcp; + struct timeval tv; + unsigned int offset = 0; + + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_INFO, "trying to use old lease in `%s'", + iface->infofile); + if (! read_info (iface, dhcp)) + return (false); + + /* Vitaly important we remove the server information here */ + memset (&dhcp->serveraddress, 0, sizeof (dhcp->serveraddress)); + memset (dhcp->servername, 0, sizeof (dhcp->servername)); + +#ifdef ENABLE_ARP + /* Check that no-one is using the address */ + if ((options->dolastlease || + (IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && + (! options->doipv4ll || + arp_claim (iface, dhcp->address))))) + { + memset (&dhcp->address, 0, sizeof (dhcp->address)); + memset (&dhcp->netmask, 0, sizeof (dhcp->netmask)); + memset (&dhcp->broadcast, 0, sizeof (dhcp->broadcast)); + return (false); + } + + /* Ok, lets use this */ + if (IN_LINKLOCAL (dhcp->address.s_addr)) + return (true); +#endif + + /* Ensure that we can still use the lease */ + if (gettimeofday (&tv, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (false); + } + + offset = tv.tv_sec - dhcp->leasedfrom; + if (dhcp->leasedfrom && + tv.tv_sec - dhcp->leasedfrom > dhcp->leasetime) + { + logger (LOG_ERR, "lease expired %u seconds ago", + offset + dhcp->leasetime); + return (false); + } + + if (dhcp->leasedfrom == 0) + offset = 0; + state->timeout = dhcp->renewaltime - offset; + iface->start_uptime = uptime (); + return (true); +} +#endif + +#ifdef THERE_IS_NO_FORK +static void remove_skiproutes (dhcp_t *dhcp, interface_t *iface) +{ + int i = -1; + route_t *route; + route_t *newroute; + + free_route (iface->previous_routes); + iface->previous_routes = NULL; + + NSTAILQ_FOREACH (route, dhcp->routes, entries) { + i++; + + /* Check that we did add this route or not */ + if (dhcpcd_skiproutes) { + char *sk = xstrdup (dhcpcd_skiproutes); + char *skp = sk; + char *token; + bool found = false; + + while ((token = strsep (&skp, ","))) { + if (isdigit (*token) && atoi (token) == i) { + found = true; + break; + } + } + free (sk); + if (found) + continue; + } + + if (! iface->previous_routes) { + iface->previous_routes = xmalloc (sizeof (*iface->previous_routes)); + STAILQ_INIT (iface->previous_routes); + } + + newroute = xmalloc (sizeof (*newroute)); + memcpy (newroute, route, sizeof (*newroute)); + STAILQ_INSERT_TAIL (iface->previous_routes, newroute, entries); + } + + /* We no longer need this argument */ + free (dhcpcd_skiproutes); + dhcpcd_skiproutes = NULL; +} +#endif + +static bool client_setup (state_t *state, const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + + state->state = STATE_INIT; + state->last_type = DHCP_DISCOVER; + state->nakoff = 1; + state->daemonised = options->daemonised; + state->persistent = options->persistent; + + if (options->request_address.s_addr == 0 && + (options->doinform || options->dorequest || options->daemonised)) + { +#ifdef ENABLE_INFO + if (! get_old_lease (state, options)) +#endif + { + free (dhcp); + return (false); + } + state->timeout = 0; + + if (! options->daemonised && + IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + { + logger (LOG_ERR, "cannot request a link local address"); + return (false); + } +#ifdef THERE_IS_NO_FORK + if (options->daemonised) { + state->state = STATE_BOUND; + state->timeout = dhcp->renewaltime; + iface->previous_address = dhcp->address; + iface->previous_netmask = dhcp->netmask; + remove_skiproutes (dhcp, iface); + } +#endif + + } else { + dhcp->address = options->request_address; + dhcp->netmask = options->request_netmask; + if (dhcp->netmask.s_addr == 0) + dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); + dhcp->broadcast.s_addr = dhcp->address.s_addr | + ~dhcp->netmask.s_addr; + } + + /* Remove all existing addresses. + * After all, we ARE a DHCP client whose job it is to configure the + * interface. We only do this on start, so persistent addresses + * can be added afterwards by the user if needed. */ + if (! options->test && ! options->daemonised) { + if (! options->doinform) { + flush_addresses (iface->name); + } else { + /* The inform address HAS to be configured for it to + * work with most DHCP servers */ + if (options->doinform && + has_address (iface->name, dhcp->address) < 1) + { + add_address (iface->name, dhcp->address, + dhcp->netmask, dhcp->broadcast); + iface->previous_address = dhcp->address; + iface->previous_netmask = dhcp->netmask; + } + } + } + + if (*options->clientid) { + /* Attempt to see if the ClientID is a hardware address */ + iface->clientid_len = hwaddr_aton (NULL, options->clientid); + if (iface->clientid_len) { + iface->clientid = xmalloc (iface->clientid_len); + hwaddr_aton (iface->clientid, options->clientid); + } else { + /* Nope, so mark it as-is */ + iface->clientid_len = strlen (options->clientid) + 1; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = '\0'; + memcpy (iface->clientid + 1, + options->clientid, iface->clientid_len - 1); + } + } else { +#ifdef ENABLE_DUID + unsigned char *duid = NULL; + size_t duid_len = 0; + + if (options->doduid) { + duid = xmalloc (DUID_LEN); + duid_len = get_duid (duid, iface); + } + + if (duid_len > 0) { + logger (LOG_INFO, "DUID = %s", hwaddr_ntoa (duid, duid_len)); + + iface->clientid_len = duid_len + 5; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = 255; /* RFC 4361 */ + + /* IAID is 4 bytes, so if the iface name is 4 bytes use it */ + if (strlen (iface->name) == 4) { + memcpy (iface->clientid + 1, iface->name, 4); + } else { + /* Name isn't 4 bytes, so use the index */ + uint32_t ul = htonl (if_nametoindex (iface->name)); + memcpy (iface->clientid + 1, &ul, 4); + } + + memcpy (iface->clientid + 5, duid, duid_len); + free (duid); + } else { +#else + { +#endif + iface->clientid_len = iface->hwlen + 1; + iface->clientid = xmalloc (iface->clientid_len); + *iface->clientid = iface->family; + memcpy (iface->clientid + 1, iface->hwaddr, iface->hwlen); + } + } + + return (true); +} + +static bool do_socket (state_t *state, int mode) +{ + if (state->interface->fd >= 0) + close (state->interface->fd); +#ifdef __linux + if (mode == SOCKET_CLOSED && state->interface->listen_fd >= 0) { + close (state->interface->listen_fd); + state->interface->listen_fd = -1; + } +#endif + + state->interface->fd = -1; + if (mode == SOCKET_OPEN) + if (open_socket (state->interface, ETHERTYPE_IP) == -1) + return (false); + state->socket = mode; + return (true); +} + +static bool _send_message (state_t *state, int type, const options_t *options) +{ + ssize_t retval; + + state->last_type = type; + state->last_sent = uptime (); + logSendToQt(type); + retval = send_message (state->interface, state->dhcp, state->xid, + type, options); + return (retval == -1 ? false : true); +} + +static void drop_config (state_t *state, const options_t *options) +{ + if (! state->persistent) + configure (options, state->interface, state->dhcp, false); + + free_dhcp (state->dhcp); + memset (state->dhcp, 0, sizeof (*state->dhcp)); +} + +static int wait_for_packet (struct pollfd *fds, state_t *state, + const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + int timeout = 0; + int retval = 0; + + if (! (state->timeout > 0 || + (options->timeout == 0 && + (state->state != STATE_INIT || state->xid)))) { + /* We need to zero our signal fd, otherwise we will block + * trying to read a signal. */ + fds[POLLFD_SIGNAL].revents = 0; + return (0); + } + + fds[POLLFD_IFACE].fd = iface->fd; + + if ((options->timeout == 0 && state->xid) || + (dhcp->leasetime == (unsigned) -1 && + state->state == STATE_BOUND)) + { + logger (LOG_DEBUG, "waiting for infinity"); + while (retval == 0) { + if (iface->fd == -1) + retval = poll (fds, 1, INFTIM); + else { + /* Slow down our requests */ + if (timeout < TIMEOUT_MINI_INF) + timeout += TIMEOUT_MINI; + else if (timeout > TIMEOUT_MINI_INF) + timeout = TIMEOUT_MINI_INF; + + retval = poll (fds, 2, timeout * 1000); + if (retval == -1 && errno == EINTR) { + /* If interupted, continue as normal as + * the signal will be delivered down + * the pipe */ + retval = 0; + continue; + } + if (retval == 0) + _send_message (state, state->last_type, + options); + } + } + + return (retval); + } + + /* Resend our message if we're getting loads of packets. + * As we use BPF or LPF, we shouldn't hit this as much, but it's + * still nice to have. */ + if (iface->fd > -1 && uptime () - state->last_sent >= TIMEOUT_MINI) + _send_message (state, state->last_type, options); + + logger (LOG_DEBUG, "waiting for %ld seconds", + (unsigned long) state->timeout); + /* If we're waiting for a reply, then we re-send the last + * DHCP request periodically in-case of a bad line */ + retval = 0; + while (state->timeout > 0 && retval == 0) { + if (iface->fd == -1) + timeout = (int) state->timeout; + else { + timeout = TIMEOUT_MINI; + if (state->timeout < timeout) + timeout = (int) state->timeout; + } + timeout *= 1000; + state->start = uptime (); + retval = poll (fds, iface->fd == -1 ? 1 : 2, timeout); + state->timeout -= uptime () - state->start; + if (retval == -1 && errno == EINTR) { + /* If interupted, continue as normal as the signal + * will be delivered down the pipe */ + retval = 0; + continue; + } + if (retval == 0 && iface->fd != -1 && state->timeout > 0) + _send_message (state, state->last_type, options); + } + + return (retval); +} + +static bool handle_signal (int sig, state_t *state, const options_t *options) +{ + switch (sig) { + case SIGINT: + logger (LOG_INFO, "received SIGINT, stopping"); + return (false); + case SIGTERM: + logger (LOG_INFO, "received SIGTERM, stopping"); + return (false); + + case SIGALRM: + logger (LOG_INFO, "received SIGALRM, renewing lease"); + switch (state->state) { + case STATE_BOUND: + case STATE_RENEWING: + case STATE_REBINDING: + state->state = STATE_RENEW_REQUESTED; + break; + case STATE_RENEW_REQUESTED: + case STATE_REQUESTING: + case STATE_RELEASED: + state->state = STATE_INIT; + break; + } + state->timeout = 0; + state->xid = 0; + return (true); + + case SIGHUP: + if (state->state != STATE_BOUND && + state->state != STATE_RENEWING && + state->state != STATE_REBINDING) + { + logger (LOG_ERR, + "received SIGHUP, but we no have lease to release"); + return (false); + } + + logger (LOG_INFO, "received SIGHUP, releasing lease"); + if (! IN_LINKLOCAL (ntohl (state->dhcp->address.s_addr))) { + do_socket (state, SOCKET_OPEN); + state->xid = (uint32_t) random (); + if ((open_socket (state->interface, false)) >= 0) { + _send_message (state, DHCP_RELEASE, options); + } + do_socket (state, SOCKET_CLOSED); + } + unlink (state->interface->infofile); + return (false); + + default: + logger (LOG_ERR, + "received signal %d, but don't know what to do with it", + sig); + } + + return (false); +} + +static int handle_timeout (state_t *state, const options_t *options) +{ + dhcp_t *dhcp = state->dhcp; + interface_t *iface = state->interface; + + /* No NAK, so reset the backoff */ + state->nakoff = 1; + + if (state->state == STATE_INIT && state->xid != 0) { + if (iface->previous_address.s_addr != 0 && + ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && + ! options->doinform) + { + logger (LOG_ERR, "lost lease"); + if (! options->persistent) + drop_config (state, options); + } else if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_ERR, "timed out"); + + do_socket (state, SOCKET_CLOSED); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + +#ifdef ENABLE_INFO + if (! options->test && + (options->doipv4ll || options->dolastlease)) + { + errno = 0; + if (! get_old_lease (state, options)) + { + if (errno == EINTR) + return (0); + if (options->dolastlease) + return (-1); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + } else if (errno == EINTR) + return (0); + } +#endif + +#ifdef ENABLE_IPV4LL + if (! options->test && options->doipv4ll && + (! dhcp->address.s_addr || + (! IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && + ! options->dolastlease))) + { + logger (LOG_INFO, "probing for an IPV4LL address"); + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + if (ipv4ll_get_address (iface, dhcp) == -1) { + if (! state->daemonised) + return (-1); + + /* start over */ + state->xid = 0; + return (0); + } + state->timeout = dhcp->renewaltime; + } +#endif + +#if defined (ENABLE_INFO) || defined (ENABLE_IPV4LL) + if (dhcp->address.s_addr) { + if (! state->daemonised && + IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + logger (LOG_WARNING, "using IPV4LL address %s", + inet_ntoa (dhcp->address)); + if (configure (options, iface, dhcp, true) == -1 && + ! state->daemonised) + return (-1); + + state->state = STATE_BOUND; + if (! state->daemonised && options->daemonise) { + switch (daemonise (state->pidfd)) { + case -1: + return (-1); + case 0: + state->daemonised = true; + return (0); + default: + state->persistent = true; + state->forked = true; + return (-1); + } + } + + state->timeout = dhcp->renewaltime; + state->xid = 0; + return (0); + } +#endif + + if (! state->daemonised) + return (-1); + } + + switch (state->state) { + case STATE_INIT: + state->xid = (uint32_t) random (); + do_socket (state, SOCKET_OPEN); + state->timeout = options->timeout; + iface->start_uptime = uptime (); + if (dhcp->address.s_addr == 0) { + if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + logger (LOG_INFO, "broadcasting for a lease"); + _send_message (state, DHCP_DISCOVER, options); + } else if (options->doinform) { + logger (LOG_INFO, "broadcasting inform for %s", + inet_ntoa (dhcp->address)); + _send_message (state, DHCP_INFORM, options); + state->state = STATE_REQUESTING; + } else { + logger (LOG_INFO, "broadcasting for a lease of %s", + inet_ntoa (dhcp->address)); + _send_message (state, DHCP_REQUEST, options); + state->state = STATE_REQUESTING; + } + + break; + case STATE_BOUND: + case STATE_RENEW_REQUESTED: + if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) { + memset (&dhcp->address, 0, sizeof (dhcp->address)); + state->state = STATE_INIT; + state->xid = 0; + break; + } + state->state = STATE_RENEWING; + state->xid = (uint32_t) random (); + /* FALLTHROUGH */ + case STATE_RENEWING: + iface->start_uptime = uptime (); + logger (LOG_INFO, "renewing lease of %s", inet_ntoa + (dhcp->address)); + do_socket (state, SOCKET_OPEN); + _send_message (state, DHCP_REQUEST, options); + state->timeout = dhcp->rebindtime - dhcp->renewaltime; + state->state = STATE_REBINDING; + break; + case STATE_REBINDING: + logger (LOG_ERR, "lost lease, attemping to rebind"); + memset (&dhcp->address, 0, sizeof (dhcp->address)); + do_socket (state, SOCKET_OPEN); + if (state->xid == 0) + state->xid = (uint32_t) random (); + dhcp->serveraddress.s_addr = 0; + _send_message (state, DHCP_REQUEST, options); + state->timeout = dhcp->leasetime - dhcp->rebindtime; + state->state = STATE_REQUESTING; + break; + case STATE_REQUESTING: + state->state = STATE_INIT; + do_socket (state, SOCKET_CLOSED); + state->timeout = 0; + break; + + case STATE_RELEASED: + dhcp->leasetime = 0; + break; + } + + return (0); +} + + +static int handle_dhcp (state_t *state, int type, const options_t *options) +{ + struct timespec ts; + interface_t *iface = state->interface; + dhcp_t *dhcp = state->dhcp; + + /* We should restart on a NAK */ + if (type == DHCP_NAK) { + logger (LOG_INFO, "received NAK: %s", dhcp->message); + logToQt(LOG_INFO, DHCP_NAK, ""); + state->state = STATE_INIT; + state->timeout = 0; + state->xid = 0; + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + + /* If we constantly get NAKS then we should slowly back off */ + if (state->nakoff > 0) { + logger (LOG_DEBUG, "sleeping for %ld seconds", + (long) state->nakoff); + ts.tv_sec = state->nakoff; + ts.tv_nsec = 0; + state->nakoff *= 2; + if (state->nakoff > NAKOFF_MAX) + state->nakoff = NAKOFF_MAX; + nanosleep (&ts, NULL); + } + + return (0); + } + + /* No NAK, so reset the backoff */ + state->nakoff = 1; + + if (type == DHCP_OFFER && state->state == STATE_INIT) { + char *addr = strdup (inet_ntoa (dhcp->address)); + if (dhcp->servername[0]) + logger (LOG_INFO, "offered %s from %s `%s'", + addr, inet_ntoa (dhcp->serveraddress), + dhcp->servername); + else + logger (LOG_INFO, "offered %s from %s", + addr, inet_ntoa (dhcp->serveraddress)); + free (addr); + + logToQt(LOG_INFO, DHCP_OFFER, ""); + +#ifdef ENABLE_INFO + if (options->test) { + write_info (iface, dhcp, options, false); + errno = 0; + return (-1); + } +#endif + + _send_message (state, DHCP_REQUEST, options); + state->state = STATE_REQUESTING; + + return (0); + } + + if (type == DHCP_OFFER) { + logger (LOG_INFO, "got subsequent offer of %s, ignoring ", + inet_ntoa (dhcp->address)); + return (0); + } + + /* We should only be dealing with acks */ + if (type != DHCP_ACK) { + logger (LOG_ERR, "%d not an ACK or OFFER", type); + return (0); + } + + /* if we are here, than we received an ACK and can go on with configuration */ + logToQt(LOG_INFO, DHCP_ACK, ""); + + switch (state->state) { + case STATE_RENEW_REQUESTED: + case STATE_REQUESTING: + case STATE_RENEWING: + case STATE_REBINDING: + break; + default: + logger (LOG_ERR, "wrong state %d", state->state); + } + + do_socket (state, SOCKET_CLOSED); + +#ifdef ENABLE_ARP + if (options->doarp && iface->previous_address.s_addr != + dhcp->address.s_addr) + { + errno = 0; + logToQt(LOG_INFO, DHCPCD_ARP_TEST, ""); + if (arp_claim (iface, dhcp->address)) { + do_socket (state, SOCKET_OPEN); + _send_message (state, DHCP_DECLINE, options); + do_socket (state, SOCKET_CLOSED); + + free_dhcp (dhcp); + memset (dhcp, 0, sizeof (*dhcp)); + state->xid = 0; + state->timeout = 0; + state->state = STATE_INIT; + + /* RFC 2131 says that we should wait for 10 seconds + * before doing anything else */ + logger (LOG_INFO, "sleeping for 10 seconds"); + ts.tv_sec = 10; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (0); + } else if (errno == EINTR) + return (0); + } +#endif + + if (options->doinform) { + if (options->request_address.s_addr != 0) + dhcp->address = options->request_address; + else + dhcp->address = iface->previous_address; + + logger (LOG_INFO, "received approval for %s", + inet_ntoa (dhcp->address)); + if (iface->previous_netmask.s_addr != dhcp->netmask.s_addr) { + add_address (iface->name, dhcp->address, + dhcp->netmask, dhcp->broadcast); + iface->previous_netmask.s_addr = dhcp->netmask.s_addr; + } + state->timeout = options->leasetime; + if (state->timeout == 0) + state->timeout = DEFAULT_LEASETIME; + state->state = STATE_INIT; + } else if (dhcp->leasetime == (unsigned) -1) { + dhcp->renewaltime = dhcp->rebindtime = dhcp->leasetime; + state->timeout = 1; /* So we wait for infinity */ + logger (LOG_INFO, "leased %s for infinity", + inet_ntoa (dhcp->address)); + state->state = STATE_BOUND; + } else { + if (! dhcp->leasetime) { + dhcp->leasetime = DEFAULT_LEASETIME; + logger(LOG_INFO, + "no lease time supplied, assuming %d seconds", + dhcp->leasetime); + } + logger (LOG_INFO, "leased %s for %u seconds", + inet_ntoa (dhcp->address), dhcp->leasetime); + + if (dhcp->rebindtime >= dhcp->leasetime) { + dhcp->rebindtime = (dhcp->leasetime * 0.875); + logger (LOG_ERR, + "rebind time greater than lease " + "time, forcing to %u seconds", + dhcp->rebindtime); + } + + if (dhcp->renewaltime > dhcp->rebindtime) { + dhcp->renewaltime = (dhcp->leasetime * 0.5); + logger (LOG_ERR, + "renewal time greater than rebind time, " + "forcing to %u seconds", + dhcp->renewaltime); + } + + if (! dhcp->renewaltime) { + dhcp->renewaltime = (dhcp->leasetime * 0.5); + logger (LOG_INFO, + "no renewal time supplied, assuming %d seconds", + dhcp->renewaltime); + } else + logger (LOG_DEBUG, "renew in %u seconds", + dhcp->renewaltime); + + if (! dhcp->rebindtime) { + dhcp->rebindtime = (dhcp->leasetime * 0.875); + logger (LOG_INFO, + "no rebind time supplied, assuming %d seconds", + dhcp->rebindtime); + } else + logger (LOG_DEBUG, "rebind in %u seconds", + dhcp->rebindtime); + + state->timeout = dhcp->renewaltime; + state->state = STATE_BOUND; + } + + state->xid = 0; + + logToQt(LOG_INFO, DHCPCD_CONFIGURE, ""); + if (configure (options, iface, dhcp, true) == -1 && + ! state->daemonised) + return (-1); + + if (! state->daemonised && options->daemonise) { + switch (daemonise (state->pidfd)) { + case 0: + state->daemonised = true; + return (0); + case -1: + return (-1); + default: + state->persistent = true; + state->forked = true; + return (-1); + } + } + + return (0); +} + +static int handle_packet (state_t *state, const options_t *options) +{ + interface_t *iface = state->interface; + bool valid = false; + int type; + struct dhcp_t *new_dhcp; + dhcpmessage_t message; + + /* Allocate our buffer space for BPF. + * We cannot do this until we have opened our socket as we don't + * know how much of a buffer we need until then. */ + if (! state->buffer) + state->buffer = xmalloc (iface->buffer_length); + state->buffer_len = iface->buffer_length; + state->buffer_pos = 0; + + /* We loop through until our buffer is empty. + * The benefit is that if we get >1 DHCP packet in our buffer and + * the first one fails for any reason, we can use the next. */ + + memset (&message, 0, sizeof (message)); + new_dhcp = xmalloc (sizeof (*new_dhcp)); + + do { + if (get_packet (iface, (unsigned char *) &message, + state->buffer, + &state->buffer_len, &state->buffer_pos) == -1) + break; + + if (state->xid != message.xid) { + logger (LOG_DEBUG, + "ignoring packet with xid 0x%x as it's not ours (0x%x)", + message.xid, state->xid); + continue; + } + + logger (LOG_DEBUG, "got a packet with xid 0x%x", message.xid); + memset (new_dhcp, 0, sizeof (*new_dhcp)); + type = parse_dhcpmessage (new_dhcp, &message); + if (type == -1) { + logger (LOG_ERR, "failed to parse packet"); + free_dhcp (new_dhcp); + /* We don't abort on this, so return zero */ + return (0); + } + + /* If we got here then the DHCP packet is valid and appears to + * be for us, so let's clear the buffer as we don't care about + * any more DHCP packets at this point. */ + valid = true; + break; + } while (state->buffer_pos != 0); + + /* No packets for us, so wait until we get one */ + if (! valid) { + free (new_dhcp); + return (0); + } + + /* new_dhcp is now our master DHCP message */ + free_dhcp (state->dhcp); + free (state->dhcp); + state->dhcp = new_dhcp; + new_dhcp = NULL; + + return (handle_dhcp (state, type, options)); +} + +int dhcp_run (const options_t *options, int *pidfd) +{ + interface_t *iface; + state_t *state = NULL; + struct pollfd fds[] = { + { -1, POLLIN, 0 }, + { -1, POLLIN, 0 } + }; + int retval = -1; + int sig; + + if (! options) + return (-1); + + /*read_interface : defined in interface.c*/ + iface = read_interface (options->interface, options->metric); + if (! iface) + goto eexit; + + state = xzalloc (sizeof (*state)); + state->dhcp = xzalloc (sizeof (*state->dhcp)); + state->pidfd = pidfd; + state->interface = iface; + + if (! client_setup (state, options)) + goto eexit; + + if (signal_init () == -1) + goto eexit; + if (signal_setup () == -1) + goto eexit; + + fds[POLLFD_SIGNAL].fd = signal_fd (); + + for (;;) { + retval = wait_for_packet (fds, state, options); + + /* We should always handle our signals first */ + if ((sig = (signal_read (&fds[POLLFD_SIGNAL]))) != -1) { + if (handle_signal (sig, state, options)) + retval = 0; + else + retval = -1; + } else if (retval == 0) + retval = handle_timeout (state, options); + else if (retval > 0 && + state->socket != SOCKET_CLOSED && + fds[POLLFD_IFACE].revents & POLLIN) + retval = handle_packet (state, options); + else if (retval == -1 && errno == EINTR) { + /* The interupt will be handled above */ + retval = 0; + } else { + logger (LOG_ERR, "poll: %s", strerror (errno)); + retval = -1; + } + + if (retval != 0) + break; + } + +eexit: + if (iface) { + do_socket (state, SOCKET_CLOSED); + drop_config (state, options); + free_route (iface->previous_routes); + free (iface->clientid); + free (iface); + } + + if (state) { + if (state->forked) + retval = 0; + + if (state->daemonised) + unlink (options->pidfile); + + free_dhcp (state->dhcp); + free (state->dhcp); + free (state->buffer); + free (state); + } + + return (retval); +} diff --git a/customdhcpcd/src/client.h b/customdhcpcd/src/client.h new file mode 100644 index 0000000..fa6ea9b --- /dev/null +++ b/customdhcpcd/src/client.h @@ -0,0 +1,35 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CLIENT_H +#define CLIENT_H + +#include "dhcpcd.h" + +int dhcp_run (const options_t *options, int *pidfd); + +#endif diff --git a/customdhcpcd/src/common.c b/customdhcpcd/src/common.c new file mode 100644 index 0000000..99471bc --- /dev/null +++ b/customdhcpcd/src/common.c @@ -0,0 +1,249 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" + +/* Handy routine to read very long lines in text files. + * This means we read the whole line and avoid any nasty buffer overflows. */ +char *get_line (FILE *fp) +{ + char *line = NULL; + char *p; + size_t len = 0; + size_t last = 0; + + if (feof (fp)) + return (NULL); + + do { + len += BUFSIZ; + line = xrealloc (line, sizeof (char) * len); + p = line + last; + memset (p, 0, BUFSIZ); + fgets (p, BUFSIZ, fp); + last += strlen (p); + } while (! feof (fp) && line[last - 1] != '\n'); + + /* Trim the trailing newline */ + if (*line && line[--last] == '\n') + line[last] = '\0'; + + return (line); +} + +/* OK, this should be in dhcpcd.c + * It's here to make dhcpcd more readable */ +#ifndef HAVE_SRANDOMDEV +void srandomdev (void) +{ + int fd; + unsigned long seed; + + fd = open ("/dev/urandom", 0); + if (fd == -1 || read (fd, &seed, sizeof (seed)) == -1) { + logger (LOG_WARNING, "Could not read from /dev/urandom: %s", + strerror (errno)); + seed = time (0); + } + if (fd >= 0) + close(fd); + + srandom (seed); +} +#endif + +/* strlcpy is nice, shame glibc does not define it */ +#ifndef HAVE_STRLCPY +size_t strlcpy (char *dst, const char *src, size_t size) +{ + const char *s = src; + size_t n = size; + + if (n && --n) + do { + if (! (*dst++ = *src++)) + break; + } while (--n); + + if (! n) { + if (size) + *dst = '\0'; + while (*src++); + } + + return (src - s - 1); +} +#endif + +/* Close our fd's */ +int close_fds (void) +{ + int fd; + + if ((fd = open ("/dev/null", O_RDWR)) == -1) { + logger (LOG_ERR, "open `/dev/null': %s", strerror (errno)); + return (-1); + } + + dup2 (fd, fileno (stdin)); + dup2 (fd, fileno (stdout)); + dup2 (fd, fileno (stderr)); + if (fd > 2) + close (fd); + return (0); +} + +int close_on_exec (int fd) +{ + int flags; + + if ((flags = fcntl (fd, F_GETFD, 0)) == -1 + || fcntl (fd, F_SETFD, flags | FD_CLOEXEC) == -1) + { + logger (LOG_ERR, "fcntl: %s", strerror (errno)); + return (-1); + } + return (0); +} + +/* Handy function to get the time. + * We only care about time advancements, not the actual time itself + * Which is why we use CLOCK_MONOTONIC, but it is not available on all + * platforms. + */ +int get_time (struct timeval *tp) +{ +#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC) + struct timespec ts; + static clockid_t posix_clock; + static int posix_clock_set = 0; + + if (! posix_clock_set) { + if (sysconf (_SC_MONOTONIC_CLOCK) >= 0) + posix_clock = CLOCK_MONOTONIC; + else + posix_clock = CLOCK_REALTIME; + posix_clock_set = 1; + } + + if (clock_gettime (posix_clock, &ts) == -1) { + logger (LOG_ERR, "clock_gettime: %s", strerror (errno)); + return (-1); + } + + tp->tv_sec = ts.tv_sec; + tp->tv_usec = ts.tv_nsec / 1000; + return (0); +#else + if (gettimeofday (tp, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (-1); + } + return (0); +#endif +} + +time_t uptime (void) +{ + struct timeval tp; + + if (get_time (&tp) == -1) + return (-1); + + return (tp.tv_sec); +} + +void writepid (int fd, pid_t pid) +{ + char spid[16]; + if (ftruncate (fd, (off_t) 0) == -1) { + logger (LOG_ERR, "ftruncate: %s", strerror (errno)); + } else { + ssize_t len; + snprintf (spid, sizeof (spid), "%u", pid); + len = pwrite (fd, spid, strlen (spid), (off_t) 0); + if (len != (ssize_t) strlen (spid)) + logger (LOG_ERR, "pwrite: %s", strerror (errno)); + } +} + +void *xmalloc (size_t s) +{ + void *value = malloc (s); + + if (value) + return (value); + + logger (LOG_ERR, "memory exhausted"); + + exit (EXIT_FAILURE); + /* NOTREACHED */ +} + +void *xzalloc (size_t s) +{ + void *value = xmalloc (s); + memset (value, 0, s); + return (value); +} + +void *xrealloc (void *ptr, size_t s) +{ + void *value = realloc (ptr, s); + + if (value) + return (value); + + logger (LOG_ERR, "memory exhausted"); + exit (EXIT_FAILURE); + /* NOTREACHED */ +} + +char *xstrdup (const char *str) +{ + char *value; + + if (! str) + return (NULL); + + if ((value = strdup (str))) + return (value); + + logger (LOG_ERR, "memory exhausted"); + exit (EXIT_FAILURE); + /* NOTREACHED */ +} diff --git a/customdhcpcd/src/common.h b/customdhcpcd/src/common.h new file mode 100644 index 0000000..46f1886 --- /dev/null +++ b/customdhcpcd/src/common.h @@ -0,0 +1,68 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef COMMON_H +#define COMMON_H + +/* string.h pulls in features.h so the below define checks work */ +#include +#include +#include + +#if __GNUC__ > 2 || defined(__INTEL_COMPILER) +# define _unused __attribute__((__unused__)) +#else +# define _unused +#endif + +#define HAVE_STRLCPY +/* Only GLIBC doesn't support strlcpy */ +#ifdef __GLIBC__ +# if ! defined(__UCLIBC__) && ! defined (__dietlibc__) +# undef HAVE_STRLCPY +size_t strlcpy (char *dst, const char *src, size_t size); +# endif +#endif + +#define HAVE_SRANDOMDEV +#if defined(__GLIBC__) || defined(__NetBSD__) +# undef HAVE_SRANDOMDEV +void srandomdev (void); +#endif + +int close_fds (void); +int close_on_exec (int fd); +char *get_line (FILE *fp); +int get_time (struct timeval *tp); +time_t uptime (void); +void writepid (int fd, pid_t pid); +void *xrealloc (void *ptr, size_t size); +void *xmalloc (size_t size); +void *xzalloc (size_t size); +char *xstrdup (const char *str); + +#endif diff --git a/customdhcpcd/src/config.h b/customdhcpcd/src/config.h new file mode 100644 index 0000000..2c0991b --- /dev/null +++ b/customdhcpcd/src/config.h @@ -0,0 +1,133 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef CONFIG_H +#define CONFIG_H + +/* You can enable/disable various chunks of optional code here. + * You would only do this to try and shrink the end binary if dhcpcd + * was running on a low memory device */ + +#define ENABLE_ARP +#define ENABLE_NTP +#define ENABLE_NIS +#define ENABLE_INFO +/* Define this to enable some compatability with 1.x and 2.x info files */ +/* #define ENABLE_INFO_COMPAT */ + +/* IPV4LL, aka ZeroConf, aka APIPA, aka RFC 3927. + * Needs ARP. */ +#define ENABLE_IPV4LL + +/* We will auto create a DUID_LLT file if it doesn't exist. + * You can always create your own DUID file that just contains the + * hex string that represents the DUID. + * See RFC 3315 for details on this. */ +#define ENABLE_DUID + +/* resolvconf is framework for multiple interfaces to manage resolv.conf */ +#define ENABLE_RESOLVCONF + +/* Some systems do not have a working fork. + * The Makefile will attempt to work it out, but if it fails to feel free to + * define it here. */ +/* #define THERE_IS_NO_FORK */ + +/* Packname name and pathname definitions. */ + +#define PACKAGE "dhcpcd" + +#define ETCDIR "/etc" +#define RESOLVFILE ETCDIR "/resolv.conf" + +#define NISFILE ETCDIR "/yp.conf" + +#define NTPFILE ETCDIR "/ntp.conf" +#define NTPDRIFTFILE ETCDIR "/ntp.drift" +#define NTPLOGFILE "/var/log/ntp.log" + +#define OPENNTPFILE ETCDIR "/ntpd.conf" + +#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh" + +#define STATEDIR "/var" +#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid" + +#ifndef INFODIR +# define INFODIR "/var/lib/dhcpcd" +#endif +#define INFOFILE INFODIR "/" PACKAGE "-%s.info" +#define DUIDFILE INFODIR "/" PACKAGE ".duid" + +/* OPENRC is Open Run Control, forked from Gentoo's baselayout package + * BSDRC is BSD style Run Control + * SLACKRC is Slackware Run Control + * SERVICE is RedHat service command + * SYSV should cover everthing else */ +#ifdef ENABLE_OPENRC +# define SERVICE "OPENRC" +# define NISSERVICE ETCDIR "/init.d/ypbind" +# define NISRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" +# define NTPSERVICE ETCDIR "/init.d/ntpd" +# define NTPRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" +#endif +#if ENABLE_BSDRC +# define SERVICE "BSDRC" +# define NISSERVICE ETCDIR "/rc.d/ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/rc.d/ntpd" +# define NTPRESTARTARGS "restart" +#endif +#if ENABLE_SLACKRC +# define SERVICE "SLACKRC" +# define NISSERVICE ETCDIR "/rc.d/rc.ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/rc.d/rc.ntpd" +# define NTPRESTARTARGS "restart" +#endif +#if ENABLE_SERVICE +# define SERVICE "SERVICE" +# define NISSERVICE "service" +# define NISRESTARTARGS "ypbind", "restart" +# define NTPSERVICE "service" +# define NTPRESTARTARGS "ntpd", "restart" +#endif +#if ENABLE_SYSV +# define SERVICE "SYSV" +# define NISSERVICE ETCDIR "/init.d/ypbind" +# define NISRESTARTARGS "restart" +# define NTPSERVICE ETCDIR "/init.d/ntpd" +# define NTPRESTARTARGS "restart" +#endif + +#ifndef NISSERVICE +# undef ENABLE_NIS +#endif +#ifndef NTPSERVICE +# undef ENABLE_NTP +#endif + +#endif diff --git a/customdhcpcd/src/configure.c b/customdhcpcd/src/configure.c new file mode 100644 index 0000000..91e3c9f --- /dev/null +++ b/customdhcpcd/src/configure.c @@ -0,0 +1,813 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include + +#include +#ifdef __linux__ +# include +#endif +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "configure.h" +#include "dhcp.h" +#ifdef ENABLE_INFO +# include "info.h" +#endif +#include "interface.h" +#include "dhcpcd.h" +#include "logger.h" +#include "signal.h" +#include "socket.h" + +#include "status.h" +#include "logwriter.h" + +static int file_in_path (const char *file) +{ + char *p = getenv ("PATH"); + char *path; + char *token; + struct stat s; + char mypath[PATH_MAX]; + int retval = -1; + + if (! p) { + errno = ENOENT; + return (-1); + } + + path = strdup (p); + p = path; + while ((token = strsep (&p, ":"))) { + snprintf (mypath, PATH_MAX, "%s/%s", token, file); + if (stat (mypath, &s) == 0) { + retval = 0; + break; + } + } + free (path); + return (retval); +} + +/* IMPORTANT: Ensure that the last parameter is NULL when calling */ +static int exec_cmd (const char *cmd, const char *args, ...) +{ + va_list va; + char **argv; + int n = 1; + int ret = 0; + pid_t pid; + sigset_t full; + sigset_t old; + + va_start (va, args); + while (va_arg (va, char *) != NULL) + n++; + va_end (va); + argv = xmalloc (sizeof (char *) * (n + 2)); + + va_start (va, args); + n = 2; + argv[0] = (char *) cmd; + argv[1] = (char *) args; + while ((argv[n] = va_arg (va, char *)) != NULL) + n++; + va_end (va); + + /* OK, we need to block signals */ + sigfillset (&full); + sigprocmask (SIG_SETMASK, &full, &old); + +#ifdef THERE_IS_NO_FORK + signal_reset (); + pid = vfork (); +#else + pid = fork(); +#endif + + switch (pid) { + case -1: + logger (LOG_ERR, "vfork: %s", strerror (errno)); + ret = -1; + break; + case 0: +#ifndef THERE_IS_NO_FORK + signal_reset (); +#endif + sigprocmask (SIG_SETMASK, &old, NULL); + if (execvp (cmd, argv) && errno != ENOENT) + logger (LOG_ERR, "error executing \"%s\": %s", + cmd, strerror (errno)); + _exit (111); + /* NOTREACHED */ + } + +#ifdef THERE_IS_NO_FORK + signal_setup (); +#endif + + /* Restore our signals */ + sigprocmask (SIG_SETMASK, &old, NULL); + + free (argv); + return (ret); +} + +static void exec_script (const char *script, const char *infofile, + const char *arg) +{ + struct stat buf; + + if (! script || ! infofile || ! arg) + return; + + if (stat (script, &buf) == -1) { + if (strcmp (script, DEFAULT_SCRIPT) != 0) + logger (LOG_ERR, "`%s': %s", script, strerror (ENOENT)); + return; + } + +#ifdef ENABLE_INFO + logger (LOG_DEBUG, "exec \"%s\" \"%s\" \"%s\"", script, infofile, arg); + exec_cmd (script, infofile, arg, (char *) NULL); +#else + logger (LOG_DEBUG, "exec \"%s\" \"\" \"%s\"", script, arg); + exec_cmd (script, "", arg, (char *) NULL); +#endif +} + +static int make_resolv (const char *ifname, const dhcp_t *dhcp) +{ + FILE *f = NULL; + address_t *address; + +#ifdef ENABLE_RESOLVCONF + char *resolvconf = NULL; + + if (file_in_path ("resolvconf") == 0) { + size_t len = strlen ("resolvconf -a ") + strlen (ifname) + 1; + resolvconf = xmalloc (sizeof (char) * len); + snprintf (resolvconf, len, "resolvconf -a %s", ifname); + if ((f = popen (resolvconf , "w"))) + logger (LOG_DEBUG, + "sending DNS information to resolvconf"); + else if (errno == EEXIST) + logger (LOG_ERR, "popen: %s", strerror (errno)); + + if (ferror (f)) + logger (LOG_ERR, "ferror"); + free (resolvconf); + } +#endif + if (! f) { + logger (LOG_DEBUG, "writing "RESOLVFILE); + if (! (f = fopen(RESOLVFILE, "w"))) + logger (LOG_ERR, "fopen `%s': %s", RESOLVFILE, strerror (errno)); + } + + if (! f) + return (-1); + + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); + if (dhcp->dnssearch) + fprintf (f, "search %s\n", dhcp->dnssearch); + else if (dhcp->dnsdomain) { + fprintf (f, "search %s\n", dhcp->dnsdomain); + } + + STAILQ_FOREACH (address, dhcp->dnsservers, entries) + fprintf (f, "nameserver %s\n", inet_ntoa (address->address)); + +#ifdef ENABLE_RESOLVCONF + if (resolvconf) + pclose (f); + else +#endif + fclose (f); + + /* Refresh the local resolver */ + res_init (); + return (0); +} + +static void restore_resolv (const char *ifname) +{ +#ifdef ENABLE_RESOLVCONF + if (file_in_path ("resolvconf") == 0) { + logger (LOG_DEBUG, "removing information from resolvconf"); + exec_cmd("resolvconf", "-d", ifname, (char *) NULL); + } +#endif +} + +static bool in_addresses (const struct address_head *addresses, + struct in_addr address) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) + if (addr->address.s_addr == address.s_addr) + return (true); + + return (false); +} + +static bool in_routes (const struct route_head *routes, route_t *route) +{ + const route_t *r; + + if (! routes) + return (false); + + STAILQ_FOREACH (r, routes, entries) + if (r->destination.s_addr == route->destination.s_addr && + r->netmask.s_addr == route->netmask.s_addr && + r->gateway.s_addr == route->gateway.s_addr) + return (true); + + return (false); +} + +#ifdef ENABLE_NTP +static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp) +{ + FILE *f; + address_t *address; + char *a; + char *line; + int tomatch = 0; + char *token; + bool ntp = false; + + STAILQ_FOREACH (address, dhcp->ntpservers, entries) + tomatch++; + + /* Check that we really need to update the servers. + * We do this because ntp has to be restarted to + * work with a changed config. */ + if (! (f = fopen (file, "r"))) { + if (errno != ENOENT) { + logger (LOG_ERR, "fopen `%s': %s", + file, strerror (errno)); + return (-1); + } + } else { + while (tomatch != 0 && (line = get_line (f))) { + struct in_addr addr; + + a = line; + token = strsep (&a, " "); + if (! token || strcmp (token, "server") != 0) + goto next; + + if ((token = strsep (&a, " \n")) == NULL) + goto next; + + if (inet_aton (token, &addr) == 1 && + in_addresses (dhcp->ntpservers, addr)) + tomatch--; + +next: + free (line); + } + fclose (f); + + /* File has the same name servers that we do, + * so no need to restart ntp */ + if (tomatch == 0) { + logger (LOG_DEBUG, "%s already configured, skipping", + file); + return (0); + } + } + + logger (LOG_DEBUG, "writing %s", file); + if (! (f = fopen (file, "w"))) { + logger (LOG_ERR, "fopen `%s': %s", file, strerror (errno)); + return (-1); + } + + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); +#ifdef NTPFILE + if (strcmp (file, NTPFILE) == 0) { + ntp = true; + fprintf (f, "restrict default noquery notrust nomodify\n"); + fprintf (f, "restrict 127.0.0.1\n"); + } +#endif + + STAILQ_FOREACH (address, dhcp->ntpservers, entries) { + a = inet_ntoa (address->address); + if (ntp) + fprintf (f, "restrict %s nomodify notrap noquery\n", a); + fprintf (f, "server %s\n", a); + } + fclose (f); + + return (1); +} + +static int make_ntp (const char *ifname, const dhcp_t *dhcp) +{ + /* On some systems we have only have one ntp service, but we don't + * know which configuration file we're using. So we need to write + * to both and restart accordingly. */ + + bool restart_ntp = false; + bool restart_openntp = false; + int retval = 0; + +#ifdef NTPFILE + if (_make_ntp (NTPFILE, ifname, dhcp) > 0) + restart_ntp = true; +#endif + +#ifdef OPENNTPFILE + if (_make_ntp (OPENNTPFILE, ifname, dhcp) > 0) + restart_openntp = true; +#endif + +#ifdef NTPSERVICE + if (restart_ntp) { +#ifdef NTPCHECK + if (system (NTPCHECK) == 0) +#endif + retval += exec_cmd (NTPSERVICE, NTPRESTARTARGS, + (char *) NULL); + } +#endif + +#if defined (NTPSERVICE) && defined (OPENNTPSERVICE) + if (restart_openntp && + (strcmp (NTPSERVICE, OPENNTPSERVICE) != 0 || ! restart_ntp)) + { +#ifdef OPENNTPCHECK + if (system (OPENNTPCHECK) == 0) +#endif + retval += exec_cmd (OPENNTPSERVICE, + OPENNTPRESTARTARGS, (char *) NULL); + } +#elif defined (OPENNTPSERVICE) && ! defined (NTPSERVICE) + if (restart_openntp) { +#ifdef OPENNTPCHECK + if (system (OPENNTPCHECK) == 0) +#endif + retval += exec_cmd (OPENNTPSERVICE, + OPENNTPRESTARTARGS, (char *) NULL); + } +#endif + + return (retval); +} +#endif + +#ifdef ENABLE_NIS +#define PREFIXSIZE 256 +static int make_nis (const char *ifname, const dhcp_t *dhcp) +{ + FILE *f; + address_t *address; + char *prefix; + + logger (LOG_DEBUG, "writing "NISFILE); + if (! (f = fopen(NISFILE, "w"))) { + logger (LOG_ERR, "fopen `%s': %s", NISFILE, strerror (errno)); + return (-1); + } + + prefix = xmalloc (sizeof (char) * PREFIXSIZE); + *prefix = '\0'; + fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); + + if (dhcp->nisdomain) { + setdomainname (dhcp->nisdomain, (int) strlen (dhcp->nisdomain)); + + if (dhcp->nisservers) + snprintf (prefix, PREFIXSIZE, "domain %s server", + dhcp->nisdomain); + else + fprintf (f, "domain %s broadcast\n", dhcp->nisdomain); + } + else + snprintf (prefix, PREFIXSIZE, "%s", "ypserver"); + + NSTAILQ_FOREACH (address, dhcp->nisservers, entries) + fprintf (f, "%s %s\n", prefix, inet_ntoa (address->address)); + + free (prefix); + fclose (f); + +#ifdef NISCHECK + if (system (NISCHECK) == 0) +#endif + exec_cmd (NISSERVICE, NISRESTARTARGS, (char *) NULL); + return (0); +} +#endif + +static char *lookuphostname (char *hostname, const dhcp_t *dhcp, + const options_t *options) +{ + union { + struct sockaddr sa; + struct sockaddr_in sin; + } su; + socklen_t salen; + char *addr; + struct addrinfo hints; + struct addrinfo *res = NULL; + int result; + char *p; + + logger (LOG_DEBUG, "Looking up hostname via DNS"); + addr = xmalloc (sizeof (char) * NI_MAXHOST); + salen = sizeof (su.sa); + memset (&su.sa, 0, salen); + su.sin.sin_family = AF_INET; + memcpy (&su.sin.sin_addr, &dhcp->address, sizeof (su.sin.sin_addr)); + + if ((result = getnameinfo (&su.sa, salen, addr, NI_MAXHOST, + NULL, 0, NI_NAMEREQD)) != 0) { + logger (LOG_ERR, + "Failed to lookup hostname via DNS: %s", + gai_strerror (result)); + free (addr); + return (NULL); + } + + /* Check for a malicious PTR record */ + memset (&hints, 0, sizeof (hints)); + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + result = getaddrinfo (addr, "0", &hints, &res); + if (res) + freeaddrinfo (res); + if (result == 0) + logger (LOG_ERR, "malicious PTR record detected"); + if (result == 0 || ! *addr) { + free (addr); + return (NULL); + } + + p = strchr (addr, '.'); + if (p) { + switch (options->dohostname) { + case 1: /* -H */ + case 4: /* -HHHH */ + break; + case 2: /* -HH */ + case 5: /* -HHHHH */ + /* Strip out the domain if it matches */ + p++; + if (*p && dhcp->dnssearch) { + char *s = xstrdup (dhcp->dnssearch); + char *sp = s; + char *t; + + while ((t = strsep (&sp, " "))) + if (strcmp (t, p) == 0) { + *--p = '\0'; + break; + } + free (s); + } else if (dhcp->dnsdomain) { + if (strcmp (dhcp->dnsdomain, p) == 0) + *--p = '\0'; + } + break; + case 3: /* -HHH */ + case 6: /* -HHHHHH */ + /* Just strip the domain */ + *p = '\0'; + break; + default: /* Too many H! */ + break; + } + } + + strlcpy (hostname, addr, MAXHOSTNAMELEN); + free (addr); + return (hostname); +} + +int configure (const options_t *options, interface_t *iface, + const dhcp_t *dhcp, bool up) +{ + route_t *route = NULL; + struct route_head *new_routes = NULL; + route_t *new_route = NULL; + char *newhostname = NULL; + char *curhostname = NULL; + int remember; +#ifdef ENABLE_IPV4LL + bool haslinklocal = false; +#endif +#ifdef THERE_IS_NO_FORK + int skip = 0; + size_t skiplen; + char *skipp; +#endif + + if (! options || ! iface || ! dhcp) + return (-1); + + if (dhcp->address.s_addr == 0) + up = 0; + + /* Remove old routes. + * Always do this as the interface may have >1 address not added by us + * so the routes we added may still exist. */ + NSTAILQ_FOREACH (route, iface->previous_routes, entries) + if ((route->destination.s_addr || options->dogateway) && + (! up || ! in_routes (dhcp->routes, route))) + del_route (iface->name, route->destination, + route->netmask, route->gateway, + options->metric); + /* If we aren't up, then reset the interface as much as we can */ + if (! up) { + if (iface->previous_routes) { + free_route (iface->previous_routes); + iface->previous_routes = NULL; + } + + /* Restore the original MTU value */ + if (iface->mtu && iface->previous_mtu != iface->mtu) { + set_mtu (iface->name, iface->mtu); + iface->previous_mtu = iface->mtu; + } + +#ifdef ENABLE_INFO + /* If we haven't created an info file, do so now */ + if (! dhcp->frominfo) + write_info (iface, dhcp, options, false); +#endif + + /* Only reset things if we had set them before */ + if (iface->previous_address.s_addr != 0) { + if (! options->keep_address) { + del_address (iface->name, + iface->previous_address, + iface->previous_netmask); + memset (&iface->previous_address, + 0, sizeof (iface->previous_address)); + memset (&iface->previous_netmask, + 0, sizeof (iface->previous_netmask)); + } + } + + restore_resolv (iface->name); + exec_script (options->script, iface->infofile, "down"); + + return (0); + } + + /* Set the MTU requested. + * If the DHCP server no longer sends one OR it's invalid then + * we restore the original MTU */ + if (options->domtu) { + unsigned short mtu = iface->mtu; + if (dhcp->mtu) + mtu = dhcp->mtu; + + if (mtu != iface->previous_mtu) { + if (set_mtu (iface->name, mtu) == 0) + iface->previous_mtu = mtu; + } + } + + /* This also changes netmask */ + if (! options->doinform || ! has_address (iface->name, dhcp->address)) + if (add_address (iface->name, dhcp->address, dhcp->netmask, + dhcp->broadcast) == -1 && errno != EEXIST) + return (false); + + /* Now delete the old address if different */ + if (iface->previous_address.s_addr != dhcp->address.s_addr && + iface->previous_address.s_addr != 0 && + ! options->keep_address) + del_address (iface->name, + iface->previous_address, iface->previous_netmask); + +#ifdef __linux__ + /* On linux, we need to change the subnet route to have our metric. */ + if (iface->previous_address.s_addr != dhcp->address.s_addr && + options->metric > 0 && + dhcp->netmask.s_addr != INADDR_BROADCAST) + { + struct in_addr td; + struct in_addr tg; + memset (&td, 0, sizeof (td)); + memset (&tg, 0, sizeof (tg)); + td.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + add_route (iface->name, td, dhcp->netmask, tg, options->metric); + del_route (iface->name, td, dhcp->netmask, tg, 0); + } +#endif + +#ifdef THERE_IS_NO_FORK + free (dhcpcd_skiproutes); + /* We can never have more than 255 routes. So we need space + * for 255 3 digit numbers and commas */ + skiplen = 255 * 4 + 1; + skipp = dhcpcd_skiproutes = xmalloc (sizeof (char) * skiplen); + *skipp = '\0'; +#endif + + /* Remember added routes */ + NSTAILQ_FOREACH (route, dhcp->routes, entries) { +#ifdef ENABLE_IPV4LL + /* Check if we have already got a link locale route dished + * out by the DHCP server */ + if (route->destination.s_addr == htonl (LINKLOCAL_ADDR) && + route->netmask.s_addr == htonl (LINKLOCAL_MASK)) + haslinklocal = true; +#endif + /* Don't set default routes if not asked to */ + if (route->destination.s_addr == 0 && + route->netmask.s_addr == 0 && + ! options->dogateway) + continue; + + remember = add_route (iface->name, route->destination, + route->netmask, route->gateway, + options->metric); + /* If we failed to add the route, we may have already added it + ourselves. If so, remember it again. */ + if (remember < 0 && in_routes (iface->previous_routes, route)) + remember = 1; + + if (remember >= 0) { + if (! new_routes) { + new_routes = xmalloc (sizeof (*new_routes)); + STAILQ_INIT (new_routes); + } + new_route = xmalloc (sizeof (route_t)); + memcpy (new_route, route, sizeof (*new_route)); + STAILQ_INSERT_TAIL (new_routes, new_route, entries); + } +#ifdef THERE_IS_NO_FORK + /* If we have daemonised yet we need to record which routes + * we failed to add so we can skip them */ + else if (! options->daemonised) { + /* We can never have more than 255 / 4 routes, + * so 3 chars is plently */ + if (*skipp) + *skipp++ = ','; + skipp += snprintf (skipp, + dhcpcd_skiproutes + skiplen - skipp, + "%d", skip); + } + skip++; +#endif + } + +#ifdef THERE_IS_NO_FORK + if (*dhcpcd_skiproutes) + *skipp = '\0'; + else { + free (dhcpcd_skiproutes); + dhcpcd_skiproutes = NULL; + } +#endif + +#ifdef ENABLE_IPV4LL + /* Ensure we always add the link local route if we got a private + * address and isn't link local itself */ + if (options->doipv4ll && + ! haslinklocal && + IN_PRIVATE (ntohl (dhcp->address.s_addr))) + { + struct in_addr dest; + struct in_addr mask; + struct in_addr gate; + + dest.s_addr = htonl (LINKLOCAL_ADDR); + mask.s_addr = htonl (LINKLOCAL_MASK); + gate.s_addr = 0; + remember = add_route (iface->name, dest, mask, gate, + options->metric); + + if (remember >= 0) { + if (! new_routes) { + new_routes = xmalloc (sizeof (*new_routes)); + STAILQ_INIT (new_routes); + } + new_route = xmalloc (sizeof (*new_route)); + new_route->destination.s_addr = dest.s_addr; + new_route->netmask.s_addr = mask.s_addr; + new_route->gateway.s_addr = gate.s_addr; + STAILQ_INSERT_TAIL (new_routes, new_route, entries); + } + } +#endif + + if (iface->previous_routes) + free_route (iface->previous_routes); + iface->previous_routes = new_routes; + + logToQt(LOG_INFO, DHCPCD_WRITE, ""); + if (options->dodns && dhcp->dnsservers) + make_resolv(iface->name, dhcp); + else + logger (LOG_DEBUG, "no dns information to write"); + +#ifdef ENABLE_NTP + if (options->dontp && dhcp->ntpservers) + make_ntp(iface->name, dhcp); +#endif + +#ifdef ENABLE_NIS + if (options->donis && (dhcp->nisservers || dhcp->nisdomain)) + make_nis(iface->name, dhcp); +#endif + + curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); + *curhostname = '\0'; + + gethostname (curhostname, MAXHOSTNAMELEN); + if (options->dohostname || + strlen (curhostname) == 0 || + strcmp (curhostname, "(none)") == 0 || + strcmp (curhostname, "localhost") == 0) + { + newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); + + if (dhcp->hostname) + strlcpy (newhostname, dhcp->hostname, MAXHOSTNAMELEN); + else + *newhostname = '\0'; + + /* Now we have made a resolv.conf we can obtain a hostname + * if we need it */ + if (! *newhostname || options->dohostname > 3) + lookuphostname (newhostname, dhcp, options); + + if (*newhostname) { + logger (LOG_INFO, "setting hostname to `%s'", + newhostname); + sethostname (newhostname, (int) strlen (newhostname)); + } + + free (newhostname); + } + + free (curhostname); + +#ifdef ENABLE_INFO + if (! dhcp->frominfo) + write_info (iface, dhcp, options, true); +#endif + + if (iface->previous_address.s_addr != dhcp->address.s_addr || + iface->previous_netmask.s_addr != dhcp->netmask.s_addr) + { + memcpy (&iface->previous_address, + &dhcp->address, sizeof (iface->previous_address)); + memcpy (&iface->previous_netmask, + &dhcp->netmask, sizeof (iface->previous_netmask)); + exec_script (options->script, iface->infofile, "new"); + } else + exec_script (options->script, iface->infofile, "up"); + + return (0); +} diff --git a/customdhcpcd/src/configure.h b/customdhcpcd/src/configure.h new file mode 100644 index 0000000..3166947 --- /dev/null +++ b/customdhcpcd/src/configure.h @@ -0,0 +1,38 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCPCONFIG_H +#define DHCPCONFIG_H + +#include "dhcpcd.h" +#include "interface.h" +#include "dhcp.h" + +int configure (const options_t *options, interface_t *iface, + const dhcp_t *dhcp, bool up); + +#endif diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd new file mode 100755 index 0000000..5ef34d0 Binary files /dev/null and b/customdhcpcd/src/customdhcpcd differ diff --git a/customdhcpcd/src/customdhcpcd.c b/customdhcpcd/src/customdhcpcd.c new file mode 100644 index 0000000..7c5e219 --- /dev/null +++ b/customdhcpcd/src/customdhcpcd.c @@ -0,0 +1,17 @@ +/* + ============================================================================ + Name : customdhcpcd.c + Author : Niklas Goby + Version : + Copyright : Your copyright notice + Description : Hello World in C, Ansi-style + ============================================================================ + */ + +#include +#include + +int main(void) { + puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */ + return EXIT_SUCCESS; +} diff --git a/customdhcpcd/src/dhcp.c b/customdhcpcd/src/dhcp.c new file mode 100644 index 0000000..f625e8f --- /dev/null +++ b/customdhcpcd/src/dhcp.c @@ -0,0 +1,933 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#include "common.h" +#include "dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" + +#ifndef STAILQ_CONCAT +#define STAILQ_CONCAT(head1, head2) do { \ + if (!STAILQ_EMPTY((head2))) { \ + *(head1)->stqh_last = (head2)->stqh_first; \ + (head1)->stqh_last = (head2)->stqh_last; \ + STAILQ_INIT((head2)); \ + } \ +} while (0) +#endif + +typedef struct message { + int value; + const char *name; +} dhcp_message_t; + +static dhcp_message_t dhcp_messages[] = { + { DHCP_DISCOVER, "DHCP_DISCOVER" }, + { DHCP_OFFER, "DHCP_OFFER" }, + { DHCP_REQUEST, "DHCP_REQUEST" }, + { DHCP_DECLINE, "DHCP_DECLINE" }, + { DHCP_ACK, "DHCP_ACK" }, + { DHCP_NAK, "DHCP_NAK" }, + { DHCP_RELEASE, "DHCP_RELEASE" }, + { DHCP_INFORM, "DHCP_INFORM" }, + { -1, NULL } +}; + +static const char *dhcp_message (int type) +{ + dhcp_message_t *d; + for (d = dhcp_messages; d->name; d++) + if (d->value == type) + return (d->name); + + return (NULL); +} + +ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, + uint32_t xid, char type, const options_t *options) +{ + struct udp_dhcp_packet *packet; + dhcpmessage_t *message; + unsigned char *m; + unsigned char *p; + unsigned char *n_params = NULL; + size_t l; + struct in_addr from; + struct in_addr to; + time_t up = uptime() - iface->start_uptime; + uint32_t ul; + uint16_t sz; + size_t message_length; + ssize_t retval; + + if (!iface || !options || !dhcp) + return -1; + + memset (&from, 0, sizeof (from)); + memset (&to, 0, sizeof (to)); + + if (type == DHCP_RELEASE) + to.s_addr = dhcp->serveraddress.s_addr; + + message = xzalloc (sizeof (*message)); + m = (unsigned char *) message; + p = (unsigned char *) &message->options; + + if ((type == DHCP_INFORM || + type == DHCP_RELEASE || + type == DHCP_REQUEST) && + ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) + { + message->ciaddr = iface->previous_address.s_addr; + from.s_addr = iface->previous_address.s_addr; + + /* Just incase we haven't actually configured the address yet */ + if (type == DHCP_INFORM && iface->previous_address.s_addr == 0) + message->ciaddr = dhcp->address.s_addr; + + /* Zero the address if we're currently on a different subnet */ + if (type == DHCP_REQUEST && + iface->previous_netmask.s_addr != dhcp->netmask.s_addr) + message->ciaddr = from.s_addr = 0; + + if (from.s_addr != 0) + to.s_addr = dhcp->serveraddress.s_addr; + } + + message->op = DHCP_BOOTREQUEST; + message->hwtype = iface->family; + switch (iface->family) { + case ARPHRD_ETHER: + case ARPHRD_IEEE802: + message->hwlen = ETHER_ADDR_LEN; + memcpy (&message->chaddr, &iface->hwaddr, + ETHER_ADDR_LEN); + break; + case ARPHRD_IEEE1394: + case ARPHRD_INFINIBAND: + message->hwlen = 0; + if (message->ciaddr == 0) + message->flags = htons (BROADCAST_FLAG); + break; + default: + logger (LOG_ERR, "dhcp: unknown hardware type %d", + iface->family); + } + + if (up < 0 || up > (time_t) UINT16_MAX) + message->secs = htons ((uint16_t) UINT16_MAX); + else + message->secs = htons (up); + message->xid = xid; + message->cookie = htonl (MAGIC_COOKIE); + + *p++ = DHCP_MESSAGETYPE; + *p++ = 1; + *p++ = type; + + if (type == DHCP_REQUEST) { + *p++ = DHCP_MAXMESSAGESIZE; + *p++ = 2; + sz = get_mtu (iface->name); + if (sz < MTU_MIN) { + if (set_mtu (iface->name, MTU_MIN) == 0) + sz = MTU_MIN; + } + sz = htons (sz); + memcpy (p, &sz, 2); + p += 2; + } + + *p++ = DHCP_CLIENTID; + *p++ = iface->clientid_len; + memcpy (p, iface->clientid, iface->clientid_len); + p+= iface->clientid_len; + + if (type != DHCP_DECLINE && type != DHCP_RELEASE) { + if (options->userclass_len > 0) { + *p++ = DHCP_USERCLASS; + *p++ = options->userclass_len; + memcpy (p, &options->userclass, options->userclass_len); + p += options->userclass_len; + } + + if (*options->classid > 0) { + *p++ = DHCP_CLASSID; + *p++ = l = strlen (options->classid); + memcpy (p, options->classid, l); + p += l; + } + } + + if (type == DHCP_DISCOVER || type == DHCP_REQUEST) { +#define PUTADDR(_type, _val) { \ + *p++ = _type; \ + *p++ = 4; \ + memcpy (p, &_val.s_addr, 4); \ + p += 4; \ +} + if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) + logger (LOG_ERR, + "cannot request a link local address"); + else { + if (dhcp->address.s_addr && + dhcp->address.s_addr != + iface->previous_address.s_addr) + { + PUTADDR (DHCP_ADDRESS, dhcp->address); + if (dhcp->serveraddress.s_addr) + PUTADDR (DHCP_SERVERIDENTIFIER, + dhcp->serveraddress); + } + } +#undef PUTADDR + + if (options->leasetime != 0) { + *p++ = DHCP_LEASETIME; + *p++ = 4; + ul = htonl (options->leasetime); + memcpy (p, &ul, 4); + p += 4; + } + } + + if (type == DHCP_DISCOVER || + type == DHCP_INFORM || + type == DHCP_REQUEST) + { + if (options->hostname[0]) { + if (options->fqdn == FQDN_DISABLE) { + *p++ = DHCP_HOSTNAME; + *p++ = l = strlen (options->hostname); + memcpy (p, options->hostname, l); + p += l; + } else { + /* Draft IETF DHC-FQDN option (81) */ + *p++ = DHCP_FQDN; + *p++ = (l = strlen (options->hostname)) + 3; + /* Flags: 0000NEOS + * S: 1 => Client requests Server to update + * a RR in DNS as well as PTR + * O: 1 => Server indicates to client that + * DNS has been updated + * E: 1 => Name data is DNS format + * N: 1 => Client requests Server to not + * update DNS + */ + *p++ = options->fqdn & 0x9; + *p++ = 0; /* from server for PTR RR */ + *p++ = 0; /* from server for A RR if S=1 */ + memcpy (p, options->hostname, l); + p += l; + } + } + + *p++ = DHCP_PARAMETERREQUESTLIST; + n_params = p; + *p++ = 0; + /* Only request DNSSERVER in discover to keep the packets small. + * RFC2131 Section 3.5 states that the REQUEST must include the + * list from the DISCOVER message, so I think this is ok. */ + + if (type == DHCP_DISCOVER && ! options->test) + *p++ = DHCP_DNSSERVER; + else { + if (type != DHCP_INFORM) { + *p++ = DHCP_RENEWALTIME; + *p++ = DHCP_REBINDTIME; + } + *p++ = DHCP_NETMASK; + *p++ = DHCP_BROADCAST; + + /* -S means request CSR and MSCSR + * -SS means only request MSCSR incase DHCP message + * is too big */ + if (options->domscsr < 2) + *p++ = DHCP_CSR; + if (options->domscsr > 0) + *p++ = DHCP_MSCSR; + /* RFC 3442 states classless static routes should be + * before routers and static routes as classless static + * routes override them both */ + *p++ = DHCP_STATICROUTE; + *p++ = DHCP_ROUTERS; + *p++ = DHCP_HOSTNAME; + *p++ = DHCP_DNSSEARCH; + *p++ = DHCP_DNSDOMAIN; + *p++ = DHCP_DNSSERVER; +#ifdef ENABLE_NIS + *p++ = DHCP_NISDOMAIN; + *p++ = DHCP_NISSERVER; +#endif +#ifdef ENABLE_NTP + *p++ = DHCP_NTPSERVER; +#endif + *p++ = DHCP_MTU; +#ifdef ENABLE_INFO + *p++ = DHCP_ROOTPATH; + *p++ = DHCP_SIPSERVER; +#endif + } + + *n_params = p - n_params - 1; + } + *p++ = DHCP_END; + +#ifdef BOOTP_MESSAGE_LENTH_MIN + /* Some crappy DHCP servers think they have to obey the BOOTP minimum + * message length. + * They are wrong, but we should still cater for them. */ + while (p - m < BOOTP_MESSAGE_LENTH_MIN) + *p++ = DHCP_PAD; +#endif + + message_length = p - m; + + packet = xzalloc (sizeof (*packet)); + make_dhcp_packet (packet, (unsigned char *) message, message_length, + from, to); + free (message); + + logger (LOG_DEBUG, "sending %s with xid 0x%x", + dhcp_message (type), xid); + retval = send_packet (iface, ETHERTYPE_IP, (unsigned char *) packet, + message_length + + sizeof (packet->ip) + sizeof (packet->udp)); + free (packet); + return (retval); +} + +/* Decode an RFC3397 DNS search order option into a space + * seperated string. Returns length of string (including + * terminating zero) or zero on error. out may be NULL + * to just determine output length. */ +static unsigned int decode_search (const unsigned char *p, int len, char *out) +{ + const unsigned char *r, *q = p; + unsigned int count = 0, l, hops; + + while (q - p < len) { + r = NULL; + hops = 0; + while ((l = *q++)) { + unsigned int label_type = l & 0xc0; + if (label_type == 0x80 || label_type == 0x40) + return 0; + else if (label_type == 0xc0) { /* pointer */ + l = (l & 0x3f) << 8; + l |= *q++; + + /* save source of first jump. */ + if (!r) + r = q; + + hops++; + if (hops > 255) + return 0; + + q = p + l; + if (q - p >= len) + return 0; + } else { + /* straightforward name segment, add with '.' */ + count += l + 1; + if (out) { + memcpy (out, q, l); + out += l; + *out++ = '.'; + } + q += l; + } + } + + /* change last dot to space */ + if (out) + *(out - 1) = ' '; + + if (r) + q = r; + } + + /* change last space to zero terminator */ + if (out) + *(out - 1) = 0; + + return count; +} + +/* Add our classless static routes to the routes variable + * and return the last route set */ +static struct route_head *decode_CSR (const unsigned char *p, int len) +{ + const unsigned char *q = p; + unsigned int cidr; + unsigned int ocets; + struct route_head *routes = NULL; + route_t *route; + + /* Minimum is 5 -first is CIDR and a router length of 4 */ + if (len < 5) + return NULL; + + while (q - p < len) { + if (! routes) { + routes = xmalloc (sizeof (*routes)); + STAILQ_INIT (routes); + } + + route = xzalloc (sizeof (*route)); + + cidr = *q++; + if (cidr > 32) { + logger (LOG_ERR, + "invalid CIDR of %d in classless static route", + cidr); + free_route (routes); + return (NULL); + } + ocets = (cidr + 7) / 8; + + if (ocets > 0) { + memcpy (&route->destination.s_addr, q, (size_t) ocets); + q += ocets; + } + + /* Now enter the netmask */ + if (ocets > 0) { + memset (&route->netmask.s_addr, 255, (size_t) ocets - 1); + memset ((unsigned char *) &route->netmask.s_addr + + (ocets - 1), + (256 - (1 << (32 - cidr) % 8)), 1); + } + + /* Finally, snag the router */ + memcpy (&route->gateway.s_addr, q, 4); + q += 4; + + STAILQ_INSERT_TAIL (routes, route, entries); + } + + return (routes); +} + +void free_dhcp (dhcp_t *dhcp) +{ + if (! dhcp) + return; + + free_route (dhcp->routes); + free (dhcp->hostname); + free_address (dhcp->dnsservers); + free (dhcp->dnsdomain); + free (dhcp->dnssearch); + free_address (dhcp->ntpservers); + free (dhcp->nisdomain); + free_address (dhcp->nisservers); + free (dhcp->rootpath); + free (dhcp->sipservers); + if (dhcp->fqdn) { + free (dhcp->fqdn->name); + free (dhcp->fqdn); + } +} + + +static bool dhcp_add_address (struct address_head **addresses, + const unsigned char *data, + int length) +{ + int i; + address_t *address; + + for (i = 0; i < length; i += 4) { + /* Sanity check */ + if (i + 4 > length) { + logger (LOG_ERR, "invalid address length"); + return (false); + } + + if (*addresses == NULL) { + *addresses = xmalloc (sizeof (**addresses)); + STAILQ_INIT (*addresses); + } + address = xzalloc (sizeof (*address)); + memcpy (&address->address.s_addr, data + i, 4); + STAILQ_INSERT_TAIL (*addresses, address, entries); + } + + return (true); +} + +#ifdef ENABLE_INFO +static char *decode_sipservers (const unsigned char *data, int length) +{ + char *sip = NULL; + char *p; + const char encoding = *data++; + struct in_addr addr; + size_t len; + + length--; + + switch (encoding) { + case 0: + if ((len = decode_search (data, length, NULL)) > 0) { + sip = xmalloc (len); + decode_search (data, length, sip); + } + break; + + case 1: + if (length == 0 || length % 4 != 0) { + logger (LOG_ERR, + "invalid length %d for option 120", + length + 1); + break; + } + len = ((length / 4) * (4 * 4)) + 1; + sip = p = xmalloc (len); + while (length != 0) { + memcpy (&addr.s_addr, data, 4); + data += 4; + p += snprintf (p, len - (p - sip), + "%s ", inet_ntoa (addr)); + length -= 4; + } + *--p = '\0'; + break; + + default: + logger (LOG_ERR, "unknown sip encoding %d", encoding); + break; + } + + return (sip); +} +#endif + +/* This calculates the netmask that we should use for static routes. + * This IS different from the calculation used to calculate the netmask + * for an interface address. */ +static uint32_t route_netmask (uint32_t ip_in) +{ + /* used to be unsigned long - check if error */ + uint32_t p = ntohl (ip_in); + uint32_t t; + + if (IN_CLASSA (p)) + t = ~IN_CLASSA_NET; + else { + if (IN_CLASSB (p)) + t = ~IN_CLASSB_NET; + else { + if (IN_CLASSC (p)) + t = ~IN_CLASSC_NET; + else + t = 0; + } + } + + while (t & p) + t >>= 1; + + return (htonl (~t)); +} + +static struct route_head *decode_routes (const unsigned char *data, int length) +{ + int i; + struct route_head *head = NULL; + route_t *route; + + for (i = 0; i < length; i += 8) { + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + route = xzalloc (sizeof (*route)); + memcpy (&route->destination.s_addr, data + i, 4); + memcpy (&route->gateway.s_addr, data + i + 4, 4); + route->netmask.s_addr = + route_netmask (route->destination.s_addr); + STAILQ_INSERT_TAIL (head, route, entries); + } + + return (head); +} + +static struct route_head *decode_routers (const unsigned char *data, int length) +{ + int i; + struct route_head *head = NULL; + route_t *route = NULL; + + for (i = 0; i < length; i += 4) { + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + route = xzalloc (sizeof (*route)); + memcpy (&route->gateway.s_addr, data + i, 4); + STAILQ_INSERT_TAIL (head, route, entries); + } + + return (head); +} + +int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message) +{ + const unsigned char *p = message->options; + const unsigned char *end = p; /* Add size later for gcc-3 issue */ + unsigned char option; + unsigned char length; + unsigned int len = 0; + int retval = -1; + struct timeval tv; + struct route_head *routers = NULL; + struct route_head *routes = NULL; + struct route_head *csr = NULL; + struct route_head *mscsr = NULL; + bool in_overload = false; + bool parse_sname = false; + bool parse_file = false; + + end += sizeof (message->options); + + if (gettimeofday (&tv, NULL) == -1) { + logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); + return (-1); + } + + dhcp->address.s_addr = message->yiaddr; + dhcp->leasedfrom = tv.tv_sec; + dhcp->frominfo = false; + dhcp->address.s_addr = message->yiaddr; + strlcpy (dhcp->servername, (char *) message->servername, + sizeof (dhcp->servername)); + +#define LEN_ERR \ + { \ + logger (LOG_ERR, "invalid length %d for option %d", \ + length, option); \ + p += length; \ + continue; \ + } + +parse_start: + while (p < end) { + option = *p++; + if (! option) + continue; + + if (option == DHCP_END) + goto eexit; + + length = *p++; + + if (option != DHCP_PAD && length == 0) { + logger (LOG_ERR, "option %d has zero length", option); + retval = -1; + goto eexit; + } + + if (p + length >= end) { + logger (LOG_ERR, "dhcp option exceeds message length"); + retval = -1; + goto eexit; + } + + switch (option) { + case DHCP_MESSAGETYPE: + retval = (int) *p; + p += length; + continue; + + default: + if (length == 0) { + logger (LOG_DEBUG, + "option %d has zero length, skipping", + option); + continue; + } + } + +#define LENGTH(_length) \ + if (length != _length) \ + LEN_ERR; +#define MIN_LENGTH(_length) \ + if (length < _length) \ + LEN_ERR; +#define MULT_LENGTH(_mult) \ + if (length % _mult != 0) \ + LEN_ERR; +#define GET_UINT8(_val) \ + LENGTH (sizeof (uint8_t)); \ + memcpy (&_val, p, sizeof (uint8_t)); +#define GET_UINT16(_val) \ + LENGTH (sizeof (uint16_t)); \ + memcpy (&_val, p, sizeof (uint16_t)); +#define GET_UINT32(_val) \ + LENGTH (sizeof (uint32_t)); \ + memcpy (&_val, p, sizeof (uint32_t)); +#define GET_UINT16_H(_val) \ + GET_UINT16 (_val); \ + _val = ntohs (_val); +#define GET_UINT32_H(_val) \ + GET_UINT32 (_val); \ + _val = ntohl (_val); + + switch (option) { + case DHCP_ADDRESS: + GET_UINT32 (dhcp->address.s_addr); + break; + case DHCP_NETMASK: + GET_UINT32 (dhcp->netmask.s_addr); + break; + case DHCP_BROADCAST: + GET_UINT32 (dhcp->broadcast.s_addr); + break; + case DHCP_SERVERIDENTIFIER: + GET_UINT32 (dhcp->serveraddress.s_addr); + break; + case DHCP_LEASETIME: + GET_UINT32_H (dhcp->leasetime); + break; + case DHCP_RENEWALTIME: + GET_UINT32_H (dhcp->renewaltime); + break; + case DHCP_REBINDTIME: + GET_UINT32_H (dhcp->rebindtime); + break; + case DHCP_MTU: + GET_UINT16_H (dhcp->mtu); + /* Minimum legal mtu is 68 accoridng to + * RFC 2132. In practise it's 576 which is the + * minimum maximum message size. */ + if (dhcp->mtu < MTU_MIN) { + logger (LOG_DEBUG, + "MTU %d is too low, minimum is %d; ignoring", + dhcp->mtu, MTU_MIN); + dhcp->mtu = 0; + } + break; + +#undef GET_UINT32_H +#undef GET_UINT32 +#undef GET_UINT16_H +#undef GET_UINT16 +#undef GET_UINT8 + +#define GETSTR(_var) { \ + MIN_LENGTH (sizeof (char)); \ + if (_var) free (_var); \ + _var = xmalloc ((size_t) length + 1); \ + memcpy (_var, p, (size_t) length); \ + memset (_var + length, 0, 1); \ +} + case DHCP_HOSTNAME: + GETSTR (dhcp->hostname); + break; + case DHCP_DNSDOMAIN: + GETSTR (dhcp->dnsdomain); + break; + case DHCP_MESSAGE: + GETSTR (dhcp->message); + break; +#ifdef ENABLE_INFO + case DHCP_ROOTPATH: + GETSTR (dhcp->rootpath); + break; +#endif +#ifdef ENABLE_NIS + case DHCP_NISDOMAIN: + GETSTR (dhcp->nisdomain); + break; +#endif +#undef GETSTR + +#define GETADDR(_var) \ + MULT_LENGTH (4); \ + if (! dhcp_add_address (&_var, p, length)) \ + { \ + retval = -1; \ + goto eexit; \ + } + case DHCP_DNSSERVER: + GETADDR (dhcp->dnsservers); + break; +#ifdef ENABLE_NTP + case DHCP_NTPSERVER: + GETADDR (dhcp->ntpservers); + break; +#endif +#ifdef ENABLE_NIS + case DHCP_NISSERVER: + GETADDR (dhcp->nisservers); + break; +#endif +#undef GETADDR + + case DHCP_DNSSEARCH: + MIN_LENGTH (1); + free (dhcp->dnssearch); + len = decode_search (p, length, NULL); + if (len > 0) { + dhcp->dnssearch = xmalloc (len); + decode_search (p, length, + dhcp->dnssearch); + } + break; + + case DHCP_CSR: + MIN_LENGTH (5); + free_route (csr); + csr = decode_CSR (p, length); + break; + + case DHCP_MSCSR: + MIN_LENGTH (5); + free_route (mscsr); + mscsr = decode_CSR (p, length); + break; + +#ifdef ENABLE_INFO + case DHCP_SIPSERVER: + free (dhcp->sipservers); + dhcp->sipservers = decode_sipservers (p,length); + break; +#endif + + case DHCP_STATICROUTE: + MULT_LENGTH (8); + free_route (routes); + routes = decode_routes (p, length); + break; + + case DHCP_ROUTERS: + MULT_LENGTH (4); + free_route (routers); + routers = decode_routers (p, length); + break; + + case DHCP_OPTIONSOVERLOADED: + LENGTH (1); + /* The overloaded option in an overloaded option + * should be ignored, overwise we may get an + * infinite loop */ + if (! in_overload) { + if (*p & 1) + parse_file = true; + if (*p & 2) + parse_sname = true; + } + break; + + case DHCP_FQDN: + /* We ignore replies about FQDN */ + break; + +#undef LENGTH +#undef MIN_LENGTH +#undef MULT_LENGTH + + default: + logger (LOG_DEBUG, + "no facility to parse DHCP code %u", + option); + break; + } + + p += length; + } + +eexit: + /* We may have options overloaded, so go back and grab them */ + if (parse_file) { + parse_file = false; + p = message->bootfile; + end = p + sizeof (message->bootfile); + in_overload = true; + goto parse_start; + } else if (parse_sname) { + parse_sname = false; + p = message->servername; + end = p + sizeof (message->servername); + memset (dhcp->servername, 0, sizeof (dhcp->servername)); + in_overload = true; + goto parse_start; + } + + /* Fill in any missing fields */ + if (! dhcp->netmask.s_addr) + dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); + if (! dhcp->broadcast.s_addr) + dhcp->broadcast.s_addr = dhcp->address.s_addr | + ~dhcp->netmask.s_addr; + + /* If we have classess static routes then we discard + * static routes and routers according to RFC 3442 */ + if (csr) { + dhcp->routes = csr; + free_route (mscsr); + free_route (routers); + free_route (routes); + } else if (mscsr) { + dhcp->routes = mscsr; + free_route (routers); + free_route (routes); + } else { + /* Ensure that we apply static routes before routers */ + if (! routes) + routes = routers; + else if (routers) + STAILQ_CONCAT (routes, routers); + dhcp->routes = routes; + } + + return (retval); +} diff --git a/customdhcpcd/src/dhcp.h b/customdhcpcd/src/dhcp.h new file mode 100644 index 0000000..ef97b75 --- /dev/null +++ b/customdhcpcd/src/dhcp.h @@ -0,0 +1,215 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCP_H +#define DHCP_H + +#include +#include +#include +#include +#include + +#include "dhcpcd.h" +#include "interface.h" + +/* Max MTU - defines dhcp option length */ +#define MTU_MAX 1500 +#define MTU_MIN 576 + +/* UDP port numbers for DHCP */ +#define DHCP_SERVER_PORT 67 +#define DHCP_CLIENT_PORT 68 + +#define MAGIC_COOKIE 0x63825363 +#define BROADCAST_FLAG 0x8000 + +/* DHCP message OP code */ +#define DHCP_BOOTREQUEST 1 +#define DHCP_BOOTREPLY 2 + +/* DHCP message type */ +#define DHCP_DISCOVER 1 +#define DHCP_OFFER 2 +#define DHCP_REQUEST 3 +#define DHCP_DECLINE 4 +#define DHCP_ACK 5 +#define DHCP_NAK 6 +#define DHCP_RELEASE 7 +#define DHCP_INFORM 8 + +/* DHCP options */ +enum DHCP_OPTIONS +{ + DHCP_PAD = 0, + DHCP_NETMASK = 1, + DHCP_TIMEROFFSET = 2, + DHCP_ROUTERS = 3, + DHCP_TIMESERVER = 4, + DHCP_NAMESERVER = 5, + DHCP_DNSSERVER = 6, + DHCP_LOGSERVER = 7, + DHCP_COOKIESERVER = 8, + DHCP_HOSTNAME = 12, + DHCP_DNSDOMAIN = 15, + DHCP_ROOTPATH = 17, + DHCP_DEFAULTIPTTL = 23, + DHCP_MTU = 26, + DHCP_BROADCAST = 28, + DHCP_MASKDISCOVERY = 29, + DHCP_ROUTERDISCOVERY = 31, + DHCP_STATICROUTE = 33, + DHCP_NISDOMAIN = 40, + DHCP_NISSERVER = 41, + DHCP_NTPSERVER = 42, + DHCP_ADDRESS = 50, + DHCP_LEASETIME = 51, + DHCP_OPTIONSOVERLOADED = 52, + DHCP_MESSAGETYPE = 53, + DHCP_SERVERIDENTIFIER = 54, + DHCP_PARAMETERREQUESTLIST = 55, + DHCP_MESSAGE = 56, + DHCP_MAXMESSAGESIZE = 57, + DHCP_RENEWALTIME = 58, + DHCP_REBINDTIME = 59, + DHCP_CLASSID = 60, + DHCP_CLIENTID = 61, + DHCP_USERCLASS = 77, /* RFC 3004 */ + DHCP_FQDN = 81, + DHCP_DNSSEARCH = 119, /* RFC 3397 */ + DHCP_SIPSERVER = 120, /* RFC 3361 */ + DHCP_CSR = 121, /* RFC 3442 */ + DHCP_MSCSR = 249, /* MS code for RFC 3442 */ + DHCP_END = 255 +}; + +/* SetFQDNHostName values - lsnybble used in flags + * byte (see buildmsg.c), hsnybble to create order + * and to allow 0x00 to mean disable + */ +enum FQQN { + FQDN_DISABLE = 0x00, + FQDN_NONE = 0x18, + FQDN_PTR = 0x20, + FQDN_BOTH = 0x31 +}; + +typedef struct fqdn_t +{ + uint8_t flags; + uint8_t r1; + uint8_t r2; + char *name; +} fqdn_t; + +typedef struct dhcp_t +{ + char version[11]; + + struct in_addr serveraddress; + char serverhw[IF_NAMESIZE]; + char servername[64]; + + struct in_addr address; + struct in_addr netmask; + struct in_addr broadcast; + unsigned short mtu; + + uint32_t leasedfrom; + uint32_t leasetime; + uint32_t renewaltime; + uint32_t rebindtime; + + struct route_head *routes; + + char *hostname; + fqdn_t *fqdn; + + struct address_head *dnsservers; + char *dnsdomain; + char *dnssearch; + + struct address_head *ntpservers; + + struct address_head *nisservers; + char *nisdomain; + + char *sipservers; + + char *message; + char *rootpath; + + bool frominfo; +} dhcp_t; + +/* Sizes for DHCP options */ +#define DHCP_CHADDR_LEN 16 +#define SERVERNAME_LEN 64 +#define BOOTFILE_LEN 128 +#define DHCP_UDP_LEN (20 + 8) +#define DHCP_BASE_LEN (4 + 4 + 2 + 2 + 4 + 4 + 4 + 4 + 4) +#define DHCP_RESERVE_LEN (4 + 4 + 4 + 4 + 2) +#define DHCP_FIXED_LEN (DHCP_BASE_LEN + DHCP_CHADDR_LEN + \ + + SERVERNAME_LEN + BOOTFILE_LEN) +#define DHCP_OPTION_LEN (MTU_MAX - DHCP_FIXED_LEN - DHCP_UDP_LEN \ + - DHCP_RESERVE_LEN) + +/* Some crappy DHCP servers require the BOOTP minimum length */ +#define BOOTP_MESSAGE_LENTH_MIN 300 + +typedef struct dhcpmessage_t +{ + unsigned char op; /* message type */ + unsigned char hwtype; /* hardware address type */ + unsigned char hwlen; /* hardware address length */ + unsigned char hwopcount; /* should be zero in client message */ + uint32_t xid; /* transaction id */ + uint16_t secs; /* elapsed time in sec. from boot */ + uint16_t flags; + uint32_t ciaddr; /* (previously allocated) client IP */ + uint32_t yiaddr; /* 'your' client IP address */ + uint32_t siaddr; /* should be zero in client's messages */ + uint32_t giaddr; /* should be zero in client's messages */ + unsigned char chaddr[DHCP_CHADDR_LEN]; /* client's hardware address */ + unsigned char servername[SERVERNAME_LEN]; /* server host name */ + unsigned char bootfile[BOOTFILE_LEN]; /* boot file name */ + uint32_t cookie; + unsigned char options[DHCP_OPTION_LEN]; /* message options - cookie */ +} dhcpmessage_t; + +struct udp_dhcp_packet +{ + struct ip ip; + struct udphdr udp; + dhcpmessage_t dhcp; +}; + +ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, + uint32_t xid, char type, const options_t *options); +void free_dhcp (dhcp_t *dhcp); +int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message); +#endif diff --git a/customdhcpcd/src/dhcpcd.c b/customdhcpcd/src/dhcpcd.c new file mode 100644 index 0000000..9f91239 --- /dev/null +++ b/customdhcpcd/src/dhcpcd.c @@ -0,0 +1,673 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "client.h" +#include "dhcpcd.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" +#include "version.h" + +#include "logwriter.h" +#include "status.h" + +static int doversion = 0; +static int dohelp = 0; +#define EXTRA_OPTS +static const struct option longopts[] = { + {"arp", no_argument, NULL, 'a'}, + {"script", required_argument, NULL, 'c'}, + {"debug", no_argument, NULL, 'd'}, + {"hostname", optional_argument, NULL, 'h'}, + {"classid", optional_argument, NULL, 'i'}, + {"release", no_argument, NULL, 'k'}, + {"leasetime", required_argument, NULL, 'l'}, + {"metric", required_argument, NULL, 'm'}, + {"renew", no_argument, NULL, 'n'}, + {"persistent", no_argument, NULL, 'p'}, + {"qtsocketaddress", required_argument, NULL, 'q'}, + {"inform", optional_argument, NULL, 's'}, + {"request", optional_argument, NULL, 'r'}, + {"timeout", required_argument, NULL, 't'}, + {"userclass", required_argument, NULL, 'u'}, + {"exit", no_argument, NULL, 'x'}, + {"lastlease", no_argument, NULL, 'E'}, + {"fqdn", required_argument, NULL, 'F'}, + {"nogateway", no_argument, NULL, 'G'}, + {"sethostname", no_argument, NULL, 'H'}, + {"clientid", optional_argument, NULL, 'I'}, + {"noipv4ll", no_argument, NULL, 'L'}, + {"nomtu", no_argument, NULL, 'M'}, + {"nontp", no_argument, NULL, 'N'}, + {"nodns", no_argument, NULL, 'R'}, + {"msscr", no_argument, NULL, 'S'}, + {"test", no_argument, NULL, 'T'}, + {"nonis", no_argument, NULL, 'Y'}, + {"help", no_argument, &dohelp, 1}, + {"version", no_argument, &doversion, 1}, +#ifdef THERE_IS_NO_FORK + {"daemonised", no_argument, NULL, 'f'}, + {"skiproutes", required_argument, NULL, 'g'}, +#endif + {NULL, 0, NULL, 0} +}; + +#ifdef THERE_IS_NO_FORK +char dhcpcd[PATH_MAX]; +char **dhcpcd_argv = NULL; +int dhcpcd_argc = 0; +char *dhcpcd_skiproutes = NULL; +#undef EXTRA_OPTS +#define EXTRA_OPTS "fg:" +#endif + +static int atoint (const char *s) +{ + char *t; + long n; + + errno = 0; + n = strtol (s, &t, 0); + if ((errno != 0 && n == 0) || s == t || + (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) + { + logger (LOG_ERR, "`%s' out of range", s); + return (-1); + } + + return ((int) n); +} + +static pid_t read_pid (const char *pidfile) +{ + FILE *fp; + pid_t pid = 0; + + if ((fp = fopen (pidfile, "r")) == NULL) { + errno = ENOENT; + return 0; + } + + fscanf (fp, "%d", &pid); + fclose (fp); + + + return (pid); +} + +static void usage (void) +{ + printf ("usage: "PACKAGE" [-adknpEGHMNRSTY] [-c script] [-h hostname] [-i classID]\n" + " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" + " [-t timeout] [-u userclass] [-F none | ptr | both]\n" + " [-I clientID] [-q qtsocketaddress] \n"); +} + + +int main (int argc, char **argv) +{ + options_t *options; + int userclasses = 0; + int opt; + int option_index = 0; + char *prefix; + pid_t pid; + int debug = 0; + int i; + int pidfd = -1; + int sig = 0; + int retval = EXIT_FAILURE; + + /* Close any un-needed fd's */ + for (i = getdtablesize() - 1; i >= 3; --i) + close (i); + + openlog (PACKAGE, LOG_PID, LOG_LOCAL0); + + options = xzalloc (sizeof (*options)); + options->script = (char *) DEFAULT_SCRIPT; + snprintf (options->classid, CLASS_ID_MAX_LEN, "%s %s", + PACKAGE, VERSION); + + options->doarp = true; + options->dodns = true; + options->domtu = true; + options->donis = true; + options->dontp = true; + options->dogateway = true; + options->daemonise = true; + options->doinform = false; + options->doipv4ll = true; + options->doduid = true; + options->timeout = DEFAULT_TIMEOUT; + /* added by Niklas Goby, additional field, storing the socket address path for + * communicating with Qt "server" + * defined in dhcpcd.h */ + strcpy(options->qtsocketaddress, DEFAULT_QTSOCKETADDRESS); + + gethostname (options->hostname, sizeof (options->hostname)); + if (strcmp (options->hostname, "(none)") == 0 || + strcmp (options->hostname, "localhost") == 0) + memset (options->hostname, 0, sizeof (options->hostname)); + + + /* Don't set any optional arguments here so we retain POSIX + * compatibility with getopt */ + while ((opt = getopt_long(argc, argv, EXTRA_OPTS + "c:dh:i:kl:m:npq:r:s:t:u:xAEF:GHI:LMNRSTY", + longopts, &option_index)) != -1) + { + switch (opt) { + case 0: + if (longopts[option_index].flag) + break; + logger (LOG_ERR, + "option `%s' should set a flag", + longopts[option_index].name); + goto abort; + case 'c': + options->script = optarg; + break; + case 'd': + debug++; + switch (debug) { + case 1: + setloglevel (LOG_DEBUG); + break; + case 2: + options->daemonise = false; + break; + } + break; + #ifdef THERE_IS_NO_FORK + case 'f': + options->daemonised = true; + close_fds (); + break; + case 'g': + dhcpcd_skiproutes = xstrdup (optarg); + break; + #endif + case 'h': + if (! optarg) + *options->hostname = '\0'; + else if (strlen (optarg) > MAXHOSTNAMELEN) { + logger (LOG_ERR, + "`%s' too long for HostName string, max is %d", + optarg, MAXHOSTNAMELEN); + goto abort; + } else + strlcpy (options->hostname, optarg, + sizeof (options->hostname)); + break; + case 'i': + if (! optarg) { + *options->classid = '\0'; + } else if (strlen (optarg) > CLASS_ID_MAX_LEN) { + logger (LOG_ERR, + "`%s' too long for ClassID string, max is %d", + optarg, CLASS_ID_MAX_LEN); + goto abort; + } else + strlcpy (options->classid, optarg, + sizeof (options->classid)); + break; + case 'k': + sig = SIGHUP; + break; + case 'l': + if (*optarg == '-') { + logger (LOG_ERR, + "leasetime must be a positive value"); + goto abort; + } + errno = 0; + options->leasetime = (uint32_t) strtol (optarg, NULL, 0); + if (errno == EINVAL || errno == ERANGE) { + logger (LOG_ERR, "`%s' out of range", optarg); + goto abort; + } + break; + case 'm': + options->metric = atoint (optarg); + if (options->metric < 0) { + logger (LOG_ERR, + "metric must be a positive value"); + goto abort; + } + break; + case 'n': + sig = SIGALRM; + break; + case 'p': + options->persistent = true; + break; + case 'q': + if (strlen(optarg) > QTSOCKETADDRESSLENGTH) { + logger(LOG_ERR, "`%s' too long for an socket address path (max=%d)", + optarg, QTSOCKETADDRESSLENGTH); + goto abort; + } + strlcpy(options->qtsocketaddress, optarg, sizeof(options->qtsocketaddress)); + break; + case 's': + options->doinform = true; + options->doarp = false; + if (! optarg || strlen (optarg) == 0) { + options->request_address.s_addr = 0; + break; + } else { + char *slash = strchr (optarg, '/'); + if (slash) { + int cidr; + /* nullify the slash, so the -r option can read the + * address */ + *slash++ = '\0'; + if (sscanf (slash, "%d", &cidr) != 1 || + inet_cidrtoaddr (cidr, &options->request_netmask) != 0) { + logger (LOG_ERR, "`%s' is not a valid CIDR", slash); + goto abort; + } + } + } + /* FALLTHROUGH */ + case 'r': + if (! options->doinform) + options->dorequest = true; + if (strlen (optarg) > 0 && + ! inet_aton (optarg, &options->request_address)) + { + logger (LOG_ERR, "`%s' is not a valid IP address", optarg); + goto abort; + } + break; + case 't': + options->timeout = atoint (optarg); + if (options->timeout < 0) { + logger (LOG_ERR, "timeout must be a positive value"); + goto abort; + } + break; + case 'u': + { + int offset = 0; + for (i = 0; i < userclasses; i++) + offset += (int) options->userclass[offset] + 1; + if (offset + 1 + strlen (optarg) > USERCLASS_MAX_LEN) { + logger (LOG_ERR, "userclass overrun, max is %d", + USERCLASS_MAX_LEN); + goto abort; + } + userclasses++; + memcpy (options->userclass + offset + 1 , optarg, strlen (optarg)); + options->userclass[offset] = strlen (optarg); + options->userclass_len += (strlen (optarg)) + 1; + } + break; + case 'x': + sig = SIGTERM; + break; + case 'A': + #ifndef ENABLE_ARP + logger (LOG_ERR, + "arp not compiled into dhcpcd"); + goto abort; + #endif + options->doarp = false; + break; + case 'E': + #ifndef ENABLE_INFO + logger (LOG_ERR, + "info not compiled into dhcpcd"); + goto abort; + #endif + options->dolastlease = true; + break; + case 'F': + if (strncmp (optarg, "none", strlen (optarg)) == 0) + options->fqdn = FQDN_NONE; + else if (strncmp (optarg, "ptr", strlen (optarg)) == 0) + options->fqdn = FQDN_PTR; + else if (strncmp (optarg, "both", strlen (optarg)) == 0) + options->fqdn = FQDN_BOTH; + else { + logger (LOG_ERR, "invalid value `%s' for FQDN", optarg); + goto abort; + } + break; + case 'G': + options->dogateway = false; + break; + case 'H': + options->dohostname++; + break; + case 'I': + if (optarg) { + if (strlen (optarg) > CLIENT_ID_MAX_LEN) { + logger (LOG_ERR, "`%s' is too long for ClientID, max is %d", + optarg, CLIENT_ID_MAX_LEN); + goto abort; + } + if (strlcpy (options->clientid, optarg, + sizeof (options->clientid)) == 0) + /* empty string disabled duid */ + options->doduid = false; + + } else { + memset (options->clientid, 0, sizeof (options->clientid)); + options->doduid = false; + } + break; + case 'L': + options->doipv4ll = false; + break; + case 'M': + options->domtu = false; + break; + case 'N': + options->dontp = false; + break; + case 'R': + options->dodns = false; + break; + case 'S': + options->domscsr++; + break; + case 'T': + #ifndef ENABLE_INFO + logger (LOG_ERR, "info support not compiled into dhcpcd"); + goto abort; + #endif + options->test = true; + options->persistent = true; + break; + case 'Y': + options->donis = false; + break; + case '?': + usage (); + goto abort; + default: + usage (); + goto abort; + } + } + if (doversion) { + printf (""PACKAGE" "VERSION"\n"); + printf ("Compile time options:" + #ifdef ENABLE_ARP + " ARP" + #endif + #ifdef ENABLE_DUID + " DUID" + #endif + #ifdef ENABLE_INFO + " INFO" + #endif + #ifdef ENABLE_INFO_COMPAT + " INFO_COMPAT" + #endif + #ifdef ENABLE_IPV4LL + " IPV4LL" + #endif + #ifdef ENABLE_NIS + " NIS" + #endif + #ifdef ENABLE_NTP + " NTP" + #endif + #ifdef SERVICE + " " SERVICE + #endif + #ifdef ENABLE_RESOLVCONF + " RESOLVCONF" + #endif + #ifdef THERE_IS_NO_FORK + " THERE_IS_NO_FORK" + #endif + "\n"); + } + + if (dohelp) + usage (); + + +#ifdef THERE_IS_NO_FORK + dhcpcd_argv = argv; + dhcpcd_argc = argc; + if (! realpath (argv[0], dhcpcd)) { + logger (LOG_ERR, "unable to resolve the path `%s': %s", + argv[0], strerror (errno)); + goto abort; + } +#endif + + /* initializations for the ipc connection to qt*/ + setSocketName(options->qtsocketaddress); + if (initQtLoggerSocket() < 0) { + logger(LOG_ERR, "initialization Qt Logger failed: %s ", strerror (errno)); + goto abort; + } + + + if (optind < argc) { + if (strlen(argv[optind]) > IF_NAMESIZE) { + logger(LOG_ERR, "`%s' too long for an interface name (max=%d)", + argv[optind], IF_NAMESIZE); + goto abort; + } + strlcpy(options->interface, argv[optind], sizeof(options->interface)); + setInterfaceName(options->interface); + } else { + /* If only version was requested then exit now */ + if (doversion || dohelp) { + retval = 0; + goto abort; + } + + logger(LOG_ERR, "no interface specified"); + setInterfaceName("no_if"); + goto abort; + } + + if (strchr(options->hostname, '.')) { + if (options->fqdn == FQDN_DISABLE) + options->fqdn = FQDN_BOTH; + } else + options->fqdn = FQDN_DISABLE; + + if (options->request_address.s_addr == 0 && options->doinform) { + if ((options->request_address.s_addr = get_address(options->interface)) + != 0) + options->keep_address = true; + } + + if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { + logger (LOG_ERR, + "you are not allowed to request a link local address"); + logToQt(LOG_ERR, -1, "you are not allowed to request a link local address"); + goto abort; + } + + if (geteuid ()) { + logger (LOG_WARNING, PACKAGE " will not work correctly unless" + " run as root"); + } + + prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); + snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); + setlogprefix (prefix); + snprintf (options->pidfile, sizeof (options->pidfile), PIDFILE, + options->interface); + free (prefix); + + chdir ("/"); + umask (022); + + if (mkdir (INFODIR, S_IRUSR | S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) + { + logger (LOG_ERR, + "mkdir(\"%s\",0): %s\n", INFODIR, strerror (errno)); + goto abort; + } + + if (mkdir (ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP + | S_IROTH | S_IXOTH) && errno != EEXIST) + { + logger (LOG_ERR, + "mkdir(\"%s\",0): %s\n", ETCDIR, strerror (errno)); + goto abort; + } + + if (options->test) { + if (options->dorequest || options->doinform) { + logger (LOG_ERR, + "cannot test with --inform or --request"); + goto abort; + } + + if (options->dolastlease) { + logger (LOG_ERR, "cannot test with --lastlease"); + goto abort; + } + + if (sig != 0) { + logger (LOG_ERR, + "cannot test with --release or --renew"); + goto abort; + } + } + + if (sig != 0) { + int killed = -1; + pid = read_pid (options->pidfile); + if (pid != 0) + logger (LOG_INFO, "sending signal %d to pid %d", + sig, pid); + + if (! pid || (killed = kill (pid, sig))) + logger (sig == SIGALRM ? LOG_INFO : LOG_ERR, + ""PACKAGE" not running"); + + if (pid != 0 && (sig != SIGALRM || killed != 0)) + unlink (options->pidfile); + + if (killed == 0) { + retval = EXIT_SUCCESS; + goto abort; + } + + if (sig != SIGALRM) + goto abort; + } + + if (! options->test && ! options->daemonised) { + if ((pid = read_pid (options->pidfile)) > 0 && + kill (pid, 0) == 0) + { + logger (LOG_ERR, ""PACKAGE + " already running on pid %d (%s)", + pid, options->pidfile); + goto abort; + } + + pidfd = open (options->pidfile, + O_WRONLY | O_CREAT | O_NONBLOCK, 0664); + if (pidfd == -1) { + logger (LOG_ERR, "open `%s': %s", + options->pidfile, strerror (errno)); + goto abort; + } + + /* Lock the file so that only one instance of dhcpcd runs + * on an interface */ + if (flock (pidfd, LOCK_EX | LOCK_NB) == -1) { + logger (LOG_ERR, "flock `%s': %s", + options->pidfile, strerror (errno)); + goto abort; + } + + /* dhcpcd.sh should not interhit this fd */ + if ((i = fcntl (pidfd, F_GETFD, 0)) == -1 || + fcntl (pidfd, F_SETFD, i | FD_CLOEXEC) == -1) + logger (LOG_ERR, "fcntl: %s", strerror (errno)); + + writepid (pidfd, getpid ()); + logger (LOG_INFO, PACKAGE " " VERSION " starting"); + } + + /* Seed random */ + srandomdev (); + + /* Massage our filters per platform */ + setup_packet_filters (); + + /* dhcp_run : defined in client.c */ + if (dhcp_run (options, &pidfd) == 0) + retval = EXIT_SUCCESS; + +abort: + /* If we didn't daemonise then we need to punt the pidfile now */ + if (pidfd > -1) { + close (pidfd); + unlink (options->pidfile); + } + + free (options); + +#ifdef THERE_IS_NO_FORK + /* There may have been an error before the dhcp_run function + * clears this, so just do it here to be safe */ + free (dhcpcd_skiproutes); +#endif + + logger (LOG_INFO, "exiting"); + logToQt(LOG_INFO, DHCPCD_EXIT, "exiting due abort"); + closeQtLoggerSocket(); + exit (retval); + /* NOTREACHED */ +} diff --git a/customdhcpcd/src/dhcpcd.h b/customdhcpcd/src/dhcpcd.h new file mode 100644 index 0000000..7deb5b7 --- /dev/null +++ b/customdhcpcd/src/dhcpcd.h @@ -0,0 +1,105 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DHCPCD_H +#define DHCPCD_H + +#include +#include +#include +#include +#include +#include + +#include "common.h" + +#define DEFAULT_TIMEOUT 20 +#define DEFAULT_LEASETIME 3600 /* 1 hour */ + +/* added by Niklas Goby, additional field, storing the socket address path for + * communicating with Qt "server" */ +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define QTSOCKETADDRESSLENGTH 255 + +#define CLASS_ID_MAX_LEN 48 +#define CLIENT_ID_MAX_LEN 48 +#define USERCLASS_MAX_LEN 255 + +#ifdef THERE_IS_NO_FORK +extern char dhcpcd[PATH_MAX]; +extern char **dhcpcd_argv; +extern int dhcpcd_argc; +extern char *dhcpcd_skiproutes; +#endif + +typedef struct options_t { + /* added by Niklas Goby, additional field, storing the socket address path for + * communicating with Qt "server" */ + char qtsocketaddress[QTSOCKETADDRESSLENGTH]; + /*----*/ + char interface[IF_NAMESIZE]; + char hostname[MAXHOSTNAMELEN]; + int fqdn; + char classid[CLASS_ID_MAX_LEN]; + char clientid[CLIENT_ID_MAX_LEN]; + char userclass[USERCLASS_MAX_LEN]; + size_t userclass_len; + uint32_t leasetime; + time_t timeout; + int metric; + + bool doarp; + bool dodns; + bool dodomainname; + bool dogateway; + int dohostname; + bool domtu; + bool donis; + bool dontp; + bool dolastlease; + bool doinform; + bool dorequest; + bool doipv4ll; + bool doduid; + int domscsr; + + struct in_addr request_address; + struct in_addr request_netmask; + + bool persistent; + bool keep_address; + bool daemonise; + bool daemonised; + bool test; + + char *script; + char pidfile[PATH_MAX]; +} options_t; + +int nd_main (char *ifname); + +#endif diff --git a/customdhcpcd/src/dhcpcd.sh b/customdhcpcd/src/dhcpcd.sh new file mode 100644 index 0000000..8c86aac --- /dev/null +++ b/customdhcpcd/src/dhcpcd.sh @@ -0,0 +1,46 @@ +#!/bin/sh +# +# This is a sample /etc/dhcpcd.sh script. +# /etc/dhcpcd.sh script is executed by dhcpcd daemon +# any time it configures or shuts down interface. +# The following parameters are passed to dhcpcd.exe script: +# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info" +# $2 = "up" if interface has been configured with the same +# IP address as before reboot; +# $2 = "down" if interface has been shut down; +# $2 = "new" if interface has been configured with new IP address; +# +# Sanity checks + +if [ $# -lt 2 ]; then + logger -s -p local0.err -t dhcpcd.sh "wrong usage" + exit 1 +fi + +hostinfo="$1" +state="$2" + +# Reading HostInfo file for configuration parameters +[ -e "${hostinfo}" ] && . "${hostinfo}" + +case "${state}" in + up) + logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been configured with old IP=${IPADDR}" + # Put your code here for when the interface has been brought up with an + # old IP address here + ;; + + new) + logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been configured with new IP=${IPADDR}" + # Put your code here for when the interface has been brought up with a + # new IP address + ;; + + down) logger -s -p local0.info -t dhcpcd.sh \ + "interface ${INTERFACE} has been brought down" + # Put your code here for the when the interface has been shut down + ;; +esac +exit 0 diff --git a/customdhcpcd/src/discover.c b/customdhcpcd/src/discover.c new file mode 100644 index 0000000..eae7b0a --- /dev/null +++ b/customdhcpcd/src/discover.c @@ -0,0 +1,7 @@ +/* + * discover.c + * + * Created on: Jul 7, 2011 + * Author: niklas + */ + diff --git a/customdhcpcd/src/discover.h b/customdhcpcd/src/discover.h new file mode 100644 index 0000000..1f4918d --- /dev/null +++ b/customdhcpcd/src/discover.h @@ -0,0 +1,12 @@ +/* + * discover.h + * + * Created on: Jul 7, 2011 + * Author: niklas + */ + +#ifndef DISCOVER_H_ +#define DISCOVER_H_ + + +#endif /* DISCOVER_H_ */ diff --git a/customdhcpcd/src/duid.c b/customdhcpcd/src/duid.c new file mode 100644 index 0000000..e4dd83b --- /dev/null +++ b/customdhcpcd/src/duid.c @@ -0,0 +1,118 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "duid.h" +#include "logger.h" + +#ifdef ENABLE_DUID + +#define THIRTY_YEARS_IN_SECONDS 946707779 + +size_t get_duid (unsigned char *duid, const interface_t *iface) +{ + FILE *f; + uint16_t type = 0; + uint16_t hw = 0; + uint32_t ul; + time_t t; + int x = 0; + unsigned char *p = duid; + size_t len = 0; + + if (! iface) + return (0); + + /* If we already have a DUID then use it as it's never supposed + * to change once we have one even if the interfaces do */ + if ((f = fopen (DUIDFILE, "r"))) { + char *line = get_line (f); + if (line) { + len = hwaddr_aton (NULL, line); + if (len && len <= DUID_LEN) + hwaddr_aton (duid, line); + free (line); + } + fclose (f); + if (len) + return (len); + } else { + if (errno != ENOENT) { + logger (LOG_ERR, "fopen `%s': %s", + DUIDFILE, strerror (errno)); + return (0); + } + } + + /* No file? OK, lets make one based on our interface */ + type = htons (1); /* DUI-D-LLT */ + memcpy (p, &type, 2); + p += 2; + + hw = htons (iface->family); + memcpy (p, &hw, 2); + p += 2; + + /* time returns seconds from jan 1 1970, but DUID-LLT is + * seconds from jan 1 2000 modulo 2^32 */ + t = time (NULL) - THIRTY_YEARS_IN_SECONDS; + ul = htonl (t & 0xffffffff); + memcpy (p, &ul, 4); + p += 4; + + /* Finally, add the MAC address of the interface */ + memcpy (p, iface->hwaddr, iface->hwlen); + p += iface->hwlen; + + len = p - duid; + + if (! (f = fopen (DUIDFILE, "w"))) + logger (LOG_ERR, "fopen `%s': %s", DUIDFILE, strerror (errno)); + else { + x = fprintf (f, "%s\n", hwaddr_ntoa (duid, len)); + fclose (f); + } + + /* Failed to write the duid? scrub it, we cannot use it */ + if (x < 1) { + len = 0; + unlink (DUIDFILE); + } + + return (len); +} +#endif diff --git a/customdhcpcd/src/duid.h b/customdhcpcd/src/duid.h new file mode 100644 index 0000000..1492990 --- /dev/null +++ b/customdhcpcd/src/duid.h @@ -0,0 +1,42 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef DUID_H +#define DUID_H + +#include "config.h" + +#ifdef ENABLE_DUID +#ifndef DUID_LEN +# define DUID_LEN 128 + 2 +#endif + +#include "interface.h" + +size_t get_duid (unsigned char *duid, const interface_t *iface); +#endif +#endif diff --git a/customdhcpcd/src/info.c b/customdhcpcd/src/info.c new file mode 100644 index 0000000..8369b43 --- /dev/null +++ b/customdhcpcd/src/info.c @@ -0,0 +1,472 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include + +#include + +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "info.h" + +#ifdef ENABLE_INFO + +/* Create a malloced string of cstr, changing ' to '\'' + * so the contents work in a shell */ +static char *cleanmetas (const char *cstr) +{ + const char *p = cstr; + char *new; + char *n; + size_t len; + + if (cstr == NULL || (len = strlen (cstr)) == 0) + return (xstrdup ("")); + + n = new = xmalloc (sizeof (char) * len + 2); + do + if (*p == '\'') { + size_t pos = n - new; + len += 4; + new = xrealloc (new, sizeof (char) * len + 1); + n = new + pos; + *n++ = '\''; + *n++ = '\\'; + *n++ = '\''; + *n++ = '\''; + } else + *n++ = *p; + while (*p++); + + /* Terminate the sucker */ + *n = '\0'; + + return (new); +} + + +static void print_addresses (FILE *f, const struct address_head *addresses) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, " "); + } +} + +static void print_clean (FILE *f, const char *name, const char *value) +{ + char *clean; + + if (! value) + return; + + clean = cleanmetas (value); + fprintf (f, "%s='%s'\n", name, clean); + free (clean); +} + +bool write_info(const interface_t *iface, const dhcp_t *dhcp, + const options_t *options, bool overwrite) +{ + FILE *f; + route_t *route; + struct stat sb; + + if (options->test) + f = stdout; + else { + if (! overwrite && stat (iface->infofile, &sb) == 0) + return (true); + + logger (LOG_DEBUG, "writing %s", iface->infofile); + if ((f = fopen (iface->infofile, "w")) == NULL) { + logger (LOG_ERR, "fopen `%s': %s", + iface->infofile, strerror (errno)); + return (false); + } + } + + if (dhcp->address.s_addr) { + struct in_addr n; + n.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + fprintf (f, "IPADDR='%s'\n", inet_ntoa (dhcp->address)); + fprintf (f, "NETMASK='%s'\n", inet_ntoa (dhcp->netmask)); + fprintf (f, "NETWORK='%s'\n", inet_ntoa (n)); + fprintf (f, "BROADCAST='%s'\n", inet_ntoa (dhcp->broadcast)); + } + if (dhcp->mtu > 0) + fprintf (f, "MTU='%d'\n", dhcp->mtu); + + if (dhcp->routes) { + bool doneone = false; + fprintf (f, "ROUTES='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr != 0) { + if (doneone) + fprintf (f, " "); + fprintf (f, "%s", inet_ntoa (route->destination)); + fprintf (f, ",%s", inet_ntoa (route->netmask)); + fprintf (f, ",%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + + doneone = false; + fprintf (f, "GATEWAYS='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf (f, " "); + fprintf (f, "%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + } + + print_clean (f, "HOSTNAME", dhcp->hostname); + print_clean (f, "DNSDOMAIN", dhcp->dnsdomain); + print_clean (f, "DNSSEARCH", dhcp->dnssearch); + + if (dhcp->dnsservers) { + fprintf (f, "DNSSERVERS='"); + print_addresses (f, dhcp->dnsservers); + fprintf (f, "'\n"); + } + + if (dhcp->fqdn) { + fprintf (f, "FQDNFLAGS='%u'\n", dhcp->fqdn->flags); + fprintf (f, "FQDNRCODE1='%u'\n", dhcp->fqdn->r1); + fprintf (f, "FQDNRCODE2='%u'\n", dhcp->fqdn->r2); + print_clean (f, "FQDNHOSTNAME", dhcp->fqdn->name); + } + + if (dhcp->ntpservers) { + fprintf (f, "NTPSERVERS='"); + print_addresses (f, dhcp->ntpservers); + fprintf (f, "'\n"); + } + + print_clean (f, "NISDOMAIN", dhcp->nisdomain); + if (dhcp->nisservers) { + fprintf (f, "NISSERVERS='"); + print_addresses (f, dhcp->nisservers); + fprintf (f, "'\n"); + } + + print_clean (f, "ROOTPATH", dhcp->rootpath); + print_clean (f, "SIPSERVERS", dhcp->sipservers); + + if (dhcp->serveraddress.s_addr) + fprintf (f, "DHCPSID='%s'\n", inet_ntoa (dhcp->serveraddress)); + if (dhcp->servername[0]) + print_clean (f, "DHCPSNAME", dhcp->servername); + + if (! options->doinform && dhcp->address.s_addr) { + if (! options->test) + fprintf (f, "LEASEDFROM='%u'\n", dhcp->leasedfrom); + fprintf (f, "LEASETIME='%u'\n", dhcp->leasetime); + fprintf (f, "RENEWALTIME='%u'\n", dhcp->renewaltime); + fprintf (f, "REBINDTIME='%u'\n", dhcp->rebindtime); + } + print_clean (f, "INTERFACE", iface->name); + print_clean (f, "CLASSID", options->classid); + if (iface->clientid_len > 0) { + fprintf (f, "CLIENTID='%s'\n", + hwaddr_ntoa (iface->clientid, iface->clientid_len)); + } + fprintf (f, "DHCPCHADDR='%s'\n", hwaddr_ntoa (iface->hwaddr, + iface->hwlen)); + +#ifdef ENABLE_INFO_COMPAT + /* Support the old .info settings if we need to */ + fprintf (f, "\n# dhcpcd-1.x and 2.x compatible variables\n"); + if (dhcp->dnsservers) { + address_t *addr; + + fprintf (f, "DNS='"); + STAILQ_FOREACH (addr, dhcp->dnsservers, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, ","); + } + fprintf (f, "'\n"); + } + + if (dhcp->routes) { + bool doneone = false; + fprintf (f, "GATEWAY='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf (f, ","); + fprintf (f, "%s", inet_ntoa (route->gateway)); + doneone = true; + } + } + fprintf (f, "'\n"); + } +#endif + + if (! options->test) + fclose (f); + return (true); +} + +static bool parse_address (struct in_addr *addr, + const char *value, const char *var) +{ + if (inet_aton (value, addr) == 0) { + logger (LOG_ERR, "%s `%s': %s", var, value, + strerror (errno)); + return (false); + } + return (true); +} + +static bool parse_uint (unsigned int *i, + const char *value, const char *var) +{ + if (sscanf (value, "%u", i) != 1) { + logger (LOG_ERR, "%s `%s': not a valid number", + var, value); + return (false); + } + return (true); +} + +static bool parse_ushort (unsigned short *s, + const char *value, const char *var) +{ + if (sscanf (value, "%hu", s) != 1) { + logger (LOG_ERR, "%s `%s': not a valid number", + var, value); + return (false); + } + return (true); +} + +static struct address_head *parse_addresses (char *value, const char *var) +{ + char *token; + char *p = value; + struct address_head *head = NULL; + + while ((token = strsep (&p, " "))) { + address_t *a = xzalloc (sizeof (*a)); + + if (inet_aton (token, &a->address) == 0) { + logger (LOG_ERR, "%s: invalid address `%s'", var, token); + free_address (head); + free (a); + return (NULL); + } + + if (! head) { + head = xmalloc (sizeof (*head)); + STAILQ_INIT (head); + } + STAILQ_INSERT_TAIL (head, a, entries); + } + + return (head); +} + +bool read_info (const interface_t *iface, dhcp_t *dhcp) +{ + FILE *fp; + char *line; + char *var; + char *value; + char *p; + struct stat sb; + + if (stat (iface->infofile, &sb) != 0) { + logger (LOG_ERR, "lease information file `%s' does not exist", + iface->infofile); + return (false); + } + + if (! (fp = fopen (iface->infofile, "r"))) { + logger (LOG_ERR, "fopen `%s': %s", + iface->infofile, strerror (errno)); + return (false); + } + + dhcp->frominfo = true; + + while ((line = get_line (fp))) { + var = line; + + /* Strip leading spaces/tabs */ + while ((*var == ' ') || (*var == '\t')) + var++; + + /* Trim trailing \n */ + p = var + strlen (var) - 1; + if (*p == '\n') + *p = 0; + + /* Skip comments */ + if (*var == '#') + goto next; + + /* If we don't have an equals sign then skip it */ + if (! (p = strchr (var, '='))) + goto next; + + /* Terminate the = so we have two strings */ + *p = 0; + + value = p + 1; + /* Strip leading and trailing quotes if present */ + if (*value == '\'' || *value == '"') + value++; + p = value + strlen (value) - 1; + if (*p == '\'' || *p == '"') + *p = 0; + + /* Don't process null vars or values */ + if (! *var || ! *value) + goto next; + + if (strcmp (var, "IPADDR") == 0) + parse_address (&dhcp->address, value, "IPADDR"); + else if (strcmp (var, "NETMASK") == 0) + parse_address (&dhcp->netmask, value, "NETMASK"); + else if (strcmp (var, "BROADCAST") == 0) + parse_address (&dhcp->broadcast, value, "BROADCAST"); + else if (strcmp (var, "MTU") == 0) + parse_ushort (&dhcp->mtu, value, "MTU"); + else if (strcmp (var, "ROUTES") == 0) { + p = value; + while ((value = strsep (&p, " "))) { + char *pp = value; + char *dest = strsep (&pp, ","); + char *net = strsep (&pp, ","); + char *gate = strsep (&pp, ","); + route_t *route; + + if (! dest || ! net || ! gate) { + logger (LOG_ERR, "read_info ROUTES `%s,%s,%s': invalid route", + dest, net, gate); + goto next; + } + + /* See if we can create a route */ + route = xzalloc (sizeof (*route)); + if (inet_aton (dest, &route->destination) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid destination address", + dest); + free (route); + goto next; + } + if (inet_aton (dest, &route->netmask) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid netmask address", + net); + free (route); + goto next; + } + if (inet_aton (dest, &route->gateway) == 0) { + logger (LOG_ERR, "read_info ROUTES `%s': not a valid gateway address", + gate); + free (route); + goto next; + } + + /* OK, now add our route */ + if (! dhcp->routes) { + dhcp->routes = xmalloc (sizeof (*dhcp->routes)); + STAILQ_INIT (dhcp->routes); + } + STAILQ_INSERT_TAIL (dhcp->routes, route, entries); + } + } else if (strcmp (var, "GATEWAYS") == 0) { + p = value; + while ((value = strsep (&p, " "))) { + route_t *route = xzalloc (sizeof (*route)); + if (parse_address (&route->gateway, value, "GATEWAYS")) { + if (! dhcp->routes) { + dhcp->routes = xmalloc (sizeof (*dhcp->routes)); + STAILQ_INIT (dhcp->routes); + } + STAILQ_INSERT_TAIL (dhcp->routes, route, entries); + } else + free (route); + } + } else if (strcmp (var, "HOSTNAME") == 0) + dhcp->hostname = xstrdup (value); + else if (strcmp (var, "DNSDOMAIN") == 0) + dhcp->dnsdomain = xstrdup (value); + else if (strcmp (var, "DNSSEARCH") == 0) + dhcp->dnssearch = xstrdup (value); + else if (strcmp (var, "DNSSERVERS") == 0) + dhcp->dnsservers = parse_addresses (value, "DNSSERVERS"); + else if (strcmp (var, "NTPSERVERS") == 0) + dhcp->ntpservers = parse_addresses (value, "NTPSERVERS"); + else if (strcmp (var, "NISDOMAIN") == 0) + dhcp->nisdomain = xstrdup (value); + else if (strcmp (var, "NISSERVERS") == 0) + dhcp->nisservers = parse_addresses (value, "NISSERVERS"); + else if (strcmp (var, "ROOTPATH") == 0) + dhcp->rootpath = xstrdup (value); + else if (strcmp (var, "DHCPSID") == 0) + parse_address (&dhcp->serveraddress, value, "DHCPSID"); + else if (strcmp (var, "DHCPSNAME") == 0) + strlcpy (dhcp->servername, value, sizeof (dhcp->servername)); + else if (strcmp (var, "LEASEDFROM") == 0) + parse_uint (&dhcp->leasedfrom, value, "LEASEDFROM"); + else if (strcmp (var, "LEASETIME") == 0) + parse_uint (&dhcp->leasetime, value, "LEASETIME"); + else if (strcmp (var, "RENEWALTIME") == 0) + parse_uint (&dhcp->renewaltime, value, "RENEWALTIME"); + else if (strcmp (var, "REBINDTIME") == 0) + parse_uint (&dhcp->rebindtime, value, "REBINDTIME"); + +next: + free (line); + } + + fclose (fp); + return (true); +} + +#endif + diff --git a/customdhcpcd/src/info.h b/customdhcpcd/src/info.h new file mode 100644 index 0000000..22966db --- /dev/null +++ b/customdhcpcd/src/info.h @@ -0,0 +1,42 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef INFO_H +#define INFO_H + +#include "dhcpcd.h" +#include "interface.h" +#include "dhcp.h" + +#ifdef ENABLE_INFO +bool write_info (const interface_t *iface, const dhcp_t *dhcp, + const options_t *options, bool overwrite); + +bool read_info (const interface_t *iface, dhcp_t *dhcp); +#endif + +#endif diff --git a/customdhcpcd/src/interface.c b/customdhcpcd/src/interface.c new file mode 100644 index 0000000..d2ff8d6 --- /dev/null +++ b/customdhcpcd/src/interface.c @@ -0,0 +1,1060 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include + +#include + +/* Netlink suff */ +#ifdef __linux__ +#include /* Needed for 2.4 kernels */ +#include +#include +#include +#include +#else +#include +#include +#include +#include +#endif + +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" +#include "common.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" + +void free_address (struct address_head *addresses) +{ + address_t *p; + address_t *n; + + if (! addresses) + return; + + p = STAILQ_FIRST (addresses); + while (p) { + n = STAILQ_NEXT (p, entries); + free (p); + p = n; + } + free (addresses); +} + +void free_route (struct route_head *routes) +{ + route_t *p; + route_t *n; + + if (! routes) + return; + + p = STAILQ_FIRST (routes); + while (p) { + n = STAILQ_NEXT (p, entries); + free (p); + p = n; + } + free (routes); +} + +int inet_ntocidr (struct in_addr address) +{ + int cidr = 0; + uint32_t mask = htonl (address.s_addr); + + while (mask) { + cidr++; + mask <<= 1; + } + + return (cidr); +} + +int inet_cidrtoaddr (int cidr, struct in_addr *addr) { + int ocets; + + if (cidr < 0 || cidr > 32) { + errno = EINVAL; + return (-1); + } + ocets = (cidr + 7) / 8; + + memset (addr, 0, sizeof (*addr)); + if (ocets > 0) { + memset (&addr->s_addr, 255, (size_t) ocets - 1); + memset ((unsigned char *) &addr->s_addr + (ocets - 1), + (256 - (1 << (32 - cidr) % 8)), 1); + } + + return (0); +} + +uint32_t get_netmask (uint32_t addr) +{ + uint32_t dst; + + if (addr == 0) + return (0); + + dst = htonl (addr); + if (IN_CLASSA (dst)) + return (ntohl (IN_CLASSA_NET)); + if (IN_CLASSB (dst)) + return (ntohl (IN_CLASSB_NET)); + if (IN_CLASSC (dst)) + return (ntohl (IN_CLASSC_NET)); + + return (0); +} + +char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen) +{ + static char buffer[(HWADDR_LEN * 3) + 1]; + char *p = buffer; + size_t i; + + for (i = 0; i < hwlen && i < HWADDR_LEN; i++) { + if (i > 0) + *p ++= ':'; + p += snprintf (p, 3, "%.2x", hwaddr[i]); + } + + *p ++= '\0'; + + return (buffer); +} + +size_t hwaddr_aton (unsigned char *buffer, const char *addr) +{ + char c[3]; + const char *p = addr; + unsigned char *bp = buffer; + size_t len = 0; + + c[2] = '\0'; + while (*p) { + c[0] = *p++; + c[1] = *p++; + /* Ensure that next data is EOL or a seperator with data */ + if (! (*p == '\0' || (*p == ':' && *(p + 1) != '\0'))) { + errno = EINVAL; + return (0); + } + /* Ensure that digits are hex */ + if (isxdigit ((int) c[0]) == 0 || isxdigit ((int) c[1]) == 0) { + errno = EINVAL; + return (0); + } + p++; + if (bp) + *bp++ = (unsigned char) strtol (c, NULL, 16); + else + len++; + } + + if (bp) + return (bp - buffer); + return (len); +} + +static int _do_interface (const char *ifname, + _unused unsigned char *hwaddr, _unused size_t *hwlen, + struct in_addr *addr, + bool flush, bool get) +{ + int s; + struct ifconf ifc; + int retval = 0; + int len = 10 * sizeof (struct ifreq); + int lastlen = 0; + char *p; + + if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + /* Not all implementations return the needed buffer size for + * SIOGIFCONF so we loop like so for all until it works */ + memset (&ifc, 0, sizeof (ifc)); + for (;;) { + ifc.ifc_len = len; + ifc.ifc_buf = xmalloc ((size_t) len); + if (ioctl (s, SIOCGIFCONF, &ifc) == -1) { + if (errno != EINVAL || lastlen != 0) { + logger (LOG_ERR, "ioctl SIOCGIFCONF: %s", + strerror (errno)); + close (s); + free (ifc.ifc_buf); + return -1; + } + } else { + if (ifc.ifc_len == lastlen) + break; + lastlen = ifc.ifc_len; + } + + free (ifc.ifc_buf); + ifc.ifc_buf = NULL; + len *= 2; + } + + for (p = ifc.ifc_buf; p < ifc.ifc_buf + ifc.ifc_len;) { + union { + char *buffer; + struct ifreq *ifr; + } ifreqs; + struct sockaddr_in address; + struct ifreq *ifr; + + /* Cast the ifc buffer to an ifreq cleanly */ + ifreqs.buffer = p; + ifr = ifreqs.ifr; + +#ifdef __linux__ + p += sizeof (*ifr); +#else + p += offsetof (struct ifreq, ifr_ifru) + ifr->ifr_addr.sa_len; +#endif + + if (strcmp (ifname, ifr->ifr_name) != 0) + continue; + +#ifdef AF_LINK + if (hwaddr && hwlen && ifr->ifr_addr.sa_family == AF_LINK) { + struct sockaddr_dl sdl; + + memcpy (&sdl, &ifr->ifr_addr, sizeof (sdl)); + *hwlen = sdl.sdl_alen; + memcpy (hwaddr, sdl.sdl_data + sdl.sdl_nlen, + (size_t) sdl.sdl_alen); + retval = 1; + break; + } +#endif + + if (ifr->ifr_addr.sa_family == AF_INET) { + memcpy (&address, &ifr->ifr_addr, sizeof (address)); + if (flush) { + struct sockaddr_in netmask; + + if (ioctl (s, SIOCGIFNETMASK, ifr) == -1) { + logger (LOG_ERR, + "ioctl SIOCGIFNETMASK: %s", + strerror (errno)); + continue; + } + memcpy (&netmask, &ifr->ifr_addr, + sizeof (netmask)); + + if (del_address (ifname, + address.sin_addr, + netmask.sin_addr) == -1) + retval = -1; + } else if (get) { + addr->s_addr = address.sin_addr.s_addr; + retval = 1; + break; + } else if (address.sin_addr.s_addr == addr->s_addr) { + retval = 1; + break; + } + } + + } + + close (s); + free (ifc.ifc_buf); + return retval; +} + +interface_t *read_interface (const char *ifname, _unused int metric) +{ + int s; + struct ifreq ifr; + interface_t *iface = NULL; + unsigned char *hwaddr = NULL; + size_t hwlen = 0; + sa_family_t family = 0; + unsigned short mtu; +#ifdef __linux__ + char *p; +#endif + + if (! ifname) + return NULL; + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + + if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return NULL; + } + +#ifdef __linux__ + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCGIFHWADDR, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFHWADDR: %s", strerror (errno)); + goto exit; + } + + switch (ifr.ifr_hwaddr.sa_family) { + case ARPHRD_ETHER: + case ARPHRD_IEEE802: + hwlen = ETHER_ADDR_LEN; + break; + case ARPHRD_IEEE1394: + hwlen = EUI64_ADDR_LEN; + case ARPHRD_INFINIBAND: + hwlen = INFINIBAND_ADDR_LEN; + break; + default: + logger (LOG_ERR, + "interface is not Ethernet, FireWire, " \ + "InfiniBand or Token Ring"); + goto exit; + } + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + memcpy (hwaddr, ifr.ifr_hwaddr.sa_data, hwlen); + family = ifr.ifr_hwaddr.sa_family; +#else + ifr.ifr_metric = metric; + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCSIFMETRIC, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCSIFMETRIC: %s", strerror (errno)); + goto exit; + } + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + if (_do_interface (ifname, hwaddr, &hwlen, NULL, false, false) != 1) { + logger (LOG_ERR, "could not find interface %s", ifname); + goto exit; + } + + family = ARPHRD_ETHER; +#endif + + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCGIFMTU, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); + goto exit; + } + + if (ifr.ifr_mtu < MTU_MIN) { + logger (LOG_DEBUG, "MTU of %d is too low, setting to %d", + ifr.ifr_mtu, MTU_MIN); + ifr.ifr_mtu = MTU_MIN; + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + if (ioctl (s, SIOCSIFMTU, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCSIFMTU,: %s", + strerror (errno)); + goto exit; + } + } + mtu = ifr.ifr_mtu; + + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); +#ifdef __linux__ + /* We can only bring the real interface up */ + if ((p = strchr (ifr.ifr_name, ':'))) + *p = '\0'; +#endif + if (ioctl (s, SIOCGIFFLAGS, &ifr) == -1) { + logger (LOG_ERR, "ioctl SIOCGIFFLAGS: %s", strerror (errno)); + goto exit; + } + + if (! (ifr.ifr_flags & IFF_UP) || ! (ifr.ifr_flags & IFF_RUNNING)) { + ifr.ifr_flags |= IFF_UP | IFF_RUNNING; + if (ioctl (s, SIOCSIFFLAGS, &ifr) != 0) { + logger (LOG_ERR, "ioctl SIOCSIFFLAGS: %s", + strerror (errno)); + goto exit; + } + } + + iface = xzalloc (sizeof (*iface)); + strlcpy (iface->name, ifname, IF_NAMESIZE); +#ifdef ENABLE_INFO + snprintf (iface->infofile, PATH_MAX, INFOFILE, ifname); +#endif + memcpy (&iface->hwaddr, hwaddr, hwlen); + iface->hwlen = hwlen; + + iface->family = family; + iface->arpable = ! (ifr.ifr_flags & (IFF_NOARP | IFF_LOOPBACK)); + iface->mtu = iface->previous_mtu = mtu; + + logger (LOG_INFO, "hardware address = %s", + hwaddr_ntoa (iface->hwaddr, iface->hwlen)); + + /* 0 is a valid fd, so init to -1 */ + iface->fd = -1; +#ifdef __linux__ + iface->listen_fd = -1; +#endif + +exit: + close (s); + free (hwaddr); + return iface; +} + +int get_mtu (const char *ifname) +{ + struct ifreq ifr; + int r; + int s; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + r = ioctl (s, SIOCGIFMTU, &ifr); + close (s); + + if (r == -1) { + logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); + return (-1); + } + + return (ifr.ifr_mtu); +} + +int set_mtu (const char *ifname, short int mtu) +{ + struct ifreq ifr; + int r; + int s; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + + memset (&ifr, 0, sizeof (ifr)); + logger (LOG_DEBUG, "setting MTU to %d", mtu); + strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); + ifr.ifr_mtu = mtu; + r = ioctl (s, SIOCSIFMTU, &ifr); + close (s); + + if (r == -1) + logger (LOG_ERR, "ioctl SIOCSIFMTU: %s", strerror (errno)); + + return (r == 0 ? 0 : -1); +} + +static void log_route (struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + _unused int metric, + int change, int del) +{ + char *dstd = xstrdup (inet_ntoa (destination)); + +#ifdef __linux__ +#define METRIC " metric %d" +#else +#define METRIC "" +#endif + + if (gateway.s_addr == destination.s_addr || + gateway.s_addr == INADDR_ANY) + logger (LOG_INFO, "%s route to %s/%d" METRIC, + change ? "changing" : del ? "removing" : "adding", + dstd, inet_ntocidr (netmask) +#ifdef __linux__ + , metric +#endif + ); + else if (destination.s_addr == INADDR_ANY) + logger (LOG_INFO, "%s default route via %s" METRIC, + change ? "changing" : del ? "removing" : "adding", + inet_ntoa (gateway) + +#ifdef __linux__ + , metric +#endif + ); + else + logger (LOG_INFO, "%s route to %s/%d via %s" METRIC, + change ? "changing" : del ? "removing" : "adding", + dstd, inet_ntocidr (netmask), inet_ntoa (gateway) +#ifdef __linux__ + , metric +#endif + ); + + free (dstd); +} + +#if defined(BSD) || defined(__FreeBSD_kernel__) + +/* Darwin doesn't define this for some very odd reason */ +#ifndef SA_SIZE +# define SA_SIZE(sa) \ + ( (!(sa) || ((struct sockaddr *)(sa))->sa_len == 0) ? \ + sizeof(long) : \ + 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) +#endif + +static int do_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast, + int del) +{ + int s; + struct ifaliasreq ifa; + + if (! ifname) + return -1; + + if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&ifa, 0, sizeof (ifa)); + strlcpy (ifa.ifra_name, ifname, sizeof (ifa.ifra_name)); + +#define ADDADDR(_var, _addr) { \ + union { struct sockaddr *sa; struct sockaddr_in *sin; } _s; \ + _s.sa = &_var; \ + _s.sin->sin_family = AF_INET; \ + _s.sin->sin_len = sizeof (*_s.sin); \ + memcpy (&_s.sin->sin_addr, &_addr, sizeof (_s.sin->sin_addr)); \ +} + + ADDADDR (ifa.ifra_addr, address); + ADDADDR (ifa.ifra_mask, netmask); +if (! del) + ADDADDR (ifa.ifra_broadaddr, broadcast); + +#undef ADDADDR + + if (ioctl (s, del ? SIOCDIFADDR : SIOCAIFADDR, &ifa) == -1) { + logger (LOG_ERR, "ioctl %s: %s", + del ? "SIOCDIFADDR" : "SIOCAIFADDR", + strerror (errno)); + close (s); + return -1; + } + +close (s); +return 0; +} + +static int do_route (const char *ifname, + struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + int metric, + int change, int del) +{ + int s; + static int seq; + union sockunion { + struct sockaddr sa; + struct sockaddr_in sin; +#ifdef INET6 + struct sockaddr_in6 sin6; +#endif + struct sockaddr_dl sdl; + struct sockaddr_storage ss; + } su; + struct rtm + { + struct rt_msghdr hdr; + char buffer[sizeof (su) * 3]; + } rtm; + char *bp = rtm.buffer; + size_t l; + + if (! ifname) + return -1; + + log_route (destination, netmask, gateway, metric, change, del); + + if ((s = socket (PF_ROUTE, SOCK_RAW, 0)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&rtm, 0, sizeof (rtm)); + + rtm.hdr.rtm_version = RTM_VERSION; + rtm.hdr.rtm_seq = ++seq; + rtm.hdr.rtm_type = change ? RTM_CHANGE : del ? RTM_DELETE : RTM_ADD; + rtm.hdr.rtm_flags = RTF_UP | RTF_STATIC; + + /* This order is important */ + rtm.hdr.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; + +#define ADDADDR(_addr) \ + memset (&su, 0, sizeof (su)); \ + su.sin.sin_family = AF_INET; \ + su.sin.sin_len = sizeof (su.sin); \ + memcpy (&su.sin.sin_addr, &_addr, sizeof (su.sin.sin_addr)); \ + l = SA_SIZE (&(su.sa)); \ + memcpy (bp, &(su), l); \ + bp += l; + + ADDADDR (destination); + + if (netmask.s_addr == INADDR_BROADCAST || + gateway.s_addr == INADDR_ANY) + { + /* Make us a link layer socket */ + unsigned char *hwaddr; + size_t hwlen = 0; + + if (netmask.s_addr == INADDR_BROADCAST) + rtm.hdr.rtm_flags |= RTF_HOST; + + hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); + _do_interface (ifname, hwaddr, &hwlen, NULL, false, false); + memset (&su, 0, sizeof (su)); + su.sdl.sdl_len = sizeof (su.sdl); + su.sdl.sdl_family = AF_LINK; + su.sdl.sdl_nlen = strlen (ifname); + memcpy (&su.sdl.sdl_data, ifname, (size_t) su.sdl.sdl_nlen); + su.sdl.sdl_alen = hwlen; + memcpy (((unsigned char *) &su.sdl.sdl_data) + su.sdl.sdl_nlen, + hwaddr, (size_t) su.sdl.sdl_alen); + + l = SA_SIZE (&(su.sa)); + memcpy (bp, &su, l); + bp += l; + free (hwaddr); + } else { + rtm.hdr.rtm_flags |= RTF_GATEWAY; + ADDADDR (gateway); + } + + ADDADDR (netmask); +#undef ADDADDR + + rtm.hdr.rtm_msglen = l = bp - (char *)&rtm; + if (write (s, &rtm, l) == -1) { + /* Don't report error about routes already existing */ + if (errno != EEXIST) + logger (LOG_ERR, "write: %s", strerror (errno)); + close (s); + return -1; + } + + close (s); + return 0; +} + +#elif __linux__ +/* This netlink stuff is overly compex IMO. + * The BSD implementation is much cleaner and a lot less code. + * send_netlink handles the actual transmission so we can work out + * if there was an error or not. */ +#define BUFFERLEN 256 +int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg) +{ + int s; + pid_t mypid = getpid (); + struct sockaddr_nl nl; + struct iovec iov; + struct msghdr msg; + static unsigned int seq; + char *buffer; + ssize_t bytes; + union + { + char *buffer; + struct nlmsghdr *nlm; + } h; + + if ((s = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return -1; + } + + memset (&nl, 0, sizeof (nl)); + nl.nl_family = AF_NETLINK; + if (bind (s, (struct sockaddr *) &nl, sizeof (nl)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (s); + return -1; + } + + memset (&iov, 0, sizeof (iov)); + iov.iov_base = hdr; + iov.iov_len = hdr->nlmsg_len; + + memset (&msg, 0, sizeof (msg)); + msg.msg_name = &nl; + msg.msg_namelen = sizeof (nl); + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + + /* Request a reply */ + hdr->nlmsg_flags |= NLM_F_ACK; + hdr->nlmsg_seq = ++seq; + + if (sendmsg (s, &msg, 0) == -1) { + logger (LOG_ERR, "write: %s", strerror (errno)); + close (s); + return -1; + } + + buffer = xzalloc (sizeof (char) * BUFFERLEN); + iov.iov_base = buffer; + + for (;;) { + iov.iov_len = BUFFERLEN; + bytes = recvmsg (s, &msg, 0); + + if (bytes == -1) { + if (errno != EINTR) + logger (LOG_ERR, "recvmsg: %s", + strerror (errno)); + continue; + } + + if (bytes == 0) { + logger (LOG_ERR, "netlink: EOF"); + goto eexit; + } + + if (msg.msg_namelen != sizeof (nl)) { + logger (LOG_ERR, + "netlink: sender address length mismatch"); + goto eexit; + } + + for (h.buffer = buffer; bytes >= (signed) sizeof (*h.nlm); ) { + int len = h.nlm->nlmsg_len; + int l = len - sizeof (*h.nlm); + struct nlmsgerr *err = (struct nlmsgerr *) NLMSG_DATA (h.nlm); + + if (l < 0 || len > bytes) { + if (msg.msg_flags & MSG_TRUNC) + logger (LOG_ERR, "netlink: truncated message"); + else + logger (LOG_ERR, "netlink: malformed message"); + goto eexit; + } + + /* Ensure it's our message */ + if (nl.nl_pid != 0 || + (pid_t) h.nlm->nlmsg_pid != mypid || + h.nlm->nlmsg_seq != seq) + { + /* Next Message */ + bytes -= NLMSG_ALIGN (len); + h.buffer += NLMSG_ALIGN (len); + continue; + } + + /* We get an NLMSG_ERROR back with a code of zero for success */ + if (h.nlm->nlmsg_type != NLMSG_ERROR) { + logger (LOG_ERR, "netlink: unexpected reply %d", + h.nlm->nlmsg_type); + goto eexit; + } + + if ((unsigned) l < sizeof (*err)) { + logger (LOG_ERR, "netlink: error truncated"); + goto eexit; + } + + if (err->error == 0) { + int retval = 0; + + close (s); + if (callback) { + if ((retval = callback (hdr, arg)) == -1) + logger (LOG_ERR, "netlink: callback failed"); + } + free (buffer); + return (retval); + } + + errno = -err->error; + /* Don't report on something already existing */ + if (errno != EEXIST) + logger (LOG_ERR, "netlink: %s", + strerror (errno)); + goto eexit; + } + } + +eexit: + close (s); + free (buffer); + return -1; +} + +#define NLMSG_TAIL(nmsg) \ + ((struct rtattr *) (((ptrdiff_t) (nmsg)) + NLMSG_ALIGN ((nmsg)->nlmsg_len))) + +static int add_attr_l(struct nlmsghdr *n, unsigned int maxlen, int type, + const void *data, int alen) +{ + int len = RTA_LENGTH(alen); + struct rtattr *rta; + + if (NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len) > maxlen) { + logger (LOG_ERR, "add_attr_l: message exceeded bound of %d\n", + maxlen); + return -1; + } + + rta = NLMSG_TAIL (n); + rta->rta_type = type; + rta->rta_len = len; + memcpy (RTA_DATA (rta), data, alen); + n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len); + + return 0; +} + +static int add_attr_32(struct nlmsghdr *n, unsigned int maxlen, int type, + uint32_t data) +{ + int len = RTA_LENGTH (sizeof (data)); + struct rtattr *rta; + + if (NLMSG_ALIGN (n->nlmsg_len) + len > maxlen) { + logger (LOG_ERR, "add_attr32: message exceeded bound of %d\n", + maxlen); + return -1; + } + + rta = NLMSG_TAIL (n); + rta->rta_type = type; + rta->rta_len = len; + memcpy (RTA_DATA (rta), &data, sizeof (data)); + n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + len; + + return 0; +} + +struct nlma +{ + struct nlmsghdr hdr; + struct ifaddrmsg ifa; + char buffer[64]; +}; + +struct nlmr +{ + struct nlmsghdr hdr; + struct rtmsg rt; + char buffer[256]; +}; + +static int do_address(const char *ifname, + struct in_addr address, struct in_addr netmask, + struct in_addr broadcast, int del) +{ + struct nlma *nlm; + int retval; + + if (!ifname) + return -1; + + nlm = xzalloc (sizeof (*nlm)); + nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct ifaddrmsg)); + nlm->hdr.nlmsg_flags = NLM_F_REQUEST; + if (! del) + nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; + nlm->hdr.nlmsg_type = del ? RTM_DELADDR : RTM_NEWADDR; + if (! (nlm->ifa.ifa_index = if_nametoindex (ifname))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + ifname); + free (nlm); + return -1; + } + nlm->ifa.ifa_family = AF_INET; + + nlm->ifa.ifa_prefixlen = inet_ntocidr (netmask); + + /* This creates the aliased interface */ + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LABEL, + ifname, strlen (ifname) + 1); + + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LOCAL, + &address.s_addr, sizeof (address.s_addr)); + if (! del) + add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_BROADCAST, + &broadcast.s_addr, sizeof (broadcast.s_addr)); + + retval = send_netlink (&nlm->hdr, NULL, NULL); + free (nlm); + return retval; +} + +static int do_route (const char *ifname, + struct in_addr destination, + struct in_addr netmask, + struct in_addr gateway, + int metric, int change, int del) +{ + struct nlmr *nlm; + unsigned int ifindex; + int retval; + + if (! ifname) + return -1; + + log_route (destination, netmask, gateway, metric, change, del); + + if (! (ifindex = if_nametoindex (ifname))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + ifname); + return -1; + } + + nlm = xzalloc (sizeof (*nlm)); + nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg)); + if (change) + nlm->hdr.nlmsg_flags = NLM_F_REPLACE; + else if (! del) + nlm->hdr.nlmsg_flags = NLM_F_CREATE | NLM_F_EXCL; + nlm->hdr.nlmsg_flags |= NLM_F_REQUEST; + nlm->hdr.nlmsg_type = del ? RTM_DELROUTE : RTM_NEWROUTE; + nlm->rt.rtm_family = AF_INET; + nlm->rt.rtm_table = RT_TABLE_MAIN; + + if (del) + nlm->rt.rtm_scope = RT_SCOPE_NOWHERE; + else { + nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_EXCL; + nlm->rt.rtm_protocol = RTPROT_BOOT; + if (netmask.s_addr == INADDR_BROADCAST || + gateway.s_addr == INADDR_ANY) + nlm->rt.rtm_scope = RT_SCOPE_LINK; + else + nlm->rt.rtm_scope = RT_SCOPE_UNIVERSE; + nlm->rt.rtm_type = RTN_UNICAST; + } + + nlm->rt.rtm_dst_len = inet_ntocidr (netmask); + add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_DST, + &destination.s_addr, sizeof (destination.s_addr)); + if (netmask.s_addr != INADDR_BROADCAST && + destination.s_addr != gateway.s_addr) + add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_GATEWAY, + &gateway.s_addr, sizeof (gateway.s_addr)); + + add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_OIF, ifindex); + add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_PRIORITY, metric); + + retval = send_netlink (&nlm->hdr, NULL, NULL); + free (nlm); + return retval; +} + +#else + #error "Platform not supported!" + #error "We currently support BPF and Linux sockets." + #error "Other platforms may work using BPF. If yours does, please let me know" + #error "so I can add it to our list." +#endif + +int add_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast) +{ + logger (LOG_INFO, "adding IP address %s/%d", + inet_ntoa (address), inet_ntocidr (netmask)); + + return (do_address (ifname, address, netmask, broadcast, 0)); +} + +int del_address (const char *ifname, + struct in_addr address, struct in_addr netmask) +{ + struct in_addr t; + + logger (LOG_INFO, "removing IP address %s/%d", + inet_ntoa (address), inet_ntocidr (netmask)); + + memset (&t, 0, sizeof (t)); + return (do_address (ifname, address, netmask, t, 1)); +} + +int add_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 0, 0)); +} + +int change_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 1, 0)); +} + +int del_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric) +{ + return (do_route (ifname, destination, netmask, gateway, metric, 0, 1)); +} + + +int flush_addresses (const char *ifname) +{ + return (_do_interface (ifname, NULL, NULL, NULL, true, false)); +} + +in_addr_t get_address (const char *ifname) +{ + struct in_addr address; + if (_do_interface (ifname, NULL, NULL, &address, false, true) > 0) + return (address.s_addr); + return (0); +} + +int has_address (const char *ifname, struct in_addr address) +{ + return (_do_interface (ifname, NULL, NULL, &address, false, false)); +} diff --git a/customdhcpcd/src/interface.h b/customdhcpcd/src/interface.h new file mode 100644 index 0000000..8215d48 --- /dev/null +++ b/customdhcpcd/src/interface.h @@ -0,0 +1,173 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef INTERFACE_H +#define INTERFACE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "config.h" + +#ifdef __linux__ +# include +#endif + +#ifdef ENABLE_DUID +#ifndef DUID_LEN +# define DUID_LEN 128 + 2 +#endif +#endif + +#define EUI64_ADDR_LEN 8 +#define INFINIBAND_ADDR_LEN 20 + +/* Linux 2.4 doesn't define this */ +#ifndef ARPHRD_IEEE1394 +# define ARPHRD_IEEE1394 24 +#endif + +/* The BSD's don't define this yet */ +#ifndef ARPHRD_INFINIBAND +# define ARPHRD_INFINIBAND 32 +#endif + +#define HWADDR_LEN 20 + +/* Work out if we have a private address or not + * 10/8 + * 172.16/12 + * 192.168/16 + */ +#ifndef IN_PRIVATE +# define IN_PRIVATE(addr) (((addr & IN_CLASSA_NET) == 0x0a000000) || \ + ((addr & 0xfff00000) == 0xac100000) || \ + ((addr & IN_CLASSB_NET) == 0xc0a80000)) +#endif + +#define LINKLOCAL_ADDR 0xa9fe0000 +#define LINKLOCAL_MASK 0xffff0000 +#define LINKLOCAL_BRDC 0xa9feffff + +#ifndef IN_LINKLOCAL +# define IN_LINKLOCAL(addr) ((addr & IN_CLASSB_NET) == LINKLOCAL_ADDR) +#endif + +#ifndef STAILQ_ENTRY +# error "your sys/queue.h is too old and lacks STAILQ" +#endif + +#define NSTAILQ_FOREACH(var, head, field) \ + if (head) STAILQ_FOREACH (var, head, field) + +typedef struct route_t +{ + struct in_addr destination; + struct in_addr netmask; + struct in_addr gateway; + STAILQ_ENTRY (route_t) entries; +} route_t; +STAILQ_HEAD (route_head, route_t); + +typedef struct address_t +{ + struct in_addr address; + STAILQ_ENTRY (address_t) entries; +} address_t; +STAILQ_HEAD (address_head, address_t); + +typedef struct interface_t +{ + char name[IF_NAMESIZE]; + sa_family_t family; + unsigned char hwaddr[HWADDR_LEN]; + size_t hwlen; + bool arpable; + unsigned short mtu; + + int fd; + size_t buffer_length; + +#ifdef __linux__ + int listen_fd; + int socket_protocol; +#endif + + char infofile[PATH_MAX]; + + unsigned short previous_mtu; + struct in_addr previous_address; + struct in_addr previous_netmask; + struct route_head *previous_routes; + + time_t start_uptime; + + unsigned char *clientid; + size_t clientid_len; +} interface_t; + +void free_address (struct address_head *addresses); +void free_route (struct route_head *routes); +uint32_t get_netmask (uint32_t addr); +char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen); +size_t hwaddr_aton (unsigned char *hwaddr, const char *addr); + +interface_t *read_interface (const char *ifname, int metric); +int get_mtu (const char *ifname); +int set_mtu (const char *ifname, short int mtu); + +int add_address (const char *ifname, struct in_addr address, + struct in_addr netmask, struct in_addr broadcast); +int del_address (const char *ifname, struct in_addr address, + struct in_addr netmask); + +int flush_addresses (const char *ifname); +in_addr_t get_address (const char *ifname); +int has_address (const char *ifname, struct in_addr address); + +int add_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); +int change_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); +int del_route (const char *ifname, struct in_addr destination, + struct in_addr netmask, struct in_addr gateway, int metric); + +int inet_ntocidr (struct in_addr address); +int inet_cidrtoaddr (int cidr, struct in_addr *addr); + +#ifdef __linux__ +typedef int (*netlink_callback) (struct nlmsghdr *hdr, void *arg); +int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg); +#endif +#endif diff --git a/customdhcpcd/src/ipv4ll.c b/customdhcpcd/src/ipv4ll.c new file mode 100644 index 0000000..9742b9a --- /dev/null +++ b/customdhcpcd/src/ipv4ll.c @@ -0,0 +1,70 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +#include "config.h" +#include "arp.h" +#include "ipv4ll.h" + +#ifdef ENABLE_IPV4LL + +#ifndef ENABLE_ARP + # error IPV4LL requires ARP +#endif + +#define IPV4LL_LEASETIME 20 + +int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp) { + struct in_addr addr; + + for (;;) { + addr.s_addr = htonl (LINKLOCAL_ADDR | + (((uint32_t) abs ((int) random ()) + % 0xFD00) + 0x0100)); + errno = 0; + if (! arp_claim (iface, addr)) + break; + /* Our ARP may have been interrupted */ + if (errno) + return (-1); + } + + dhcp->address.s_addr = addr.s_addr; + dhcp->netmask.s_addr = htonl (LINKLOCAL_MASK); + dhcp->broadcast.s_addr = htonl (LINKLOCAL_BRDC); + + /* Finally configure some DHCP like lease times */ + dhcp->leasetime = IPV4LL_LEASETIME; + dhcp->renewaltime = (dhcp->leasetime * 0.5); + dhcp->rebindtime = (dhcp->leasetime * 0.875); + + return (0); +} + +#endif diff --git a/customdhcpcd/src/ipv4ll.h b/customdhcpcd/src/ipv4ll.h new file mode 100644 index 0000000..4fa8943 --- /dev/null +++ b/customdhcpcd/src/ipv4ll.h @@ -0,0 +1,39 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef IPV4LL_H +#define IPV4LL_H + +#ifdef ENABLE_IPV4LL + +#include "dhcp.h" +#include "interface.h" + +int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp); + +#endif +#endif diff --git a/customdhcpcd/src/logger.c b/customdhcpcd/src/logger.c new file mode 100644 index 0000000..91d6cc0 --- /dev/null +++ b/customdhcpcd/src/logger.c @@ -0,0 +1,128 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#define SYSLOG_NAMES + +#define COM_CH "/var/tmp/com.socket" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" +#include "logwriter.h" + +static int loglevel = LOG_WARNING; +static char logprefix[12] = { 0 }; + +int logtolevel(const char *priority) { + CODE *c; + + if (isdigit ((int) *priority)) + return (atoi(priority)); + + for (c = prioritynames; c->c_name; c++) + if (!strcasecmp(priority, c->c_name)) + return (c->c_val); + + return (-1); +} + +static const char *leveltolog(int level) { + CODE *c; + + for (c = prioritynames; c->c_name; c++) + if (c->c_val == level) + return (c->c_name); + + return (NULL); +} + +void setloglevel(int level) { + loglevel = level; +} + +void setlogprefix(const char *prefix) { + snprintf(logprefix, sizeof(logprefix), "%s", prefix); +} + +void logger(int level, const char *fmt, ...) { + va_list p; + va_list p2; + FILE *f = stderr; + + va_start (p, fmt); + va_copy (p2, p); + + if (level <= LOG_ERR || level <= loglevel) { + + /* new function by Niklas Goby + * send the log message also to our Qt programm. + * implemented in logwriter.c + * */ + logLoggerToQt(level, fmt, p); + + if (level == LOG_DEBUG || level == LOG_INFO) + f = stdout; + fprintf(f, "%s, %s", leveltolog(level), logprefix); + vfprintf(f, fmt, p); + fputc('\n', f); + + /* stdout, stderr may be re-directed to some kind of buffer. + * So we always flush to ensure it's written. */ + fflush(f); + } + + if (level < LOG_DEBUG || level <= loglevel) { + size_t len = strlen(logprefix); + size_t fmt2len = strlen(fmt) + len + 1; + char *fmt2 = malloc(sizeof(char) * fmt2len); + char *pf = fmt2; + if (fmt2) { + memcpy(pf, logprefix, len); + pf += len; + strlcpy(pf, fmt, fmt2len - len); + vsyslog(level, fmt2, p2); + free(fmt2); + } else { + vsyslog(level, fmt, p2); + syslog(LOG_ERR, "logger: memory exhausted"); + exit(EXIT_FAILURE); + } + } + + va_end (p2); + va_end (p); +} + diff --git a/customdhcpcd/src/logger.h b/customdhcpcd/src/logger.h new file mode 100644 index 0000000..70e2ed5 --- /dev/null +++ b/customdhcpcd/src/logger.h @@ -0,0 +1,48 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef LOGGER_H +#define LOGGER_H + +#if defined(__GNUC__) +# define _PRINTF_LIKE(_one, _two) __attribute__ ((__format__ (__printf__, _one, _two))) +#else +# define _PRINTF_LIKE(_one, _two) +#endif + +#include + + + +int logtolevel (const char *priority); +void setloglevel (int level); +void setlogprefix (const char *prefix); +void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); + + + +#endif diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c new file mode 100644 index 0000000..74c0181 --- /dev/null +++ b/customdhcpcd/src/logwriter.c @@ -0,0 +1,149 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "dhcp.h" +#include "dhcpcd.h" +#include "logger.h" +#include "logwriter.h" +#include "status.h" + +/*sockets for the logger and the qt-reader */ +int sockfd, ns; +int retval = -1; +char socketName[QTSOCKETADDRESSLENGTH]; +char interfaceName[IF_NAMESIZE]; +char mesg[1024]; + +void setSocketName(const char * sn) { + snprintf(socketName, sizeof(socketName), "%s", sn); +} + +void setInterfaceName(const char * in){ + snprintf(interfaceName, sizeof(interfaceName), "%s", in); +} + +int initQtLoggerSocket() { + /** + * new code. seems to be right. + */ + + struct sockaddr_un serv_addr; + fprintf(stdout,"start init \n"); + sockfd = socket(AF_UNIX, SOCK_STREAM, 0); + if (sockfd < 0) { + fprintf(stdout,"ERROR opening socket \n"); + retval = sockfd; + return sockfd; + } + serv_addr.sun_family = AF_UNIX; + strcpy(serv_addr.sun_path, socketName); + + retval = connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); + if ( retval < 0) + fprintf(stdout,"ERROR connecting \n"); + fprintf(stdout,"init Qt Logger Socket done \n"); + return retval; +} + +void closeQtLoggerSocket (){ + close(sockfd); +} + +/* +void logToQt(char * status, char * substatus, char * msg) { + char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); + strcpy(m,interfaceName); + strcat(m,";"); + strcat(m,status); + strcat(m,";"); + strcat(m,substatus); + strcat(m,";"); + strcat(m,msg); + sendToQt(m); + + free(m); +} +*/ + + +void sendToQt(log_msg * msg) { + int n = -1; + const char *tpl = "%s;%d;%d;%s\n"; + char *outbuf; + size_t outbuf_size = + sizeof(char)*4 + // ";" *3 + newline + sizeof(int)*2 + // status, substatus + sizeof(msg->device) + // devicename + sizeof(msg->msg); // msg + outbuf = malloc(outbuf_size); + memset(outbuf,0,outbuf_size); + snprintf(outbuf, sizeof(char)*3 + sizeof(int)*2 + sizeof(msg->device) + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, msg->msg); + if (outbuf != NULL){ + n = write(sockfd, outbuf, outbuf_size); + } + free(outbuf); + syslog (LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); +// fflush(sockfd); + if (n < 0) { + syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); +// fprintf(stdout, "ERROR writing to socket: %s", msg); + } + //usleep(500); +} + +void logToQt(int status, int substatus, const char * msg) { + if (retval >= 0) { + log_msg lm; + lm.status = status; + lm.substatus = substatus; + snprintf(lm.msg, sizeof(lm.msg), "%s", msg); + snprintf(lm.device, sizeof(lm.device), "%s", interfaceName); + sendToQt(&lm); + } +} + +void logSendToQt(int type) { + switch(type) { + case DHCP_DISCOVER: + logToQt(LOG_INFO, DHCP_DISCOVER, "send discover"); + break; + case DHCP_OFFER: + logToQt(LOG_INFO, DHCP_OFFER, "send offer"); + break; + case DHCP_REQUEST: + logToQt(LOG_INFO, DHCP_REQUEST, "send request"); + break; + case DHCP_DECLINE: + logToQt(LOG_INFO, DHCP_DECLINE, "send decline"); + break; + case DHCP_ACK: + logToQt(LOG_INFO, DHCP_ACK, "send ack"); + break; + case DHCP_NAK: + logToQt(LOG_INFO, DHCP_NAK, "send nak"); + break; + case DHCP_RELEASE: + logToQt(LOG_INFO, DHCP_RELEASE, "send release"); + break; + case DHCP_INFORM: + logToQt(LOG_INFO, DHCP_INFORM, "send inform"); + break; + default : + break; + } +} + +void logLoggerToQt(int level, const char *fmt, va_list args) { + vsnprintf(mesg, sizeof(mesg), fmt, args); + strcat(mesg, "\n"); + logToQt(level, DHCPCD_LOG, mesg); +} diff --git a/customdhcpcd/src/logwriter.h b/customdhcpcd/src/logwriter.h new file mode 100644 index 0000000..1a755fc --- /dev/null +++ b/customdhcpcd/src/logwriter.h @@ -0,0 +1,37 @@ +/* + * logwriter.h + * + * Created on: Jul 7, 2011 + * Author: niklas + */ + +#ifndef LOGWRITER_H_ +#define LOGWRITER_H_ + +#include "dhcpcd.h" + +#define LOG_MSG_SIZE 1024 + +typedef struct _log_msg log_msg; +struct _log_msg { + int status; + int substatus; + char device[IF_NAMESIZE]; + char msg[LOG_MSG_SIZE]; +}; + +/** + * new functions for communicating with Qt + */ +void setSocketName(const char * sn); +void setInterfaceName(const char * in); +int initQtLoggerSocket (); +void closeQtLoggerSocket (); +void sendToQt (); +void logToQt(int status, int substatus, const char * msg); +void logSendToQt(int type); +void logLoggerToQt(int level, const char *fmt, va_list args); +//void logToQt(char * status, char * substatus, char * msg); + + +#endif /* LOGWRITER_H_ */ diff --git a/customdhcpcd/src/mk/cc.mk b/customdhcpcd/src/mk/cc.mk new file mode 100644 index 0000000..d52597b --- /dev/null +++ b/customdhcpcd/src/mk/cc.mk @@ -0,0 +1,23 @@ +# Copyright 2008 Roy Marples + +# Setup some good default CFLAGS +CFLAGS?= -O2 + +# Default to using the C99 standard +CSTD?= c99 +_CSTD_SH= if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi +_CSTD!= ${_CSTD_SH} +CFLAGS+= ${_CSTD}$(shell ${_CSTD_SH}) + +# Try and use some good cc flags +_CC_FLAGS= -pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \ + -Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \ + -Wbad-function-cast -Wnested-externs -Wcomment -Winline \ + -Wchar-subscripts -Wcast-align -Wno-format-nonliteral \ + -Wdeclaration-after-statement -Wsequence-point -Wextra +_CC_FLAGS_SH= for f in ${_CC_FLAGS}; do \ + if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ + then printf "%s" "$$f "; fi \ + done +_CC_FLAGS!= ${_CC_FLAGS_SH} +CFLAGS+= ${_CC_FLAGS}$(shell ${CC_FLAGS_SH}) diff --git a/customdhcpcd/src/mk/depend.mk b/customdhcpcd/src/mk/depend.mk new file mode 100644 index 0000000..a4d717a --- /dev/null +++ b/customdhcpcd/src/mk/depend.mk @@ -0,0 +1,11 @@ +# This only works for make implementations that always include a .depend if +# it exists. Only GNU make does not do this. + +# Copyright 2008 Roy Marples + +CLEANFILES+= .depend + +.depend: ${SRCS} + ${CC} ${CFLAGS} -MM ${SRCS} > .depend + +depend: .depend diff --git a/customdhcpcd/src/mk/dist.mk b/customdhcpcd/src/mk/dist.mk new file mode 100644 index 0000000..1d3669d --- /dev/null +++ b/customdhcpcd/src/mk/dist.mk @@ -0,0 +1,11 @@ +# rules to make a distribution tarball from a git repo +# Copyright 2008 Roy Marples + +GITREF?= HEAD +DISTPREFIX?= ${PROG}-${VERSION} +DISTFILE?= ${DISTPREFIX}.tar.bz2 + +CLEANFILES+= ${DISTFILE} + +dist: + git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE} diff --git a/customdhcpcd/src/mk/man.mk b/customdhcpcd/src/mk/man.mk new file mode 100644 index 0000000..5d9bf26 --- /dev/null +++ b/customdhcpcd/src/mk/man.mk @@ -0,0 +1,14 @@ +# rules to install manpages +# Copyright 2008 Roy Marples + +MANPREFIX?= /usr/share +MANDIR?= ${MANPREFIX}/man/man +MANMODE?= 0444 +MINSTALL?= ${INSTALL} -m ${MANMODE} + +man: ${MAN} + +# We cheat as all our pages go into section 8 +maninstall: man + ${INSTALL} -d ${DESTDIR}${MANDIR}8 + for man in ${MAN}; do ${MINSTALL} $$man ${DESTDIR}${MANDIR}8; done diff --git a/customdhcpcd/src/mk/os.mk b/customdhcpcd/src/mk/os.mk new file mode 100644 index 0000000..af173fc --- /dev/null +++ b/customdhcpcd/src/mk/os.mk @@ -0,0 +1,77 @@ +# Setup OS specific variables +# Copyright 2008 Roy Marples + +# Work out if we need -lresolv or not +_LIBRESOLV_SH= printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ + if ${CC} .res_init.c -o .res_init >/dev/null 2>&1; then \ + echo ""; \ + elif ${CC} .res_init.c -lresolv -o .res_init >/dev/null 2>&1; then \ + echo "-lresolv"; \ + else \ + echo "Cannot work out how to get res_init to link" >&2; \ + rm -f .res_init.c .res_init; \ + exit 1; \ + fi; \ + rm -f .res_init.c .res_init +_LIBRESOLV!= ${_LIBRESOLV_SH} +LIBRESOLV= ${_LIBRESOLV}$(shell ${_LIBRESOLV_SH}) + +# Work out if we need -lrt or not +_LIBRT_SH= printf '\#include \n\#include \n\nint main (void) { struct timespec ts;\n\#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC)\nreturn (clock_gettime (CLOCK_MONOTONIC, &ts));\n\#else\nreturn -1;\n\#endif\n}\n' > .clock_gettime.c; \ + if ${CC} .clock_gettime.c -o .clock_gettime >/dev/null 2>&1; then \ + echo ""; \ + elif ${CC} .clock_gettime.c -lrt -o .clock_gettime >/dev/null 2>&1; then \ + echo "-lrt"; \ + else \ + echo ""; \ + fi; \ + rm -f .clock_gettime.c .clock_gettime +_LIBRT!= ${_LIBRT_SH} +LIBRT= ${_LIBRT}$(shell ${_LIBRT_SH}) + +# Work out if our fork() works or not +_HAVE_FORK_SH= if test "${HAVE_FORK}" = "yes"; then \ + echo ""; \ + elif test -n "${HAVE_FORK}"; then \ + echo "-DTHERE_IS_NO_FORK"; \ + else \ + printf '\#include \n\#include \nint main (void) { pid_t pid = fork(); if (pid == -1) exit (-1); exit (0); }\n' > .fork.c; \ + ${CC} .fork.c -o .fork >/dev/null 2>&1; \ + if ./.fork; then \ + echo ""; \ + else \ + echo "-DTHERE_IS_NO_FORK"; \ + fi; \ + rm -f .fork.c .fork; \ + fi; +_HAVE_FORK!= ${_HAVE_FORK_SH} +FORK= ${_HAVE_FORK}$(shell ${_HAVE_FORK_SH}) + +# info dir defaults to /var/lib/dhcpcd on Linux and /var/db elsewhere +_INFODIR_SH= if test -n "${INFODIR}"; then \ + echo "${INFODIR}"; \ + else \ + case `uname -s` in \ + Linux) echo "/var/lib/dhcpcd";; \ + *) echo "/var/db";; \ + esac \ + fi +_INFODIR!= ${_INFODIR_SH} +INFOD?= ${_INFODIR}$(shell ${_INFODIR_SH}) + +# Work out how to restart services +_RC_SH= if test -n "${HAVE_INIT}"; then \ + test "${HAVE_INIT}" = "no" || echo "-DENABLE_${HAVE_INIT}"; \ + elif test -x /sbin/runscript; then echo "-DENABLE_OPENRC"; \ + elif test -x /sbin/service; then echo "-DENABLE_SERVICE"; \ + elif test -x /etc/rc.d/rc.S -a -x /etc/rc.d/rc.M; then echo "-DENABLE_SLACKRC"; \ + elif test -d /etc/rc.d; then echo "-DENABLE_BSDRC"; \ + elif test -d /etc/init.d; then echo "-DENABLE_SYSV"; \ + fi +_RC!= ${_RC_SH} +RC= ${_RC}$(shell ${_RC_SH}) + +# glibc requires _BSD_SOURCE and _XOPEN_SOURCE +_DEF_SH= case `uname -s` in Linux) echo "-D_BSD_SOURCE -D_XOPEN_SOURCE=600";; *) echo;; esac +_DEF!= ${_DEF_SH} +CFLAGS+= ${_DEF}$(shell ${_DEF_SH}) diff --git a/customdhcpcd/src/mk/prog.mk b/customdhcpcd/src/mk/prog.mk new file mode 100644 index 0000000..6f2560c --- /dev/null +++ b/customdhcpcd/src/mk/prog.mk @@ -0,0 +1,34 @@ +# rules to build a program +# based on FreeBSD's bsd.prog.mk + +# Copyright 2008 Roy Marples + +BINDIR?= ${PREFIX}/usr/bin +BINMODE?= 0755 +OBJS+= ${SRCS:.c=.o} + +INSTALL?= install + +all: ${PROG} ${MAN} + +${PROG}: ${SCRIPTS} ${OBJS} + ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} + +_proginstall: ${PROG} + ${INSTALL} -d ${DESTDIR}${BINDIR} + ${INSTALL} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR} + +include ${MK}/depend.mk +include ${MK}/man.mk +include ${MK}/dist.mk + +install: _proginstall maninstall + +clean: + rm -f ${OBJS} ${PROG} ${CLEANFILES} + +LINTFLAGS?= -hx +LINTFLAGS+= -X 159,247,352 + +lint: ${SRCS:.c=.c} + ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} $^ ${.ALLSRC} diff --git a/customdhcpcd/src/signal.c b/customdhcpcd/src/signal.c new file mode 100644 index 0000000..9055c9f --- /dev/null +++ b/customdhcpcd/src/signal.c @@ -0,0 +1,183 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "common.h" +#include "logger.h" +#include "signal.h" + +static int signal_pipe[2]; +static int signals[5]; + +static const int handle_sigs[] = { + SIGHUP, + SIGALRM, + SIGTERM, + SIGINT +}; + +static void signal_handler (int sig) +{ + unsigned int i = 0; + int serrno = errno; + + /* Add a signal to our stack */ + while (signals[i]) + i++; + if (i > sizeof (signals) / sizeof (signals[0])) + logger (LOG_ERR, "signal buffer overrun"); + else + signals[i] = sig; + + if (write (signal_pipe[1], &sig, sizeof (sig)) == -1) + logger (LOG_ERR, "Could not send signal: %s", strerror (errno)); + + /* Restore errno */ + errno = serrno; +} + +int signal_fd (void) +{ + return (signal_pipe[0]); +} + +/* Check if we have a signal or not */ +int signal_exists (const struct pollfd *fd) +{ + if (signals[0] || (fd && fd->revents & POLLIN)) + return (0); + return (-1); +} + +/* Read a signal from the signal pipe. Returns 0 if there is + * no signal, -1 on error (and sets errno appropriately), and + * your signal on success */ +int signal_read (struct pollfd *fd) +{ + int sig = -1; + + /* Pop a signal off the our stack */ + if (signals[0]) { + unsigned int i = 0; + sig = signals[0]; + while (i < (sizeof (signals) / sizeof (signals[0])) - 1) { + signals[i] = signals[i + 1]; + if (! signals[++i]) + break; + } + } + + if (fd && fd->revents & POLLIN) { + char buf[16]; + size_t bytes; + + memset (buf, 0, sizeof (buf)); + bytes = read (signal_pipe[0], buf, sizeof (buf)); + + if (bytes >= sizeof (sig)) + memcpy (&sig, buf, sizeof (sig)); + + /* We need to clear us from rset if nothing left in the buffer + * in case we are called many times */ + if (bytes == sizeof (sig)) + fd->revents = 0; + } + + return (sig); +} + +/* Call this before doing anything else. Sets up the socket pair + * and installs the signal handler */ +int signal_init (void) +{ + struct sigaction sa; + + if (pipe (signal_pipe) == -1) { + logger (LOG_ERR, "pipe: %s", strerror (errno)); + return (-1); + } + + /* Stop any scripts from inheriting us */ + close_on_exec (signal_pipe[0]); + close_on_exec (signal_pipe[1]); + + /* Ignore child signals and don't make zombies. + * Because we do this, we don't need to be in signal_setup */ + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = SIG_DFL; + sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT; + if (sigaction (SIGCHLD, &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + memset (signals, 0, sizeof (signals)); + return (0); +} + +int signal_setup (void) +{ + unsigned int i; + struct sigaction sa; + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = signal_handler; + sigemptyset (&sa.sa_mask); + + for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) + if (sigaction (handle_sigs[i], &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + return (0); +} + +int signal_reset (void) +{ + struct sigaction sa; + unsigned int i; + + memset (&sa, 0, sizeof (sa)); + sa.sa_handler = SIG_DFL; + sigemptyset (&sa.sa_mask); + + for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) + if (sigaction (handle_sigs[i], &sa, NULL) == -1) { + logger (LOG_ERR, "sigaction: %s", strerror (errno)); + return (-1); + } + + return (0); +} diff --git a/customdhcpcd/src/signal.h b/customdhcpcd/src/signal.h new file mode 100644 index 0000000..63a5906 --- /dev/null +++ b/customdhcpcd/src/signal.h @@ -0,0 +1,40 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SIGNAL_H +#define SIGNAL_H + +#include + +int signal_init (void); +int signal_setup (void); +int signal_reset (void); +int signal_fd (void); +int signal_exists (const struct pollfd *fd); +int signal_read (struct pollfd *fd); + +#endif diff --git a/customdhcpcd/src/socket.c b/customdhcpcd/src/socket.c new file mode 100644 index 0000000..58ad6c5 --- /dev/null +++ b/customdhcpcd/src/socket.c @@ -0,0 +1,647 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#define __FAVOR_BSD /* Nasty hack so we can use BSD semantics for UDP */ +#include +#undef __FAVOR_BSD +#include +#include +#include +#include +#include +#include +#include +#include + +#if defined(BSD) || defined(__FreeBSD_kernel__) +# include +#elif __linux__ +# include +# include +# define bpf_insn sock_filter +#endif + +#include "config.h" +#include "dhcp.h" +#include "interface.h" +#include "logger.h" +#include "socket.h" + +/* A suitably large buffer for all transactions. + * BPF buffer size is set by the kernel, so no define. */ +#ifdef __linux__ +# define BUFFER_LENGTH 4096 +#endif + +/* Broadcast address for IPoIB */ +static const uint8_t ipv4_bcast_addr[] = { + 0x00, 0xff, 0xff, 0xff, + 0xff, 0x12, 0x40, 0x1b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff +}; + +/* Credit where credit is due :) + * The below BPF filter is taken from ISC DHCP */ +static struct bpf_insn dhcp_bpf_filter [] = { + /* Make sure this is an IP packet... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_IP, 0, 8), + + /* Make sure it's a UDP packet... */ + BPF_STMT (BPF_LD + BPF_B + BPF_ABS, 23), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6), + + /* Make sure this isn't a fragment... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), + BPF_JUMP (BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0), + + /* Get the IP header length... */ + BPF_STMT (BPF_LDX + BPF_B + BPF_MSH, 14), + + /* Make sure it's to the right port... */ + BPF_STMT (BPF_LD + BPF_H + BPF_IND, 16), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, DHCP_CLIENT_PORT, 0, 1), + + /* If we passed all the tests, ask for the whole packet. */ + BPF_STMT (BPF_RET + BPF_K, ~0U), + + /* Otherwise, drop it. */ + BPF_STMT (BPF_RET + BPF_K, 0), +}; + +static struct bpf_insn arp_bpf_filter [] = { + /* Make sure this is an ARP packet... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_ARP, 0, 3), + + /* Make sure this is an ARP REPLY... */ + BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), + BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ARPOP_REPLY, 0, 1), + + /* If we passed all the tests, ask for the whole packet. */ + BPF_STMT (BPF_RET + BPF_K, ~0U), + + /* Otherwise, drop it. */ + BPF_STMT (BPF_RET + BPF_K, 0), +}; + +void setup_packet_filters (void) +{ +#ifdef __linux__ + /* We need to massage the filters for Linux cooked packets */ + dhcp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ + dhcp_bpf_filter[2].k -= ETH_HLEN; + dhcp_bpf_filter[4].k -= ETH_HLEN; + dhcp_bpf_filter[6].k -= ETH_HLEN; + dhcp_bpf_filter[7].k -= ETH_HLEN; + + arp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ + arp_bpf_filter[2].k -= ETH_HLEN; +#endif +} + +static uint16_t checksum (unsigned char *addr, uint16_t len) +{ + uint32_t sum = 0; + union + { + unsigned char *addr; + uint16_t *i; + } p; + uint16_t nleft = len; + + p.addr = addr; + while (nleft > 1) { + sum += *p.i++; + nleft -= 2; + } + + if (nleft == 1) { + uint8_t a = 0; + memcpy (&a, p.i, 1); + sum += ntohs (a) << 8; + } + + sum = (sum >> 16) + (sum & 0xffff); + sum += (sum >> 16); + + return ~sum; +} + +void make_dhcp_packet(struct udp_dhcp_packet *packet, + const unsigned char *data, size_t length, + struct in_addr source, struct in_addr dest) +{ + struct ip *ip = &packet->ip; + struct udphdr *udp = &packet->udp; + + /* OK, this is important :) + * We copy the data to our packet and then create a small part of the + * ip structure and an invalid ip_len (basically udp length). + * We then fill the udp structure and put the checksum + * of the whole packet into the udp checksum. + * Finally we complete the ip structure and ip checksum. + * If we don't do the ordering like so then the udp checksum will be + * broken, so find another way of doing it! */ + + memcpy (&packet->dhcp, data, length); + + ip->ip_p = IPPROTO_UDP; + ip->ip_src.s_addr = source.s_addr; + if (dest.s_addr == 0) + ip->ip_dst.s_addr = INADDR_BROADCAST; + else + ip->ip_dst.s_addr = dest.s_addr; + + udp->uh_sport = htons (DHCP_CLIENT_PORT); + udp->uh_dport = htons (DHCP_SERVER_PORT); + udp->uh_ulen = htons (sizeof (*udp) + length); + ip->ip_len = udp->uh_ulen; + udp->uh_sum = checksum ((unsigned char *) packet, sizeof (*packet)); + + ip->ip_v = IPVERSION; + ip->ip_hl = 5; + ip->ip_id = 0; + ip->ip_tos = IPTOS_LOWDELAY; + ip->ip_len = htons (sizeof (*ip) + sizeof (*udp) + length); + ip->ip_id = 0; + ip->ip_off = htons (IP_DF); /* Don't fragment */ + ip->ip_ttl = IPDEFTTL; + + ip->ip_sum = checksum ((unsigned char *) ip, sizeof (*ip)); +} + +static int valid_dhcp_packet (unsigned char *data) +{ + union + { + unsigned char *data; + struct udp_dhcp_packet *packet; + } d; + uint16_t bytes; + uint16_t ipsum; + uint16_t iplen; + uint16_t udpsum; + struct in_addr source; + struct in_addr dest; + int retval = 0; + + d.data = data; + bytes = ntohs (d.packet->ip.ip_len); + ipsum = d.packet->ip.ip_sum; + iplen = d.packet->ip.ip_len; + udpsum = d.packet->udp.uh_sum; + + d.data = data; + d.packet->ip.ip_sum = 0; + if (ipsum != checksum ((unsigned char *) &d.packet->ip, + sizeof (d.packet->ip))) + { + logger (LOG_DEBUG, "bad IP header checksum, ignoring"); + retval = -1; + goto eexit; + } + + memcpy (&source, &d.packet->ip.ip_src, sizeof (d.packet->ip.ip_src)); + memcpy (&dest, &d.packet->ip.ip_dst, sizeof (d.packet->ip.ip_dst)); + memset (&d.packet->ip, 0, sizeof (d.packet->ip)); + d.packet->udp.uh_sum = 0; + + d.packet->ip.ip_p = IPPROTO_UDP; + memcpy (&d.packet->ip.ip_src, &source, sizeof (d.packet->ip.ip_src)); + memcpy (&d.packet->ip.ip_dst, &dest, sizeof (d.packet->ip.ip_dst)); + d.packet->ip.ip_len = d.packet->udp.uh_ulen; + if (udpsum && udpsum != checksum (d.data, bytes)) { + logger (LOG_ERR, "bad UDP checksum, ignoring"); + retval = -1; + } + +eexit: + d.packet->ip.ip_sum = ipsum; + d.packet->ip.ip_len = iplen; + d.packet->udp.uh_sum = udpsum; + + return retval; +} + +#if defined(BSD) || defined(__FreeBSD_kernel__) +int open_socket (interface_t *iface, int protocol) +{ + int n = 0; + int fd = -1; + char *device; + int flags; + struct ifreq ifr; + int buf = 0; + struct bpf_program pf; + + device = xmalloc (sizeof (char) * PATH_MAX); + do { + snprintf (device, PATH_MAX, "/dev/bpf%d", n++); + fd = open (device, O_RDWR); + } while (fd == -1 && errno == EBUSY); + free (device); + + if (fd == -1) { + logger (LOG_ERR, "unable to open a BPF device"); + return -1; + } + + close_on_exec (fd); + + memset (&ifr, 0, sizeof (ifr)); + strlcpy (ifr.ifr_name, iface->name, sizeof (ifr.ifr_name)); + if (ioctl (fd, BIOCSETIF, &ifr) == -1) { + logger (LOG_ERR, + "cannot attach interface `%s' to bpf device `%s': %s", + iface->name, device, strerror (errno)); + close (fd); + return -1; + } + + /* Get the required BPF buffer length from the kernel. */ + if (ioctl (fd, BIOCGBLEN, &buf) == -1) { + logger (LOG_ERR, "ioctl BIOCGBLEN: %s", strerror (errno)); + close (fd); + return -1; + } + iface->buffer_length = buf; + + flags = 1; + if (ioctl (fd, BIOCIMMEDIATE, &flags) == -1) { + logger (LOG_ERR, "ioctl BIOCIMMEDIATE: %s", strerror (errno)); + close (fd); + return -1; + } + + /* Install the DHCP filter */ + if (protocol == ETHERTYPE_ARP) { + pf.bf_insns = arp_bpf_filter; + pf.bf_len = sizeof (arp_bpf_filter) + / sizeof (arp_bpf_filter[0]); + } else { + pf.bf_insns = dhcp_bpf_filter; + pf.bf_len = sizeof (dhcp_bpf_filter) + / sizeof (dhcp_bpf_filter[0]); + } + if (ioctl (fd, BIOCSETF, &pf) == -1) { + logger (LOG_ERR, "ioctl BIOCSETF: %s", strerror (errno)); + close (fd); + return -1; + } + + if (iface->fd > -1) + close (iface->fd); + iface->fd = fd; + + return fd; +} + +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len) +{ + ssize_t retval = -1; + struct iovec iov[2]; + + if (iface->family == ARPHRD_ETHER) { + struct ether_header hw; + memset (&hw, 0, sizeof (hw)); + memset (&hw.ether_dhost, 0xff, ETHER_ADDR_LEN); + hw.ether_type = htons (type); + + iov[0].iov_base = &hw; + iov[0].iov_len = sizeof (hw); + } else { + logger (LOG_ERR, "unsupported interace type %d", iface->family); + return -1; + } + iov[1].iov_base = (unsigned char *) data; + iov[1].iov_len = len; + + if ((retval = writev(iface->fd, iov, 2)) == -1) + logger (LOG_ERR, "writev: %s", strerror (errno)); + + return retval; +} + +/* BPF requires that we read the entire buffer. + * So we pass the buffer in the API so we can loop on >1 dhcp packet. */ +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, + size_t *buffer_len, size_t *buffer_pos) +{ + union + { + unsigned char *buffer; + struct bpf_hdr *packet; + } bpf; + + bpf.buffer = buffer; + + if (*buffer_pos < 1) { + memset (bpf.buffer, 0, iface->buffer_length); + *buffer_len = read (iface->fd, bpf.buffer, iface->buffer_length); + *buffer_pos = 0; + if (*buffer_len < 1) { + struct timespec ts; + logger (LOG_ERR, "read: %s", strerror (errno)); + ts.tv_sec = 3; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (-1); + } + } else + bpf.buffer += *buffer_pos; + + while (bpf.packet) { + size_t len = 0; + union + { + unsigned char *buffer; + struct ether_header *hw; + } hdr; + unsigned char *payload; + bool have_data = false; + + /* Ensure that the entire packet is in our buffer */ + if (*buffer_pos + bpf.packet->bh_hdrlen + bpf.packet->bh_caplen + > (unsigned) *buffer_len) + break; + + hdr.buffer = bpf.buffer + bpf.packet->bh_hdrlen; + payload = hdr.buffer + sizeof (*hdr.hw); + + /* If it's an ARP reply, then just send it back */ + if (hdr.hw->ether_type == htons (ETHERTYPE_ARP)) { + len = bpf.packet->bh_caplen - + sizeof (*hdr.hw); + memcpy (data, payload, len); + have_data = true; + } else { + if (valid_dhcp_packet (payload) >= 0) { + union + { + unsigned char *buffer; + struct udp_dhcp_packet *packet; + } pay; + pay.buffer = payload; + len = ntohs (pay.packet->ip.ip_len) - + sizeof (pay.packet->ip) - + sizeof (pay.packet->udp); + memcpy (data, &pay.packet->dhcp, len); + have_data = true; + } + } + + /* Update the buffer_pos pointer */ + bpf.buffer += BPF_WORDALIGN (bpf.packet->bh_hdrlen + + bpf.packet->bh_caplen); + if ((unsigned) (bpf.buffer - buffer) < *buffer_len) + *buffer_pos = bpf.buffer - buffer; + else + *buffer_pos = 0; + + if (have_data) + return len; + + if (*buffer_pos == 0) + break; + } + + /* No valid packets left, so return */ + *buffer_pos = 0; + return -1; +} + +#elif __linux__ + +int open_socket (interface_t *iface, int protocol) +{ + int fd; + union sockunion { + struct sockaddr sa; + struct sockaddr_in sin; + struct sockaddr_ll sll; + struct sockaddr_storage ss; + } su; + struct sock_fprog pf; + struct ifreq ifr; + int n = 1; + + /* We need to bind to a port, otherwise Linux generate ICMP messages + * that cannot contect the port when we have an address. + * We don't actually use this fd at all, instead using our packet + * filter socket. */ + if (iface->listen_fd == -1 && protocol == ETHERTYPE_IP) { + if ((fd = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + } else { + memset (&su, 0, sizeof (su)); + su.sin.sin_family = AF_INET; + su.sin.sin_port = htons (DHCP_CLIENT_PORT); + if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, + &n, sizeof (n)) == -1) + logger (LOG_ERR, "SO_REUSEADDR: %s", + strerror (errno)); + if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, + &n, sizeof (n)) == -1) + logger (LOG_ERR, "SO_RCVBUF: %s", + strerror (errno)); + memset (&ifr, 0, sizeof (ifr)); + strncpy (ifr.ifr_name, iface->name, + sizeof (ifr.ifr_name)); + if (setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, + &ifr, sizeof (ifr)) == -1) + logger (LOG_ERR, "SO_SOBINDTODEVICE: %s", + strerror (errno)); + if (bind (fd, &su.sa, sizeof (su)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (fd); + } else { + iface->listen_fd = fd; + close_on_exec (fd); + } + } + } + + if ((fd = socket (PF_PACKET, SOCK_DGRAM, htons (protocol))) == -1) { + logger (LOG_ERR, "socket: %s", strerror (errno)); + return (-1); + } + close_on_exec (fd); + + memset (&su, 0, sizeof (su)); + su.sll.sll_family = PF_PACKET; + su.sll.sll_protocol = htons (protocol); + if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { + logger (LOG_ERR, + "if_nametoindex: no index for interface `%s'", + iface->name); + close (fd); + return (-1); + } + + /* Install the DHCP filter */ + memset (&pf, 0, sizeof (pf)); + if (protocol == ETHERTYPE_ARP) { + pf.filter = arp_bpf_filter; + pf.len = sizeof (arp_bpf_filter) / sizeof (arp_bpf_filter[0]); + } else { + pf.filter = dhcp_bpf_filter; + pf.len = sizeof (dhcp_bpf_filter) / sizeof (dhcp_bpf_filter[0]); + } + if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, + &pf, sizeof (pf)) != 0) + { + logger (LOG_ERR, "SO_ATTACH_FILTER: %s", strerror (errno)); + close (fd); + return (-1); + } + + if (bind (fd, &su.sa, sizeof (su)) == -1) { + logger (LOG_ERR, "bind: %s", strerror (errno)); + close (fd); + return (-1); + } + + if (iface->fd > -1) + close (iface->fd); + iface->fd = fd; + iface->socket_protocol = protocol; + iface->buffer_length = BUFFER_LENGTH; + + return (fd); +} + +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len) +{ + union sockunion { + struct sockaddr sa; + struct sockaddr_ll sll; + struct sockaddr_storage ss; + } su; + ssize_t retval; + + if (! iface) + return (-1); + + memset (&su, 0, sizeof (su)); + su.sll.sll_family = AF_PACKET; + su.sll.sll_protocol = htons (type); + + if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { + logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", + iface->name); + return (-1); + } + + su.sll.sll_hatype = htons (iface->family); + su.sll.sll_halen = iface->hwlen; + if (iface->family == ARPHRD_INFINIBAND) + memcpy (&su.sll.sll_addr, + &ipv4_bcast_addr, sizeof (ipv4_bcast_addr)); + else + memset (&su.sll.sll_addr, 0xff, iface->hwlen); + + if ((retval = sendto (iface->fd, data, len, 0, &su.sa, + sizeof (su))) == -1) + + logger (LOG_ERR, "sendto: %s", strerror (errno)); + return (retval); +} + +/* Linux has no need for the buffer as we can read as much as we want. + * We only have the buffer listed to keep the same API. */ +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, + size_t *buffer_len, size_t *buffer_pos) +{ + ssize_t bytes; + union + { + unsigned char *buffer; + struct udp_dhcp_packet *packet; + } pay; + + /* We don't use the given buffer, but we need to rewind the position */ + *buffer_pos = 0; + + memset (buffer, 0, iface->buffer_length); + bytes = read (iface->fd, buffer, iface->buffer_length); + + if (bytes == -1) { + struct timespec ts; + logger (LOG_ERR, "read: %s", strerror (errno)); + ts.tv_sec = 3; + ts.tv_nsec = 0; + nanosleep (&ts, NULL); + return (-1); + } + + *buffer_len = bytes; + /* If it's an ARP reply, then just send it back */ + if (iface->socket_protocol == ETHERTYPE_ARP) { + memcpy (data, buffer, bytes); + return (bytes); + } + + if ((unsigned) bytes < (sizeof (pay.packet->ip) + + sizeof (pay.packet->udp))) + { + logger (LOG_DEBUG, "message too short, ignoring"); + return (-1); + } + + pay.buffer = buffer; + if (bytes < ntohs (pay.packet->ip.ip_len)) { + logger (LOG_DEBUG, "truncated packet, ignoring"); + return (-1); + } + + if (valid_dhcp_packet (buffer) == -1) + return (-1); + + bytes = ntohs (pay.packet->ip.ip_len) - + (sizeof (pay.packet->ip) + sizeof (pay.packet->udp)); + memcpy (data, &pay.packet->dhcp, bytes); + return (bytes); +} + +#else + #error "Platform not supported!" + #error "We currently support BPF and Linux sockets." + #error "Other platforms may work using BPF. If yours does, please let me know" + #error "so I can add it to our list." +#endif diff --git a/customdhcpcd/src/socket.h b/customdhcpcd/src/socket.h new file mode 100644 index 0000000..bdf26d0 --- /dev/null +++ b/customdhcpcd/src/socket.h @@ -0,0 +1,46 @@ +/* + * dhcpcd - DHCP client daemon + * Copyright 2006-2008 Roy Marples + * All rights reserved + + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef SOCKET_H +#define SOCKET_H + +#include + +#include "dhcp.h" +#include "interface.h" + +void setup_packet_filters (void); +void make_dhcp_packet(struct udp_dhcp_packet *packet, + const unsigned char *data, size_t length, + struct in_addr source, struct in_addr dest); + +int open_socket (interface_t *iface, int protocol); +ssize_t send_packet (const interface_t *iface, int type, + const unsigned char *data, size_t len); +ssize_t get_packet (const interface_t *iface, unsigned char *data, + unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos); +#endif diff --git a/customdhcpcd/src/status.h b/customdhcpcd/src/status.h new file mode 100644 index 0000000..0a1dc8a --- /dev/null +++ b/customdhcpcd/src/status.h @@ -0,0 +1,19 @@ +/* + * status.h + * + * Created on: Jul 11, 2011 + * Author: niklas + */ + +#ifndef STATUS_H_ +#define STATUS_H_ + +#define DHCPCD_EXIT 9 +#define DHCPCD_ARP_TEST 10 +#define DHCPCD_CONFIGURE 11 +#define DHCPCD_WRITE 12 +#define DHCPCD_LOG 13 + + + +#endif /* STATUS_H_ */ diff --git a/workspace/LogReceiver/LogReceiver b/workspace/LogReceiver/LogReceiver deleted file mode 100755 index a16897b..0000000 Binary files a/workspace/LogReceiver/LogReceiver and /dev/null differ diff --git a/workspace/LogReceiver/LogReceiver.pro b/workspace/LogReceiver/LogReceiver.pro deleted file mode 100644 index 19300fa..0000000 --- a/workspace/LogReceiver/LogReceiver.pro +++ /dev/null @@ -1,19 +0,0 @@ -TEMPLATE = app -TARGET = LogReceiver -QT += core \ - gui \ - network -LIBS += -lsysfs -INCLUDEPATH += ../customdhcpcd/src -HEADERS += ndgui.h \ - logreceiver.h \ - abortbootdialog.h \ - chooseinterfacedialog.h -SOURCES += ndgui.cpp \ - main.cpp \ - logreceiver.cpp \ - abortbootdialog.cpp \ - chooseinterfacedialog.cpp -FORMS += ndgui.ui \ - logreceiver.ui -RESOURCES += diff --git a/workspace/LogReceiver/Makefile b/workspace/LogReceiver/Makefile deleted file mode 100644 index cd541af..0000000 --- a/workspace/LogReceiver/Makefile +++ /dev/null @@ -1,278 +0,0 @@ -############################################################################# -# Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Aug 24 10:11:58 2011 -# Project: LogReceiver.pro -# Template: app -# Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.7.2/include -I../customdhcpcd/src -I. -I. -LINK = g++ -LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lsysfs -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lQtNetwork -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = ./ - -####### Files - -SOURCES = ndgui.cpp \ - main.cpp \ - logreceiver.cpp \ - abortbootdialog.cpp \ - chooseinterfacedialog.cpp moc_ndgui.cpp \ - moc_logreceiver.cpp \ - moc_abortbootdialog.cpp \ - moc_chooseinterfacedialog.cpp -OBJECTS = ndgui.o \ - main.o \ - logreceiver.o \ - abortbootdialog.o \ - chooseinterfacedialog.o \ - moc_ndgui.o \ - moc_logreceiver.o \ - moc_abortbootdialog.o \ - moc_chooseinterfacedialog.o -DIST = /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ - LogReceiver.pro -QMAKE_TARGET = LogReceiver -DESTDIR = -TARGET = LogReceiver - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile $(TARGET) - -$(TARGET): ui_ndgui.h ui_logreceiver.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -Makefile: LogReceiver.pro /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++/qmake.conf /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl \ - /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl \ - /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl - $(QMAKE) -o Makefile LogReceiver.pro -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl: -/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl: -/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl: -qmake: FORCE - @$(QMAKE) -o Makefile LogReceiver.pro - -dist: - @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile - - -check: first - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp -compiler_moc_header_clean: - -$(DEL_FILE) moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp -moc_ndgui.cpp: ui_ndgui.h \ - logreceiver.h \ - chooseinterfacedialog.h \ - abortbootdialog.h \ - ndgui.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o moc_ndgui.cpp - -moc_logreceiver.cpp: logreceiver.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o moc_logreceiver.cpp - -moc_abortbootdialog.cpp: abortbootdialog.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) abortbootdialog.h -o moc_abortbootdialog.cpp - -moc_chooseinterfacedialog.cpp: chooseinterfacedialog.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) chooseinterfacedialog.h -o moc_chooseinterfacedialog.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_ndgui.h ui_logreceiver.h -compiler_uic_clean: - -$(DEL_FILE) ui_ndgui.h ui_logreceiver.h -ui_ndgui.h: ndgui.ui - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h - -ui_logreceiver.h: logreceiver.ui - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -ndgui.o: ndgui.cpp ndgui.h \ - ui_ndgui.h \ - logreceiver.h \ - chooseinterfacedialog.h \ - abortbootdialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ndgui.o ndgui.cpp - -main.o: main.cpp ndgui.h \ - ui_ndgui.h \ - logreceiver.h \ - chooseinterfacedialog.h \ - abortbootdialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp - -logreceiver.o: logreceiver.cpp logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o logreceiver.o logreceiver.cpp - -abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o abortbootdialog.o abortbootdialog.cpp - -chooseinterfacedialog.o: chooseinterfacedialog.cpp chooseinterfacedialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chooseinterfacedialog.o chooseinterfacedialog.cpp - -moc_ndgui.o: moc_ndgui.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ndgui.o moc_ndgui.cpp - -moc_logreceiver.o: moc_logreceiver.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_logreceiver.o moc_logreceiver.cpp - -moc_abortbootdialog.o: moc_abortbootdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_abortbootdialog.o moc_abortbootdialog.cpp - -moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chooseinterfacedialog.o moc_chooseinterfacedialog.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/workspace/LogReceiver/Makefile.Debug b/workspace/LogReceiver/Makefile.Debug deleted file mode 100644 index 29db2ad..0000000 --- a/workspace/LogReceiver/Makefile.Debug +++ /dev/null @@ -1,178 +0,0 @@ -############################################################################# -# Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 -# Project: LogReceiver.pro -# Template: app -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Idebug -I. -LINK = g++ -LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = debug/ - -####### Files - -SOURCES = main.cpp \ - logreceiver.cpp debug/moc_logreceiver.cpp -OBJECTS = debug/main.o \ - debug/logreceiver.o \ - debug/moc_logreceiver.o -DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ - LogReceiver.pro -QMAKE_TARGET = LogReceiver -DESTDIR = -TARGET = LogReceiver - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile.Debug $(TARGET) - -$(TARGET): ui_logreceiver.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -qmake: FORCE - @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Debug LogReceiver.pro - -dist: - @$(CHK_DIR_EXISTS) debug/LogReceiver1.0.0 || $(MKDIR) debug/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui debug/LogReceiver1.0.0/ && (cd `dirname debug/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname debug/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r debug/LogReceiver1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile.Debug - - -check: first - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: debug/moc_logreceiver.cpp -compiler_moc_header_clean: - -$(DEL_FILE) debug/moc_logreceiver.cpp -debug/moc_logreceiver.cpp: ui_logreceiver.h \ - logreceiver.h - /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o debug/moc_logreceiver.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_logreceiver.h -compiler_uic_clean: - -$(DEL_FILE) ui_logreceiver.h -ui_logreceiver.h: logreceiver.ui - /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -debug/main.o: main.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/main.o main.cpp - -debug/logreceiver.o: logreceiver.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/logreceiver.o logreceiver.cpp - -debug/moc_logreceiver.o: debug/moc_logreceiver.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_logreceiver.o debug/moc_logreceiver.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/workspace/LogReceiver/Makefile.Release b/workspace/LogReceiver/Makefile.Release deleted file mode 100644 index 64e6a9f..0000000 --- a/workspace/LogReceiver/Makefile.Release +++ /dev/null @@ -1,178 +0,0 @@ -############################################################################# -# Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 -# Project: LogReceiver.pro -# Template: app -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Irelease -I. -LINK = g++ -LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = release/ - -####### Files - -SOURCES = main.cpp \ - logreceiver.cpp release/moc_logreceiver.cpp -OBJECTS = release/main.o \ - release/logreceiver.o \ - release/moc_logreceiver.o -DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/release.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ - LogReceiver.pro -QMAKE_TARGET = LogReceiver -DESTDIR = -TARGET = LogReceiver - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile.Release $(TARGET) - -$(TARGET): ui_logreceiver.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -qmake: FORCE - @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Release LogReceiver.pro - -dist: - @$(CHK_DIR_EXISTS) release/LogReceiver1.0.0 || $(MKDIR) release/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h release/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui release/LogReceiver1.0.0/ && (cd `dirname release/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname release/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r release/LogReceiver1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile.Release - - -check: first - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: release/moc_logreceiver.cpp -compiler_moc_header_clean: - -$(DEL_FILE) release/moc_logreceiver.cpp -release/moc_logreceiver.cpp: ui_logreceiver.h \ - logreceiver.h - /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o release/moc_logreceiver.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_logreceiver.h -compiler_uic_clean: - -$(DEL_FILE) ui_logreceiver.h -ui_logreceiver.h: logreceiver.ui - /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -release/main.o: main.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/main.o main.cpp - -release/logreceiver.o: logreceiver.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/logreceiver.o logreceiver.cpp - -release/moc_logreceiver.o: release/moc_logreceiver.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_logreceiver.o release/moc_logreceiver.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/workspace/LogReceiver/abortbootdialog.cpp b/workspace/LogReceiver/abortbootdialog.cpp deleted file mode 100644 index 1614f6b..0000000 --- a/workspace/LogReceiver/abortbootdialog.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include - -#include "abortbootdialog.h" - -AbortBootDialog::AbortBootDialog(QWidget *parent) : - QDialog(parent) -{ - oneMinuteCountdown = 60; - - createContentGroupBox(); - createButtonGroupBox(); - - createTimer(); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(contentGroupBox); - mainLayout->addWidget(buttonGroupBox); - - setLayout(mainLayout); - setWindowTitle(tr("Abort Boot")); -} -void AbortBootDialog::createContentGroupBox() -{ - contentGroupBox = new QGroupBox; - timerLabel = new QLabel(QString::number(oneMinuteCountdown)); - QHBoxLayout *layout = new QHBoxLayout; - - - layout->addWidget(new QLabel(tr("test"))); - layout->addWidget(timerLabel); - contentGroupBox->setLayout(layout); -} - -void AbortBootDialog::createButtonGroupBox() -{ - buttonGroupBox = new QGroupBox; - QHBoxLayout *layout = new QHBoxLayout; - - QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); - shutDownButton->setDefault(true); - QPushButton *restartButton = new QPushButton(tr("Restart")); - restartButton->setAutoDefault(false); - QPushButton *showLogButton = new QPushButton(tr("Show Log")); - showLogButton->setAutoDefault(false); - - connect(showLogButton, SIGNAL(clicked()),this, SLOT(showLogButtonClicked())); - connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); - connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); - - layout->addWidget(showLogButton); - layout->addWidget(restartButton); - layout->addWidget(shutDownButton); - buttonGroupBox->setLayout(layout); -} - -void AbortBootDialog::createTimer() -{ - timer = new QTimer(this); - connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); - timer->start(1000); -} - -void AbortBootDialog::showLogButtonClicked() -{ - qDebug() << "show log button clicked"; - emit showLogSignal(); -} - -void AbortBootDialog::shutDownButtonClicked() -{ - qDebug() << "shut down button clicked"; - emit shutDownSignal(); -} - -void AbortBootDialog::restartButtonClicked() -{ - qDebug() << "restart button clicked"; - emit restartSignal(); -} - -void AbortBootDialog::timerLabelUpdate() -{ - oneMinuteCountdown = oneMinuteCountdown -1; - timerLabel->setText(QString::number(oneMinuteCountdown)); - if(oneMinuteCountdown <= 0) - { - timer->stop(); - emit shutDownSignal(); - } - -} - -void AbortBootDialog::closeDialog() -{ - this->hide(); - this->killTimer(timer->timerId()); - this->close(); -} diff --git a/workspace/LogReceiver/abortbootdialog.h b/workspace/LogReceiver/abortbootdialog.h deleted file mode 100644 index 157331b..0000000 --- a/workspace/LogReceiver/abortbootdialog.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef ABORTBOOTDIALOG_H -#define ABORTBOOTDIALOG_H - -#include -#include "qboxlayout.h" -#include "qgroupbox.h" -#include "qcombobox.h" -#include "qlabel.h" - - -class AbortBootDialog : public QDialog -{ - Q_OBJECT -public: - explicit AbortBootDialog(QWidget *parent = 0); - - void closeDialog(); -private slots: - void showLogButtonClicked(); - void shutDownButtonClicked(); - void restartButtonClicked(); - void timerLabelUpdate(); - -private: - QVBoxLayout *mainLayout; - QGroupBox *contentGroupBox; - QGroupBox *buttonGroupBox; - QLabel *timerLabel; - QTimer *timer; - int oneMinuteCountdown; - - void createContentGroupBox(); - void createButtonGroupBox(); - void createTimer(); - - -signals: - void showLogSignal(); - void shutDownSignal(); - void restartSignal(); - -public slots: - -}; - -#endif // ABORTBOOTDIALOG_H diff --git a/workspace/LogReceiver/chooseinterfacedialog.cpp b/workspace/LogReceiver/chooseinterfacedialog.cpp deleted file mode 100644 index b7a37e8..0000000 --- a/workspace/LogReceiver/chooseinterfacedialog.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include - -#include "chooseinterfacedialog.h" - -ChooseInterfaceDialog::ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent) : - QDialog(parent) -{ - oneMinuteCountdown = 60; - - createContentGroupBox(interfaces); - createButtonGroupBox(); - - createTimer(); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(contentGroupBox); - mainLayout->addWidget(buttonGroupBox); - - setLayout(mainLayout); - setWindowTitle(tr("Choose Interface")); -} - -void ChooseInterfaceDialog::createContentGroupBox(QStringList &interfaces) -{ - contentGroupBox = new QGroupBox; - timerLabel = new QLabel(QString::number(oneMinuteCountdown)); - QVBoxLayout *groupBoxLayout = new QVBoxLayout; - QHBoxLayout *layout = new QHBoxLayout; - - comboBox = new QComboBox; - comboBox->addItems(interfaces); - - layout->addWidget(new QLabel(tr("test"))); - layout->addWidget(comboBox); - - groupBoxLayout->addWidget(timerLabel); - groupBoxLayout->addLayout(layout); - contentGroupBox->setLayout(groupBoxLayout); -} - -void ChooseInterfaceDialog::createButtonGroupBox() -{ - buttonGroupBox = new QGroupBox; - QHBoxLayout *layout = new QHBoxLayout; - - QPushButton *continueButton = new QPushButton(tr("Continue")); - continueButton->setDefault(true); - QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); - shutDownButton->setAutoDefault(false); - QPushButton *restartButton = new QPushButton(tr("Restart")); - restartButton->setAutoDefault(false); - - connect(continueButton, SIGNAL(clicked()),this, SLOT(continueButtonClicked())); - connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); - connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); - - layout->addWidget(restartButton); - layout->addWidget(shutDownButton); - layout->addWidget(continueButton); - buttonGroupBox->setLayout(layout); -} - -void ChooseInterfaceDialog::createTimer() -{ - timer = new QTimer(this); - connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); - timer->start(1000); -} - -void ChooseInterfaceDialog::continueButtonClicked() -{ - qDebug() << "continue button clicked"; - emit continueSignal(comboBox->currentText()); -} - -void ChooseInterfaceDialog::shutDownButtonClicked() -{ - qDebug() << "shut down button clicked"; - emit shutDownSignal(); -} - -void ChooseInterfaceDialog::restartButtonClicked() -{ - qDebug() << "restart button clicked"; - emit restartSignal(); -} - -void ChooseInterfaceDialog::timerLabelUpdate() -{ - oneMinuteCountdown = oneMinuteCountdown -1; - timerLabel->setText(QString::number(oneMinuteCountdown)); - if(oneMinuteCountdown <= 0) - { - timer->stop(); - emit continueSignal(comboBox->currentText()); - } - -} diff --git a/workspace/LogReceiver/chooseinterfacedialog.h b/workspace/LogReceiver/chooseinterfacedialog.h deleted file mode 100644 index 48ee038..0000000 --- a/workspace/LogReceiver/chooseinterfacedialog.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef CHOOSEINTERFACEDIALOG_H -#define CHOOSEINTERFACEDIALOG_H - -#include -#include "qboxlayout.h" -#include "qgroupbox.h" -#include "qcombobox.h" -#include "qlabel.h" - -class ChooseInterfaceDialog : public QDialog -{ - Q_OBJECT -public: - explicit ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent = 0); -private slots: - void continueButtonClicked(); - void shutDownButtonClicked(); - void restartButtonClicked(); - void timerLabelUpdate(); - -private: - QVBoxLayout *mainLayout; - QGroupBox *contentGroupBox; - QGroupBox *buttonGroupBox; - QComboBox *comboBox; - QLabel *timerLabel; - QTimer *timer; - int oneMinuteCountdown; - - void createContentGroupBox(QStringList &interfaces); - void createButtonGroupBox(); - void createTimer(); - -signals: - void continueSignal(QString ifName); - void shutDownSignal(); - void restartSignal(); - - -public slots: - -}; - -#endif // CHOOSEINTERFACEDIALOG_H diff --git a/workspace/LogReceiver/logreceiver.cpp b/workspace/LogReceiver/logreceiver.cpp deleted file mode 100644 index 802f442..0000000 --- a/workspace/LogReceiver/logreceiver.cpp +++ /dev/null @@ -1,448 +0,0 @@ -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "logreceiver.h" -#include -#include -#include "status.h" -#include "dhcp.h" - -LogReceiver::LogReceiver() { - - server = new QLocalServer(this); -} - -LogReceiver::~LogReceiver() { - -} - -void LogReceiver::initAndRun(QString serverPath, QString pathToExe, - QStringList* args) { - - if (serverPath != DEFAULT_QTSOCKETADDRESS) { - dhcpcdArguments.append("-q"); - dhcpcdArguments.append(serverPath); - } - if (!server->listen(serverPath)) { - /* - QMessageBox::critical(this, tr("LogReceiver"), tr( - "Unable to start the server: %1.") .arg(server->errorString())); - close(); - */ - // emit signal to the gui that a critial error occoured - QString errorInfo("Unable to start server: "); - qDebug() << "--- \t [LogReceiver::initAndRun] " + errorInfo - << server->errorString(); - emit - abortBoot(errorInfo + server->errorString()); - return; - } - - connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - - pathToDhcpcdExe = pathToExe; - // check if the path to the customdhcpcd file is correct - QFileInfo fInfo(pathToDhcpcdExe); - if (!fInfo.exists()) { - qDebug() - << "couldn't find customdhcpcd exe. Please check the path to this file."; - emit - abortBoot( - "couldn't find customdhcpcd exe. Please check the path to this file."); - return; - } - - if (args != NULL && !args->isEmpty()) { - qDebug() << "--- \t [LogReceiver::initAndRun] added additional args"; - dhcpcdArguments.append(*args); - } - - numberOfProcesses = 0; - - // start the main work: - - QList list = getListOfNetworkInterfaces(); - - if (list.size() > 0) { - - //list = checkCarrierState(list); - - - //dhcpcdArguments.append("-d"); - QString ifName("eth0"); - numberOfProcesses = list.size(); - runDHCPCD(list); - } else { - qDebug() << "list is empty. Haven't found usable interface."; - emit - abortBoot("Haven't found usable interface"); - return; - } - -} - -QList LogReceiver::getListOfNetworkInterfaces() { - QList nIList = QNetworkInterface::allInterfaces(); - QList result; - - if (nIList.size() > 0) { - foreach(QNetworkInterface nI, nIList) - { - if (((!(nI.flags() & QNetworkInterface::CanBroadcast) - || nI.flags() & QNetworkInterface::IsLoopBack) - || nI.flags() & QNetworkInterface::IsPointToPoint) - || checkBlackList(nI.humanReadableName())) { - continue; - } - if (!checkCarrierState(nI.humanReadableName())) { - continue; - } - result.append(nI.humanReadableName()); - emit addNewInterface(nI.humanReadableName()); - } - } else { - qDebug() << "no interfaces found!"; - } - return result; -} - -QList LogReceiver::checkCarrierState(QList &interfaces) { - QList result; - foreach(QString nI, interfaces) - { - if (checkCarrierState(nI)) { - // everything is fine, cable is plugged, - // go on with the next interface - //continue; - result.append(nI); - } - } - return result; -} - -bool LogReceiver::checkCarrierState(QString interface) { - - qDebug() << "check carrier state for interface " << interface; - QByteArray ba = interface.toAscii(); - const char * iface = ba.data(); - - struct sysfs_class_device *class_device = sysfs_open_class_device("net", - iface); - struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); - if (attrlist != NULL) { - struct sysfs_attribute *attr = NULL; - dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { - if (strcmp("carrier", attr->name) == 0) { - QString value(attr->value); - bool ok = false; - bool * pok = &ok; - int v = value.toInt(pok); - if (*pok) { - if (v == 1) { - qDebug() - << "carrier is 1. Cable is plugged. return true"; - return true; - } else { - qDebug() - << "carrier is 0. Cable is unplugged. return false"; - return false; - } - } else { - qDebug() << "conversion error"; - } - } - } - } else { - qDebug() << "attrlist is Null"; - } - sysfs_close_class_device(class_device); - - return true; -} - -void LogReceiver::runDHCPCD(QList &interfaces) { - foreach(QString nI, interfaces) - { - runDHCPCD(nI); - } -} - -void LogReceiver::runDHCPCD(QString interface) { - emit updateStatusLabel(interface, "start DHCP"); - dhcpcdArguments.append(interface); - QProcess * p = new QProcess(this); - - qDebug() << dhcpcdArguments; - - clientProcessToIfNameMap.insert(p, interface); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe, dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, - SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); -} - -void LogReceiver::checkInternetConnection(QString ifName) { - QString command("ping"); - QStringList argList; - QString timeout("1"); - QString total("2"); - int exitCode = -1; - QString destination("www.google.de"); - argList << "-I" << "ifName" << "-W" << timeout << "-c" << total - << destination; - argList.replace(1, ifName); - QProcess * p = new QProcess(this); - p->start(command, argList); - p->waitForFinished(); - exitCode = p->exitCode(); - if (exitCode > 0) { - qDebug() << "no internet connection with interface" << ifName; - //remove interface from list and inform user via debug console - emit updateStatusLabel(ifName, "connection not possible"); - } else if (exitCode == 0) { - qDebug() << "internet: check passed! for interface" << ifName; - emit - updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName); - } -} - -void LogReceiver::checkInternetConnection(QList &interfaces) { - foreach(QString nI, interfaces) - { - checkInternetConnection(nI); - } -} -void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { - - const bool canStartIAP = (configurationManager.capabilities() - & QNetworkConfigurationManager::CanStartAndStopInterfaces); - QList configs = - configurationManager.allConfigurations(); - QNetworkConfiguration cfg; - foreach(QNetworkConfiguration nC, configs) - { - if (nC.name() == ifName) { - qDebug() << "found config" << nC.name(); - cfg = nC; - break; - } - } - if (!cfg.isValid() || (!canStartIAP && cfg.state() - != QNetworkConfiguration::Active)) { - qDebug() << "config is not valid" << cfg.name(); - return; - } - QNetworkSession *session = new QNetworkSession(cfg, this); - session->open(); - if (session->waitForOpened(-1)) { - - qDebug () << "used interface for connectivity check:" <interface().humanReadableName(); - QTcpSocket *tcpSocket = new QTcpSocket(this); - tcpSocket->connectToHost(QString("209.85.148.105"), 80); - if (!tcpSocket->waitForConnected(2000)) { - qDebug() << tcpSocket->errorString(); - emit updateStatusLabel(ifName, "connection not possible"); - } else { - emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName); - } - } else { - qDebug() << "couldn't open session"; - } - session->close(); -} - -void LogReceiver::handleNewConnection() { - qDebug() << "New Connection arrived"; - - /*QLocalSocket **/ - client = server ->nextPendingConnection(); - clients.insert(client, client); - connect(client, SIGNAL(disconnected()), this, - SLOT(handleClientDisconnect())); - connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); -} - -void LogReceiver::handleClientDisconnect() { - QLocalSocket* socket = qobject_cast (QObject::sender()); - - QLocalSocket * client = clients.value(socket); - - qDebug() << "disconnect client"; - handleNewInput(client); - client->deleteLater(); -} - -void LogReceiver::handleNewInput(QLocalSocket * client) { - qDebug() << "last read before exit"; - while (client->canReadLine()) { - QString data(client->readLine()); - - data = data.trimmed(); - qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } - } -} - -void LogReceiver::handleNewInput() { - QLocalSocket* socket = qobject_cast (QObject::sender()); - - QLocalSocket * client = clients.value(socket); - - while(!client->atEnd()) { - QString data(client->readLine()); - - data = data.trimmed(); - //qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } - } -/* - QString data(client->readAll()); - - data = data.trimmed(); - qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } - */ -} - -void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { - - QString logMsg(data); - QString interface = logMsg.section(";", 0, 0); - QString s_state = logMsg.section(";", 1, 1); - QString s_subState = logMsg.section(";", 2, 2); - QString msg = logMsg.section(";", 3, 3); - int st = s_state.trimmed().toInt(); - int sst = s_subState.trimmed().toInt(); - //qDebug() << logMsg; - - if (ifNameToClient.size() < numberOfProcesses && !ifNameToClient.contains( - interface)) { - ifNameToClient.insert(interface, client); - } - - switch (st) { - case LOG_INFO: - switch (sst) { - case DHCP_DISCOVER: - emit changeProgressBarValue(interface, 10); - break; - case DHCP_OFFER: - emit changeProgressBarValue(interface, 20); - break; - case DHCP_REQUEST: - emit changeProgressBarValue(interface, 30); - break; - case DHCP_ACK: - emit changeProgressBarValue(interface, 40); - break; - case DHCP_NAK: - emit changeProgressBarValue(interface, 40); - break; - case DHCPCD_ARP_TEST: - emit changeProgressBarValue(interface, 50); - break; - case DHCP_DECLINE: - emit changeProgressBarValue(interface, 60); - break; - case DHCP_RELEASE: - - break; - case DHCP_INFORM: - break; - case DHCPCD_CONFIGURE: - emit changeProgressBarValue(interface, 70); - break; - case DHCPCD_WRITE: - emit changeProgressBarValue(interface, 80); - break; - case DHCPCD_EXIT: - //emit changeProgressBarValue(interface, 100); - break; - case DHCPCD_LOG: - - default: - break; - } - break; - case LOG_ERR: - qDebug() << "received stat_error"; - break; - default: - //qDebug() << logMsg; - break; - } -} - -void LogReceiver::handleProcessFinished(int exitCode, - QProcess::ExitStatus exitStatus) { - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - - if (ifName.compare("ifName") == 0) { - qDebug() - << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; - } else { - qDebug() << "process for interface" << ifName << "finished" << exitCode - << exitStatus; - if (exitCode > 0) { - qDebug() << "process exited unexpected"; - emit updateStatusLabel(ifName, "process exited unexpected"); - } else { - qDebug() << "process normal exit"; - qDebug() << "check internet connction"; - emit - changeProgressBarValue(ifName, 100); - emit - updateStatusLabel(ifName, "check connectivity"); - //checkInternetConnection(ifName); - checkInternetConnectionViaTCP(ifName); - } - } - QLocalSocket *client = ifNameToClient.value(ifName, 0); - if(client != 0) { - handleNewInput(client); - } - numberOfProcesses = numberOfProcesses - 1; - if (numberOfProcesses <= 0) { - emit allProcessesFinished(); - } -} - -void LogReceiver::handleProcessStarted() { - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - qDebug() << "process started for interface:" << ifName; -} - -bool LogReceiver::checkBlackList(QString i) { - if (i.startsWith("v", Qt::CaseInsensitive)) { - return true; - } else if (i.startsWith("d", Qt::CaseInsensitive)) { - return true; - } else { - return false; - } -} diff --git a/workspace/LogReceiver/logreceiver.h b/workspace/LogReceiver/logreceiver.h deleted file mode 100644 index ce6d070..0000000 --- a/workspace/LogReceiver/logreceiver.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef LOGRECEIVER_H -#define LOGRECEIVER_H - -#include -#include -#include -#include -#include -#include -#include - -class QLocalServer; -class QLocalSocket; - -class LogReceiver: public QObject { -Q_OBJECT - -#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/workspace/customdhcpcd/src/customdhcpcd" - -public: - LogReceiver(); - ~LogReceiver(); - - void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, - QString pathToExe = DEFAULT_PATHTODHCPCDEXE, - QStringList* args = NULL); - -private slots: - void handleNewConnection(); - void handleNewInput(); - void handleNewInputLine(QLocalSocket * client, QString data); - void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); - void handleProcessStarted(); - void handleClientDisconnect(); - -signals: - void addNewInterface(QString ifName); - void changeProgressBarValue(QString ifName, int newValue); - void connectionEstablished(QString ifName); - void abortBoot(QString msg); - void updateStatusLabel(QString ifName, QString status); - void allProcessesFinished(); - -private: - QLocalServer *server; - quint16 blockSize; - //QMap interfacesMap; - //QMap indexToIfaceNameMap; - QMap clients; - QLocalSocket * client; - QMap ifNameToClient; - QMap clientProcessToIfNameMap; - QString pathToDhcpcdExe; - QStringList dhcpcdArguments; - QNetworkConfigurationManager configurationManager; - QNetworkAccessManager *accessManager; - int numberOfProcesses; - - void handleNewInput(QLocalSocket * client); - - void runDHCPCD(QList &interfaces); - void runDHCPCD(QString interface); - QListcheckCarrierState(QList &interfaces); - bool checkCarrierState(QString interface); - void checkInternetConnection(QString ifName); - void checkInternetConnection(QList &interfaces); - void checkInternetConnectionViaTCP(QString ifName); - QList getListOfNetworkInterfaces(); - bool checkBlackList(QString i); - -}; - -#endif // LOGRECEIVER_H diff --git a/workspace/LogReceiver/logreceiver.ui b/workspace/LogReceiver/logreceiver.ui deleted file mode 100644 index 0010c64..0000000 --- a/workspace/LogReceiver/logreceiver.ui +++ /dev/null @@ -1,25 +0,0 @@ - - - LogReceiverClass - - - - 0 - 0 - 572 - 385 - - - - LogReceiver - - - #LogReceiverClass{ -background:grey; -} - - - - - - diff --git a/workspace/LogReceiver/main.cpp b/workspace/LogReceiver/main.cpp deleted file mode 100644 index a8cd960..0000000 --- a/workspace/LogReceiver/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "ndgui.h" - -#include -#include - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - ndgui w; - w.show(); - return a.exec(); -} diff --git a/workspace/LogReceiver/ndgui.cpp b/workspace/LogReceiver/ndgui.cpp deleted file mode 100644 index a839aef..0000000 --- a/workspace/LogReceiver/ndgui.cpp +++ /dev/null @@ -1,184 +0,0 @@ -#include "ndgui.h" -#include "chooseinterfacedialog.h" -#include "abortbootdialog.h" - -ndgui::ndgui(QWidget *parent) - : QWidget(parent) -{ - ui.setupUi(this); - - connect(&logReceiver, SIGNAL(addNewInterface(QString)), this, SLOT(addNewInterface(QString))); - connect(&logReceiver, SIGNAL(changeProgressBarValue(QString , int )), this, SLOT(handleProgress(QString, int))); - connect(&logReceiver, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); - connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); - connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); - connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); - - buildGui(); - - logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); - numberOfInterfaces = 0; - - - setWindowTitle(tr("NetD")); -} - -ndgui::~ndgui() -{ - -} - -void ndgui::buildGui() { - - ndStatusLabel = new QLabel(tr("test")); - ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, - QSizePolicy::Expanding); - ndStatusLabel->setAlignment(Qt::AlignCenter); - ndStatusLabel->setMinimumSize(100, 20); - - // create interface group box - createInterfaceGroupBox(); - - - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(ndStatusLabel); - mainLayout->addWidget(interfaceGroupBox); - - setLayout(mainLayout); -} - -void ndgui::createInterfaceGroupBox(){ - interfaceGroupBox = new QGroupBox(tr("Interfaces")); - - interfaceGroupBoxLayout = new QVBoxLayout; - /* add interfaces via addInterfacesToGroupBox()*/ - - interfaceGroupBox->setLayout(interfaceGroupBoxLayout); -} - -void ndgui::addNewInterface(QString ifName) { - qDebug() << "receive interface to add:" << ifName; - QHBoxLayout *hBoxLayout = new QHBoxLayout; - QLabel *label = new QLabel(ifName); - QLabel *labelStatus = new QLabel("waiting"); - QProgressBar *pBar = new QProgressBar(this); - pBar->setRange(1, 100); - pBar->setMaximumSize(200, 20); - - statusLabels.insert(ifName, labelStatus); - progressBars.insert(ifName, pBar); - - hBoxLayout->addWidget(label, Qt::AlignLeft); - hBoxLayout->addWidget(labelStatus, Qt::AlignCenter); - hBoxLayout->addWidget(pBar, Qt::AlignRight); - - numberOfInterfaces++; - - interfaceGroupBoxLayout->addLayout(hBoxLayout, 2); -} - -void ndgui::handleProgress(QString ifName, int newValue) { - qDebug() << "<[---]> SLOT handleProgress activated with: " << ifName << newValue; - QProgressBar * pBar = progressBars.value(ifName); - if(newValue >= pBar->value()) { - pBar->setValue(newValue); - } - else { - qDebug() << "Error: new value is smaller than the old value!"; - } -} - -void ndgui::handleConnectionEstablished(QString ifName) { - finalUsableInterfaces.append(ifName); -} - -void ndgui::handleAbortBoot(QString msg) { - qDebug() << "abort boot. reason:" << msg; - showAbortBootDialog(); -} - -void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { - QLabel* label = statusLabels.value(ifName); - label->setText(status); -} - -void ndgui::handleAllProcessesFinished() { - qDebug() << "all Processes finished"; - - if (finalUsableInterfaces.size() > 0) { - showChooseInterfaceDialog(); - } else { - showAbortBootDialog(); - } -} - -void ndgui::showAbortBootDialog() { - aBD = new AbortBootDialog(this); - connect(aBD, SIGNAL(showLogSignal()), this, SLOT(showLog())); - connect(aBD, SIGNAL(restartSignal()), this, SLOT(restartSystem())); - connect(aBD, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); - aBD->setModal(true); - aBD->show(); -} - -void ndgui::showChooseInterfaceDialog() { - cID = new ChooseInterfaceDialog(finalUsableInterfaces, this); - connect(cID, SIGNAL(continueSignal(QString)), this, - SLOT(continueBoot(QString))); - connect(cID, SIGNAL(restartSignal()), this, SLOT(restartSystem())); - connect(cID, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); - cID->setModal(true); - cID->show(); -} - -void ndgui::restartSystem() -{ - - if(qobject_cast(QObject::sender())>0) - { - qDebug() << "received Signal restart abd"; - aBD->closeDialog(); - } - else if(qobject_cast(QObject::sender())>0) - { - qDebug() << "received Signal restart cid"; - cID->close(); - } - else - { - qDebug() << "unknown sender" << QObject::sender(); - } - - -} - -void ndgui::shutDownSystem() -{ - if(qobject_cast(QObject::sender())>0) - { - - aBD->closeDialog(); - } - else if(qobject_cast(QObject::sender())>0) - { - - cID->close(); - } - else - { - qDebug() << "unknown sender" << QObject::sender(); - } - -} - -void ndgui::continueBoot(QString ifName) -{ - QString text = "continue with interface: " + ifName; - cID->close(); -} - -void ndgui::showLog() -{ - qDebug() << "show log"; -} diff --git a/workspace/LogReceiver/ndgui.h b/workspace/LogReceiver/ndgui.h deleted file mode 100644 index e8b0b85..0000000 --- a/workspace/LogReceiver/ndgui.h +++ /dev/null @@ -1,67 +0,0 @@ -#ifndef NDGUI_H -#define NDGUI_H - -#include -#include "qprogressbar.h" -#include "qlabel.h" -#include "qgroupbox.h" -#include "qboxlayout.h" -#include "ui_ndgui.h" -#include "logreceiver.h" -#include "chooseinterfacedialog.h" -#include "abortbootdialog.h" - -class ndgui: public QWidget { -Q_OBJECT - -public: - ndgui(QWidget *parent = 0); - ~ndgui(); - -public slots: - void handleProgress(QString ifName, int newValue); - void addNewInterface(QString ifName); - void handleConnectionEstablished(QString ifName); - void handleAbortBoot(QString msg); - void handleUpdateStatusLabel(QString ifName, QString status); - void handleAllProcessesFinished(); - - void restartSystem(); - void shutDownSystem(); - void continueBoot(QString ifName); - void showLog(); - - void showAbortBootDialog(); - void showChooseInterfaceDialog(); - -private: - Ui::ndguiClass ui; - - LogReceiver logReceiver; - - QStringList finalUsableInterfaces; - - int numberOfInterfaces; - - ChooseInterfaceDialog *cID; - AbortBootDialog *aBD; - - /*gui elements*/ - QMap progressBars; - QMap statusLabels; - QLabel *ndStatusLabel; - QGroupBox *interfaceGroupBox; - QVBoxLayout *mainLayout; - QVBoxLayout *interfaceGroupBoxLayout; - /**/ - - - - - /*gui functions*/ - void buildGui(); - void createInterfaceGroupBox(); - -}; - -#endif // NDGUI_H diff --git a/workspace/LogReceiver/ndgui.ui b/workspace/LogReceiver/ndgui.ui deleted file mode 100644 index 4a4c466..0000000 --- a/workspace/LogReceiver/ndgui.ui +++ /dev/null @@ -1,19 +0,0 @@ - - ndguiClass - - - - 0 - 0 - 400 - 300 - - - - ndgui - - - - - - diff --git a/workspace/LogWriter/LogWriter b/workspace/LogWriter/LogWriter deleted file mode 100755 index 54d4ab8..0000000 Binary files a/workspace/LogWriter/LogWriter and /dev/null differ diff --git a/workspace/LogWriter/LogWriter.pro b/workspace/LogWriter/LogWriter.pro deleted file mode 100644 index ba5df47..0000000 --- a/workspace/LogWriter/LogWriter.pro +++ /dev/null @@ -1,11 +0,0 @@ -TEMPLATE = app -TARGET = LogWriter -QT += core \ - gui \ - network -HEADERS += status.h \ - logwriter.h -SOURCES += main.cpp \ - logwriter.cpp -FORMS += logwriter.ui -RESOURCES += diff --git a/workspace/LogWriter/logwriter.cpp b/workspace/LogWriter/logwriter.cpp deleted file mode 100644 index 94155ed..0000000 --- a/workspace/LogWriter/logwriter.cpp +++ /dev/null @@ -1,120 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include -#include - -#include "logwriter.h" -#include "status.h" - -LogWriter::LogWriter(QWidget *parent) : - QDialog(parent) { - hostLabel = new QLabel(tr("Message:")); - hostLineEdit = new QLineEdit("fortune"); - - serverName = "/var/tmp/qt_c_socket_test"; - - hostLabel->setBuddy(hostLineEdit); - - statusLabel = new QLabel(tr("This examples requires that you run the " - "LogReceiver example as well.")); - - connectToLogReceiver = new QPushButton(tr("Connect")); - connectToLogReceiver->setDefault(true); - - quitButton = new QPushButton(tr("Quit")); - - writeButton = new QPushButton(tr("Write")); - - buttonBox = new QDialogButtonBox; - buttonBox->addButton(connectToLogReceiver, QDialogButtonBox::ActionRole); - buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole); - buttonBox->addButton(writeButton, QDialogButtonBox::ActionRole); - - connect(hostLineEdit, SIGNAL(textChanged(QString)), this, - SLOT(enableWriteButton())); - connect(connectToLogReceiver, SIGNAL(clicked()), this, - SLOT(requestNewFortune())); - connect(quitButton, SIGNAL(clicked()), this, SLOT(close())); - connect(writeButton, SIGNAL(clicked()), this, SLOT(writeToLogReceiver())); - - QGridLayout *mainLayout = new QGridLayout; - mainLayout->addWidget(hostLabel, 0, 0); - mainLayout->addWidget(hostLineEdit, 0, 1); - mainLayout->addWidget(statusLabel, 2, 0, 1, 2); - mainLayout->addWidget(buttonBox, 3, 0, 1, 2); - setLayout(mainLayout); - - setWindowTitle(tr("Fortune Client")); - hostLineEdit->setFocus(); -} - -LogWriter::~LogWriter() { - -} - -void LogWriter::requestNewFortune() { - struct sockaddr_un serv_addr; - - connectToLogReceiver->setEnabled(false); - - - sockfd = socket(AF_UNIX, SOCK_STREAM, 0); - if (sockfd < 0) - qDebug() << "ERROR opening socket" << strerror(errno); - serv_addr.sun_family = AF_UNIX; - strcpy(serv_addr.sun_path, "/var/tmp/qt_c_socket_test"); - - - if (::connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) - qDebug() << "ERROR connecting" << strerror(errno); -} - -void LogWriter::readFortune() { - -} - -void LogWriter::displayError(QLocalSocket::LocalSocketError socketError) { - -} - -void LogWriter::enableWriteButton() { - writeButton->setEnabled(!hostLineEdit->text().isEmpty()); -} - -void LogWriter::writeToLogReceiver() { - writeToLogReceiver(STAT_OK,DISCOVER); -} - -void LogWriter::writeToLogReceiver(int stat, int sub_stat) { - char * st = (char *) malloc(sizeof(int)*4+1); - char * sst = (char *) malloc(sizeof(int)*4+1); - sprintf(st,"%d", stat); - sprintf(sst,"%d",sub_stat); - char * msg = "msg test"; - int msize = strlen(st) + strlen(sst) + strlen(msg) + 3; - char * m = (char *) malloc(msize); - strcpy(m, ""); - strcat(m, st); - strcat(m, ";"); - strcat(m, sst); - strcat(m, ";"); - strcat(m, msg); - - //char buffer[256]; - //char *b = "test"; - qDebug() << strlen(m); - qDebug() << m; - int n = ::write(sockfd, m, strlen(m)); - if (n < 0) - qDebug() << "ERROR writing to socket"; - - free(st); - free(sst); - free(m); - -} diff --git a/workspace/LogWriter/logwriter.h b/workspace/LogWriter/logwriter.h deleted file mode 100644 index a4ddea3..0000000 --- a/workspace/LogWriter/logwriter.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef LOGWRITER_H -#define LOGWRITER_H - -#include -#include -#include "ui_logwriter.h" -#include "status.h" - -class QDialogButtonBox; -class QLabel; -class QLineEdit; -class QPushButton; -class QLocalSocket; - -class LogWriter: public QDialog { -Q_OBJECT - -public: - LogWriter(QWidget *parent = 0); - ~LogWriter(); - -private slots: - void requestNewFortune(); - void readFortune(); - void displayError(QLocalSocket::LocalSocketError socketError); - void enableWriteButton(); - void writeToLogReceiver(); - -private: - // enum STATUS stat, enum SUBSTATUS sub_stat - void writeToLogReceiver(int stat, int sub_stat); - Ui::LogWriterClass ui; - QLabel *hostLabel; - QLineEdit *hostLineEdit; - QLabel *statusLabel; - QPushButton *connectToLogReceiver; - QPushButton *quitButton; - QPushButton *writeButton; - QDialogButtonBox *buttonBox; - - QString currentFortune; - quint16 blockSize; - QString serverName; - - int sockfd; - -}; - -#endif // LOGWRITER_H - diff --git a/workspace/LogWriter/logwriter.ui b/workspace/LogWriter/logwriter.ui deleted file mode 100644 index aebeb33..0000000 --- a/workspace/LogWriter/logwriter.ui +++ /dev/null @@ -1,19 +0,0 @@ - - LogWriterClass - - - - 0 - 0 - 400 - 300 - - - - LogWriter - - - - - - diff --git a/workspace/LogWriter/main.cpp b/workspace/LogWriter/main.cpp deleted file mode 100644 index 5695d76..0000000 --- a/workspace/LogWriter/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "logwriter.h" - -#include -#include - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - LogWriter w; - w.show(); - return a.exec(); -} diff --git a/workspace/customdhcpcd/Debug/makefile b/workspace/customdhcpcd/Debug/makefile deleted file mode 100644 index 0c6307d..0000000 --- a/workspace/customdhcpcd/Debug/makefile +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - --include ../makefile.init - -RM := rm -rf - -# All of the sources participating in the build are defined here --include sources.mk --include subdir.mk --include src/subdir.mk --include objects.mk - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(C_DEPS)),) --include $(C_DEPS) -endif -endif - --include ../makefile.defs - -# Add inputs and outputs from these tool invocations to the build variables - -# All Target -all: customdhcpcd - -# Tool invocations -customdhcpcd: $(OBJS) $(USER_OBJS) - @echo 'Building target: $@' - @echo 'Invoking: GCC C Linker' - gcc -o"customdhcpcd" $(OBJS) $(USER_OBJS) $(LIBS) - @echo 'Finished building target: $@' - @echo ' ' - -# Other Targets -clean: - -$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) customdhcpcd - -@echo ' ' - -.PHONY: all clean dependents -.SECONDARY: - --include ../makefile.targets diff --git a/workspace/customdhcpcd/Debug/objects.mk b/workspace/customdhcpcd/Debug/objects.mk deleted file mode 100644 index 224ef68..0000000 --- a/workspace/customdhcpcd/Debug/objects.mk +++ /dev/null @@ -1,7 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -USER_OBJS := - -LIBS := diff --git a/workspace/customdhcpcd/Debug/sources.mk b/workspace/customdhcpcd/Debug/sources.mk deleted file mode 100644 index 57cf3c3..0000000 --- a/workspace/customdhcpcd/Debug/sources.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -O_SRCS := -C_SRCS := -S_UPPER_SRCS := -OBJ_SRCS := -ASM_SRCS := -OBJS := -C_DEPS := -EXECUTABLES := - -# Every subdirectory with source files must be described here -SUBDIRS := \ -src \ - diff --git a/workspace/customdhcpcd/Debug/src/arp.d b/workspace/customdhcpcd/Debug/src/arp.d deleted file mode 100644 index e639f20..0000000 --- a/workspace/customdhcpcd/Debug/src/arp.d +++ /dev/null @@ -1,21 +0,0 @@ -src/arp.d src/arp.o: ../src/arp.c ../src/config.h ../src/common.h \ - ../src/arp.h ../src/interface.h ../src/logger.h ../src/signal.h \ - ../src/socket.h ../src/dhcp.h ../src/dhcpcd.h - -../src/config.h: - -../src/common.h: - -../src/arp.h: - -../src/interface.h: - -../src/logger.h: - -../src/signal.h: - -../src/socket.h: - -../src/dhcp.h: - -../src/dhcpcd.h: diff --git a/workspace/customdhcpcd/Debug/src/client.d b/workspace/customdhcpcd/Debug/src/client.d deleted file mode 100644 index 585c535..0000000 --- a/workspace/customdhcpcd/Debug/src/client.d +++ /dev/null @@ -1,37 +0,0 @@ -src/client.d src/client.o: ../src/client.c ../src/config.h \ - ../src/common.h ../src/arp.h ../src/interface.h ../src/client.h \ - ../src/dhcpcd.h ../src/configure.h ../src/dhcp.h ../src/info.h \ - ../src/ipv4ll.h ../src/logger.h ../src/signal.h ../src/socket.h \ - ../src/logwriter.h ../src/status.h ../src/duid.h - -../src/config.h: - -../src/common.h: - -../src/arp.h: - -../src/interface.h: - -../src/client.h: - -../src/dhcpcd.h: - -../src/configure.h: - -../src/dhcp.h: - -../src/info.h: - -../src/ipv4ll.h: - -../src/logger.h: - -../src/signal.h: - -../src/socket.h: - -../src/logwriter.h: - -../src/status.h: - -../src/duid.h: diff --git a/workspace/customdhcpcd/Debug/src/common.d b/workspace/customdhcpcd/Debug/src/common.d deleted file mode 100644 index 235fc5e..0000000 --- a/workspace/customdhcpcd/Debug/src/common.d +++ /dev/null @@ -1,6 +0,0 @@ -src/common.d src/common.o: ../src/common.c ../src/common.h \ - ../src/logger.h - -../src/common.h: - -../src/logger.h: diff --git a/workspace/customdhcpcd/Debug/src/configure.d b/workspace/customdhcpcd/Debug/src/configure.d deleted file mode 100644 index 16416f6..0000000 --- a/workspace/customdhcpcd/Debug/src/configure.d +++ /dev/null @@ -1,28 +0,0 @@ -src/configure.d src/configure.o: ../src/configure.c ../src/config.h \ - ../src/common.h ../src/configure.h ../src/dhcpcd.h ../src/interface.h \ - ../src/dhcp.h ../src/info.h ../src/logger.h ../src/signal.h \ - ../src/socket.h ../src/status.h ../src/logwriter.h - -../src/config.h: - -../src/common.h: - -../src/configure.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/dhcp.h: - -../src/info.h: - -../src/logger.h: - -../src/signal.h: - -../src/socket.h: - -../src/status.h: - -../src/logwriter.h: diff --git a/workspace/customdhcpcd/Debug/src/customdhcpcd.d b/workspace/customdhcpcd/Debug/src/customdhcpcd.d deleted file mode 100644 index 1dd84f9..0000000 --- a/workspace/customdhcpcd/Debug/src/customdhcpcd.d +++ /dev/null @@ -1 +0,0 @@ -src/customdhcpcd.d src/customdhcpcd.o: ../src/customdhcpcd.c diff --git a/workspace/customdhcpcd/Debug/src/dhcp.d b/workspace/customdhcpcd/Debug/src/dhcp.d deleted file mode 100644 index 82e54dd..0000000 --- a/workspace/customdhcpcd/Debug/src/dhcp.d +++ /dev/null @@ -1,17 +0,0 @@ -src/dhcp.d src/dhcp.o: ../src/dhcp.c ../src/config.h ../src/common.h \ - ../src/dhcpcd.h ../src/dhcp.h ../src/interface.h ../src/logger.h \ - ../src/socket.h - -../src/config.h: - -../src/common.h: - -../src/dhcpcd.h: - -../src/dhcp.h: - -../src/interface.h: - -../src/logger.h: - -../src/socket.h: diff --git a/workspace/customdhcpcd/Debug/src/dhcpcd.d b/workspace/customdhcpcd/Debug/src/dhcpcd.d deleted file mode 100644 index 05c8d7e..0000000 --- a/workspace/customdhcpcd/Debug/src/dhcpcd.d +++ /dev/null @@ -1,26 +0,0 @@ -src/dhcpcd.d src/dhcpcd.o: ../src/dhcpcd.c ../src/config.h \ - ../src/client.h ../src/dhcpcd.h ../src/common.h ../src/dhcp.h \ - ../src/interface.h ../src/logger.h ../src/socket.h ../src/version.h \ - ../src/logwriter.h ../src/status.h - -../src/config.h: - -../src/client.h: - -../src/dhcpcd.h: - -../src/common.h: - -../src/dhcp.h: - -../src/interface.h: - -../src/logger.h: - -../src/socket.h: - -../src/version.h: - -../src/logwriter.h: - -../src/status.h: diff --git a/workspace/customdhcpcd/Debug/src/discover.d b/workspace/customdhcpcd/Debug/src/discover.d deleted file mode 100644 index 9188993..0000000 --- a/workspace/customdhcpcd/Debug/src/discover.d +++ /dev/null @@ -1 +0,0 @@ -src/discover.d src/discover.o: ../src/discover.c diff --git a/workspace/customdhcpcd/Debug/src/duid.d b/workspace/customdhcpcd/Debug/src/duid.d deleted file mode 100644 index 1434db7..0000000 --- a/workspace/customdhcpcd/Debug/src/duid.d +++ /dev/null @@ -1,12 +0,0 @@ -src/duid.d src/duid.o: ../src/duid.c ../src/config.h ../src/common.h \ - ../src/duid.h ../src/interface.h ../src/logger.h - -../src/config.h: - -../src/common.h: - -../src/duid.h: - -../src/interface.h: - -../src/logger.h: diff --git a/workspace/customdhcpcd/Debug/src/info.d b/workspace/customdhcpcd/Debug/src/info.d deleted file mode 100644 index 0a3490d..0000000 --- a/workspace/customdhcpcd/Debug/src/info.d +++ /dev/null @@ -1,17 +0,0 @@ -src/info.d src/info.o: ../src/info.c ../src/config.h ../src/common.h \ - ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/logger.h \ - ../src/info.h - -../src/config.h: - -../src/common.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/logger.h: - -../src/info.h: diff --git a/workspace/customdhcpcd/Debug/src/interface.d b/workspace/customdhcpcd/Debug/src/interface.d deleted file mode 100644 index 581c831..0000000 --- a/workspace/customdhcpcd/Debug/src/interface.d +++ /dev/null @@ -1,15 +0,0 @@ -src/interface.d src/interface.o: ../src/interface.c ../src/config.h \ - ../src/common.h ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h \ - ../src/logger.h - -../src/config.h: - -../src/common.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/logger.h: diff --git a/workspace/customdhcpcd/Debug/src/ipv4ll.d b/workspace/customdhcpcd/Debug/src/ipv4ll.d deleted file mode 100644 index 7d02ead..0000000 --- a/workspace/customdhcpcd/Debug/src/ipv4ll.d +++ /dev/null @@ -1,17 +0,0 @@ -src/ipv4ll.d src/ipv4ll.o: ../src/ipv4ll.c ../src/config.h ../src/arp.h \ - ../src/interface.h ../src/ipv4ll.h ../src/dhcp.h ../src/dhcpcd.h \ - ../src/common.h - -../src/config.h: - -../src/arp.h: - -../src/interface.h: - -../src/ipv4ll.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/common.h: diff --git a/workspace/customdhcpcd/Debug/src/logger.d b/workspace/customdhcpcd/Debug/src/logger.d deleted file mode 100644 index bbf1cf8..0000000 --- a/workspace/customdhcpcd/Debug/src/logger.d +++ /dev/null @@ -1,10 +0,0 @@ -src/logger.d src/logger.o: ../src/logger.c ../src/common.h \ - ../src/logger.h ../src/logwriter.h ../src/dhcpcd.h - -../src/common.h: - -../src/logger.h: - -../src/logwriter.h: - -../src/dhcpcd.h: diff --git a/workspace/customdhcpcd/Debug/src/logwriter.d b/workspace/customdhcpcd/Debug/src/logwriter.d deleted file mode 100644 index 83dc4b5..0000000 --- a/workspace/customdhcpcd/Debug/src/logwriter.d +++ /dev/null @@ -1,19 +0,0 @@ -src/logwriter.d src/logwriter.o: ../src/logwriter.c ../src/common.h \ - ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/config.h \ - ../src/logger.h ../src/logwriter.h ../src/status.h - -../src/common.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/config.h: - -../src/logger.h: - -../src/logwriter.h: - -../src/status.h: diff --git a/workspace/customdhcpcd/Debug/src/signal.d b/workspace/customdhcpcd/Debug/src/signal.d deleted file mode 100644 index 0185fc3..0000000 --- a/workspace/customdhcpcd/Debug/src/signal.d +++ /dev/null @@ -1,8 +0,0 @@ -src/signal.d src/signal.o: ../src/signal.c ../src/common.h \ - ../src/logger.h ../src/signal.h - -../src/common.h: - -../src/logger.h: - -../src/signal.h: diff --git a/workspace/customdhcpcd/Debug/src/socket.d b/workspace/customdhcpcd/Debug/src/socket.d deleted file mode 100644 index 785c170..0000000 --- a/workspace/customdhcpcd/Debug/src/socket.d +++ /dev/null @@ -1,17 +0,0 @@ -src/socket.d src/socket.o: ../src/socket.c ../src/config.h ../src/dhcp.h \ - ../src/dhcpcd.h ../src/common.h ../src/interface.h ../src/logger.h \ - ../src/socket.h - -../src/config.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/common.h: - -../src/interface.h: - -../src/logger.h: - -../src/socket.h: diff --git a/workspace/customdhcpcd/Debug/src/subdir.mk b/workspace/customdhcpcd/Debug/src/subdir.mk deleted file mode 100644 index 38890b3..0000000 --- a/workspace/customdhcpcd/Debug/src/subdir.mk +++ /dev/null @@ -1,85 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -O_SRCS += \ -../src/arp.o \ -../src/client.o \ -../src/common.o \ -../src/configure.o \ -../src/dhcp.o \ -../src/dhcpcd.o \ -../src/duid.o \ -../src/info.o \ -../src/interface.o \ -../src/ipv4ll.o \ -../src/logger.o \ -../src/logwriter.o \ -../src/signal.o \ -../src/socket.o - -C_SRCS += \ -../src/arp.c \ -../src/client.c \ -../src/common.c \ -../src/configure.c \ -../src/customdhcpcd.c \ -../src/dhcp.c \ -../src/dhcpcd.c \ -../src/discover.c \ -../src/duid.c \ -../src/info.c \ -../src/interface.c \ -../src/ipv4ll.c \ -../src/logger.c \ -../src/logwriter.c \ -../src/signal.c \ -../src/socket.c - -OBJS += \ -./src/arp.o \ -./src/client.o \ -./src/common.o \ -./src/configure.o \ -./src/customdhcpcd.o \ -./src/dhcp.o \ -./src/dhcpcd.o \ -./src/discover.o \ -./src/duid.o \ -./src/info.o \ -./src/interface.o \ -./src/ipv4ll.o \ -./src/logger.o \ -./src/logwriter.o \ -./src/signal.o \ -./src/socket.o - -C_DEPS += \ -./src/arp.d \ -./src/client.d \ -./src/common.d \ -./src/configure.d \ -./src/customdhcpcd.d \ -./src/dhcp.d \ -./src/dhcpcd.d \ -./src/discover.d \ -./src/duid.d \ -./src/info.d \ -./src/interface.d \ -./src/ipv4ll.d \ -./src/logger.d \ -./src/logwriter.d \ -./src/signal.d \ -./src/socket.d - - -# Each subdirectory must supply rules for building sources it contributes -src/%.o: ../src/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" - @echo 'Finished building: $<' - @echo ' ' - - diff --git a/workspace/customdhcpcd/src/.gitignore b/workspace/customdhcpcd/src/.gitignore deleted file mode 100644 index 6eb1591..0000000 --- a/workspace/customdhcpcd/src/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -*.o -version.h -dhcpcd -dhcpcd.8 -dhcpcd-*.bz2 diff --git a/workspace/customdhcpcd/src/Makefile b/workspace/customdhcpcd/src/Makefile deleted file mode 100644 index 7f90db4..0000000 --- a/workspace/customdhcpcd/src/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# Makefile based on BSD's pmake. -# Our mk stubs also work with GNU make. -# Copyright 2008 Roy Marples - -PROG= customdhcpcd -SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ - info.c interface.c ipv4ll.c logger.c logwriter.c signal.c socket.c -MAN= dhcpcd.8 - -VERSION= 3.2.3 -CLEANFILES= version.h dhcpcd.8 - -BINDIR= ${PREFIX}/sbin - -.SUFFIXES: .in - -MK= mk -include ${MK}/os.mk -include ${MK}/cc.mk -include ${MK}/prog.mk - -# os.mk should define this, but heh -INFOD?= /var/db - -LDADD+= ${LIBRESOLV} ${LIBRT} -CFLAGS+= -g -Wall -DINFODIR=\"${INFOD}\" ${FORK} ${RC} - -# As version.h is generated by us, hardcode the depend correctly. -${SRCS}: version.h -version.h: - echo "#define VERSION \"${VERSION}\""> version.h - -.in: - sed 's:@PREFIX@:${PREFIX}:g; s:@INFODIR@:${INFOD}:g' $< > $@ diff --git a/workspace/customdhcpcd/src/README b/workspace/customdhcpcd/src/README deleted file mode 100644 index 9089ec6..0000000 --- a/workspace/customdhcpcd/src/README +++ /dev/null @@ -1,45 +0,0 @@ -dhcpcd-3 - DHCP client daemon -Copyright 2006-2008 Roy Marples - - -Installation ------------- -Edit config.h to match your building requirements. - -Take special note of ENABLE_DUID and unset it if the target media is -volatile, like say a LiveCD. - -Then just make; make install - -man dhcpcd for command line options - - -Notes ------ -If you're cross compiling you may need to send HAVE_FORK=yes or HAVE_FORK=no -to the make command to avoid to automatic test. - -We try and detect how to restart ntp and ypbind, you can override this with -HAVE_INIT=no or force one of these values -OPENRC (OpenRC as used by Gentoo (forked from baselayout)) -BSDRC (BSD RC system - /etc/rc.d/ntpd restart ) -SERVICE (RedHat service command - service ntpd restart) -SLACKRC (Slackware RC system - /etc/rc.d/rc.ntpd restart) -SYSV (SYSV style - /etc/init.d/ntpd restart) - -You can change the default dir where dhcpcd stores it's .info files with -INFODIR=/var/db - -We now default to using -std=c99. For 64-bit linux, this always works, but -for 32-bit linux it requires either gnu99 or a patch to asm/types.h. -Most distros patch linux headers so this should work fine. -linux-2.6.24 finally ships with a working 32-bit header. -If your linux headers are older, or your distro hasn't patched them you can -set CSTD=gnu99 to work around this. - - -ChangeLog ---------- -We no longer supply a ChangeLog. -However, you're more than welcome to read the git commit comments at -http://git.marples.name/?p=dhcpcd/.git;a=summary diff --git a/workspace/customdhcpcd/src/arp.c b/workspace/customdhcpcd/src/arp.c deleted file mode 100644 index 794850c..0000000 --- a/workspace/customdhcpcd/src/arp.c +++ /dev/null @@ -1,284 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#ifdef __linux__ -#include -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "arp.h" -#include "interface.h" -#include "logger.h" -#include "signal.h" -#include "socket.h" - -/* These are really for IPV4LL */ -#define NPROBES 3 -#define PROBE_INTERVAL 200 -#define NCLAIMS 2 -#define CLAIM_INTERVAL 200 - -/* Linux does not seem to define these handy macros */ -#ifndef ar_sha -#define ar_sha(ap) (((caddr_t) ((ap) + 1)) + 0) -#define ar_spa(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln) -#define ar_tha(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln + (ap)->ar_pln) -#define ar_tpa(ap) (((caddr_t) ((ap) + 1)) + 2 * (ap)->ar_hln + (ap)->ar_pln) -#endif - -#ifndef arphdr_len -#define arphdr_len2(ar_hln, ar_pln) (sizeof (struct arphdr) + \ - 2 * (ar_hln) + 2 * (ar_pln)) -#define arphdr_len(ap) (arphdr_len2 ((ap)->ar_hln, (ap)->ar_pln)) -#endif - -#ifdef ENABLE_ARP - -static int send_arp (const interface_t *iface, int op, struct in_addr sip, - const unsigned char *taddr, struct in_addr tip) -{ - struct arphdr *arp; - size_t arpsize = arphdr_len2 (iface->hwlen, sizeof (sip)); - caddr_t tha; - int retval; - - arp = xzalloc (arpsize); - arp->ar_hrd = htons (iface->family); - arp->ar_pro = htons (ETHERTYPE_IP); - arp->ar_hln = iface->hwlen; - arp->ar_pln = sizeof (sip); - arp->ar_op = htons (op); - memcpy (ar_sha (arp), iface->hwaddr, (size_t) arp->ar_hln); - memcpy (ar_spa (arp), &sip, (size_t) arp->ar_pln); - if (taddr) { - /* NetBSD can return NULL from ar_tha, which is probably wrong - * but we still need to deal with it */ - if (! (tha = ar_tha (arp))) { - free (arp); - errno = EINVAL; - return (-1); - } - memcpy (tha, taddr, (size_t) arp->ar_hln); - } - memcpy (ar_tpa (arp), &tip, (size_t) arp->ar_pln); - - retval = send_packet (iface, ETHERTYPE_ARP, - (unsigned char *) arp, arphdr_len (arp)); - free (arp); - return (retval); -} - -int arp_claim (interface_t *iface, struct in_addr address) -{ - struct arphdr *reply = NULL; - long timeout = 0; - unsigned char *buffer; - int retval = -1; - int nprobes = 0; - int nclaims = 0; - struct in_addr null_address; - struct pollfd fds[] = { - { -1, POLLIN, 0 }, - { -1, POLLIN, 0 } - }; - - if (! iface) - return (-1); - - if (! iface->arpable) { - logger (LOG_DEBUG, "interface `%s' is not ARPable", iface->name); - return (0); - } - - if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && - ! IN_LINKLOCAL (ntohl (address.s_addr))) - logger (LOG_INFO, - "checking %s is available on attached networks", - inet_ntoa (address)); - - if (! open_socket (iface, ETHERTYPE_ARP)) - return (-1); - - fds[0].fd = signal_fd (); - fds[1].fd = iface->fd; - - memset (&null_address, 0, sizeof (null_address)); - - buffer = xmalloc (iface->buffer_length); - reply = xmalloc (iface->buffer_length); - - for (;;) { - size_t bufpos = 0; - size_t buflen = iface->buffer_length; - int bytes; - int s = 0; - struct timeval stopat; - struct timeval now; - - /* Only poll if we have a timeout */ - if (timeout > 0) { - s = poll (fds, 2, timeout); - if (s == -1) { - if (errno == EINTR) { - if (signal_exists (NULL) == -1) { - errno = 0; - continue; - } else - break; - } - - logger (LOG_ERR, "poll: `%s'", - strerror (errno)); - break; - } - } - - /* Timed out */ - if (s == 0) { - if (nprobes < NPROBES) { - nprobes ++; - timeout = PROBE_INTERVAL; - logger (LOG_DEBUG, "sending ARP probe #%d", - nprobes); - if (send_arp (iface, ARPOP_REQUEST, - null_address, NULL, - address) == -1) - break; - - /* IEEE1394 cannot set ARP target address - * according to RFC2734 */ - if (nprobes >= NPROBES && - iface->family == ARPHRD_IEEE1394) - nclaims = NCLAIMS; - } else if (nclaims < NCLAIMS) { - nclaims ++; - timeout = CLAIM_INTERVAL; - logger (LOG_DEBUG, "sending ARP claim #%d", - nclaims); - if (send_arp (iface, ARPOP_REQUEST, - address, iface->hwaddr, - address) == -1) - break; - } else { - /* No replies, so done */ - retval = 0; - break; - } - - /* Setup our stop time */ - if (get_time (&stopat) != 0) - break; - stopat.tv_usec += timeout; - - continue; - } - - /* We maybe ARP flooded, so check our time */ - if (get_time (&now) != 0) - break; - if (timercmp (&now, &stopat, >)) { - timeout = 0; - continue; - } - - if (! fds[1].revents & POLLIN) - continue; - - memset (buffer, 0, buflen); - do { - union { - unsigned char *c; - struct in_addr *a; - } rp; - union { - unsigned char *c; - struct ether_addr *a; - } rh; - - memset (reply, 0, iface->buffer_length); - if ((bytes = get_packet (iface, (unsigned char *) reply, - buffer, - &buflen, &bufpos)) == -1) - break; - - /* Only these types are recognised */ - if (reply->ar_op != htons (ARPOP_REPLY)) - continue; - - /* Protocol must be IP. */ - if (reply->ar_pro != htons (ETHERTYPE_IP)) - continue; - if (reply->ar_pln != sizeof (address)) - continue; - if ((unsigned) bytes < sizeof (reply) + - 2 * (4 + reply->ar_hln)) - continue; - - rp.c = (unsigned char *) ar_spa (reply); - rh.c = (unsigned char *) ar_sha (reply); - - /* Ensure the ARP reply is for the our address */ - if (rp.a->s_addr != address.s_addr) - continue; - - /* Some systems send a reply back from our hwaddress, - * which is wierd */ - if (reply->ar_hln == iface->hwlen && - memcmp (rh.c, iface->hwaddr, iface->hwlen) == 0) - continue; - - logger (LOG_ERR, "ARPOP_REPLY received from %s (%s)", - inet_ntoa (*rp.a), - hwaddr_ntoa (rh.c, (size_t) reply->ar_hln)); - retval = -1; - goto eexit; - } while (bufpos != 0); - } - -eexit: - close (iface->fd); - iface->fd = -1; - free (buffer); - free (reply); - return (retval); -} -#endif diff --git a/workspace/customdhcpcd/src/arp.h b/workspace/customdhcpcd/src/arp.h deleted file mode 100644 index 3b7e8ef..0000000 --- a/workspace/customdhcpcd/src/arp.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef ARP_H -#define ARP_H - -#ifdef ENABLE_ARP -#include - -#include "interface.h" - -int arp_claim (interface_t *iface, struct in_addr address); -#endif - -#endif diff --git a/workspace/customdhcpcd/src/client.c b/workspace/customdhcpcd/src/client.c deleted file mode 100644 index ba71ba4..0000000 --- a/workspace/customdhcpcd/src/client.c +++ /dev/null @@ -1,1150 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#ifdef __linux__ -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#ifdef ENABLE_ARP -# include "arp.h" -#endif -#include "client.h" -#include "configure.h" -#include "dhcp.h" -#include "dhcpcd.h" -#include "info.h" -#include "interface.h" -#ifdef ENABLE_IPV4LL -# include "ipv4ll.h" -#endif -#include "logger.h" -#include "signal.h" -#include "socket.h" - -#include "logwriter.h" -#include "status.h" - -#ifdef ENABLE_DUID -# include "duid.h" -#endif - -#ifdef ENABLE_INFO -# include "info.h" -#endif - -#ifdef THERE_IS_NO_FORK -# ifndef ENABLE_INFO - # error "Non MMU requires ENABLE_INFO to work" -# endif -#endif - -/* Some platforms don't define INFTIM */ -#ifndef INFTIM -# define INFTIM -1 -#endif - -/* This is out mini timeout. - * Basically we resend the last request every TIMEOUT_MINI seconds. */ -#define TIMEOUT_MINI 3 -/* Except for an infinite timeout. We keep adding TIMEOUT_MINI to - * ourself until TIMEOUT_MINI_INF is reached. */ -#define TIMEOUT_MINI_INF 60 - -#define STATE_INIT 0 -#define STATE_REQUESTING 1 -#define STATE_BOUND 2 -#define STATE_RENEWING 3 -#define STATE_REBINDING 4 -#define STATE_REBOOT 5 -#define STATE_RENEW_REQUESTED 6 -#define STATE_RELEASED 7 - -/* We should define a maximum for the NAK exponential backoff */ -#define NAKOFF_MAX 60 - -#define SOCKET_CLOSED 0 -#define SOCKET_OPEN 1 - -/* Indexes for pollfds */ -#define POLLFD_SIGNAL 0 -#define POLLFD_IFACE 1 - -typedef struct _state { - int *pidfd; - bool forked; - int state; - uint32_t xid; - dhcp_t *dhcp; - int socket; - interface_t *interface; - time_t start; - time_t last_sent; - time_t last_type; - long timeout; - time_t nakoff; - bool daemonised; - bool persistent; - unsigned char *buffer; - size_t buffer_len; - size_t buffer_pos; -} state_t; - -static pid_t daemonise (int *pidfd) -{ - pid_t pid; - sigset_t full; - sigset_t old; -#ifdef THERE_IS_NO_FORK - char **argv; - int i; -#endif - - sigfillset (&full); - sigprocmask (SIG_SETMASK, &full, &old); - -#ifndef THERE_IS_NO_FORK - logger (LOG_DEBUG, "forking to background"); - switch (pid = fork()) { - case -1: - logger (LOG_ERR, "fork: %s", strerror (errno)); - exit (EXIT_FAILURE); - /* NOT REACHED */ - case 0: - setsid (); - close_fds (); - break; - default: - /* Reset our signals as we're the parent about to exit. */ - signal_reset (); - break; - } -#else - logger (LOG_INFO, "forking to background"); - - /* We need to add --daemonise to our options */ - argv = xmalloc (sizeof (char *) * (dhcpcd_argc + 4)); - argv[0] = dhcpcd; - for (i = 1; i < dhcpcd_argc; i++) - argv[i] = dhcpcd_argv[i]; - argv[i] = (char *) "--daemonised"; - if (dhcpcd_skiproutes) { - argv[++i] = (char *) "--skiproutes"; - argv[++i] = dhcpcd_skiproutes; - } - argv[i + 1] = NULL; - - switch (pid = vfork ()) { - case -1: - logger (LOG_ERR, "vfork: %s", strerror (errno)); - _exit (EXIT_FAILURE); - case 0: - signal_reset (); - sigprocmask (SIG_SETMASK, &old, NULL); - execvp (dhcpcd, argv); - logger (LOG_ERR, "execl `%s': %s", dhcpcd, - strerror (errno)); - _exit (EXIT_FAILURE); - } - - free (argv); -#endif - - /* Done with the fd now */ - if (pid != 0) { - writepid (*pidfd, pid); - close (*pidfd); - *pidfd = -1; - - } - - sigprocmask (SIG_SETMASK, &old, NULL); - return (pid); -} - -#ifdef ENABLE_INFO -static bool get_old_lease (state_t *state, const options_t *options) -{ - interface_t *iface = state->interface; - dhcp_t *dhcp = state->dhcp; - struct timeval tv; - unsigned int offset = 0; - - if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - logger (LOG_INFO, "trying to use old lease in `%s'", - iface->infofile); - if (! read_info (iface, dhcp)) - return (false); - - /* Vitaly important we remove the server information here */ - memset (&dhcp->serveraddress, 0, sizeof (dhcp->serveraddress)); - memset (dhcp->servername, 0, sizeof (dhcp->servername)); - -#ifdef ENABLE_ARP - /* Check that no-one is using the address */ - if ((options->dolastlease || - (IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && - (! options->doipv4ll || - arp_claim (iface, dhcp->address))))) - { - memset (&dhcp->address, 0, sizeof (dhcp->address)); - memset (&dhcp->netmask, 0, sizeof (dhcp->netmask)); - memset (&dhcp->broadcast, 0, sizeof (dhcp->broadcast)); - return (false); - } - - /* Ok, lets use this */ - if (IN_LINKLOCAL (dhcp->address.s_addr)) - return (true); -#endif - - /* Ensure that we can still use the lease */ - if (gettimeofday (&tv, NULL) == -1) { - logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); - return (false); - } - - offset = tv.tv_sec - dhcp->leasedfrom; - if (dhcp->leasedfrom && - tv.tv_sec - dhcp->leasedfrom > dhcp->leasetime) - { - logger (LOG_ERR, "lease expired %u seconds ago", - offset + dhcp->leasetime); - return (false); - } - - if (dhcp->leasedfrom == 0) - offset = 0; - state->timeout = dhcp->renewaltime - offset; - iface->start_uptime = uptime (); - return (true); -} -#endif - -#ifdef THERE_IS_NO_FORK -static void remove_skiproutes (dhcp_t *dhcp, interface_t *iface) -{ - int i = -1; - route_t *route; - route_t *newroute; - - free_route (iface->previous_routes); - iface->previous_routes = NULL; - - NSTAILQ_FOREACH (route, dhcp->routes, entries) { - i++; - - /* Check that we did add this route or not */ - if (dhcpcd_skiproutes) { - char *sk = xstrdup (dhcpcd_skiproutes); - char *skp = sk; - char *token; - bool found = false; - - while ((token = strsep (&skp, ","))) { - if (isdigit (*token) && atoi (token) == i) { - found = true; - break; - } - } - free (sk); - if (found) - continue; - } - - if (! iface->previous_routes) { - iface->previous_routes = xmalloc (sizeof (*iface->previous_routes)); - STAILQ_INIT (iface->previous_routes); - } - - newroute = xmalloc (sizeof (*newroute)); - memcpy (newroute, route, sizeof (*newroute)); - STAILQ_INSERT_TAIL (iface->previous_routes, newroute, entries); - } - - /* We no longer need this argument */ - free (dhcpcd_skiproutes); - dhcpcd_skiproutes = NULL; -} -#endif - -static bool client_setup (state_t *state, const options_t *options) -{ - dhcp_t *dhcp = state->dhcp; - interface_t *iface = state->interface; - - state->state = STATE_INIT; - state->last_type = DHCP_DISCOVER; - state->nakoff = 1; - state->daemonised = options->daemonised; - state->persistent = options->persistent; - - if (options->request_address.s_addr == 0 && - (options->doinform || options->dorequest || options->daemonised)) - { -#ifdef ENABLE_INFO - if (! get_old_lease (state, options)) -#endif - { - free (dhcp); - return (false); - } - state->timeout = 0; - - if (! options->daemonised && - IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) - { - logger (LOG_ERR, "cannot request a link local address"); - return (false); - } -#ifdef THERE_IS_NO_FORK - if (options->daemonised) { - state->state = STATE_BOUND; - state->timeout = dhcp->renewaltime; - iface->previous_address = dhcp->address; - iface->previous_netmask = dhcp->netmask; - remove_skiproutes (dhcp, iface); - } -#endif - - } else { - dhcp->address = options->request_address; - dhcp->netmask = options->request_netmask; - if (dhcp->netmask.s_addr == 0) - dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); - dhcp->broadcast.s_addr = dhcp->address.s_addr | - ~dhcp->netmask.s_addr; - } - - /* Remove all existing addresses. - * After all, we ARE a DHCP client whose job it is to configure the - * interface. We only do this on start, so persistent addresses - * can be added afterwards by the user if needed. */ - if (! options->test && ! options->daemonised) { - if (! options->doinform) { - flush_addresses (iface->name); - } else { - /* The inform address HAS to be configured for it to - * work with most DHCP servers */ - if (options->doinform && - has_address (iface->name, dhcp->address) < 1) - { - add_address (iface->name, dhcp->address, - dhcp->netmask, dhcp->broadcast); - iface->previous_address = dhcp->address; - iface->previous_netmask = dhcp->netmask; - } - } - } - - if (*options->clientid) { - /* Attempt to see if the ClientID is a hardware address */ - iface->clientid_len = hwaddr_aton (NULL, options->clientid); - if (iface->clientid_len) { - iface->clientid = xmalloc (iface->clientid_len); - hwaddr_aton (iface->clientid, options->clientid); - } else { - /* Nope, so mark it as-is */ - iface->clientid_len = strlen (options->clientid) + 1; - iface->clientid = xmalloc (iface->clientid_len); - *iface->clientid = '\0'; - memcpy (iface->clientid + 1, - options->clientid, iface->clientid_len - 1); - } - } else { -#ifdef ENABLE_DUID - unsigned char *duid = NULL; - size_t duid_len = 0; - - if (options->doduid) { - duid = xmalloc (DUID_LEN); - duid_len = get_duid (duid, iface); - } - - if (duid_len > 0) { - logger (LOG_INFO, "DUID = %s", hwaddr_ntoa (duid, duid_len)); - - iface->clientid_len = duid_len + 5; - iface->clientid = xmalloc (iface->clientid_len); - *iface->clientid = 255; /* RFC 4361 */ - - /* IAID is 4 bytes, so if the iface name is 4 bytes use it */ - if (strlen (iface->name) == 4) { - memcpy (iface->clientid + 1, iface->name, 4); - } else { - /* Name isn't 4 bytes, so use the index */ - uint32_t ul = htonl (if_nametoindex (iface->name)); - memcpy (iface->clientid + 1, &ul, 4); - } - - memcpy (iface->clientid + 5, duid, duid_len); - free (duid); - } else { -#else - { -#endif - iface->clientid_len = iface->hwlen + 1; - iface->clientid = xmalloc (iface->clientid_len); - *iface->clientid = iface->family; - memcpy (iface->clientid + 1, iface->hwaddr, iface->hwlen); - } - } - - return (true); -} - -static bool do_socket (state_t *state, int mode) -{ - if (state->interface->fd >= 0) - close (state->interface->fd); -#ifdef __linux - if (mode == SOCKET_CLOSED && state->interface->listen_fd >= 0) { - close (state->interface->listen_fd); - state->interface->listen_fd = -1; - } -#endif - - state->interface->fd = -1; - if (mode == SOCKET_OPEN) - if (open_socket (state->interface, ETHERTYPE_IP) == -1) - return (false); - state->socket = mode; - return (true); -} - -static bool _send_message (state_t *state, int type, const options_t *options) -{ - ssize_t retval; - - state->last_type = type; - state->last_sent = uptime (); - logSendToQt(type); - retval = send_message (state->interface, state->dhcp, state->xid, - type, options); - return (retval == -1 ? false : true); -} - -static void drop_config (state_t *state, const options_t *options) -{ - if (! state->persistent) - configure (options, state->interface, state->dhcp, false); - - free_dhcp (state->dhcp); - memset (state->dhcp, 0, sizeof (*state->dhcp)); -} - -static int wait_for_packet (struct pollfd *fds, state_t *state, - const options_t *options) -{ - dhcp_t *dhcp = state->dhcp; - interface_t *iface = state->interface; - int timeout = 0; - int retval = 0; - - if (! (state->timeout > 0 || - (options->timeout == 0 && - (state->state != STATE_INIT || state->xid)))) { - /* We need to zero our signal fd, otherwise we will block - * trying to read a signal. */ - fds[POLLFD_SIGNAL].revents = 0; - return (0); - } - - fds[POLLFD_IFACE].fd = iface->fd; - - if ((options->timeout == 0 && state->xid) || - (dhcp->leasetime == (unsigned) -1 && - state->state == STATE_BOUND)) - { - logger (LOG_DEBUG, "waiting for infinity"); - while (retval == 0) { - if (iface->fd == -1) - retval = poll (fds, 1, INFTIM); - else { - /* Slow down our requests */ - if (timeout < TIMEOUT_MINI_INF) - timeout += TIMEOUT_MINI; - else if (timeout > TIMEOUT_MINI_INF) - timeout = TIMEOUT_MINI_INF; - - retval = poll (fds, 2, timeout * 1000); - if (retval == -1 && errno == EINTR) { - /* If interupted, continue as normal as - * the signal will be delivered down - * the pipe */ - retval = 0; - continue; - } - if (retval == 0) - _send_message (state, state->last_type, - options); - } - } - - return (retval); - } - - /* Resend our message if we're getting loads of packets. - * As we use BPF or LPF, we shouldn't hit this as much, but it's - * still nice to have. */ - if (iface->fd > -1 && uptime () - state->last_sent >= TIMEOUT_MINI) - _send_message (state, state->last_type, options); - - logger (LOG_DEBUG, "waiting for %ld seconds", - (unsigned long) state->timeout); - /* If we're waiting for a reply, then we re-send the last - * DHCP request periodically in-case of a bad line */ - retval = 0; - while (state->timeout > 0 && retval == 0) { - if (iface->fd == -1) - timeout = (int) state->timeout; - else { - timeout = TIMEOUT_MINI; - if (state->timeout < timeout) - timeout = (int) state->timeout; - } - timeout *= 1000; - state->start = uptime (); - retval = poll (fds, iface->fd == -1 ? 1 : 2, timeout); - state->timeout -= uptime () - state->start; - if (retval == -1 && errno == EINTR) { - /* If interupted, continue as normal as the signal - * will be delivered down the pipe */ - retval = 0; - continue; - } - if (retval == 0 && iface->fd != -1 && state->timeout > 0) - _send_message (state, state->last_type, options); - } - - return (retval); -} - -static bool handle_signal (int sig, state_t *state, const options_t *options) -{ - switch (sig) { - case SIGINT: - logger (LOG_INFO, "received SIGINT, stopping"); - return (false); - case SIGTERM: - logger (LOG_INFO, "received SIGTERM, stopping"); - return (false); - - case SIGALRM: - logger (LOG_INFO, "received SIGALRM, renewing lease"); - switch (state->state) { - case STATE_BOUND: - case STATE_RENEWING: - case STATE_REBINDING: - state->state = STATE_RENEW_REQUESTED; - break; - case STATE_RENEW_REQUESTED: - case STATE_REQUESTING: - case STATE_RELEASED: - state->state = STATE_INIT; - break; - } - state->timeout = 0; - state->xid = 0; - return (true); - - case SIGHUP: - if (state->state != STATE_BOUND && - state->state != STATE_RENEWING && - state->state != STATE_REBINDING) - { - logger (LOG_ERR, - "received SIGHUP, but we no have lease to release"); - return (false); - } - - logger (LOG_INFO, "received SIGHUP, releasing lease"); - if (! IN_LINKLOCAL (ntohl (state->dhcp->address.s_addr))) { - do_socket (state, SOCKET_OPEN); - state->xid = (uint32_t) random (); - if ((open_socket (state->interface, false)) >= 0) { - _send_message (state, DHCP_RELEASE, options); - } - do_socket (state, SOCKET_CLOSED); - } - unlink (state->interface->infofile); - return (false); - - default: - logger (LOG_ERR, - "received signal %d, but don't know what to do with it", - sig); - } - - return (false); -} - -static int handle_timeout (state_t *state, const options_t *options) -{ - dhcp_t *dhcp = state->dhcp; - interface_t *iface = state->interface; - - /* No NAK, so reset the backoff */ - state->nakoff = 1; - - if (state->state == STATE_INIT && state->xid != 0) { - if (iface->previous_address.s_addr != 0 && - ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && - ! options->doinform) - { - logger (LOG_ERR, "lost lease"); - if (! options->persistent) - drop_config (state, options); - } else if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - logger (LOG_ERR, "timed out"); - - do_socket (state, SOCKET_CLOSED); - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - -#ifdef ENABLE_INFO - if (! options->test && - (options->doipv4ll || options->dolastlease)) - { - errno = 0; - if (! get_old_lease (state, options)) - { - if (errno == EINTR) - return (0); - if (options->dolastlease) - return (-1); - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - } else if (errno == EINTR) - return (0); - } -#endif - -#ifdef ENABLE_IPV4LL - if (! options->test && options->doipv4ll && - (! dhcp->address.s_addr || - (! IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && - ! options->dolastlease))) - { - logger (LOG_INFO, "probing for an IPV4LL address"); - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - if (ipv4ll_get_address (iface, dhcp) == -1) { - if (! state->daemonised) - return (-1); - - /* start over */ - state->xid = 0; - return (0); - } - state->timeout = dhcp->renewaltime; - } -#endif - -#if defined (ENABLE_INFO) || defined (ENABLE_IPV4LL) - if (dhcp->address.s_addr) { - if (! state->daemonised && - IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) - logger (LOG_WARNING, "using IPV4LL address %s", - inet_ntoa (dhcp->address)); - if (configure (options, iface, dhcp, true) == -1 && - ! state->daemonised) - return (-1); - - state->state = STATE_BOUND; - if (! state->daemonised && options->daemonise) { - switch (daemonise (state->pidfd)) { - case -1: - return (-1); - case 0: - state->daemonised = true; - return (0); - default: - state->persistent = true; - state->forked = true; - return (-1); - } - } - - state->timeout = dhcp->renewaltime; - state->xid = 0; - return (0); - } -#endif - - if (! state->daemonised) - return (-1); - } - - switch (state->state) { - case STATE_INIT: - state->xid = (uint32_t) random (); - do_socket (state, SOCKET_OPEN); - state->timeout = options->timeout; - iface->start_uptime = uptime (); - if (dhcp->address.s_addr == 0) { - if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - logger (LOG_INFO, "broadcasting for a lease"); - _send_message (state, DHCP_DISCOVER, options); - } else if (options->doinform) { - logger (LOG_INFO, "broadcasting inform for %s", - inet_ntoa (dhcp->address)); - _send_message (state, DHCP_INFORM, options); - state->state = STATE_REQUESTING; - } else { - logger (LOG_INFO, "broadcasting for a lease of %s", - inet_ntoa (dhcp->address)); - _send_message (state, DHCP_REQUEST, options); - state->state = STATE_REQUESTING; - } - - break; - case STATE_BOUND: - case STATE_RENEW_REQUESTED: - if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) { - memset (&dhcp->address, 0, sizeof (dhcp->address)); - state->state = STATE_INIT; - state->xid = 0; - break; - } - state->state = STATE_RENEWING; - state->xid = (uint32_t) random (); - /* FALLTHROUGH */ - case STATE_RENEWING: - iface->start_uptime = uptime (); - logger (LOG_INFO, "renewing lease of %s", inet_ntoa - (dhcp->address)); - do_socket (state, SOCKET_OPEN); - _send_message (state, DHCP_REQUEST, options); - state->timeout = dhcp->rebindtime - dhcp->renewaltime; - state->state = STATE_REBINDING; - break; - case STATE_REBINDING: - logger (LOG_ERR, "lost lease, attemping to rebind"); - memset (&dhcp->address, 0, sizeof (dhcp->address)); - do_socket (state, SOCKET_OPEN); - if (state->xid == 0) - state->xid = (uint32_t) random (); - dhcp->serveraddress.s_addr = 0; - _send_message (state, DHCP_REQUEST, options); - state->timeout = dhcp->leasetime - dhcp->rebindtime; - state->state = STATE_REQUESTING; - break; - case STATE_REQUESTING: - state->state = STATE_INIT; - do_socket (state, SOCKET_CLOSED); - state->timeout = 0; - break; - - case STATE_RELEASED: - dhcp->leasetime = 0; - break; - } - - return (0); -} - - -static int handle_dhcp (state_t *state, int type, const options_t *options) -{ - struct timespec ts; - interface_t *iface = state->interface; - dhcp_t *dhcp = state->dhcp; - - /* We should restart on a NAK */ - if (type == DHCP_NAK) { - logger (LOG_INFO, "received NAK: %s", dhcp->message); - logToQt(LOG_INFO, DHCP_NAK, ""); - state->state = STATE_INIT; - state->timeout = 0; - state->xid = 0; - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - - /* If we constantly get NAKS then we should slowly back off */ - if (state->nakoff > 0) { - logger (LOG_DEBUG, "sleeping for %ld seconds", - (long) state->nakoff); - ts.tv_sec = state->nakoff; - ts.tv_nsec = 0; - state->nakoff *= 2; - if (state->nakoff > NAKOFF_MAX) - state->nakoff = NAKOFF_MAX; - nanosleep (&ts, NULL); - } - - return (0); - } - - /* No NAK, so reset the backoff */ - state->nakoff = 1; - - if (type == DHCP_OFFER && state->state == STATE_INIT) { - char *addr = strdup (inet_ntoa (dhcp->address)); - if (dhcp->servername[0]) - logger (LOG_INFO, "offered %s from %s `%s'", - addr, inet_ntoa (dhcp->serveraddress), - dhcp->servername); - else - logger (LOG_INFO, "offered %s from %s", - addr, inet_ntoa (dhcp->serveraddress)); - free (addr); - - logToQt(LOG_INFO, DHCP_OFFER, ""); - -#ifdef ENABLE_INFO - if (options->test) { - write_info (iface, dhcp, options, false); - errno = 0; - return (-1); - } -#endif - - _send_message (state, DHCP_REQUEST, options); - state->state = STATE_REQUESTING; - - return (0); - } - - if (type == DHCP_OFFER) { - logger (LOG_INFO, "got subsequent offer of %s, ignoring ", - inet_ntoa (dhcp->address)); - return (0); - } - - /* We should only be dealing with acks */ - if (type != DHCP_ACK) { - logger (LOG_ERR, "%d not an ACK or OFFER", type); - return (0); - } - - /* if we are here, than we received an ACK and can go on with configuration */ - logToQt(LOG_INFO, DHCP_ACK, ""); - - switch (state->state) { - case STATE_RENEW_REQUESTED: - case STATE_REQUESTING: - case STATE_RENEWING: - case STATE_REBINDING: - break; - default: - logger (LOG_ERR, "wrong state %d", state->state); - } - - do_socket (state, SOCKET_CLOSED); - -#ifdef ENABLE_ARP - if (options->doarp && iface->previous_address.s_addr != - dhcp->address.s_addr) - { - errno = 0; - logToQt(LOG_INFO, DHCPCD_ARP_TEST, ""); - if (arp_claim (iface, dhcp->address)) { - do_socket (state, SOCKET_OPEN); - _send_message (state, DHCP_DECLINE, options); - do_socket (state, SOCKET_CLOSED); - - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - state->xid = 0; - state->timeout = 0; - state->state = STATE_INIT; - - /* RFC 2131 says that we should wait for 10 seconds - * before doing anything else */ - logger (LOG_INFO, "sleeping for 10 seconds"); - ts.tv_sec = 10; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); - return (0); - } else if (errno == EINTR) - return (0); - } -#endif - - if (options->doinform) { - if (options->request_address.s_addr != 0) - dhcp->address = options->request_address; - else - dhcp->address = iface->previous_address; - - logger (LOG_INFO, "received approval for %s", - inet_ntoa (dhcp->address)); - if (iface->previous_netmask.s_addr != dhcp->netmask.s_addr) { - add_address (iface->name, dhcp->address, - dhcp->netmask, dhcp->broadcast); - iface->previous_netmask.s_addr = dhcp->netmask.s_addr; - } - state->timeout = options->leasetime; - if (state->timeout == 0) - state->timeout = DEFAULT_LEASETIME; - state->state = STATE_INIT; - } else if (dhcp->leasetime == (unsigned) -1) { - dhcp->renewaltime = dhcp->rebindtime = dhcp->leasetime; - state->timeout = 1; /* So we wait for infinity */ - logger (LOG_INFO, "leased %s for infinity", - inet_ntoa (dhcp->address)); - state->state = STATE_BOUND; - } else { - if (! dhcp->leasetime) { - dhcp->leasetime = DEFAULT_LEASETIME; - logger(LOG_INFO, - "no lease time supplied, assuming %d seconds", - dhcp->leasetime); - } - logger (LOG_INFO, "leased %s for %u seconds", - inet_ntoa (dhcp->address), dhcp->leasetime); - - if (dhcp->rebindtime >= dhcp->leasetime) { - dhcp->rebindtime = (dhcp->leasetime * 0.875); - logger (LOG_ERR, - "rebind time greater than lease " - "time, forcing to %u seconds", - dhcp->rebindtime); - } - - if (dhcp->renewaltime > dhcp->rebindtime) { - dhcp->renewaltime = (dhcp->leasetime * 0.5); - logger (LOG_ERR, - "renewal time greater than rebind time, " - "forcing to %u seconds", - dhcp->renewaltime); - } - - if (! dhcp->renewaltime) { - dhcp->renewaltime = (dhcp->leasetime * 0.5); - logger (LOG_INFO, - "no renewal time supplied, assuming %d seconds", - dhcp->renewaltime); - } else - logger (LOG_DEBUG, "renew in %u seconds", - dhcp->renewaltime); - - if (! dhcp->rebindtime) { - dhcp->rebindtime = (dhcp->leasetime * 0.875); - logger (LOG_INFO, - "no rebind time supplied, assuming %d seconds", - dhcp->rebindtime); - } else - logger (LOG_DEBUG, "rebind in %u seconds", - dhcp->rebindtime); - - state->timeout = dhcp->renewaltime; - state->state = STATE_BOUND; - } - - state->xid = 0; - - logToQt(LOG_INFO, DHCPCD_CONFIGURE, ""); - if (configure (options, iface, dhcp, true) == -1 && - ! state->daemonised) - return (-1); - - if (! state->daemonised && options->daemonise) { - switch (daemonise (state->pidfd)) { - case 0: - state->daemonised = true; - return (0); - case -1: - return (-1); - default: - state->persistent = true; - state->forked = true; - return (-1); - } - } - - return (0); -} - -static int handle_packet (state_t *state, const options_t *options) -{ - interface_t *iface = state->interface; - bool valid = false; - int type; - struct dhcp_t *new_dhcp; - dhcpmessage_t message; - - /* Allocate our buffer space for BPF. - * We cannot do this until we have opened our socket as we don't - * know how much of a buffer we need until then. */ - if (! state->buffer) - state->buffer = xmalloc (iface->buffer_length); - state->buffer_len = iface->buffer_length; - state->buffer_pos = 0; - - /* We loop through until our buffer is empty. - * The benefit is that if we get >1 DHCP packet in our buffer and - * the first one fails for any reason, we can use the next. */ - - memset (&message, 0, sizeof (message)); - new_dhcp = xmalloc (sizeof (*new_dhcp)); - - do { - if (get_packet (iface, (unsigned char *) &message, - state->buffer, - &state->buffer_len, &state->buffer_pos) == -1) - break; - - if (state->xid != message.xid) { - logger (LOG_DEBUG, - "ignoring packet with xid 0x%x as it's not ours (0x%x)", - message.xid, state->xid); - continue; - } - - logger (LOG_DEBUG, "got a packet with xid 0x%x", message.xid); - memset (new_dhcp, 0, sizeof (*new_dhcp)); - type = parse_dhcpmessage (new_dhcp, &message); - if (type == -1) { - logger (LOG_ERR, "failed to parse packet"); - free_dhcp (new_dhcp); - /* We don't abort on this, so return zero */ - return (0); - } - - /* If we got here then the DHCP packet is valid and appears to - * be for us, so let's clear the buffer as we don't care about - * any more DHCP packets at this point. */ - valid = true; - break; - } while (state->buffer_pos != 0); - - /* No packets for us, so wait until we get one */ - if (! valid) { - free (new_dhcp); - return (0); - } - - /* new_dhcp is now our master DHCP message */ - free_dhcp (state->dhcp); - free (state->dhcp); - state->dhcp = new_dhcp; - new_dhcp = NULL; - - return (handle_dhcp (state, type, options)); -} - -int dhcp_run (const options_t *options, int *pidfd) -{ - interface_t *iface; - state_t *state = NULL; - struct pollfd fds[] = { - { -1, POLLIN, 0 }, - { -1, POLLIN, 0 } - }; - int retval = -1; - int sig; - - if (! options) - return (-1); - - /*read_interface : defined in interface.c*/ - iface = read_interface (options->interface, options->metric); - if (! iface) - goto eexit; - - state = xzalloc (sizeof (*state)); - state->dhcp = xzalloc (sizeof (*state->dhcp)); - state->pidfd = pidfd; - state->interface = iface; - - if (! client_setup (state, options)) - goto eexit; - - if (signal_init () == -1) - goto eexit; - if (signal_setup () == -1) - goto eexit; - - fds[POLLFD_SIGNAL].fd = signal_fd (); - - for (;;) { - retval = wait_for_packet (fds, state, options); - - /* We should always handle our signals first */ - if ((sig = (signal_read (&fds[POLLFD_SIGNAL]))) != -1) { - if (handle_signal (sig, state, options)) - retval = 0; - else - retval = -1; - } else if (retval == 0) - retval = handle_timeout (state, options); - else if (retval > 0 && - state->socket != SOCKET_CLOSED && - fds[POLLFD_IFACE].revents & POLLIN) - retval = handle_packet (state, options); - else if (retval == -1 && errno == EINTR) { - /* The interupt will be handled above */ - retval = 0; - } else { - logger (LOG_ERR, "poll: %s", strerror (errno)); - retval = -1; - } - - if (retval != 0) - break; - } - -eexit: - if (iface) { - do_socket (state, SOCKET_CLOSED); - drop_config (state, options); - free_route (iface->previous_routes); - free (iface->clientid); - free (iface); - } - - if (state) { - if (state->forked) - retval = 0; - - if (state->daemonised) - unlink (options->pidfile); - - free_dhcp (state->dhcp); - free (state->dhcp); - free (state->buffer); - free (state); - } - - return (retval); -} diff --git a/workspace/customdhcpcd/src/client.h b/workspace/customdhcpcd/src/client.h deleted file mode 100644 index fa6ea9b..0000000 --- a/workspace/customdhcpcd/src/client.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef CLIENT_H -#define CLIENT_H - -#include "dhcpcd.h" - -int dhcp_run (const options_t *options, int *pidfd); - -#endif diff --git a/workspace/customdhcpcd/src/common.c b/workspace/customdhcpcd/src/common.c deleted file mode 100644 index 99471bc..0000000 --- a/workspace/customdhcpcd/src/common.c +++ /dev/null @@ -1,249 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "logger.h" - -/* Handy routine to read very long lines in text files. - * This means we read the whole line and avoid any nasty buffer overflows. */ -char *get_line (FILE *fp) -{ - char *line = NULL; - char *p; - size_t len = 0; - size_t last = 0; - - if (feof (fp)) - return (NULL); - - do { - len += BUFSIZ; - line = xrealloc (line, sizeof (char) * len); - p = line + last; - memset (p, 0, BUFSIZ); - fgets (p, BUFSIZ, fp); - last += strlen (p); - } while (! feof (fp) && line[last - 1] != '\n'); - - /* Trim the trailing newline */ - if (*line && line[--last] == '\n') - line[last] = '\0'; - - return (line); -} - -/* OK, this should be in dhcpcd.c - * It's here to make dhcpcd more readable */ -#ifndef HAVE_SRANDOMDEV -void srandomdev (void) -{ - int fd; - unsigned long seed; - - fd = open ("/dev/urandom", 0); - if (fd == -1 || read (fd, &seed, sizeof (seed)) == -1) { - logger (LOG_WARNING, "Could not read from /dev/urandom: %s", - strerror (errno)); - seed = time (0); - } - if (fd >= 0) - close(fd); - - srandom (seed); -} -#endif - -/* strlcpy is nice, shame glibc does not define it */ -#ifndef HAVE_STRLCPY -size_t strlcpy (char *dst, const char *src, size_t size) -{ - const char *s = src; - size_t n = size; - - if (n && --n) - do { - if (! (*dst++ = *src++)) - break; - } while (--n); - - if (! n) { - if (size) - *dst = '\0'; - while (*src++); - } - - return (src - s - 1); -} -#endif - -/* Close our fd's */ -int close_fds (void) -{ - int fd; - - if ((fd = open ("/dev/null", O_RDWR)) == -1) { - logger (LOG_ERR, "open `/dev/null': %s", strerror (errno)); - return (-1); - } - - dup2 (fd, fileno (stdin)); - dup2 (fd, fileno (stdout)); - dup2 (fd, fileno (stderr)); - if (fd > 2) - close (fd); - return (0); -} - -int close_on_exec (int fd) -{ - int flags; - - if ((flags = fcntl (fd, F_GETFD, 0)) == -1 - || fcntl (fd, F_SETFD, flags | FD_CLOEXEC) == -1) - { - logger (LOG_ERR, "fcntl: %s", strerror (errno)); - return (-1); - } - return (0); -} - -/* Handy function to get the time. - * We only care about time advancements, not the actual time itself - * Which is why we use CLOCK_MONOTONIC, but it is not available on all - * platforms. - */ -int get_time (struct timeval *tp) -{ -#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC) - struct timespec ts; - static clockid_t posix_clock; - static int posix_clock_set = 0; - - if (! posix_clock_set) { - if (sysconf (_SC_MONOTONIC_CLOCK) >= 0) - posix_clock = CLOCK_MONOTONIC; - else - posix_clock = CLOCK_REALTIME; - posix_clock_set = 1; - } - - if (clock_gettime (posix_clock, &ts) == -1) { - logger (LOG_ERR, "clock_gettime: %s", strerror (errno)); - return (-1); - } - - tp->tv_sec = ts.tv_sec; - tp->tv_usec = ts.tv_nsec / 1000; - return (0); -#else - if (gettimeofday (tp, NULL) == -1) { - logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); - return (-1); - } - return (0); -#endif -} - -time_t uptime (void) -{ - struct timeval tp; - - if (get_time (&tp) == -1) - return (-1); - - return (tp.tv_sec); -} - -void writepid (int fd, pid_t pid) -{ - char spid[16]; - if (ftruncate (fd, (off_t) 0) == -1) { - logger (LOG_ERR, "ftruncate: %s", strerror (errno)); - } else { - ssize_t len; - snprintf (spid, sizeof (spid), "%u", pid); - len = pwrite (fd, spid, strlen (spid), (off_t) 0); - if (len != (ssize_t) strlen (spid)) - logger (LOG_ERR, "pwrite: %s", strerror (errno)); - } -} - -void *xmalloc (size_t s) -{ - void *value = malloc (s); - - if (value) - return (value); - - logger (LOG_ERR, "memory exhausted"); - - exit (EXIT_FAILURE); - /* NOTREACHED */ -} - -void *xzalloc (size_t s) -{ - void *value = xmalloc (s); - memset (value, 0, s); - return (value); -} - -void *xrealloc (void *ptr, size_t s) -{ - void *value = realloc (ptr, s); - - if (value) - return (value); - - logger (LOG_ERR, "memory exhausted"); - exit (EXIT_FAILURE); - /* NOTREACHED */ -} - -char *xstrdup (const char *str) -{ - char *value; - - if (! str) - return (NULL); - - if ((value = strdup (str))) - return (value); - - logger (LOG_ERR, "memory exhausted"); - exit (EXIT_FAILURE); - /* NOTREACHED */ -} diff --git a/workspace/customdhcpcd/src/common.h b/workspace/customdhcpcd/src/common.h deleted file mode 100644 index 46f1886..0000000 --- a/workspace/customdhcpcd/src/common.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef COMMON_H -#define COMMON_H - -/* string.h pulls in features.h so the below define checks work */ -#include -#include -#include - -#if __GNUC__ > 2 || defined(__INTEL_COMPILER) -# define _unused __attribute__((__unused__)) -#else -# define _unused -#endif - -#define HAVE_STRLCPY -/* Only GLIBC doesn't support strlcpy */ -#ifdef __GLIBC__ -# if ! defined(__UCLIBC__) && ! defined (__dietlibc__) -# undef HAVE_STRLCPY -size_t strlcpy (char *dst, const char *src, size_t size); -# endif -#endif - -#define HAVE_SRANDOMDEV -#if defined(__GLIBC__) || defined(__NetBSD__) -# undef HAVE_SRANDOMDEV -void srandomdev (void); -#endif - -int close_fds (void); -int close_on_exec (int fd); -char *get_line (FILE *fp); -int get_time (struct timeval *tp); -time_t uptime (void); -void writepid (int fd, pid_t pid); -void *xrealloc (void *ptr, size_t size); -void *xmalloc (size_t size); -void *xzalloc (size_t size); -char *xstrdup (const char *str); - -#endif diff --git a/workspace/customdhcpcd/src/config.h b/workspace/customdhcpcd/src/config.h deleted file mode 100644 index 2c0991b..0000000 --- a/workspace/customdhcpcd/src/config.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef CONFIG_H -#define CONFIG_H - -/* You can enable/disable various chunks of optional code here. - * You would only do this to try and shrink the end binary if dhcpcd - * was running on a low memory device */ - -#define ENABLE_ARP -#define ENABLE_NTP -#define ENABLE_NIS -#define ENABLE_INFO -/* Define this to enable some compatability with 1.x and 2.x info files */ -/* #define ENABLE_INFO_COMPAT */ - -/* IPV4LL, aka ZeroConf, aka APIPA, aka RFC 3927. - * Needs ARP. */ -#define ENABLE_IPV4LL - -/* We will auto create a DUID_LLT file if it doesn't exist. - * You can always create your own DUID file that just contains the - * hex string that represents the DUID. - * See RFC 3315 for details on this. */ -#define ENABLE_DUID - -/* resolvconf is framework for multiple interfaces to manage resolv.conf */ -#define ENABLE_RESOLVCONF - -/* Some systems do not have a working fork. - * The Makefile will attempt to work it out, but if it fails to feel free to - * define it here. */ -/* #define THERE_IS_NO_FORK */ - -/* Packname name and pathname definitions. */ - -#define PACKAGE "dhcpcd" - -#define ETCDIR "/etc" -#define RESOLVFILE ETCDIR "/resolv.conf" - -#define NISFILE ETCDIR "/yp.conf" - -#define NTPFILE ETCDIR "/ntp.conf" -#define NTPDRIFTFILE ETCDIR "/ntp.drift" -#define NTPLOGFILE "/var/log/ntp.log" - -#define OPENNTPFILE ETCDIR "/ntpd.conf" - -#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh" - -#define STATEDIR "/var" -#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid" - -#ifndef INFODIR -# define INFODIR "/var/lib/dhcpcd" -#endif -#define INFOFILE INFODIR "/" PACKAGE "-%s.info" -#define DUIDFILE INFODIR "/" PACKAGE ".duid" - -/* OPENRC is Open Run Control, forked from Gentoo's baselayout package - * BSDRC is BSD style Run Control - * SLACKRC is Slackware Run Control - * SERVICE is RedHat service command - * SYSV should cover everthing else */ -#ifdef ENABLE_OPENRC -# define SERVICE "OPENRC" -# define NISSERVICE ETCDIR "/init.d/ypbind" -# define NISRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" -# define NTPSERVICE ETCDIR "/init.d/ntpd" -# define NTPRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" -#endif -#if ENABLE_BSDRC -# define SERVICE "BSDRC" -# define NISSERVICE ETCDIR "/rc.d/ypbind" -# define NISRESTARTARGS "restart" -# define NTPSERVICE ETCDIR "/rc.d/ntpd" -# define NTPRESTARTARGS "restart" -#endif -#if ENABLE_SLACKRC -# define SERVICE "SLACKRC" -# define NISSERVICE ETCDIR "/rc.d/rc.ypbind" -# define NISRESTARTARGS "restart" -# define NTPSERVICE ETCDIR "/rc.d/rc.ntpd" -# define NTPRESTARTARGS "restart" -#endif -#if ENABLE_SERVICE -# define SERVICE "SERVICE" -# define NISSERVICE "service" -# define NISRESTARTARGS "ypbind", "restart" -# define NTPSERVICE "service" -# define NTPRESTARTARGS "ntpd", "restart" -#endif -#if ENABLE_SYSV -# define SERVICE "SYSV" -# define NISSERVICE ETCDIR "/init.d/ypbind" -# define NISRESTARTARGS "restart" -# define NTPSERVICE ETCDIR "/init.d/ntpd" -# define NTPRESTARTARGS "restart" -#endif - -#ifndef NISSERVICE -# undef ENABLE_NIS -#endif -#ifndef NTPSERVICE -# undef ENABLE_NTP -#endif - -#endif diff --git a/workspace/customdhcpcd/src/configure.c b/workspace/customdhcpcd/src/configure.c deleted file mode 100644 index 91e3c9f..0000000 --- a/workspace/customdhcpcd/src/configure.c +++ /dev/null @@ -1,813 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include - -#include - -#include -#ifdef __linux__ -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "configure.h" -#include "dhcp.h" -#ifdef ENABLE_INFO -# include "info.h" -#endif -#include "interface.h" -#include "dhcpcd.h" -#include "logger.h" -#include "signal.h" -#include "socket.h" - -#include "status.h" -#include "logwriter.h" - -static int file_in_path (const char *file) -{ - char *p = getenv ("PATH"); - char *path; - char *token; - struct stat s; - char mypath[PATH_MAX]; - int retval = -1; - - if (! p) { - errno = ENOENT; - return (-1); - } - - path = strdup (p); - p = path; - while ((token = strsep (&p, ":"))) { - snprintf (mypath, PATH_MAX, "%s/%s", token, file); - if (stat (mypath, &s) == 0) { - retval = 0; - break; - } - } - free (path); - return (retval); -} - -/* IMPORTANT: Ensure that the last parameter is NULL when calling */ -static int exec_cmd (const char *cmd, const char *args, ...) -{ - va_list va; - char **argv; - int n = 1; - int ret = 0; - pid_t pid; - sigset_t full; - sigset_t old; - - va_start (va, args); - while (va_arg (va, char *) != NULL) - n++; - va_end (va); - argv = xmalloc (sizeof (char *) * (n + 2)); - - va_start (va, args); - n = 2; - argv[0] = (char *) cmd; - argv[1] = (char *) args; - while ((argv[n] = va_arg (va, char *)) != NULL) - n++; - va_end (va); - - /* OK, we need to block signals */ - sigfillset (&full); - sigprocmask (SIG_SETMASK, &full, &old); - -#ifdef THERE_IS_NO_FORK - signal_reset (); - pid = vfork (); -#else - pid = fork(); -#endif - - switch (pid) { - case -1: - logger (LOG_ERR, "vfork: %s", strerror (errno)); - ret = -1; - break; - case 0: -#ifndef THERE_IS_NO_FORK - signal_reset (); -#endif - sigprocmask (SIG_SETMASK, &old, NULL); - if (execvp (cmd, argv) && errno != ENOENT) - logger (LOG_ERR, "error executing \"%s\": %s", - cmd, strerror (errno)); - _exit (111); - /* NOTREACHED */ - } - -#ifdef THERE_IS_NO_FORK - signal_setup (); -#endif - - /* Restore our signals */ - sigprocmask (SIG_SETMASK, &old, NULL); - - free (argv); - return (ret); -} - -static void exec_script (const char *script, const char *infofile, - const char *arg) -{ - struct stat buf; - - if (! script || ! infofile || ! arg) - return; - - if (stat (script, &buf) == -1) { - if (strcmp (script, DEFAULT_SCRIPT) != 0) - logger (LOG_ERR, "`%s': %s", script, strerror (ENOENT)); - return; - } - -#ifdef ENABLE_INFO - logger (LOG_DEBUG, "exec \"%s\" \"%s\" \"%s\"", script, infofile, arg); - exec_cmd (script, infofile, arg, (char *) NULL); -#else - logger (LOG_DEBUG, "exec \"%s\" \"\" \"%s\"", script, arg); - exec_cmd (script, "", arg, (char *) NULL); -#endif -} - -static int make_resolv (const char *ifname, const dhcp_t *dhcp) -{ - FILE *f = NULL; - address_t *address; - -#ifdef ENABLE_RESOLVCONF - char *resolvconf = NULL; - - if (file_in_path ("resolvconf") == 0) { - size_t len = strlen ("resolvconf -a ") + strlen (ifname) + 1; - resolvconf = xmalloc (sizeof (char) * len); - snprintf (resolvconf, len, "resolvconf -a %s", ifname); - if ((f = popen (resolvconf , "w"))) - logger (LOG_DEBUG, - "sending DNS information to resolvconf"); - else if (errno == EEXIST) - logger (LOG_ERR, "popen: %s", strerror (errno)); - - if (ferror (f)) - logger (LOG_ERR, "ferror"); - free (resolvconf); - } -#endif - if (! f) { - logger (LOG_DEBUG, "writing "RESOLVFILE); - if (! (f = fopen(RESOLVFILE, "w"))) - logger (LOG_ERR, "fopen `%s': %s", RESOLVFILE, strerror (errno)); - } - - if (! f) - return (-1); - - fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); - if (dhcp->dnssearch) - fprintf (f, "search %s\n", dhcp->dnssearch); - else if (dhcp->dnsdomain) { - fprintf (f, "search %s\n", dhcp->dnsdomain); - } - - STAILQ_FOREACH (address, dhcp->dnsservers, entries) - fprintf (f, "nameserver %s\n", inet_ntoa (address->address)); - -#ifdef ENABLE_RESOLVCONF - if (resolvconf) - pclose (f); - else -#endif - fclose (f); - - /* Refresh the local resolver */ - res_init (); - return (0); -} - -static void restore_resolv (const char *ifname) -{ -#ifdef ENABLE_RESOLVCONF - if (file_in_path ("resolvconf") == 0) { - logger (LOG_DEBUG, "removing information from resolvconf"); - exec_cmd("resolvconf", "-d", ifname, (char *) NULL); - } -#endif -} - -static bool in_addresses (const struct address_head *addresses, - struct in_addr address) -{ - const address_t *addr; - - STAILQ_FOREACH (addr, addresses, entries) - if (addr->address.s_addr == address.s_addr) - return (true); - - return (false); -} - -static bool in_routes (const struct route_head *routes, route_t *route) -{ - const route_t *r; - - if (! routes) - return (false); - - STAILQ_FOREACH (r, routes, entries) - if (r->destination.s_addr == route->destination.s_addr && - r->netmask.s_addr == route->netmask.s_addr && - r->gateway.s_addr == route->gateway.s_addr) - return (true); - - return (false); -} - -#ifdef ENABLE_NTP -static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp) -{ - FILE *f; - address_t *address; - char *a; - char *line; - int tomatch = 0; - char *token; - bool ntp = false; - - STAILQ_FOREACH (address, dhcp->ntpservers, entries) - tomatch++; - - /* Check that we really need to update the servers. - * We do this because ntp has to be restarted to - * work with a changed config. */ - if (! (f = fopen (file, "r"))) { - if (errno != ENOENT) { - logger (LOG_ERR, "fopen `%s': %s", - file, strerror (errno)); - return (-1); - } - } else { - while (tomatch != 0 && (line = get_line (f))) { - struct in_addr addr; - - a = line; - token = strsep (&a, " "); - if (! token || strcmp (token, "server") != 0) - goto next; - - if ((token = strsep (&a, " \n")) == NULL) - goto next; - - if (inet_aton (token, &addr) == 1 && - in_addresses (dhcp->ntpservers, addr)) - tomatch--; - -next: - free (line); - } - fclose (f); - - /* File has the same name servers that we do, - * so no need to restart ntp */ - if (tomatch == 0) { - logger (LOG_DEBUG, "%s already configured, skipping", - file); - return (0); - } - } - - logger (LOG_DEBUG, "writing %s", file); - if (! (f = fopen (file, "w"))) { - logger (LOG_ERR, "fopen `%s': %s", file, strerror (errno)); - return (-1); - } - - fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); -#ifdef NTPFILE - if (strcmp (file, NTPFILE) == 0) { - ntp = true; - fprintf (f, "restrict default noquery notrust nomodify\n"); - fprintf (f, "restrict 127.0.0.1\n"); - } -#endif - - STAILQ_FOREACH (address, dhcp->ntpservers, entries) { - a = inet_ntoa (address->address); - if (ntp) - fprintf (f, "restrict %s nomodify notrap noquery\n", a); - fprintf (f, "server %s\n", a); - } - fclose (f); - - return (1); -} - -static int make_ntp (const char *ifname, const dhcp_t *dhcp) -{ - /* On some systems we have only have one ntp service, but we don't - * know which configuration file we're using. So we need to write - * to both and restart accordingly. */ - - bool restart_ntp = false; - bool restart_openntp = false; - int retval = 0; - -#ifdef NTPFILE - if (_make_ntp (NTPFILE, ifname, dhcp) > 0) - restart_ntp = true; -#endif - -#ifdef OPENNTPFILE - if (_make_ntp (OPENNTPFILE, ifname, dhcp) > 0) - restart_openntp = true; -#endif - -#ifdef NTPSERVICE - if (restart_ntp) { -#ifdef NTPCHECK - if (system (NTPCHECK) == 0) -#endif - retval += exec_cmd (NTPSERVICE, NTPRESTARTARGS, - (char *) NULL); - } -#endif - -#if defined (NTPSERVICE) && defined (OPENNTPSERVICE) - if (restart_openntp && - (strcmp (NTPSERVICE, OPENNTPSERVICE) != 0 || ! restart_ntp)) - { -#ifdef OPENNTPCHECK - if (system (OPENNTPCHECK) == 0) -#endif - retval += exec_cmd (OPENNTPSERVICE, - OPENNTPRESTARTARGS, (char *) NULL); - } -#elif defined (OPENNTPSERVICE) && ! defined (NTPSERVICE) - if (restart_openntp) { -#ifdef OPENNTPCHECK - if (system (OPENNTPCHECK) == 0) -#endif - retval += exec_cmd (OPENNTPSERVICE, - OPENNTPRESTARTARGS, (char *) NULL); - } -#endif - - return (retval); -} -#endif - -#ifdef ENABLE_NIS -#define PREFIXSIZE 256 -static int make_nis (const char *ifname, const dhcp_t *dhcp) -{ - FILE *f; - address_t *address; - char *prefix; - - logger (LOG_DEBUG, "writing "NISFILE); - if (! (f = fopen(NISFILE, "w"))) { - logger (LOG_ERR, "fopen `%s': %s", NISFILE, strerror (errno)); - return (-1); - } - - prefix = xmalloc (sizeof (char) * PREFIXSIZE); - *prefix = '\0'; - fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); - - if (dhcp->nisdomain) { - setdomainname (dhcp->nisdomain, (int) strlen (dhcp->nisdomain)); - - if (dhcp->nisservers) - snprintf (prefix, PREFIXSIZE, "domain %s server", - dhcp->nisdomain); - else - fprintf (f, "domain %s broadcast\n", dhcp->nisdomain); - } - else - snprintf (prefix, PREFIXSIZE, "%s", "ypserver"); - - NSTAILQ_FOREACH (address, dhcp->nisservers, entries) - fprintf (f, "%s %s\n", prefix, inet_ntoa (address->address)); - - free (prefix); - fclose (f); - -#ifdef NISCHECK - if (system (NISCHECK) == 0) -#endif - exec_cmd (NISSERVICE, NISRESTARTARGS, (char *) NULL); - return (0); -} -#endif - -static char *lookuphostname (char *hostname, const dhcp_t *dhcp, - const options_t *options) -{ - union { - struct sockaddr sa; - struct sockaddr_in sin; - } su; - socklen_t salen; - char *addr; - struct addrinfo hints; - struct addrinfo *res = NULL; - int result; - char *p; - - logger (LOG_DEBUG, "Looking up hostname via DNS"); - addr = xmalloc (sizeof (char) * NI_MAXHOST); - salen = sizeof (su.sa); - memset (&su.sa, 0, salen); - su.sin.sin_family = AF_INET; - memcpy (&su.sin.sin_addr, &dhcp->address, sizeof (su.sin.sin_addr)); - - if ((result = getnameinfo (&su.sa, salen, addr, NI_MAXHOST, - NULL, 0, NI_NAMEREQD)) != 0) { - logger (LOG_ERR, - "Failed to lookup hostname via DNS: %s", - gai_strerror (result)); - free (addr); - return (NULL); - } - - /* Check for a malicious PTR record */ - memset (&hints, 0, sizeof (hints)); - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = AI_NUMERICHOST; - result = getaddrinfo (addr, "0", &hints, &res); - if (res) - freeaddrinfo (res); - if (result == 0) - logger (LOG_ERR, "malicious PTR record detected"); - if (result == 0 || ! *addr) { - free (addr); - return (NULL); - } - - p = strchr (addr, '.'); - if (p) { - switch (options->dohostname) { - case 1: /* -H */ - case 4: /* -HHHH */ - break; - case 2: /* -HH */ - case 5: /* -HHHHH */ - /* Strip out the domain if it matches */ - p++; - if (*p && dhcp->dnssearch) { - char *s = xstrdup (dhcp->dnssearch); - char *sp = s; - char *t; - - while ((t = strsep (&sp, " "))) - if (strcmp (t, p) == 0) { - *--p = '\0'; - break; - } - free (s); - } else if (dhcp->dnsdomain) { - if (strcmp (dhcp->dnsdomain, p) == 0) - *--p = '\0'; - } - break; - case 3: /* -HHH */ - case 6: /* -HHHHHH */ - /* Just strip the domain */ - *p = '\0'; - break; - default: /* Too many H! */ - break; - } - } - - strlcpy (hostname, addr, MAXHOSTNAMELEN); - free (addr); - return (hostname); -} - -int configure (const options_t *options, interface_t *iface, - const dhcp_t *dhcp, bool up) -{ - route_t *route = NULL; - struct route_head *new_routes = NULL; - route_t *new_route = NULL; - char *newhostname = NULL; - char *curhostname = NULL; - int remember; -#ifdef ENABLE_IPV4LL - bool haslinklocal = false; -#endif -#ifdef THERE_IS_NO_FORK - int skip = 0; - size_t skiplen; - char *skipp; -#endif - - if (! options || ! iface || ! dhcp) - return (-1); - - if (dhcp->address.s_addr == 0) - up = 0; - - /* Remove old routes. - * Always do this as the interface may have >1 address not added by us - * so the routes we added may still exist. */ - NSTAILQ_FOREACH (route, iface->previous_routes, entries) - if ((route->destination.s_addr || options->dogateway) && - (! up || ! in_routes (dhcp->routes, route))) - del_route (iface->name, route->destination, - route->netmask, route->gateway, - options->metric); - /* If we aren't up, then reset the interface as much as we can */ - if (! up) { - if (iface->previous_routes) { - free_route (iface->previous_routes); - iface->previous_routes = NULL; - } - - /* Restore the original MTU value */ - if (iface->mtu && iface->previous_mtu != iface->mtu) { - set_mtu (iface->name, iface->mtu); - iface->previous_mtu = iface->mtu; - } - -#ifdef ENABLE_INFO - /* If we haven't created an info file, do so now */ - if (! dhcp->frominfo) - write_info (iface, dhcp, options, false); -#endif - - /* Only reset things if we had set them before */ - if (iface->previous_address.s_addr != 0) { - if (! options->keep_address) { - del_address (iface->name, - iface->previous_address, - iface->previous_netmask); - memset (&iface->previous_address, - 0, sizeof (iface->previous_address)); - memset (&iface->previous_netmask, - 0, sizeof (iface->previous_netmask)); - } - } - - restore_resolv (iface->name); - exec_script (options->script, iface->infofile, "down"); - - return (0); - } - - /* Set the MTU requested. - * If the DHCP server no longer sends one OR it's invalid then - * we restore the original MTU */ - if (options->domtu) { - unsigned short mtu = iface->mtu; - if (dhcp->mtu) - mtu = dhcp->mtu; - - if (mtu != iface->previous_mtu) { - if (set_mtu (iface->name, mtu) == 0) - iface->previous_mtu = mtu; - } - } - - /* This also changes netmask */ - if (! options->doinform || ! has_address (iface->name, dhcp->address)) - if (add_address (iface->name, dhcp->address, dhcp->netmask, - dhcp->broadcast) == -1 && errno != EEXIST) - return (false); - - /* Now delete the old address if different */ - if (iface->previous_address.s_addr != dhcp->address.s_addr && - iface->previous_address.s_addr != 0 && - ! options->keep_address) - del_address (iface->name, - iface->previous_address, iface->previous_netmask); - -#ifdef __linux__ - /* On linux, we need to change the subnet route to have our metric. */ - if (iface->previous_address.s_addr != dhcp->address.s_addr && - options->metric > 0 && - dhcp->netmask.s_addr != INADDR_BROADCAST) - { - struct in_addr td; - struct in_addr tg; - memset (&td, 0, sizeof (td)); - memset (&tg, 0, sizeof (tg)); - td.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; - add_route (iface->name, td, dhcp->netmask, tg, options->metric); - del_route (iface->name, td, dhcp->netmask, tg, 0); - } -#endif - -#ifdef THERE_IS_NO_FORK - free (dhcpcd_skiproutes); - /* We can never have more than 255 routes. So we need space - * for 255 3 digit numbers and commas */ - skiplen = 255 * 4 + 1; - skipp = dhcpcd_skiproutes = xmalloc (sizeof (char) * skiplen); - *skipp = '\0'; -#endif - - /* Remember added routes */ - NSTAILQ_FOREACH (route, dhcp->routes, entries) { -#ifdef ENABLE_IPV4LL - /* Check if we have already got a link locale route dished - * out by the DHCP server */ - if (route->destination.s_addr == htonl (LINKLOCAL_ADDR) && - route->netmask.s_addr == htonl (LINKLOCAL_MASK)) - haslinklocal = true; -#endif - /* Don't set default routes if not asked to */ - if (route->destination.s_addr == 0 && - route->netmask.s_addr == 0 && - ! options->dogateway) - continue; - - remember = add_route (iface->name, route->destination, - route->netmask, route->gateway, - options->metric); - /* If we failed to add the route, we may have already added it - ourselves. If so, remember it again. */ - if (remember < 0 && in_routes (iface->previous_routes, route)) - remember = 1; - - if (remember >= 0) { - if (! new_routes) { - new_routes = xmalloc (sizeof (*new_routes)); - STAILQ_INIT (new_routes); - } - new_route = xmalloc (sizeof (route_t)); - memcpy (new_route, route, sizeof (*new_route)); - STAILQ_INSERT_TAIL (new_routes, new_route, entries); - } -#ifdef THERE_IS_NO_FORK - /* If we have daemonised yet we need to record which routes - * we failed to add so we can skip them */ - else if (! options->daemonised) { - /* We can never have more than 255 / 4 routes, - * so 3 chars is plently */ - if (*skipp) - *skipp++ = ','; - skipp += snprintf (skipp, - dhcpcd_skiproutes + skiplen - skipp, - "%d", skip); - } - skip++; -#endif - } - -#ifdef THERE_IS_NO_FORK - if (*dhcpcd_skiproutes) - *skipp = '\0'; - else { - free (dhcpcd_skiproutes); - dhcpcd_skiproutes = NULL; - } -#endif - -#ifdef ENABLE_IPV4LL - /* Ensure we always add the link local route if we got a private - * address and isn't link local itself */ - if (options->doipv4ll && - ! haslinklocal && - IN_PRIVATE (ntohl (dhcp->address.s_addr))) - { - struct in_addr dest; - struct in_addr mask; - struct in_addr gate; - - dest.s_addr = htonl (LINKLOCAL_ADDR); - mask.s_addr = htonl (LINKLOCAL_MASK); - gate.s_addr = 0; - remember = add_route (iface->name, dest, mask, gate, - options->metric); - - if (remember >= 0) { - if (! new_routes) { - new_routes = xmalloc (sizeof (*new_routes)); - STAILQ_INIT (new_routes); - } - new_route = xmalloc (sizeof (*new_route)); - new_route->destination.s_addr = dest.s_addr; - new_route->netmask.s_addr = mask.s_addr; - new_route->gateway.s_addr = gate.s_addr; - STAILQ_INSERT_TAIL (new_routes, new_route, entries); - } - } -#endif - - if (iface->previous_routes) - free_route (iface->previous_routes); - iface->previous_routes = new_routes; - - logToQt(LOG_INFO, DHCPCD_WRITE, ""); - if (options->dodns && dhcp->dnsservers) - make_resolv(iface->name, dhcp); - else - logger (LOG_DEBUG, "no dns information to write"); - -#ifdef ENABLE_NTP - if (options->dontp && dhcp->ntpservers) - make_ntp(iface->name, dhcp); -#endif - -#ifdef ENABLE_NIS - if (options->donis && (dhcp->nisservers || dhcp->nisdomain)) - make_nis(iface->name, dhcp); -#endif - - curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); - *curhostname = '\0'; - - gethostname (curhostname, MAXHOSTNAMELEN); - if (options->dohostname || - strlen (curhostname) == 0 || - strcmp (curhostname, "(none)") == 0 || - strcmp (curhostname, "localhost") == 0) - { - newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); - - if (dhcp->hostname) - strlcpy (newhostname, dhcp->hostname, MAXHOSTNAMELEN); - else - *newhostname = '\0'; - - /* Now we have made a resolv.conf we can obtain a hostname - * if we need it */ - if (! *newhostname || options->dohostname > 3) - lookuphostname (newhostname, dhcp, options); - - if (*newhostname) { - logger (LOG_INFO, "setting hostname to `%s'", - newhostname); - sethostname (newhostname, (int) strlen (newhostname)); - } - - free (newhostname); - } - - free (curhostname); - -#ifdef ENABLE_INFO - if (! dhcp->frominfo) - write_info (iface, dhcp, options, true); -#endif - - if (iface->previous_address.s_addr != dhcp->address.s_addr || - iface->previous_netmask.s_addr != dhcp->netmask.s_addr) - { - memcpy (&iface->previous_address, - &dhcp->address, sizeof (iface->previous_address)); - memcpy (&iface->previous_netmask, - &dhcp->netmask, sizeof (iface->previous_netmask)); - exec_script (options->script, iface->infofile, "new"); - } else - exec_script (options->script, iface->infofile, "up"); - - return (0); -} diff --git a/workspace/customdhcpcd/src/configure.h b/workspace/customdhcpcd/src/configure.h deleted file mode 100644 index 3166947..0000000 --- a/workspace/customdhcpcd/src/configure.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DHCPCONFIG_H -#define DHCPCONFIG_H - -#include "dhcpcd.h" -#include "interface.h" -#include "dhcp.h" - -int configure (const options_t *options, interface_t *iface, - const dhcp_t *dhcp, bool up); - -#endif diff --git a/workspace/customdhcpcd/src/customdhcpcd b/workspace/customdhcpcd/src/customdhcpcd deleted file mode 100755 index 5ef34d0..0000000 Binary files a/workspace/customdhcpcd/src/customdhcpcd and /dev/null differ diff --git a/workspace/customdhcpcd/src/customdhcpcd.c b/workspace/customdhcpcd/src/customdhcpcd.c deleted file mode 100644 index 7c5e219..0000000 --- a/workspace/customdhcpcd/src/customdhcpcd.c +++ /dev/null @@ -1,17 +0,0 @@ -/* - ============================================================================ - Name : customdhcpcd.c - Author : Niklas Goby - Version : - Copyright : Your copyright notice - Description : Hello World in C, Ansi-style - ============================================================================ - */ - -#include -#include - -int main(void) { - puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */ - return EXIT_SUCCESS; -} diff --git a/workspace/customdhcpcd/src/dhcp.c b/workspace/customdhcpcd/src/dhcp.c deleted file mode 100644 index f625e8f..0000000 --- a/workspace/customdhcpcd/src/dhcp.c +++ /dev/null @@ -1,933 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#include "common.h" -#include "dhcpcd.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" - -#ifndef STAILQ_CONCAT -#define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ - (head1)->stqh_last = (head2)->stqh_last; \ - STAILQ_INIT((head2)); \ - } \ -} while (0) -#endif - -typedef struct message { - int value; - const char *name; -} dhcp_message_t; - -static dhcp_message_t dhcp_messages[] = { - { DHCP_DISCOVER, "DHCP_DISCOVER" }, - { DHCP_OFFER, "DHCP_OFFER" }, - { DHCP_REQUEST, "DHCP_REQUEST" }, - { DHCP_DECLINE, "DHCP_DECLINE" }, - { DHCP_ACK, "DHCP_ACK" }, - { DHCP_NAK, "DHCP_NAK" }, - { DHCP_RELEASE, "DHCP_RELEASE" }, - { DHCP_INFORM, "DHCP_INFORM" }, - { -1, NULL } -}; - -static const char *dhcp_message (int type) -{ - dhcp_message_t *d; - for (d = dhcp_messages; d->name; d++) - if (d->value == type) - return (d->name); - - return (NULL); -} - -ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, - uint32_t xid, char type, const options_t *options) -{ - struct udp_dhcp_packet *packet; - dhcpmessage_t *message; - unsigned char *m; - unsigned char *p; - unsigned char *n_params = NULL; - size_t l; - struct in_addr from; - struct in_addr to; - time_t up = uptime() - iface->start_uptime; - uint32_t ul; - uint16_t sz; - size_t message_length; - ssize_t retval; - - if (!iface || !options || !dhcp) - return -1; - - memset (&from, 0, sizeof (from)); - memset (&to, 0, sizeof (to)); - - if (type == DHCP_RELEASE) - to.s_addr = dhcp->serveraddress.s_addr; - - message = xzalloc (sizeof (*message)); - m = (unsigned char *) message; - p = (unsigned char *) &message->options; - - if ((type == DHCP_INFORM || - type == DHCP_RELEASE || - type == DHCP_REQUEST) && - ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - { - message->ciaddr = iface->previous_address.s_addr; - from.s_addr = iface->previous_address.s_addr; - - /* Just incase we haven't actually configured the address yet */ - if (type == DHCP_INFORM && iface->previous_address.s_addr == 0) - message->ciaddr = dhcp->address.s_addr; - - /* Zero the address if we're currently on a different subnet */ - if (type == DHCP_REQUEST && - iface->previous_netmask.s_addr != dhcp->netmask.s_addr) - message->ciaddr = from.s_addr = 0; - - if (from.s_addr != 0) - to.s_addr = dhcp->serveraddress.s_addr; - } - - message->op = DHCP_BOOTREQUEST; - message->hwtype = iface->family; - switch (iface->family) { - case ARPHRD_ETHER: - case ARPHRD_IEEE802: - message->hwlen = ETHER_ADDR_LEN; - memcpy (&message->chaddr, &iface->hwaddr, - ETHER_ADDR_LEN); - break; - case ARPHRD_IEEE1394: - case ARPHRD_INFINIBAND: - message->hwlen = 0; - if (message->ciaddr == 0) - message->flags = htons (BROADCAST_FLAG); - break; - default: - logger (LOG_ERR, "dhcp: unknown hardware type %d", - iface->family); - } - - if (up < 0 || up > (time_t) UINT16_MAX) - message->secs = htons ((uint16_t) UINT16_MAX); - else - message->secs = htons (up); - message->xid = xid; - message->cookie = htonl (MAGIC_COOKIE); - - *p++ = DHCP_MESSAGETYPE; - *p++ = 1; - *p++ = type; - - if (type == DHCP_REQUEST) { - *p++ = DHCP_MAXMESSAGESIZE; - *p++ = 2; - sz = get_mtu (iface->name); - if (sz < MTU_MIN) { - if (set_mtu (iface->name, MTU_MIN) == 0) - sz = MTU_MIN; - } - sz = htons (sz); - memcpy (p, &sz, 2); - p += 2; - } - - *p++ = DHCP_CLIENTID; - *p++ = iface->clientid_len; - memcpy (p, iface->clientid, iface->clientid_len); - p+= iface->clientid_len; - - if (type != DHCP_DECLINE && type != DHCP_RELEASE) { - if (options->userclass_len > 0) { - *p++ = DHCP_USERCLASS; - *p++ = options->userclass_len; - memcpy (p, &options->userclass, options->userclass_len); - p += options->userclass_len; - } - - if (*options->classid > 0) { - *p++ = DHCP_CLASSID; - *p++ = l = strlen (options->classid); - memcpy (p, options->classid, l); - p += l; - } - } - - if (type == DHCP_DISCOVER || type == DHCP_REQUEST) { -#define PUTADDR(_type, _val) { \ - *p++ = _type; \ - *p++ = 4; \ - memcpy (p, &_val.s_addr, 4); \ - p += 4; \ -} - if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) - logger (LOG_ERR, - "cannot request a link local address"); - else { - if (dhcp->address.s_addr && - dhcp->address.s_addr != - iface->previous_address.s_addr) - { - PUTADDR (DHCP_ADDRESS, dhcp->address); - if (dhcp->serveraddress.s_addr) - PUTADDR (DHCP_SERVERIDENTIFIER, - dhcp->serveraddress); - } - } -#undef PUTADDR - - if (options->leasetime != 0) { - *p++ = DHCP_LEASETIME; - *p++ = 4; - ul = htonl (options->leasetime); - memcpy (p, &ul, 4); - p += 4; - } - } - - if (type == DHCP_DISCOVER || - type == DHCP_INFORM || - type == DHCP_REQUEST) - { - if (options->hostname[0]) { - if (options->fqdn == FQDN_DISABLE) { - *p++ = DHCP_HOSTNAME; - *p++ = l = strlen (options->hostname); - memcpy (p, options->hostname, l); - p += l; - } else { - /* Draft IETF DHC-FQDN option (81) */ - *p++ = DHCP_FQDN; - *p++ = (l = strlen (options->hostname)) + 3; - /* Flags: 0000NEOS - * S: 1 => Client requests Server to update - * a RR in DNS as well as PTR - * O: 1 => Server indicates to client that - * DNS has been updated - * E: 1 => Name data is DNS format - * N: 1 => Client requests Server to not - * update DNS - */ - *p++ = options->fqdn & 0x9; - *p++ = 0; /* from server for PTR RR */ - *p++ = 0; /* from server for A RR if S=1 */ - memcpy (p, options->hostname, l); - p += l; - } - } - - *p++ = DHCP_PARAMETERREQUESTLIST; - n_params = p; - *p++ = 0; - /* Only request DNSSERVER in discover to keep the packets small. - * RFC2131 Section 3.5 states that the REQUEST must include the - * list from the DISCOVER message, so I think this is ok. */ - - if (type == DHCP_DISCOVER && ! options->test) - *p++ = DHCP_DNSSERVER; - else { - if (type != DHCP_INFORM) { - *p++ = DHCP_RENEWALTIME; - *p++ = DHCP_REBINDTIME; - } - *p++ = DHCP_NETMASK; - *p++ = DHCP_BROADCAST; - - /* -S means request CSR and MSCSR - * -SS means only request MSCSR incase DHCP message - * is too big */ - if (options->domscsr < 2) - *p++ = DHCP_CSR; - if (options->domscsr > 0) - *p++ = DHCP_MSCSR; - /* RFC 3442 states classless static routes should be - * before routers and static routes as classless static - * routes override them both */ - *p++ = DHCP_STATICROUTE; - *p++ = DHCP_ROUTERS; - *p++ = DHCP_HOSTNAME; - *p++ = DHCP_DNSSEARCH; - *p++ = DHCP_DNSDOMAIN; - *p++ = DHCP_DNSSERVER; -#ifdef ENABLE_NIS - *p++ = DHCP_NISDOMAIN; - *p++ = DHCP_NISSERVER; -#endif -#ifdef ENABLE_NTP - *p++ = DHCP_NTPSERVER; -#endif - *p++ = DHCP_MTU; -#ifdef ENABLE_INFO - *p++ = DHCP_ROOTPATH; - *p++ = DHCP_SIPSERVER; -#endif - } - - *n_params = p - n_params - 1; - } - *p++ = DHCP_END; - -#ifdef BOOTP_MESSAGE_LENTH_MIN - /* Some crappy DHCP servers think they have to obey the BOOTP minimum - * message length. - * They are wrong, but we should still cater for them. */ - while (p - m < BOOTP_MESSAGE_LENTH_MIN) - *p++ = DHCP_PAD; -#endif - - message_length = p - m; - - packet = xzalloc (sizeof (*packet)); - make_dhcp_packet (packet, (unsigned char *) message, message_length, - from, to); - free (message); - - logger (LOG_DEBUG, "sending %s with xid 0x%x", - dhcp_message (type), xid); - retval = send_packet (iface, ETHERTYPE_IP, (unsigned char *) packet, - message_length + - sizeof (packet->ip) + sizeof (packet->udp)); - free (packet); - return (retval); -} - -/* Decode an RFC3397 DNS search order option into a space - * seperated string. Returns length of string (including - * terminating zero) or zero on error. out may be NULL - * to just determine output length. */ -static unsigned int decode_search (const unsigned char *p, int len, char *out) -{ - const unsigned char *r, *q = p; - unsigned int count = 0, l, hops; - - while (q - p < len) { - r = NULL; - hops = 0; - while ((l = *q++)) { - unsigned int label_type = l & 0xc0; - if (label_type == 0x80 || label_type == 0x40) - return 0; - else if (label_type == 0xc0) { /* pointer */ - l = (l & 0x3f) << 8; - l |= *q++; - - /* save source of first jump. */ - if (!r) - r = q; - - hops++; - if (hops > 255) - return 0; - - q = p + l; - if (q - p >= len) - return 0; - } else { - /* straightforward name segment, add with '.' */ - count += l + 1; - if (out) { - memcpy (out, q, l); - out += l; - *out++ = '.'; - } - q += l; - } - } - - /* change last dot to space */ - if (out) - *(out - 1) = ' '; - - if (r) - q = r; - } - - /* change last space to zero terminator */ - if (out) - *(out - 1) = 0; - - return count; -} - -/* Add our classless static routes to the routes variable - * and return the last route set */ -static struct route_head *decode_CSR (const unsigned char *p, int len) -{ - const unsigned char *q = p; - unsigned int cidr; - unsigned int ocets; - struct route_head *routes = NULL; - route_t *route; - - /* Minimum is 5 -first is CIDR and a router length of 4 */ - if (len < 5) - return NULL; - - while (q - p < len) { - if (! routes) { - routes = xmalloc (sizeof (*routes)); - STAILQ_INIT (routes); - } - - route = xzalloc (sizeof (*route)); - - cidr = *q++; - if (cidr > 32) { - logger (LOG_ERR, - "invalid CIDR of %d in classless static route", - cidr); - free_route (routes); - return (NULL); - } - ocets = (cidr + 7) / 8; - - if (ocets > 0) { - memcpy (&route->destination.s_addr, q, (size_t) ocets); - q += ocets; - } - - /* Now enter the netmask */ - if (ocets > 0) { - memset (&route->netmask.s_addr, 255, (size_t) ocets - 1); - memset ((unsigned char *) &route->netmask.s_addr + - (ocets - 1), - (256 - (1 << (32 - cidr) % 8)), 1); - } - - /* Finally, snag the router */ - memcpy (&route->gateway.s_addr, q, 4); - q += 4; - - STAILQ_INSERT_TAIL (routes, route, entries); - } - - return (routes); -} - -void free_dhcp (dhcp_t *dhcp) -{ - if (! dhcp) - return; - - free_route (dhcp->routes); - free (dhcp->hostname); - free_address (dhcp->dnsservers); - free (dhcp->dnsdomain); - free (dhcp->dnssearch); - free_address (dhcp->ntpservers); - free (dhcp->nisdomain); - free_address (dhcp->nisservers); - free (dhcp->rootpath); - free (dhcp->sipservers); - if (dhcp->fqdn) { - free (dhcp->fqdn->name); - free (dhcp->fqdn); - } -} - - -static bool dhcp_add_address (struct address_head **addresses, - const unsigned char *data, - int length) -{ - int i; - address_t *address; - - for (i = 0; i < length; i += 4) { - /* Sanity check */ - if (i + 4 > length) { - logger (LOG_ERR, "invalid address length"); - return (false); - } - - if (*addresses == NULL) { - *addresses = xmalloc (sizeof (**addresses)); - STAILQ_INIT (*addresses); - } - address = xzalloc (sizeof (*address)); - memcpy (&address->address.s_addr, data + i, 4); - STAILQ_INSERT_TAIL (*addresses, address, entries); - } - - return (true); -} - -#ifdef ENABLE_INFO -static char *decode_sipservers (const unsigned char *data, int length) -{ - char *sip = NULL; - char *p; - const char encoding = *data++; - struct in_addr addr; - size_t len; - - length--; - - switch (encoding) { - case 0: - if ((len = decode_search (data, length, NULL)) > 0) { - sip = xmalloc (len); - decode_search (data, length, sip); - } - break; - - case 1: - if (length == 0 || length % 4 != 0) { - logger (LOG_ERR, - "invalid length %d for option 120", - length + 1); - break; - } - len = ((length / 4) * (4 * 4)) + 1; - sip = p = xmalloc (len); - while (length != 0) { - memcpy (&addr.s_addr, data, 4); - data += 4; - p += snprintf (p, len - (p - sip), - "%s ", inet_ntoa (addr)); - length -= 4; - } - *--p = '\0'; - break; - - default: - logger (LOG_ERR, "unknown sip encoding %d", encoding); - break; - } - - return (sip); -} -#endif - -/* This calculates the netmask that we should use for static routes. - * This IS different from the calculation used to calculate the netmask - * for an interface address. */ -static uint32_t route_netmask (uint32_t ip_in) -{ - /* used to be unsigned long - check if error */ - uint32_t p = ntohl (ip_in); - uint32_t t; - - if (IN_CLASSA (p)) - t = ~IN_CLASSA_NET; - else { - if (IN_CLASSB (p)) - t = ~IN_CLASSB_NET; - else { - if (IN_CLASSC (p)) - t = ~IN_CLASSC_NET; - else - t = 0; - } - } - - while (t & p) - t >>= 1; - - return (htonl (~t)); -} - -static struct route_head *decode_routes (const unsigned char *data, int length) -{ - int i; - struct route_head *head = NULL; - route_t *route; - - for (i = 0; i < length; i += 8) { - if (! head) { - head = xmalloc (sizeof (*head)); - STAILQ_INIT (head); - } - route = xzalloc (sizeof (*route)); - memcpy (&route->destination.s_addr, data + i, 4); - memcpy (&route->gateway.s_addr, data + i + 4, 4); - route->netmask.s_addr = - route_netmask (route->destination.s_addr); - STAILQ_INSERT_TAIL (head, route, entries); - } - - return (head); -} - -static struct route_head *decode_routers (const unsigned char *data, int length) -{ - int i; - struct route_head *head = NULL; - route_t *route = NULL; - - for (i = 0; i < length; i += 4) { - if (! head) { - head = xmalloc (sizeof (*head)); - STAILQ_INIT (head); - } - route = xzalloc (sizeof (*route)); - memcpy (&route->gateway.s_addr, data + i, 4); - STAILQ_INSERT_TAIL (head, route, entries); - } - - return (head); -} - -int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message) -{ - const unsigned char *p = message->options; - const unsigned char *end = p; /* Add size later for gcc-3 issue */ - unsigned char option; - unsigned char length; - unsigned int len = 0; - int retval = -1; - struct timeval tv; - struct route_head *routers = NULL; - struct route_head *routes = NULL; - struct route_head *csr = NULL; - struct route_head *mscsr = NULL; - bool in_overload = false; - bool parse_sname = false; - bool parse_file = false; - - end += sizeof (message->options); - - if (gettimeofday (&tv, NULL) == -1) { - logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); - return (-1); - } - - dhcp->address.s_addr = message->yiaddr; - dhcp->leasedfrom = tv.tv_sec; - dhcp->frominfo = false; - dhcp->address.s_addr = message->yiaddr; - strlcpy (dhcp->servername, (char *) message->servername, - sizeof (dhcp->servername)); - -#define LEN_ERR \ - { \ - logger (LOG_ERR, "invalid length %d for option %d", \ - length, option); \ - p += length; \ - continue; \ - } - -parse_start: - while (p < end) { - option = *p++; - if (! option) - continue; - - if (option == DHCP_END) - goto eexit; - - length = *p++; - - if (option != DHCP_PAD && length == 0) { - logger (LOG_ERR, "option %d has zero length", option); - retval = -1; - goto eexit; - } - - if (p + length >= end) { - logger (LOG_ERR, "dhcp option exceeds message length"); - retval = -1; - goto eexit; - } - - switch (option) { - case DHCP_MESSAGETYPE: - retval = (int) *p; - p += length; - continue; - - default: - if (length == 0) { - logger (LOG_DEBUG, - "option %d has zero length, skipping", - option); - continue; - } - } - -#define LENGTH(_length) \ - if (length != _length) \ - LEN_ERR; -#define MIN_LENGTH(_length) \ - if (length < _length) \ - LEN_ERR; -#define MULT_LENGTH(_mult) \ - if (length % _mult != 0) \ - LEN_ERR; -#define GET_UINT8(_val) \ - LENGTH (sizeof (uint8_t)); \ - memcpy (&_val, p, sizeof (uint8_t)); -#define GET_UINT16(_val) \ - LENGTH (sizeof (uint16_t)); \ - memcpy (&_val, p, sizeof (uint16_t)); -#define GET_UINT32(_val) \ - LENGTH (sizeof (uint32_t)); \ - memcpy (&_val, p, sizeof (uint32_t)); -#define GET_UINT16_H(_val) \ - GET_UINT16 (_val); \ - _val = ntohs (_val); -#define GET_UINT32_H(_val) \ - GET_UINT32 (_val); \ - _val = ntohl (_val); - - switch (option) { - case DHCP_ADDRESS: - GET_UINT32 (dhcp->address.s_addr); - break; - case DHCP_NETMASK: - GET_UINT32 (dhcp->netmask.s_addr); - break; - case DHCP_BROADCAST: - GET_UINT32 (dhcp->broadcast.s_addr); - break; - case DHCP_SERVERIDENTIFIER: - GET_UINT32 (dhcp->serveraddress.s_addr); - break; - case DHCP_LEASETIME: - GET_UINT32_H (dhcp->leasetime); - break; - case DHCP_RENEWALTIME: - GET_UINT32_H (dhcp->renewaltime); - break; - case DHCP_REBINDTIME: - GET_UINT32_H (dhcp->rebindtime); - break; - case DHCP_MTU: - GET_UINT16_H (dhcp->mtu); - /* Minimum legal mtu is 68 accoridng to - * RFC 2132. In practise it's 576 which is the - * minimum maximum message size. */ - if (dhcp->mtu < MTU_MIN) { - logger (LOG_DEBUG, - "MTU %d is too low, minimum is %d; ignoring", - dhcp->mtu, MTU_MIN); - dhcp->mtu = 0; - } - break; - -#undef GET_UINT32_H -#undef GET_UINT32 -#undef GET_UINT16_H -#undef GET_UINT16 -#undef GET_UINT8 - -#define GETSTR(_var) { \ - MIN_LENGTH (sizeof (char)); \ - if (_var) free (_var); \ - _var = xmalloc ((size_t) length + 1); \ - memcpy (_var, p, (size_t) length); \ - memset (_var + length, 0, 1); \ -} - case DHCP_HOSTNAME: - GETSTR (dhcp->hostname); - break; - case DHCP_DNSDOMAIN: - GETSTR (dhcp->dnsdomain); - break; - case DHCP_MESSAGE: - GETSTR (dhcp->message); - break; -#ifdef ENABLE_INFO - case DHCP_ROOTPATH: - GETSTR (dhcp->rootpath); - break; -#endif -#ifdef ENABLE_NIS - case DHCP_NISDOMAIN: - GETSTR (dhcp->nisdomain); - break; -#endif -#undef GETSTR - -#define GETADDR(_var) \ - MULT_LENGTH (4); \ - if (! dhcp_add_address (&_var, p, length)) \ - { \ - retval = -1; \ - goto eexit; \ - } - case DHCP_DNSSERVER: - GETADDR (dhcp->dnsservers); - break; -#ifdef ENABLE_NTP - case DHCP_NTPSERVER: - GETADDR (dhcp->ntpservers); - break; -#endif -#ifdef ENABLE_NIS - case DHCP_NISSERVER: - GETADDR (dhcp->nisservers); - break; -#endif -#undef GETADDR - - case DHCP_DNSSEARCH: - MIN_LENGTH (1); - free (dhcp->dnssearch); - len = decode_search (p, length, NULL); - if (len > 0) { - dhcp->dnssearch = xmalloc (len); - decode_search (p, length, - dhcp->dnssearch); - } - break; - - case DHCP_CSR: - MIN_LENGTH (5); - free_route (csr); - csr = decode_CSR (p, length); - break; - - case DHCP_MSCSR: - MIN_LENGTH (5); - free_route (mscsr); - mscsr = decode_CSR (p, length); - break; - -#ifdef ENABLE_INFO - case DHCP_SIPSERVER: - free (dhcp->sipservers); - dhcp->sipservers = decode_sipservers (p,length); - break; -#endif - - case DHCP_STATICROUTE: - MULT_LENGTH (8); - free_route (routes); - routes = decode_routes (p, length); - break; - - case DHCP_ROUTERS: - MULT_LENGTH (4); - free_route (routers); - routers = decode_routers (p, length); - break; - - case DHCP_OPTIONSOVERLOADED: - LENGTH (1); - /* The overloaded option in an overloaded option - * should be ignored, overwise we may get an - * infinite loop */ - if (! in_overload) { - if (*p & 1) - parse_file = true; - if (*p & 2) - parse_sname = true; - } - break; - - case DHCP_FQDN: - /* We ignore replies about FQDN */ - break; - -#undef LENGTH -#undef MIN_LENGTH -#undef MULT_LENGTH - - default: - logger (LOG_DEBUG, - "no facility to parse DHCP code %u", - option); - break; - } - - p += length; - } - -eexit: - /* We may have options overloaded, so go back and grab them */ - if (parse_file) { - parse_file = false; - p = message->bootfile; - end = p + sizeof (message->bootfile); - in_overload = true; - goto parse_start; - } else if (parse_sname) { - parse_sname = false; - p = message->servername; - end = p + sizeof (message->servername); - memset (dhcp->servername, 0, sizeof (dhcp->servername)); - in_overload = true; - goto parse_start; - } - - /* Fill in any missing fields */ - if (! dhcp->netmask.s_addr) - dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); - if (! dhcp->broadcast.s_addr) - dhcp->broadcast.s_addr = dhcp->address.s_addr | - ~dhcp->netmask.s_addr; - - /* If we have classess static routes then we discard - * static routes and routers according to RFC 3442 */ - if (csr) { - dhcp->routes = csr; - free_route (mscsr); - free_route (routers); - free_route (routes); - } else if (mscsr) { - dhcp->routes = mscsr; - free_route (routers); - free_route (routes); - } else { - /* Ensure that we apply static routes before routers */ - if (! routes) - routes = routers; - else if (routers) - STAILQ_CONCAT (routes, routers); - dhcp->routes = routes; - } - - return (retval); -} diff --git a/workspace/customdhcpcd/src/dhcp.h b/workspace/customdhcpcd/src/dhcp.h deleted file mode 100644 index ef97b75..0000000 --- a/workspace/customdhcpcd/src/dhcp.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DHCP_H -#define DHCP_H - -#include -#include -#include -#include -#include - -#include "dhcpcd.h" -#include "interface.h" - -/* Max MTU - defines dhcp option length */ -#define MTU_MAX 1500 -#define MTU_MIN 576 - -/* UDP port numbers for DHCP */ -#define DHCP_SERVER_PORT 67 -#define DHCP_CLIENT_PORT 68 - -#define MAGIC_COOKIE 0x63825363 -#define BROADCAST_FLAG 0x8000 - -/* DHCP message OP code */ -#define DHCP_BOOTREQUEST 1 -#define DHCP_BOOTREPLY 2 - -/* DHCP message type */ -#define DHCP_DISCOVER 1 -#define DHCP_OFFER 2 -#define DHCP_REQUEST 3 -#define DHCP_DECLINE 4 -#define DHCP_ACK 5 -#define DHCP_NAK 6 -#define DHCP_RELEASE 7 -#define DHCP_INFORM 8 - -/* DHCP options */ -enum DHCP_OPTIONS -{ - DHCP_PAD = 0, - DHCP_NETMASK = 1, - DHCP_TIMEROFFSET = 2, - DHCP_ROUTERS = 3, - DHCP_TIMESERVER = 4, - DHCP_NAMESERVER = 5, - DHCP_DNSSERVER = 6, - DHCP_LOGSERVER = 7, - DHCP_COOKIESERVER = 8, - DHCP_HOSTNAME = 12, - DHCP_DNSDOMAIN = 15, - DHCP_ROOTPATH = 17, - DHCP_DEFAULTIPTTL = 23, - DHCP_MTU = 26, - DHCP_BROADCAST = 28, - DHCP_MASKDISCOVERY = 29, - DHCP_ROUTERDISCOVERY = 31, - DHCP_STATICROUTE = 33, - DHCP_NISDOMAIN = 40, - DHCP_NISSERVER = 41, - DHCP_NTPSERVER = 42, - DHCP_ADDRESS = 50, - DHCP_LEASETIME = 51, - DHCP_OPTIONSOVERLOADED = 52, - DHCP_MESSAGETYPE = 53, - DHCP_SERVERIDENTIFIER = 54, - DHCP_PARAMETERREQUESTLIST = 55, - DHCP_MESSAGE = 56, - DHCP_MAXMESSAGESIZE = 57, - DHCP_RENEWALTIME = 58, - DHCP_REBINDTIME = 59, - DHCP_CLASSID = 60, - DHCP_CLIENTID = 61, - DHCP_USERCLASS = 77, /* RFC 3004 */ - DHCP_FQDN = 81, - DHCP_DNSSEARCH = 119, /* RFC 3397 */ - DHCP_SIPSERVER = 120, /* RFC 3361 */ - DHCP_CSR = 121, /* RFC 3442 */ - DHCP_MSCSR = 249, /* MS code for RFC 3442 */ - DHCP_END = 255 -}; - -/* SetFQDNHostName values - lsnybble used in flags - * byte (see buildmsg.c), hsnybble to create order - * and to allow 0x00 to mean disable - */ -enum FQQN { - FQDN_DISABLE = 0x00, - FQDN_NONE = 0x18, - FQDN_PTR = 0x20, - FQDN_BOTH = 0x31 -}; - -typedef struct fqdn_t -{ - uint8_t flags; - uint8_t r1; - uint8_t r2; - char *name; -} fqdn_t; - -typedef struct dhcp_t -{ - char version[11]; - - struct in_addr serveraddress; - char serverhw[IF_NAMESIZE]; - char servername[64]; - - struct in_addr address; - struct in_addr netmask; - struct in_addr broadcast; - unsigned short mtu; - - uint32_t leasedfrom; - uint32_t leasetime; - uint32_t renewaltime; - uint32_t rebindtime; - - struct route_head *routes; - - char *hostname; - fqdn_t *fqdn; - - struct address_head *dnsservers; - char *dnsdomain; - char *dnssearch; - - struct address_head *ntpservers; - - struct address_head *nisservers; - char *nisdomain; - - char *sipservers; - - char *message; - char *rootpath; - - bool frominfo; -} dhcp_t; - -/* Sizes for DHCP options */ -#define DHCP_CHADDR_LEN 16 -#define SERVERNAME_LEN 64 -#define BOOTFILE_LEN 128 -#define DHCP_UDP_LEN (20 + 8) -#define DHCP_BASE_LEN (4 + 4 + 2 + 2 + 4 + 4 + 4 + 4 + 4) -#define DHCP_RESERVE_LEN (4 + 4 + 4 + 4 + 2) -#define DHCP_FIXED_LEN (DHCP_BASE_LEN + DHCP_CHADDR_LEN + \ - + SERVERNAME_LEN + BOOTFILE_LEN) -#define DHCP_OPTION_LEN (MTU_MAX - DHCP_FIXED_LEN - DHCP_UDP_LEN \ - - DHCP_RESERVE_LEN) - -/* Some crappy DHCP servers require the BOOTP minimum length */ -#define BOOTP_MESSAGE_LENTH_MIN 300 - -typedef struct dhcpmessage_t -{ - unsigned char op; /* message type */ - unsigned char hwtype; /* hardware address type */ - unsigned char hwlen; /* hardware address length */ - unsigned char hwopcount; /* should be zero in client message */ - uint32_t xid; /* transaction id */ - uint16_t secs; /* elapsed time in sec. from boot */ - uint16_t flags; - uint32_t ciaddr; /* (previously allocated) client IP */ - uint32_t yiaddr; /* 'your' client IP address */ - uint32_t siaddr; /* should be zero in client's messages */ - uint32_t giaddr; /* should be zero in client's messages */ - unsigned char chaddr[DHCP_CHADDR_LEN]; /* client's hardware address */ - unsigned char servername[SERVERNAME_LEN]; /* server host name */ - unsigned char bootfile[BOOTFILE_LEN]; /* boot file name */ - uint32_t cookie; - unsigned char options[DHCP_OPTION_LEN]; /* message options - cookie */ -} dhcpmessage_t; - -struct udp_dhcp_packet -{ - struct ip ip; - struct udphdr udp; - dhcpmessage_t dhcp; -}; - -ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, - uint32_t xid, char type, const options_t *options); -void free_dhcp (dhcp_t *dhcp); -int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message); -#endif diff --git a/workspace/customdhcpcd/src/dhcpcd.c b/workspace/customdhcpcd/src/dhcpcd.c deleted file mode 100644 index 9f91239..0000000 --- a/workspace/customdhcpcd/src/dhcpcd.c +++ /dev/null @@ -1,673 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "client.h" -#include "dhcpcd.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" -#include "version.h" - -#include "logwriter.h" -#include "status.h" - -static int doversion = 0; -static int dohelp = 0; -#define EXTRA_OPTS -static const struct option longopts[] = { - {"arp", no_argument, NULL, 'a'}, - {"script", required_argument, NULL, 'c'}, - {"debug", no_argument, NULL, 'd'}, - {"hostname", optional_argument, NULL, 'h'}, - {"classid", optional_argument, NULL, 'i'}, - {"release", no_argument, NULL, 'k'}, - {"leasetime", required_argument, NULL, 'l'}, - {"metric", required_argument, NULL, 'm'}, - {"renew", no_argument, NULL, 'n'}, - {"persistent", no_argument, NULL, 'p'}, - {"qtsocketaddress", required_argument, NULL, 'q'}, - {"inform", optional_argument, NULL, 's'}, - {"request", optional_argument, NULL, 'r'}, - {"timeout", required_argument, NULL, 't'}, - {"userclass", required_argument, NULL, 'u'}, - {"exit", no_argument, NULL, 'x'}, - {"lastlease", no_argument, NULL, 'E'}, - {"fqdn", required_argument, NULL, 'F'}, - {"nogateway", no_argument, NULL, 'G'}, - {"sethostname", no_argument, NULL, 'H'}, - {"clientid", optional_argument, NULL, 'I'}, - {"noipv4ll", no_argument, NULL, 'L'}, - {"nomtu", no_argument, NULL, 'M'}, - {"nontp", no_argument, NULL, 'N'}, - {"nodns", no_argument, NULL, 'R'}, - {"msscr", no_argument, NULL, 'S'}, - {"test", no_argument, NULL, 'T'}, - {"nonis", no_argument, NULL, 'Y'}, - {"help", no_argument, &dohelp, 1}, - {"version", no_argument, &doversion, 1}, -#ifdef THERE_IS_NO_FORK - {"daemonised", no_argument, NULL, 'f'}, - {"skiproutes", required_argument, NULL, 'g'}, -#endif - {NULL, 0, NULL, 0} -}; - -#ifdef THERE_IS_NO_FORK -char dhcpcd[PATH_MAX]; -char **dhcpcd_argv = NULL; -int dhcpcd_argc = 0; -char *dhcpcd_skiproutes = NULL; -#undef EXTRA_OPTS -#define EXTRA_OPTS "fg:" -#endif - -static int atoint (const char *s) -{ - char *t; - long n; - - errno = 0; - n = strtol (s, &t, 0); - if ((errno != 0 && n == 0) || s == t || - (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) - { - logger (LOG_ERR, "`%s' out of range", s); - return (-1); - } - - return ((int) n); -} - -static pid_t read_pid (const char *pidfile) -{ - FILE *fp; - pid_t pid = 0; - - if ((fp = fopen (pidfile, "r")) == NULL) { - errno = ENOENT; - return 0; - } - - fscanf (fp, "%d", &pid); - fclose (fp); - - - return (pid); -} - -static void usage (void) -{ - printf ("usage: "PACKAGE" [-adknpEGHMNRSTY] [-c script] [-h hostname] [-i classID]\n" - " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" - " [-t timeout] [-u userclass] [-F none | ptr | both]\n" - " [-I clientID] [-q qtsocketaddress] \n"); -} - - -int main (int argc, char **argv) -{ - options_t *options; - int userclasses = 0; - int opt; - int option_index = 0; - char *prefix; - pid_t pid; - int debug = 0; - int i; - int pidfd = -1; - int sig = 0; - int retval = EXIT_FAILURE; - - /* Close any un-needed fd's */ - for (i = getdtablesize() - 1; i >= 3; --i) - close (i); - - openlog (PACKAGE, LOG_PID, LOG_LOCAL0); - - options = xzalloc (sizeof (*options)); - options->script = (char *) DEFAULT_SCRIPT; - snprintf (options->classid, CLASS_ID_MAX_LEN, "%s %s", - PACKAGE, VERSION); - - options->doarp = true; - options->dodns = true; - options->domtu = true; - options->donis = true; - options->dontp = true; - options->dogateway = true; - options->daemonise = true; - options->doinform = false; - options->doipv4ll = true; - options->doduid = true; - options->timeout = DEFAULT_TIMEOUT; - /* added by Niklas Goby, additional field, storing the socket address path for - * communicating with Qt "server" - * defined in dhcpcd.h */ - strcpy(options->qtsocketaddress, DEFAULT_QTSOCKETADDRESS); - - gethostname (options->hostname, sizeof (options->hostname)); - if (strcmp (options->hostname, "(none)") == 0 || - strcmp (options->hostname, "localhost") == 0) - memset (options->hostname, 0, sizeof (options->hostname)); - - - /* Don't set any optional arguments here so we retain POSIX - * compatibility with getopt */ - while ((opt = getopt_long(argc, argv, EXTRA_OPTS - "c:dh:i:kl:m:npq:r:s:t:u:xAEF:GHI:LMNRSTY", - longopts, &option_index)) != -1) - { - switch (opt) { - case 0: - if (longopts[option_index].flag) - break; - logger (LOG_ERR, - "option `%s' should set a flag", - longopts[option_index].name); - goto abort; - case 'c': - options->script = optarg; - break; - case 'd': - debug++; - switch (debug) { - case 1: - setloglevel (LOG_DEBUG); - break; - case 2: - options->daemonise = false; - break; - } - break; - #ifdef THERE_IS_NO_FORK - case 'f': - options->daemonised = true; - close_fds (); - break; - case 'g': - dhcpcd_skiproutes = xstrdup (optarg); - break; - #endif - case 'h': - if (! optarg) - *options->hostname = '\0'; - else if (strlen (optarg) > MAXHOSTNAMELEN) { - logger (LOG_ERR, - "`%s' too long for HostName string, max is %d", - optarg, MAXHOSTNAMELEN); - goto abort; - } else - strlcpy (options->hostname, optarg, - sizeof (options->hostname)); - break; - case 'i': - if (! optarg) { - *options->classid = '\0'; - } else if (strlen (optarg) > CLASS_ID_MAX_LEN) { - logger (LOG_ERR, - "`%s' too long for ClassID string, max is %d", - optarg, CLASS_ID_MAX_LEN); - goto abort; - } else - strlcpy (options->classid, optarg, - sizeof (options->classid)); - break; - case 'k': - sig = SIGHUP; - break; - case 'l': - if (*optarg == '-') { - logger (LOG_ERR, - "leasetime must be a positive value"); - goto abort; - } - errno = 0; - options->leasetime = (uint32_t) strtol (optarg, NULL, 0); - if (errno == EINVAL || errno == ERANGE) { - logger (LOG_ERR, "`%s' out of range", optarg); - goto abort; - } - break; - case 'm': - options->metric = atoint (optarg); - if (options->metric < 0) { - logger (LOG_ERR, - "metric must be a positive value"); - goto abort; - } - break; - case 'n': - sig = SIGALRM; - break; - case 'p': - options->persistent = true; - break; - case 'q': - if (strlen(optarg) > QTSOCKETADDRESSLENGTH) { - logger(LOG_ERR, "`%s' too long for an socket address path (max=%d)", - optarg, QTSOCKETADDRESSLENGTH); - goto abort; - } - strlcpy(options->qtsocketaddress, optarg, sizeof(options->qtsocketaddress)); - break; - case 's': - options->doinform = true; - options->doarp = false; - if (! optarg || strlen (optarg) == 0) { - options->request_address.s_addr = 0; - break; - } else { - char *slash = strchr (optarg, '/'); - if (slash) { - int cidr; - /* nullify the slash, so the -r option can read the - * address */ - *slash++ = '\0'; - if (sscanf (slash, "%d", &cidr) != 1 || - inet_cidrtoaddr (cidr, &options->request_netmask) != 0) { - logger (LOG_ERR, "`%s' is not a valid CIDR", slash); - goto abort; - } - } - } - /* FALLTHROUGH */ - case 'r': - if (! options->doinform) - options->dorequest = true; - if (strlen (optarg) > 0 && - ! inet_aton (optarg, &options->request_address)) - { - logger (LOG_ERR, "`%s' is not a valid IP address", optarg); - goto abort; - } - break; - case 't': - options->timeout = atoint (optarg); - if (options->timeout < 0) { - logger (LOG_ERR, "timeout must be a positive value"); - goto abort; - } - break; - case 'u': - { - int offset = 0; - for (i = 0; i < userclasses; i++) - offset += (int) options->userclass[offset] + 1; - if (offset + 1 + strlen (optarg) > USERCLASS_MAX_LEN) { - logger (LOG_ERR, "userclass overrun, max is %d", - USERCLASS_MAX_LEN); - goto abort; - } - userclasses++; - memcpy (options->userclass + offset + 1 , optarg, strlen (optarg)); - options->userclass[offset] = strlen (optarg); - options->userclass_len += (strlen (optarg)) + 1; - } - break; - case 'x': - sig = SIGTERM; - break; - case 'A': - #ifndef ENABLE_ARP - logger (LOG_ERR, - "arp not compiled into dhcpcd"); - goto abort; - #endif - options->doarp = false; - break; - case 'E': - #ifndef ENABLE_INFO - logger (LOG_ERR, - "info not compiled into dhcpcd"); - goto abort; - #endif - options->dolastlease = true; - break; - case 'F': - if (strncmp (optarg, "none", strlen (optarg)) == 0) - options->fqdn = FQDN_NONE; - else if (strncmp (optarg, "ptr", strlen (optarg)) == 0) - options->fqdn = FQDN_PTR; - else if (strncmp (optarg, "both", strlen (optarg)) == 0) - options->fqdn = FQDN_BOTH; - else { - logger (LOG_ERR, "invalid value `%s' for FQDN", optarg); - goto abort; - } - break; - case 'G': - options->dogateway = false; - break; - case 'H': - options->dohostname++; - break; - case 'I': - if (optarg) { - if (strlen (optarg) > CLIENT_ID_MAX_LEN) { - logger (LOG_ERR, "`%s' is too long for ClientID, max is %d", - optarg, CLIENT_ID_MAX_LEN); - goto abort; - } - if (strlcpy (options->clientid, optarg, - sizeof (options->clientid)) == 0) - /* empty string disabled duid */ - options->doduid = false; - - } else { - memset (options->clientid, 0, sizeof (options->clientid)); - options->doduid = false; - } - break; - case 'L': - options->doipv4ll = false; - break; - case 'M': - options->domtu = false; - break; - case 'N': - options->dontp = false; - break; - case 'R': - options->dodns = false; - break; - case 'S': - options->domscsr++; - break; - case 'T': - #ifndef ENABLE_INFO - logger (LOG_ERR, "info support not compiled into dhcpcd"); - goto abort; - #endif - options->test = true; - options->persistent = true; - break; - case 'Y': - options->donis = false; - break; - case '?': - usage (); - goto abort; - default: - usage (); - goto abort; - } - } - if (doversion) { - printf (""PACKAGE" "VERSION"\n"); - printf ("Compile time options:" - #ifdef ENABLE_ARP - " ARP" - #endif - #ifdef ENABLE_DUID - " DUID" - #endif - #ifdef ENABLE_INFO - " INFO" - #endif - #ifdef ENABLE_INFO_COMPAT - " INFO_COMPAT" - #endif - #ifdef ENABLE_IPV4LL - " IPV4LL" - #endif - #ifdef ENABLE_NIS - " NIS" - #endif - #ifdef ENABLE_NTP - " NTP" - #endif - #ifdef SERVICE - " " SERVICE - #endif - #ifdef ENABLE_RESOLVCONF - " RESOLVCONF" - #endif - #ifdef THERE_IS_NO_FORK - " THERE_IS_NO_FORK" - #endif - "\n"); - } - - if (dohelp) - usage (); - - -#ifdef THERE_IS_NO_FORK - dhcpcd_argv = argv; - dhcpcd_argc = argc; - if (! realpath (argv[0], dhcpcd)) { - logger (LOG_ERR, "unable to resolve the path `%s': %s", - argv[0], strerror (errno)); - goto abort; - } -#endif - - /* initializations for the ipc connection to qt*/ - setSocketName(options->qtsocketaddress); - if (initQtLoggerSocket() < 0) { - logger(LOG_ERR, "initialization Qt Logger failed: %s ", strerror (errno)); - goto abort; - } - - - if (optind < argc) { - if (strlen(argv[optind]) > IF_NAMESIZE) { - logger(LOG_ERR, "`%s' too long for an interface name (max=%d)", - argv[optind], IF_NAMESIZE); - goto abort; - } - strlcpy(options->interface, argv[optind], sizeof(options->interface)); - setInterfaceName(options->interface); - } else { - /* If only version was requested then exit now */ - if (doversion || dohelp) { - retval = 0; - goto abort; - } - - logger(LOG_ERR, "no interface specified"); - setInterfaceName("no_if"); - goto abort; - } - - if (strchr(options->hostname, '.')) { - if (options->fqdn == FQDN_DISABLE) - options->fqdn = FQDN_BOTH; - } else - options->fqdn = FQDN_DISABLE; - - if (options->request_address.s_addr == 0 && options->doinform) { - if ((options->request_address.s_addr = get_address(options->interface)) - != 0) - options->keep_address = true; - } - - if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { - logger (LOG_ERR, - "you are not allowed to request a link local address"); - logToQt(LOG_ERR, -1, "you are not allowed to request a link local address"); - goto abort; - } - - if (geteuid ()) { - logger (LOG_WARNING, PACKAGE " will not work correctly unless" - " run as root"); - } - - prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); - snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); - setlogprefix (prefix); - snprintf (options->pidfile, sizeof (options->pidfile), PIDFILE, - options->interface); - free (prefix); - - chdir ("/"); - umask (022); - - if (mkdir (INFODIR, S_IRUSR | S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST) - { - logger (LOG_ERR, - "mkdir(\"%s\",0): %s\n", INFODIR, strerror (errno)); - goto abort; - } - - if (mkdir (ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST) - { - logger (LOG_ERR, - "mkdir(\"%s\",0): %s\n", ETCDIR, strerror (errno)); - goto abort; - } - - if (options->test) { - if (options->dorequest || options->doinform) { - logger (LOG_ERR, - "cannot test with --inform or --request"); - goto abort; - } - - if (options->dolastlease) { - logger (LOG_ERR, "cannot test with --lastlease"); - goto abort; - } - - if (sig != 0) { - logger (LOG_ERR, - "cannot test with --release or --renew"); - goto abort; - } - } - - if (sig != 0) { - int killed = -1; - pid = read_pid (options->pidfile); - if (pid != 0) - logger (LOG_INFO, "sending signal %d to pid %d", - sig, pid); - - if (! pid || (killed = kill (pid, sig))) - logger (sig == SIGALRM ? LOG_INFO : LOG_ERR, - ""PACKAGE" not running"); - - if (pid != 0 && (sig != SIGALRM || killed != 0)) - unlink (options->pidfile); - - if (killed == 0) { - retval = EXIT_SUCCESS; - goto abort; - } - - if (sig != SIGALRM) - goto abort; - } - - if (! options->test && ! options->daemonised) { - if ((pid = read_pid (options->pidfile)) > 0 && - kill (pid, 0) == 0) - { - logger (LOG_ERR, ""PACKAGE - " already running on pid %d (%s)", - pid, options->pidfile); - goto abort; - } - - pidfd = open (options->pidfile, - O_WRONLY | O_CREAT | O_NONBLOCK, 0664); - if (pidfd == -1) { - logger (LOG_ERR, "open `%s': %s", - options->pidfile, strerror (errno)); - goto abort; - } - - /* Lock the file so that only one instance of dhcpcd runs - * on an interface */ - if (flock (pidfd, LOCK_EX | LOCK_NB) == -1) { - logger (LOG_ERR, "flock `%s': %s", - options->pidfile, strerror (errno)); - goto abort; - } - - /* dhcpcd.sh should not interhit this fd */ - if ((i = fcntl (pidfd, F_GETFD, 0)) == -1 || - fcntl (pidfd, F_SETFD, i | FD_CLOEXEC) == -1) - logger (LOG_ERR, "fcntl: %s", strerror (errno)); - - writepid (pidfd, getpid ()); - logger (LOG_INFO, PACKAGE " " VERSION " starting"); - } - - /* Seed random */ - srandomdev (); - - /* Massage our filters per platform */ - setup_packet_filters (); - - /* dhcp_run : defined in client.c */ - if (dhcp_run (options, &pidfd) == 0) - retval = EXIT_SUCCESS; - -abort: - /* If we didn't daemonise then we need to punt the pidfile now */ - if (pidfd > -1) { - close (pidfd); - unlink (options->pidfile); - } - - free (options); - -#ifdef THERE_IS_NO_FORK - /* There may have been an error before the dhcp_run function - * clears this, so just do it here to be safe */ - free (dhcpcd_skiproutes); -#endif - - logger (LOG_INFO, "exiting"); - logToQt(LOG_INFO, DHCPCD_EXIT, "exiting due abort"); - closeQtLoggerSocket(); - exit (retval); - /* NOTREACHED */ -} diff --git a/workspace/customdhcpcd/src/dhcpcd.h b/workspace/customdhcpcd/src/dhcpcd.h deleted file mode 100644 index 7deb5b7..0000000 --- a/workspace/customdhcpcd/src/dhcpcd.h +++ /dev/null @@ -1,105 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DHCPCD_H -#define DHCPCD_H - -#include -#include -#include -#include -#include -#include - -#include "common.h" - -#define DEFAULT_TIMEOUT 20 -#define DEFAULT_LEASETIME 3600 /* 1 hour */ - -/* added by Niklas Goby, additional field, storing the socket address path for - * communicating with Qt "server" */ -#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define QTSOCKETADDRESSLENGTH 255 - -#define CLASS_ID_MAX_LEN 48 -#define CLIENT_ID_MAX_LEN 48 -#define USERCLASS_MAX_LEN 255 - -#ifdef THERE_IS_NO_FORK -extern char dhcpcd[PATH_MAX]; -extern char **dhcpcd_argv; -extern int dhcpcd_argc; -extern char *dhcpcd_skiproutes; -#endif - -typedef struct options_t { - /* added by Niklas Goby, additional field, storing the socket address path for - * communicating with Qt "server" */ - char qtsocketaddress[QTSOCKETADDRESSLENGTH]; - /*----*/ - char interface[IF_NAMESIZE]; - char hostname[MAXHOSTNAMELEN]; - int fqdn; - char classid[CLASS_ID_MAX_LEN]; - char clientid[CLIENT_ID_MAX_LEN]; - char userclass[USERCLASS_MAX_LEN]; - size_t userclass_len; - uint32_t leasetime; - time_t timeout; - int metric; - - bool doarp; - bool dodns; - bool dodomainname; - bool dogateway; - int dohostname; - bool domtu; - bool donis; - bool dontp; - bool dolastlease; - bool doinform; - bool dorequest; - bool doipv4ll; - bool doduid; - int domscsr; - - struct in_addr request_address; - struct in_addr request_netmask; - - bool persistent; - bool keep_address; - bool daemonise; - bool daemonised; - bool test; - - char *script; - char pidfile[PATH_MAX]; -} options_t; - -int nd_main (char *ifname); - -#endif diff --git a/workspace/customdhcpcd/src/dhcpcd.sh b/workspace/customdhcpcd/src/dhcpcd.sh deleted file mode 100644 index 8c86aac..0000000 --- a/workspace/customdhcpcd/src/dhcpcd.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# This is a sample /etc/dhcpcd.sh script. -# /etc/dhcpcd.sh script is executed by dhcpcd daemon -# any time it configures or shuts down interface. -# The following parameters are passed to dhcpcd.exe script: -# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info" -# $2 = "up" if interface has been configured with the same -# IP address as before reboot; -# $2 = "down" if interface has been shut down; -# $2 = "new" if interface has been configured with new IP address; -# -# Sanity checks - -if [ $# -lt 2 ]; then - logger -s -p local0.err -t dhcpcd.sh "wrong usage" - exit 1 -fi - -hostinfo="$1" -state="$2" - -# Reading HostInfo file for configuration parameters -[ -e "${hostinfo}" ] && . "${hostinfo}" - -case "${state}" in - up) - logger -s -p local0.info -t dhcpcd.sh \ - "interface ${INTERFACE} has been configured with old IP=${IPADDR}" - # Put your code here for when the interface has been brought up with an - # old IP address here - ;; - - new) - logger -s -p local0.info -t dhcpcd.sh \ - "interface ${INTERFACE} has been configured with new IP=${IPADDR}" - # Put your code here for when the interface has been brought up with a - # new IP address - ;; - - down) logger -s -p local0.info -t dhcpcd.sh \ - "interface ${INTERFACE} has been brought down" - # Put your code here for the when the interface has been shut down - ;; -esac -exit 0 diff --git a/workspace/customdhcpcd/src/discover.c b/workspace/customdhcpcd/src/discover.c deleted file mode 100644 index eae7b0a..0000000 --- a/workspace/customdhcpcd/src/discover.c +++ /dev/null @@ -1,7 +0,0 @@ -/* - * discover.c - * - * Created on: Jul 7, 2011 - * Author: niklas - */ - diff --git a/workspace/customdhcpcd/src/discover.h b/workspace/customdhcpcd/src/discover.h deleted file mode 100644 index 1f4918d..0000000 --- a/workspace/customdhcpcd/src/discover.h +++ /dev/null @@ -1,12 +0,0 @@ -/* - * discover.h - * - * Created on: Jul 7, 2011 - * Author: niklas - */ - -#ifndef DISCOVER_H_ -#define DISCOVER_H_ - - -#endif /* DISCOVER_H_ */ diff --git a/workspace/customdhcpcd/src/duid.c b/workspace/customdhcpcd/src/duid.c deleted file mode 100644 index e4dd83b..0000000 --- a/workspace/customdhcpcd/src/duid.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "duid.h" -#include "logger.h" - -#ifdef ENABLE_DUID - -#define THIRTY_YEARS_IN_SECONDS 946707779 - -size_t get_duid (unsigned char *duid, const interface_t *iface) -{ - FILE *f; - uint16_t type = 0; - uint16_t hw = 0; - uint32_t ul; - time_t t; - int x = 0; - unsigned char *p = duid; - size_t len = 0; - - if (! iface) - return (0); - - /* If we already have a DUID then use it as it's never supposed - * to change once we have one even if the interfaces do */ - if ((f = fopen (DUIDFILE, "r"))) { - char *line = get_line (f); - if (line) { - len = hwaddr_aton (NULL, line); - if (len && len <= DUID_LEN) - hwaddr_aton (duid, line); - free (line); - } - fclose (f); - if (len) - return (len); - } else { - if (errno != ENOENT) { - logger (LOG_ERR, "fopen `%s': %s", - DUIDFILE, strerror (errno)); - return (0); - } - } - - /* No file? OK, lets make one based on our interface */ - type = htons (1); /* DUI-D-LLT */ - memcpy (p, &type, 2); - p += 2; - - hw = htons (iface->family); - memcpy (p, &hw, 2); - p += 2; - - /* time returns seconds from jan 1 1970, but DUID-LLT is - * seconds from jan 1 2000 modulo 2^32 */ - t = time (NULL) - THIRTY_YEARS_IN_SECONDS; - ul = htonl (t & 0xffffffff); - memcpy (p, &ul, 4); - p += 4; - - /* Finally, add the MAC address of the interface */ - memcpy (p, iface->hwaddr, iface->hwlen); - p += iface->hwlen; - - len = p - duid; - - if (! (f = fopen (DUIDFILE, "w"))) - logger (LOG_ERR, "fopen `%s': %s", DUIDFILE, strerror (errno)); - else { - x = fprintf (f, "%s\n", hwaddr_ntoa (duid, len)); - fclose (f); - } - - /* Failed to write the duid? scrub it, we cannot use it */ - if (x < 1) { - len = 0; - unlink (DUIDFILE); - } - - return (len); -} -#endif diff --git a/workspace/customdhcpcd/src/duid.h b/workspace/customdhcpcd/src/duid.h deleted file mode 100644 index 1492990..0000000 --- a/workspace/customdhcpcd/src/duid.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DUID_H -#define DUID_H - -#include "config.h" - -#ifdef ENABLE_DUID -#ifndef DUID_LEN -# define DUID_LEN 128 + 2 -#endif - -#include "interface.h" - -size_t get_duid (unsigned char *duid, const interface_t *iface); -#endif -#endif diff --git a/workspace/customdhcpcd/src/info.c b/workspace/customdhcpcd/src/info.c deleted file mode 100644 index 8369b43..0000000 --- a/workspace/customdhcpcd/src/info.c +++ /dev/null @@ -1,472 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#include - -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "info.h" - -#ifdef ENABLE_INFO - -/* Create a malloced string of cstr, changing ' to '\'' - * so the contents work in a shell */ -static char *cleanmetas (const char *cstr) -{ - const char *p = cstr; - char *new; - char *n; - size_t len; - - if (cstr == NULL || (len = strlen (cstr)) == 0) - return (xstrdup ("")); - - n = new = xmalloc (sizeof (char) * len + 2); - do - if (*p == '\'') { - size_t pos = n - new; - len += 4; - new = xrealloc (new, sizeof (char) * len + 1); - n = new + pos; - *n++ = '\''; - *n++ = '\\'; - *n++ = '\''; - *n++ = '\''; - } else - *n++ = *p; - while (*p++); - - /* Terminate the sucker */ - *n = '\0'; - - return (new); -} - - -static void print_addresses (FILE *f, const struct address_head *addresses) -{ - const address_t *addr; - - STAILQ_FOREACH (addr, addresses, entries) { - fprintf (f, "%s", inet_ntoa (addr->address)); - if (STAILQ_NEXT (addr, entries)) - fprintf (f, " "); - } -} - -static void print_clean (FILE *f, const char *name, const char *value) -{ - char *clean; - - if (! value) - return; - - clean = cleanmetas (value); - fprintf (f, "%s='%s'\n", name, clean); - free (clean); -} - -bool write_info(const interface_t *iface, const dhcp_t *dhcp, - const options_t *options, bool overwrite) -{ - FILE *f; - route_t *route; - struct stat sb; - - if (options->test) - f = stdout; - else { - if (! overwrite && stat (iface->infofile, &sb) == 0) - return (true); - - logger (LOG_DEBUG, "writing %s", iface->infofile); - if ((f = fopen (iface->infofile, "w")) == NULL) { - logger (LOG_ERR, "fopen `%s': %s", - iface->infofile, strerror (errno)); - return (false); - } - } - - if (dhcp->address.s_addr) { - struct in_addr n; - n.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; - fprintf (f, "IPADDR='%s'\n", inet_ntoa (dhcp->address)); - fprintf (f, "NETMASK='%s'\n", inet_ntoa (dhcp->netmask)); - fprintf (f, "NETWORK='%s'\n", inet_ntoa (n)); - fprintf (f, "BROADCAST='%s'\n", inet_ntoa (dhcp->broadcast)); - } - if (dhcp->mtu > 0) - fprintf (f, "MTU='%d'\n", dhcp->mtu); - - if (dhcp->routes) { - bool doneone = false; - fprintf (f, "ROUTES='"); - STAILQ_FOREACH (route, dhcp->routes, entries) { - if (route->destination.s_addr != 0) { - if (doneone) - fprintf (f, " "); - fprintf (f, "%s", inet_ntoa (route->destination)); - fprintf (f, ",%s", inet_ntoa (route->netmask)); - fprintf (f, ",%s", inet_ntoa (route->gateway)); - doneone = true; - } - } - fprintf (f, "'\n"); - - doneone = false; - fprintf (f, "GATEWAYS='"); - STAILQ_FOREACH (route, dhcp->routes, entries) { - if (route->destination.s_addr == 0) { - if (doneone) - fprintf (f, " "); - fprintf (f, "%s", inet_ntoa (route->gateway)); - doneone = true; - } - } - fprintf (f, "'\n"); - } - - print_clean (f, "HOSTNAME", dhcp->hostname); - print_clean (f, "DNSDOMAIN", dhcp->dnsdomain); - print_clean (f, "DNSSEARCH", dhcp->dnssearch); - - if (dhcp->dnsservers) { - fprintf (f, "DNSSERVERS='"); - print_addresses (f, dhcp->dnsservers); - fprintf (f, "'\n"); - } - - if (dhcp->fqdn) { - fprintf (f, "FQDNFLAGS='%u'\n", dhcp->fqdn->flags); - fprintf (f, "FQDNRCODE1='%u'\n", dhcp->fqdn->r1); - fprintf (f, "FQDNRCODE2='%u'\n", dhcp->fqdn->r2); - print_clean (f, "FQDNHOSTNAME", dhcp->fqdn->name); - } - - if (dhcp->ntpservers) { - fprintf (f, "NTPSERVERS='"); - print_addresses (f, dhcp->ntpservers); - fprintf (f, "'\n"); - } - - print_clean (f, "NISDOMAIN", dhcp->nisdomain); - if (dhcp->nisservers) { - fprintf (f, "NISSERVERS='"); - print_addresses (f, dhcp->nisservers); - fprintf (f, "'\n"); - } - - print_clean (f, "ROOTPATH", dhcp->rootpath); - print_clean (f, "SIPSERVERS", dhcp->sipservers); - - if (dhcp->serveraddress.s_addr) - fprintf (f, "DHCPSID='%s'\n", inet_ntoa (dhcp->serveraddress)); - if (dhcp->servername[0]) - print_clean (f, "DHCPSNAME", dhcp->servername); - - if (! options->doinform && dhcp->address.s_addr) { - if (! options->test) - fprintf (f, "LEASEDFROM='%u'\n", dhcp->leasedfrom); - fprintf (f, "LEASETIME='%u'\n", dhcp->leasetime); - fprintf (f, "RENEWALTIME='%u'\n", dhcp->renewaltime); - fprintf (f, "REBINDTIME='%u'\n", dhcp->rebindtime); - } - print_clean (f, "INTERFACE", iface->name); - print_clean (f, "CLASSID", options->classid); - if (iface->clientid_len > 0) { - fprintf (f, "CLIENTID='%s'\n", - hwaddr_ntoa (iface->clientid, iface->clientid_len)); - } - fprintf (f, "DHCPCHADDR='%s'\n", hwaddr_ntoa (iface->hwaddr, - iface->hwlen)); - -#ifdef ENABLE_INFO_COMPAT - /* Support the old .info settings if we need to */ - fprintf (f, "\n# dhcpcd-1.x and 2.x compatible variables\n"); - if (dhcp->dnsservers) { - address_t *addr; - - fprintf (f, "DNS='"); - STAILQ_FOREACH (addr, dhcp->dnsservers, entries) { - fprintf (f, "%s", inet_ntoa (addr->address)); - if (STAILQ_NEXT (addr, entries)) - fprintf (f, ","); - } - fprintf (f, "'\n"); - } - - if (dhcp->routes) { - bool doneone = false; - fprintf (f, "GATEWAY='"); - STAILQ_FOREACH (route, dhcp->routes, entries) { - if (route->destination.s_addr == 0) { - if (doneone) - fprintf (f, ","); - fprintf (f, "%s", inet_ntoa (route->gateway)); - doneone = true; - } - } - fprintf (f, "'\n"); - } -#endif - - if (! options->test) - fclose (f); - return (true); -} - -static bool parse_address (struct in_addr *addr, - const char *value, const char *var) -{ - if (inet_aton (value, addr) == 0) { - logger (LOG_ERR, "%s `%s': %s", var, value, - strerror (errno)); - return (false); - } - return (true); -} - -static bool parse_uint (unsigned int *i, - const char *value, const char *var) -{ - if (sscanf (value, "%u", i) != 1) { - logger (LOG_ERR, "%s `%s': not a valid number", - var, value); - return (false); - } - return (true); -} - -static bool parse_ushort (unsigned short *s, - const char *value, const char *var) -{ - if (sscanf (value, "%hu", s) != 1) { - logger (LOG_ERR, "%s `%s': not a valid number", - var, value); - return (false); - } - return (true); -} - -static struct address_head *parse_addresses (char *value, const char *var) -{ - char *token; - char *p = value; - struct address_head *head = NULL; - - while ((token = strsep (&p, " "))) { - address_t *a = xzalloc (sizeof (*a)); - - if (inet_aton (token, &a->address) == 0) { - logger (LOG_ERR, "%s: invalid address `%s'", var, token); - free_address (head); - free (a); - return (NULL); - } - - if (! head) { - head = xmalloc (sizeof (*head)); - STAILQ_INIT (head); - } - STAILQ_INSERT_TAIL (head, a, entries); - } - - return (head); -} - -bool read_info (const interface_t *iface, dhcp_t *dhcp) -{ - FILE *fp; - char *line; - char *var; - char *value; - char *p; - struct stat sb; - - if (stat (iface->infofile, &sb) != 0) { - logger (LOG_ERR, "lease information file `%s' does not exist", - iface->infofile); - return (false); - } - - if (! (fp = fopen (iface->infofile, "r"))) { - logger (LOG_ERR, "fopen `%s': %s", - iface->infofile, strerror (errno)); - return (false); - } - - dhcp->frominfo = true; - - while ((line = get_line (fp))) { - var = line; - - /* Strip leading spaces/tabs */ - while ((*var == ' ') || (*var == '\t')) - var++; - - /* Trim trailing \n */ - p = var + strlen (var) - 1; - if (*p == '\n') - *p = 0; - - /* Skip comments */ - if (*var == '#') - goto next; - - /* If we don't have an equals sign then skip it */ - if (! (p = strchr (var, '='))) - goto next; - - /* Terminate the = so we have two strings */ - *p = 0; - - value = p + 1; - /* Strip leading and trailing quotes if present */ - if (*value == '\'' || *value == '"') - value++; - p = value + strlen (value) - 1; - if (*p == '\'' || *p == '"') - *p = 0; - - /* Don't process null vars or values */ - if (! *var || ! *value) - goto next; - - if (strcmp (var, "IPADDR") == 0) - parse_address (&dhcp->address, value, "IPADDR"); - else if (strcmp (var, "NETMASK") == 0) - parse_address (&dhcp->netmask, value, "NETMASK"); - else if (strcmp (var, "BROADCAST") == 0) - parse_address (&dhcp->broadcast, value, "BROADCAST"); - else if (strcmp (var, "MTU") == 0) - parse_ushort (&dhcp->mtu, value, "MTU"); - else if (strcmp (var, "ROUTES") == 0) { - p = value; - while ((value = strsep (&p, " "))) { - char *pp = value; - char *dest = strsep (&pp, ","); - char *net = strsep (&pp, ","); - char *gate = strsep (&pp, ","); - route_t *route; - - if (! dest || ! net || ! gate) { - logger (LOG_ERR, "read_info ROUTES `%s,%s,%s': invalid route", - dest, net, gate); - goto next; - } - - /* See if we can create a route */ - route = xzalloc (sizeof (*route)); - if (inet_aton (dest, &route->destination) == 0) { - logger (LOG_ERR, "read_info ROUTES `%s': not a valid destination address", - dest); - free (route); - goto next; - } - if (inet_aton (dest, &route->netmask) == 0) { - logger (LOG_ERR, "read_info ROUTES `%s': not a valid netmask address", - net); - free (route); - goto next; - } - if (inet_aton (dest, &route->gateway) == 0) { - logger (LOG_ERR, "read_info ROUTES `%s': not a valid gateway address", - gate); - free (route); - goto next; - } - - /* OK, now add our route */ - if (! dhcp->routes) { - dhcp->routes = xmalloc (sizeof (*dhcp->routes)); - STAILQ_INIT (dhcp->routes); - } - STAILQ_INSERT_TAIL (dhcp->routes, route, entries); - } - } else if (strcmp (var, "GATEWAYS") == 0) { - p = value; - while ((value = strsep (&p, " "))) { - route_t *route = xzalloc (sizeof (*route)); - if (parse_address (&route->gateway, value, "GATEWAYS")) { - if (! dhcp->routes) { - dhcp->routes = xmalloc (sizeof (*dhcp->routes)); - STAILQ_INIT (dhcp->routes); - } - STAILQ_INSERT_TAIL (dhcp->routes, route, entries); - } else - free (route); - } - } else if (strcmp (var, "HOSTNAME") == 0) - dhcp->hostname = xstrdup (value); - else if (strcmp (var, "DNSDOMAIN") == 0) - dhcp->dnsdomain = xstrdup (value); - else if (strcmp (var, "DNSSEARCH") == 0) - dhcp->dnssearch = xstrdup (value); - else if (strcmp (var, "DNSSERVERS") == 0) - dhcp->dnsservers = parse_addresses (value, "DNSSERVERS"); - else if (strcmp (var, "NTPSERVERS") == 0) - dhcp->ntpservers = parse_addresses (value, "NTPSERVERS"); - else if (strcmp (var, "NISDOMAIN") == 0) - dhcp->nisdomain = xstrdup (value); - else if (strcmp (var, "NISSERVERS") == 0) - dhcp->nisservers = parse_addresses (value, "NISSERVERS"); - else if (strcmp (var, "ROOTPATH") == 0) - dhcp->rootpath = xstrdup (value); - else if (strcmp (var, "DHCPSID") == 0) - parse_address (&dhcp->serveraddress, value, "DHCPSID"); - else if (strcmp (var, "DHCPSNAME") == 0) - strlcpy (dhcp->servername, value, sizeof (dhcp->servername)); - else if (strcmp (var, "LEASEDFROM") == 0) - parse_uint (&dhcp->leasedfrom, value, "LEASEDFROM"); - else if (strcmp (var, "LEASETIME") == 0) - parse_uint (&dhcp->leasetime, value, "LEASETIME"); - else if (strcmp (var, "RENEWALTIME") == 0) - parse_uint (&dhcp->renewaltime, value, "RENEWALTIME"); - else if (strcmp (var, "REBINDTIME") == 0) - parse_uint (&dhcp->rebindtime, value, "REBINDTIME"); - -next: - free (line); - } - - fclose (fp); - return (true); -} - -#endif - diff --git a/workspace/customdhcpcd/src/info.h b/workspace/customdhcpcd/src/info.h deleted file mode 100644 index 22966db..0000000 --- a/workspace/customdhcpcd/src/info.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef INFO_H -#define INFO_H - -#include "dhcpcd.h" -#include "interface.h" -#include "dhcp.h" - -#ifdef ENABLE_INFO -bool write_info (const interface_t *iface, const dhcp_t *dhcp, - const options_t *options, bool overwrite); - -bool read_info (const interface_t *iface, dhcp_t *dhcp); -#endif - -#endif diff --git a/workspace/customdhcpcd/src/interface.c b/workspace/customdhcpcd/src/interface.c deleted file mode 100644 index d2ff8d6..0000000 --- a/workspace/customdhcpcd/src/interface.c +++ /dev/null @@ -1,1060 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include - -#include - -/* Netlink suff */ -#ifdef __linux__ -#include /* Needed for 2.4 kernels */ -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" - -void free_address (struct address_head *addresses) -{ - address_t *p; - address_t *n; - - if (! addresses) - return; - - p = STAILQ_FIRST (addresses); - while (p) { - n = STAILQ_NEXT (p, entries); - free (p); - p = n; - } - free (addresses); -} - -void free_route (struct route_head *routes) -{ - route_t *p; - route_t *n; - - if (! routes) - return; - - p = STAILQ_FIRST (routes); - while (p) { - n = STAILQ_NEXT (p, entries); - free (p); - p = n; - } - free (routes); -} - -int inet_ntocidr (struct in_addr address) -{ - int cidr = 0; - uint32_t mask = htonl (address.s_addr); - - while (mask) { - cidr++; - mask <<= 1; - } - - return (cidr); -} - -int inet_cidrtoaddr (int cidr, struct in_addr *addr) { - int ocets; - - if (cidr < 0 || cidr > 32) { - errno = EINVAL; - return (-1); - } - ocets = (cidr + 7) / 8; - - memset (addr, 0, sizeof (*addr)); - if (ocets > 0) { - memset (&addr->s_addr, 255, (size_t) ocets - 1); - memset ((unsigned char *) &addr->s_addr + (ocets - 1), - (256 - (1 << (32 - cidr) % 8)), 1); - } - - return (0); -} - -uint32_t get_netmask (uint32_t addr) -{ - uint32_t dst; - - if (addr == 0) - return (0); - - dst = htonl (addr); - if (IN_CLASSA (dst)) - return (ntohl (IN_CLASSA_NET)); - if (IN_CLASSB (dst)) - return (ntohl (IN_CLASSB_NET)); - if (IN_CLASSC (dst)) - return (ntohl (IN_CLASSC_NET)); - - return (0); -} - -char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen) -{ - static char buffer[(HWADDR_LEN * 3) + 1]; - char *p = buffer; - size_t i; - - for (i = 0; i < hwlen && i < HWADDR_LEN; i++) { - if (i > 0) - *p ++= ':'; - p += snprintf (p, 3, "%.2x", hwaddr[i]); - } - - *p ++= '\0'; - - return (buffer); -} - -size_t hwaddr_aton (unsigned char *buffer, const char *addr) -{ - char c[3]; - const char *p = addr; - unsigned char *bp = buffer; - size_t len = 0; - - c[2] = '\0'; - while (*p) { - c[0] = *p++; - c[1] = *p++; - /* Ensure that next data is EOL or a seperator with data */ - if (! (*p == '\0' || (*p == ':' && *(p + 1) != '\0'))) { - errno = EINVAL; - return (0); - } - /* Ensure that digits are hex */ - if (isxdigit ((int) c[0]) == 0 || isxdigit ((int) c[1]) == 0) { - errno = EINVAL; - return (0); - } - p++; - if (bp) - *bp++ = (unsigned char) strtol (c, NULL, 16); - else - len++; - } - - if (bp) - return (bp - buffer); - return (len); -} - -static int _do_interface (const char *ifname, - _unused unsigned char *hwaddr, _unused size_t *hwlen, - struct in_addr *addr, - bool flush, bool get) -{ - int s; - struct ifconf ifc; - int retval = 0; - int len = 10 * sizeof (struct ifreq); - int lastlen = 0; - char *p; - - if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - /* Not all implementations return the needed buffer size for - * SIOGIFCONF so we loop like so for all until it works */ - memset (&ifc, 0, sizeof (ifc)); - for (;;) { - ifc.ifc_len = len; - ifc.ifc_buf = xmalloc ((size_t) len); - if (ioctl (s, SIOCGIFCONF, &ifc) == -1) { - if (errno != EINVAL || lastlen != 0) { - logger (LOG_ERR, "ioctl SIOCGIFCONF: %s", - strerror (errno)); - close (s); - free (ifc.ifc_buf); - return -1; - } - } else { - if (ifc.ifc_len == lastlen) - break; - lastlen = ifc.ifc_len; - } - - free (ifc.ifc_buf); - ifc.ifc_buf = NULL; - len *= 2; - } - - for (p = ifc.ifc_buf; p < ifc.ifc_buf + ifc.ifc_len;) { - union { - char *buffer; - struct ifreq *ifr; - } ifreqs; - struct sockaddr_in address; - struct ifreq *ifr; - - /* Cast the ifc buffer to an ifreq cleanly */ - ifreqs.buffer = p; - ifr = ifreqs.ifr; - -#ifdef __linux__ - p += sizeof (*ifr); -#else - p += offsetof (struct ifreq, ifr_ifru) + ifr->ifr_addr.sa_len; -#endif - - if (strcmp (ifname, ifr->ifr_name) != 0) - continue; - -#ifdef AF_LINK - if (hwaddr && hwlen && ifr->ifr_addr.sa_family == AF_LINK) { - struct sockaddr_dl sdl; - - memcpy (&sdl, &ifr->ifr_addr, sizeof (sdl)); - *hwlen = sdl.sdl_alen; - memcpy (hwaddr, sdl.sdl_data + sdl.sdl_nlen, - (size_t) sdl.sdl_alen); - retval = 1; - break; - } -#endif - - if (ifr->ifr_addr.sa_family == AF_INET) { - memcpy (&address, &ifr->ifr_addr, sizeof (address)); - if (flush) { - struct sockaddr_in netmask; - - if (ioctl (s, SIOCGIFNETMASK, ifr) == -1) { - logger (LOG_ERR, - "ioctl SIOCGIFNETMASK: %s", - strerror (errno)); - continue; - } - memcpy (&netmask, &ifr->ifr_addr, - sizeof (netmask)); - - if (del_address (ifname, - address.sin_addr, - netmask.sin_addr) == -1) - retval = -1; - } else if (get) { - addr->s_addr = address.sin_addr.s_addr; - retval = 1; - break; - } else if (address.sin_addr.s_addr == addr->s_addr) { - retval = 1; - break; - } - } - - } - - close (s); - free (ifc.ifc_buf); - return retval; -} - -interface_t *read_interface (const char *ifname, _unused int metric) -{ - int s; - struct ifreq ifr; - interface_t *iface = NULL; - unsigned char *hwaddr = NULL; - size_t hwlen = 0; - sa_family_t family = 0; - unsigned short mtu; -#ifdef __linux__ - char *p; -#endif - - if (! ifname) - return NULL; - - memset (&ifr, 0, sizeof (ifr)); - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - - if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return NULL; - } - -#ifdef __linux__ - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCGIFHWADDR, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCGIFHWADDR: %s", strerror (errno)); - goto exit; - } - - switch (ifr.ifr_hwaddr.sa_family) { - case ARPHRD_ETHER: - case ARPHRD_IEEE802: - hwlen = ETHER_ADDR_LEN; - break; - case ARPHRD_IEEE1394: - hwlen = EUI64_ADDR_LEN; - case ARPHRD_INFINIBAND: - hwlen = INFINIBAND_ADDR_LEN; - break; - default: - logger (LOG_ERR, - "interface is not Ethernet, FireWire, " \ - "InfiniBand or Token Ring"); - goto exit; - } - - hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); - memcpy (hwaddr, ifr.ifr_hwaddr.sa_data, hwlen); - family = ifr.ifr_hwaddr.sa_family; -#else - ifr.ifr_metric = metric; - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCSIFMETRIC, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCSIFMETRIC: %s", strerror (errno)); - goto exit; - } - - hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); - if (_do_interface (ifname, hwaddr, &hwlen, NULL, false, false) != 1) { - logger (LOG_ERR, "could not find interface %s", ifname); - goto exit; - } - - family = ARPHRD_ETHER; -#endif - - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCGIFMTU, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); - goto exit; - } - - if (ifr.ifr_mtu < MTU_MIN) { - logger (LOG_DEBUG, "MTU of %d is too low, setting to %d", - ifr.ifr_mtu, MTU_MIN); - ifr.ifr_mtu = MTU_MIN; - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCSIFMTU, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCSIFMTU,: %s", - strerror (errno)); - goto exit; - } - } - mtu = ifr.ifr_mtu; - - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); -#ifdef __linux__ - /* We can only bring the real interface up */ - if ((p = strchr (ifr.ifr_name, ':'))) - *p = '\0'; -#endif - if (ioctl (s, SIOCGIFFLAGS, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCGIFFLAGS: %s", strerror (errno)); - goto exit; - } - - if (! (ifr.ifr_flags & IFF_UP) || ! (ifr.ifr_flags & IFF_RUNNING)) { - ifr.ifr_flags |= IFF_UP | IFF_RUNNING; - if (ioctl (s, SIOCSIFFLAGS, &ifr) != 0) { - logger (LOG_ERR, "ioctl SIOCSIFFLAGS: %s", - strerror (errno)); - goto exit; - } - } - - iface = xzalloc (sizeof (*iface)); - strlcpy (iface->name, ifname, IF_NAMESIZE); -#ifdef ENABLE_INFO - snprintf (iface->infofile, PATH_MAX, INFOFILE, ifname); -#endif - memcpy (&iface->hwaddr, hwaddr, hwlen); - iface->hwlen = hwlen; - - iface->family = family; - iface->arpable = ! (ifr.ifr_flags & (IFF_NOARP | IFF_LOOPBACK)); - iface->mtu = iface->previous_mtu = mtu; - - logger (LOG_INFO, "hardware address = %s", - hwaddr_ntoa (iface->hwaddr, iface->hwlen)); - - /* 0 is a valid fd, so init to -1 */ - iface->fd = -1; -#ifdef __linux__ - iface->listen_fd = -1; -#endif - -exit: - close (s); - free (hwaddr); - return iface; -} - -int get_mtu (const char *ifname) -{ - struct ifreq ifr; - int r; - int s; - - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return (-1); - } - - memset (&ifr, 0, sizeof (ifr)); - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - r = ioctl (s, SIOCGIFMTU, &ifr); - close (s); - - if (r == -1) { - logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); - return (-1); - } - - return (ifr.ifr_mtu); -} - -int set_mtu (const char *ifname, short int mtu) -{ - struct ifreq ifr; - int r; - int s; - - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return (-1); - } - - memset (&ifr, 0, sizeof (ifr)); - logger (LOG_DEBUG, "setting MTU to %d", mtu); - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - ifr.ifr_mtu = mtu; - r = ioctl (s, SIOCSIFMTU, &ifr); - close (s); - - if (r == -1) - logger (LOG_ERR, "ioctl SIOCSIFMTU: %s", strerror (errno)); - - return (r == 0 ? 0 : -1); -} - -static void log_route (struct in_addr destination, - struct in_addr netmask, - struct in_addr gateway, - _unused int metric, - int change, int del) -{ - char *dstd = xstrdup (inet_ntoa (destination)); - -#ifdef __linux__ -#define METRIC " metric %d" -#else -#define METRIC "" -#endif - - if (gateway.s_addr == destination.s_addr || - gateway.s_addr == INADDR_ANY) - logger (LOG_INFO, "%s route to %s/%d" METRIC, - change ? "changing" : del ? "removing" : "adding", - dstd, inet_ntocidr (netmask) -#ifdef __linux__ - , metric -#endif - ); - else if (destination.s_addr == INADDR_ANY) - logger (LOG_INFO, "%s default route via %s" METRIC, - change ? "changing" : del ? "removing" : "adding", - inet_ntoa (gateway) - -#ifdef __linux__ - , metric -#endif - ); - else - logger (LOG_INFO, "%s route to %s/%d via %s" METRIC, - change ? "changing" : del ? "removing" : "adding", - dstd, inet_ntocidr (netmask), inet_ntoa (gateway) -#ifdef __linux__ - , metric -#endif - ); - - free (dstd); -} - -#if defined(BSD) || defined(__FreeBSD_kernel__) - -/* Darwin doesn't define this for some very odd reason */ -#ifndef SA_SIZE -# define SA_SIZE(sa) \ - ( (!(sa) || ((struct sockaddr *)(sa))->sa_len == 0) ? \ - sizeof(long) : \ - 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) -#endif - -static int do_address (const char *ifname, struct in_addr address, - struct in_addr netmask, struct in_addr broadcast, - int del) -{ - int s; - struct ifaliasreq ifa; - - if (! ifname) - return -1; - - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - memset (&ifa, 0, sizeof (ifa)); - strlcpy (ifa.ifra_name, ifname, sizeof (ifa.ifra_name)); - -#define ADDADDR(_var, _addr) { \ - union { struct sockaddr *sa; struct sockaddr_in *sin; } _s; \ - _s.sa = &_var; \ - _s.sin->sin_family = AF_INET; \ - _s.sin->sin_len = sizeof (*_s.sin); \ - memcpy (&_s.sin->sin_addr, &_addr, sizeof (_s.sin->sin_addr)); \ -} - - ADDADDR (ifa.ifra_addr, address); - ADDADDR (ifa.ifra_mask, netmask); -if (! del) - ADDADDR (ifa.ifra_broadaddr, broadcast); - -#undef ADDADDR - - if (ioctl (s, del ? SIOCDIFADDR : SIOCAIFADDR, &ifa) == -1) { - logger (LOG_ERR, "ioctl %s: %s", - del ? "SIOCDIFADDR" : "SIOCAIFADDR", - strerror (errno)); - close (s); - return -1; - } - -close (s); -return 0; -} - -static int do_route (const char *ifname, - struct in_addr destination, - struct in_addr netmask, - struct in_addr gateway, - int metric, - int change, int del) -{ - int s; - static int seq; - union sockunion { - struct sockaddr sa; - struct sockaddr_in sin; -#ifdef INET6 - struct sockaddr_in6 sin6; -#endif - struct sockaddr_dl sdl; - struct sockaddr_storage ss; - } su; - struct rtm - { - struct rt_msghdr hdr; - char buffer[sizeof (su) * 3]; - } rtm; - char *bp = rtm.buffer; - size_t l; - - if (! ifname) - return -1; - - log_route (destination, netmask, gateway, metric, change, del); - - if ((s = socket (PF_ROUTE, SOCK_RAW, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - memset (&rtm, 0, sizeof (rtm)); - - rtm.hdr.rtm_version = RTM_VERSION; - rtm.hdr.rtm_seq = ++seq; - rtm.hdr.rtm_type = change ? RTM_CHANGE : del ? RTM_DELETE : RTM_ADD; - rtm.hdr.rtm_flags = RTF_UP | RTF_STATIC; - - /* This order is important */ - rtm.hdr.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; - -#define ADDADDR(_addr) \ - memset (&su, 0, sizeof (su)); \ - su.sin.sin_family = AF_INET; \ - su.sin.sin_len = sizeof (su.sin); \ - memcpy (&su.sin.sin_addr, &_addr, sizeof (su.sin.sin_addr)); \ - l = SA_SIZE (&(su.sa)); \ - memcpy (bp, &(su), l); \ - bp += l; - - ADDADDR (destination); - - if (netmask.s_addr == INADDR_BROADCAST || - gateway.s_addr == INADDR_ANY) - { - /* Make us a link layer socket */ - unsigned char *hwaddr; - size_t hwlen = 0; - - if (netmask.s_addr == INADDR_BROADCAST) - rtm.hdr.rtm_flags |= RTF_HOST; - - hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); - _do_interface (ifname, hwaddr, &hwlen, NULL, false, false); - memset (&su, 0, sizeof (su)); - su.sdl.sdl_len = sizeof (su.sdl); - su.sdl.sdl_family = AF_LINK; - su.sdl.sdl_nlen = strlen (ifname); - memcpy (&su.sdl.sdl_data, ifname, (size_t) su.sdl.sdl_nlen); - su.sdl.sdl_alen = hwlen; - memcpy (((unsigned char *) &su.sdl.sdl_data) + su.sdl.sdl_nlen, - hwaddr, (size_t) su.sdl.sdl_alen); - - l = SA_SIZE (&(su.sa)); - memcpy (bp, &su, l); - bp += l; - free (hwaddr); - } else { - rtm.hdr.rtm_flags |= RTF_GATEWAY; - ADDADDR (gateway); - } - - ADDADDR (netmask); -#undef ADDADDR - - rtm.hdr.rtm_msglen = l = bp - (char *)&rtm; - if (write (s, &rtm, l) == -1) { - /* Don't report error about routes already existing */ - if (errno != EEXIST) - logger (LOG_ERR, "write: %s", strerror (errno)); - close (s); - return -1; - } - - close (s); - return 0; -} - -#elif __linux__ -/* This netlink stuff is overly compex IMO. - * The BSD implementation is much cleaner and a lot less code. - * send_netlink handles the actual transmission so we can work out - * if there was an error or not. */ -#define BUFFERLEN 256 -int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg) -{ - int s; - pid_t mypid = getpid (); - struct sockaddr_nl nl; - struct iovec iov; - struct msghdr msg; - static unsigned int seq; - char *buffer; - ssize_t bytes; - union - { - char *buffer; - struct nlmsghdr *nlm; - } h; - - if ((s = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - memset (&nl, 0, sizeof (nl)); - nl.nl_family = AF_NETLINK; - if (bind (s, (struct sockaddr *) &nl, sizeof (nl)) == -1) { - logger (LOG_ERR, "bind: %s", strerror (errno)); - close (s); - return -1; - } - - memset (&iov, 0, sizeof (iov)); - iov.iov_base = hdr; - iov.iov_len = hdr->nlmsg_len; - - memset (&msg, 0, sizeof (msg)); - msg.msg_name = &nl; - msg.msg_namelen = sizeof (nl); - msg.msg_iov = &iov; - msg.msg_iovlen = 1; - - /* Request a reply */ - hdr->nlmsg_flags |= NLM_F_ACK; - hdr->nlmsg_seq = ++seq; - - if (sendmsg (s, &msg, 0) == -1) { - logger (LOG_ERR, "write: %s", strerror (errno)); - close (s); - return -1; - } - - buffer = xzalloc (sizeof (char) * BUFFERLEN); - iov.iov_base = buffer; - - for (;;) { - iov.iov_len = BUFFERLEN; - bytes = recvmsg (s, &msg, 0); - - if (bytes == -1) { - if (errno != EINTR) - logger (LOG_ERR, "recvmsg: %s", - strerror (errno)); - continue; - } - - if (bytes == 0) { - logger (LOG_ERR, "netlink: EOF"); - goto eexit; - } - - if (msg.msg_namelen != sizeof (nl)) { - logger (LOG_ERR, - "netlink: sender address length mismatch"); - goto eexit; - } - - for (h.buffer = buffer; bytes >= (signed) sizeof (*h.nlm); ) { - int len = h.nlm->nlmsg_len; - int l = len - sizeof (*h.nlm); - struct nlmsgerr *err = (struct nlmsgerr *) NLMSG_DATA (h.nlm); - - if (l < 0 || len > bytes) { - if (msg.msg_flags & MSG_TRUNC) - logger (LOG_ERR, "netlink: truncated message"); - else - logger (LOG_ERR, "netlink: malformed message"); - goto eexit; - } - - /* Ensure it's our message */ - if (nl.nl_pid != 0 || - (pid_t) h.nlm->nlmsg_pid != mypid || - h.nlm->nlmsg_seq != seq) - { - /* Next Message */ - bytes -= NLMSG_ALIGN (len); - h.buffer += NLMSG_ALIGN (len); - continue; - } - - /* We get an NLMSG_ERROR back with a code of zero for success */ - if (h.nlm->nlmsg_type != NLMSG_ERROR) { - logger (LOG_ERR, "netlink: unexpected reply %d", - h.nlm->nlmsg_type); - goto eexit; - } - - if ((unsigned) l < sizeof (*err)) { - logger (LOG_ERR, "netlink: error truncated"); - goto eexit; - } - - if (err->error == 0) { - int retval = 0; - - close (s); - if (callback) { - if ((retval = callback (hdr, arg)) == -1) - logger (LOG_ERR, "netlink: callback failed"); - } - free (buffer); - return (retval); - } - - errno = -err->error; - /* Don't report on something already existing */ - if (errno != EEXIST) - logger (LOG_ERR, "netlink: %s", - strerror (errno)); - goto eexit; - } - } - -eexit: - close (s); - free (buffer); - return -1; -} - -#define NLMSG_TAIL(nmsg) \ - ((struct rtattr *) (((ptrdiff_t) (nmsg)) + NLMSG_ALIGN ((nmsg)->nlmsg_len))) - -static int add_attr_l(struct nlmsghdr *n, unsigned int maxlen, int type, - const void *data, int alen) -{ - int len = RTA_LENGTH(alen); - struct rtattr *rta; - - if (NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len) > maxlen) { - logger (LOG_ERR, "add_attr_l: message exceeded bound of %d\n", - maxlen); - return -1; - } - - rta = NLMSG_TAIL (n); - rta->rta_type = type; - rta->rta_len = len; - memcpy (RTA_DATA (rta), data, alen); - n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len); - - return 0; -} - -static int add_attr_32(struct nlmsghdr *n, unsigned int maxlen, int type, - uint32_t data) -{ - int len = RTA_LENGTH (sizeof (data)); - struct rtattr *rta; - - if (NLMSG_ALIGN (n->nlmsg_len) + len > maxlen) { - logger (LOG_ERR, "add_attr32: message exceeded bound of %d\n", - maxlen); - return -1; - } - - rta = NLMSG_TAIL (n); - rta->rta_type = type; - rta->rta_len = len; - memcpy (RTA_DATA (rta), &data, sizeof (data)); - n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + len; - - return 0; -} - -struct nlma -{ - struct nlmsghdr hdr; - struct ifaddrmsg ifa; - char buffer[64]; -}; - -struct nlmr -{ - struct nlmsghdr hdr; - struct rtmsg rt; - char buffer[256]; -}; - -static int do_address(const char *ifname, - struct in_addr address, struct in_addr netmask, - struct in_addr broadcast, int del) -{ - struct nlma *nlm; - int retval; - - if (!ifname) - return -1; - - nlm = xzalloc (sizeof (*nlm)); - nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct ifaddrmsg)); - nlm->hdr.nlmsg_flags = NLM_F_REQUEST; - if (! del) - nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; - nlm->hdr.nlmsg_type = del ? RTM_DELADDR : RTM_NEWADDR; - if (! (nlm->ifa.ifa_index = if_nametoindex (ifname))) { - logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", - ifname); - free (nlm); - return -1; - } - nlm->ifa.ifa_family = AF_INET; - - nlm->ifa.ifa_prefixlen = inet_ntocidr (netmask); - - /* This creates the aliased interface */ - add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LABEL, - ifname, strlen (ifname) + 1); - - add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LOCAL, - &address.s_addr, sizeof (address.s_addr)); - if (! del) - add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_BROADCAST, - &broadcast.s_addr, sizeof (broadcast.s_addr)); - - retval = send_netlink (&nlm->hdr, NULL, NULL); - free (nlm); - return retval; -} - -static int do_route (const char *ifname, - struct in_addr destination, - struct in_addr netmask, - struct in_addr gateway, - int metric, int change, int del) -{ - struct nlmr *nlm; - unsigned int ifindex; - int retval; - - if (! ifname) - return -1; - - log_route (destination, netmask, gateway, metric, change, del); - - if (! (ifindex = if_nametoindex (ifname))) { - logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", - ifname); - return -1; - } - - nlm = xzalloc (sizeof (*nlm)); - nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg)); - if (change) - nlm->hdr.nlmsg_flags = NLM_F_REPLACE; - else if (! del) - nlm->hdr.nlmsg_flags = NLM_F_CREATE | NLM_F_EXCL; - nlm->hdr.nlmsg_flags |= NLM_F_REQUEST; - nlm->hdr.nlmsg_type = del ? RTM_DELROUTE : RTM_NEWROUTE; - nlm->rt.rtm_family = AF_INET; - nlm->rt.rtm_table = RT_TABLE_MAIN; - - if (del) - nlm->rt.rtm_scope = RT_SCOPE_NOWHERE; - else { - nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_EXCL; - nlm->rt.rtm_protocol = RTPROT_BOOT; - if (netmask.s_addr == INADDR_BROADCAST || - gateway.s_addr == INADDR_ANY) - nlm->rt.rtm_scope = RT_SCOPE_LINK; - else - nlm->rt.rtm_scope = RT_SCOPE_UNIVERSE; - nlm->rt.rtm_type = RTN_UNICAST; - } - - nlm->rt.rtm_dst_len = inet_ntocidr (netmask); - add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_DST, - &destination.s_addr, sizeof (destination.s_addr)); - if (netmask.s_addr != INADDR_BROADCAST && - destination.s_addr != gateway.s_addr) - add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_GATEWAY, - &gateway.s_addr, sizeof (gateway.s_addr)); - - add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_OIF, ifindex); - add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_PRIORITY, metric); - - retval = send_netlink (&nlm->hdr, NULL, NULL); - free (nlm); - return retval; -} - -#else - #error "Platform not supported!" - #error "We currently support BPF and Linux sockets." - #error "Other platforms may work using BPF. If yours does, please let me know" - #error "so I can add it to our list." -#endif - -int add_address (const char *ifname, struct in_addr address, - struct in_addr netmask, struct in_addr broadcast) -{ - logger (LOG_INFO, "adding IP address %s/%d", - inet_ntoa (address), inet_ntocidr (netmask)); - - return (do_address (ifname, address, netmask, broadcast, 0)); -} - -int del_address (const char *ifname, - struct in_addr address, struct in_addr netmask) -{ - struct in_addr t; - - logger (LOG_INFO, "removing IP address %s/%d", - inet_ntoa (address), inet_ntocidr (netmask)); - - memset (&t, 0, sizeof (t)); - return (do_address (ifname, address, netmask, t, 1)); -} - -int add_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric) -{ - return (do_route (ifname, destination, netmask, gateway, metric, 0, 0)); -} - -int change_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric) -{ - return (do_route (ifname, destination, netmask, gateway, metric, 1, 0)); -} - -int del_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric) -{ - return (do_route (ifname, destination, netmask, gateway, metric, 0, 1)); -} - - -int flush_addresses (const char *ifname) -{ - return (_do_interface (ifname, NULL, NULL, NULL, true, false)); -} - -in_addr_t get_address (const char *ifname) -{ - struct in_addr address; - if (_do_interface (ifname, NULL, NULL, &address, false, true) > 0) - return (address.s_addr); - return (0); -} - -int has_address (const char *ifname, struct in_addr address) -{ - return (_do_interface (ifname, NULL, NULL, &address, false, false)); -} diff --git a/workspace/customdhcpcd/src/interface.h b/workspace/customdhcpcd/src/interface.h deleted file mode 100644 index 8215d48..0000000 --- a/workspace/customdhcpcd/src/interface.h +++ /dev/null @@ -1,173 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef INTERFACE_H -#define INTERFACE_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#ifdef __linux__ -# include -#endif - -#ifdef ENABLE_DUID -#ifndef DUID_LEN -# define DUID_LEN 128 + 2 -#endif -#endif - -#define EUI64_ADDR_LEN 8 -#define INFINIBAND_ADDR_LEN 20 - -/* Linux 2.4 doesn't define this */ -#ifndef ARPHRD_IEEE1394 -# define ARPHRD_IEEE1394 24 -#endif - -/* The BSD's don't define this yet */ -#ifndef ARPHRD_INFINIBAND -# define ARPHRD_INFINIBAND 32 -#endif - -#define HWADDR_LEN 20 - -/* Work out if we have a private address or not - * 10/8 - * 172.16/12 - * 192.168/16 - */ -#ifndef IN_PRIVATE -# define IN_PRIVATE(addr) (((addr & IN_CLASSA_NET) == 0x0a000000) || \ - ((addr & 0xfff00000) == 0xac100000) || \ - ((addr & IN_CLASSB_NET) == 0xc0a80000)) -#endif - -#define LINKLOCAL_ADDR 0xa9fe0000 -#define LINKLOCAL_MASK 0xffff0000 -#define LINKLOCAL_BRDC 0xa9feffff - -#ifndef IN_LINKLOCAL -# define IN_LINKLOCAL(addr) ((addr & IN_CLASSB_NET) == LINKLOCAL_ADDR) -#endif - -#ifndef STAILQ_ENTRY -# error "your sys/queue.h is too old and lacks STAILQ" -#endif - -#define NSTAILQ_FOREACH(var, head, field) \ - if (head) STAILQ_FOREACH (var, head, field) - -typedef struct route_t -{ - struct in_addr destination; - struct in_addr netmask; - struct in_addr gateway; - STAILQ_ENTRY (route_t) entries; -} route_t; -STAILQ_HEAD (route_head, route_t); - -typedef struct address_t -{ - struct in_addr address; - STAILQ_ENTRY (address_t) entries; -} address_t; -STAILQ_HEAD (address_head, address_t); - -typedef struct interface_t -{ - char name[IF_NAMESIZE]; - sa_family_t family; - unsigned char hwaddr[HWADDR_LEN]; - size_t hwlen; - bool arpable; - unsigned short mtu; - - int fd; - size_t buffer_length; - -#ifdef __linux__ - int listen_fd; - int socket_protocol; -#endif - - char infofile[PATH_MAX]; - - unsigned short previous_mtu; - struct in_addr previous_address; - struct in_addr previous_netmask; - struct route_head *previous_routes; - - time_t start_uptime; - - unsigned char *clientid; - size_t clientid_len; -} interface_t; - -void free_address (struct address_head *addresses); -void free_route (struct route_head *routes); -uint32_t get_netmask (uint32_t addr); -char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen); -size_t hwaddr_aton (unsigned char *hwaddr, const char *addr); - -interface_t *read_interface (const char *ifname, int metric); -int get_mtu (const char *ifname); -int set_mtu (const char *ifname, short int mtu); - -int add_address (const char *ifname, struct in_addr address, - struct in_addr netmask, struct in_addr broadcast); -int del_address (const char *ifname, struct in_addr address, - struct in_addr netmask); - -int flush_addresses (const char *ifname); -in_addr_t get_address (const char *ifname); -int has_address (const char *ifname, struct in_addr address); - -int add_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric); -int change_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric); -int del_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric); - -int inet_ntocidr (struct in_addr address); -int inet_cidrtoaddr (int cidr, struct in_addr *addr); - -#ifdef __linux__ -typedef int (*netlink_callback) (struct nlmsghdr *hdr, void *arg); -int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg); -#endif -#endif diff --git a/workspace/customdhcpcd/src/ipv4ll.c b/workspace/customdhcpcd/src/ipv4ll.c deleted file mode 100644 index 9742b9a..0000000 --- a/workspace/customdhcpcd/src/ipv4ll.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include - -#include "config.h" -#include "arp.h" -#include "ipv4ll.h" - -#ifdef ENABLE_IPV4LL - -#ifndef ENABLE_ARP - # error IPV4LL requires ARP -#endif - -#define IPV4LL_LEASETIME 20 - -int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp) { - struct in_addr addr; - - for (;;) { - addr.s_addr = htonl (LINKLOCAL_ADDR | - (((uint32_t) abs ((int) random ()) - % 0xFD00) + 0x0100)); - errno = 0; - if (! arp_claim (iface, addr)) - break; - /* Our ARP may have been interrupted */ - if (errno) - return (-1); - } - - dhcp->address.s_addr = addr.s_addr; - dhcp->netmask.s_addr = htonl (LINKLOCAL_MASK); - dhcp->broadcast.s_addr = htonl (LINKLOCAL_BRDC); - - /* Finally configure some DHCP like lease times */ - dhcp->leasetime = IPV4LL_LEASETIME; - dhcp->renewaltime = (dhcp->leasetime * 0.5); - dhcp->rebindtime = (dhcp->leasetime * 0.875); - - return (0); -} - -#endif diff --git a/workspace/customdhcpcd/src/ipv4ll.h b/workspace/customdhcpcd/src/ipv4ll.h deleted file mode 100644 index 4fa8943..0000000 --- a/workspace/customdhcpcd/src/ipv4ll.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef IPV4LL_H -#define IPV4LL_H - -#ifdef ENABLE_IPV4LL - -#include "dhcp.h" -#include "interface.h" - -int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp); - -#endif -#endif diff --git a/workspace/customdhcpcd/src/logger.c b/workspace/customdhcpcd/src/logger.c deleted file mode 100644 index 91d6cc0..0000000 --- a/workspace/customdhcpcd/src/logger.c +++ /dev/null @@ -1,128 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#define SYSLOG_NAMES - -#define COM_CH "/var/tmp/com.socket" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "logger.h" -#include "logwriter.h" - -static int loglevel = LOG_WARNING; -static char logprefix[12] = { 0 }; - -int logtolevel(const char *priority) { - CODE *c; - - if (isdigit ((int) *priority)) - return (atoi(priority)); - - for (c = prioritynames; c->c_name; c++) - if (!strcasecmp(priority, c->c_name)) - return (c->c_val); - - return (-1); -} - -static const char *leveltolog(int level) { - CODE *c; - - for (c = prioritynames; c->c_name; c++) - if (c->c_val == level) - return (c->c_name); - - return (NULL); -} - -void setloglevel(int level) { - loglevel = level; -} - -void setlogprefix(const char *prefix) { - snprintf(logprefix, sizeof(logprefix), "%s", prefix); -} - -void logger(int level, const char *fmt, ...) { - va_list p; - va_list p2; - FILE *f = stderr; - - va_start (p, fmt); - va_copy (p2, p); - - if (level <= LOG_ERR || level <= loglevel) { - - /* new function by Niklas Goby - * send the log message also to our Qt programm. - * implemented in logwriter.c - * */ - logLoggerToQt(level, fmt, p); - - if (level == LOG_DEBUG || level == LOG_INFO) - f = stdout; - fprintf(f, "%s, %s", leveltolog(level), logprefix); - vfprintf(f, fmt, p); - fputc('\n', f); - - /* stdout, stderr may be re-directed to some kind of buffer. - * So we always flush to ensure it's written. */ - fflush(f); - } - - if (level < LOG_DEBUG || level <= loglevel) { - size_t len = strlen(logprefix); - size_t fmt2len = strlen(fmt) + len + 1; - char *fmt2 = malloc(sizeof(char) * fmt2len); - char *pf = fmt2; - if (fmt2) { - memcpy(pf, logprefix, len); - pf += len; - strlcpy(pf, fmt, fmt2len - len); - vsyslog(level, fmt2, p2); - free(fmt2); - } else { - vsyslog(level, fmt, p2); - syslog(LOG_ERR, "logger: memory exhausted"); - exit(EXIT_FAILURE); - } - } - - va_end (p2); - va_end (p); -} - diff --git a/workspace/customdhcpcd/src/logger.h b/workspace/customdhcpcd/src/logger.h deleted file mode 100644 index 70e2ed5..0000000 --- a/workspace/customdhcpcd/src/logger.h +++ /dev/null @@ -1,48 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef LOGGER_H -#define LOGGER_H - -#if defined(__GNUC__) -# define _PRINTF_LIKE(_one, _two) __attribute__ ((__format__ (__printf__, _one, _two))) -#else -# define _PRINTF_LIKE(_one, _two) -#endif - -#include - - - -int logtolevel (const char *priority); -void setloglevel (int level); -void setlogprefix (const char *prefix); -void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); - - - -#endif diff --git a/workspace/customdhcpcd/src/logwriter.c b/workspace/customdhcpcd/src/logwriter.c deleted file mode 100644 index 74c0181..0000000 --- a/workspace/customdhcpcd/src/logwriter.c +++ /dev/null @@ -1,149 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "dhcp.h" -#include "dhcpcd.h" -#include "logger.h" -#include "logwriter.h" -#include "status.h" - -/*sockets for the logger and the qt-reader */ -int sockfd, ns; -int retval = -1; -char socketName[QTSOCKETADDRESSLENGTH]; -char interfaceName[IF_NAMESIZE]; -char mesg[1024]; - -void setSocketName(const char * sn) { - snprintf(socketName, sizeof(socketName), "%s", sn); -} - -void setInterfaceName(const char * in){ - snprintf(interfaceName, sizeof(interfaceName), "%s", in); -} - -int initQtLoggerSocket() { - /** - * new code. seems to be right. - */ - - struct sockaddr_un serv_addr; - fprintf(stdout,"start init \n"); - sockfd = socket(AF_UNIX, SOCK_STREAM, 0); - if (sockfd < 0) { - fprintf(stdout,"ERROR opening socket \n"); - retval = sockfd; - return sockfd; - } - serv_addr.sun_family = AF_UNIX; - strcpy(serv_addr.sun_path, socketName); - - retval = connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); - if ( retval < 0) - fprintf(stdout,"ERROR connecting \n"); - fprintf(stdout,"init Qt Logger Socket done \n"); - return retval; -} - -void closeQtLoggerSocket (){ - close(sockfd); -} - -/* -void logToQt(char * status, char * substatus, char * msg) { - char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); - strcpy(m,interfaceName); - strcat(m,";"); - strcat(m,status); - strcat(m,";"); - strcat(m,substatus); - strcat(m,";"); - strcat(m,msg); - sendToQt(m); - - free(m); -} -*/ - - -void sendToQt(log_msg * msg) { - int n = -1; - const char *tpl = "%s;%d;%d;%s\n"; - char *outbuf; - size_t outbuf_size = - sizeof(char)*4 + // ";" *3 + newline - sizeof(int)*2 + // status, substatus - sizeof(msg->device) + // devicename - sizeof(msg->msg); // msg - outbuf = malloc(outbuf_size); - memset(outbuf,0,outbuf_size); - snprintf(outbuf, sizeof(char)*3 + sizeof(int)*2 + sizeof(msg->device) + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, msg->msg); - if (outbuf != NULL){ - n = write(sockfd, outbuf, outbuf_size); - } - free(outbuf); - syslog (LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); -// fflush(sockfd); - if (n < 0) { - syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); -// fprintf(stdout, "ERROR writing to socket: %s", msg); - } - //usleep(500); -} - -void logToQt(int status, int substatus, const char * msg) { - if (retval >= 0) { - log_msg lm; - lm.status = status; - lm.substatus = substatus; - snprintf(lm.msg, sizeof(lm.msg), "%s", msg); - snprintf(lm.device, sizeof(lm.device), "%s", interfaceName); - sendToQt(&lm); - } -} - -void logSendToQt(int type) { - switch(type) { - case DHCP_DISCOVER: - logToQt(LOG_INFO, DHCP_DISCOVER, "send discover"); - break; - case DHCP_OFFER: - logToQt(LOG_INFO, DHCP_OFFER, "send offer"); - break; - case DHCP_REQUEST: - logToQt(LOG_INFO, DHCP_REQUEST, "send request"); - break; - case DHCP_DECLINE: - logToQt(LOG_INFO, DHCP_DECLINE, "send decline"); - break; - case DHCP_ACK: - logToQt(LOG_INFO, DHCP_ACK, "send ack"); - break; - case DHCP_NAK: - logToQt(LOG_INFO, DHCP_NAK, "send nak"); - break; - case DHCP_RELEASE: - logToQt(LOG_INFO, DHCP_RELEASE, "send release"); - break; - case DHCP_INFORM: - logToQt(LOG_INFO, DHCP_INFORM, "send inform"); - break; - default : - break; - } -} - -void logLoggerToQt(int level, const char *fmt, va_list args) { - vsnprintf(mesg, sizeof(mesg), fmt, args); - strcat(mesg, "\n"); - logToQt(level, DHCPCD_LOG, mesg); -} diff --git a/workspace/customdhcpcd/src/logwriter.h b/workspace/customdhcpcd/src/logwriter.h deleted file mode 100644 index 1a755fc..0000000 --- a/workspace/customdhcpcd/src/logwriter.h +++ /dev/null @@ -1,37 +0,0 @@ -/* - * logwriter.h - * - * Created on: Jul 7, 2011 - * Author: niklas - */ - -#ifndef LOGWRITER_H_ -#define LOGWRITER_H_ - -#include "dhcpcd.h" - -#define LOG_MSG_SIZE 1024 - -typedef struct _log_msg log_msg; -struct _log_msg { - int status; - int substatus; - char device[IF_NAMESIZE]; - char msg[LOG_MSG_SIZE]; -}; - -/** - * new functions for communicating with Qt - */ -void setSocketName(const char * sn); -void setInterfaceName(const char * in); -int initQtLoggerSocket (); -void closeQtLoggerSocket (); -void sendToQt (); -void logToQt(int status, int substatus, const char * msg); -void logSendToQt(int type); -void logLoggerToQt(int level, const char *fmt, va_list args); -//void logToQt(char * status, char * substatus, char * msg); - - -#endif /* LOGWRITER_H_ */ diff --git a/workspace/customdhcpcd/src/mk/cc.mk b/workspace/customdhcpcd/src/mk/cc.mk deleted file mode 100644 index d52597b..0000000 --- a/workspace/customdhcpcd/src/mk/cc.mk +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2008 Roy Marples - -# Setup some good default CFLAGS -CFLAGS?= -O2 - -# Default to using the C99 standard -CSTD?= c99 -_CSTD_SH= if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi -_CSTD!= ${_CSTD_SH} -CFLAGS+= ${_CSTD}$(shell ${_CSTD_SH}) - -# Try and use some good cc flags -_CC_FLAGS= -pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \ - -Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \ - -Wbad-function-cast -Wnested-externs -Wcomment -Winline \ - -Wchar-subscripts -Wcast-align -Wno-format-nonliteral \ - -Wdeclaration-after-statement -Wsequence-point -Wextra -_CC_FLAGS_SH= for f in ${_CC_FLAGS}; do \ - if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ - then printf "%s" "$$f "; fi \ - done -_CC_FLAGS!= ${_CC_FLAGS_SH} -CFLAGS+= ${_CC_FLAGS}$(shell ${CC_FLAGS_SH}) diff --git a/workspace/customdhcpcd/src/mk/depend.mk b/workspace/customdhcpcd/src/mk/depend.mk deleted file mode 100644 index a4d717a..0000000 --- a/workspace/customdhcpcd/src/mk/depend.mk +++ /dev/null @@ -1,11 +0,0 @@ -# This only works for make implementations that always include a .depend if -# it exists. Only GNU make does not do this. - -# Copyright 2008 Roy Marples - -CLEANFILES+= .depend - -.depend: ${SRCS} - ${CC} ${CFLAGS} -MM ${SRCS} > .depend - -depend: .depend diff --git a/workspace/customdhcpcd/src/mk/dist.mk b/workspace/customdhcpcd/src/mk/dist.mk deleted file mode 100644 index 1d3669d..0000000 --- a/workspace/customdhcpcd/src/mk/dist.mk +++ /dev/null @@ -1,11 +0,0 @@ -# rules to make a distribution tarball from a git repo -# Copyright 2008 Roy Marples - -GITREF?= HEAD -DISTPREFIX?= ${PROG}-${VERSION} -DISTFILE?= ${DISTPREFIX}.tar.bz2 - -CLEANFILES+= ${DISTFILE} - -dist: - git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE} diff --git a/workspace/customdhcpcd/src/mk/man.mk b/workspace/customdhcpcd/src/mk/man.mk deleted file mode 100644 index 5d9bf26..0000000 --- a/workspace/customdhcpcd/src/mk/man.mk +++ /dev/null @@ -1,14 +0,0 @@ -# rules to install manpages -# Copyright 2008 Roy Marples - -MANPREFIX?= /usr/share -MANDIR?= ${MANPREFIX}/man/man -MANMODE?= 0444 -MINSTALL?= ${INSTALL} -m ${MANMODE} - -man: ${MAN} - -# We cheat as all our pages go into section 8 -maninstall: man - ${INSTALL} -d ${DESTDIR}${MANDIR}8 - for man in ${MAN}; do ${MINSTALL} $$man ${DESTDIR}${MANDIR}8; done diff --git a/workspace/customdhcpcd/src/mk/os.mk b/workspace/customdhcpcd/src/mk/os.mk deleted file mode 100644 index af173fc..0000000 --- a/workspace/customdhcpcd/src/mk/os.mk +++ /dev/null @@ -1,77 +0,0 @@ -# Setup OS specific variables -# Copyright 2008 Roy Marples - -# Work out if we need -lresolv or not -_LIBRESOLV_SH= printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ - if ${CC} .res_init.c -o .res_init >/dev/null 2>&1; then \ - echo ""; \ - elif ${CC} .res_init.c -lresolv -o .res_init >/dev/null 2>&1; then \ - echo "-lresolv"; \ - else \ - echo "Cannot work out how to get res_init to link" >&2; \ - rm -f .res_init.c .res_init; \ - exit 1; \ - fi; \ - rm -f .res_init.c .res_init -_LIBRESOLV!= ${_LIBRESOLV_SH} -LIBRESOLV= ${_LIBRESOLV}$(shell ${_LIBRESOLV_SH}) - -# Work out if we need -lrt or not -_LIBRT_SH= printf '\#include \n\#include \n\nint main (void) { struct timespec ts;\n\#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC)\nreturn (clock_gettime (CLOCK_MONOTONIC, &ts));\n\#else\nreturn -1;\n\#endif\n}\n' > .clock_gettime.c; \ - if ${CC} .clock_gettime.c -o .clock_gettime >/dev/null 2>&1; then \ - echo ""; \ - elif ${CC} .clock_gettime.c -lrt -o .clock_gettime >/dev/null 2>&1; then \ - echo "-lrt"; \ - else \ - echo ""; \ - fi; \ - rm -f .clock_gettime.c .clock_gettime -_LIBRT!= ${_LIBRT_SH} -LIBRT= ${_LIBRT}$(shell ${_LIBRT_SH}) - -# Work out if our fork() works or not -_HAVE_FORK_SH= if test "${HAVE_FORK}" = "yes"; then \ - echo ""; \ - elif test -n "${HAVE_FORK}"; then \ - echo "-DTHERE_IS_NO_FORK"; \ - else \ - printf '\#include \n\#include \nint main (void) { pid_t pid = fork(); if (pid == -1) exit (-1); exit (0); }\n' > .fork.c; \ - ${CC} .fork.c -o .fork >/dev/null 2>&1; \ - if ./.fork; then \ - echo ""; \ - else \ - echo "-DTHERE_IS_NO_FORK"; \ - fi; \ - rm -f .fork.c .fork; \ - fi; -_HAVE_FORK!= ${_HAVE_FORK_SH} -FORK= ${_HAVE_FORK}$(shell ${_HAVE_FORK_SH}) - -# info dir defaults to /var/lib/dhcpcd on Linux and /var/db elsewhere -_INFODIR_SH= if test -n "${INFODIR}"; then \ - echo "${INFODIR}"; \ - else \ - case `uname -s` in \ - Linux) echo "/var/lib/dhcpcd";; \ - *) echo "/var/db";; \ - esac \ - fi -_INFODIR!= ${_INFODIR_SH} -INFOD?= ${_INFODIR}$(shell ${_INFODIR_SH}) - -# Work out how to restart services -_RC_SH= if test -n "${HAVE_INIT}"; then \ - test "${HAVE_INIT}" = "no" || echo "-DENABLE_${HAVE_INIT}"; \ - elif test -x /sbin/runscript; then echo "-DENABLE_OPENRC"; \ - elif test -x /sbin/service; then echo "-DENABLE_SERVICE"; \ - elif test -x /etc/rc.d/rc.S -a -x /etc/rc.d/rc.M; then echo "-DENABLE_SLACKRC"; \ - elif test -d /etc/rc.d; then echo "-DENABLE_BSDRC"; \ - elif test -d /etc/init.d; then echo "-DENABLE_SYSV"; \ - fi -_RC!= ${_RC_SH} -RC= ${_RC}$(shell ${_RC_SH}) - -# glibc requires _BSD_SOURCE and _XOPEN_SOURCE -_DEF_SH= case `uname -s` in Linux) echo "-D_BSD_SOURCE -D_XOPEN_SOURCE=600";; *) echo;; esac -_DEF!= ${_DEF_SH} -CFLAGS+= ${_DEF}$(shell ${_DEF_SH}) diff --git a/workspace/customdhcpcd/src/mk/prog.mk b/workspace/customdhcpcd/src/mk/prog.mk deleted file mode 100644 index 6f2560c..0000000 --- a/workspace/customdhcpcd/src/mk/prog.mk +++ /dev/null @@ -1,34 +0,0 @@ -# rules to build a program -# based on FreeBSD's bsd.prog.mk - -# Copyright 2008 Roy Marples - -BINDIR?= ${PREFIX}/usr/bin -BINMODE?= 0755 -OBJS+= ${SRCS:.c=.o} - -INSTALL?= install - -all: ${PROG} ${MAN} - -${PROG}: ${SCRIPTS} ${OBJS} - ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} - -_proginstall: ${PROG} - ${INSTALL} -d ${DESTDIR}${BINDIR} - ${INSTALL} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR} - -include ${MK}/depend.mk -include ${MK}/man.mk -include ${MK}/dist.mk - -install: _proginstall maninstall - -clean: - rm -f ${OBJS} ${PROG} ${CLEANFILES} - -LINTFLAGS?= -hx -LINTFLAGS+= -X 159,247,352 - -lint: ${SRCS:.c=.c} - ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} $^ ${.ALLSRC} diff --git a/workspace/customdhcpcd/src/signal.c b/workspace/customdhcpcd/src/signal.c deleted file mode 100644 index 9055c9f..0000000 --- a/workspace/customdhcpcd/src/signal.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "logger.h" -#include "signal.h" - -static int signal_pipe[2]; -static int signals[5]; - -static const int handle_sigs[] = { - SIGHUP, - SIGALRM, - SIGTERM, - SIGINT -}; - -static void signal_handler (int sig) -{ - unsigned int i = 0; - int serrno = errno; - - /* Add a signal to our stack */ - while (signals[i]) - i++; - if (i > sizeof (signals) / sizeof (signals[0])) - logger (LOG_ERR, "signal buffer overrun"); - else - signals[i] = sig; - - if (write (signal_pipe[1], &sig, sizeof (sig)) == -1) - logger (LOG_ERR, "Could not send signal: %s", strerror (errno)); - - /* Restore errno */ - errno = serrno; -} - -int signal_fd (void) -{ - return (signal_pipe[0]); -} - -/* Check if we have a signal or not */ -int signal_exists (const struct pollfd *fd) -{ - if (signals[0] || (fd && fd->revents & POLLIN)) - return (0); - return (-1); -} - -/* Read a signal from the signal pipe. Returns 0 if there is - * no signal, -1 on error (and sets errno appropriately), and - * your signal on success */ -int signal_read (struct pollfd *fd) -{ - int sig = -1; - - /* Pop a signal off the our stack */ - if (signals[0]) { - unsigned int i = 0; - sig = signals[0]; - while (i < (sizeof (signals) / sizeof (signals[0])) - 1) { - signals[i] = signals[i + 1]; - if (! signals[++i]) - break; - } - } - - if (fd && fd->revents & POLLIN) { - char buf[16]; - size_t bytes; - - memset (buf, 0, sizeof (buf)); - bytes = read (signal_pipe[0], buf, sizeof (buf)); - - if (bytes >= sizeof (sig)) - memcpy (&sig, buf, sizeof (sig)); - - /* We need to clear us from rset if nothing left in the buffer - * in case we are called many times */ - if (bytes == sizeof (sig)) - fd->revents = 0; - } - - return (sig); -} - -/* Call this before doing anything else. Sets up the socket pair - * and installs the signal handler */ -int signal_init (void) -{ - struct sigaction sa; - - if (pipe (signal_pipe) == -1) { - logger (LOG_ERR, "pipe: %s", strerror (errno)); - return (-1); - } - - /* Stop any scripts from inheriting us */ - close_on_exec (signal_pipe[0]); - close_on_exec (signal_pipe[1]); - - /* Ignore child signals and don't make zombies. - * Because we do this, we don't need to be in signal_setup */ - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = SIG_DFL; - sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT; - if (sigaction (SIGCHLD, &sa, NULL) == -1) { - logger (LOG_ERR, "sigaction: %s", strerror (errno)); - return (-1); - } - - memset (signals, 0, sizeof (signals)); - return (0); -} - -int signal_setup (void) -{ - unsigned int i; - struct sigaction sa; - - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = signal_handler; - sigemptyset (&sa.sa_mask); - - for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) - if (sigaction (handle_sigs[i], &sa, NULL) == -1) { - logger (LOG_ERR, "sigaction: %s", strerror (errno)); - return (-1); - } - - return (0); -} - -int signal_reset (void) -{ - struct sigaction sa; - unsigned int i; - - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = SIG_DFL; - sigemptyset (&sa.sa_mask); - - for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) - if (sigaction (handle_sigs[i], &sa, NULL) == -1) { - logger (LOG_ERR, "sigaction: %s", strerror (errno)); - return (-1); - } - - return (0); -} diff --git a/workspace/customdhcpcd/src/signal.h b/workspace/customdhcpcd/src/signal.h deleted file mode 100644 index 63a5906..0000000 --- a/workspace/customdhcpcd/src/signal.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef SIGNAL_H -#define SIGNAL_H - -#include - -int signal_init (void); -int signal_setup (void); -int signal_reset (void); -int signal_fd (void); -int signal_exists (const struct pollfd *fd); -int signal_read (struct pollfd *fd); - -#endif diff --git a/workspace/customdhcpcd/src/socket.c b/workspace/customdhcpcd/src/socket.c deleted file mode 100644 index 58ad6c5..0000000 --- a/workspace/customdhcpcd/src/socket.c +++ /dev/null @@ -1,647 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#define __FAVOR_BSD /* Nasty hack so we can use BSD semantics for UDP */ -#include -#undef __FAVOR_BSD -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BSD) || defined(__FreeBSD_kernel__) -# include -#elif __linux__ -# include -# include -# define bpf_insn sock_filter -#endif - -#include "config.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" - -/* A suitably large buffer for all transactions. - * BPF buffer size is set by the kernel, so no define. */ -#ifdef __linux__ -# define BUFFER_LENGTH 4096 -#endif - -/* Broadcast address for IPoIB */ -static const uint8_t ipv4_bcast_addr[] = { - 0x00, 0xff, 0xff, 0xff, - 0xff, 0x12, 0x40, 0x1b, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff -}; - -/* Credit where credit is due :) - * The below BPF filter is taken from ISC DHCP */ -static struct bpf_insn dhcp_bpf_filter [] = { - /* Make sure this is an IP packet... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_IP, 0, 8), - - /* Make sure it's a UDP packet... */ - BPF_STMT (BPF_LD + BPF_B + BPF_ABS, 23), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6), - - /* Make sure this isn't a fragment... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), - BPF_JUMP (BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0), - - /* Get the IP header length... */ - BPF_STMT (BPF_LDX + BPF_B + BPF_MSH, 14), - - /* Make sure it's to the right port... */ - BPF_STMT (BPF_LD + BPF_H + BPF_IND, 16), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, DHCP_CLIENT_PORT, 0, 1), - - /* If we passed all the tests, ask for the whole packet. */ - BPF_STMT (BPF_RET + BPF_K, ~0U), - - /* Otherwise, drop it. */ - BPF_STMT (BPF_RET + BPF_K, 0), -}; - -static struct bpf_insn arp_bpf_filter [] = { - /* Make sure this is an ARP packet... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_ARP, 0, 3), - - /* Make sure this is an ARP REPLY... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ARPOP_REPLY, 0, 1), - - /* If we passed all the tests, ask for the whole packet. */ - BPF_STMT (BPF_RET + BPF_K, ~0U), - - /* Otherwise, drop it. */ - BPF_STMT (BPF_RET + BPF_K, 0), -}; - -void setup_packet_filters (void) -{ -#ifdef __linux__ - /* We need to massage the filters for Linux cooked packets */ - dhcp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ - dhcp_bpf_filter[2].k -= ETH_HLEN; - dhcp_bpf_filter[4].k -= ETH_HLEN; - dhcp_bpf_filter[6].k -= ETH_HLEN; - dhcp_bpf_filter[7].k -= ETH_HLEN; - - arp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ - arp_bpf_filter[2].k -= ETH_HLEN; -#endif -} - -static uint16_t checksum (unsigned char *addr, uint16_t len) -{ - uint32_t sum = 0; - union - { - unsigned char *addr; - uint16_t *i; - } p; - uint16_t nleft = len; - - p.addr = addr; - while (nleft > 1) { - sum += *p.i++; - nleft -= 2; - } - - if (nleft == 1) { - uint8_t a = 0; - memcpy (&a, p.i, 1); - sum += ntohs (a) << 8; - } - - sum = (sum >> 16) + (sum & 0xffff); - sum += (sum >> 16); - - return ~sum; -} - -void make_dhcp_packet(struct udp_dhcp_packet *packet, - const unsigned char *data, size_t length, - struct in_addr source, struct in_addr dest) -{ - struct ip *ip = &packet->ip; - struct udphdr *udp = &packet->udp; - - /* OK, this is important :) - * We copy the data to our packet and then create a small part of the - * ip structure and an invalid ip_len (basically udp length). - * We then fill the udp structure and put the checksum - * of the whole packet into the udp checksum. - * Finally we complete the ip structure and ip checksum. - * If we don't do the ordering like so then the udp checksum will be - * broken, so find another way of doing it! */ - - memcpy (&packet->dhcp, data, length); - - ip->ip_p = IPPROTO_UDP; - ip->ip_src.s_addr = source.s_addr; - if (dest.s_addr == 0) - ip->ip_dst.s_addr = INADDR_BROADCAST; - else - ip->ip_dst.s_addr = dest.s_addr; - - udp->uh_sport = htons (DHCP_CLIENT_PORT); - udp->uh_dport = htons (DHCP_SERVER_PORT); - udp->uh_ulen = htons (sizeof (*udp) + length); - ip->ip_len = udp->uh_ulen; - udp->uh_sum = checksum ((unsigned char *) packet, sizeof (*packet)); - - ip->ip_v = IPVERSION; - ip->ip_hl = 5; - ip->ip_id = 0; - ip->ip_tos = IPTOS_LOWDELAY; - ip->ip_len = htons (sizeof (*ip) + sizeof (*udp) + length); - ip->ip_id = 0; - ip->ip_off = htons (IP_DF); /* Don't fragment */ - ip->ip_ttl = IPDEFTTL; - - ip->ip_sum = checksum ((unsigned char *) ip, sizeof (*ip)); -} - -static int valid_dhcp_packet (unsigned char *data) -{ - union - { - unsigned char *data; - struct udp_dhcp_packet *packet; - } d; - uint16_t bytes; - uint16_t ipsum; - uint16_t iplen; - uint16_t udpsum; - struct in_addr source; - struct in_addr dest; - int retval = 0; - - d.data = data; - bytes = ntohs (d.packet->ip.ip_len); - ipsum = d.packet->ip.ip_sum; - iplen = d.packet->ip.ip_len; - udpsum = d.packet->udp.uh_sum; - - d.data = data; - d.packet->ip.ip_sum = 0; - if (ipsum != checksum ((unsigned char *) &d.packet->ip, - sizeof (d.packet->ip))) - { - logger (LOG_DEBUG, "bad IP header checksum, ignoring"); - retval = -1; - goto eexit; - } - - memcpy (&source, &d.packet->ip.ip_src, sizeof (d.packet->ip.ip_src)); - memcpy (&dest, &d.packet->ip.ip_dst, sizeof (d.packet->ip.ip_dst)); - memset (&d.packet->ip, 0, sizeof (d.packet->ip)); - d.packet->udp.uh_sum = 0; - - d.packet->ip.ip_p = IPPROTO_UDP; - memcpy (&d.packet->ip.ip_src, &source, sizeof (d.packet->ip.ip_src)); - memcpy (&d.packet->ip.ip_dst, &dest, sizeof (d.packet->ip.ip_dst)); - d.packet->ip.ip_len = d.packet->udp.uh_ulen; - if (udpsum && udpsum != checksum (d.data, bytes)) { - logger (LOG_ERR, "bad UDP checksum, ignoring"); - retval = -1; - } - -eexit: - d.packet->ip.ip_sum = ipsum; - d.packet->ip.ip_len = iplen; - d.packet->udp.uh_sum = udpsum; - - return retval; -} - -#if defined(BSD) || defined(__FreeBSD_kernel__) -int open_socket (interface_t *iface, int protocol) -{ - int n = 0; - int fd = -1; - char *device; - int flags; - struct ifreq ifr; - int buf = 0; - struct bpf_program pf; - - device = xmalloc (sizeof (char) * PATH_MAX); - do { - snprintf (device, PATH_MAX, "/dev/bpf%d", n++); - fd = open (device, O_RDWR); - } while (fd == -1 && errno == EBUSY); - free (device); - - if (fd == -1) { - logger (LOG_ERR, "unable to open a BPF device"); - return -1; - } - - close_on_exec (fd); - - memset (&ifr, 0, sizeof (ifr)); - strlcpy (ifr.ifr_name, iface->name, sizeof (ifr.ifr_name)); - if (ioctl (fd, BIOCSETIF, &ifr) == -1) { - logger (LOG_ERR, - "cannot attach interface `%s' to bpf device `%s': %s", - iface->name, device, strerror (errno)); - close (fd); - return -1; - } - - /* Get the required BPF buffer length from the kernel. */ - if (ioctl (fd, BIOCGBLEN, &buf) == -1) { - logger (LOG_ERR, "ioctl BIOCGBLEN: %s", strerror (errno)); - close (fd); - return -1; - } - iface->buffer_length = buf; - - flags = 1; - if (ioctl (fd, BIOCIMMEDIATE, &flags) == -1) { - logger (LOG_ERR, "ioctl BIOCIMMEDIATE: %s", strerror (errno)); - close (fd); - return -1; - } - - /* Install the DHCP filter */ - if (protocol == ETHERTYPE_ARP) { - pf.bf_insns = arp_bpf_filter; - pf.bf_len = sizeof (arp_bpf_filter) - / sizeof (arp_bpf_filter[0]); - } else { - pf.bf_insns = dhcp_bpf_filter; - pf.bf_len = sizeof (dhcp_bpf_filter) - / sizeof (dhcp_bpf_filter[0]); - } - if (ioctl (fd, BIOCSETF, &pf) == -1) { - logger (LOG_ERR, "ioctl BIOCSETF: %s", strerror (errno)); - close (fd); - return -1; - } - - if (iface->fd > -1) - close (iface->fd); - iface->fd = fd; - - return fd; -} - -ssize_t send_packet (const interface_t *iface, int type, - const unsigned char *data, size_t len) -{ - ssize_t retval = -1; - struct iovec iov[2]; - - if (iface->family == ARPHRD_ETHER) { - struct ether_header hw; - memset (&hw, 0, sizeof (hw)); - memset (&hw.ether_dhost, 0xff, ETHER_ADDR_LEN); - hw.ether_type = htons (type); - - iov[0].iov_base = &hw; - iov[0].iov_len = sizeof (hw); - } else { - logger (LOG_ERR, "unsupported interace type %d", iface->family); - return -1; - } - iov[1].iov_base = (unsigned char *) data; - iov[1].iov_len = len; - - if ((retval = writev(iface->fd, iov, 2)) == -1) - logger (LOG_ERR, "writev: %s", strerror (errno)); - - return retval; -} - -/* BPF requires that we read the entire buffer. - * So we pass the buffer in the API so we can loop on >1 dhcp packet. */ -ssize_t get_packet (const interface_t *iface, unsigned char *data, - unsigned char *buffer, - size_t *buffer_len, size_t *buffer_pos) -{ - union - { - unsigned char *buffer; - struct bpf_hdr *packet; - } bpf; - - bpf.buffer = buffer; - - if (*buffer_pos < 1) { - memset (bpf.buffer, 0, iface->buffer_length); - *buffer_len = read (iface->fd, bpf.buffer, iface->buffer_length); - *buffer_pos = 0; - if (*buffer_len < 1) { - struct timespec ts; - logger (LOG_ERR, "read: %s", strerror (errno)); - ts.tv_sec = 3; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); - return (-1); - } - } else - bpf.buffer += *buffer_pos; - - while (bpf.packet) { - size_t len = 0; - union - { - unsigned char *buffer; - struct ether_header *hw; - } hdr; - unsigned char *payload; - bool have_data = false; - - /* Ensure that the entire packet is in our buffer */ - if (*buffer_pos + bpf.packet->bh_hdrlen + bpf.packet->bh_caplen - > (unsigned) *buffer_len) - break; - - hdr.buffer = bpf.buffer + bpf.packet->bh_hdrlen; - payload = hdr.buffer + sizeof (*hdr.hw); - - /* If it's an ARP reply, then just send it back */ - if (hdr.hw->ether_type == htons (ETHERTYPE_ARP)) { - len = bpf.packet->bh_caplen - - sizeof (*hdr.hw); - memcpy (data, payload, len); - have_data = true; - } else { - if (valid_dhcp_packet (payload) >= 0) { - union - { - unsigned char *buffer; - struct udp_dhcp_packet *packet; - } pay; - pay.buffer = payload; - len = ntohs (pay.packet->ip.ip_len) - - sizeof (pay.packet->ip) - - sizeof (pay.packet->udp); - memcpy (data, &pay.packet->dhcp, len); - have_data = true; - } - } - - /* Update the buffer_pos pointer */ - bpf.buffer += BPF_WORDALIGN (bpf.packet->bh_hdrlen + - bpf.packet->bh_caplen); - if ((unsigned) (bpf.buffer - buffer) < *buffer_len) - *buffer_pos = bpf.buffer - buffer; - else - *buffer_pos = 0; - - if (have_data) - return len; - - if (*buffer_pos == 0) - break; - } - - /* No valid packets left, so return */ - *buffer_pos = 0; - return -1; -} - -#elif __linux__ - -int open_socket (interface_t *iface, int protocol) -{ - int fd; - union sockunion { - struct sockaddr sa; - struct sockaddr_in sin; - struct sockaddr_ll sll; - struct sockaddr_storage ss; - } su; - struct sock_fprog pf; - struct ifreq ifr; - int n = 1; - - /* We need to bind to a port, otherwise Linux generate ICMP messages - * that cannot contect the port when we have an address. - * We don't actually use this fd at all, instead using our packet - * filter socket. */ - if (iface->listen_fd == -1 && protocol == ETHERTYPE_IP) { - if ((fd = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - } else { - memset (&su, 0, sizeof (su)); - su.sin.sin_family = AF_INET; - su.sin.sin_port = htons (DHCP_CLIENT_PORT); - if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, - &n, sizeof (n)) == -1) - logger (LOG_ERR, "SO_REUSEADDR: %s", - strerror (errno)); - if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, - &n, sizeof (n)) == -1) - logger (LOG_ERR, "SO_RCVBUF: %s", - strerror (errno)); - memset (&ifr, 0, sizeof (ifr)); - strncpy (ifr.ifr_name, iface->name, - sizeof (ifr.ifr_name)); - if (setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, - &ifr, sizeof (ifr)) == -1) - logger (LOG_ERR, "SO_SOBINDTODEVICE: %s", - strerror (errno)); - if (bind (fd, &su.sa, sizeof (su)) == -1) { - logger (LOG_ERR, "bind: %s", strerror (errno)); - close (fd); - } else { - iface->listen_fd = fd; - close_on_exec (fd); - } - } - } - - if ((fd = socket (PF_PACKET, SOCK_DGRAM, htons (protocol))) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return (-1); - } - close_on_exec (fd); - - memset (&su, 0, sizeof (su)); - su.sll.sll_family = PF_PACKET; - su.sll.sll_protocol = htons (protocol); - if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { - logger (LOG_ERR, - "if_nametoindex: no index for interface `%s'", - iface->name); - close (fd); - return (-1); - } - - /* Install the DHCP filter */ - memset (&pf, 0, sizeof (pf)); - if (protocol == ETHERTYPE_ARP) { - pf.filter = arp_bpf_filter; - pf.len = sizeof (arp_bpf_filter) / sizeof (arp_bpf_filter[0]); - } else { - pf.filter = dhcp_bpf_filter; - pf.len = sizeof (dhcp_bpf_filter) / sizeof (dhcp_bpf_filter[0]); - } - if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, - &pf, sizeof (pf)) != 0) - { - logger (LOG_ERR, "SO_ATTACH_FILTER: %s", strerror (errno)); - close (fd); - return (-1); - } - - if (bind (fd, &su.sa, sizeof (su)) == -1) { - logger (LOG_ERR, "bind: %s", strerror (errno)); - close (fd); - return (-1); - } - - if (iface->fd > -1) - close (iface->fd); - iface->fd = fd; - iface->socket_protocol = protocol; - iface->buffer_length = BUFFER_LENGTH; - - return (fd); -} - -ssize_t send_packet (const interface_t *iface, int type, - const unsigned char *data, size_t len) -{ - union sockunion { - struct sockaddr sa; - struct sockaddr_ll sll; - struct sockaddr_storage ss; - } su; - ssize_t retval; - - if (! iface) - return (-1); - - memset (&su, 0, sizeof (su)); - su.sll.sll_family = AF_PACKET; - su.sll.sll_protocol = htons (type); - - if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { - logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", - iface->name); - return (-1); - } - - su.sll.sll_hatype = htons (iface->family); - su.sll.sll_halen = iface->hwlen; - if (iface->family == ARPHRD_INFINIBAND) - memcpy (&su.sll.sll_addr, - &ipv4_bcast_addr, sizeof (ipv4_bcast_addr)); - else - memset (&su.sll.sll_addr, 0xff, iface->hwlen); - - if ((retval = sendto (iface->fd, data, len, 0, &su.sa, - sizeof (su))) == -1) - - logger (LOG_ERR, "sendto: %s", strerror (errno)); - return (retval); -} - -/* Linux has no need for the buffer as we can read as much as we want. - * We only have the buffer listed to keep the same API. */ -ssize_t get_packet (const interface_t *iface, unsigned char *data, - unsigned char *buffer, - size_t *buffer_len, size_t *buffer_pos) -{ - ssize_t bytes; - union - { - unsigned char *buffer; - struct udp_dhcp_packet *packet; - } pay; - - /* We don't use the given buffer, but we need to rewind the position */ - *buffer_pos = 0; - - memset (buffer, 0, iface->buffer_length); - bytes = read (iface->fd, buffer, iface->buffer_length); - - if (bytes == -1) { - struct timespec ts; - logger (LOG_ERR, "read: %s", strerror (errno)); - ts.tv_sec = 3; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); - return (-1); - } - - *buffer_len = bytes; - /* If it's an ARP reply, then just send it back */ - if (iface->socket_protocol == ETHERTYPE_ARP) { - memcpy (data, buffer, bytes); - return (bytes); - } - - if ((unsigned) bytes < (sizeof (pay.packet->ip) + - sizeof (pay.packet->udp))) - { - logger (LOG_DEBUG, "message too short, ignoring"); - return (-1); - } - - pay.buffer = buffer; - if (bytes < ntohs (pay.packet->ip.ip_len)) { - logger (LOG_DEBUG, "truncated packet, ignoring"); - return (-1); - } - - if (valid_dhcp_packet (buffer) == -1) - return (-1); - - bytes = ntohs (pay.packet->ip.ip_len) - - (sizeof (pay.packet->ip) + sizeof (pay.packet->udp)); - memcpy (data, &pay.packet->dhcp, bytes); - return (bytes); -} - -#else - #error "Platform not supported!" - #error "We currently support BPF and Linux sockets." - #error "Other platforms may work using BPF. If yours does, please let me know" - #error "so I can add it to our list." -#endif diff --git a/workspace/customdhcpcd/src/socket.h b/workspace/customdhcpcd/src/socket.h deleted file mode 100644 index bdf26d0..0000000 --- a/workspace/customdhcpcd/src/socket.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef SOCKET_H -#define SOCKET_H - -#include - -#include "dhcp.h" -#include "interface.h" - -void setup_packet_filters (void); -void make_dhcp_packet(struct udp_dhcp_packet *packet, - const unsigned char *data, size_t length, - struct in_addr source, struct in_addr dest); - -int open_socket (interface_t *iface, int protocol); -ssize_t send_packet (const interface_t *iface, int type, - const unsigned char *data, size_t len); -ssize_t get_packet (const interface_t *iface, unsigned char *data, - unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos); -#endif diff --git a/workspace/customdhcpcd/src/status.h b/workspace/customdhcpcd/src/status.h deleted file mode 100644 index 0a1dc8a..0000000 --- a/workspace/customdhcpcd/src/status.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * status.h - * - * Created on: Jul 11, 2011 - * Author: niklas - */ - -#ifndef STATUS_H_ -#define STATUS_H_ - -#define DHCPCD_EXIT 9 -#define DHCPCD_ARP_TEST 10 -#define DHCPCD_CONFIGURE 11 -#define DHCPCD_WRITE 12 -#define DHCPCD_LOG 13 - - - -#endif /* STATUS_H_ */ diff --git a/workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs b/workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index 0dba4ef..0000000 --- a/workspace/networkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Fri Jun 24 11:22:33 CEST 2011 -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/workspace/networkDiscovery/dhcpcd/.gitignore b/workspace/networkDiscovery/dhcpcd/.gitignore deleted file mode 100644 index 6eb1591..0000000 --- a/workspace/networkDiscovery/dhcpcd/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -*.o -version.h -dhcpcd -dhcpcd.8 -dhcpcd-*.bz2 diff --git a/workspace/networkDiscovery/dhcpcd/README b/workspace/networkDiscovery/dhcpcd/README deleted file mode 100644 index 9089ec6..0000000 --- a/workspace/networkDiscovery/dhcpcd/README +++ /dev/null @@ -1,45 +0,0 @@ -dhcpcd-3 - DHCP client daemon -Copyright 2006-2008 Roy Marples - - -Installation ------------- -Edit config.h to match your building requirements. - -Take special note of ENABLE_DUID and unset it if the target media is -volatile, like say a LiveCD. - -Then just make; make install - -man dhcpcd for command line options - - -Notes ------ -If you're cross compiling you may need to send HAVE_FORK=yes or HAVE_FORK=no -to the make command to avoid to automatic test. - -We try and detect how to restart ntp and ypbind, you can override this with -HAVE_INIT=no or force one of these values -OPENRC (OpenRC as used by Gentoo (forked from baselayout)) -BSDRC (BSD RC system - /etc/rc.d/ntpd restart ) -SERVICE (RedHat service command - service ntpd restart) -SLACKRC (Slackware RC system - /etc/rc.d/rc.ntpd restart) -SYSV (SYSV style - /etc/init.d/ntpd restart) - -You can change the default dir where dhcpcd stores it's .info files with -INFODIR=/var/db - -We now default to using -std=c99. For 64-bit linux, this always works, but -for 32-bit linux it requires either gnu99 or a patch to asm/types.h. -Most distros patch linux headers so this should work fine. -linux-2.6.24 finally ships with a working 32-bit header. -If your linux headers are older, or your distro hasn't patched them you can -set CSTD=gnu99 to work around this. - - -ChangeLog ---------- -We no longer supply a ChangeLog. -However, you're more than welcome to read the git commit comments at -http://git.marples.name/?p=dhcpcd/.git;a=summary diff --git a/workspace/networkDiscovery/dhcpcd/arp.c b/workspace/networkDiscovery/dhcpcd/arp.c deleted file mode 100644 index 794850c..0000000 --- a/workspace/networkDiscovery/dhcpcd/arp.c +++ /dev/null @@ -1,284 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#ifdef __linux__ -#include -#include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "arp.h" -#include "interface.h" -#include "logger.h" -#include "signal.h" -#include "socket.h" - -/* These are really for IPV4LL */ -#define NPROBES 3 -#define PROBE_INTERVAL 200 -#define NCLAIMS 2 -#define CLAIM_INTERVAL 200 - -/* Linux does not seem to define these handy macros */ -#ifndef ar_sha -#define ar_sha(ap) (((caddr_t) ((ap) + 1)) + 0) -#define ar_spa(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln) -#define ar_tha(ap) (((caddr_t) ((ap) + 1)) + (ap)->ar_hln + (ap)->ar_pln) -#define ar_tpa(ap) (((caddr_t) ((ap) + 1)) + 2 * (ap)->ar_hln + (ap)->ar_pln) -#endif - -#ifndef arphdr_len -#define arphdr_len2(ar_hln, ar_pln) (sizeof (struct arphdr) + \ - 2 * (ar_hln) + 2 * (ar_pln)) -#define arphdr_len(ap) (arphdr_len2 ((ap)->ar_hln, (ap)->ar_pln)) -#endif - -#ifdef ENABLE_ARP - -static int send_arp (const interface_t *iface, int op, struct in_addr sip, - const unsigned char *taddr, struct in_addr tip) -{ - struct arphdr *arp; - size_t arpsize = arphdr_len2 (iface->hwlen, sizeof (sip)); - caddr_t tha; - int retval; - - arp = xzalloc (arpsize); - arp->ar_hrd = htons (iface->family); - arp->ar_pro = htons (ETHERTYPE_IP); - arp->ar_hln = iface->hwlen; - arp->ar_pln = sizeof (sip); - arp->ar_op = htons (op); - memcpy (ar_sha (arp), iface->hwaddr, (size_t) arp->ar_hln); - memcpy (ar_spa (arp), &sip, (size_t) arp->ar_pln); - if (taddr) { - /* NetBSD can return NULL from ar_tha, which is probably wrong - * but we still need to deal with it */ - if (! (tha = ar_tha (arp))) { - free (arp); - errno = EINVAL; - return (-1); - } - memcpy (tha, taddr, (size_t) arp->ar_hln); - } - memcpy (ar_tpa (arp), &tip, (size_t) arp->ar_pln); - - retval = send_packet (iface, ETHERTYPE_ARP, - (unsigned char *) arp, arphdr_len (arp)); - free (arp); - return (retval); -} - -int arp_claim (interface_t *iface, struct in_addr address) -{ - struct arphdr *reply = NULL; - long timeout = 0; - unsigned char *buffer; - int retval = -1; - int nprobes = 0; - int nclaims = 0; - struct in_addr null_address; - struct pollfd fds[] = { - { -1, POLLIN, 0 }, - { -1, POLLIN, 0 } - }; - - if (! iface) - return (-1); - - if (! iface->arpable) { - logger (LOG_DEBUG, "interface `%s' is not ARPable", iface->name); - return (0); - } - - if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && - ! IN_LINKLOCAL (ntohl (address.s_addr))) - logger (LOG_INFO, - "checking %s is available on attached networks", - inet_ntoa (address)); - - if (! open_socket (iface, ETHERTYPE_ARP)) - return (-1); - - fds[0].fd = signal_fd (); - fds[1].fd = iface->fd; - - memset (&null_address, 0, sizeof (null_address)); - - buffer = xmalloc (iface->buffer_length); - reply = xmalloc (iface->buffer_length); - - for (;;) { - size_t bufpos = 0; - size_t buflen = iface->buffer_length; - int bytes; - int s = 0; - struct timeval stopat; - struct timeval now; - - /* Only poll if we have a timeout */ - if (timeout > 0) { - s = poll (fds, 2, timeout); - if (s == -1) { - if (errno == EINTR) { - if (signal_exists (NULL) == -1) { - errno = 0; - continue; - } else - break; - } - - logger (LOG_ERR, "poll: `%s'", - strerror (errno)); - break; - } - } - - /* Timed out */ - if (s == 0) { - if (nprobes < NPROBES) { - nprobes ++; - timeout = PROBE_INTERVAL; - logger (LOG_DEBUG, "sending ARP probe #%d", - nprobes); - if (send_arp (iface, ARPOP_REQUEST, - null_address, NULL, - address) == -1) - break; - - /* IEEE1394 cannot set ARP target address - * according to RFC2734 */ - if (nprobes >= NPROBES && - iface->family == ARPHRD_IEEE1394) - nclaims = NCLAIMS; - } else if (nclaims < NCLAIMS) { - nclaims ++; - timeout = CLAIM_INTERVAL; - logger (LOG_DEBUG, "sending ARP claim #%d", - nclaims); - if (send_arp (iface, ARPOP_REQUEST, - address, iface->hwaddr, - address) == -1) - break; - } else { - /* No replies, so done */ - retval = 0; - break; - } - - /* Setup our stop time */ - if (get_time (&stopat) != 0) - break; - stopat.tv_usec += timeout; - - continue; - } - - /* We maybe ARP flooded, so check our time */ - if (get_time (&now) != 0) - break; - if (timercmp (&now, &stopat, >)) { - timeout = 0; - continue; - } - - if (! fds[1].revents & POLLIN) - continue; - - memset (buffer, 0, buflen); - do { - union { - unsigned char *c; - struct in_addr *a; - } rp; - union { - unsigned char *c; - struct ether_addr *a; - } rh; - - memset (reply, 0, iface->buffer_length); - if ((bytes = get_packet (iface, (unsigned char *) reply, - buffer, - &buflen, &bufpos)) == -1) - break; - - /* Only these types are recognised */ - if (reply->ar_op != htons (ARPOP_REPLY)) - continue; - - /* Protocol must be IP. */ - if (reply->ar_pro != htons (ETHERTYPE_IP)) - continue; - if (reply->ar_pln != sizeof (address)) - continue; - if ((unsigned) bytes < sizeof (reply) + - 2 * (4 + reply->ar_hln)) - continue; - - rp.c = (unsigned char *) ar_spa (reply); - rh.c = (unsigned char *) ar_sha (reply); - - /* Ensure the ARP reply is for the our address */ - if (rp.a->s_addr != address.s_addr) - continue; - - /* Some systems send a reply back from our hwaddress, - * which is wierd */ - if (reply->ar_hln == iface->hwlen && - memcmp (rh.c, iface->hwaddr, iface->hwlen) == 0) - continue; - - logger (LOG_ERR, "ARPOP_REPLY received from %s (%s)", - inet_ntoa (*rp.a), - hwaddr_ntoa (rh.c, (size_t) reply->ar_hln)); - retval = -1; - goto eexit; - } while (bufpos != 0); - } - -eexit: - close (iface->fd); - iface->fd = -1; - free (buffer); - free (reply); - return (retval); -} -#endif diff --git a/workspace/networkDiscovery/dhcpcd/arp.h b/workspace/networkDiscovery/dhcpcd/arp.h deleted file mode 100644 index 3b7e8ef..0000000 --- a/workspace/networkDiscovery/dhcpcd/arp.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef ARP_H -#define ARP_H - -#ifdef ENABLE_ARP -#include - -#include "interface.h" - -int arp_claim (interface_t *iface, struct in_addr address); -#endif - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/client.c b/workspace/networkDiscovery/dhcpcd/client.c deleted file mode 100644 index 8ce2721..0000000 --- a/workspace/networkDiscovery/dhcpcd/client.c +++ /dev/null @@ -1,1136 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#ifdef __linux__ -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#ifdef ENABLE_ARP -# include "arp.h" -#endif -#include "client.h" -#include "configure.h" -#include "dhcp.h" -#include "dhcpcd.h" -#include "info.h" -#include "interface.h" -#ifdef ENABLE_IPV4LL -# include "ipv4ll.h" -#endif -#include "logger.h" -#include "signal.h" -#include "socket.h" - -#ifdef ENABLE_DUID -# include "duid.h" -#endif - -#ifdef ENABLE_INFO -# include "info.h" -#endif - -#ifdef THERE_IS_NO_FORK -# ifndef ENABLE_INFO - # error "Non MMU requires ENABLE_INFO to work" -# endif -#endif - -/* Some platforms don't define INFTIM */ -#ifndef INFTIM -# define INFTIM -1 -#endif - -/* This is out mini timeout. - * Basically we resend the last request every TIMEOUT_MINI seconds. */ -#define TIMEOUT_MINI 3 -/* Except for an infinite timeout. We keep adding TIMEOUT_MINI to - * ourself until TIMEOUT_MINI_INF is reached. */ -#define TIMEOUT_MINI_INF 60 - -#define STATE_INIT 0 -#define STATE_REQUESTING 1 -#define STATE_BOUND 2 -#define STATE_RENEWING 3 -#define STATE_REBINDING 4 -#define STATE_REBOOT 5 -#define STATE_RENEW_REQUESTED 6 -#define STATE_RELEASED 7 - -/* We should define a maximum for the NAK exponential backoff */ -#define NAKOFF_MAX 60 - -#define SOCKET_CLOSED 0 -#define SOCKET_OPEN 1 - -/* Indexes for pollfds */ -#define POLLFD_SIGNAL 0 -#define POLLFD_IFACE 1 - -typedef struct _state { - int *pidfd; - bool forked; - int state; - uint32_t xid; - dhcp_t *dhcp; - int socket; - interface_t *interface; - time_t start; - time_t last_sent; - time_t last_type; - long timeout; - time_t nakoff; - bool daemonised; - bool persistent; - unsigned char *buffer; - size_t buffer_len; - size_t buffer_pos; -} state_t; - -static pid_t daemonise (int *pidfd) -{ - pid_t pid; - sigset_t full; - sigset_t old; -#ifdef THERE_IS_NO_FORK - char **argv; - int i; -#endif - - sigfillset (&full); - sigprocmask (SIG_SETMASK, &full, &old); - -#ifndef THERE_IS_NO_FORK - logger (LOG_DEBUG, "forking to background"); - switch (pid = fork()) { - case -1: - logger (LOG_ERR, "fork: %s", strerror (errno)); - exit (EXIT_FAILURE); - /* NOT REACHED */ - case 0: - setsid (); - close_fds (); - break; - default: - /* Reset our signals as we're the parent about to exit. */ - signal_reset (); - break; - } -#else - logger (LOG_INFO, "forking to background"); - - /* We need to add --daemonise to our options */ - argv = xmalloc (sizeof (char *) * (dhcpcd_argc + 4)); - argv[0] = dhcpcd; - for (i = 1; i < dhcpcd_argc; i++) - argv[i] = dhcpcd_argv[i]; - argv[i] = (char *) "--daemonised"; - if (dhcpcd_skiproutes) { - argv[++i] = (char *) "--skiproutes"; - argv[++i] = dhcpcd_skiproutes; - } - argv[i + 1] = NULL; - - switch (pid = vfork ()) { - case -1: - logger (LOG_ERR, "vfork: %s", strerror (errno)); - _exit (EXIT_FAILURE); - case 0: - signal_reset (); - sigprocmask (SIG_SETMASK, &old, NULL); - execvp (dhcpcd, argv); - logger (LOG_ERR, "execl `%s': %s", dhcpcd, - strerror (errno)); - _exit (EXIT_FAILURE); - } - - free (argv); -#endif - - /* Done with the fd now */ - if (pid != 0) { - writepid (*pidfd, pid); - close (*pidfd); - *pidfd = -1; - - } - - sigprocmask (SIG_SETMASK, &old, NULL); - return (pid); -} - -#ifdef ENABLE_INFO -static bool get_old_lease (state_t *state, const options_t *options) -{ - interface_t *iface = state->interface; - dhcp_t *dhcp = state->dhcp; - struct timeval tv; - unsigned int offset = 0; - - if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - logger (LOG_INFO, "trying to use old lease in `%s'", - iface->infofile); - if (! read_info (iface, dhcp)) - return (false); - - /* Vitaly important we remove the server information here */ - memset (&dhcp->serveraddress, 0, sizeof (dhcp->serveraddress)); - memset (dhcp->servername, 0, sizeof (dhcp->servername)); - -#ifdef ENABLE_ARP - /* Check that no-one is using the address */ - if ((options->dolastlease || - (IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && - (! options->doipv4ll || - arp_claim (iface, dhcp->address))))) - { - memset (&dhcp->address, 0, sizeof (dhcp->address)); - memset (&dhcp->netmask, 0, sizeof (dhcp->netmask)); - memset (&dhcp->broadcast, 0, sizeof (dhcp->broadcast)); - return (false); - } - - /* Ok, lets use this */ - if (IN_LINKLOCAL (dhcp->address.s_addr)) - return (true); -#endif - - /* Ensure that we can still use the lease */ - if (gettimeofday (&tv, NULL) == -1) { - logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); - return (false); - } - - offset = tv.tv_sec - dhcp->leasedfrom; - if (dhcp->leasedfrom && - tv.tv_sec - dhcp->leasedfrom > dhcp->leasetime) - { - logger (LOG_ERR, "lease expired %u seconds ago", - offset + dhcp->leasetime); - return (false); - } - - if (dhcp->leasedfrom == 0) - offset = 0; - state->timeout = dhcp->renewaltime - offset; - iface->start_uptime = uptime (); - return (true); -} -#endif - -#ifdef THERE_IS_NO_FORK -static void remove_skiproutes (dhcp_t *dhcp, interface_t *iface) -{ - int i = -1; - route_t *route; - route_t *newroute; - - free_route (iface->previous_routes); - iface->previous_routes = NULL; - - NSTAILQ_FOREACH (route, dhcp->routes, entries) { - i++; - - /* Check that we did add this route or not */ - if (dhcpcd_skiproutes) { - char *sk = xstrdup (dhcpcd_skiproutes); - char *skp = sk; - char *token; - bool found = false; - - while ((token = strsep (&skp, ","))) { - if (isdigit (*token) && atoi (token) == i) { - found = true; - break; - } - } - free (sk); - if (found) - continue; - } - - if (! iface->previous_routes) { - iface->previous_routes = xmalloc (sizeof (*iface->previous_routes)); - STAILQ_INIT (iface->previous_routes); - } - - newroute = xmalloc (sizeof (*newroute)); - memcpy (newroute, route, sizeof (*newroute)); - STAILQ_INSERT_TAIL (iface->previous_routes, newroute, entries); - } - - /* We no longer need this argument */ - free (dhcpcd_skiproutes); - dhcpcd_skiproutes = NULL; -} -#endif - -static bool client_setup (state_t *state, const options_t *options) -{ - dhcp_t *dhcp = state->dhcp; - interface_t *iface = state->interface; - - state->state = STATE_INIT; - state->last_type = DHCP_DISCOVER; - state->nakoff = 1; - state->daemonised = options->daemonised; - state->persistent = options->persistent; - - if (options->request_address.s_addr == 0 && - (options->doinform || options->dorequest || options->daemonised)) - { -#ifdef ENABLE_INFO - if (! get_old_lease (state, options)) -#endif - { - free (dhcp); - return (false); - } - state->timeout = 0; - - if (! options->daemonised && - IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) - { - logger (LOG_ERR, "cannot request a link local address"); - return (false); - } -#ifdef THERE_IS_NO_FORK - if (options->daemonised) { - state->state = STATE_BOUND; - state->timeout = dhcp->renewaltime; - iface->previous_address = dhcp->address; - iface->previous_netmask = dhcp->netmask; - remove_skiproutes (dhcp, iface); - } -#endif - - } else { - dhcp->address = options->request_address; - dhcp->netmask = options->request_netmask; - if (dhcp->netmask.s_addr == 0) - dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); - dhcp->broadcast.s_addr = dhcp->address.s_addr | - ~dhcp->netmask.s_addr; - } - - /* Remove all existing addresses. - * After all, we ARE a DHCP client whose job it is to configure the - * interface. We only do this on start, so persistent addresses - * can be added afterwards by the user if needed. */ - if (! options->test && ! options->daemonised) { - if (! options->doinform) { - flush_addresses (iface->name); - } else { - /* The inform address HAS to be configured for it to - * work with most DHCP servers */ - if (options->doinform && - has_address (iface->name, dhcp->address) < 1) - { - add_address (iface->name, dhcp->address, - dhcp->netmask, dhcp->broadcast); - iface->previous_address = dhcp->address; - iface->previous_netmask = dhcp->netmask; - } - } - } - - if (*options->clientid) { - /* Attempt to see if the ClientID is a hardware address */ - iface->clientid_len = hwaddr_aton (NULL, options->clientid); - if (iface->clientid_len) { - iface->clientid = xmalloc (iface->clientid_len); - hwaddr_aton (iface->clientid, options->clientid); - } else { - /* Nope, so mark it as-is */ - iface->clientid_len = strlen (options->clientid) + 1; - iface->clientid = xmalloc (iface->clientid_len); - *iface->clientid = '\0'; - memcpy (iface->clientid + 1, - options->clientid, iface->clientid_len - 1); - } - } else { -#ifdef ENABLE_DUID - unsigned char *duid = NULL; - size_t duid_len = 0; - - if (options->doduid) { - duid = xmalloc (DUID_LEN); - duid_len = get_duid (duid, iface); - } - - if (duid_len > 0) { - logger (LOG_INFO, "DUID = %s", hwaddr_ntoa (duid, duid_len)); - - iface->clientid_len = duid_len + 5; - iface->clientid = xmalloc (iface->clientid_len); - *iface->clientid = 255; /* RFC 4361 */ - - /* IAID is 4 bytes, so if the iface name is 4 bytes use it */ - if (strlen (iface->name) == 4) { - memcpy (iface->clientid + 1, iface->name, 4); - } else { - /* Name isn't 4 bytes, so use the index */ - uint32_t ul = htonl (if_nametoindex (iface->name)); - memcpy (iface->clientid + 1, &ul, 4); - } - - memcpy (iface->clientid + 5, duid, duid_len); - free (duid); - } else { -#else - { -#endif - iface->clientid_len = iface->hwlen + 1; - iface->clientid = xmalloc (iface->clientid_len); - *iface->clientid = iface->family; - memcpy (iface->clientid + 1, iface->hwaddr, iface->hwlen); - } - } - - return (true); -} - -static bool do_socket (state_t *state, int mode) -{ - if (state->interface->fd >= 0) - close (state->interface->fd); -#ifdef __linux - if (mode == SOCKET_CLOSED && state->interface->listen_fd >= 0) { - close (state->interface->listen_fd); - state->interface->listen_fd = -1; - } -#endif - - state->interface->fd = -1; - if (mode == SOCKET_OPEN) - if (open_socket (state->interface, ETHERTYPE_IP) == -1) - return (false); - state->socket = mode; - return (true); -} - -static bool _send_message (state_t *state, int type, const options_t *options) -{ - ssize_t retval; - - state->last_type = type; - state->last_sent = uptime (); - retval = send_message (state->interface, state->dhcp, state->xid, - type, options); - return (retval == -1 ? false : true); -} - -static void drop_config (state_t *state, const options_t *options) -{ - if (! state->persistent) - configure (options, state->interface, state->dhcp, false); - - free_dhcp (state->dhcp); - memset (state->dhcp, 0, sizeof (*state->dhcp)); -} - -static int wait_for_packet (struct pollfd *fds, state_t *state, - const options_t *options) -{ - dhcp_t *dhcp = state->dhcp; - interface_t *iface = state->interface; - int timeout = 0; - int retval = 0; - - if (! (state->timeout > 0 || - (options->timeout == 0 && - (state->state != STATE_INIT || state->xid)))) { - /* We need to zero our signal fd, otherwise we will block - * trying to read a signal. */ - fds[POLLFD_SIGNAL].revents = 0; - return (0); - } - - fds[POLLFD_IFACE].fd = iface->fd; - - if ((options->timeout == 0 && state->xid) || - (dhcp->leasetime == (unsigned) -1 && - state->state == STATE_BOUND)) - { - logger (LOG_DEBUG, "waiting for infinity"); - while (retval == 0) { - if (iface->fd == -1) - retval = poll (fds, 1, INFTIM); - else { - /* Slow down our requests */ - if (timeout < TIMEOUT_MINI_INF) - timeout += TIMEOUT_MINI; - else if (timeout > TIMEOUT_MINI_INF) - timeout = TIMEOUT_MINI_INF; - - retval = poll (fds, 2, timeout * 1000); - if (retval == -1 && errno == EINTR) { - /* If interupted, continue as normal as - * the signal will be delivered down - * the pipe */ - retval = 0; - continue; - } - if (retval == 0) - _send_message (state, state->last_type, - options); - } - } - - return (retval); - } - - /* Resend our message if we're getting loads of packets. - * As we use BPF or LPF, we shouldn't hit this as much, but it's - * still nice to have. */ - if (iface->fd > -1 && uptime () - state->last_sent >= TIMEOUT_MINI) - _send_message (state, state->last_type, options); - - logger (LOG_DEBUG, "waiting for %ld seconds", - (unsigned long) state->timeout); - /* If we're waiting for a reply, then we re-send the last - * DHCP request periodically in-case of a bad line */ - retval = 0; - while (state->timeout > 0 && retval == 0) { - if (iface->fd == -1) - timeout = (int) state->timeout; - else { - timeout = TIMEOUT_MINI; - if (state->timeout < timeout) - timeout = (int) state->timeout; - } - timeout *= 1000; - state->start = uptime (); - retval = poll (fds, iface->fd == -1 ? 1 : 2, timeout); - state->timeout -= uptime () - state->start; - if (retval == -1 && errno == EINTR) { - /* If interupted, continue as normal as the signal - * will be delivered down the pipe */ - retval = 0; - continue; - } - if (retval == 0 && iface->fd != -1 && state->timeout > 0) - _send_message (state, state->last_type, options); - } - - return (retval); -} - -static bool handle_signal (int sig, state_t *state, const options_t *options) -{ - switch (sig) { - case SIGINT: - logger (LOG_INFO, "received SIGINT, stopping"); - return (false); - case SIGTERM: - logger (LOG_INFO, "received SIGTERM, stopping"); - return (false); - - case SIGALRM: - logger (LOG_INFO, "received SIGALRM, renewing lease"); - switch (state->state) { - case STATE_BOUND: - case STATE_RENEWING: - case STATE_REBINDING: - state->state = STATE_RENEW_REQUESTED; - break; - case STATE_RENEW_REQUESTED: - case STATE_REQUESTING: - case STATE_RELEASED: - state->state = STATE_INIT; - break; - } - state->timeout = 0; - state->xid = 0; - return (true); - - case SIGHUP: - if (state->state != STATE_BOUND && - state->state != STATE_RENEWING && - state->state != STATE_REBINDING) - { - logger (LOG_ERR, - "received SIGHUP, but we no have lease to release"); - return (false); - } - - logger (LOG_INFO, "received SIGHUP, releasing lease"); - if (! IN_LINKLOCAL (ntohl (state->dhcp->address.s_addr))) { - do_socket (state, SOCKET_OPEN); - state->xid = (uint32_t) random (); - if ((open_socket (state->interface, false)) >= 0) - _send_message (state, DHCP_RELEASE, options); - do_socket (state, SOCKET_CLOSED); - } - unlink (state->interface->infofile); - return (false); - - default: - logger (LOG_ERR, - "received signal %d, but don't know what to do with it", - sig); - } - - return (false); -} - -static int handle_timeout (state_t *state, const options_t *options) -{ - dhcp_t *dhcp = state->dhcp; - interface_t *iface = state->interface; - - /* No NAK, so reset the backoff */ - state->nakoff = 1; - - if (state->state == STATE_INIT && state->xid != 0) { - if (iface->previous_address.s_addr != 0 && - ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr)) && - ! options->doinform) - { - logger (LOG_ERR, "lost lease"); - if (! options->persistent) - drop_config (state, options); - } else if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - logger (LOG_ERR, "timed out"); - - do_socket (state, SOCKET_CLOSED); - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - -#ifdef ENABLE_INFO - if (! options->test && - (options->doipv4ll || options->dolastlease)) - { - errno = 0; - if (! get_old_lease (state, options)) - { - if (errno == EINTR) - return (0); - if (options->dolastlease) - return (-1); - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - } else if (errno == EINTR) - return (0); - } -#endif - -#ifdef ENABLE_IPV4LL - if (! options->test && options->doipv4ll && - (! dhcp->address.s_addr || - (! IN_LINKLOCAL (ntohl (dhcp->address.s_addr)) && - ! options->dolastlease))) - { - logger (LOG_INFO, "probing for an IPV4LL address"); - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - if (ipv4ll_get_address (iface, dhcp) == -1) { - if (! state->daemonised) - return (-1); - - /* start over */ - state->xid = 0; - return (0); - } - state->timeout = dhcp->renewaltime; - } -#endif - -#if defined (ENABLE_INFO) || defined (ENABLE_IPV4LL) - if (dhcp->address.s_addr) { - if (! state->daemonised && - IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) - logger (LOG_WARNING, "using IPV4LL address %s", - inet_ntoa (dhcp->address)); - if (configure (options, iface, dhcp, true) == -1 && - ! state->daemonised) - return (-1); - - state->state = STATE_BOUND; - if (! state->daemonised && options->daemonise) { - switch (daemonise (state->pidfd)) { - case -1: - return (-1); - case 0: - state->daemonised = true; - return (0); - default: - state->persistent = true; - state->forked = true; - return (-1); - } - } - - state->timeout = dhcp->renewaltime; - state->xid = 0; - return (0); - } -#endif - - if (! state->daemonised) - return (-1); - } - - switch (state->state) { - case STATE_INIT: - state->xid = (uint32_t) random (); - do_socket (state, SOCKET_OPEN); - state->timeout = options->timeout; - iface->start_uptime = uptime (); - if (dhcp->address.s_addr == 0) { - if (! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - logger (LOG_INFO, "broadcasting for a lease"); - _send_message (state, DHCP_DISCOVER, options); - } else if (options->doinform) { - logger (LOG_INFO, "broadcasting inform for %s", - inet_ntoa (dhcp->address)); - _send_message (state, DHCP_INFORM, options); - state->state = STATE_REQUESTING; - } else { - logger (LOG_INFO, "broadcasting for a lease of %s", - inet_ntoa (dhcp->address)); - _send_message (state, DHCP_REQUEST, options); - state->state = STATE_REQUESTING; - } - - break; - case STATE_BOUND: - case STATE_RENEW_REQUESTED: - if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) { - memset (&dhcp->address, 0, sizeof (dhcp->address)); - state->state = STATE_INIT; - state->xid = 0; - break; - } - state->state = STATE_RENEWING; - state->xid = (uint32_t) random (); - /* FALLTHROUGH */ - case STATE_RENEWING: - iface->start_uptime = uptime (); - logger (LOG_INFO, "renewing lease of %s", inet_ntoa - (dhcp->address)); - do_socket (state, SOCKET_OPEN); - _send_message (state, DHCP_REQUEST, options); - state->timeout = dhcp->rebindtime - dhcp->renewaltime; - state->state = STATE_REBINDING; - break; - case STATE_REBINDING: - logger (LOG_ERR, "lost lease, attemping to rebind"); - memset (&dhcp->address, 0, sizeof (dhcp->address)); - do_socket (state, SOCKET_OPEN); - if (state->xid == 0) - state->xid = (uint32_t) random (); - dhcp->serveraddress.s_addr = 0; - _send_message (state, DHCP_REQUEST, options); - state->timeout = dhcp->leasetime - dhcp->rebindtime; - state->state = STATE_REQUESTING; - break; - case STATE_REQUESTING: - state->state = STATE_INIT; - do_socket (state, SOCKET_CLOSED); - state->timeout = 0; - break; - - case STATE_RELEASED: - dhcp->leasetime = 0; - break; - } - - return (0); -} - - -static int handle_dhcp (state_t *state, int type, const options_t *options) -{ - struct timespec ts; - interface_t *iface = state->interface; - dhcp_t *dhcp = state->dhcp; - - /* We should restart on a NAK */ - if (type == DHCP_NAK) { - logger (LOG_INFO, "received NAK: %s", dhcp->message); - state->state = STATE_INIT; - state->timeout = 0; - state->xid = 0; - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - - /* If we constantly get NAKS then we should slowly back off */ - if (state->nakoff > 0) { - logger (LOG_DEBUG, "sleeping for %ld seconds", - (long) state->nakoff); - ts.tv_sec = state->nakoff; - ts.tv_nsec = 0; - state->nakoff *= 2; - if (state->nakoff > NAKOFF_MAX) - state->nakoff = NAKOFF_MAX; - nanosleep (&ts, NULL); - } - - return (0); - } - - /* No NAK, so reset the backoff */ - state->nakoff = 1; - - if (type == DHCP_OFFER && state->state == STATE_INIT) { - char *addr = strdup (inet_ntoa (dhcp->address)); - if (dhcp->servername[0]) - logger (LOG_INFO, "offered %s from %s `%s'", - addr, inet_ntoa (dhcp->serveraddress), - dhcp->servername); - else - logger (LOG_INFO, "offered %s from %s", - addr, inet_ntoa (dhcp->serveraddress)); - free (addr); - -#ifdef ENABLE_INFO - if (options->test) { - write_info (iface, dhcp, options, false); - errno = 0; - return (-1); - } -#endif - - _send_message (state, DHCP_REQUEST, options); - state->state = STATE_REQUESTING; - - return (0); - } - - if (type == DHCP_OFFER) { - logger (LOG_INFO, "got subsequent offer of %s, ignoring ", - inet_ntoa (dhcp->address)); - return (0); - } - - /* We should only be dealing with acks */ - if (type != DHCP_ACK) { - logger (LOG_ERR, "%d not an ACK or OFFER", type); - return (0); - } - - switch (state->state) { - case STATE_RENEW_REQUESTED: - case STATE_REQUESTING: - case STATE_RENEWING: - case STATE_REBINDING: - break; - default: - logger (LOG_ERR, "wrong state %d", state->state); - } - - do_socket (state, SOCKET_CLOSED); - -#ifdef ENABLE_ARP - if (options->doarp && iface->previous_address.s_addr != - dhcp->address.s_addr) - { - errno = 0; - if (arp_claim (iface, dhcp->address)) { - do_socket (state, SOCKET_OPEN); - _send_message (state, DHCP_DECLINE, options); - do_socket (state, SOCKET_CLOSED); - - free_dhcp (dhcp); - memset (dhcp, 0, sizeof (*dhcp)); - state->xid = 0; - state->timeout = 0; - state->state = STATE_INIT; - - /* RFC 2131 says that we should wait for 10 seconds - * before doing anything else */ - logger (LOG_INFO, "sleeping for 10 seconds"); - ts.tv_sec = 10; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); - return (0); - } else if (errno == EINTR) - return (0); - } -#endif - - if (options->doinform) { - if (options->request_address.s_addr != 0) - dhcp->address = options->request_address; - else - dhcp->address = iface->previous_address; - - logger (LOG_INFO, "received approval for %s", - inet_ntoa (dhcp->address)); - if (iface->previous_netmask.s_addr != dhcp->netmask.s_addr) { - add_address (iface->name, dhcp->address, - dhcp->netmask, dhcp->broadcast); - iface->previous_netmask.s_addr = dhcp->netmask.s_addr; - } - state->timeout = options->leasetime; - if (state->timeout == 0) - state->timeout = DEFAULT_LEASETIME; - state->state = STATE_INIT; - } else if (dhcp->leasetime == (unsigned) -1) { - dhcp->renewaltime = dhcp->rebindtime = dhcp->leasetime; - state->timeout = 1; /* So we wait for infinity */ - logger (LOG_INFO, "leased %s for infinity", - inet_ntoa (dhcp->address)); - state->state = STATE_BOUND; - } else { - if (! dhcp->leasetime) { - dhcp->leasetime = DEFAULT_LEASETIME; - logger(LOG_INFO, - "no lease time supplied, assuming %d seconds", - dhcp->leasetime); - } - logger (LOG_INFO, "leased %s for %u seconds", - inet_ntoa (dhcp->address), dhcp->leasetime); - - if (dhcp->rebindtime >= dhcp->leasetime) { - dhcp->rebindtime = (dhcp->leasetime * 0.875); - logger (LOG_ERR, - "rebind time greater than lease " - "time, forcing to %u seconds", - dhcp->rebindtime); - } - - if (dhcp->renewaltime > dhcp->rebindtime) { - dhcp->renewaltime = (dhcp->leasetime * 0.5); - logger (LOG_ERR, - "renewal time greater than rebind time, " - "forcing to %u seconds", - dhcp->renewaltime); - } - - if (! dhcp->renewaltime) { - dhcp->renewaltime = (dhcp->leasetime * 0.5); - logger (LOG_INFO, - "no renewal time supplied, assuming %d seconds", - dhcp->renewaltime); - } else - logger (LOG_DEBUG, "renew in %u seconds", - dhcp->renewaltime); - - if (! dhcp->rebindtime) { - dhcp->rebindtime = (dhcp->leasetime * 0.875); - logger (LOG_INFO, - "no rebind time supplied, assuming %d seconds", - dhcp->rebindtime); - } else - logger (LOG_DEBUG, "rebind in %u seconds", - dhcp->rebindtime); - - state->timeout = dhcp->renewaltime; - state->state = STATE_BOUND; - } - - state->xid = 0; - - if (configure (options, iface, dhcp, true) == -1 && - ! state->daemonised) - return (-1); - - if (! state->daemonised && options->daemonise) { - switch (daemonise (state->pidfd)) { - case 0: - state->daemonised = true; - return (0); - case -1: - return (-1); - default: - state->persistent = true; - state->forked = true; - return (-1); - } - } - - return (0); -} - -static int handle_packet (state_t *state, const options_t *options) -{ - interface_t *iface = state->interface; - bool valid = false; - int type; - struct dhcp_t *new_dhcp; - dhcpmessage_t message; - - /* Allocate our buffer space for BPF. - * We cannot do this until we have opened our socket as we don't - * know how much of a buffer we need until then. */ - if (! state->buffer) - state->buffer = xmalloc (iface->buffer_length); - state->buffer_len = iface->buffer_length; - state->buffer_pos = 0; - - /* We loop through until our buffer is empty. - * The benefit is that if we get >1 DHCP packet in our buffer and - * the first one fails for any reason, we can use the next. */ - - memset (&message, 0, sizeof (message)); - new_dhcp = xmalloc (sizeof (*new_dhcp)); - - do { - if (get_packet (iface, (unsigned char *) &message, - state->buffer, - &state->buffer_len, &state->buffer_pos) == -1) - break; - - if (state->xid != message.xid) { - logger (LOG_DEBUG, - "ignoring packet with xid 0x%x as it's not ours (0x%x)", - message.xid, state->xid); - continue; - } - - logger (LOG_DEBUG, "got a packet with xid 0x%x", message.xid); - memset (new_dhcp, 0, sizeof (*new_dhcp)); - type = parse_dhcpmessage (new_dhcp, &message); - if (type == -1) { - logger (LOG_ERR, "failed to parse packet"); - free_dhcp (new_dhcp); - /* We don't abort on this, so return zero */ - return (0); - } - - /* If we got here then the DHCP packet is valid and appears to - * be for us, so let's clear the buffer as we don't care about - * any more DHCP packets at this point. */ - valid = true; - break; - } while (state->buffer_pos != 0); - - /* No packets for us, so wait until we get one */ - if (! valid) { - free (new_dhcp); - return (0); - } - - /* new_dhcp is now our master DHCP message */ - free_dhcp (state->dhcp); - free (state->dhcp); - state->dhcp = new_dhcp; - new_dhcp = NULL; - - return (handle_dhcp (state, type, options)); -} - -int dhcp_run (const options_t *options, int *pidfd) -{ - interface_t *iface; - state_t *state = NULL; - struct pollfd fds[] = { - { -1, POLLIN, 0 }, - { -1, POLLIN, 0 } - }; - int retval = -1; - int sig; - - if (! options) - return (-1); - - iface = read_interface (options->interface, options->metric); - if (! iface) - goto eexit; - - state = xzalloc (sizeof (*state)); - state->dhcp = xzalloc (sizeof (*state->dhcp)); - state->pidfd = pidfd; - state->interface = iface; - - if (! client_setup (state, options)) - goto eexit; - - if (signal_init () == -1) - goto eexit; - if (signal_setup () == -1) - goto eexit; - - fds[POLLFD_SIGNAL].fd = signal_fd (); - - for (;;) { - retval = wait_for_packet (fds, state, options); - - /* We should always handle our signals first */ - if ((sig = (signal_read (&fds[POLLFD_SIGNAL]))) != -1) { - if (handle_signal (sig, state, options)) - retval = 0; - else - retval = -1; - } else if (retval == 0) - retval = handle_timeout (state, options); - else if (retval > 0 && - state->socket != SOCKET_CLOSED && - fds[POLLFD_IFACE].revents & POLLIN) - retval = handle_packet (state, options); - else if (retval == -1 && errno == EINTR) { - /* The interupt will be handled above */ - retval = 0; - } else { - logger (LOG_ERR, "poll: %s", strerror (errno)); - retval = -1; - } - - if (retval != 0) - break; - } - -eexit: - if (iface) { - do_socket (state, SOCKET_CLOSED); - drop_config (state, options); - free_route (iface->previous_routes); - free (iface->clientid); - free (iface); - } - - if (state) { - if (state->forked) - retval = 0; - - if (state->daemonised) - unlink (options->pidfile); - - free_dhcp (state->dhcp); - free (state->dhcp); - free (state->buffer); - free (state); - } - - return (retval); -} diff --git a/workspace/networkDiscovery/dhcpcd/client.h b/workspace/networkDiscovery/dhcpcd/client.h deleted file mode 100644 index fa6ea9b..0000000 --- a/workspace/networkDiscovery/dhcpcd/client.h +++ /dev/null @@ -1,35 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef CLIENT_H -#define CLIENT_H - -#include "dhcpcd.h" - -int dhcp_run (const options_t *options, int *pidfd); - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/common.c b/workspace/networkDiscovery/dhcpcd/common.c deleted file mode 100644 index 99471bc..0000000 --- a/workspace/networkDiscovery/dhcpcd/common.c +++ /dev/null @@ -1,249 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "logger.h" - -/* Handy routine to read very long lines in text files. - * This means we read the whole line and avoid any nasty buffer overflows. */ -char *get_line (FILE *fp) -{ - char *line = NULL; - char *p; - size_t len = 0; - size_t last = 0; - - if (feof (fp)) - return (NULL); - - do { - len += BUFSIZ; - line = xrealloc (line, sizeof (char) * len); - p = line + last; - memset (p, 0, BUFSIZ); - fgets (p, BUFSIZ, fp); - last += strlen (p); - } while (! feof (fp) && line[last - 1] != '\n'); - - /* Trim the trailing newline */ - if (*line && line[--last] == '\n') - line[last] = '\0'; - - return (line); -} - -/* OK, this should be in dhcpcd.c - * It's here to make dhcpcd more readable */ -#ifndef HAVE_SRANDOMDEV -void srandomdev (void) -{ - int fd; - unsigned long seed; - - fd = open ("/dev/urandom", 0); - if (fd == -1 || read (fd, &seed, sizeof (seed)) == -1) { - logger (LOG_WARNING, "Could not read from /dev/urandom: %s", - strerror (errno)); - seed = time (0); - } - if (fd >= 0) - close(fd); - - srandom (seed); -} -#endif - -/* strlcpy is nice, shame glibc does not define it */ -#ifndef HAVE_STRLCPY -size_t strlcpy (char *dst, const char *src, size_t size) -{ - const char *s = src; - size_t n = size; - - if (n && --n) - do { - if (! (*dst++ = *src++)) - break; - } while (--n); - - if (! n) { - if (size) - *dst = '\0'; - while (*src++); - } - - return (src - s - 1); -} -#endif - -/* Close our fd's */ -int close_fds (void) -{ - int fd; - - if ((fd = open ("/dev/null", O_RDWR)) == -1) { - logger (LOG_ERR, "open `/dev/null': %s", strerror (errno)); - return (-1); - } - - dup2 (fd, fileno (stdin)); - dup2 (fd, fileno (stdout)); - dup2 (fd, fileno (stderr)); - if (fd > 2) - close (fd); - return (0); -} - -int close_on_exec (int fd) -{ - int flags; - - if ((flags = fcntl (fd, F_GETFD, 0)) == -1 - || fcntl (fd, F_SETFD, flags | FD_CLOEXEC) == -1) - { - logger (LOG_ERR, "fcntl: %s", strerror (errno)); - return (-1); - } - return (0); -} - -/* Handy function to get the time. - * We only care about time advancements, not the actual time itself - * Which is why we use CLOCK_MONOTONIC, but it is not available on all - * platforms. - */ -int get_time (struct timeval *tp) -{ -#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC) - struct timespec ts; - static clockid_t posix_clock; - static int posix_clock_set = 0; - - if (! posix_clock_set) { - if (sysconf (_SC_MONOTONIC_CLOCK) >= 0) - posix_clock = CLOCK_MONOTONIC; - else - posix_clock = CLOCK_REALTIME; - posix_clock_set = 1; - } - - if (clock_gettime (posix_clock, &ts) == -1) { - logger (LOG_ERR, "clock_gettime: %s", strerror (errno)); - return (-1); - } - - tp->tv_sec = ts.tv_sec; - tp->tv_usec = ts.tv_nsec / 1000; - return (0); -#else - if (gettimeofday (tp, NULL) == -1) { - logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); - return (-1); - } - return (0); -#endif -} - -time_t uptime (void) -{ - struct timeval tp; - - if (get_time (&tp) == -1) - return (-1); - - return (tp.tv_sec); -} - -void writepid (int fd, pid_t pid) -{ - char spid[16]; - if (ftruncate (fd, (off_t) 0) == -1) { - logger (LOG_ERR, "ftruncate: %s", strerror (errno)); - } else { - ssize_t len; - snprintf (spid, sizeof (spid), "%u", pid); - len = pwrite (fd, spid, strlen (spid), (off_t) 0); - if (len != (ssize_t) strlen (spid)) - logger (LOG_ERR, "pwrite: %s", strerror (errno)); - } -} - -void *xmalloc (size_t s) -{ - void *value = malloc (s); - - if (value) - return (value); - - logger (LOG_ERR, "memory exhausted"); - - exit (EXIT_FAILURE); - /* NOTREACHED */ -} - -void *xzalloc (size_t s) -{ - void *value = xmalloc (s); - memset (value, 0, s); - return (value); -} - -void *xrealloc (void *ptr, size_t s) -{ - void *value = realloc (ptr, s); - - if (value) - return (value); - - logger (LOG_ERR, "memory exhausted"); - exit (EXIT_FAILURE); - /* NOTREACHED */ -} - -char *xstrdup (const char *str) -{ - char *value; - - if (! str) - return (NULL); - - if ((value = strdup (str))) - return (value); - - logger (LOG_ERR, "memory exhausted"); - exit (EXIT_FAILURE); - /* NOTREACHED */ -} diff --git a/workspace/networkDiscovery/dhcpcd/common.h b/workspace/networkDiscovery/dhcpcd/common.h deleted file mode 100644 index 46f1886..0000000 --- a/workspace/networkDiscovery/dhcpcd/common.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef COMMON_H -#define COMMON_H - -/* string.h pulls in features.h so the below define checks work */ -#include -#include -#include - -#if __GNUC__ > 2 || defined(__INTEL_COMPILER) -# define _unused __attribute__((__unused__)) -#else -# define _unused -#endif - -#define HAVE_STRLCPY -/* Only GLIBC doesn't support strlcpy */ -#ifdef __GLIBC__ -# if ! defined(__UCLIBC__) && ! defined (__dietlibc__) -# undef HAVE_STRLCPY -size_t strlcpy (char *dst, const char *src, size_t size); -# endif -#endif - -#define HAVE_SRANDOMDEV -#if defined(__GLIBC__) || defined(__NetBSD__) -# undef HAVE_SRANDOMDEV -void srandomdev (void); -#endif - -int close_fds (void); -int close_on_exec (int fd); -char *get_line (FILE *fp); -int get_time (struct timeval *tp); -time_t uptime (void); -void writepid (int fd, pid_t pid); -void *xrealloc (void *ptr, size_t size); -void *xmalloc (size_t size); -void *xzalloc (size_t size); -char *xstrdup (const char *str); - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/config.h b/workspace/networkDiscovery/dhcpcd/config.h deleted file mode 100644 index 2c0991b..0000000 --- a/workspace/networkDiscovery/dhcpcd/config.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef CONFIG_H -#define CONFIG_H - -/* You can enable/disable various chunks of optional code here. - * You would only do this to try and shrink the end binary if dhcpcd - * was running on a low memory device */ - -#define ENABLE_ARP -#define ENABLE_NTP -#define ENABLE_NIS -#define ENABLE_INFO -/* Define this to enable some compatability with 1.x and 2.x info files */ -/* #define ENABLE_INFO_COMPAT */ - -/* IPV4LL, aka ZeroConf, aka APIPA, aka RFC 3927. - * Needs ARP. */ -#define ENABLE_IPV4LL - -/* We will auto create a DUID_LLT file if it doesn't exist. - * You can always create your own DUID file that just contains the - * hex string that represents the DUID. - * See RFC 3315 for details on this. */ -#define ENABLE_DUID - -/* resolvconf is framework for multiple interfaces to manage resolv.conf */ -#define ENABLE_RESOLVCONF - -/* Some systems do not have a working fork. - * The Makefile will attempt to work it out, but if it fails to feel free to - * define it here. */ -/* #define THERE_IS_NO_FORK */ - -/* Packname name and pathname definitions. */ - -#define PACKAGE "dhcpcd" - -#define ETCDIR "/etc" -#define RESOLVFILE ETCDIR "/resolv.conf" - -#define NISFILE ETCDIR "/yp.conf" - -#define NTPFILE ETCDIR "/ntp.conf" -#define NTPDRIFTFILE ETCDIR "/ntp.drift" -#define NTPLOGFILE "/var/log/ntp.log" - -#define OPENNTPFILE ETCDIR "/ntpd.conf" - -#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh" - -#define STATEDIR "/var" -#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid" - -#ifndef INFODIR -# define INFODIR "/var/lib/dhcpcd" -#endif -#define INFOFILE INFODIR "/" PACKAGE "-%s.info" -#define DUIDFILE INFODIR "/" PACKAGE ".duid" - -/* OPENRC is Open Run Control, forked from Gentoo's baselayout package - * BSDRC is BSD style Run Control - * SLACKRC is Slackware Run Control - * SERVICE is RedHat service command - * SYSV should cover everthing else */ -#ifdef ENABLE_OPENRC -# define SERVICE "OPENRC" -# define NISSERVICE ETCDIR "/init.d/ypbind" -# define NISRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" -# define NTPSERVICE ETCDIR "/init.d/ntpd" -# define NTPRESTARTARGS "--nodeps", "--quiet", "conditionalrestart" -#endif -#if ENABLE_BSDRC -# define SERVICE "BSDRC" -# define NISSERVICE ETCDIR "/rc.d/ypbind" -# define NISRESTARTARGS "restart" -# define NTPSERVICE ETCDIR "/rc.d/ntpd" -# define NTPRESTARTARGS "restart" -#endif -#if ENABLE_SLACKRC -# define SERVICE "SLACKRC" -# define NISSERVICE ETCDIR "/rc.d/rc.ypbind" -# define NISRESTARTARGS "restart" -# define NTPSERVICE ETCDIR "/rc.d/rc.ntpd" -# define NTPRESTARTARGS "restart" -#endif -#if ENABLE_SERVICE -# define SERVICE "SERVICE" -# define NISSERVICE "service" -# define NISRESTARTARGS "ypbind", "restart" -# define NTPSERVICE "service" -# define NTPRESTARTARGS "ntpd", "restart" -#endif -#if ENABLE_SYSV -# define SERVICE "SYSV" -# define NISSERVICE ETCDIR "/init.d/ypbind" -# define NISRESTARTARGS "restart" -# define NTPSERVICE ETCDIR "/init.d/ntpd" -# define NTPRESTARTARGS "restart" -#endif - -#ifndef NISSERVICE -# undef ENABLE_NIS -#endif -#ifndef NTPSERVICE -# undef ENABLE_NTP -#endif - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/configure.c b/workspace/networkDiscovery/dhcpcd/configure.c deleted file mode 100644 index 0969f73..0000000 --- a/workspace/networkDiscovery/dhcpcd/configure.c +++ /dev/null @@ -1,809 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include - -#include - -#include -#ifdef __linux__ -# include -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "configure.h" -#include "dhcp.h" -#ifdef ENABLE_INFO -# include "info.h" -#endif -#include "interface.h" -#include "dhcpcd.h" -#include "logger.h" -#include "signal.h" -#include "socket.h" - -static int file_in_path (const char *file) -{ - char *p = getenv ("PATH"); - char *path; - char *token; - struct stat s; - char mypath[PATH_MAX]; - int retval = -1; - - if (! p) { - errno = ENOENT; - return (-1); - } - - path = strdup (p); - p = path; - while ((token = strsep (&p, ":"))) { - snprintf (mypath, PATH_MAX, "%s/%s", token, file); - if (stat (mypath, &s) == 0) { - retval = 0; - break; - } - } - free (path); - return (retval); -} - -/* IMPORTANT: Ensure that the last parameter is NULL when calling */ -static int exec_cmd (const char *cmd, const char *args, ...) -{ - va_list va; - char **argv; - int n = 1; - int ret = 0; - pid_t pid; - sigset_t full; - sigset_t old; - - va_start (va, args); - while (va_arg (va, char *) != NULL) - n++; - va_end (va); - argv = xmalloc (sizeof (char *) * (n + 2)); - - va_start (va, args); - n = 2; - argv[0] = (char *) cmd; - argv[1] = (char *) args; - while ((argv[n] = va_arg (va, char *)) != NULL) - n++; - va_end (va); - - /* OK, we need to block signals */ - sigfillset (&full); - sigprocmask (SIG_SETMASK, &full, &old); - -#ifdef THERE_IS_NO_FORK - signal_reset (); - pid = vfork (); -#else - pid = fork(); -#endif - - switch (pid) { - case -1: - logger (LOG_ERR, "vfork: %s", strerror (errno)); - ret = -1; - break; - case 0: -#ifndef THERE_IS_NO_FORK - signal_reset (); -#endif - sigprocmask (SIG_SETMASK, &old, NULL); - if (execvp (cmd, argv) && errno != ENOENT) - logger (LOG_ERR, "error executing \"%s\": %s", - cmd, strerror (errno)); - _exit (111); - /* NOTREACHED */ - } - -#ifdef THERE_IS_NO_FORK - signal_setup (); -#endif - - /* Restore our signals */ - sigprocmask (SIG_SETMASK, &old, NULL); - - free (argv); - return (ret); -} - -static void exec_script (const char *script, const char *infofile, - const char *arg) -{ - struct stat buf; - - if (! script || ! infofile || ! arg) - return; - - if (stat (script, &buf) == -1) { - if (strcmp (script, DEFAULT_SCRIPT) != 0) - logger (LOG_ERR, "`%s': %s", script, strerror (ENOENT)); - return; - } - -#ifdef ENABLE_INFO - logger (LOG_DEBUG, "exec \"%s\" \"%s\" \"%s\"", script, infofile, arg); - exec_cmd (script, infofile, arg, (char *) NULL); -#else - logger (LOG_DEBUG, "exec \"%s\" \"\" \"%s\"", script, arg); - exec_cmd (script, "", arg, (char *) NULL); -#endif -} - -static int make_resolv (const char *ifname, const dhcp_t *dhcp) -{ - FILE *f = NULL; - address_t *address; - -#ifdef ENABLE_RESOLVCONF - char *resolvconf = NULL; - - if (file_in_path ("resolvconf") == 0) { - size_t len = strlen ("resolvconf -a ") + strlen (ifname) + 1; - resolvconf = xmalloc (sizeof (char) * len); - snprintf (resolvconf, len, "resolvconf -a %s", ifname); - if ((f = popen (resolvconf , "w"))) - logger (LOG_DEBUG, - "sending DNS information to resolvconf"); - else if (errno == EEXIST) - logger (LOG_ERR, "popen: %s", strerror (errno)); - - if (ferror (f)) - logger (LOG_ERR, "ferror"); - free (resolvconf); - } -#endif - if (! f) { - logger (LOG_DEBUG, "writing "RESOLVFILE); - if (! (f = fopen(RESOLVFILE, "w"))) - logger (LOG_ERR, "fopen `%s': %s", RESOLVFILE, strerror (errno)); - } - - if (! f) - return (-1); - - fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); - if (dhcp->dnssearch) - fprintf (f, "search %s\n", dhcp->dnssearch); - else if (dhcp->dnsdomain) { - fprintf (f, "search %s\n", dhcp->dnsdomain); - } - - STAILQ_FOREACH (address, dhcp->dnsservers, entries) - fprintf (f, "nameserver %s\n", inet_ntoa (address->address)); - -#ifdef ENABLE_RESOLVCONF - if (resolvconf) - pclose (f); - else -#endif - fclose (f); - - /* Refresh the local resolver */ - res_init (); - return (0); -} - -static void restore_resolv (const char *ifname) -{ -#ifdef ENABLE_RESOLVCONF - if (file_in_path ("resolvconf") == 0) { - logger (LOG_DEBUG, "removing information from resolvconf"); - exec_cmd("resolvconf", "-d", ifname, (char *) NULL); - } -#endif -} - -static bool in_addresses (const struct address_head *addresses, - struct in_addr address) -{ - const address_t *addr; - - STAILQ_FOREACH (addr, addresses, entries) - if (addr->address.s_addr == address.s_addr) - return (true); - - return (false); -} - -static bool in_routes (const struct route_head *routes, route_t *route) -{ - const route_t *r; - - if (! routes) - return (false); - - STAILQ_FOREACH (r, routes, entries) - if (r->destination.s_addr == route->destination.s_addr && - r->netmask.s_addr == route->netmask.s_addr && - r->gateway.s_addr == route->gateway.s_addr) - return (true); - - return (false); -} - -#ifdef ENABLE_NTP -static int _make_ntp (const char *file, const char *ifname, const dhcp_t *dhcp) -{ - FILE *f; - address_t *address; - char *a; - char *line; - int tomatch = 0; - char *token; - bool ntp = false; - - STAILQ_FOREACH (address, dhcp->ntpservers, entries) - tomatch++; - - /* Check that we really need to update the servers. - * We do this because ntp has to be restarted to - * work with a changed config. */ - if (! (f = fopen (file, "r"))) { - if (errno != ENOENT) { - logger (LOG_ERR, "fopen `%s': %s", - file, strerror (errno)); - return (-1); - } - } else { - while (tomatch != 0 && (line = get_line (f))) { - struct in_addr addr; - - a = line; - token = strsep (&a, " "); - if (! token || strcmp (token, "server") != 0) - goto next; - - if ((token = strsep (&a, " \n")) == NULL) - goto next; - - if (inet_aton (token, &addr) == 1 && - in_addresses (dhcp->ntpservers, addr)) - tomatch--; - -next: - free (line); - } - fclose (f); - - /* File has the same name servers that we do, - * so no need to restart ntp */ - if (tomatch == 0) { - logger (LOG_DEBUG, "%s already configured, skipping", - file); - return (0); - } - } - - logger (LOG_DEBUG, "writing %s", file); - if (! (f = fopen (file, "w"))) { - logger (LOG_ERR, "fopen `%s': %s", file, strerror (errno)); - return (-1); - } - - fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); -#ifdef NTPFILE - if (strcmp (file, NTPFILE) == 0) { - ntp = true; - fprintf (f, "restrict default noquery notrust nomodify\n"); - fprintf (f, "restrict 127.0.0.1\n"); - } -#endif - - STAILQ_FOREACH (address, dhcp->ntpservers, entries) { - a = inet_ntoa (address->address); - if (ntp) - fprintf (f, "restrict %s nomodify notrap noquery\n", a); - fprintf (f, "server %s\n", a); - } - fclose (f); - - return (1); -} - -static int make_ntp (const char *ifname, const dhcp_t *dhcp) -{ - /* On some systems we have only have one ntp service, but we don't - * know which configuration file we're using. So we need to write - * to both and restart accordingly. */ - - bool restart_ntp = false; - bool restart_openntp = false; - int retval = 0; - -#ifdef NTPFILE - if (_make_ntp (NTPFILE, ifname, dhcp) > 0) - restart_ntp = true; -#endif - -#ifdef OPENNTPFILE - if (_make_ntp (OPENNTPFILE, ifname, dhcp) > 0) - restart_openntp = true; -#endif - -#ifdef NTPSERVICE - if (restart_ntp) { -#ifdef NTPCHECK - if (system (NTPCHECK) == 0) -#endif - retval += exec_cmd (NTPSERVICE, NTPRESTARTARGS, - (char *) NULL); - } -#endif - -#if defined (NTPSERVICE) && defined (OPENNTPSERVICE) - if (restart_openntp && - (strcmp (NTPSERVICE, OPENNTPSERVICE) != 0 || ! restart_ntp)) - { -#ifdef OPENNTPCHECK - if (system (OPENNTPCHECK) == 0) -#endif - retval += exec_cmd (OPENNTPSERVICE, - OPENNTPRESTARTARGS, (char *) NULL); - } -#elif defined (OPENNTPSERVICE) && ! defined (NTPSERVICE) - if (restart_openntp) { -#ifdef OPENNTPCHECK - if (system (OPENNTPCHECK) == 0) -#endif - retval += exec_cmd (OPENNTPSERVICE, - OPENNTPRESTARTARGS, (char *) NULL); - } -#endif - - return (retval); -} -#endif - -#ifdef ENABLE_NIS -#define PREFIXSIZE 256 -static int make_nis (const char *ifname, const dhcp_t *dhcp) -{ - FILE *f; - address_t *address; - char *prefix; - - logger (LOG_DEBUG, "writing "NISFILE); - if (! (f = fopen(NISFILE, "w"))) { - logger (LOG_ERR, "fopen `%s': %s", NISFILE, strerror (errno)); - return (-1); - } - - prefix = xmalloc (sizeof (char) * PREFIXSIZE); - *prefix = '\0'; - fprintf (f, "# Generated by dhcpcd for interface %s\n", ifname); - - if (dhcp->nisdomain) { - setdomainname (dhcp->nisdomain, (int) strlen (dhcp->nisdomain)); - - if (dhcp->nisservers) - snprintf (prefix, PREFIXSIZE, "domain %s server", - dhcp->nisdomain); - else - fprintf (f, "domain %s broadcast\n", dhcp->nisdomain); - } - else - snprintf (prefix, PREFIXSIZE, "%s", "ypserver"); - - NSTAILQ_FOREACH (address, dhcp->nisservers, entries) - fprintf (f, "%s %s\n", prefix, inet_ntoa (address->address)); - - free (prefix); - fclose (f); - -#ifdef NISCHECK - if (system (NISCHECK) == 0) -#endif - exec_cmd (NISSERVICE, NISRESTARTARGS, (char *) NULL); - return (0); -} -#endif - -static char *lookuphostname (char *hostname, const dhcp_t *dhcp, - const options_t *options) -{ - union { - struct sockaddr sa; - struct sockaddr_in sin; - } su; - socklen_t salen; - char *addr; - struct addrinfo hints; - struct addrinfo *res = NULL; - int result; - char *p; - - logger (LOG_DEBUG, "Looking up hostname via DNS"); - addr = xmalloc (sizeof (char) * NI_MAXHOST); - salen = sizeof (su.sa); - memset (&su.sa, 0, salen); - su.sin.sin_family = AF_INET; - memcpy (&su.sin.sin_addr, &dhcp->address, sizeof (su.sin.sin_addr)); - - if ((result = getnameinfo (&su.sa, salen, addr, NI_MAXHOST, - NULL, 0, NI_NAMEREQD)) != 0) { - logger (LOG_ERR, - "Failed to lookup hostname via DNS: %s", - gai_strerror (result)); - free (addr); - return (NULL); - } - - /* Check for a malicious PTR record */ - memset (&hints, 0, sizeof (hints)); - hints.ai_socktype = SOCK_DGRAM; - hints.ai_flags = AI_NUMERICHOST; - result = getaddrinfo (addr, "0", &hints, &res); - if (res) - freeaddrinfo (res); - if (result == 0) - logger (LOG_ERR, "malicious PTR record detected"); - if (result == 0 || ! *addr) { - free (addr); - return (NULL); - } - - p = strchr (addr, '.'); - if (p) { - switch (options->dohostname) { - case 1: /* -H */ - case 4: /* -HHHH */ - break; - case 2: /* -HH */ - case 5: /* -HHHHH */ - /* Strip out the domain if it matches */ - p++; - if (*p && dhcp->dnssearch) { - char *s = xstrdup (dhcp->dnssearch); - char *sp = s; - char *t; - - while ((t = strsep (&sp, " "))) - if (strcmp (t, p) == 0) { - *--p = '\0'; - break; - } - free (s); - } else if (dhcp->dnsdomain) { - if (strcmp (dhcp->dnsdomain, p) == 0) - *--p = '\0'; - } - break; - case 3: /* -HHH */ - case 6: /* -HHHHHH */ - /* Just strip the domain */ - *p = '\0'; - break; - default: /* Too many H! */ - break; - } - } - - strlcpy (hostname, addr, MAXHOSTNAMELEN); - free (addr); - return (hostname); -} - -int configure (const options_t *options, interface_t *iface, - const dhcp_t *dhcp, bool up) -{ - route_t *route = NULL; - struct route_head *new_routes = NULL; - route_t *new_route = NULL; - char *newhostname = NULL; - char *curhostname = NULL; - int remember; -#ifdef ENABLE_IPV4LL - bool haslinklocal = false; -#endif -#ifdef THERE_IS_NO_FORK - int skip = 0; - size_t skiplen; - char *skipp; -#endif - - if (! options || ! iface || ! dhcp) - return (-1); - - if (dhcp->address.s_addr == 0) - up = 0; - - /* Remove old routes. - * Always do this as the interface may have >1 address not added by us - * so the routes we added may still exist. */ - NSTAILQ_FOREACH (route, iface->previous_routes, entries) - if ((route->destination.s_addr || options->dogateway) && - (! up || ! in_routes (dhcp->routes, route))) - del_route (iface->name, route->destination, - route->netmask, route->gateway, - options->metric); - /* If we aren't up, then reset the interface as much as we can */ - if (! up) { - if (iface->previous_routes) { - free_route (iface->previous_routes); - iface->previous_routes = NULL; - } - - /* Restore the original MTU value */ - if (iface->mtu && iface->previous_mtu != iface->mtu) { - set_mtu (iface->name, iface->mtu); - iface->previous_mtu = iface->mtu; - } - -#ifdef ENABLE_INFO - /* If we haven't created an info file, do so now */ - if (! dhcp->frominfo) - write_info (iface, dhcp, options, false); -#endif - - /* Only reset things if we had set them before */ - if (iface->previous_address.s_addr != 0) { - if (! options->keep_address) { - del_address (iface->name, - iface->previous_address, - iface->previous_netmask); - memset (&iface->previous_address, - 0, sizeof (iface->previous_address)); - memset (&iface->previous_netmask, - 0, sizeof (iface->previous_netmask)); - } - } - - restore_resolv (iface->name); - exec_script (options->script, iface->infofile, "down"); - - return (0); - } - - /* Set the MTU requested. - * If the DHCP server no longer sends one OR it's invalid then - * we restore the original MTU */ - if (options->domtu) { - unsigned short mtu = iface->mtu; - if (dhcp->mtu) - mtu = dhcp->mtu; - - if (mtu != iface->previous_mtu) { - if (set_mtu (iface->name, mtu) == 0) - iface->previous_mtu = mtu; - } - } - - /* This also changes netmask */ - if (! options->doinform || ! has_address (iface->name, dhcp->address)) - if (add_address (iface->name, dhcp->address, dhcp->netmask, - dhcp->broadcast) == -1 && errno != EEXIST) - return (false); - - /* Now delete the old address if different */ - if (iface->previous_address.s_addr != dhcp->address.s_addr && - iface->previous_address.s_addr != 0 && - ! options->keep_address) - del_address (iface->name, - iface->previous_address, iface->previous_netmask); - -#ifdef __linux__ - /* On linux, we need to change the subnet route to have our metric. */ - if (iface->previous_address.s_addr != dhcp->address.s_addr && - options->metric > 0 && - dhcp->netmask.s_addr != INADDR_BROADCAST) - { - struct in_addr td; - struct in_addr tg; - memset (&td, 0, sizeof (td)); - memset (&tg, 0, sizeof (tg)); - td.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; - add_route (iface->name, td, dhcp->netmask, tg, options->metric); - del_route (iface->name, td, dhcp->netmask, tg, 0); - } -#endif - -#ifdef THERE_IS_NO_FORK - free (dhcpcd_skiproutes); - /* We can never have more than 255 routes. So we need space - * for 255 3 digit numbers and commas */ - skiplen = 255 * 4 + 1; - skipp = dhcpcd_skiproutes = xmalloc (sizeof (char) * skiplen); - *skipp = '\0'; -#endif - - /* Remember added routes */ - NSTAILQ_FOREACH (route, dhcp->routes, entries) { -#ifdef ENABLE_IPV4LL - /* Check if we have already got a link locale route dished - * out by the DHCP server */ - if (route->destination.s_addr == htonl (LINKLOCAL_ADDR) && - route->netmask.s_addr == htonl (LINKLOCAL_MASK)) - haslinklocal = true; -#endif - /* Don't set default routes if not asked to */ - if (route->destination.s_addr == 0 && - route->netmask.s_addr == 0 && - ! options->dogateway) - continue; - - remember = add_route (iface->name, route->destination, - route->netmask, route->gateway, - options->metric); - /* If we failed to add the route, we may have already added it - ourselves. If so, remember it again. */ - if (remember < 0 && in_routes (iface->previous_routes, route)) - remember = 1; - - if (remember >= 0) { - if (! new_routes) { - new_routes = xmalloc (sizeof (*new_routes)); - STAILQ_INIT (new_routes); - } - new_route = xmalloc (sizeof (route_t)); - memcpy (new_route, route, sizeof (*new_route)); - STAILQ_INSERT_TAIL (new_routes, new_route, entries); - } -#ifdef THERE_IS_NO_FORK - /* If we have daemonised yet we need to record which routes - * we failed to add so we can skip them */ - else if (! options->daemonised) { - /* We can never have more than 255 / 4 routes, - * so 3 chars is plently */ - if (*skipp) - *skipp++ = ','; - skipp += snprintf (skipp, - dhcpcd_skiproutes + skiplen - skipp, - "%d", skip); - } - skip++; -#endif - } - -#ifdef THERE_IS_NO_FORK - if (*dhcpcd_skiproutes) - *skipp = '\0'; - else { - free (dhcpcd_skiproutes); - dhcpcd_skiproutes = NULL; - } -#endif - -#ifdef ENABLE_IPV4LL - /* Ensure we always add the link local route if we got a private - * address and isn't link local itself */ - if (options->doipv4ll && - ! haslinklocal && - IN_PRIVATE (ntohl (dhcp->address.s_addr))) - { - struct in_addr dest; - struct in_addr mask; - struct in_addr gate; - - dest.s_addr = htonl (LINKLOCAL_ADDR); - mask.s_addr = htonl (LINKLOCAL_MASK); - gate.s_addr = 0; - remember = add_route (iface->name, dest, mask, gate, - options->metric); - - if (remember >= 0) { - if (! new_routes) { - new_routes = xmalloc (sizeof (*new_routes)); - STAILQ_INIT (new_routes); - } - new_route = xmalloc (sizeof (*new_route)); - new_route->destination.s_addr = dest.s_addr; - new_route->netmask.s_addr = mask.s_addr; - new_route->gateway.s_addr = gate.s_addr; - STAILQ_INSERT_TAIL (new_routes, new_route, entries); - } - } -#endif - - if (iface->previous_routes) - free_route (iface->previous_routes); - iface->previous_routes = new_routes; - - if (options->dodns && dhcp->dnsservers) - make_resolv(iface->name, dhcp); - else - logger (LOG_DEBUG, "no dns information to write"); - -#ifdef ENABLE_NTP - if (options->dontp && dhcp->ntpservers) - make_ntp(iface->name, dhcp); -#endif - -#ifdef ENABLE_NIS - if (options->donis && (dhcp->nisservers || dhcp->nisdomain)) - make_nis(iface->name, dhcp); -#endif - - curhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); - *curhostname = '\0'; - - gethostname (curhostname, MAXHOSTNAMELEN); - if (options->dohostname || - strlen (curhostname) == 0 || - strcmp (curhostname, "(none)") == 0 || - strcmp (curhostname, "localhost") == 0) - { - newhostname = xmalloc (sizeof (char) * MAXHOSTNAMELEN); - - if (dhcp->hostname) - strlcpy (newhostname, dhcp->hostname, MAXHOSTNAMELEN); - else - *newhostname = '\0'; - - /* Now we have made a resolv.conf we can obtain a hostname - * if we need it */ - if (! *newhostname || options->dohostname > 3) - lookuphostname (newhostname, dhcp, options); - - if (*newhostname) { - logger (LOG_INFO, "setting hostname to `%s'", - newhostname); - sethostname (newhostname, (int) strlen (newhostname)); - } - - free (newhostname); - } - - free (curhostname); - -#ifdef ENABLE_INFO - if (! dhcp->frominfo) - write_info (iface, dhcp, options, true); -#endif - - if (iface->previous_address.s_addr != dhcp->address.s_addr || - iface->previous_netmask.s_addr != dhcp->netmask.s_addr) - { - memcpy (&iface->previous_address, - &dhcp->address, sizeof (iface->previous_address)); - memcpy (&iface->previous_netmask, - &dhcp->netmask, sizeof (iface->previous_netmask)); - exec_script (options->script, iface->infofile, "new"); - } else - exec_script (options->script, iface->infofile, "up"); - - return (0); -} diff --git a/workspace/networkDiscovery/dhcpcd/configure.h b/workspace/networkDiscovery/dhcpcd/configure.h deleted file mode 100644 index 3166947..0000000 --- a/workspace/networkDiscovery/dhcpcd/configure.h +++ /dev/null @@ -1,38 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DHCPCONFIG_H -#define DHCPCONFIG_H - -#include "dhcpcd.h" -#include "interface.h" -#include "dhcp.h" - -int configure (const options_t *options, interface_t *iface, - const dhcp_t *dhcp, bool up); - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcp.c b/workspace/networkDiscovery/dhcpcd/dhcp.c deleted file mode 100644 index f625e8f..0000000 --- a/workspace/networkDiscovery/dhcpcd/dhcp.c +++ /dev/null @@ -1,933 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#include "common.h" -#include "dhcpcd.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" - -#ifndef STAILQ_CONCAT -#define STAILQ_CONCAT(head1, head2) do { \ - if (!STAILQ_EMPTY((head2))) { \ - *(head1)->stqh_last = (head2)->stqh_first; \ - (head1)->stqh_last = (head2)->stqh_last; \ - STAILQ_INIT((head2)); \ - } \ -} while (0) -#endif - -typedef struct message { - int value; - const char *name; -} dhcp_message_t; - -static dhcp_message_t dhcp_messages[] = { - { DHCP_DISCOVER, "DHCP_DISCOVER" }, - { DHCP_OFFER, "DHCP_OFFER" }, - { DHCP_REQUEST, "DHCP_REQUEST" }, - { DHCP_DECLINE, "DHCP_DECLINE" }, - { DHCP_ACK, "DHCP_ACK" }, - { DHCP_NAK, "DHCP_NAK" }, - { DHCP_RELEASE, "DHCP_RELEASE" }, - { DHCP_INFORM, "DHCP_INFORM" }, - { -1, NULL } -}; - -static const char *dhcp_message (int type) -{ - dhcp_message_t *d; - for (d = dhcp_messages; d->name; d++) - if (d->value == type) - return (d->name); - - return (NULL); -} - -ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, - uint32_t xid, char type, const options_t *options) -{ - struct udp_dhcp_packet *packet; - dhcpmessage_t *message; - unsigned char *m; - unsigned char *p; - unsigned char *n_params = NULL; - size_t l; - struct in_addr from; - struct in_addr to; - time_t up = uptime() - iface->start_uptime; - uint32_t ul; - uint16_t sz; - size_t message_length; - ssize_t retval; - - if (!iface || !options || !dhcp) - return -1; - - memset (&from, 0, sizeof (from)); - memset (&to, 0, sizeof (to)); - - if (type == DHCP_RELEASE) - to.s_addr = dhcp->serveraddress.s_addr; - - message = xzalloc (sizeof (*message)); - m = (unsigned char *) message; - p = (unsigned char *) &message->options; - - if ((type == DHCP_INFORM || - type == DHCP_RELEASE || - type == DHCP_REQUEST) && - ! IN_LINKLOCAL (ntohl (iface->previous_address.s_addr))) - { - message->ciaddr = iface->previous_address.s_addr; - from.s_addr = iface->previous_address.s_addr; - - /* Just incase we haven't actually configured the address yet */ - if (type == DHCP_INFORM && iface->previous_address.s_addr == 0) - message->ciaddr = dhcp->address.s_addr; - - /* Zero the address if we're currently on a different subnet */ - if (type == DHCP_REQUEST && - iface->previous_netmask.s_addr != dhcp->netmask.s_addr) - message->ciaddr = from.s_addr = 0; - - if (from.s_addr != 0) - to.s_addr = dhcp->serveraddress.s_addr; - } - - message->op = DHCP_BOOTREQUEST; - message->hwtype = iface->family; - switch (iface->family) { - case ARPHRD_ETHER: - case ARPHRD_IEEE802: - message->hwlen = ETHER_ADDR_LEN; - memcpy (&message->chaddr, &iface->hwaddr, - ETHER_ADDR_LEN); - break; - case ARPHRD_IEEE1394: - case ARPHRD_INFINIBAND: - message->hwlen = 0; - if (message->ciaddr == 0) - message->flags = htons (BROADCAST_FLAG); - break; - default: - logger (LOG_ERR, "dhcp: unknown hardware type %d", - iface->family); - } - - if (up < 0 || up > (time_t) UINT16_MAX) - message->secs = htons ((uint16_t) UINT16_MAX); - else - message->secs = htons (up); - message->xid = xid; - message->cookie = htonl (MAGIC_COOKIE); - - *p++ = DHCP_MESSAGETYPE; - *p++ = 1; - *p++ = type; - - if (type == DHCP_REQUEST) { - *p++ = DHCP_MAXMESSAGESIZE; - *p++ = 2; - sz = get_mtu (iface->name); - if (sz < MTU_MIN) { - if (set_mtu (iface->name, MTU_MIN) == 0) - sz = MTU_MIN; - } - sz = htons (sz); - memcpy (p, &sz, 2); - p += 2; - } - - *p++ = DHCP_CLIENTID; - *p++ = iface->clientid_len; - memcpy (p, iface->clientid, iface->clientid_len); - p+= iface->clientid_len; - - if (type != DHCP_DECLINE && type != DHCP_RELEASE) { - if (options->userclass_len > 0) { - *p++ = DHCP_USERCLASS; - *p++ = options->userclass_len; - memcpy (p, &options->userclass, options->userclass_len); - p += options->userclass_len; - } - - if (*options->classid > 0) { - *p++ = DHCP_CLASSID; - *p++ = l = strlen (options->classid); - memcpy (p, options->classid, l); - p += l; - } - } - - if (type == DHCP_DISCOVER || type == DHCP_REQUEST) { -#define PUTADDR(_type, _val) { \ - *p++ = _type; \ - *p++ = 4; \ - memcpy (p, &_val.s_addr, 4); \ - p += 4; \ -} - if (IN_LINKLOCAL (ntohl (dhcp->address.s_addr))) - logger (LOG_ERR, - "cannot request a link local address"); - else { - if (dhcp->address.s_addr && - dhcp->address.s_addr != - iface->previous_address.s_addr) - { - PUTADDR (DHCP_ADDRESS, dhcp->address); - if (dhcp->serveraddress.s_addr) - PUTADDR (DHCP_SERVERIDENTIFIER, - dhcp->serveraddress); - } - } -#undef PUTADDR - - if (options->leasetime != 0) { - *p++ = DHCP_LEASETIME; - *p++ = 4; - ul = htonl (options->leasetime); - memcpy (p, &ul, 4); - p += 4; - } - } - - if (type == DHCP_DISCOVER || - type == DHCP_INFORM || - type == DHCP_REQUEST) - { - if (options->hostname[0]) { - if (options->fqdn == FQDN_DISABLE) { - *p++ = DHCP_HOSTNAME; - *p++ = l = strlen (options->hostname); - memcpy (p, options->hostname, l); - p += l; - } else { - /* Draft IETF DHC-FQDN option (81) */ - *p++ = DHCP_FQDN; - *p++ = (l = strlen (options->hostname)) + 3; - /* Flags: 0000NEOS - * S: 1 => Client requests Server to update - * a RR in DNS as well as PTR - * O: 1 => Server indicates to client that - * DNS has been updated - * E: 1 => Name data is DNS format - * N: 1 => Client requests Server to not - * update DNS - */ - *p++ = options->fqdn & 0x9; - *p++ = 0; /* from server for PTR RR */ - *p++ = 0; /* from server for A RR if S=1 */ - memcpy (p, options->hostname, l); - p += l; - } - } - - *p++ = DHCP_PARAMETERREQUESTLIST; - n_params = p; - *p++ = 0; - /* Only request DNSSERVER in discover to keep the packets small. - * RFC2131 Section 3.5 states that the REQUEST must include the - * list from the DISCOVER message, so I think this is ok. */ - - if (type == DHCP_DISCOVER && ! options->test) - *p++ = DHCP_DNSSERVER; - else { - if (type != DHCP_INFORM) { - *p++ = DHCP_RENEWALTIME; - *p++ = DHCP_REBINDTIME; - } - *p++ = DHCP_NETMASK; - *p++ = DHCP_BROADCAST; - - /* -S means request CSR and MSCSR - * -SS means only request MSCSR incase DHCP message - * is too big */ - if (options->domscsr < 2) - *p++ = DHCP_CSR; - if (options->domscsr > 0) - *p++ = DHCP_MSCSR; - /* RFC 3442 states classless static routes should be - * before routers and static routes as classless static - * routes override them both */ - *p++ = DHCP_STATICROUTE; - *p++ = DHCP_ROUTERS; - *p++ = DHCP_HOSTNAME; - *p++ = DHCP_DNSSEARCH; - *p++ = DHCP_DNSDOMAIN; - *p++ = DHCP_DNSSERVER; -#ifdef ENABLE_NIS - *p++ = DHCP_NISDOMAIN; - *p++ = DHCP_NISSERVER; -#endif -#ifdef ENABLE_NTP - *p++ = DHCP_NTPSERVER; -#endif - *p++ = DHCP_MTU; -#ifdef ENABLE_INFO - *p++ = DHCP_ROOTPATH; - *p++ = DHCP_SIPSERVER; -#endif - } - - *n_params = p - n_params - 1; - } - *p++ = DHCP_END; - -#ifdef BOOTP_MESSAGE_LENTH_MIN - /* Some crappy DHCP servers think they have to obey the BOOTP minimum - * message length. - * They are wrong, but we should still cater for them. */ - while (p - m < BOOTP_MESSAGE_LENTH_MIN) - *p++ = DHCP_PAD; -#endif - - message_length = p - m; - - packet = xzalloc (sizeof (*packet)); - make_dhcp_packet (packet, (unsigned char *) message, message_length, - from, to); - free (message); - - logger (LOG_DEBUG, "sending %s with xid 0x%x", - dhcp_message (type), xid); - retval = send_packet (iface, ETHERTYPE_IP, (unsigned char *) packet, - message_length + - sizeof (packet->ip) + sizeof (packet->udp)); - free (packet); - return (retval); -} - -/* Decode an RFC3397 DNS search order option into a space - * seperated string. Returns length of string (including - * terminating zero) or zero on error. out may be NULL - * to just determine output length. */ -static unsigned int decode_search (const unsigned char *p, int len, char *out) -{ - const unsigned char *r, *q = p; - unsigned int count = 0, l, hops; - - while (q - p < len) { - r = NULL; - hops = 0; - while ((l = *q++)) { - unsigned int label_type = l & 0xc0; - if (label_type == 0x80 || label_type == 0x40) - return 0; - else if (label_type == 0xc0) { /* pointer */ - l = (l & 0x3f) << 8; - l |= *q++; - - /* save source of first jump. */ - if (!r) - r = q; - - hops++; - if (hops > 255) - return 0; - - q = p + l; - if (q - p >= len) - return 0; - } else { - /* straightforward name segment, add with '.' */ - count += l + 1; - if (out) { - memcpy (out, q, l); - out += l; - *out++ = '.'; - } - q += l; - } - } - - /* change last dot to space */ - if (out) - *(out - 1) = ' '; - - if (r) - q = r; - } - - /* change last space to zero terminator */ - if (out) - *(out - 1) = 0; - - return count; -} - -/* Add our classless static routes to the routes variable - * and return the last route set */ -static struct route_head *decode_CSR (const unsigned char *p, int len) -{ - const unsigned char *q = p; - unsigned int cidr; - unsigned int ocets; - struct route_head *routes = NULL; - route_t *route; - - /* Minimum is 5 -first is CIDR and a router length of 4 */ - if (len < 5) - return NULL; - - while (q - p < len) { - if (! routes) { - routes = xmalloc (sizeof (*routes)); - STAILQ_INIT (routes); - } - - route = xzalloc (sizeof (*route)); - - cidr = *q++; - if (cidr > 32) { - logger (LOG_ERR, - "invalid CIDR of %d in classless static route", - cidr); - free_route (routes); - return (NULL); - } - ocets = (cidr + 7) / 8; - - if (ocets > 0) { - memcpy (&route->destination.s_addr, q, (size_t) ocets); - q += ocets; - } - - /* Now enter the netmask */ - if (ocets > 0) { - memset (&route->netmask.s_addr, 255, (size_t) ocets - 1); - memset ((unsigned char *) &route->netmask.s_addr + - (ocets - 1), - (256 - (1 << (32 - cidr) % 8)), 1); - } - - /* Finally, snag the router */ - memcpy (&route->gateway.s_addr, q, 4); - q += 4; - - STAILQ_INSERT_TAIL (routes, route, entries); - } - - return (routes); -} - -void free_dhcp (dhcp_t *dhcp) -{ - if (! dhcp) - return; - - free_route (dhcp->routes); - free (dhcp->hostname); - free_address (dhcp->dnsservers); - free (dhcp->dnsdomain); - free (dhcp->dnssearch); - free_address (dhcp->ntpservers); - free (dhcp->nisdomain); - free_address (dhcp->nisservers); - free (dhcp->rootpath); - free (dhcp->sipservers); - if (dhcp->fqdn) { - free (dhcp->fqdn->name); - free (dhcp->fqdn); - } -} - - -static bool dhcp_add_address (struct address_head **addresses, - const unsigned char *data, - int length) -{ - int i; - address_t *address; - - for (i = 0; i < length; i += 4) { - /* Sanity check */ - if (i + 4 > length) { - logger (LOG_ERR, "invalid address length"); - return (false); - } - - if (*addresses == NULL) { - *addresses = xmalloc (sizeof (**addresses)); - STAILQ_INIT (*addresses); - } - address = xzalloc (sizeof (*address)); - memcpy (&address->address.s_addr, data + i, 4); - STAILQ_INSERT_TAIL (*addresses, address, entries); - } - - return (true); -} - -#ifdef ENABLE_INFO -static char *decode_sipservers (const unsigned char *data, int length) -{ - char *sip = NULL; - char *p; - const char encoding = *data++; - struct in_addr addr; - size_t len; - - length--; - - switch (encoding) { - case 0: - if ((len = decode_search (data, length, NULL)) > 0) { - sip = xmalloc (len); - decode_search (data, length, sip); - } - break; - - case 1: - if (length == 0 || length % 4 != 0) { - logger (LOG_ERR, - "invalid length %d for option 120", - length + 1); - break; - } - len = ((length / 4) * (4 * 4)) + 1; - sip = p = xmalloc (len); - while (length != 0) { - memcpy (&addr.s_addr, data, 4); - data += 4; - p += snprintf (p, len - (p - sip), - "%s ", inet_ntoa (addr)); - length -= 4; - } - *--p = '\0'; - break; - - default: - logger (LOG_ERR, "unknown sip encoding %d", encoding); - break; - } - - return (sip); -} -#endif - -/* This calculates the netmask that we should use for static routes. - * This IS different from the calculation used to calculate the netmask - * for an interface address. */ -static uint32_t route_netmask (uint32_t ip_in) -{ - /* used to be unsigned long - check if error */ - uint32_t p = ntohl (ip_in); - uint32_t t; - - if (IN_CLASSA (p)) - t = ~IN_CLASSA_NET; - else { - if (IN_CLASSB (p)) - t = ~IN_CLASSB_NET; - else { - if (IN_CLASSC (p)) - t = ~IN_CLASSC_NET; - else - t = 0; - } - } - - while (t & p) - t >>= 1; - - return (htonl (~t)); -} - -static struct route_head *decode_routes (const unsigned char *data, int length) -{ - int i; - struct route_head *head = NULL; - route_t *route; - - for (i = 0; i < length; i += 8) { - if (! head) { - head = xmalloc (sizeof (*head)); - STAILQ_INIT (head); - } - route = xzalloc (sizeof (*route)); - memcpy (&route->destination.s_addr, data + i, 4); - memcpy (&route->gateway.s_addr, data + i + 4, 4); - route->netmask.s_addr = - route_netmask (route->destination.s_addr); - STAILQ_INSERT_TAIL (head, route, entries); - } - - return (head); -} - -static struct route_head *decode_routers (const unsigned char *data, int length) -{ - int i; - struct route_head *head = NULL; - route_t *route = NULL; - - for (i = 0; i < length; i += 4) { - if (! head) { - head = xmalloc (sizeof (*head)); - STAILQ_INIT (head); - } - route = xzalloc (sizeof (*route)); - memcpy (&route->gateway.s_addr, data + i, 4); - STAILQ_INSERT_TAIL (head, route, entries); - } - - return (head); -} - -int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message) -{ - const unsigned char *p = message->options; - const unsigned char *end = p; /* Add size later for gcc-3 issue */ - unsigned char option; - unsigned char length; - unsigned int len = 0; - int retval = -1; - struct timeval tv; - struct route_head *routers = NULL; - struct route_head *routes = NULL; - struct route_head *csr = NULL; - struct route_head *mscsr = NULL; - bool in_overload = false; - bool parse_sname = false; - bool parse_file = false; - - end += sizeof (message->options); - - if (gettimeofday (&tv, NULL) == -1) { - logger (LOG_ERR, "gettimeofday: %s", strerror (errno)); - return (-1); - } - - dhcp->address.s_addr = message->yiaddr; - dhcp->leasedfrom = tv.tv_sec; - dhcp->frominfo = false; - dhcp->address.s_addr = message->yiaddr; - strlcpy (dhcp->servername, (char *) message->servername, - sizeof (dhcp->servername)); - -#define LEN_ERR \ - { \ - logger (LOG_ERR, "invalid length %d for option %d", \ - length, option); \ - p += length; \ - continue; \ - } - -parse_start: - while (p < end) { - option = *p++; - if (! option) - continue; - - if (option == DHCP_END) - goto eexit; - - length = *p++; - - if (option != DHCP_PAD && length == 0) { - logger (LOG_ERR, "option %d has zero length", option); - retval = -1; - goto eexit; - } - - if (p + length >= end) { - logger (LOG_ERR, "dhcp option exceeds message length"); - retval = -1; - goto eexit; - } - - switch (option) { - case DHCP_MESSAGETYPE: - retval = (int) *p; - p += length; - continue; - - default: - if (length == 0) { - logger (LOG_DEBUG, - "option %d has zero length, skipping", - option); - continue; - } - } - -#define LENGTH(_length) \ - if (length != _length) \ - LEN_ERR; -#define MIN_LENGTH(_length) \ - if (length < _length) \ - LEN_ERR; -#define MULT_LENGTH(_mult) \ - if (length % _mult != 0) \ - LEN_ERR; -#define GET_UINT8(_val) \ - LENGTH (sizeof (uint8_t)); \ - memcpy (&_val, p, sizeof (uint8_t)); -#define GET_UINT16(_val) \ - LENGTH (sizeof (uint16_t)); \ - memcpy (&_val, p, sizeof (uint16_t)); -#define GET_UINT32(_val) \ - LENGTH (sizeof (uint32_t)); \ - memcpy (&_val, p, sizeof (uint32_t)); -#define GET_UINT16_H(_val) \ - GET_UINT16 (_val); \ - _val = ntohs (_val); -#define GET_UINT32_H(_val) \ - GET_UINT32 (_val); \ - _val = ntohl (_val); - - switch (option) { - case DHCP_ADDRESS: - GET_UINT32 (dhcp->address.s_addr); - break; - case DHCP_NETMASK: - GET_UINT32 (dhcp->netmask.s_addr); - break; - case DHCP_BROADCAST: - GET_UINT32 (dhcp->broadcast.s_addr); - break; - case DHCP_SERVERIDENTIFIER: - GET_UINT32 (dhcp->serveraddress.s_addr); - break; - case DHCP_LEASETIME: - GET_UINT32_H (dhcp->leasetime); - break; - case DHCP_RENEWALTIME: - GET_UINT32_H (dhcp->renewaltime); - break; - case DHCP_REBINDTIME: - GET_UINT32_H (dhcp->rebindtime); - break; - case DHCP_MTU: - GET_UINT16_H (dhcp->mtu); - /* Minimum legal mtu is 68 accoridng to - * RFC 2132. In practise it's 576 which is the - * minimum maximum message size. */ - if (dhcp->mtu < MTU_MIN) { - logger (LOG_DEBUG, - "MTU %d is too low, minimum is %d; ignoring", - dhcp->mtu, MTU_MIN); - dhcp->mtu = 0; - } - break; - -#undef GET_UINT32_H -#undef GET_UINT32 -#undef GET_UINT16_H -#undef GET_UINT16 -#undef GET_UINT8 - -#define GETSTR(_var) { \ - MIN_LENGTH (sizeof (char)); \ - if (_var) free (_var); \ - _var = xmalloc ((size_t) length + 1); \ - memcpy (_var, p, (size_t) length); \ - memset (_var + length, 0, 1); \ -} - case DHCP_HOSTNAME: - GETSTR (dhcp->hostname); - break; - case DHCP_DNSDOMAIN: - GETSTR (dhcp->dnsdomain); - break; - case DHCP_MESSAGE: - GETSTR (dhcp->message); - break; -#ifdef ENABLE_INFO - case DHCP_ROOTPATH: - GETSTR (dhcp->rootpath); - break; -#endif -#ifdef ENABLE_NIS - case DHCP_NISDOMAIN: - GETSTR (dhcp->nisdomain); - break; -#endif -#undef GETSTR - -#define GETADDR(_var) \ - MULT_LENGTH (4); \ - if (! dhcp_add_address (&_var, p, length)) \ - { \ - retval = -1; \ - goto eexit; \ - } - case DHCP_DNSSERVER: - GETADDR (dhcp->dnsservers); - break; -#ifdef ENABLE_NTP - case DHCP_NTPSERVER: - GETADDR (dhcp->ntpservers); - break; -#endif -#ifdef ENABLE_NIS - case DHCP_NISSERVER: - GETADDR (dhcp->nisservers); - break; -#endif -#undef GETADDR - - case DHCP_DNSSEARCH: - MIN_LENGTH (1); - free (dhcp->dnssearch); - len = decode_search (p, length, NULL); - if (len > 0) { - dhcp->dnssearch = xmalloc (len); - decode_search (p, length, - dhcp->dnssearch); - } - break; - - case DHCP_CSR: - MIN_LENGTH (5); - free_route (csr); - csr = decode_CSR (p, length); - break; - - case DHCP_MSCSR: - MIN_LENGTH (5); - free_route (mscsr); - mscsr = decode_CSR (p, length); - break; - -#ifdef ENABLE_INFO - case DHCP_SIPSERVER: - free (dhcp->sipservers); - dhcp->sipservers = decode_sipservers (p,length); - break; -#endif - - case DHCP_STATICROUTE: - MULT_LENGTH (8); - free_route (routes); - routes = decode_routes (p, length); - break; - - case DHCP_ROUTERS: - MULT_LENGTH (4); - free_route (routers); - routers = decode_routers (p, length); - break; - - case DHCP_OPTIONSOVERLOADED: - LENGTH (1); - /* The overloaded option in an overloaded option - * should be ignored, overwise we may get an - * infinite loop */ - if (! in_overload) { - if (*p & 1) - parse_file = true; - if (*p & 2) - parse_sname = true; - } - break; - - case DHCP_FQDN: - /* We ignore replies about FQDN */ - break; - -#undef LENGTH -#undef MIN_LENGTH -#undef MULT_LENGTH - - default: - logger (LOG_DEBUG, - "no facility to parse DHCP code %u", - option); - break; - } - - p += length; - } - -eexit: - /* We may have options overloaded, so go back and grab them */ - if (parse_file) { - parse_file = false; - p = message->bootfile; - end = p + sizeof (message->bootfile); - in_overload = true; - goto parse_start; - } else if (parse_sname) { - parse_sname = false; - p = message->servername; - end = p + sizeof (message->servername); - memset (dhcp->servername, 0, sizeof (dhcp->servername)); - in_overload = true; - goto parse_start; - } - - /* Fill in any missing fields */ - if (! dhcp->netmask.s_addr) - dhcp->netmask.s_addr = get_netmask (dhcp->address.s_addr); - if (! dhcp->broadcast.s_addr) - dhcp->broadcast.s_addr = dhcp->address.s_addr | - ~dhcp->netmask.s_addr; - - /* If we have classess static routes then we discard - * static routes and routers according to RFC 3442 */ - if (csr) { - dhcp->routes = csr; - free_route (mscsr); - free_route (routers); - free_route (routes); - } else if (mscsr) { - dhcp->routes = mscsr; - free_route (routers); - free_route (routes); - } else { - /* Ensure that we apply static routes before routers */ - if (! routes) - routes = routers; - else if (routers) - STAILQ_CONCAT (routes, routers); - dhcp->routes = routes; - } - - return (retval); -} diff --git a/workspace/networkDiscovery/dhcpcd/dhcp.h b/workspace/networkDiscovery/dhcpcd/dhcp.h deleted file mode 100644 index ef97b75..0000000 --- a/workspace/networkDiscovery/dhcpcd/dhcp.h +++ /dev/null @@ -1,215 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DHCP_H -#define DHCP_H - -#include -#include -#include -#include -#include - -#include "dhcpcd.h" -#include "interface.h" - -/* Max MTU - defines dhcp option length */ -#define MTU_MAX 1500 -#define MTU_MIN 576 - -/* UDP port numbers for DHCP */ -#define DHCP_SERVER_PORT 67 -#define DHCP_CLIENT_PORT 68 - -#define MAGIC_COOKIE 0x63825363 -#define BROADCAST_FLAG 0x8000 - -/* DHCP message OP code */ -#define DHCP_BOOTREQUEST 1 -#define DHCP_BOOTREPLY 2 - -/* DHCP message type */ -#define DHCP_DISCOVER 1 -#define DHCP_OFFER 2 -#define DHCP_REQUEST 3 -#define DHCP_DECLINE 4 -#define DHCP_ACK 5 -#define DHCP_NAK 6 -#define DHCP_RELEASE 7 -#define DHCP_INFORM 8 - -/* DHCP options */ -enum DHCP_OPTIONS -{ - DHCP_PAD = 0, - DHCP_NETMASK = 1, - DHCP_TIMEROFFSET = 2, - DHCP_ROUTERS = 3, - DHCP_TIMESERVER = 4, - DHCP_NAMESERVER = 5, - DHCP_DNSSERVER = 6, - DHCP_LOGSERVER = 7, - DHCP_COOKIESERVER = 8, - DHCP_HOSTNAME = 12, - DHCP_DNSDOMAIN = 15, - DHCP_ROOTPATH = 17, - DHCP_DEFAULTIPTTL = 23, - DHCP_MTU = 26, - DHCP_BROADCAST = 28, - DHCP_MASKDISCOVERY = 29, - DHCP_ROUTERDISCOVERY = 31, - DHCP_STATICROUTE = 33, - DHCP_NISDOMAIN = 40, - DHCP_NISSERVER = 41, - DHCP_NTPSERVER = 42, - DHCP_ADDRESS = 50, - DHCP_LEASETIME = 51, - DHCP_OPTIONSOVERLOADED = 52, - DHCP_MESSAGETYPE = 53, - DHCP_SERVERIDENTIFIER = 54, - DHCP_PARAMETERREQUESTLIST = 55, - DHCP_MESSAGE = 56, - DHCP_MAXMESSAGESIZE = 57, - DHCP_RENEWALTIME = 58, - DHCP_REBINDTIME = 59, - DHCP_CLASSID = 60, - DHCP_CLIENTID = 61, - DHCP_USERCLASS = 77, /* RFC 3004 */ - DHCP_FQDN = 81, - DHCP_DNSSEARCH = 119, /* RFC 3397 */ - DHCP_SIPSERVER = 120, /* RFC 3361 */ - DHCP_CSR = 121, /* RFC 3442 */ - DHCP_MSCSR = 249, /* MS code for RFC 3442 */ - DHCP_END = 255 -}; - -/* SetFQDNHostName values - lsnybble used in flags - * byte (see buildmsg.c), hsnybble to create order - * and to allow 0x00 to mean disable - */ -enum FQQN { - FQDN_DISABLE = 0x00, - FQDN_NONE = 0x18, - FQDN_PTR = 0x20, - FQDN_BOTH = 0x31 -}; - -typedef struct fqdn_t -{ - uint8_t flags; - uint8_t r1; - uint8_t r2; - char *name; -} fqdn_t; - -typedef struct dhcp_t -{ - char version[11]; - - struct in_addr serveraddress; - char serverhw[IF_NAMESIZE]; - char servername[64]; - - struct in_addr address; - struct in_addr netmask; - struct in_addr broadcast; - unsigned short mtu; - - uint32_t leasedfrom; - uint32_t leasetime; - uint32_t renewaltime; - uint32_t rebindtime; - - struct route_head *routes; - - char *hostname; - fqdn_t *fqdn; - - struct address_head *dnsservers; - char *dnsdomain; - char *dnssearch; - - struct address_head *ntpservers; - - struct address_head *nisservers; - char *nisdomain; - - char *sipservers; - - char *message; - char *rootpath; - - bool frominfo; -} dhcp_t; - -/* Sizes for DHCP options */ -#define DHCP_CHADDR_LEN 16 -#define SERVERNAME_LEN 64 -#define BOOTFILE_LEN 128 -#define DHCP_UDP_LEN (20 + 8) -#define DHCP_BASE_LEN (4 + 4 + 2 + 2 + 4 + 4 + 4 + 4 + 4) -#define DHCP_RESERVE_LEN (4 + 4 + 4 + 4 + 2) -#define DHCP_FIXED_LEN (DHCP_BASE_LEN + DHCP_CHADDR_LEN + \ - + SERVERNAME_LEN + BOOTFILE_LEN) -#define DHCP_OPTION_LEN (MTU_MAX - DHCP_FIXED_LEN - DHCP_UDP_LEN \ - - DHCP_RESERVE_LEN) - -/* Some crappy DHCP servers require the BOOTP minimum length */ -#define BOOTP_MESSAGE_LENTH_MIN 300 - -typedef struct dhcpmessage_t -{ - unsigned char op; /* message type */ - unsigned char hwtype; /* hardware address type */ - unsigned char hwlen; /* hardware address length */ - unsigned char hwopcount; /* should be zero in client message */ - uint32_t xid; /* transaction id */ - uint16_t secs; /* elapsed time in sec. from boot */ - uint16_t flags; - uint32_t ciaddr; /* (previously allocated) client IP */ - uint32_t yiaddr; /* 'your' client IP address */ - uint32_t siaddr; /* should be zero in client's messages */ - uint32_t giaddr; /* should be zero in client's messages */ - unsigned char chaddr[DHCP_CHADDR_LEN]; /* client's hardware address */ - unsigned char servername[SERVERNAME_LEN]; /* server host name */ - unsigned char bootfile[BOOTFILE_LEN]; /* boot file name */ - uint32_t cookie; - unsigned char options[DHCP_OPTION_LEN]; /* message options - cookie */ -} dhcpmessage_t; - -struct udp_dhcp_packet -{ - struct ip ip; - struct udphdr udp; - dhcpmessage_t dhcp; -}; - -ssize_t send_message (const interface_t *iface, const dhcp_t *dhcp, - uint32_t xid, char type, const options_t *options); -void free_dhcp (dhcp_t *dhcp); -int parse_dhcpmessage (dhcp_t *dhcp, const dhcpmessage_t *message); -#endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.c b/workspace/networkDiscovery/dhcpcd/dhcpcd.c deleted file mode 100644 index 925717a..0000000 --- a/workspace/networkDiscovery/dhcpcd/dhcpcd.c +++ /dev/null @@ -1,366 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "client.h" -#include "dhcpcd.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" -#include "version.h" - -static int doversion = 0; -static int dohelp = 0; -#define EXTRA_OPTS -static const struct option longopts[] = { - {"arp", no_argument, NULL, 'a'}, - {"script", required_argument, NULL, 'c'}, - {"debug", no_argument, NULL, 'd'}, - {"hostname", optional_argument, NULL, 'h'}, - {"classid", optional_argument, NULL, 'i'}, - {"release", no_argument, NULL, 'k'}, - {"leasetime", required_argument, NULL, 'l'}, - {"metric", required_argument, NULL, 'm'}, - {"renew", no_argument, NULL, 'n'}, - {"persistent", no_argument, NULL, 'p'}, - {"inform", optional_argument, NULL, 's'}, - {"request", optional_argument, NULL, 'r'}, - {"timeout", required_argument, NULL, 't'}, - {"userclass", required_argument, NULL, 'u'}, - {"exit", no_argument, NULL, 'x'}, - {"lastlease", no_argument, NULL, 'E'}, - {"fqdn", required_argument, NULL, 'F'}, - {"nogateway", no_argument, NULL, 'G'}, - {"sethostname", no_argument, NULL, 'H'}, - {"clientid", optional_argument, NULL, 'I'}, - {"noipv4ll", no_argument, NULL, 'L'}, - {"nomtu", no_argument, NULL, 'M'}, - {"nontp", no_argument, NULL, 'N'}, - {"nodns", no_argument, NULL, 'R'}, - {"msscr", no_argument, NULL, 'S'}, - {"test", no_argument, NULL, 'T'}, - {"nonis", no_argument, NULL, 'Y'}, - {"help", no_argument, &dohelp, 1}, - {"version", no_argument, &doversion, 1}, -#ifdef THERE_IS_NO_FORK - {"daemonised", no_argument, NULL, 'f'}, - {"skiproutes", required_argument, NULL, 'g'}, -#endif - {NULL, 0, NULL, 0} -}; - -#ifdef THERE_IS_NO_FORK -char dhcpcd[PATH_MAX]; -char **dhcpcd_argv = NULL; -int dhcpcd_argc = 0; -char *dhcpcd_skiproutes = NULL; -#undef EXTRA_OPTS -#define EXTRA_OPTS "fg:" -#endif - -static int atoint (const char *s) -{ - char *t; - long n; - - errno = 0; - n = strtol (s, &t, 0); - if ((errno != 0 && n == 0) || s == t || - (errno == ERANGE && (n == LONG_MAX || n == LONG_MIN))) - { - logger (LOG_ERR, "`%s' out of range", s); - return (-1); - } - - return ((int) n); -} - -static pid_t read_pid (const char *pidfile) -{ - FILE *fp; - pid_t pid = 0; - - if ((fp = fopen (pidfile, "r")) == NULL) { - errno = ENOENT; - return 0; - } - - fscanf (fp, "%d", &pid); - fclose (fp); - - - return (pid); -} - -static void usage (void) -{ - printf ("usage: "PACKAGE" [-adknpEGHMNRSTY] [-c script] [-h hostname] [-i classID]\n" - " [-l leasetime] [-m metric] [-r ipaddress] [-s ipaddress]\n" - " [-t timeout] [-u userclass] [-F none | ptr | both]\n" - " [-I clientID] \n"); -} -/** - * to be deleted - */ - -int nd_main(char *ifname) -{ - options_t *options; - int userclasses = 0; - int opt; - int option_index = 0; - char *prefix; - pid_t pid; - int debug = 0; - int i; - int pidfd = -1; - int sig = 0; - int retval = EXIT_FAILURE; - - /* Close any un-needed fd's */ - for (i = getdtablesize() - 1; i >= 3; --i) - close (i); - - openlog (PACKAGE, LOG_PID, LOG_LOCAL0); - - options = xzalloc (sizeof (*options)); - options->script = (char *) DEFAULT_SCRIPT; - snprintf (options->classid, CLASS_ID_MAX_LEN, "%s %s", - PACKAGE, VERSION); - - options->doarp = true; - options->dodns = true; - options->domtu = true; - options->donis = true; - options->dontp = true; - options->dogateway = true; - options->daemonise = true; - options->doinform = false; - options->doipv4ll = true; - options->doduid = true; - options->timeout = DEFAULT_TIMEOUT; - - gethostname (options->hostname, sizeof (options->hostname)); - if (strcmp (options->hostname, "(none)") == 0 || - strcmp (options->hostname, "localhost") == 0) - memset (options->hostname, 0, sizeof (options->hostname)); - - -/* -#ifdef THERE_IS_NO_FORK - dhcpcd_argv = argv; - dhcpcd_argc = argc; - if (! realpath (argv[0], dhcpcd)) { - logger (LOG_ERR, "unable to resolve the path `%s': %s", - argv[0], strerror (errno)); - goto abort; - } -#endif -*/ - - if (strlen (ifname) > IF_NAMESIZE) { - logger (LOG_ERR, - "`%s' too long for an interface name (max=%d)", - ifname, IF_NAMESIZE); - goto abort; - } else { - strlcpy (options->interface, ifname, - sizeof (options->interface)); - } - - if (strchr (options->hostname, '.')) { - if (options->fqdn == FQDN_DISABLE) - options->fqdn = FQDN_BOTH; - } else - options->fqdn = FQDN_DISABLE; - - if (options->request_address.s_addr == 0 && options->doinform) { - if ((options->request_address.s_addr = - get_address (options->interface)) != 0) - options->keep_address = true; - } - - if (IN_LINKLOCAL (ntohl (options->request_address.s_addr))) { - logger (LOG_ERR, - "you are not allowed to request a link local address"); - goto abort; - } - - if (geteuid ()) - logger (LOG_WARNING, PACKAGE " will not work correctly unless" - " run as root"); - - prefix = xmalloc (sizeof (char) * (IF_NAMESIZE + 3)); - snprintf (prefix, IF_NAMESIZE, "%s: ", options->interface); - setlogprefix (prefix); - snprintf (options->pidfile, sizeof (options->pidfile), PIDFILE, - options->interface); - free (prefix); - - chdir ("/"); - umask (022); - - if (mkdir (INFODIR, S_IRUSR | S_IWUSR |S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST) - { - logger (LOG_ERR, - "mkdir(\"%s\",0): %s\n", INFODIR, strerror (errno)); - goto abort; - } - - if (mkdir (ETCDIR, S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP | S_IXGRP - | S_IROTH | S_IXOTH) && errno != EEXIST) - { - logger (LOG_ERR, - "mkdir(\"%s\",0): %s\n", ETCDIR, strerror (errno)); - goto abort; - } - - if (options->test) { - if (options->dorequest || options->doinform) { - logger (LOG_ERR, - "cannot test with --inform or --request"); - goto abort; - } - - if (options->dolastlease) { - logger (LOG_ERR, "cannot test with --lastlease"); - goto abort; - } - - if (sig != 0) { - logger (LOG_ERR, - "cannot test with --release or --renew"); - goto abort; - } - } - - if (sig != 0) { - int killed = -1; - pid = read_pid (options->pidfile); - if (pid != 0) - logger (LOG_INFO, "sending signal %d to pid %d", - sig, pid); - - if (! pid || (killed = kill (pid, sig))) - logger (sig == SIGALRM ? LOG_INFO : LOG_ERR, - ""PACKAGE" not running"); - - if (pid != 0 && (sig != SIGALRM || killed != 0)) - unlink (options->pidfile); - - if (killed == 0) { - retval = EXIT_SUCCESS; - goto abort; - } - - if (sig != SIGALRM) - goto abort; - } - - if (! options->test && ! options->daemonised) { - if ((pid = read_pid (options->pidfile)) > 0 && - kill (pid, 0) == 0) - { - logger (LOG_ERR, ""PACKAGE - " already running on pid %d (%s)", - pid, options->pidfile); - goto abort; - } - - pidfd = open (options->pidfile, - O_WRONLY | O_CREAT | O_NONBLOCK, 0664); - if (pidfd == -1) { - logger (LOG_ERR, "open `%s': %s", - options->pidfile, strerror (errno)); - goto abort; - } - - /* Lock the file so that only one instance of dhcpcd runs - * on an interface */ - if (flock (pidfd, LOCK_EX | LOCK_NB) == -1) { - logger (LOG_ERR, "flock `%s': %s", - options->pidfile, strerror (errno)); - goto abort; - } - - /* dhcpcd.sh should not interhit this fd */ - if ((i = fcntl (pidfd, F_GETFD, 0)) == -1 || - fcntl (pidfd, F_SETFD, i | FD_CLOEXEC) == -1) - logger (LOG_ERR, "fcntl: %s", strerror (errno)); - - writepid (pidfd, getpid ()); - logger (LOG_INFO, PACKAGE " " VERSION " starting"); - } - - /* Seed random */ - srandomdev (); - - /* Massage our filters per platform */ - setup_packet_filters (); - - if (dhcp_run (options, &pidfd) == 0) - retval = EXIT_SUCCESS; - -abort: - /* If we didn't daemonise then we need to punt the pidfile now */ - if (pidfd > -1) { - close (pidfd); - unlink (options->pidfile); - } - - free (options); - -#ifdef THERE_IS_NO_FORK - /* There may have been an error before the dhcp_run function - * clears this, so just do it here to be safe */ - free (dhcpcd_skiproutes); -#endif - - logger (LOG_INFO, "exiting"); - - exit (retval); - /* NOTREACHED */ -} diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.h b/workspace/networkDiscovery/dhcpcd/dhcpcd.h deleted file mode 100644 index 0b41ead..0000000 --- a/workspace/networkDiscovery/dhcpcd/dhcpcd.h +++ /dev/null @@ -1,96 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DHCPCD_H -#define DHCPCD_H - -#include -#include -#include -#include -#include -#include - -#include "common.h" - -#define DEFAULT_TIMEOUT 20 -#define DEFAULT_LEASETIME 3600 /* 1 hour */ - -#define CLASS_ID_MAX_LEN 48 -#define CLIENT_ID_MAX_LEN 48 -#define USERCLASS_MAX_LEN 255 - -#ifdef THERE_IS_NO_FORK -extern char dhcpcd[PATH_MAX]; -extern char **dhcpcd_argv; -extern int dhcpcd_argc; -extern char *dhcpcd_skiproutes; -#endif - -typedef struct options_t { - char interface[IF_NAMESIZE]; - char hostname[MAXHOSTNAMELEN]; - int fqdn; - char classid[CLASS_ID_MAX_LEN]; - char clientid[CLIENT_ID_MAX_LEN]; - char userclass[USERCLASS_MAX_LEN]; - size_t userclass_len; - uint32_t leasetime; - time_t timeout; - int metric; - - bool doarp; - bool dodns; - bool dodomainname; - bool dogateway; - int dohostname; - bool domtu; - bool donis; - bool dontp; - bool dolastlease; - bool doinform; - bool dorequest; - bool doipv4ll; - bool doduid; - int domscsr; - - struct in_addr request_address; - struct in_addr request_netmask; - - bool persistent; - bool keep_address; - bool daemonise; - bool daemonised; - bool test; - - char *script; - char pidfile[PATH_MAX]; -} options_t; - -int nd_main (char *ifname); - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/dhcpcd.sh b/workspace/networkDiscovery/dhcpcd/dhcpcd.sh deleted file mode 100644 index 8c86aac..0000000 --- a/workspace/networkDiscovery/dhcpcd/dhcpcd.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# -# This is a sample /etc/dhcpcd.sh script. -# /etc/dhcpcd.sh script is executed by dhcpcd daemon -# any time it configures or shuts down interface. -# The following parameters are passed to dhcpcd.exe script: -# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info" -# $2 = "up" if interface has been configured with the same -# IP address as before reboot; -# $2 = "down" if interface has been shut down; -# $2 = "new" if interface has been configured with new IP address; -# -# Sanity checks - -if [ $# -lt 2 ]; then - logger -s -p local0.err -t dhcpcd.sh "wrong usage" - exit 1 -fi - -hostinfo="$1" -state="$2" - -# Reading HostInfo file for configuration parameters -[ -e "${hostinfo}" ] && . "${hostinfo}" - -case "${state}" in - up) - logger -s -p local0.info -t dhcpcd.sh \ - "interface ${INTERFACE} has been configured with old IP=${IPADDR}" - # Put your code here for when the interface has been brought up with an - # old IP address here - ;; - - new) - logger -s -p local0.info -t dhcpcd.sh \ - "interface ${INTERFACE} has been configured with new IP=${IPADDR}" - # Put your code here for when the interface has been brought up with a - # new IP address - ;; - - down) logger -s -p local0.info -t dhcpcd.sh \ - "interface ${INTERFACE} has been brought down" - # Put your code here for the when the interface has been shut down - ;; -esac -exit 0 diff --git a/workspace/networkDiscovery/dhcpcd/duid.c b/workspace/networkDiscovery/dhcpcd/duid.c deleted file mode 100644 index e4dd83b..0000000 --- a/workspace/networkDiscovery/dhcpcd/duid.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "duid.h" -#include "logger.h" - -#ifdef ENABLE_DUID - -#define THIRTY_YEARS_IN_SECONDS 946707779 - -size_t get_duid (unsigned char *duid, const interface_t *iface) -{ - FILE *f; - uint16_t type = 0; - uint16_t hw = 0; - uint32_t ul; - time_t t; - int x = 0; - unsigned char *p = duid; - size_t len = 0; - - if (! iface) - return (0); - - /* If we already have a DUID then use it as it's never supposed - * to change once we have one even if the interfaces do */ - if ((f = fopen (DUIDFILE, "r"))) { - char *line = get_line (f); - if (line) { - len = hwaddr_aton (NULL, line); - if (len && len <= DUID_LEN) - hwaddr_aton (duid, line); - free (line); - } - fclose (f); - if (len) - return (len); - } else { - if (errno != ENOENT) { - logger (LOG_ERR, "fopen `%s': %s", - DUIDFILE, strerror (errno)); - return (0); - } - } - - /* No file? OK, lets make one based on our interface */ - type = htons (1); /* DUI-D-LLT */ - memcpy (p, &type, 2); - p += 2; - - hw = htons (iface->family); - memcpy (p, &hw, 2); - p += 2; - - /* time returns seconds from jan 1 1970, but DUID-LLT is - * seconds from jan 1 2000 modulo 2^32 */ - t = time (NULL) - THIRTY_YEARS_IN_SECONDS; - ul = htonl (t & 0xffffffff); - memcpy (p, &ul, 4); - p += 4; - - /* Finally, add the MAC address of the interface */ - memcpy (p, iface->hwaddr, iface->hwlen); - p += iface->hwlen; - - len = p - duid; - - if (! (f = fopen (DUIDFILE, "w"))) - logger (LOG_ERR, "fopen `%s': %s", DUIDFILE, strerror (errno)); - else { - x = fprintf (f, "%s\n", hwaddr_ntoa (duid, len)); - fclose (f); - } - - /* Failed to write the duid? scrub it, we cannot use it */ - if (x < 1) { - len = 0; - unlink (DUIDFILE); - } - - return (len); -} -#endif diff --git a/workspace/networkDiscovery/dhcpcd/duid.h b/workspace/networkDiscovery/dhcpcd/duid.h deleted file mode 100644 index 1492990..0000000 --- a/workspace/networkDiscovery/dhcpcd/duid.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef DUID_H -#define DUID_H - -#include "config.h" - -#ifdef ENABLE_DUID -#ifndef DUID_LEN -# define DUID_LEN 128 + 2 -#endif - -#include "interface.h" - -size_t get_duid (unsigned char *duid, const interface_t *iface); -#endif -#endif diff --git a/workspace/networkDiscovery/dhcpcd/info.c b/workspace/networkDiscovery/dhcpcd/info.c deleted file mode 100644 index 8369b43..0000000 --- a/workspace/networkDiscovery/dhcpcd/info.c +++ /dev/null @@ -1,472 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include - -#include - -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "info.h" - -#ifdef ENABLE_INFO - -/* Create a malloced string of cstr, changing ' to '\'' - * so the contents work in a shell */ -static char *cleanmetas (const char *cstr) -{ - const char *p = cstr; - char *new; - char *n; - size_t len; - - if (cstr == NULL || (len = strlen (cstr)) == 0) - return (xstrdup ("")); - - n = new = xmalloc (sizeof (char) * len + 2); - do - if (*p == '\'') { - size_t pos = n - new; - len += 4; - new = xrealloc (new, sizeof (char) * len + 1); - n = new + pos; - *n++ = '\''; - *n++ = '\\'; - *n++ = '\''; - *n++ = '\''; - } else - *n++ = *p; - while (*p++); - - /* Terminate the sucker */ - *n = '\0'; - - return (new); -} - - -static void print_addresses (FILE *f, const struct address_head *addresses) -{ - const address_t *addr; - - STAILQ_FOREACH (addr, addresses, entries) { - fprintf (f, "%s", inet_ntoa (addr->address)); - if (STAILQ_NEXT (addr, entries)) - fprintf (f, " "); - } -} - -static void print_clean (FILE *f, const char *name, const char *value) -{ - char *clean; - - if (! value) - return; - - clean = cleanmetas (value); - fprintf (f, "%s='%s'\n", name, clean); - free (clean); -} - -bool write_info(const interface_t *iface, const dhcp_t *dhcp, - const options_t *options, bool overwrite) -{ - FILE *f; - route_t *route; - struct stat sb; - - if (options->test) - f = stdout; - else { - if (! overwrite && stat (iface->infofile, &sb) == 0) - return (true); - - logger (LOG_DEBUG, "writing %s", iface->infofile); - if ((f = fopen (iface->infofile, "w")) == NULL) { - logger (LOG_ERR, "fopen `%s': %s", - iface->infofile, strerror (errno)); - return (false); - } - } - - if (dhcp->address.s_addr) { - struct in_addr n; - n.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; - fprintf (f, "IPADDR='%s'\n", inet_ntoa (dhcp->address)); - fprintf (f, "NETMASK='%s'\n", inet_ntoa (dhcp->netmask)); - fprintf (f, "NETWORK='%s'\n", inet_ntoa (n)); - fprintf (f, "BROADCAST='%s'\n", inet_ntoa (dhcp->broadcast)); - } - if (dhcp->mtu > 0) - fprintf (f, "MTU='%d'\n", dhcp->mtu); - - if (dhcp->routes) { - bool doneone = false; - fprintf (f, "ROUTES='"); - STAILQ_FOREACH (route, dhcp->routes, entries) { - if (route->destination.s_addr != 0) { - if (doneone) - fprintf (f, " "); - fprintf (f, "%s", inet_ntoa (route->destination)); - fprintf (f, ",%s", inet_ntoa (route->netmask)); - fprintf (f, ",%s", inet_ntoa (route->gateway)); - doneone = true; - } - } - fprintf (f, "'\n"); - - doneone = false; - fprintf (f, "GATEWAYS='"); - STAILQ_FOREACH (route, dhcp->routes, entries) { - if (route->destination.s_addr == 0) { - if (doneone) - fprintf (f, " "); - fprintf (f, "%s", inet_ntoa (route->gateway)); - doneone = true; - } - } - fprintf (f, "'\n"); - } - - print_clean (f, "HOSTNAME", dhcp->hostname); - print_clean (f, "DNSDOMAIN", dhcp->dnsdomain); - print_clean (f, "DNSSEARCH", dhcp->dnssearch); - - if (dhcp->dnsservers) { - fprintf (f, "DNSSERVERS='"); - print_addresses (f, dhcp->dnsservers); - fprintf (f, "'\n"); - } - - if (dhcp->fqdn) { - fprintf (f, "FQDNFLAGS='%u'\n", dhcp->fqdn->flags); - fprintf (f, "FQDNRCODE1='%u'\n", dhcp->fqdn->r1); - fprintf (f, "FQDNRCODE2='%u'\n", dhcp->fqdn->r2); - print_clean (f, "FQDNHOSTNAME", dhcp->fqdn->name); - } - - if (dhcp->ntpservers) { - fprintf (f, "NTPSERVERS='"); - print_addresses (f, dhcp->ntpservers); - fprintf (f, "'\n"); - } - - print_clean (f, "NISDOMAIN", dhcp->nisdomain); - if (dhcp->nisservers) { - fprintf (f, "NISSERVERS='"); - print_addresses (f, dhcp->nisservers); - fprintf (f, "'\n"); - } - - print_clean (f, "ROOTPATH", dhcp->rootpath); - print_clean (f, "SIPSERVERS", dhcp->sipservers); - - if (dhcp->serveraddress.s_addr) - fprintf (f, "DHCPSID='%s'\n", inet_ntoa (dhcp->serveraddress)); - if (dhcp->servername[0]) - print_clean (f, "DHCPSNAME", dhcp->servername); - - if (! options->doinform && dhcp->address.s_addr) { - if (! options->test) - fprintf (f, "LEASEDFROM='%u'\n", dhcp->leasedfrom); - fprintf (f, "LEASETIME='%u'\n", dhcp->leasetime); - fprintf (f, "RENEWALTIME='%u'\n", dhcp->renewaltime); - fprintf (f, "REBINDTIME='%u'\n", dhcp->rebindtime); - } - print_clean (f, "INTERFACE", iface->name); - print_clean (f, "CLASSID", options->classid); - if (iface->clientid_len > 0) { - fprintf (f, "CLIENTID='%s'\n", - hwaddr_ntoa (iface->clientid, iface->clientid_len)); - } - fprintf (f, "DHCPCHADDR='%s'\n", hwaddr_ntoa (iface->hwaddr, - iface->hwlen)); - -#ifdef ENABLE_INFO_COMPAT - /* Support the old .info settings if we need to */ - fprintf (f, "\n# dhcpcd-1.x and 2.x compatible variables\n"); - if (dhcp->dnsservers) { - address_t *addr; - - fprintf (f, "DNS='"); - STAILQ_FOREACH (addr, dhcp->dnsservers, entries) { - fprintf (f, "%s", inet_ntoa (addr->address)); - if (STAILQ_NEXT (addr, entries)) - fprintf (f, ","); - } - fprintf (f, "'\n"); - } - - if (dhcp->routes) { - bool doneone = false; - fprintf (f, "GATEWAY='"); - STAILQ_FOREACH (route, dhcp->routes, entries) { - if (route->destination.s_addr == 0) { - if (doneone) - fprintf (f, ","); - fprintf (f, "%s", inet_ntoa (route->gateway)); - doneone = true; - } - } - fprintf (f, "'\n"); - } -#endif - - if (! options->test) - fclose (f); - return (true); -} - -static bool parse_address (struct in_addr *addr, - const char *value, const char *var) -{ - if (inet_aton (value, addr) == 0) { - logger (LOG_ERR, "%s `%s': %s", var, value, - strerror (errno)); - return (false); - } - return (true); -} - -static bool parse_uint (unsigned int *i, - const char *value, const char *var) -{ - if (sscanf (value, "%u", i) != 1) { - logger (LOG_ERR, "%s `%s': not a valid number", - var, value); - return (false); - } - return (true); -} - -static bool parse_ushort (unsigned short *s, - const char *value, const char *var) -{ - if (sscanf (value, "%hu", s) != 1) { - logger (LOG_ERR, "%s `%s': not a valid number", - var, value); - return (false); - } - return (true); -} - -static struct address_head *parse_addresses (char *value, const char *var) -{ - char *token; - char *p = value; - struct address_head *head = NULL; - - while ((token = strsep (&p, " "))) { - address_t *a = xzalloc (sizeof (*a)); - - if (inet_aton (token, &a->address) == 0) { - logger (LOG_ERR, "%s: invalid address `%s'", var, token); - free_address (head); - free (a); - return (NULL); - } - - if (! head) { - head = xmalloc (sizeof (*head)); - STAILQ_INIT (head); - } - STAILQ_INSERT_TAIL (head, a, entries); - } - - return (head); -} - -bool read_info (const interface_t *iface, dhcp_t *dhcp) -{ - FILE *fp; - char *line; - char *var; - char *value; - char *p; - struct stat sb; - - if (stat (iface->infofile, &sb) != 0) { - logger (LOG_ERR, "lease information file `%s' does not exist", - iface->infofile); - return (false); - } - - if (! (fp = fopen (iface->infofile, "r"))) { - logger (LOG_ERR, "fopen `%s': %s", - iface->infofile, strerror (errno)); - return (false); - } - - dhcp->frominfo = true; - - while ((line = get_line (fp))) { - var = line; - - /* Strip leading spaces/tabs */ - while ((*var == ' ') || (*var == '\t')) - var++; - - /* Trim trailing \n */ - p = var + strlen (var) - 1; - if (*p == '\n') - *p = 0; - - /* Skip comments */ - if (*var == '#') - goto next; - - /* If we don't have an equals sign then skip it */ - if (! (p = strchr (var, '='))) - goto next; - - /* Terminate the = so we have two strings */ - *p = 0; - - value = p + 1; - /* Strip leading and trailing quotes if present */ - if (*value == '\'' || *value == '"') - value++; - p = value + strlen (value) - 1; - if (*p == '\'' || *p == '"') - *p = 0; - - /* Don't process null vars or values */ - if (! *var || ! *value) - goto next; - - if (strcmp (var, "IPADDR") == 0) - parse_address (&dhcp->address, value, "IPADDR"); - else if (strcmp (var, "NETMASK") == 0) - parse_address (&dhcp->netmask, value, "NETMASK"); - else if (strcmp (var, "BROADCAST") == 0) - parse_address (&dhcp->broadcast, value, "BROADCAST"); - else if (strcmp (var, "MTU") == 0) - parse_ushort (&dhcp->mtu, value, "MTU"); - else if (strcmp (var, "ROUTES") == 0) { - p = value; - while ((value = strsep (&p, " "))) { - char *pp = value; - char *dest = strsep (&pp, ","); - char *net = strsep (&pp, ","); - char *gate = strsep (&pp, ","); - route_t *route; - - if (! dest || ! net || ! gate) { - logger (LOG_ERR, "read_info ROUTES `%s,%s,%s': invalid route", - dest, net, gate); - goto next; - } - - /* See if we can create a route */ - route = xzalloc (sizeof (*route)); - if (inet_aton (dest, &route->destination) == 0) { - logger (LOG_ERR, "read_info ROUTES `%s': not a valid destination address", - dest); - free (route); - goto next; - } - if (inet_aton (dest, &route->netmask) == 0) { - logger (LOG_ERR, "read_info ROUTES `%s': not a valid netmask address", - net); - free (route); - goto next; - } - if (inet_aton (dest, &route->gateway) == 0) { - logger (LOG_ERR, "read_info ROUTES `%s': not a valid gateway address", - gate); - free (route); - goto next; - } - - /* OK, now add our route */ - if (! dhcp->routes) { - dhcp->routes = xmalloc (sizeof (*dhcp->routes)); - STAILQ_INIT (dhcp->routes); - } - STAILQ_INSERT_TAIL (dhcp->routes, route, entries); - } - } else if (strcmp (var, "GATEWAYS") == 0) { - p = value; - while ((value = strsep (&p, " "))) { - route_t *route = xzalloc (sizeof (*route)); - if (parse_address (&route->gateway, value, "GATEWAYS")) { - if (! dhcp->routes) { - dhcp->routes = xmalloc (sizeof (*dhcp->routes)); - STAILQ_INIT (dhcp->routes); - } - STAILQ_INSERT_TAIL (dhcp->routes, route, entries); - } else - free (route); - } - } else if (strcmp (var, "HOSTNAME") == 0) - dhcp->hostname = xstrdup (value); - else if (strcmp (var, "DNSDOMAIN") == 0) - dhcp->dnsdomain = xstrdup (value); - else if (strcmp (var, "DNSSEARCH") == 0) - dhcp->dnssearch = xstrdup (value); - else if (strcmp (var, "DNSSERVERS") == 0) - dhcp->dnsservers = parse_addresses (value, "DNSSERVERS"); - else if (strcmp (var, "NTPSERVERS") == 0) - dhcp->ntpservers = parse_addresses (value, "NTPSERVERS"); - else if (strcmp (var, "NISDOMAIN") == 0) - dhcp->nisdomain = xstrdup (value); - else if (strcmp (var, "NISSERVERS") == 0) - dhcp->nisservers = parse_addresses (value, "NISSERVERS"); - else if (strcmp (var, "ROOTPATH") == 0) - dhcp->rootpath = xstrdup (value); - else if (strcmp (var, "DHCPSID") == 0) - parse_address (&dhcp->serveraddress, value, "DHCPSID"); - else if (strcmp (var, "DHCPSNAME") == 0) - strlcpy (dhcp->servername, value, sizeof (dhcp->servername)); - else if (strcmp (var, "LEASEDFROM") == 0) - parse_uint (&dhcp->leasedfrom, value, "LEASEDFROM"); - else if (strcmp (var, "LEASETIME") == 0) - parse_uint (&dhcp->leasetime, value, "LEASETIME"); - else if (strcmp (var, "RENEWALTIME") == 0) - parse_uint (&dhcp->renewaltime, value, "RENEWALTIME"); - else if (strcmp (var, "REBINDTIME") == 0) - parse_uint (&dhcp->rebindtime, value, "REBINDTIME"); - -next: - free (line); - } - - fclose (fp); - return (true); -} - -#endif - diff --git a/workspace/networkDiscovery/dhcpcd/info.h b/workspace/networkDiscovery/dhcpcd/info.h deleted file mode 100644 index 22966db..0000000 --- a/workspace/networkDiscovery/dhcpcd/info.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef INFO_H -#define INFO_H - -#include "dhcpcd.h" -#include "interface.h" -#include "dhcp.h" - -#ifdef ENABLE_INFO -bool write_info (const interface_t *iface, const dhcp_t *dhcp, - const options_t *options, bool overwrite); - -bool read_info (const interface_t *iface, dhcp_t *dhcp); -#endif - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/interface.c b/workspace/networkDiscovery/dhcpcd/interface.c deleted file mode 100644 index d2ff8d6..0000000 --- a/workspace/networkDiscovery/dhcpcd/interface.c +++ /dev/null @@ -1,1060 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include - -#include - -/* Netlink suff */ -#ifdef __linux__ -#include /* Needed for 2.4 kernels */ -#include -#include -#include -#include -#else -#include -#include -#include -#include -#endif - -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" -#include "common.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" - -void free_address (struct address_head *addresses) -{ - address_t *p; - address_t *n; - - if (! addresses) - return; - - p = STAILQ_FIRST (addresses); - while (p) { - n = STAILQ_NEXT (p, entries); - free (p); - p = n; - } - free (addresses); -} - -void free_route (struct route_head *routes) -{ - route_t *p; - route_t *n; - - if (! routes) - return; - - p = STAILQ_FIRST (routes); - while (p) { - n = STAILQ_NEXT (p, entries); - free (p); - p = n; - } - free (routes); -} - -int inet_ntocidr (struct in_addr address) -{ - int cidr = 0; - uint32_t mask = htonl (address.s_addr); - - while (mask) { - cidr++; - mask <<= 1; - } - - return (cidr); -} - -int inet_cidrtoaddr (int cidr, struct in_addr *addr) { - int ocets; - - if (cidr < 0 || cidr > 32) { - errno = EINVAL; - return (-1); - } - ocets = (cidr + 7) / 8; - - memset (addr, 0, sizeof (*addr)); - if (ocets > 0) { - memset (&addr->s_addr, 255, (size_t) ocets - 1); - memset ((unsigned char *) &addr->s_addr + (ocets - 1), - (256 - (1 << (32 - cidr) % 8)), 1); - } - - return (0); -} - -uint32_t get_netmask (uint32_t addr) -{ - uint32_t dst; - - if (addr == 0) - return (0); - - dst = htonl (addr); - if (IN_CLASSA (dst)) - return (ntohl (IN_CLASSA_NET)); - if (IN_CLASSB (dst)) - return (ntohl (IN_CLASSB_NET)); - if (IN_CLASSC (dst)) - return (ntohl (IN_CLASSC_NET)); - - return (0); -} - -char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen) -{ - static char buffer[(HWADDR_LEN * 3) + 1]; - char *p = buffer; - size_t i; - - for (i = 0; i < hwlen && i < HWADDR_LEN; i++) { - if (i > 0) - *p ++= ':'; - p += snprintf (p, 3, "%.2x", hwaddr[i]); - } - - *p ++= '\0'; - - return (buffer); -} - -size_t hwaddr_aton (unsigned char *buffer, const char *addr) -{ - char c[3]; - const char *p = addr; - unsigned char *bp = buffer; - size_t len = 0; - - c[2] = '\0'; - while (*p) { - c[0] = *p++; - c[1] = *p++; - /* Ensure that next data is EOL or a seperator with data */ - if (! (*p == '\0' || (*p == ':' && *(p + 1) != '\0'))) { - errno = EINVAL; - return (0); - } - /* Ensure that digits are hex */ - if (isxdigit ((int) c[0]) == 0 || isxdigit ((int) c[1]) == 0) { - errno = EINVAL; - return (0); - } - p++; - if (bp) - *bp++ = (unsigned char) strtol (c, NULL, 16); - else - len++; - } - - if (bp) - return (bp - buffer); - return (len); -} - -static int _do_interface (const char *ifname, - _unused unsigned char *hwaddr, _unused size_t *hwlen, - struct in_addr *addr, - bool flush, bool get) -{ - int s; - struct ifconf ifc; - int retval = 0; - int len = 10 * sizeof (struct ifreq); - int lastlen = 0; - char *p; - - if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - /* Not all implementations return the needed buffer size for - * SIOGIFCONF so we loop like so for all until it works */ - memset (&ifc, 0, sizeof (ifc)); - for (;;) { - ifc.ifc_len = len; - ifc.ifc_buf = xmalloc ((size_t) len); - if (ioctl (s, SIOCGIFCONF, &ifc) == -1) { - if (errno != EINVAL || lastlen != 0) { - logger (LOG_ERR, "ioctl SIOCGIFCONF: %s", - strerror (errno)); - close (s); - free (ifc.ifc_buf); - return -1; - } - } else { - if (ifc.ifc_len == lastlen) - break; - lastlen = ifc.ifc_len; - } - - free (ifc.ifc_buf); - ifc.ifc_buf = NULL; - len *= 2; - } - - for (p = ifc.ifc_buf; p < ifc.ifc_buf + ifc.ifc_len;) { - union { - char *buffer; - struct ifreq *ifr; - } ifreqs; - struct sockaddr_in address; - struct ifreq *ifr; - - /* Cast the ifc buffer to an ifreq cleanly */ - ifreqs.buffer = p; - ifr = ifreqs.ifr; - -#ifdef __linux__ - p += sizeof (*ifr); -#else - p += offsetof (struct ifreq, ifr_ifru) + ifr->ifr_addr.sa_len; -#endif - - if (strcmp (ifname, ifr->ifr_name) != 0) - continue; - -#ifdef AF_LINK - if (hwaddr && hwlen && ifr->ifr_addr.sa_family == AF_LINK) { - struct sockaddr_dl sdl; - - memcpy (&sdl, &ifr->ifr_addr, sizeof (sdl)); - *hwlen = sdl.sdl_alen; - memcpy (hwaddr, sdl.sdl_data + sdl.sdl_nlen, - (size_t) sdl.sdl_alen); - retval = 1; - break; - } -#endif - - if (ifr->ifr_addr.sa_family == AF_INET) { - memcpy (&address, &ifr->ifr_addr, sizeof (address)); - if (flush) { - struct sockaddr_in netmask; - - if (ioctl (s, SIOCGIFNETMASK, ifr) == -1) { - logger (LOG_ERR, - "ioctl SIOCGIFNETMASK: %s", - strerror (errno)); - continue; - } - memcpy (&netmask, &ifr->ifr_addr, - sizeof (netmask)); - - if (del_address (ifname, - address.sin_addr, - netmask.sin_addr) == -1) - retval = -1; - } else if (get) { - addr->s_addr = address.sin_addr.s_addr; - retval = 1; - break; - } else if (address.sin_addr.s_addr == addr->s_addr) { - retval = 1; - break; - } - } - - } - - close (s); - free (ifc.ifc_buf); - return retval; -} - -interface_t *read_interface (const char *ifname, _unused int metric) -{ - int s; - struct ifreq ifr; - interface_t *iface = NULL; - unsigned char *hwaddr = NULL; - size_t hwlen = 0; - sa_family_t family = 0; - unsigned short mtu; -#ifdef __linux__ - char *p; -#endif - - if (! ifname) - return NULL; - - memset (&ifr, 0, sizeof (ifr)); - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - - if ((s = socket (AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return NULL; - } - -#ifdef __linux__ - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCGIFHWADDR, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCGIFHWADDR: %s", strerror (errno)); - goto exit; - } - - switch (ifr.ifr_hwaddr.sa_family) { - case ARPHRD_ETHER: - case ARPHRD_IEEE802: - hwlen = ETHER_ADDR_LEN; - break; - case ARPHRD_IEEE1394: - hwlen = EUI64_ADDR_LEN; - case ARPHRD_INFINIBAND: - hwlen = INFINIBAND_ADDR_LEN; - break; - default: - logger (LOG_ERR, - "interface is not Ethernet, FireWire, " \ - "InfiniBand or Token Ring"); - goto exit; - } - - hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); - memcpy (hwaddr, ifr.ifr_hwaddr.sa_data, hwlen); - family = ifr.ifr_hwaddr.sa_family; -#else - ifr.ifr_metric = metric; - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCSIFMETRIC, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCSIFMETRIC: %s", strerror (errno)); - goto exit; - } - - hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); - if (_do_interface (ifname, hwaddr, &hwlen, NULL, false, false) != 1) { - logger (LOG_ERR, "could not find interface %s", ifname); - goto exit; - } - - family = ARPHRD_ETHER; -#endif - - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCGIFMTU, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); - goto exit; - } - - if (ifr.ifr_mtu < MTU_MIN) { - logger (LOG_DEBUG, "MTU of %d is too low, setting to %d", - ifr.ifr_mtu, MTU_MIN); - ifr.ifr_mtu = MTU_MIN; - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - if (ioctl (s, SIOCSIFMTU, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCSIFMTU,: %s", - strerror (errno)); - goto exit; - } - } - mtu = ifr.ifr_mtu; - - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); -#ifdef __linux__ - /* We can only bring the real interface up */ - if ((p = strchr (ifr.ifr_name, ':'))) - *p = '\0'; -#endif - if (ioctl (s, SIOCGIFFLAGS, &ifr) == -1) { - logger (LOG_ERR, "ioctl SIOCGIFFLAGS: %s", strerror (errno)); - goto exit; - } - - if (! (ifr.ifr_flags & IFF_UP) || ! (ifr.ifr_flags & IFF_RUNNING)) { - ifr.ifr_flags |= IFF_UP | IFF_RUNNING; - if (ioctl (s, SIOCSIFFLAGS, &ifr) != 0) { - logger (LOG_ERR, "ioctl SIOCSIFFLAGS: %s", - strerror (errno)); - goto exit; - } - } - - iface = xzalloc (sizeof (*iface)); - strlcpy (iface->name, ifname, IF_NAMESIZE); -#ifdef ENABLE_INFO - snprintf (iface->infofile, PATH_MAX, INFOFILE, ifname); -#endif - memcpy (&iface->hwaddr, hwaddr, hwlen); - iface->hwlen = hwlen; - - iface->family = family; - iface->arpable = ! (ifr.ifr_flags & (IFF_NOARP | IFF_LOOPBACK)); - iface->mtu = iface->previous_mtu = mtu; - - logger (LOG_INFO, "hardware address = %s", - hwaddr_ntoa (iface->hwaddr, iface->hwlen)); - - /* 0 is a valid fd, so init to -1 */ - iface->fd = -1; -#ifdef __linux__ - iface->listen_fd = -1; -#endif - -exit: - close (s); - free (hwaddr); - return iface; -} - -int get_mtu (const char *ifname) -{ - struct ifreq ifr; - int r; - int s; - - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return (-1); - } - - memset (&ifr, 0, sizeof (ifr)); - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - r = ioctl (s, SIOCGIFMTU, &ifr); - close (s); - - if (r == -1) { - logger (LOG_ERR, "ioctl SIOCGIFMTU: %s", strerror (errno)); - return (-1); - } - - return (ifr.ifr_mtu); -} - -int set_mtu (const char *ifname, short int mtu) -{ - struct ifreq ifr; - int r; - int s; - - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return (-1); - } - - memset (&ifr, 0, sizeof (ifr)); - logger (LOG_DEBUG, "setting MTU to %d", mtu); - strlcpy (ifr.ifr_name, ifname, sizeof (ifr.ifr_name)); - ifr.ifr_mtu = mtu; - r = ioctl (s, SIOCSIFMTU, &ifr); - close (s); - - if (r == -1) - logger (LOG_ERR, "ioctl SIOCSIFMTU: %s", strerror (errno)); - - return (r == 0 ? 0 : -1); -} - -static void log_route (struct in_addr destination, - struct in_addr netmask, - struct in_addr gateway, - _unused int metric, - int change, int del) -{ - char *dstd = xstrdup (inet_ntoa (destination)); - -#ifdef __linux__ -#define METRIC " metric %d" -#else -#define METRIC "" -#endif - - if (gateway.s_addr == destination.s_addr || - gateway.s_addr == INADDR_ANY) - logger (LOG_INFO, "%s route to %s/%d" METRIC, - change ? "changing" : del ? "removing" : "adding", - dstd, inet_ntocidr (netmask) -#ifdef __linux__ - , metric -#endif - ); - else if (destination.s_addr == INADDR_ANY) - logger (LOG_INFO, "%s default route via %s" METRIC, - change ? "changing" : del ? "removing" : "adding", - inet_ntoa (gateway) - -#ifdef __linux__ - , metric -#endif - ); - else - logger (LOG_INFO, "%s route to %s/%d via %s" METRIC, - change ? "changing" : del ? "removing" : "adding", - dstd, inet_ntocidr (netmask), inet_ntoa (gateway) -#ifdef __linux__ - , metric -#endif - ); - - free (dstd); -} - -#if defined(BSD) || defined(__FreeBSD_kernel__) - -/* Darwin doesn't define this for some very odd reason */ -#ifndef SA_SIZE -# define SA_SIZE(sa) \ - ( (!(sa) || ((struct sockaddr *)(sa))->sa_len == 0) ? \ - sizeof(long) : \ - 1 + ( (((struct sockaddr *)(sa))->sa_len - 1) | (sizeof(long) - 1) ) ) -#endif - -static int do_address (const char *ifname, struct in_addr address, - struct in_addr netmask, struct in_addr broadcast, - int del) -{ - int s; - struct ifaliasreq ifa; - - if (! ifname) - return -1; - - if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - memset (&ifa, 0, sizeof (ifa)); - strlcpy (ifa.ifra_name, ifname, sizeof (ifa.ifra_name)); - -#define ADDADDR(_var, _addr) { \ - union { struct sockaddr *sa; struct sockaddr_in *sin; } _s; \ - _s.sa = &_var; \ - _s.sin->sin_family = AF_INET; \ - _s.sin->sin_len = sizeof (*_s.sin); \ - memcpy (&_s.sin->sin_addr, &_addr, sizeof (_s.sin->sin_addr)); \ -} - - ADDADDR (ifa.ifra_addr, address); - ADDADDR (ifa.ifra_mask, netmask); -if (! del) - ADDADDR (ifa.ifra_broadaddr, broadcast); - -#undef ADDADDR - - if (ioctl (s, del ? SIOCDIFADDR : SIOCAIFADDR, &ifa) == -1) { - logger (LOG_ERR, "ioctl %s: %s", - del ? "SIOCDIFADDR" : "SIOCAIFADDR", - strerror (errno)); - close (s); - return -1; - } - -close (s); -return 0; -} - -static int do_route (const char *ifname, - struct in_addr destination, - struct in_addr netmask, - struct in_addr gateway, - int metric, - int change, int del) -{ - int s; - static int seq; - union sockunion { - struct sockaddr sa; - struct sockaddr_in sin; -#ifdef INET6 - struct sockaddr_in6 sin6; -#endif - struct sockaddr_dl sdl; - struct sockaddr_storage ss; - } su; - struct rtm - { - struct rt_msghdr hdr; - char buffer[sizeof (su) * 3]; - } rtm; - char *bp = rtm.buffer; - size_t l; - - if (! ifname) - return -1; - - log_route (destination, netmask, gateway, metric, change, del); - - if ((s = socket (PF_ROUTE, SOCK_RAW, 0)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - memset (&rtm, 0, sizeof (rtm)); - - rtm.hdr.rtm_version = RTM_VERSION; - rtm.hdr.rtm_seq = ++seq; - rtm.hdr.rtm_type = change ? RTM_CHANGE : del ? RTM_DELETE : RTM_ADD; - rtm.hdr.rtm_flags = RTF_UP | RTF_STATIC; - - /* This order is important */ - rtm.hdr.rtm_addrs = RTA_DST | RTA_GATEWAY | RTA_NETMASK; - -#define ADDADDR(_addr) \ - memset (&su, 0, sizeof (su)); \ - su.sin.sin_family = AF_INET; \ - su.sin.sin_len = sizeof (su.sin); \ - memcpy (&su.sin.sin_addr, &_addr, sizeof (su.sin.sin_addr)); \ - l = SA_SIZE (&(su.sa)); \ - memcpy (bp, &(su), l); \ - bp += l; - - ADDADDR (destination); - - if (netmask.s_addr == INADDR_BROADCAST || - gateway.s_addr == INADDR_ANY) - { - /* Make us a link layer socket */ - unsigned char *hwaddr; - size_t hwlen = 0; - - if (netmask.s_addr == INADDR_BROADCAST) - rtm.hdr.rtm_flags |= RTF_HOST; - - hwaddr = xmalloc (sizeof (unsigned char) * HWADDR_LEN); - _do_interface (ifname, hwaddr, &hwlen, NULL, false, false); - memset (&su, 0, sizeof (su)); - su.sdl.sdl_len = sizeof (su.sdl); - su.sdl.sdl_family = AF_LINK; - su.sdl.sdl_nlen = strlen (ifname); - memcpy (&su.sdl.sdl_data, ifname, (size_t) su.sdl.sdl_nlen); - su.sdl.sdl_alen = hwlen; - memcpy (((unsigned char *) &su.sdl.sdl_data) + su.sdl.sdl_nlen, - hwaddr, (size_t) su.sdl.sdl_alen); - - l = SA_SIZE (&(su.sa)); - memcpy (bp, &su, l); - bp += l; - free (hwaddr); - } else { - rtm.hdr.rtm_flags |= RTF_GATEWAY; - ADDADDR (gateway); - } - - ADDADDR (netmask); -#undef ADDADDR - - rtm.hdr.rtm_msglen = l = bp - (char *)&rtm; - if (write (s, &rtm, l) == -1) { - /* Don't report error about routes already existing */ - if (errno != EEXIST) - logger (LOG_ERR, "write: %s", strerror (errno)); - close (s); - return -1; - } - - close (s); - return 0; -} - -#elif __linux__ -/* This netlink stuff is overly compex IMO. - * The BSD implementation is much cleaner and a lot less code. - * send_netlink handles the actual transmission so we can work out - * if there was an error or not. */ -#define BUFFERLEN 256 -int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg) -{ - int s; - pid_t mypid = getpid (); - struct sockaddr_nl nl; - struct iovec iov; - struct msghdr msg; - static unsigned int seq; - char *buffer; - ssize_t bytes; - union - { - char *buffer; - struct nlmsghdr *nlm; - } h; - - if ((s = socket (AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return -1; - } - - memset (&nl, 0, sizeof (nl)); - nl.nl_family = AF_NETLINK; - if (bind (s, (struct sockaddr *) &nl, sizeof (nl)) == -1) { - logger (LOG_ERR, "bind: %s", strerror (errno)); - close (s); - return -1; - } - - memset (&iov, 0, sizeof (iov)); - iov.iov_base = hdr; - iov.iov_len = hdr->nlmsg_len; - - memset (&msg, 0, sizeof (msg)); - msg.msg_name = &nl; - msg.msg_namelen = sizeof (nl); - msg.msg_iov = &iov; - msg.msg_iovlen = 1; - - /* Request a reply */ - hdr->nlmsg_flags |= NLM_F_ACK; - hdr->nlmsg_seq = ++seq; - - if (sendmsg (s, &msg, 0) == -1) { - logger (LOG_ERR, "write: %s", strerror (errno)); - close (s); - return -1; - } - - buffer = xzalloc (sizeof (char) * BUFFERLEN); - iov.iov_base = buffer; - - for (;;) { - iov.iov_len = BUFFERLEN; - bytes = recvmsg (s, &msg, 0); - - if (bytes == -1) { - if (errno != EINTR) - logger (LOG_ERR, "recvmsg: %s", - strerror (errno)); - continue; - } - - if (bytes == 0) { - logger (LOG_ERR, "netlink: EOF"); - goto eexit; - } - - if (msg.msg_namelen != sizeof (nl)) { - logger (LOG_ERR, - "netlink: sender address length mismatch"); - goto eexit; - } - - for (h.buffer = buffer; bytes >= (signed) sizeof (*h.nlm); ) { - int len = h.nlm->nlmsg_len; - int l = len - sizeof (*h.nlm); - struct nlmsgerr *err = (struct nlmsgerr *) NLMSG_DATA (h.nlm); - - if (l < 0 || len > bytes) { - if (msg.msg_flags & MSG_TRUNC) - logger (LOG_ERR, "netlink: truncated message"); - else - logger (LOG_ERR, "netlink: malformed message"); - goto eexit; - } - - /* Ensure it's our message */ - if (nl.nl_pid != 0 || - (pid_t) h.nlm->nlmsg_pid != mypid || - h.nlm->nlmsg_seq != seq) - { - /* Next Message */ - bytes -= NLMSG_ALIGN (len); - h.buffer += NLMSG_ALIGN (len); - continue; - } - - /* We get an NLMSG_ERROR back with a code of zero for success */ - if (h.nlm->nlmsg_type != NLMSG_ERROR) { - logger (LOG_ERR, "netlink: unexpected reply %d", - h.nlm->nlmsg_type); - goto eexit; - } - - if ((unsigned) l < sizeof (*err)) { - logger (LOG_ERR, "netlink: error truncated"); - goto eexit; - } - - if (err->error == 0) { - int retval = 0; - - close (s); - if (callback) { - if ((retval = callback (hdr, arg)) == -1) - logger (LOG_ERR, "netlink: callback failed"); - } - free (buffer); - return (retval); - } - - errno = -err->error; - /* Don't report on something already existing */ - if (errno != EEXIST) - logger (LOG_ERR, "netlink: %s", - strerror (errno)); - goto eexit; - } - } - -eexit: - close (s); - free (buffer); - return -1; -} - -#define NLMSG_TAIL(nmsg) \ - ((struct rtattr *) (((ptrdiff_t) (nmsg)) + NLMSG_ALIGN ((nmsg)->nlmsg_len))) - -static int add_attr_l(struct nlmsghdr *n, unsigned int maxlen, int type, - const void *data, int alen) -{ - int len = RTA_LENGTH(alen); - struct rtattr *rta; - - if (NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len) > maxlen) { - logger (LOG_ERR, "add_attr_l: message exceeded bound of %d\n", - maxlen); - return -1; - } - - rta = NLMSG_TAIL (n); - rta->rta_type = type; - rta->rta_len = len; - memcpy (RTA_DATA (rta), data, alen); - n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + RTA_ALIGN (len); - - return 0; -} - -static int add_attr_32(struct nlmsghdr *n, unsigned int maxlen, int type, - uint32_t data) -{ - int len = RTA_LENGTH (sizeof (data)); - struct rtattr *rta; - - if (NLMSG_ALIGN (n->nlmsg_len) + len > maxlen) { - logger (LOG_ERR, "add_attr32: message exceeded bound of %d\n", - maxlen); - return -1; - } - - rta = NLMSG_TAIL (n); - rta->rta_type = type; - rta->rta_len = len; - memcpy (RTA_DATA (rta), &data, sizeof (data)); - n->nlmsg_len = NLMSG_ALIGN (n->nlmsg_len) + len; - - return 0; -} - -struct nlma -{ - struct nlmsghdr hdr; - struct ifaddrmsg ifa; - char buffer[64]; -}; - -struct nlmr -{ - struct nlmsghdr hdr; - struct rtmsg rt; - char buffer[256]; -}; - -static int do_address(const char *ifname, - struct in_addr address, struct in_addr netmask, - struct in_addr broadcast, int del) -{ - struct nlma *nlm; - int retval; - - if (!ifname) - return -1; - - nlm = xzalloc (sizeof (*nlm)); - nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct ifaddrmsg)); - nlm->hdr.nlmsg_flags = NLM_F_REQUEST; - if (! del) - nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_REPLACE; - nlm->hdr.nlmsg_type = del ? RTM_DELADDR : RTM_NEWADDR; - if (! (nlm->ifa.ifa_index = if_nametoindex (ifname))) { - logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", - ifname); - free (nlm); - return -1; - } - nlm->ifa.ifa_family = AF_INET; - - nlm->ifa.ifa_prefixlen = inet_ntocidr (netmask); - - /* This creates the aliased interface */ - add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LABEL, - ifname, strlen (ifname) + 1); - - add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_LOCAL, - &address.s_addr, sizeof (address.s_addr)); - if (! del) - add_attr_l (&nlm->hdr, sizeof (*nlm), IFA_BROADCAST, - &broadcast.s_addr, sizeof (broadcast.s_addr)); - - retval = send_netlink (&nlm->hdr, NULL, NULL); - free (nlm); - return retval; -} - -static int do_route (const char *ifname, - struct in_addr destination, - struct in_addr netmask, - struct in_addr gateway, - int metric, int change, int del) -{ - struct nlmr *nlm; - unsigned int ifindex; - int retval; - - if (! ifname) - return -1; - - log_route (destination, netmask, gateway, metric, change, del); - - if (! (ifindex = if_nametoindex (ifname))) { - logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", - ifname); - return -1; - } - - nlm = xzalloc (sizeof (*nlm)); - nlm->hdr.nlmsg_len = NLMSG_LENGTH (sizeof (struct rtmsg)); - if (change) - nlm->hdr.nlmsg_flags = NLM_F_REPLACE; - else if (! del) - nlm->hdr.nlmsg_flags = NLM_F_CREATE | NLM_F_EXCL; - nlm->hdr.nlmsg_flags |= NLM_F_REQUEST; - nlm->hdr.nlmsg_type = del ? RTM_DELROUTE : RTM_NEWROUTE; - nlm->rt.rtm_family = AF_INET; - nlm->rt.rtm_table = RT_TABLE_MAIN; - - if (del) - nlm->rt.rtm_scope = RT_SCOPE_NOWHERE; - else { - nlm->hdr.nlmsg_flags |= NLM_F_CREATE | NLM_F_EXCL; - nlm->rt.rtm_protocol = RTPROT_BOOT; - if (netmask.s_addr == INADDR_BROADCAST || - gateway.s_addr == INADDR_ANY) - nlm->rt.rtm_scope = RT_SCOPE_LINK; - else - nlm->rt.rtm_scope = RT_SCOPE_UNIVERSE; - nlm->rt.rtm_type = RTN_UNICAST; - } - - nlm->rt.rtm_dst_len = inet_ntocidr (netmask); - add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_DST, - &destination.s_addr, sizeof (destination.s_addr)); - if (netmask.s_addr != INADDR_BROADCAST && - destination.s_addr != gateway.s_addr) - add_attr_l (&nlm->hdr, sizeof (*nlm), RTA_GATEWAY, - &gateway.s_addr, sizeof (gateway.s_addr)); - - add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_OIF, ifindex); - add_attr_32 (&nlm->hdr, sizeof (*nlm), RTA_PRIORITY, metric); - - retval = send_netlink (&nlm->hdr, NULL, NULL); - free (nlm); - return retval; -} - -#else - #error "Platform not supported!" - #error "We currently support BPF and Linux sockets." - #error "Other platforms may work using BPF. If yours does, please let me know" - #error "so I can add it to our list." -#endif - -int add_address (const char *ifname, struct in_addr address, - struct in_addr netmask, struct in_addr broadcast) -{ - logger (LOG_INFO, "adding IP address %s/%d", - inet_ntoa (address), inet_ntocidr (netmask)); - - return (do_address (ifname, address, netmask, broadcast, 0)); -} - -int del_address (const char *ifname, - struct in_addr address, struct in_addr netmask) -{ - struct in_addr t; - - logger (LOG_INFO, "removing IP address %s/%d", - inet_ntoa (address), inet_ntocidr (netmask)); - - memset (&t, 0, sizeof (t)); - return (do_address (ifname, address, netmask, t, 1)); -} - -int add_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric) -{ - return (do_route (ifname, destination, netmask, gateway, metric, 0, 0)); -} - -int change_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric) -{ - return (do_route (ifname, destination, netmask, gateway, metric, 1, 0)); -} - -int del_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric) -{ - return (do_route (ifname, destination, netmask, gateway, metric, 0, 1)); -} - - -int flush_addresses (const char *ifname) -{ - return (_do_interface (ifname, NULL, NULL, NULL, true, false)); -} - -in_addr_t get_address (const char *ifname) -{ - struct in_addr address; - if (_do_interface (ifname, NULL, NULL, &address, false, true) > 0) - return (address.s_addr); - return (0); -} - -int has_address (const char *ifname, struct in_addr address) -{ - return (_do_interface (ifname, NULL, NULL, &address, false, false)); -} diff --git a/workspace/networkDiscovery/dhcpcd/interface.h b/workspace/networkDiscovery/dhcpcd/interface.h deleted file mode 100644 index 8215d48..0000000 --- a/workspace/networkDiscovery/dhcpcd/interface.h +++ /dev/null @@ -1,173 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef INTERFACE_H -#define INTERFACE_H - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "config.h" - -#ifdef __linux__ -# include -#endif - -#ifdef ENABLE_DUID -#ifndef DUID_LEN -# define DUID_LEN 128 + 2 -#endif -#endif - -#define EUI64_ADDR_LEN 8 -#define INFINIBAND_ADDR_LEN 20 - -/* Linux 2.4 doesn't define this */ -#ifndef ARPHRD_IEEE1394 -# define ARPHRD_IEEE1394 24 -#endif - -/* The BSD's don't define this yet */ -#ifndef ARPHRD_INFINIBAND -# define ARPHRD_INFINIBAND 32 -#endif - -#define HWADDR_LEN 20 - -/* Work out if we have a private address or not - * 10/8 - * 172.16/12 - * 192.168/16 - */ -#ifndef IN_PRIVATE -# define IN_PRIVATE(addr) (((addr & IN_CLASSA_NET) == 0x0a000000) || \ - ((addr & 0xfff00000) == 0xac100000) || \ - ((addr & IN_CLASSB_NET) == 0xc0a80000)) -#endif - -#define LINKLOCAL_ADDR 0xa9fe0000 -#define LINKLOCAL_MASK 0xffff0000 -#define LINKLOCAL_BRDC 0xa9feffff - -#ifndef IN_LINKLOCAL -# define IN_LINKLOCAL(addr) ((addr & IN_CLASSB_NET) == LINKLOCAL_ADDR) -#endif - -#ifndef STAILQ_ENTRY -# error "your sys/queue.h is too old and lacks STAILQ" -#endif - -#define NSTAILQ_FOREACH(var, head, field) \ - if (head) STAILQ_FOREACH (var, head, field) - -typedef struct route_t -{ - struct in_addr destination; - struct in_addr netmask; - struct in_addr gateway; - STAILQ_ENTRY (route_t) entries; -} route_t; -STAILQ_HEAD (route_head, route_t); - -typedef struct address_t -{ - struct in_addr address; - STAILQ_ENTRY (address_t) entries; -} address_t; -STAILQ_HEAD (address_head, address_t); - -typedef struct interface_t -{ - char name[IF_NAMESIZE]; - sa_family_t family; - unsigned char hwaddr[HWADDR_LEN]; - size_t hwlen; - bool arpable; - unsigned short mtu; - - int fd; - size_t buffer_length; - -#ifdef __linux__ - int listen_fd; - int socket_protocol; -#endif - - char infofile[PATH_MAX]; - - unsigned short previous_mtu; - struct in_addr previous_address; - struct in_addr previous_netmask; - struct route_head *previous_routes; - - time_t start_uptime; - - unsigned char *clientid; - size_t clientid_len; -} interface_t; - -void free_address (struct address_head *addresses); -void free_route (struct route_head *routes); -uint32_t get_netmask (uint32_t addr); -char *hwaddr_ntoa (const unsigned char *hwaddr, size_t hwlen); -size_t hwaddr_aton (unsigned char *hwaddr, const char *addr); - -interface_t *read_interface (const char *ifname, int metric); -int get_mtu (const char *ifname); -int set_mtu (const char *ifname, short int mtu); - -int add_address (const char *ifname, struct in_addr address, - struct in_addr netmask, struct in_addr broadcast); -int del_address (const char *ifname, struct in_addr address, - struct in_addr netmask); - -int flush_addresses (const char *ifname); -in_addr_t get_address (const char *ifname); -int has_address (const char *ifname, struct in_addr address); - -int add_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric); -int change_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric); -int del_route (const char *ifname, struct in_addr destination, - struct in_addr netmask, struct in_addr gateway, int metric); - -int inet_ntocidr (struct in_addr address); -int inet_cidrtoaddr (int cidr, struct in_addr *addr); - -#ifdef __linux__ -typedef int (*netlink_callback) (struct nlmsghdr *hdr, void *arg); -int send_netlink (struct nlmsghdr *hdr, netlink_callback callback, void *arg); -#endif -#endif diff --git a/workspace/networkDiscovery/dhcpcd/ipv4ll.c b/workspace/networkDiscovery/dhcpcd/ipv4ll.c deleted file mode 100644 index 9742b9a..0000000 --- a/workspace/networkDiscovery/dhcpcd/ipv4ll.c +++ /dev/null @@ -1,70 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include - -#include "config.h" -#include "arp.h" -#include "ipv4ll.h" - -#ifdef ENABLE_IPV4LL - -#ifndef ENABLE_ARP - # error IPV4LL requires ARP -#endif - -#define IPV4LL_LEASETIME 20 - -int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp) { - struct in_addr addr; - - for (;;) { - addr.s_addr = htonl (LINKLOCAL_ADDR | - (((uint32_t) abs ((int) random ()) - % 0xFD00) + 0x0100)); - errno = 0; - if (! arp_claim (iface, addr)) - break; - /* Our ARP may have been interrupted */ - if (errno) - return (-1); - } - - dhcp->address.s_addr = addr.s_addr; - dhcp->netmask.s_addr = htonl (LINKLOCAL_MASK); - dhcp->broadcast.s_addr = htonl (LINKLOCAL_BRDC); - - /* Finally configure some DHCP like lease times */ - dhcp->leasetime = IPV4LL_LEASETIME; - dhcp->renewaltime = (dhcp->leasetime * 0.5); - dhcp->rebindtime = (dhcp->leasetime * 0.875); - - return (0); -} - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/ipv4ll.h b/workspace/networkDiscovery/dhcpcd/ipv4ll.h deleted file mode 100644 index 4fa8943..0000000 --- a/workspace/networkDiscovery/dhcpcd/ipv4ll.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef IPV4LL_H -#define IPV4LL_H - -#ifdef ENABLE_IPV4LL - -#include "dhcp.h" -#include "interface.h" - -int ipv4ll_get_address (interface_t *iface, dhcp_t *dhcp); - -#endif -#endif diff --git a/workspace/networkDiscovery/dhcpcd/logger.c b/workspace/networkDiscovery/dhcpcd/logger.c deleted file mode 100644 index ec10bb9..0000000 --- a/workspace/networkDiscovery/dhcpcd/logger.c +++ /dev/null @@ -1,158 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#define SYSLOG_NAMES - -#define COM_CH "/var/tmp/com.socket" - -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -#include "common.h" -#include "logger.h" - -/*sockets for the logger and the qt-reader */ -int sockfd, ns; - -static int loglevel = LOG_WARNING; -static char logprefix[12] = {0}; - -int logtolevel (const char *priority) -{ - CODE *c; - - if (isdigit ((int) *priority)) - return (atoi (priority)); - - for (c = prioritynames; c->c_name; c++) - if (! strcasecmp (priority, c->c_name)) - return (c->c_val); - - return (-1); -} - -static const char *leveltolog (int level) { - CODE *c; - - for (c = prioritynames; c->c_name; c++) - if (c->c_val == level) - return (c->c_name); - - return (NULL); -} - -void setloglevel (int level) -{ - loglevel = level; -} - -void setlogprefix (const char *prefix) -{ - snprintf (logprefix, sizeof (logprefix), "%s", prefix); -} - -void logger (int level, const char *fmt, ...) -{ - va_list p; - va_list p2; - FILE *f = stderr; - - va_start (p, fmt); - va_copy (p2, p); - - if (level <= LOG_ERR || level <= loglevel) { - if (level == LOG_DEBUG || level == LOG_INFO) - f = stdout; - fprintf (f, "%s, %s", leveltolog (level), logprefix); - vfprintf (f, fmt, p); - fputc ('\n', f); - - /* stdout, stderr may be re-directed to some kind of buffer. - * So we always flush to ensure it's written. */ - fflush (f); - } - - if (level < LOG_DEBUG || level <= loglevel) { - size_t len = strlen (logprefix); - size_t fmt2len = strlen (fmt) + len + 1; - char *fmt2 = malloc (sizeof (char) * fmt2len); - char *pf = fmt2; - if (fmt2) { - memcpy (pf, logprefix, len); - pf += len; - strlcpy (pf, fmt, fmt2len - len); - vsyslog (level, fmt2, p2); - free (fmt2); - } else { - vsyslog (level, fmt, p2); - syslog (LOG_ERR, "logger: memory exhausted"); - exit (EXIT_FAILURE); - } - } - - va_end (p2); - va_end (p); -} - -void initQtLoggerSocket() { - /** - * new code. seems to be right. - */ - struct sockaddr_un serv_addr; - sockfd = socket(AF_UNIX, SOCK_STREAM, 0); - if (sockfd < 0) - fprintf(stdout,"ERROR opening socket"); - serv_addr.sun_family = AF_UNIX; - strcpy(serv_addr.sun_path, "/var/tmp/qt_c_socket_test"); - - if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) - fprintf(stdout,"ERROR connecting"); -} - -void closeQtLoggerSocket (){ - close(s); -} - -void sendToQt(char *msg) { - if (send(ns, msg, strlen(msg), 0) < 0) { - fprintf(stdout, "logger: failed to send message: %s", msg); - } - //char buffer[256]; - char *b = "test"; - int n = write(sockfd, b, strlen(b)); - if (n < 0) - fprintf(stdout, "ERROR writing to socket"); -} - diff --git a/workspace/networkDiscovery/dhcpcd/logger.h b/workspace/networkDiscovery/dhcpcd/logger.h deleted file mode 100644 index e42e020..0000000 --- a/workspace/networkDiscovery/dhcpcd/logger.h +++ /dev/null @@ -1,53 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef LOGGER_H -#define LOGGER_H - -#if defined(__GNUC__) -# define _PRINTF_LIKE(_one, _two) __attribute__ ((__format__ (__printf__, _one, _two))) -#else -# define _PRINTF_LIKE(_one, _two) -#endif - -#include - - - -int logtolevel (const char *priority); -void setloglevel (int level); -void setlogprefix (const char *prefix); -void logger (int level, const char *fmt, ...) _PRINTF_LIKE (2, 3); - -/** - * new functions for communicating with Qt - */ -void initQtLoggerSocket (); -void closeQtLoggerSocket (); -void sendToQt (); - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/signal.c b/workspace/networkDiscovery/dhcpcd/signal.c deleted file mode 100644 index 9055c9f..0000000 --- a/workspace/networkDiscovery/dhcpcd/signal.c +++ /dev/null @@ -1,183 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include - -#include "common.h" -#include "logger.h" -#include "signal.h" - -static int signal_pipe[2]; -static int signals[5]; - -static const int handle_sigs[] = { - SIGHUP, - SIGALRM, - SIGTERM, - SIGINT -}; - -static void signal_handler (int sig) -{ - unsigned int i = 0; - int serrno = errno; - - /* Add a signal to our stack */ - while (signals[i]) - i++; - if (i > sizeof (signals) / sizeof (signals[0])) - logger (LOG_ERR, "signal buffer overrun"); - else - signals[i] = sig; - - if (write (signal_pipe[1], &sig, sizeof (sig)) == -1) - logger (LOG_ERR, "Could not send signal: %s", strerror (errno)); - - /* Restore errno */ - errno = serrno; -} - -int signal_fd (void) -{ - return (signal_pipe[0]); -} - -/* Check if we have a signal or not */ -int signal_exists (const struct pollfd *fd) -{ - if (signals[0] || (fd && fd->revents & POLLIN)) - return (0); - return (-1); -} - -/* Read a signal from the signal pipe. Returns 0 if there is - * no signal, -1 on error (and sets errno appropriately), and - * your signal on success */ -int signal_read (struct pollfd *fd) -{ - int sig = -1; - - /* Pop a signal off the our stack */ - if (signals[0]) { - unsigned int i = 0; - sig = signals[0]; - while (i < (sizeof (signals) / sizeof (signals[0])) - 1) { - signals[i] = signals[i + 1]; - if (! signals[++i]) - break; - } - } - - if (fd && fd->revents & POLLIN) { - char buf[16]; - size_t bytes; - - memset (buf, 0, sizeof (buf)); - bytes = read (signal_pipe[0], buf, sizeof (buf)); - - if (bytes >= sizeof (sig)) - memcpy (&sig, buf, sizeof (sig)); - - /* We need to clear us from rset if nothing left in the buffer - * in case we are called many times */ - if (bytes == sizeof (sig)) - fd->revents = 0; - } - - return (sig); -} - -/* Call this before doing anything else. Sets up the socket pair - * and installs the signal handler */ -int signal_init (void) -{ - struct sigaction sa; - - if (pipe (signal_pipe) == -1) { - logger (LOG_ERR, "pipe: %s", strerror (errno)); - return (-1); - } - - /* Stop any scripts from inheriting us */ - close_on_exec (signal_pipe[0]); - close_on_exec (signal_pipe[1]); - - /* Ignore child signals and don't make zombies. - * Because we do this, we don't need to be in signal_setup */ - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = SIG_DFL; - sa.sa_flags = SA_NOCLDSTOP | SA_NOCLDWAIT; - if (sigaction (SIGCHLD, &sa, NULL) == -1) { - logger (LOG_ERR, "sigaction: %s", strerror (errno)); - return (-1); - } - - memset (signals, 0, sizeof (signals)); - return (0); -} - -int signal_setup (void) -{ - unsigned int i; - struct sigaction sa; - - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = signal_handler; - sigemptyset (&sa.sa_mask); - - for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) - if (sigaction (handle_sigs[i], &sa, NULL) == -1) { - logger (LOG_ERR, "sigaction: %s", strerror (errno)); - return (-1); - } - - return (0); -} - -int signal_reset (void) -{ - struct sigaction sa; - unsigned int i; - - memset (&sa, 0, sizeof (sa)); - sa.sa_handler = SIG_DFL; - sigemptyset (&sa.sa_mask); - - for (i = 0; i < sizeof (handle_sigs) / sizeof (handle_sigs[0]); i++) - if (sigaction (handle_sigs[i], &sa, NULL) == -1) { - logger (LOG_ERR, "sigaction: %s", strerror (errno)); - return (-1); - } - - return (0); -} diff --git a/workspace/networkDiscovery/dhcpcd/signal.h b/workspace/networkDiscovery/dhcpcd/signal.h deleted file mode 100644 index 63a5906..0000000 --- a/workspace/networkDiscovery/dhcpcd/signal.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef SIGNAL_H -#define SIGNAL_H - -#include - -int signal_init (void); -int signal_setup (void); -int signal_reset (void); -int signal_fd (void); -int signal_exists (const struct pollfd *fd); -int signal_read (struct pollfd *fd); - -#endif diff --git a/workspace/networkDiscovery/dhcpcd/socket.c b/workspace/networkDiscovery/dhcpcd/socket.c deleted file mode 100644 index 58ad6c5..0000000 --- a/workspace/networkDiscovery/dhcpcd/socket.c +++ /dev/null @@ -1,647 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#define __FAVOR_BSD /* Nasty hack so we can use BSD semantics for UDP */ -#include -#undef __FAVOR_BSD -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BSD) || defined(__FreeBSD_kernel__) -# include -#elif __linux__ -# include -# include -# define bpf_insn sock_filter -#endif - -#include "config.h" -#include "dhcp.h" -#include "interface.h" -#include "logger.h" -#include "socket.h" - -/* A suitably large buffer for all transactions. - * BPF buffer size is set by the kernel, so no define. */ -#ifdef __linux__ -# define BUFFER_LENGTH 4096 -#endif - -/* Broadcast address for IPoIB */ -static const uint8_t ipv4_bcast_addr[] = { - 0x00, 0xff, 0xff, 0xff, - 0xff, 0x12, 0x40, 0x1b, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff -}; - -/* Credit where credit is due :) - * The below BPF filter is taken from ISC DHCP */ -static struct bpf_insn dhcp_bpf_filter [] = { - /* Make sure this is an IP packet... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_IP, 0, 8), - - /* Make sure it's a UDP packet... */ - BPF_STMT (BPF_LD + BPF_B + BPF_ABS, 23), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, IPPROTO_UDP, 0, 6), - - /* Make sure this isn't a fragment... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), - BPF_JUMP (BPF_JMP + BPF_JSET + BPF_K, 0x1fff, 4, 0), - - /* Get the IP header length... */ - BPF_STMT (BPF_LDX + BPF_B + BPF_MSH, 14), - - /* Make sure it's to the right port... */ - BPF_STMT (BPF_LD + BPF_H + BPF_IND, 16), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, DHCP_CLIENT_PORT, 0, 1), - - /* If we passed all the tests, ask for the whole packet. */ - BPF_STMT (BPF_RET + BPF_K, ~0U), - - /* Otherwise, drop it. */ - BPF_STMT (BPF_RET + BPF_K, 0), -}; - -static struct bpf_insn arp_bpf_filter [] = { - /* Make sure this is an ARP packet... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 12), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ETHERTYPE_ARP, 0, 3), - - /* Make sure this is an ARP REPLY... */ - BPF_STMT (BPF_LD + BPF_H + BPF_ABS, 20), - BPF_JUMP (BPF_JMP + BPF_JEQ + BPF_K, ARPOP_REPLY, 0, 1), - - /* If we passed all the tests, ask for the whole packet. */ - BPF_STMT (BPF_RET + BPF_K, ~0U), - - /* Otherwise, drop it. */ - BPF_STMT (BPF_RET + BPF_K, 0), -}; - -void setup_packet_filters (void) -{ -#ifdef __linux__ - /* We need to massage the filters for Linux cooked packets */ - dhcp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ - dhcp_bpf_filter[2].k -= ETH_HLEN; - dhcp_bpf_filter[4].k -= ETH_HLEN; - dhcp_bpf_filter[6].k -= ETH_HLEN; - dhcp_bpf_filter[7].k -= ETH_HLEN; - - arp_bpf_filter[1].jf = 0; /* skip the IP packet type check */ - arp_bpf_filter[2].k -= ETH_HLEN; -#endif -} - -static uint16_t checksum (unsigned char *addr, uint16_t len) -{ - uint32_t sum = 0; - union - { - unsigned char *addr; - uint16_t *i; - } p; - uint16_t nleft = len; - - p.addr = addr; - while (nleft > 1) { - sum += *p.i++; - nleft -= 2; - } - - if (nleft == 1) { - uint8_t a = 0; - memcpy (&a, p.i, 1); - sum += ntohs (a) << 8; - } - - sum = (sum >> 16) + (sum & 0xffff); - sum += (sum >> 16); - - return ~sum; -} - -void make_dhcp_packet(struct udp_dhcp_packet *packet, - const unsigned char *data, size_t length, - struct in_addr source, struct in_addr dest) -{ - struct ip *ip = &packet->ip; - struct udphdr *udp = &packet->udp; - - /* OK, this is important :) - * We copy the data to our packet and then create a small part of the - * ip structure and an invalid ip_len (basically udp length). - * We then fill the udp structure and put the checksum - * of the whole packet into the udp checksum. - * Finally we complete the ip structure and ip checksum. - * If we don't do the ordering like so then the udp checksum will be - * broken, so find another way of doing it! */ - - memcpy (&packet->dhcp, data, length); - - ip->ip_p = IPPROTO_UDP; - ip->ip_src.s_addr = source.s_addr; - if (dest.s_addr == 0) - ip->ip_dst.s_addr = INADDR_BROADCAST; - else - ip->ip_dst.s_addr = dest.s_addr; - - udp->uh_sport = htons (DHCP_CLIENT_PORT); - udp->uh_dport = htons (DHCP_SERVER_PORT); - udp->uh_ulen = htons (sizeof (*udp) + length); - ip->ip_len = udp->uh_ulen; - udp->uh_sum = checksum ((unsigned char *) packet, sizeof (*packet)); - - ip->ip_v = IPVERSION; - ip->ip_hl = 5; - ip->ip_id = 0; - ip->ip_tos = IPTOS_LOWDELAY; - ip->ip_len = htons (sizeof (*ip) + sizeof (*udp) + length); - ip->ip_id = 0; - ip->ip_off = htons (IP_DF); /* Don't fragment */ - ip->ip_ttl = IPDEFTTL; - - ip->ip_sum = checksum ((unsigned char *) ip, sizeof (*ip)); -} - -static int valid_dhcp_packet (unsigned char *data) -{ - union - { - unsigned char *data; - struct udp_dhcp_packet *packet; - } d; - uint16_t bytes; - uint16_t ipsum; - uint16_t iplen; - uint16_t udpsum; - struct in_addr source; - struct in_addr dest; - int retval = 0; - - d.data = data; - bytes = ntohs (d.packet->ip.ip_len); - ipsum = d.packet->ip.ip_sum; - iplen = d.packet->ip.ip_len; - udpsum = d.packet->udp.uh_sum; - - d.data = data; - d.packet->ip.ip_sum = 0; - if (ipsum != checksum ((unsigned char *) &d.packet->ip, - sizeof (d.packet->ip))) - { - logger (LOG_DEBUG, "bad IP header checksum, ignoring"); - retval = -1; - goto eexit; - } - - memcpy (&source, &d.packet->ip.ip_src, sizeof (d.packet->ip.ip_src)); - memcpy (&dest, &d.packet->ip.ip_dst, sizeof (d.packet->ip.ip_dst)); - memset (&d.packet->ip, 0, sizeof (d.packet->ip)); - d.packet->udp.uh_sum = 0; - - d.packet->ip.ip_p = IPPROTO_UDP; - memcpy (&d.packet->ip.ip_src, &source, sizeof (d.packet->ip.ip_src)); - memcpy (&d.packet->ip.ip_dst, &dest, sizeof (d.packet->ip.ip_dst)); - d.packet->ip.ip_len = d.packet->udp.uh_ulen; - if (udpsum && udpsum != checksum (d.data, bytes)) { - logger (LOG_ERR, "bad UDP checksum, ignoring"); - retval = -1; - } - -eexit: - d.packet->ip.ip_sum = ipsum; - d.packet->ip.ip_len = iplen; - d.packet->udp.uh_sum = udpsum; - - return retval; -} - -#if defined(BSD) || defined(__FreeBSD_kernel__) -int open_socket (interface_t *iface, int protocol) -{ - int n = 0; - int fd = -1; - char *device; - int flags; - struct ifreq ifr; - int buf = 0; - struct bpf_program pf; - - device = xmalloc (sizeof (char) * PATH_MAX); - do { - snprintf (device, PATH_MAX, "/dev/bpf%d", n++); - fd = open (device, O_RDWR); - } while (fd == -1 && errno == EBUSY); - free (device); - - if (fd == -1) { - logger (LOG_ERR, "unable to open a BPF device"); - return -1; - } - - close_on_exec (fd); - - memset (&ifr, 0, sizeof (ifr)); - strlcpy (ifr.ifr_name, iface->name, sizeof (ifr.ifr_name)); - if (ioctl (fd, BIOCSETIF, &ifr) == -1) { - logger (LOG_ERR, - "cannot attach interface `%s' to bpf device `%s': %s", - iface->name, device, strerror (errno)); - close (fd); - return -1; - } - - /* Get the required BPF buffer length from the kernel. */ - if (ioctl (fd, BIOCGBLEN, &buf) == -1) { - logger (LOG_ERR, "ioctl BIOCGBLEN: %s", strerror (errno)); - close (fd); - return -1; - } - iface->buffer_length = buf; - - flags = 1; - if (ioctl (fd, BIOCIMMEDIATE, &flags) == -1) { - logger (LOG_ERR, "ioctl BIOCIMMEDIATE: %s", strerror (errno)); - close (fd); - return -1; - } - - /* Install the DHCP filter */ - if (protocol == ETHERTYPE_ARP) { - pf.bf_insns = arp_bpf_filter; - pf.bf_len = sizeof (arp_bpf_filter) - / sizeof (arp_bpf_filter[0]); - } else { - pf.bf_insns = dhcp_bpf_filter; - pf.bf_len = sizeof (dhcp_bpf_filter) - / sizeof (dhcp_bpf_filter[0]); - } - if (ioctl (fd, BIOCSETF, &pf) == -1) { - logger (LOG_ERR, "ioctl BIOCSETF: %s", strerror (errno)); - close (fd); - return -1; - } - - if (iface->fd > -1) - close (iface->fd); - iface->fd = fd; - - return fd; -} - -ssize_t send_packet (const interface_t *iface, int type, - const unsigned char *data, size_t len) -{ - ssize_t retval = -1; - struct iovec iov[2]; - - if (iface->family == ARPHRD_ETHER) { - struct ether_header hw; - memset (&hw, 0, sizeof (hw)); - memset (&hw.ether_dhost, 0xff, ETHER_ADDR_LEN); - hw.ether_type = htons (type); - - iov[0].iov_base = &hw; - iov[0].iov_len = sizeof (hw); - } else { - logger (LOG_ERR, "unsupported interace type %d", iface->family); - return -1; - } - iov[1].iov_base = (unsigned char *) data; - iov[1].iov_len = len; - - if ((retval = writev(iface->fd, iov, 2)) == -1) - logger (LOG_ERR, "writev: %s", strerror (errno)); - - return retval; -} - -/* BPF requires that we read the entire buffer. - * So we pass the buffer in the API so we can loop on >1 dhcp packet. */ -ssize_t get_packet (const interface_t *iface, unsigned char *data, - unsigned char *buffer, - size_t *buffer_len, size_t *buffer_pos) -{ - union - { - unsigned char *buffer; - struct bpf_hdr *packet; - } bpf; - - bpf.buffer = buffer; - - if (*buffer_pos < 1) { - memset (bpf.buffer, 0, iface->buffer_length); - *buffer_len = read (iface->fd, bpf.buffer, iface->buffer_length); - *buffer_pos = 0; - if (*buffer_len < 1) { - struct timespec ts; - logger (LOG_ERR, "read: %s", strerror (errno)); - ts.tv_sec = 3; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); - return (-1); - } - } else - bpf.buffer += *buffer_pos; - - while (bpf.packet) { - size_t len = 0; - union - { - unsigned char *buffer; - struct ether_header *hw; - } hdr; - unsigned char *payload; - bool have_data = false; - - /* Ensure that the entire packet is in our buffer */ - if (*buffer_pos + bpf.packet->bh_hdrlen + bpf.packet->bh_caplen - > (unsigned) *buffer_len) - break; - - hdr.buffer = bpf.buffer + bpf.packet->bh_hdrlen; - payload = hdr.buffer + sizeof (*hdr.hw); - - /* If it's an ARP reply, then just send it back */ - if (hdr.hw->ether_type == htons (ETHERTYPE_ARP)) { - len = bpf.packet->bh_caplen - - sizeof (*hdr.hw); - memcpy (data, payload, len); - have_data = true; - } else { - if (valid_dhcp_packet (payload) >= 0) { - union - { - unsigned char *buffer; - struct udp_dhcp_packet *packet; - } pay; - pay.buffer = payload; - len = ntohs (pay.packet->ip.ip_len) - - sizeof (pay.packet->ip) - - sizeof (pay.packet->udp); - memcpy (data, &pay.packet->dhcp, len); - have_data = true; - } - } - - /* Update the buffer_pos pointer */ - bpf.buffer += BPF_WORDALIGN (bpf.packet->bh_hdrlen + - bpf.packet->bh_caplen); - if ((unsigned) (bpf.buffer - buffer) < *buffer_len) - *buffer_pos = bpf.buffer - buffer; - else - *buffer_pos = 0; - - if (have_data) - return len; - - if (*buffer_pos == 0) - break; - } - - /* No valid packets left, so return */ - *buffer_pos = 0; - return -1; -} - -#elif __linux__ - -int open_socket (interface_t *iface, int protocol) -{ - int fd; - union sockunion { - struct sockaddr sa; - struct sockaddr_in sin; - struct sockaddr_ll sll; - struct sockaddr_storage ss; - } su; - struct sock_fprog pf; - struct ifreq ifr; - int n = 1; - - /* We need to bind to a port, otherwise Linux generate ICMP messages - * that cannot contect the port when we have an address. - * We don't actually use this fd at all, instead using our packet - * filter socket. */ - if (iface->listen_fd == -1 && protocol == ETHERTYPE_IP) { - if ((fd = socket (PF_INET, SOCK_DGRAM, IPPROTO_UDP)) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - } else { - memset (&su, 0, sizeof (su)); - su.sin.sin_family = AF_INET; - su.sin.sin_port = htons (DHCP_CLIENT_PORT); - if (setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, - &n, sizeof (n)) == -1) - logger (LOG_ERR, "SO_REUSEADDR: %s", - strerror (errno)); - if (setsockopt (fd, SOL_SOCKET, SO_RCVBUF, - &n, sizeof (n)) == -1) - logger (LOG_ERR, "SO_RCVBUF: %s", - strerror (errno)); - memset (&ifr, 0, sizeof (ifr)); - strncpy (ifr.ifr_name, iface->name, - sizeof (ifr.ifr_name)); - if (setsockopt (fd, SOL_SOCKET, SO_BINDTODEVICE, - &ifr, sizeof (ifr)) == -1) - logger (LOG_ERR, "SO_SOBINDTODEVICE: %s", - strerror (errno)); - if (bind (fd, &su.sa, sizeof (su)) == -1) { - logger (LOG_ERR, "bind: %s", strerror (errno)); - close (fd); - } else { - iface->listen_fd = fd; - close_on_exec (fd); - } - } - } - - if ((fd = socket (PF_PACKET, SOCK_DGRAM, htons (protocol))) == -1) { - logger (LOG_ERR, "socket: %s", strerror (errno)); - return (-1); - } - close_on_exec (fd); - - memset (&su, 0, sizeof (su)); - su.sll.sll_family = PF_PACKET; - su.sll.sll_protocol = htons (protocol); - if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { - logger (LOG_ERR, - "if_nametoindex: no index for interface `%s'", - iface->name); - close (fd); - return (-1); - } - - /* Install the DHCP filter */ - memset (&pf, 0, sizeof (pf)); - if (protocol == ETHERTYPE_ARP) { - pf.filter = arp_bpf_filter; - pf.len = sizeof (arp_bpf_filter) / sizeof (arp_bpf_filter[0]); - } else { - pf.filter = dhcp_bpf_filter; - pf.len = sizeof (dhcp_bpf_filter) / sizeof (dhcp_bpf_filter[0]); - } - if (setsockopt (fd, SOL_SOCKET, SO_ATTACH_FILTER, - &pf, sizeof (pf)) != 0) - { - logger (LOG_ERR, "SO_ATTACH_FILTER: %s", strerror (errno)); - close (fd); - return (-1); - } - - if (bind (fd, &su.sa, sizeof (su)) == -1) { - logger (LOG_ERR, "bind: %s", strerror (errno)); - close (fd); - return (-1); - } - - if (iface->fd > -1) - close (iface->fd); - iface->fd = fd; - iface->socket_protocol = protocol; - iface->buffer_length = BUFFER_LENGTH; - - return (fd); -} - -ssize_t send_packet (const interface_t *iface, int type, - const unsigned char *data, size_t len) -{ - union sockunion { - struct sockaddr sa; - struct sockaddr_ll sll; - struct sockaddr_storage ss; - } su; - ssize_t retval; - - if (! iface) - return (-1); - - memset (&su, 0, sizeof (su)); - su.sll.sll_family = AF_PACKET; - su.sll.sll_protocol = htons (type); - - if (! (su.sll.sll_ifindex = if_nametoindex (iface->name))) { - logger (LOG_ERR, "if_nametoindex: no index for interface `%s'", - iface->name); - return (-1); - } - - su.sll.sll_hatype = htons (iface->family); - su.sll.sll_halen = iface->hwlen; - if (iface->family == ARPHRD_INFINIBAND) - memcpy (&su.sll.sll_addr, - &ipv4_bcast_addr, sizeof (ipv4_bcast_addr)); - else - memset (&su.sll.sll_addr, 0xff, iface->hwlen); - - if ((retval = sendto (iface->fd, data, len, 0, &su.sa, - sizeof (su))) == -1) - - logger (LOG_ERR, "sendto: %s", strerror (errno)); - return (retval); -} - -/* Linux has no need for the buffer as we can read as much as we want. - * We only have the buffer listed to keep the same API. */ -ssize_t get_packet (const interface_t *iface, unsigned char *data, - unsigned char *buffer, - size_t *buffer_len, size_t *buffer_pos) -{ - ssize_t bytes; - union - { - unsigned char *buffer; - struct udp_dhcp_packet *packet; - } pay; - - /* We don't use the given buffer, but we need to rewind the position */ - *buffer_pos = 0; - - memset (buffer, 0, iface->buffer_length); - bytes = read (iface->fd, buffer, iface->buffer_length); - - if (bytes == -1) { - struct timespec ts; - logger (LOG_ERR, "read: %s", strerror (errno)); - ts.tv_sec = 3; - ts.tv_nsec = 0; - nanosleep (&ts, NULL); - return (-1); - } - - *buffer_len = bytes; - /* If it's an ARP reply, then just send it back */ - if (iface->socket_protocol == ETHERTYPE_ARP) { - memcpy (data, buffer, bytes); - return (bytes); - } - - if ((unsigned) bytes < (sizeof (pay.packet->ip) + - sizeof (pay.packet->udp))) - { - logger (LOG_DEBUG, "message too short, ignoring"); - return (-1); - } - - pay.buffer = buffer; - if (bytes < ntohs (pay.packet->ip.ip_len)) { - logger (LOG_DEBUG, "truncated packet, ignoring"); - return (-1); - } - - if (valid_dhcp_packet (buffer) == -1) - return (-1); - - bytes = ntohs (pay.packet->ip.ip_len) - - (sizeof (pay.packet->ip) + sizeof (pay.packet->udp)); - memcpy (data, &pay.packet->dhcp, bytes); - return (bytes); -} - -#else - #error "Platform not supported!" - #error "We currently support BPF and Linux sockets." - #error "Other platforms may work using BPF. If yours does, please let me know" - #error "so I can add it to our list." -#endif diff --git a/workspace/networkDiscovery/dhcpcd/socket.h b/workspace/networkDiscovery/dhcpcd/socket.h deleted file mode 100644 index bdf26d0..0000000 --- a/workspace/networkDiscovery/dhcpcd/socket.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * dhcpcd - DHCP client daemon - * Copyright 2006-2008 Roy Marples - * All rights reserved - - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#ifndef SOCKET_H -#define SOCKET_H - -#include - -#include "dhcp.h" -#include "interface.h" - -void setup_packet_filters (void); -void make_dhcp_packet(struct udp_dhcp_packet *packet, - const unsigned char *data, size_t length, - struct in_addr source, struct in_addr dest); - -int open_socket (interface_t *iface, int protocol); -ssize_t send_packet (const interface_t *iface, int type, - const unsigned char *data, size_t len); -ssize_t get_packet (const interface_t *iface, unsigned char *data, - unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos); -#endif diff --git a/workspace/networkDiscovery/main.cpp b/workspace/networkDiscovery/main.cpp deleted file mode 100644 index 228c6e4..0000000 --- a/workspace/networkDiscovery/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "networkdiscovery.h" - -#include -#include - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - NetworkDiscovery w; - w.show(); - return a.exec(); -} diff --git a/workspace/networkDiscovery/networkDiscovery.pro b/workspace/networkDiscovery/networkDiscovery.pro deleted file mode 100644 index 7095e70..0000000 --- a/workspace/networkDiscovery/networkDiscovery.pro +++ /dev/null @@ -1,42 +0,0 @@ -TEMPLATE = app -TARGET = networkDiscovery -QT += core \ - gui \ - network - -# LIBS += -L/usr/lib -# INCLUDEPATH += /usr/include/ -HEADERS += dhcpcd/arp.h \ - dhcpcd/client.h \ - dhcpcd/common.h \ - dhcpcd/config.h \ - dhcpcd/configure.h \ - dhcpcd/dhcp.h \ - dhcpcd/dhcpcd.h \ - dhcpcd/duid.h \ - dhcpcd/info.h \ - dhcpcd/interface.h \ - dhcpcd/ipv4ll.h \ - dhcpcd/logger.h \ - dhcpcd/signal.h \ - dhcpcd/socket.h \ - dhcpcd/version.h \ - networkdiscovery.h -SOURCES += dhcpcd/arp.c \ - dhcpcd/client.c \ - dhcpcd/common.c \ - dhcpcd/configure.c \ - dhcpcd/dhcp.c \ - dhcpcd/dhcpcd.c \ - dhcpcd/duid.c \ - dhcpcd/info.c \ - dhcpcd/interface.c \ - dhcpcd/ipv4ll.c \ - dhcpcd/logger.c \ - dhcpcd/signal.c \ - dhcpcd/socket.c \ - main.cpp \ - networkdiscovery.cpp -FORMS += networkdiscovery.ui \ - networkdiscovery.ui -RESOURCES += diff --git a/workspace/networkDiscovery/networkdiscovery.cpp b/workspace/networkDiscovery/networkdiscovery.cpp deleted file mode 100644 index e308de4..0000000 --- a/workspace/networkDiscovery/networkdiscovery.cpp +++ /dev/null @@ -1,125 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif -#include "dhcpcd/config.h" -#include "dhcpcd/client.h" -#include "dhcpcd/dhcpcd.h" -#include "dhcpcd/dhcp.h" -#include "dhcpcd/interface.h" -#include "dhcpcd/logger.h" -#include "dhcpcd/socket.h" -#include "dhcpcd/version.h" -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus - -#include -#include "networkdiscovery.h" -#include -#include - - -#endif - -NetworkDiscovery::NetworkDiscovery(QWidget *parent) - : QWidget(parent) -{ - ui.setupUi(this); - QList interfaces = getListOfNetworkInterfaces(); - - /** - * test if i get some dhcp values for the dummy0 interface - */ - doDHCP(interfaces); - doDhcp(interfaces.first()); -} - -NetworkDiscovery::~NetworkDiscovery() -{ - -} - -QList NetworkDiscovery::getListOfNetworkInterfaces() { - QList nIList = QNetworkInterface::allInterfaces(); - QList result; - foreach(QNetworkInterface nI, nIList) { - if (((!(nI.flags() & QNetworkInterface::CanBroadcast)|| - nI.flags() & QNetworkInterface::IsLoopBack) || - nI.flags() & QNetworkInterface::IsPointToPoint)) - { - continue; - } - qDebug() << nI.humanReadableName(); - result.append(nI); - } - return result; -} - -int NetworkDiscovery::doDHCP(QList interfaces) -{ - return 0; -} - - - -int NetworkDiscovery::doDhcp(QNetworkInterface interface) -{ - nd_main("eth0"); -} - -void NetworkDiscovery::listenToLogger() -{ - skt = new QLocalSocket(this); - - connect(skt, SIGNAL(readyRead()), this, SLOT(handleLoggedMessage())); - connect(skt, SIGNAL(error(QLocalSocket::LocalSocketError)), - this, SLOT(displayError(QLocalSocket::LocalSocketError))); - skt->connectToServer(COM_CH); -} - -void NetworkDiscovery::handleLoggedMessage() -{ - -} - -void NetworkDiscovery::displayError(QLocalSocket::LocalSocketError socketError) - { - switch (socketError) { - case QLocalSocket::ServerNotFoundError: - QMessageBox::information(this, tr("Fortune Client"), - tr("The host was not found. Please check the " - "host name and port settings.")); - break; - case QLocalSocket::ConnectionRefusedError: - QMessageBox::information(this, tr("Fortune Client"), - tr("The connection was refused by the peer. " - "Make sure the fortune server is running, " - "and check that the host name and port " - "settings are correct.")); - break; - case QLocalSocket::PeerClosedError: - break; - default: - QMessageBox::information(this, tr("Fortune Client"), - tr("The following error occurred: %1.") - .arg(skt->errorString())); - } - } - diff --git a/workspace/networkDiscovery/networkdiscovery.h b/workspace/networkDiscovery/networkdiscovery.h deleted file mode 100644 index fef0999..0000000 --- a/workspace/networkDiscovery/networkdiscovery.h +++ /dev/null @@ -1,35 +0,0 @@ -#ifndef NETWORKDISCOVERY_H -#define NETWORKDISCOVERY_H - - -#include -#include -#include -#include "ui_networkdiscovery.h" - -#define COM_CH "/var/tmp/com.socket" - -class NetworkDiscovery : public QWidget -{ - Q_OBJECT - -public: - NetworkDiscovery(QWidget *parent = 0); - ~NetworkDiscovery(); - -public slots: - void handleLoggedMessage(); - void displayError(QLocalSocket::LocalSocketError socketError); - -private: - Ui::NetworkDiscoveryClass ui; - QList getListOfNetworkInterfaces(); - int doDHCP(QList interfaces); - int doDhcp(QNetworkInterface interface); - void listenToLogger(); - - QLocalSocket *skt; - -}; - -#endif // NETWORKDISCOVERY_H diff --git a/workspace/networkDiscovery/networkdiscovery.ui b/workspace/networkDiscovery/networkdiscovery.ui deleted file mode 100644 index 5ea46e3..0000000 --- a/workspace/networkDiscovery/networkdiscovery.ui +++ /dev/null @@ -1,19 +0,0 @@ - - NetworkDiscoveryClass - - - - 0 - 0 - 400 - 300 - - - - NetworkDiscovery - - - - - - -- cgit v1.2.3-55-g7522 From 8024e86b5ce80beb2870654cf29308a0f1f208b8 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 16:16:07 +0200 Subject: bigger changes in the checkConnectivity method. using now route command to delete and add the default route. for this i am writing the gateways for every interface into a new file. located at /var/tmp/gateways_ --- LogReceiver/LogReceiver | Bin 122376 -> 130952 bytes LogReceiver/Makefile | 2 +- LogReceiver/logreceiver.cpp | 57 ++++++++++++++++++++++++++++++- LogReceiver/logreceiver.h | 4 ++- UnixDomainSocketServer/server | Bin 0 -> 7638 bytes UnixDomainSocketServer/server.c | 74 ++++++++++++++++++++++++++++++++++++++++ customdhcpcd/src/Makefile | 4 +-- customdhcpcd/src/configure.c | 2 ++ customdhcpcd/src/customdhcpcd | Bin 173171 -> 175254 bytes customdhcpcd/src/dhcpcd.h | 1 + customdhcpcd/src/logwriter.c | 74 ++++++++++++++++++++++++++++++++-------- customdhcpcd/src/logwriter.h | 2 +- 12 files changed, 200 insertions(+), 20 deletions(-) create mode 100755 UnixDomainSocketServer/server create mode 100644 UnixDomainSocketServer/server.c diff --git a/LogReceiver/LogReceiver b/LogReceiver/LogReceiver index a16897b..21d42f2 100755 Binary files a/LogReceiver/LogReceiver and b/LogReceiver/LogReceiver differ diff --git a/LogReceiver/Makefile b/LogReceiver/Makefile index cd541af..2b6b8c6 100644 --- a/LogReceiver/Makefile +++ b/LogReceiver/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Aug 24 10:11:58 2011 +# Generated by qmake (2.01a) (Qt 4.7.2) on: Thu Sep 1 13:01:39 2011 # Project: LogReceiver.pro # Template: app # Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 802f442..1256bfe 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -222,6 +222,60 @@ void LogReceiver::checkInternetConnection(QList &interfaces) { checkInternetConnection(nI); } } + +void LogReceiver::checkConnectivity(QString ifName) { + QString command("route"); + QStringList argList; + QString gateway(" "); + + // get gateway address + QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); + pathToGatewayFile += ifName; + QFile file(pathToGatewayFile); + if(file.exists()) { + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + qDebug() << "couldnt open file:" << pathToGatewayFile; + return; + } + while(!file.atEnd()) { + QString line(file.readLine()); + QStringList gateways = line.split(","); + gateway = gateways.first().trimmed(); + } + } + else { + qDebug() << "file doesn't exist:" << pathToGatewayFile; + return; + } + + // delete default route + argList << "del" << "default"; + QProcess * p = new QProcess(this); + p->start(command, argList); + p->waitForFinished(); + + // add new default route + argList.clear(); + argList << "add" << "default" << "gw" << gateway << ifName; + p = new QProcess(this); + p->start(command, argList); + p->waitForFinished(); + + // check connectivity via tcp connection + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(QString("209.85.148.105"), 80); + if (!tcpSocket->waitForConnected(2000)) { + qDebug() << "no internet connection with interface" << ifName; + qDebug() << tcpSocket->errorString(); + emit updateStatusLabel(ifName, "connection not possible"); + } else { + qDebug() << "internet: check passed! for interface" << ifName; + emit + updateStatusLabel(ifName, "connection possible"); + emit connectionEstablished(ifName); + } +} + void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { const bool canStartIAP = (configurationManager.capabilities() @@ -418,7 +472,8 @@ void LogReceiver::handleProcessFinished(int exitCode, emit updateStatusLabel(ifName, "check connectivity"); //checkInternetConnection(ifName); - checkInternetConnectionViaTCP(ifName); + //checkInternetConnectionViaTCP(ifName); + checkConnectivity(ifName); } } QLocalSocket *client = ifNameToClient.value(ifName, 0); diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index ce6d070..a8572d0 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -16,7 +16,8 @@ class LogReceiver: public QObject { Q_OBJECT #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/workspace/customdhcpcd/src/customdhcpcd" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" +#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" public: LogReceiver(); @@ -66,6 +67,7 @@ private: void checkInternetConnection(QString ifName); void checkInternetConnection(QList &interfaces); void checkInternetConnectionViaTCP(QString ifName); + void checkConnectivity(QString ifName); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); diff --git a/UnixDomainSocketServer/server b/UnixDomainSocketServer/server new file mode 100755 index 0000000..b90d066 Binary files /dev/null and b/UnixDomainSocketServer/server differ diff --git a/UnixDomainSocketServer/server.c b/UnixDomainSocketServer/server.c new file mode 100644 index 0000000..7746b49 --- /dev/null +++ b/UnixDomainSocketServer/server.c @@ -0,0 +1,74 @@ +/* A simple server in the internet domain using TCP + The port number is passed as an argument */ +#include +#include +#include +#include +#include +#include +#include + +void error(const char *msg) { + perror(msg); + exit(1); +} + +int main(int argc, char *argv[]) { + int sockfd, newsockfd; + socklen_t clilen; + char buffer[1024]; + char ack[4]; + struct sockaddr_un serv_addr, cli_addr; + int n; + + sockfd = socket(AF_UNIX, SOCK_STREAM, 0); + if (sockfd < 0) + error("ERROR opening socket"); + + bzero((char *) &serv_addr, sizeof(serv_addr)); + + serv_addr.sun_family = AF_UNIX; + strcpy(serv_addr.sun_path, "/var/tmp/qt_c_socket_default"); + unlink("/var/tmp/qt_c_socket_default"); + if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) + error("ERROR on binding"); + + if (listen(sockfd, 5) == -1) { + error("ERROR on listen"); + } + + strcpy(ack,"ACK"); + + for (;;) { + int done; + printf("Waiting for a connection...\n"); + clilen = sizeof(cli_addr); + + newsockfd = accept(sockfd, (struct sockaddr *) &cli_addr, &clilen); + if (newsockfd < 0) + error("ERROR on accept"); + + printf("Connected.\n"); + done = 0; + + do { + bzero(buffer, 1024); + n = read(newsockfd, buffer, 1023); + if (n <= 0) { + if (n<0) error("ERROR reading from socket"); + done = 1; + } + printf("Here is the message: \"%s\"\n", buffer); + if(!done) { + if (send(newsockfd, ack, sizeof(ack), 0) < 0) { + error("ERROR on send"); + done = 1; + } + } + } while (!done); + close(newsockfd); + } + + close(sockfd); + return 0; +} diff --git a/customdhcpcd/src/Makefile b/customdhcpcd/src/Makefile index 7f90db4..bb1078f 100644 --- a/customdhcpcd/src/Makefile +++ b/customdhcpcd/src/Makefile @@ -5,10 +5,10 @@ PROG= customdhcpcd SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ info.c interface.c ipv4ll.c logger.c logwriter.c signal.c socket.c -MAN= dhcpcd.8 +MAN= VERSION= 3.2.3 -CLEANFILES= version.h dhcpcd.8 +CLEANFILES= version.h BINDIR= ${PREFIX}/sbin diff --git a/customdhcpcd/src/configure.c b/customdhcpcd/src/configure.c index 91e3c9f..1eaf8f6 100644 --- a/customdhcpcd/src/configure.c +++ b/customdhcpcd/src/configure.c @@ -554,6 +554,8 @@ int configure (const options_t *options, interface_t *iface, if (dhcp->address.s_addr == 0) up = 0; + logGatewayToFile(iface, dhcp); + /* Remove old routes. * Always do this as the interface may have >1 address not added by us * so the routes we added may still exist. */ diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd index 5ef34d0..1fd0594 100755 Binary files a/customdhcpcd/src/customdhcpcd and b/customdhcpcd/src/customdhcpcd differ diff --git a/customdhcpcd/src/dhcpcd.h b/customdhcpcd/src/dhcpcd.h index 7deb5b7..3f4c085 100644 --- a/customdhcpcd/src/dhcpcd.h +++ b/customdhcpcd/src/dhcpcd.h @@ -43,6 +43,7 @@ /* added by Niklas Goby, additional field, storing the socket address path for * communicating with Qt "server" */ #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" #define QTSOCKETADDRESSLENGTH 255 #define CLASS_ID_MAX_LEN 48 diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index 74c0181..cc7a595 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -1,3 +1,4 @@ +#include #include #include #include @@ -12,6 +13,7 @@ #include "common.h" #include "dhcp.h" #include "dhcpcd.h" +#include "errno.h" #include "logger.h" #include "logwriter.h" #include "status.h" @@ -77,25 +79,39 @@ void logToQt(char * status, char * substatus, char * msg) { void sendToQt(log_msg * msg) { int n = -1; + int t; const char *tpl = "%s;%d;%d;%s\n"; char *outbuf; - size_t outbuf_size = - sizeof(char)*4 + // ";" *3 + newline - sizeof(int)*2 + // status, substatus - sizeof(msg->device) + // devicename - sizeof(msg->msg); // msg + char ack[4]; + size_t outbuf_size = sizeof(char) * 4 + // ";" *3 + newline + sizeof(int) * 2 + // status, substatus + sizeof(msg->device) + // devicename + sizeof(msg->msg); // msg outbuf = malloc(outbuf_size); - memset(outbuf,0,outbuf_size); - snprintf(outbuf, sizeof(char)*3 + sizeof(int)*2 + sizeof(msg->device) + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, msg->msg); - if (outbuf != NULL){ - n = write(sockfd, outbuf, outbuf_size); + memset(outbuf, 0, outbuf_size); + snprintf(outbuf, sizeof(char) * 3 + sizeof(int) * 2 + sizeof(msg->device) + + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, + msg->msg); + if (outbuf != NULL) { + n = send(sockfd, outbuf, outbuf_size, 0); } free(outbuf); - syslog (LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); -// fflush(sockfd); - if (n < 0) { - syslog (LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); -// fprintf(stdout, "ERROR writing to socket: %s", msg); + syslog(LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", + msg->status, msg->substatus, msg->msg, msg->device); + // fflush(sockfd); + if (n <= 0) { + syslog(LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", + msg->status, msg->substatus, msg->msg, msg->device); + // fprintf(stdout, "ERROR writing to socket: %s", msg); + } + if ((t = recv(sockfd, ack, 4, 0)) > 0) { + ack[t] = '\0'; + syslog(LOG_ERR, "[fbgui] recv ack echo> %s", ack); + } else { + if (t < 0) + syslog(LOG_ERR, "[fbgui] ERROR receiving from socket"); + else + syslog(LOG_ERR, "[fbgui] ERROR Server closed"); } //usleep(500); } @@ -147,3 +163,33 @@ void logLoggerToQt(int level, const char *fmt, va_list args) { strcat(mesg, "\n"); logToQt(level, DHCPCD_LOG, mesg); } + +void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp) { + FILE *f; + route_t *route; + char path[QTSOCKETADDRESSLENGTH]; + + strcpy(path, DEFAULT_GATEWAY_INFO_LOCATION); + strcat(path, iface->name); + + syslog (LOG_INFO, "[fbgui] try to open file: %s", path); + + logger(LOG_DEBUG, "writing %s", iface->infofile); + if ((f = fopen(path, "w")) == NULL) { + logger(LOG_ERR, "fopen `%s': %s", path, strerror(errno)); + } + + if (dhcp->routes) { + bool doneone = false; + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr == 0) { + if (doneone) + fprintf(f, ","); + fprintf(f, "%s", inet_ntoa(route->gateway)); + doneone = true; + } + } + fprintf(f, "\n"); + } + fclose(f); +} diff --git a/customdhcpcd/src/logwriter.h b/customdhcpcd/src/logwriter.h index 1a755fc..11693e5 100644 --- a/customdhcpcd/src/logwriter.h +++ b/customdhcpcd/src/logwriter.h @@ -32,6 +32,6 @@ void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); void logLoggerToQt(int level, const char *fmt, va_list args); //void logToQt(char * status, char * substatus, char * msg); - +void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp); #endif /* LOGWRITER_H_ */ -- cgit v1.2.3-55-g7522 From ce2dc6982101ffb964feb5f29354d2b061c4b2b6 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 17:26:32 +0200 Subject: we tried some fixes for the messge loss problem, but we failed. Sebastian will look at the code later. server is now a echo server which sends ack for every received message. --- UnixDomainSocketServer/server | Bin 7638 -> 7638 bytes UnixDomainSocketServer/server.c | 8 ++++---- customdhcpcd/src/customdhcpcd | Bin 175254 -> 175292 bytes customdhcpcd/src/logwriter.c | 7 ++++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/UnixDomainSocketServer/server b/UnixDomainSocketServer/server index b90d066..05ff3ec 100755 Binary files a/UnixDomainSocketServer/server and b/UnixDomainSocketServer/server differ diff --git a/UnixDomainSocketServer/server.c b/UnixDomainSocketServer/server.c index 7746b49..1faf499 100644 --- a/UnixDomainSocketServer/server.c +++ b/UnixDomainSocketServer/server.c @@ -17,7 +17,7 @@ int main(int argc, char *argv[]) { int sockfd, newsockfd; socklen_t clilen; char buffer[1024]; - char ack[4]; + const char ack[4] = "ACK"; struct sockaddr_un serv_addr, cli_addr; int n; @@ -37,7 +37,6 @@ int main(int argc, char *argv[]) { error("ERROR on listen"); } - strcpy(ack,"ACK"); for (;;) { int done; @@ -52,14 +51,15 @@ int main(int argc, char *argv[]) { done = 0; do { - bzero(buffer, 1024); - n = read(newsockfd, buffer, 1023); + bzero(buffer, 2048); + n = read(newsockfd, buffer, 2048); if (n <= 0) { if (n<0) error("ERROR reading from socket"); done = 1; } printf("Here is the message: \"%s\"\n", buffer); if(!done) { + printf("send ACK"); if (send(newsockfd, ack, sizeof(ack), 0) < 0) { error("ERROR on send"); done = 1; diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd index 1fd0594..65aedd0 100755 Binary files a/customdhcpcd/src/customdhcpcd and b/customdhcpcd/src/customdhcpcd differ diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index cc7a595..378d805 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -82,7 +82,7 @@ void sendToQt(log_msg * msg) { int t; const char *tpl = "%s;%d;%d;%s\n"; char *outbuf; - char ack[4]; + char ack[8]; size_t outbuf_size = sizeof(char) * 4 + // ";" *3 + newline sizeof(int) * 2 + // status, substatus sizeof(msg->device) + // devicename @@ -104,9 +104,10 @@ void sendToQt(log_msg * msg) { msg->status, msg->substatus, msg->msg, msg->device); // fprintf(stdout, "ERROR writing to socket: %s", msg); } - if ((t = recv(sockfd, ack, 4, 0)) > 0) { - ack[t] = '\0'; + memset(ack,0,sizeof(ack)); + if ((t = recv(sockfd, ack, sizeof(ack), 0)) > 0) { syslog(LOG_ERR, "[fbgui] recv ack echo> %s", ack); + printf("received: %s\n", ack); } else { if (t < 0) syslog(LOG_ERR, "[fbgui] ERROR receiving from socket"); -- cgit v1.2.3-55-g7522 From c0d112499ba2805e4e75f2ba3574d412c5db8be1 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 18:04:05 +0200 Subject: some comments to the LogReceiver methods --- LogReceiver/logreceiver.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 1256bfe..f618e90 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -450,6 +450,34 @@ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { } } +/** + * This Method is called when a process is finished. + * + * This Method is called when a process is finished. This slot is connected + * with the signal finished() of the QProcess class. + * If the process finishes, it will be checked if the process exited normal + * or if an unexpected error occurred. For this, we determine the sender (which is a + * QProcess), get the corresponding interface (which is stored in a map), and check + * the exitCode. Further actions are taken according to the exitCode check. + * Normal exit: + * emit changeProgressBar() to 100% + * emit updateStatusLabel() to check connection + * checkConnectivity() @see LogReceiver::checkConnectivity() + * Unexpected exit: + * emit updateStatusLabel() to process exited unexpected + * TODO:: the reason for the unexpected exit should be presented in the logfile. + * + * @param exitCode + * + * @param exitStatus + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see LogReceiver::getListOfNetworkInterfaces() + */ void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QProcess* p = qobject_cast (QObject::sender()); @@ -466,7 +494,7 @@ void LogReceiver::handleProcessFinished(int exitCode, emit updateStatusLabel(ifName, "process exited unexpected"); } else { qDebug() << "process normal exit"; - qDebug() << "check internet connction"; + qDebug() << "check internet connection"; emit changeProgressBarValue(ifName, 100); emit @@ -485,13 +513,36 @@ void LogReceiver::handleProcessFinished(int exitCode, emit allProcessesFinished(); } } - +/** + * This Method is called when a process is started. + * + * This Method is called when a process is started. + * It prints the message: "process started for interface: ". + */ void LogReceiver::handleProcessStarted() { QProcess* p = qobject_cast (QObject::sender()); QString ifName = clientProcessToIfNameMap.value(p, "ifName"); qDebug() << "process started for interface:" << ifName; } +/** + * This Method implements a blacklist. + * + * This Method implements a blacklist. We check the fist character + * of the interface name. if this letter is in the list, we return true. + * True means, that this interface won't be put into the result list of + * getListOfNetworkInterfaces(). + * + * @param i + * is a interface name. + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see LogReceiver::getListOfNetworkInterfaces() + */ bool LogReceiver::checkBlackList(QString i) { if (i.startsWith("v", Qt::CaseInsensitive)) { return true; -- cgit v1.2.3-55-g7522 From 2eb93cd11269dc044fdd5b0b6cbf544c5dfb3e0e Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 1 Sep 2011 18:14:35 +0200 Subject: some comments to the LogReceiver methods --- LogReceiver/logreceiver.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index f618e90..1e3f388 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -316,6 +316,9 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { session->close(); } +/** + * + */ void LogReceiver::handleNewConnection() { qDebug() << "New Connection arrived"; @@ -327,6 +330,9 @@ void LogReceiver::handleNewConnection() { connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); } +/** + * + */ void LogReceiver::handleClientDisconnect() { QLocalSocket* socket = qobject_cast (QObject::sender()); @@ -337,6 +343,9 @@ void LogReceiver::handleClientDisconnect() { client->deleteLater(); } +/** + * + */ void LogReceiver::handleNewInput(QLocalSocket * client) { qDebug() << "last read before exit"; while (client->canReadLine()) { @@ -352,6 +361,9 @@ void LogReceiver::handleNewInput(QLocalSocket * client) { } } +/** + * + */ void LogReceiver::handleNewInput() { QLocalSocket* socket = qobject_cast (QObject::sender()); @@ -381,6 +393,28 @@ void LogReceiver::handleNewInput() { */ } +/** + * This Method processes the send messages. + * + * This Method processes the send messages. It splits the line + * into several components. Those components are: + * interface: interface name ==> indicates the process who send the message + * s_state: is the number representation of syslog.h LOG levels + * s_subState: is the number representation of the dhcp.c DHCP states (1 - 8) plus + * the status. h states (9 - ..) + * msg: is a message which can contain additional informations + * + * According to the s_state and s_subState we emit the changeProgressBarValue() signal + * with different values. + * + * @param client + * the client who send the message + * + * @param data + * the message. (format ;;; ) + * + * + */ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { QString logMsg(data); -- cgit v1.2.3-55-g7522 From 8fac1e425eca9487dda5465b74de84a2df8edddd Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Thu, 1 Sep 2011 19:27:46 +0200 Subject: fix message loss --- UnixDomainSocketServer/Makefile | 5 +++++ UnixDomainSocketServer/server | Bin 7638 -> 11967 bytes UnixDomainSocketServer/server.c | 18 ++++++++++++------ common/fbgui.h | 7 +++++++ customdhcpcd/src/customdhcpcd | Bin 175292 -> 195074 bytes customdhcpcd/src/logwriter.c | 24 ++++++++++++++++++------ customdhcpcd/src/logwriter.h | 2 +- 7 files changed, 43 insertions(+), 13 deletions(-) create mode 100644 UnixDomainSocketServer/Makefile create mode 100644 common/fbgui.h diff --git a/UnixDomainSocketServer/Makefile b/UnixDomainSocketServer/Makefile new file mode 100644 index 0000000..373b23f --- /dev/null +++ b/UnixDomainSocketServer/Makefile @@ -0,0 +1,5 @@ +all: + gcc -g -Wall server.c -o server + +clean: + rm -f server diff --git a/UnixDomainSocketServer/server b/UnixDomainSocketServer/server index 05ff3ec..d76bb91 100755 Binary files a/UnixDomainSocketServer/server and b/UnixDomainSocketServer/server differ diff --git a/UnixDomainSocketServer/server.c b/UnixDomainSocketServer/server.c index 1faf499..28de223 100644 --- a/UnixDomainSocketServer/server.c +++ b/UnixDomainSocketServer/server.c @@ -8,6 +8,8 @@ #include #include +#include "../common/fbgui.h" + void error(const char *msg) { perror(msg); exit(1); @@ -16,8 +18,8 @@ void error(const char *msg) { int main(int argc, char *argv[]) { int sockfd, newsockfd; socklen_t clilen; - char buffer[1024]; - const char ack[4] = "ACK"; + char buffer[DHCP_MESSAGE_SIZE]; + const char ack[ACK_SIZE] = "ACK"; struct sockaddr_un serv_addr, cli_addr; int n; @@ -51,16 +53,20 @@ int main(int argc, char *argv[]) { done = 0; do { - bzero(buffer, 2048); - n = read(newsockfd, buffer, 2048); + bzero(buffer, DHCP_MESSAGE_SIZE); + n = read(newsockfd, buffer, DHCP_MESSAGE_SIZE); if (n <= 0) { if (n<0) error("ERROR reading from socket"); done = 1; } + // search for last newline and replace it with a null + char * pch; + pch=strrchr(buffer,'\n'); + buffer[pch-buffer] = '\0'; printf("Here is the message: \"%s\"\n", buffer); if(!done) { - printf("send ACK"); - if (send(newsockfd, ack, sizeof(ack), 0) < 0) { + printf("send ACK\n"); + if (send(newsockfd, ack, ACK_SIZE, 0) < 0) { error("ERROR on send"); done = 1; } diff --git a/common/fbgui.h b/common/fbgui.h new file mode 100644 index 0000000..7a0faf5 --- /dev/null +++ b/common/fbgui.h @@ -0,0 +1,7 @@ +#ifndef FBGUI_H +#define FBGUI_H + +#define DHCP_MESSAGE_SIZE 2048 +#define ACK_SIZE 4 + +#endif // FBGUI_H diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd index 65aedd0..80fec08 100755 Binary files a/customdhcpcd/src/customdhcpcd and b/customdhcpcd/src/customdhcpcd differ diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index 378d805..6a04821 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -18,6 +18,8 @@ #include "logwriter.h" #include "status.h" +#include "../../common/fbgui.h" // for constants + /*sockets for the logger and the qt-reader */ int sockfd, ns; int retval = -1; @@ -80,9 +82,11 @@ void logToQt(char * status, char * substatus, char * msg) { void sendToQt(log_msg * msg) { int n = -1; int t; + int ret; const char *tpl = "%s;%d;%d;%s\n"; - char *outbuf; - char ack[8]; + char outbuf[DHCP_MESSAGE_SIZE]; + char ack[ACK_SIZE]; + /* size_t outbuf_size = sizeof(char) * 4 + // ";" *3 + newline sizeof(int) * 2 + // status, substatus sizeof(msg->device) + // devicename @@ -92,10 +96,18 @@ void sendToQt(log_msg * msg) { snprintf(outbuf, sizeof(char) * 3 + sizeof(int) * 2 + sizeof(msg->device) + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, msg->msg); + */ + memset(outbuf, '\0', DHCP_MESSAGE_SIZE); + ret = snprintf(outbuf, DHCP_MESSAGE_SIZE, tpl, msg->device, msg->status, msg->substatus, + msg->msg); + if (ret < 1) { + syslog(LOG_INFO, "[fbgui] ERROR filling message buffer"); + return; + } if (outbuf != NULL) { - n = send(sockfd, outbuf, outbuf_size, 0); + n = send(sockfd, outbuf, DHCP_MESSAGE_SIZE, 0); } - free(outbuf); + //free(outbuf); syslog(LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); // fflush(sockfd); @@ -104,8 +116,8 @@ void sendToQt(log_msg * msg) { msg->status, msg->substatus, msg->msg, msg->device); // fprintf(stdout, "ERROR writing to socket: %s", msg); } - memset(ack,0,sizeof(ack)); - if ((t = recv(sockfd, ack, sizeof(ack), 0)) > 0) { + memset(ack,0,ACK_SIZE); + if ((t = recv(sockfd, ack, ACK_SIZE, 0)) > 0) { syslog(LOG_ERR, "[fbgui] recv ack echo> %s", ack); printf("received: %s\n", ack); } else { diff --git a/customdhcpcd/src/logwriter.h b/customdhcpcd/src/logwriter.h index 11693e5..1e4184d 100644 --- a/customdhcpcd/src/logwriter.h +++ b/customdhcpcd/src/logwriter.h @@ -32,6 +32,6 @@ void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); void logLoggerToQt(int level, const char *fmt, va_list args); //void logToQt(char * status, char * substatus, char * msg); -void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp); +//void logGatewayToFile(const interface_t iface, const dhcp_t dhcp); #endif /* LOGWRITER_H_ */ -- cgit v1.2.3-55-g7522 From b7614e568bba20eeaa82b186ac497ac63b197638 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 2 Sep 2011 12:19:54 +0200 Subject: just minor changes. deltions of unuseful comments --- UnixDomainSocketServer/server | Bin 11967 -> 10209 bytes UnixDomainSocketServer/server.c | 2 -- customdhcpcd/src/customdhcpcd | Bin 195074 -> 175308 bytes customdhcpcd/src/logwriter.c | 22 +--------------------- customdhcpcd/src/logwriter.h | 2 +- 5 files changed, 2 insertions(+), 24 deletions(-) diff --git a/UnixDomainSocketServer/server b/UnixDomainSocketServer/server index d76bb91..1811a94 100755 Binary files a/UnixDomainSocketServer/server and b/UnixDomainSocketServer/server differ diff --git a/UnixDomainSocketServer/server.c b/UnixDomainSocketServer/server.c index 28de223..ce776b1 100644 --- a/UnixDomainSocketServer/server.c +++ b/UnixDomainSocketServer/server.c @@ -1,5 +1,3 @@ -/* A simple server in the internet domain using TCP - The port number is passed as an argument */ #include #include #include diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd index 80fec08..3676699 100755 Binary files a/customdhcpcd/src/customdhcpcd and b/customdhcpcd/src/customdhcpcd differ diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index 6a04821..a96bbda 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -62,23 +62,6 @@ void closeQtLoggerSocket (){ close(sockfd); } -/* -void logToQt(char * status, char * substatus, char * msg) { - char * m = malloc(strlen(interfaceName) + strlen(status) + strlen(substatus) + strlen(msg) +4 ); - strcpy(m,interfaceName); - strcat(m,";"); - strcat(m,status); - strcat(m,";"); - strcat(m,substatus); - strcat(m,";"); - strcat(m,msg); - sendToQt(m); - - free(m); -} -*/ - - void sendToQt(log_msg * msg) { int n = -1; int t; @@ -107,14 +90,12 @@ void sendToQt(log_msg * msg) { if (outbuf != NULL) { n = send(sockfd, outbuf, DHCP_MESSAGE_SIZE, 0); } - //free(outbuf); syslog(LOG_INFO, "[fbgui] INFO writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); - // fflush(sockfd); + if (n <= 0) { syslog(LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); - // fprintf(stdout, "ERROR writing to socket: %s", msg); } memset(ack,0,ACK_SIZE); if ((t = recv(sockfd, ack, ACK_SIZE, 0)) > 0) { @@ -126,7 +107,6 @@ void sendToQt(log_msg * msg) { else syslog(LOG_ERR, "[fbgui] ERROR Server closed"); } - //usleep(500); } void logToQt(int status, int substatus, const char * msg) { diff --git a/customdhcpcd/src/logwriter.h b/customdhcpcd/src/logwriter.h index 1e4184d..bb834cb 100644 --- a/customdhcpcd/src/logwriter.h +++ b/customdhcpcd/src/logwriter.h @@ -32,6 +32,6 @@ void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); void logLoggerToQt(int level, const char *fmt, va_list args); //void logToQt(char * status, char * substatus, char * msg); -//void logGatewayToFile(const interface_t iface, const dhcp_t dhcp); +void logGatewayToFile(const interface_t iface, const dhcp_t dhcp); #endif /* LOGWRITER_H_ */ -- cgit v1.2.3-55-g7522 From 603f6e47b2be2b5e03e63f6bee9c6364c92a251e Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 2 Sep 2011 17:06:02 +0200 Subject: added a new container class which holds config informations about an interface. also solved the message loss problem by setting the read an writing messages to the same size --- LogReceiver/LogReceiver | Bin 130952 -> 141290 bytes LogReceiver/LogReceiver.pro | 6 +- LogReceiver/Makefile | 27 +++-- LogReceiver/interfaceconfiguration.cpp | 133 ++++++++++++++++++++++++ LogReceiver/interfaceconfiguration.h | 53 ++++++++++ LogReceiver/logreceiver.cpp | 63 ++++-------- LogReceiver/logreceiver.h | 4 +- LogReceiver/ndgui.cpp | 5 +- LogReceiver/ndgui.h | 3 +- customdhcpcd/src/Makefile | 2 +- customdhcpcd/src/customdhcpcd | Bin 175308 -> 179744 bytes customdhcpcd/src/logwriter.c | 180 ++++++++++++++++++++++----------- customdhcpcd/src/logwriter.h | 5 +- 13 files changed, 368 insertions(+), 113 deletions(-) create mode 100644 LogReceiver/interfaceconfiguration.cpp create mode 100644 LogReceiver/interfaceconfiguration.h diff --git a/LogReceiver/LogReceiver b/LogReceiver/LogReceiver index 21d42f2..d29f4e2 100755 Binary files a/LogReceiver/LogReceiver and b/LogReceiver/LogReceiver differ diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index 19300fa..9666b2f 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -5,11 +5,13 @@ QT += core \ network LIBS += -lsysfs INCLUDEPATH += ../customdhcpcd/src -HEADERS += ndgui.h \ +HEADERS += interfaceconfiguration.h \ + ndgui.h \ logreceiver.h \ abortbootdialog.h \ chooseinterfacedialog.h -SOURCES += ndgui.cpp \ +SOURCES += interfaceconfiguration.cpp \ + ndgui.cpp \ main.cpp \ logreceiver.cpp \ abortbootdialog.cpp \ diff --git a/LogReceiver/Makefile b/LogReceiver/Makefile index 2b6b8c6..0ba1fe1 100644 --- a/LogReceiver/Makefile +++ b/LogReceiver/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Thu Sep 1 13:01:39 2011 +# Generated by qmake (2.01a) (Qt 4.7.2) on: Fri Sep 2 14:15:11 2011 # Project: LogReceiver.pro # Template: app # Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro @@ -43,19 +43,23 @@ OBJECTS_DIR = ./ ####### Files -SOURCES = ndgui.cpp \ +SOURCES = interfaceconfiguration.cpp \ + ndgui.cpp \ main.cpp \ logreceiver.cpp \ abortbootdialog.cpp \ - chooseinterfacedialog.cpp moc_ndgui.cpp \ + chooseinterfacedialog.cpp moc_interfaceconfiguration.cpp \ + moc_ndgui.cpp \ moc_logreceiver.cpp \ moc_abortbootdialog.cpp \ moc_chooseinterfacedialog.cpp -OBJECTS = ndgui.o \ +OBJECTS = interfaceconfiguration.o \ + ndgui.o \ main.o \ logreceiver.o \ abortbootdialog.o \ chooseinterfacedialog.o \ + moc_interfaceconfiguration.o \ moc_ndgui.o \ moc_logreceiver.o \ moc_abortbootdialog.o \ @@ -167,7 +171,7 @@ qmake: FORCE dist: @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents interfaceconfiguration.h ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents interfaceconfiguration.cpp ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 clean:compiler_clean @@ -188,9 +192,12 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean mocables: compiler_moc_header_make_all compiler_moc_source_make_all -compiler_moc_header_make_all: moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +compiler_moc_header_make_all: moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp + -$(DEL_FILE) moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +moc_interfaceconfiguration.cpp: interfaceconfiguration.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) interfaceconfiguration.h -o moc_interfaceconfiguration.cpp + moc_ndgui.cpp: ui_ndgui.h \ logreceiver.h \ chooseinterfacedialog.h \ @@ -233,6 +240,9 @@ compiler_clean: compiler_moc_header_clean compiler_uic_clean ####### Compile +interfaceconfiguration.o: interfaceconfiguration.cpp interfaceconfiguration.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o interfaceconfiguration.o interfaceconfiguration.cpp + ndgui.o: ndgui.cpp ndgui.h \ ui_ndgui.h \ logreceiver.h \ @@ -256,6 +266,9 @@ abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h chooseinterfacedialog.o: chooseinterfacedialog.cpp chooseinterfacedialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chooseinterfacedialog.o chooseinterfacedialog.cpp +moc_interfaceconfiguration.o: moc_interfaceconfiguration.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_interfaceconfiguration.o moc_interfaceconfiguration.cpp + moc_ndgui.o: moc_ndgui.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ndgui.o moc_ndgui.cpp diff --git a/LogReceiver/interfaceconfiguration.cpp b/LogReceiver/interfaceconfiguration.cpp new file mode 100644 index 0000000..8ab7cbb --- /dev/null +++ b/LogReceiver/interfaceconfiguration.cpp @@ -0,0 +1,133 @@ +/* + * interfaceconfiguration.cpp + * + * Created on: Sep 2, 2011 + * Author: niklas + */ +#include "interfaceconfiguration.h" + +interfaceconfiguration::interfaceconfiguration() { + +} + +interfaceconfiguration::~interfaceconfiguration() { + // TODO Auto-generated destructor stub +} + +/** + * This method reads the configuration values out of a file. + * + * This method reads the configuration values out of a file. + * The file has to be created before by the customdhcpcd QProcess. + * (Overwrites the old values if they are already present.) + * + * @param pathToConfig + * contains the path to the configuration file. + */ +bool interfaceconfiguration::readConfigOutOfFile(QString pathToConfig) { + QFile file(pathToConfig); + if (file.exists()) { + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + qDebug() << "couldn't open file:" << pathToConfig; + return false; + } + while (!file.atEnd()) { + QString line(file.readLine()); + QStringList splitedLine = line.split("="); + QString name = splitedLine.first().trimmed(); + splitedLine.removeFirst(); + QString values = splitedLine.first().trimmed(); + values.remove(QChar('\'')); + qDebug() << "read config file:" << name << values; + if (name.compare("IPADDR") == 0) { + this->ipAddress = values; + } else if (name.compare("NETMASK") == 0) { + this->netmask = values; + } else if (name.compare("NETWORK") == 0) { + this->network = values; + } else if (name.compare("BROADCAST") == 0) { + this->broadcast = values; + } else if (name.compare("ROUTES") == 0) { + this->routes = values; + } else if (name.compare("GATEWAYS") == 0) { + this->gateways = values; + this->gateway = this->gateways.split(" ").first().trimmed(); + } else if (name.compare("HOSTNAME") == 0) { + this->hostname = values; + } else if (name.compare("DNSSEARCH") == 0) { + this->dnssearch = values; + } else if (name.compare("DNSSERVERS") == 0) { + this->dnsservers = values; + } else if (name.compare("DHCPSID") == 0) { + this->dhcpsid = values; + } else if (name.compare("INTERFACE") == 0) { + this->interface = values; + } else if (name.compare("CLIENTID") == 0) { + this->clientid = values; + } else if (name.compare("DHCPCHADDR") == 0) { + this->dhcpchaddr = values; + } else { + qDebug() << "read unknown name" << name << values; + } + } + } else { + qDebug() << "file doesn't exist:" << pathToConfig; + return false; + } + return true; +} + +QString interfaceconfiguration::getBroadcast() { + return broadcast; +} + +QString interfaceconfiguration::getClientid() { + return clientid; +} + +QString interfaceconfiguration::getDhcpchaddr() { + return dhcpchaddr; +} + +QString interfaceconfiguration::getDhcpsid() { + return dhcpsid; +} +QString interfaceconfiguration::getDnssearch() { + return dnssearch; +} + +QString interfaceconfiguration::getDnsservers() { + return dnsservers; +} + +QString interfaceconfiguration::getGateways() { + return gateways; +} + +QString interfaceconfiguration::getGateway() { + return gateway; +} + +QString interfaceconfiguration::getHostname() { + return hostname; +} + +QString interfaceconfiguration::getInterface() { + return interface; +} + +QString interfaceconfiguration::getIpAddress() { + return ipAddress; +} + +QString interfaceconfiguration::getNetmask() { + return netmask; +} + +QString interfaceconfiguration::getNetwork() { + return network; +} + +QString interfaceconfiguration::getRoutes() { + return routes; +} diff --git a/LogReceiver/interfaceconfiguration.h b/LogReceiver/interfaceconfiguration.h new file mode 100644 index 0000000..d12bd14 --- /dev/null +++ b/LogReceiver/interfaceconfiguration.h @@ -0,0 +1,53 @@ +/* + * interfaceconfiguration.h + * + * Created on: Sep 2, 2011 + * Author: niklas + */ + +#ifndef INTERFACECONFIGURATION_H_ +#define INTERFACECONFIGURATION_H_ + +#include + +class interfaceconfiguration: public QObject { +Q_OBJECT + +public: + interfaceconfiguration(); + virtual ~interfaceconfiguration(); + + bool readConfigOutOfFile(QString pathToConfig); + QString getBroadcast(); + QString getClientid(); + QString getDhcpchaddr(); + QString getDhcpsid(); + QString getDnssearch(); + QString getDnsservers(); + QString getGateways(); + QString getGateway(); + QString getHostname(); + QString getInterface(); + QString getIpAddress(); + QString getNetmask(); + QString getNetwork(); + QString getRoutes(); + +private: + QString ipAddress; + QString netmask; + QString network; + QString broadcast; + QString routes; + QString gateway; + QString gateways; + QString hostname; + QString dnssearch; + QString dnsservers; + QString dhcpsid; + QString interface; + QString clientid; + QString dhcpchaddr; +}; + +#endif /* INTERFACECONFIGURATION_H_ */ diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 1e3f388..199f6ed 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -9,11 +9,14 @@ #include #include "logreceiver.h" +#include "interfaceconfiguration.h" #include #include #include "status.h" #include "dhcp.h" +#include "../common/fbgui.h" + LogReceiver::LogReceiver() { server = new QLocalServer(this); @@ -212,7 +215,7 @@ void LogReceiver::checkInternetConnection(QString ifName) { qDebug() << "internet: check passed! for interface" << ifName; emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName); + emit connectionEstablished(ifName, ""); } } @@ -231,22 +234,8 @@ void LogReceiver::checkConnectivity(QString ifName) { // get gateway address QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); pathToGatewayFile += ifName; - QFile file(pathToGatewayFile); - if(file.exists()) { - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - qDebug() << "couldnt open file:" << pathToGatewayFile; - return; - } - while(!file.atEnd()) { - QString line(file.readLine()); - QStringList gateways = line.split(","); - gateway = gateways.first().trimmed(); - } - } - else { - qDebug() << "file doesn't exist:" << pathToGatewayFile; - return; - } + interfaceconfiguration ifConf; + ifConf.readConfigOutOfFile(pathToGatewayFile); // delete default route argList << "del" << "default"; @@ -256,7 +245,10 @@ void LogReceiver::checkConnectivity(QString ifName) { // add new default route argList.clear(); - argList << "add" << "default" << "gw" << gateway << ifName; + qDebug() << "add default route with:" << ifConf.getGateway() + << ifConf.getInterface(); + argList << "add" << "default" << "gw" << ifConf.getGateway() + << ifConf.getInterface(); p = new QProcess(this); p->start(command, argList); p->waitForFinished(); @@ -272,7 +264,7 @@ void LogReceiver::checkConnectivity(QString ifName) { qDebug() << "internet: check passed! for interface" << ifName; emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName); + emit connectionEstablished(ifName, gateway); } } @@ -300,7 +292,8 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { session->open(); if (session->waitForOpened(-1)) { - qDebug () << "used interface for connectivity check:" <interface().humanReadableName(); + qDebug() << "used interface for connectivity check:" + << session->interface().humanReadableName(); QTcpSocket *tcpSocket = new QTcpSocket(this); tcpSocket->connectToHost(QString("209.85.148.105"), 80); if (!tcpSocket->waitForConnected(2000)) { @@ -308,7 +301,7 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { emit updateStatusLabel(ifName, "connection not possible"); } else { emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName); + emit connectionEstablished(ifName, ""); } } else { qDebug() << "couldn't open session"; @@ -363,34 +356,24 @@ void LogReceiver::handleNewInput(QLocalSocket * client) { /** * + * This method is connected to the readyRead Signal of the QLocalSocket + * client. + * send an ACK to the client with every received message. */ void LogReceiver::handleNewInput() { QLocalSocket* socket = qobject_cast (QObject::sender()); QLocalSocket * client = clients.value(socket); - - while(!client->atEnd()) { - QString data(client->readLine()); - - data = data.trimmed(); - //qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } - } -/* - QString data(client->readAll()); - + QString data(client->read(DHCP_MESSAGE_SIZE)); + client->write("ACK", ACK_SIZE); + client->waitForBytesWritten(); data = data.trimmed(); - qDebug() << data; + //qDebug() << data; QStringList lines = data.split("\n"); for (int i = 0; i < lines.length(); i++) { handleNewInputLine(client, lines.at(i)); } - */ } /** @@ -412,8 +395,6 @@ void LogReceiver::handleNewInput() { * * @param data * the message. (format ;;; ) - * - * */ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { @@ -539,7 +520,7 @@ void LogReceiver::handleProcessFinished(int exitCode, } } QLocalSocket *client = ifNameToClient.value(ifName, 0); - if(client != 0) { + if (client != 0) { handleNewInput(client); } numberOfProcesses = numberOfProcesses - 1; diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index a8572d0..e30e85b 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -18,6 +18,7 @@ Q_OBJECT #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" #define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" #define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" +#define ACK_SIZE 4 public: LogReceiver(); @@ -38,7 +39,7 @@ private slots: signals: void addNewInterface(QString ifName); void changeProgressBarValue(QString ifName, int newValue); - void connectionEstablished(QString ifName); + void connectionEstablished(QString ifName, QString gateway); void abortBoot(QString msg); void updateStatusLabel(QString ifName, QString status); void allProcessesFinished(); @@ -57,6 +58,7 @@ private: QNetworkConfigurationManager configurationManager; QNetworkAccessManager *accessManager; int numberOfProcesses; + //const char ack[ACK_SIZE]; void handleNewInput(QLocalSocket * client); diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index a839aef..5543eef 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -9,7 +9,7 @@ ndgui::ndgui(QWidget *parent) connect(&logReceiver, SIGNAL(addNewInterface(QString)), this, SLOT(addNewInterface(QString))); connect(&logReceiver, SIGNAL(changeProgressBarValue(QString , int )), this, SLOT(handleProgress(QString, int))); - connect(&logReceiver, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); + connect(&logReceiver, SIGNAL(connectionEstablished(QString, QString)), this, SLOT(handleConnectionEstablished(QString, QString))); connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); @@ -89,8 +89,9 @@ void ndgui::handleProgress(QString ifName, int newValue) { } } -void ndgui::handleConnectionEstablished(QString ifName) { +void ndgui::handleConnectionEstablished(QString ifName, QString gateway) { finalUsableInterfaces.append(ifName); + // TODO:: Fix this!! use a interfaceconfiguration object instead!!! } void ndgui::handleAbortBoot(QString msg) { diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index e8b0b85..cca603d 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -21,7 +21,7 @@ public: public slots: void handleProgress(QString ifName, int newValue); void addNewInterface(QString ifName); - void handleConnectionEstablished(QString ifName); + void handleConnectionEstablished(QString ifName, QString gateway); void handleAbortBoot(QString msg); void handleUpdateStatusLabel(QString ifName, QString status); void handleAllProcessesFinished(); @@ -40,6 +40,7 @@ private: LogReceiver logReceiver; QStringList finalUsableInterfaces; + QMap finalUsableIntefacesMap; // maps interfaceName to its gateway int numberOfInterfaces; diff --git a/customdhcpcd/src/Makefile b/customdhcpcd/src/Makefile index bb1078f..f3cdb5d 100644 --- a/customdhcpcd/src/Makefile +++ b/customdhcpcd/src/Makefile @@ -4,7 +4,7 @@ PROG= customdhcpcd SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ - info.c interface.c ipv4ll.c logger.c logwriter.c signal.c socket.c + info.c interface.c ipv4ll.c logger.c signal.c socket.c logwriter.c MAN= VERSION= 3.2.3 diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd index 3676699..1b80a4d 100755 Binary files a/customdhcpcd/src/customdhcpcd and b/customdhcpcd/src/customdhcpcd differ diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index a96bbda..0a78995 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -14,12 +14,12 @@ #include "dhcp.h" #include "dhcpcd.h" #include "errno.h" +#include "info.h" #include "logger.h" #include "logwriter.h" #include "status.h" #include "../../common/fbgui.h" // for constants - /*sockets for the logger and the qt-reader */ int sockfd, ns; int retval = -1; @@ -31,7 +31,7 @@ void setSocketName(const char * sn) { snprintf(socketName, sizeof(socketName), "%s", sn); } -void setInterfaceName(const char * in){ +void setInterfaceName(const char * in) { snprintf(interfaceName, sizeof(interfaceName), "%s", in); } @@ -41,10 +41,10 @@ int initQtLoggerSocket() { */ struct sockaddr_un serv_addr; - fprintf(stdout,"start init \n"); + fprintf(stdout, "start init \n"); sockfd = socket(AF_UNIX, SOCK_STREAM, 0); if (sockfd < 0) { - fprintf(stdout,"ERROR opening socket \n"); + fprintf(stdout, "ERROR opening socket \n"); retval = sockfd; return sockfd; } @@ -52,13 +52,13 @@ int initQtLoggerSocket() { strcpy(serv_addr.sun_path, socketName); retval = connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)); - if ( retval < 0) - fprintf(stdout,"ERROR connecting \n"); - fprintf(stdout,"init Qt Logger Socket done \n"); + if (retval < 0) + fprintf(stdout, "ERROR connecting \n"); + fprintf(stdout, "init Qt Logger Socket done \n"); return retval; } -void closeQtLoggerSocket (){ +void closeQtLoggerSocket() { close(sockfd); } @@ -70,22 +70,22 @@ void sendToQt(log_msg * msg) { char outbuf[DHCP_MESSAGE_SIZE]; char ack[ACK_SIZE]; /* - size_t outbuf_size = sizeof(char) * 4 + // ";" *3 + newline - sizeof(int) * 2 + // status, substatus - sizeof(msg->device) + // devicename - sizeof(msg->msg); // msg - outbuf = malloc(outbuf_size); - memset(outbuf, 0, outbuf_size); - snprintf(outbuf, sizeof(char) * 3 + sizeof(int) * 2 + sizeof(msg->device) - + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, - msg->msg); - */ + size_t outbuf_size = sizeof(char) * 4 + // ";" *3 + newline + sizeof(int) * 2 + // status, substatus + sizeof(msg->device) + // devicename + sizeof(msg->msg); // msg + outbuf = malloc(outbuf_size); + memset(outbuf, 0, outbuf_size); + snprintf(outbuf, sizeof(char) * 3 + sizeof(int) * 2 + sizeof(msg->device) + + sizeof(msg->msg), tpl, msg->device, msg->status, msg->substatus, + msg->msg); + */ memset(outbuf, '\0', DHCP_MESSAGE_SIZE); - ret = snprintf(outbuf, DHCP_MESSAGE_SIZE, tpl, msg->device, msg->status, msg->substatus, - msg->msg); + ret = snprintf(outbuf, DHCP_MESSAGE_SIZE, tpl, msg->device, msg->status, + msg->substatus, msg->msg); if (ret < 1) { - syslog(LOG_INFO, "[fbgui] ERROR filling message buffer"); - return; + syslog(LOG_INFO, "[fbgui] ERROR filling message buffer"); + return; } if (outbuf != NULL) { n = send(sockfd, outbuf, DHCP_MESSAGE_SIZE, 0); @@ -97,7 +97,7 @@ void sendToQt(log_msg * msg) { syslog(LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); } - memset(ack,0,ACK_SIZE); + memset(ack, 0, ACK_SIZE); if ((t = recv(sockfd, ack, ACK_SIZE, 0)) > 0) { syslog(LOG_ERR, "[fbgui] recv ack echo> %s", ack); printf("received: %s\n", ack); @@ -121,43 +121,65 @@ void logToQt(int status, int substatus, const char * msg) { } void logSendToQt(int type) { - switch(type) { - case DHCP_DISCOVER: - logToQt(LOG_INFO, DHCP_DISCOVER, "send discover"); - break; - case DHCP_OFFER: - logToQt(LOG_INFO, DHCP_OFFER, "send offer"); - break; - case DHCP_REQUEST: - logToQt(LOG_INFO, DHCP_REQUEST, "send request"); - break; - case DHCP_DECLINE: - logToQt(LOG_INFO, DHCP_DECLINE, "send decline"); - break; - case DHCP_ACK: - logToQt(LOG_INFO, DHCP_ACK, "send ack"); - break; - case DHCP_NAK: - logToQt(LOG_INFO, DHCP_NAK, "send nak"); - break; - case DHCP_RELEASE: - logToQt(LOG_INFO, DHCP_RELEASE, "send release"); - break; - case DHCP_INFORM: - logToQt(LOG_INFO, DHCP_INFORM, "send inform"); - break; - default : - break; - } + switch (type) { + case DHCP_DISCOVER: + logToQt(LOG_INFO, DHCP_DISCOVER, "send discover"); + break; + case DHCP_OFFER: + logToQt(LOG_INFO, DHCP_OFFER, "send offer"); + break; + case DHCP_REQUEST: + logToQt(LOG_INFO, DHCP_REQUEST, "send request"); + break; + case DHCP_DECLINE: + logToQt(LOG_INFO, DHCP_DECLINE, "send decline"); + break; + case DHCP_ACK: + logToQt(LOG_INFO, DHCP_ACK, "send ack"); + break; + case DHCP_NAK: + logToQt(LOG_INFO, DHCP_NAK, "send nak"); + break; + case DHCP_RELEASE: + logToQt(LOG_INFO, DHCP_RELEASE, "send release"); + break; + case DHCP_INFORM: + logToQt(LOG_INFO, DHCP_INFORM, "send inform"); + break; + default: + break; + } } void logLoggerToQt(int level, const char *fmt, va_list args) { - vsnprintf(mesg, sizeof(mesg), fmt, args); - strcat(mesg, "\n"); - logToQt(level, DHCPCD_LOG, mesg); + vsnprintf(mesg, sizeof(mesg), fmt, args); + strcat(mesg, "\n"); + logToQt(level, DHCPCD_LOG, mesg); } +static void print_addresses (FILE *f, const struct address_head *addresses) +{ + const address_t *addr; + + STAILQ_FOREACH (addr, addresses, entries) { + fprintf (f, "%s", inet_ntoa (addr->address)); + if (STAILQ_NEXT (addr, entries)) + fprintf (f, " "); + } +} void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp) { + /*void logGatewayToFile(const interface_t iface, const dhcp_t *dhcp, + const options_t options)*/ + //char path[QTSOCKETADDRESSLENGTH]; + + /* + strcpy(path, DEFAULT_GATEWAY_INFO_LOCATION); + strcat(path, iface.name); + strcpy(iface.infofile, path); + options.test = false; + syslog(LOG_INFO, "[fbgui] try to open file: %s", iface.infofile); + write_info(&iface, dhcp, &options, true); + */ FILE *f; route_t *route; char path[QTSOCKETADDRESSLENGTH]; @@ -165,24 +187,68 @@ void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp) { strcpy(path, DEFAULT_GATEWAY_INFO_LOCATION); strcat(path, iface->name); - syslog (LOG_INFO, "[fbgui] try to open file: %s", path); + syslog(LOG_INFO, "[fbgui] try to open file: %s", path); logger(LOG_DEBUG, "writing %s", iface->infofile); if ((f = fopen(path, "w")) == NULL) { logger(LOG_ERR, "fopen `%s': %s", path, strerror(errno)); + //TODO: exit/return .. + return; + } + + if (dhcp->address.s_addr) { + struct in_addr n; + n.s_addr = dhcp->address.s_addr & dhcp->netmask.s_addr; + fprintf(f, "IPADDR='%s'\n", inet_ntoa(dhcp->address)); + fprintf(f, "NETMASK='%s'\n", inet_ntoa(dhcp->netmask)); + fprintf(f, "NETWORK='%s'\n", inet_ntoa(n)); + fprintf(f, "BROADCAST='%s'\n", inet_ntoa(dhcp->broadcast)); } if (dhcp->routes) { bool doneone = false; + fprintf(f, "ROUTES='"); + STAILQ_FOREACH (route, dhcp->routes, entries) { + if (route->destination.s_addr != 0) { + if (doneone) + fprintf(f, " "); + fprintf(f, "%s", inet_ntoa(route->destination)); + fprintf(f, ",%s", inet_ntoa(route->netmask)); + fprintf(f, ",%s", inet_ntoa(route->gateway)); + doneone = true; + } + } + fprintf(f, "'\n"); + + doneone = false; + fprintf(f, "GATEWAYS='"); STAILQ_FOREACH (route, dhcp->routes, entries) { if (route->destination.s_addr == 0) { if (doneone) - fprintf(f, ","); + fprintf(f, " "); fprintf(f, "%s", inet_ntoa(route->gateway)); doneone = true; } } - fprintf(f, "\n"); + fprintf(f, "'\n"); + } + + fprintf(f, "HOSTNAME='%s", dhcp->hostname); + fprintf(f, "'\n"); + fprintf(f, "DNSSEARCH='%s", dhcp->dnssearch); + fprintf(f, "'\n"); + + if (dhcp->dnsservers) { + fprintf(f, "DNSSERVERS='"); + print_addresses(f, dhcp->dnsservers); + fprintf(f, "'\n"); + } + fprintf(f, "INTERFACE='%s", iface->name); + fprintf(f, "'\n"); + if (iface->clientid_len > 0) { + fprintf(f, "CLIENTID='%s'\n", hwaddr_ntoa(iface->clientid, + iface->clientid_len)); } + fprintf(f, "DHCPCHADDR='%s'\n", hwaddr_ntoa(iface->hwaddr, iface->hwlen)); fclose(f); } diff --git a/customdhcpcd/src/logwriter.h b/customdhcpcd/src/logwriter.h index bb834cb..7e41411 100644 --- a/customdhcpcd/src/logwriter.h +++ b/customdhcpcd/src/logwriter.h @@ -8,6 +8,9 @@ #ifndef LOGWRITER_H_ #define LOGWRITER_H_ +#include +#include "dhcp.h" +#include "interface.h" #include "dhcpcd.h" #define LOG_MSG_SIZE 1024 @@ -32,6 +35,6 @@ void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); void logLoggerToQt(int level, const char *fmt, va_list args); //void logToQt(char * status, char * substatus, char * msg); -void logGatewayToFile(const interface_t iface, const dhcp_t dhcp); +void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp); #endif /* LOGWRITER_H_ */ -- cgit v1.2.3-55-g7522 From 5ea57d78c4c42551fcf57d423b13a0897f7db980 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 5 Sep 2011 17:04:22 +0200 Subject: tried to manage cmake but failed. also tried to add the del_route() method of interface.c but failed too. made a static lib of the customdhcpcd files but couldn't change it to a shared lib. (tried to add SHARE to the add_library code but this resulted in an error multiple declarations of main... --- .../org.eclipse.ltk.core.refactoring.prefs | 3 + LogReceiver/CMakeLists.txt | 49 + LogReceiver/LogReceiver | Bin 141290 -> 0 bytes LogReceiver/LogReceiver.pro | 6 +- LogReceiver/Makefile | 31 +- LogReceiver/build/CMakeCache.txt | 894 ++++ LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake | 44 + .../build/CMakeFiles/CMakeCXXCompiler.cmake | 45 + .../CMakeFiles/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 7165 bytes .../CMakeFiles/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 7246 bytes .../CMakeFiles/CMakeDirectoryInformation.cmake | 28 + LogReceiver/build/CMakeFiles/CMakeError.log | 87 + LogReceiver/build/CMakeFiles/CMakeOutput.log | 267 ++ LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt | 11 + LogReceiver/build/CMakeFiles/CMakeSystem.cmake | 15 + .../CMakeFiles/CompilerIdC/CMakeCCompilerId.c | 220 + LogReceiver/build/CMakeFiles/CompilerIdC/a.out | Bin 0 -> 7204 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 206 + LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out | Bin 0 -> 7276 bytes .../CMakeFiles/LogReceiver.dir/CXX.includecache | 4386 ++++++++++++++++++++ .../CMakeFiles/LogReceiver.dir/DependInfo.cmake | 37 + .../build/CMakeFiles/LogReceiver.dir/build.make | 596 +++ .../CMakeFiles/LogReceiver.dir/cmake_clean.cmake | 36 + .../CMakeFiles/LogReceiver.dir/depend.internal | 2929 +++++++++++++ .../build/CMakeFiles/LogReceiver.dir/depend.make | 2929 +++++++++++++ .../build/CMakeFiles/LogReceiver.dir/flags.make | 8 + .../build/CMakeFiles/LogReceiver.dir/link.txt | 1 + .../build/CMakeFiles/LogReceiver.dir/progress.make | 28 + LogReceiver/build/CMakeFiles/Makefile.cmake | 50 + LogReceiver/build/CMakeFiles/Makefile2 | 96 + LogReceiver/build/CMakeFiles/Progress/1 | 1 + LogReceiver/build/CMakeFiles/Progress/18 | 1 + LogReceiver/build/CMakeFiles/Progress/19 | 1 + LogReceiver/build/CMakeFiles/Progress/2 | 1 + LogReceiver/build/CMakeFiles/Progress/20 | 1 + LogReceiver/build/CMakeFiles/Progress/21 | 1 + LogReceiver/build/CMakeFiles/Progress/22 | 1 + LogReceiver/build/CMakeFiles/Progress/23 | 1 + LogReceiver/build/CMakeFiles/Progress/24 | 1 + LogReceiver/build/CMakeFiles/Progress/25 | 1 + LogReceiver/build/CMakeFiles/Progress/3 | 1 + LogReceiver/build/CMakeFiles/Progress/4 | 1 + LogReceiver/build/CMakeFiles/Progress/5 | 1 + LogReceiver/build/CMakeFiles/Progress/6 | 1 + LogReceiver/build/CMakeFiles/Progress/count.txt | 1 + LogReceiver/build/CMakeFiles/TargetDirectories.txt | 1 + LogReceiver/build/CMakeFiles/cmake.check_cache | 1 + LogReceiver/build/CMakeFiles/progress.marks | 1 + LogReceiver/build/Makefile | 592 +++ LogReceiver/build/cmake_install.cmake | 44 + LogReceiver/logreceiver.cpp | 20 +- LogReceiver/routemanager.cpp | 37 + LogReceiver/routemanager.h | 28 + .../Debug/UnixDomainSocketServer | Bin 0 -> 54133 bytes UnixDomainSocketServer/Debug/makefile | 43 + UnixDomainSocketServer/Debug/objects.mk | 7 + UnixDomainSocketServer/Debug/server.d | 3 + UnixDomainSocketServer/Debug/sources.mk | 17 + UnixDomainSocketServer/Debug/subdir.mk | 24 + customdhcpcd/src/CMakeLists.txt | 13 + customdhcpcd/src/Makefile | 34 - customdhcpcd/src/build/CMakeCache.txt | 282 ++ .../src/build/CMakeFiles/CMakeCCompiler.cmake | 44 + .../src/build/CMakeFiles/CMakeCXXCompiler.cmake | 45 + .../CMakeFiles/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 7165 bytes .../CMakeFiles/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 7246 bytes .../CMakeFiles/CMakeDirectoryInformation.cmake | 21 + customdhcpcd/src/build/CMakeFiles/CMakeOutput.log | 240 ++ .../src/build/CMakeFiles/CMakeSystem.cmake | 15 + .../CMakeFiles/CompilerIdC/CMakeCCompilerId.c | 220 + .../src/build/CMakeFiles/CompilerIdC/a.out | Bin 0 -> 7204 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 206 + .../src/build/CMakeFiles/CompilerIdCXX/a.out | Bin 0 -> 7276 bytes customdhcpcd/src/build/CMakeFiles/Makefile.cmake | 44 + customdhcpcd/src/build/CMakeFiles/Makefile2 | 131 + .../src/build/CMakeFiles/TargetDirectories.txt | 2 + .../src/build/CMakeFiles/cmake.check_cache | 1 + .../CMakeFiles/customdhcpcd.dir/C.includecache | 154 + .../CMakeFiles/customdhcpcd.dir/DependInfo.cmake | 14 + .../build/CMakeFiles/customdhcpcd.dir/build.make | 101 + .../CMakeFiles/customdhcpcd.dir/cmake_clean.cmake | 10 + .../CMakeFiles/customdhcpcd.dir/depend.internal | 16 + .../build/CMakeFiles/customdhcpcd.dir/depend.make | 16 + .../build/CMakeFiles/customdhcpcd.dir/flags.make | 8 + .../src/build/CMakeFiles/customdhcpcd.dir/link.txt | 1 + .../CMakeFiles/customdhcpcd.dir/progress.make | 2 + .../CMakeFiles/libcustomdhcpcd.dir/C.includecache | 700 ++++ .../libcustomdhcpcd.dir/DependInfo.cmake | 29 + .../CMakeFiles/libcustomdhcpcd.dir/build.make | 533 +++ .../libcustomdhcpcd.dir/cmake_clean.cmake | 26 + .../libcustomdhcpcd.dir/cmake_clean_target.cmake | 3 + .../CMakeFiles/libcustomdhcpcd.dir/depend.internal | 143 + .../CMakeFiles/libcustomdhcpcd.dir/depend.make | 143 + .../CMakeFiles/libcustomdhcpcd.dir/flags.make | 8 + .../build/CMakeFiles/libcustomdhcpcd.dir/link.txt | 2 + .../CMakeFiles/libcustomdhcpcd.dir/progress.make | 18 + customdhcpcd/src/build/CMakeFiles/progress.marks | 1 + customdhcpcd/src/build/Makefile | 609 +++ customdhcpcd/src/build/cmake_install.cmake | 44 + customdhcpcd/src/build/customdhcpcd | Bin 0 -> 85951 bytes customdhcpcd/src/build/liblibcustomdhcpcd.a | Bin 0 -> 106910 bytes customdhcpcd/src/mk/cc.mk | 23 - customdhcpcd/src/mk/depend.mk | 11 - customdhcpcd/src/mk/dist.mk | 11 - customdhcpcd/src/mk/man.mk | 14 - customdhcpcd/src/mk/os.mk | 77 - customdhcpcd/src/mk/prog.mk | 34 - 107 files changed, 17668 insertions(+), 216 deletions(-) create mode 100644 LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs create mode 100644 LogReceiver/CMakeLists.txt delete mode 100755 LogReceiver/LogReceiver create mode 100644 LogReceiver/build/CMakeCache.txt create mode 100644 LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake create mode 100644 LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake create mode 100755 LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin create mode 100755 LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin create mode 100644 LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 LogReceiver/build/CMakeFiles/CMakeError.log create mode 100644 LogReceiver/build/CMakeFiles/CMakeOutput.log create mode 100644 LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt create mode 100644 LogReceiver/build/CMakeFiles/CMakeSystem.cmake create mode 100644 LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c create mode 100755 LogReceiver/build/CMakeFiles/CompilerIdC/a.out create mode 100644 LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt create mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make create mode 100644 LogReceiver/build/CMakeFiles/Makefile.cmake create mode 100644 LogReceiver/build/CMakeFiles/Makefile2 create mode 100644 LogReceiver/build/CMakeFiles/Progress/1 create mode 100644 LogReceiver/build/CMakeFiles/Progress/18 create mode 100644 LogReceiver/build/CMakeFiles/Progress/19 create mode 100644 LogReceiver/build/CMakeFiles/Progress/2 create mode 100644 LogReceiver/build/CMakeFiles/Progress/20 create mode 100644 LogReceiver/build/CMakeFiles/Progress/21 create mode 100644 LogReceiver/build/CMakeFiles/Progress/22 create mode 100644 LogReceiver/build/CMakeFiles/Progress/23 create mode 100644 LogReceiver/build/CMakeFiles/Progress/24 create mode 100644 LogReceiver/build/CMakeFiles/Progress/25 create mode 100644 LogReceiver/build/CMakeFiles/Progress/3 create mode 100644 LogReceiver/build/CMakeFiles/Progress/4 create mode 100644 LogReceiver/build/CMakeFiles/Progress/5 create mode 100644 LogReceiver/build/CMakeFiles/Progress/6 create mode 100644 LogReceiver/build/CMakeFiles/Progress/count.txt create mode 100644 LogReceiver/build/CMakeFiles/TargetDirectories.txt create mode 100644 LogReceiver/build/CMakeFiles/cmake.check_cache create mode 100644 LogReceiver/build/CMakeFiles/progress.marks create mode 100644 LogReceiver/build/Makefile create mode 100644 LogReceiver/build/cmake_install.cmake create mode 100644 LogReceiver/routemanager.cpp create mode 100644 LogReceiver/routemanager.h create mode 100755 UnixDomainSocketServer/Debug/UnixDomainSocketServer create mode 100644 UnixDomainSocketServer/Debug/makefile create mode 100644 UnixDomainSocketServer/Debug/objects.mk create mode 100644 UnixDomainSocketServer/Debug/server.d create mode 100644 UnixDomainSocketServer/Debug/sources.mk create mode 100644 UnixDomainSocketServer/Debug/subdir.mk create mode 100644 customdhcpcd/src/CMakeLists.txt delete mode 100644 customdhcpcd/src/Makefile create mode 100644 customdhcpcd/src/build/CMakeCache.txt create mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake create mode 100755 customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin create mode 100755 customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin create mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeOutput.log create mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c create mode 100755 customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out create mode 100644 customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out create mode 100644 customdhcpcd/src/build/CMakeFiles/Makefile.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/Makefile2 create mode 100644 customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt create mode 100644 customdhcpcd/src/build/CMakeFiles/cmake.check_cache create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt create mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt create mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make create mode 100644 customdhcpcd/src/build/CMakeFiles/progress.marks create mode 100644 customdhcpcd/src/build/Makefile create mode 100644 customdhcpcd/src/build/cmake_install.cmake create mode 100755 customdhcpcd/src/build/customdhcpcd create mode 100644 customdhcpcd/src/build/liblibcustomdhcpcd.a delete mode 100644 customdhcpcd/src/mk/cc.mk delete mode 100644 customdhcpcd/src/mk/depend.mk delete mode 100644 customdhcpcd/src/mk/dist.mk delete mode 100644 customdhcpcd/src/mk/man.mk delete mode 100644 customdhcpcd/src/mk/os.mk delete mode 100644 customdhcpcd/src/mk/prog.mk diff --git a/LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs b/LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000..e58f4e1 --- /dev/null +++ b/LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Mon Sep 05 16:49:17 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt new file mode 100644 index 0000000..fa814b3 --- /dev/null +++ b/LogReceiver/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 2.8) + +project(LogReceiver) + +find_package(Qt4 REQUIRED) +if (QT4_FOUND) + message(STATUS "QT4 found.") +else(QT4_FOUND) + message(FATAL_ERROR "QT4 not found!") +endif(QT4_FOUND) + +#find_package(Qxt REQUIRED) + +set(QT_USE_GUI TRUE) +set(QT_USE_QTNETWORK TRUE) +set(QT_USE_QTWEBKIT TRUE) + +file(GLOB_RECURSE LOGRECEIVER_SOURCES ./*.cpp) +file(GLOB_RECURSE LOGRECEIVER_MOC_HEADERS ./*.h) +file(GLOB_RECURSE LOGRECEIVER_UIS ./*.ui) +#file(GLOB_RECURSE LOGRECEIVER_RCS ./*.qrc) + +include_directories(${CMAKE_CURRENT_BINARY_DIR} + /usr/include/ + ../customdhcpcd/src/) + +include(${QT_USE_FILE}) +add_definitions(${QT_DEFINITIONS}) + +link_directories(/usr/lib) + +#add_library( +# /usr/local/Qxt/lib/libQxtCore.so +# /usr/lib/libqjson.so +# /usr/lib/libusb-1.0.a +# ) + +#QT4_ADD_RESOURCES(FBGUI_RC_SOURCES ${FBGUI_RCS}) +QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) +QT4_WRAP_CPP(LOGRECEIVER_MOC_SOURCES ${LOGRECEIVER_MOC_HEADERS}) + +add_executable(LogReceiver + ${LOGRECEIVER_SOURCES} + ${LOGRECEIVER_MOC_SOURCES} + ${LOGRECEIVER_UI_HEADERS}) + +target_link_libraries(LogReceiver + ${QT_LIBRARIES} + sysfs) diff --git a/LogReceiver/LogReceiver b/LogReceiver/LogReceiver deleted file mode 100755 index d29f4e2..0000000 Binary files a/LogReceiver/LogReceiver and /dev/null differ diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index 9666b2f..04791ef 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -5,12 +5,14 @@ QT += core \ network LIBS += -lsysfs INCLUDEPATH += ../customdhcpcd/src -HEADERS += interfaceconfiguration.h \ +HEADERS += routemanager.h \ + interfaceconfiguration.h \ ndgui.h \ logreceiver.h \ abortbootdialog.h \ chooseinterfacedialog.h -SOURCES += interfaceconfiguration.cpp \ +SOURCES += routemanager.cpp \ + interfaceconfiguration.cpp \ ndgui.cpp \ main.cpp \ logreceiver.cpp \ diff --git a/LogReceiver/Makefile b/LogReceiver/Makefile index 0ba1fe1..c0e470d 100644 --- a/LogReceiver/Makefile +++ b/LogReceiver/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Fri Sep 2 14:15:11 2011 +# Generated by qmake (2.01a) (Qt 4.7.2) on: Mon Sep 5 16:52:29 2011 # Project: LogReceiver.pro # Template: app # Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro @@ -43,22 +43,26 @@ OBJECTS_DIR = ./ ####### Files -SOURCES = interfaceconfiguration.cpp \ +SOURCES = routemanager.cpp \ + interfaceconfiguration.cpp \ ndgui.cpp \ main.cpp \ logreceiver.cpp \ abortbootdialog.cpp \ - chooseinterfacedialog.cpp moc_interfaceconfiguration.cpp \ + chooseinterfacedialog.cpp moc_routemanager.cpp \ + moc_interfaceconfiguration.cpp \ moc_ndgui.cpp \ moc_logreceiver.cpp \ moc_abortbootdialog.cpp \ moc_chooseinterfacedialog.cpp -OBJECTS = interfaceconfiguration.o \ +OBJECTS = routemanager.o \ + interfaceconfiguration.o \ ndgui.o \ main.o \ logreceiver.o \ abortbootdialog.o \ chooseinterfacedialog.o \ + moc_routemanager.o \ moc_interfaceconfiguration.o \ moc_ndgui.o \ moc_logreceiver.o \ @@ -171,7 +175,7 @@ qmake: FORCE dist: @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents interfaceconfiguration.h ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents interfaceconfiguration.cpp ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.h interfaceconfiguration.h ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.cpp interfaceconfiguration.cpp ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 clean:compiler_clean @@ -192,9 +196,12 @@ mocclean: compiler_moc_header_clean compiler_moc_source_clean mocables: compiler_moc_header_make_all compiler_moc_source_make_all -compiler_moc_header_make_all: moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +compiler_moc_header_make_all: moc_routemanager.cpp moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp compiler_moc_header_clean: - -$(DEL_FILE) moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp + -$(DEL_FILE) moc_routemanager.cpp moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp +moc_routemanager.cpp: routemanager.h + /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) routemanager.h -o moc_routemanager.cpp + moc_interfaceconfiguration.cpp: interfaceconfiguration.h /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) interfaceconfiguration.h -o moc_interfaceconfiguration.cpp @@ -240,6 +247,9 @@ compiler_clean: compiler_moc_header_clean compiler_uic_clean ####### Compile +routemanager.o: routemanager.cpp routemanager.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o routemanager.o routemanager.cpp + interfaceconfiguration.o: interfaceconfiguration.cpp interfaceconfiguration.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o interfaceconfiguration.o interfaceconfiguration.cpp @@ -257,7 +267,9 @@ main.o: main.cpp ndgui.h \ abortbootdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp -logreceiver.o: logreceiver.cpp logreceiver.h +logreceiver.o: logreceiver.cpp logreceiver.h \ + interfaceconfiguration.h \ + ../common/fbgui.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o logreceiver.o logreceiver.cpp abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h @@ -266,6 +278,9 @@ abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h chooseinterfacedialog.o: chooseinterfacedialog.cpp chooseinterfacedialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chooseinterfacedialog.o chooseinterfacedialog.cpp +moc_routemanager.o: moc_routemanager.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_routemanager.o moc_routemanager.cpp + moc_interfaceconfiguration.o: moc_interfaceconfiguration.cpp $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_interfaceconfiguration.o moc_interfaceconfiguration.cpp diff --git a/LogReceiver/build/CMakeCache.txt b/LogReceiver/build/CMakeCache.txt new file mode 100644 index 0000000..7227c5f --- /dev/null +++ b/LogReceiver/build/CMakeCache.txt @@ -0,0 +1,894 @@ +# This is the CMakeCache file. +# For build in directory: /home/niklas/fbgui/LogReceiver/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler. +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release minsize builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds (/MD /Ob1 /Oi +// /Ot /Oy /Gs will produce slightly less optimized but smaller +// files). +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during Release with Debug Info builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g + +//C compiler. +CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release minsize builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds (/MD /Ob1 /Oi +// /Ot /Oy /Gs will produce slightly less optimized but smaller +// files). +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during Release with Debug Info builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=LogReceiver + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If true, cmake will use relative paths in makefiles and projects. +CMAKE_USE_RELATIVE_PATHS:BOOL=OFF + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +LogReceiver_BINARY_DIR:STATIC=/home/niklas/fbgui/LogReceiver/build + +//Value Computed by CMake +LogReceiver_SOURCE_DIR:STATIC=/home/niklas/fbgui/LogReceiver + +//Path to a program. +QT_DBUSCPP2XML_EXECUTABLE:FILEPATH=/usr/bin/qdbuscpp2xml + +//Path to a program. +QT_DBUSXML2CPP_EXECUTABLE:FILEPATH=/usr/bin/qdbusxml2cpp + +//Path to a program. +QT_DESIGNER_EXECUTABLE:FILEPATH=/usr/bin/designer-qt4 + +//The location of the Qt docs +QT_DOC_DIR:PATH=/usr/share/qt4/doc + +//The location of the Qt imports +QT_IMPORTS_DIR:PATH=QT_IMPORTS_DIR-NOTFOUND + +//Path to a program. +QT_LINGUIST_EXECUTABLE:FILEPATH=/usr/bin/linguist-qt4 + +//Path to a program. +QT_LRELEASE_EXECUTABLE:FILEPATH=/usr/bin/lrelease-qt4 + +//Path to a program. +QT_LUPDATE_EXECUTABLE:FILEPATH=/usr/bin/lupdate-qt4 + +//The location of the Qt mkspecs containing qconfig.pri +QT_MKSPECS_DIR:PATH=/usr/share/qt4/mkspecs + +//Path to a program. +QT_MOC_EXECUTABLE:FILEPATH=/usr/bin/moc-qt4 + +//Path to a file. +QT_PHONON_INCLUDE_DIR:PATH=QT_PHONON_INCLUDE_DIR-NOTFOUND + +//The Qt PHONON library +QT_PHONON_LIBRARY:STRING= + +//Path to a library. +QT_PHONON_LIBRARY_DEBUG:FILEPATH=QT_PHONON_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_PHONON_LIBRARY_RELEASE:FILEPATH=QT_PHONON_LIBRARY_RELEASE-NOTFOUND + +//The location of the Qt plugins +QT_PLUGINS_DIR:PATH=/usr/lib/qt4/plugins + +//Path to a program. +QT_QCOLLECTIONGENERATOR_EXECUTABLE:FILEPATH=/usr/bin/qcollectiongenerator + +//The qmake executable for the Qt installation to use +QT_QMAKE_EXECUTABLE:FILEPATH=/usr/bin/qmake + +//Path to a file. +QT_QT3SUPPORT_INCLUDE_DIR:PATH=/usr/include/qt4/Qt3Support + +//The Qt QT3SUPPORT library +QT_QT3SUPPORT_LIBRARY:STRING=/usr/lib/libQt3Support.so + +//Path to a library. +QT_QT3SUPPORT_LIBRARY_DEBUG:FILEPATH=QT_QT3SUPPORT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QT3SUPPORT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQt3Support.so + +//Path to a file. +QT_QTASSISTANTCLIENT_INCLUDE_DIR:PATH=QT_QTASSISTANTCLIENT_INCLUDE_DIR-NOTFOUND + +//The Qt QTASSISTANTCLIENT library +QT_QTASSISTANTCLIENT_LIBRARY:STRING= + +//Path to a library. +QT_QTASSISTANTCLIENT_LIBRARY_DEBUG:FILEPATH=QT_QTASSISTANTCLIENT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTASSISTANTCLIENT_LIBRARY_RELEASE:FILEPATH=QT_QTASSISTANTCLIENT_LIBRARY_RELEASE-NOTFOUND + +//Path to a file. +QT_QTASSISTANT_INCLUDE_DIR:PATH=QT_QTASSISTANT_INCLUDE_DIR-NOTFOUND + +//The Qt QTASSISTANT library +QT_QTASSISTANT_LIBRARY:STRING= + +//Path to a library. +QT_QTASSISTANT_LIBRARY_DEBUG:FILEPATH=QT_QTASSISTANT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTASSISTANT_LIBRARY_RELEASE:FILEPATH=QT_QTASSISTANT_LIBRARY_RELEASE-NOTFOUND + +//The Qt QTCLUCENE library +QT_QTCLUCENE_LIBRARY:STRING=/usr/lib/libQtCLucene.so + +//Path to a library. +QT_QTCLUCENE_LIBRARY_DEBUG:FILEPATH=QT_QTCLUCENE_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTCLUCENE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtCLucene.so + +//(This variable does not exist and should not be used) +QT_QTCORE_INCLUDE_DIR:PATH=/usr/include/qt4/QtCore + +//The Qt QTCORE library +QT_QTCORE_LIBRARY:STRING=/usr/lib/libQtCore.so + +//Path to a library. +QT_QTCORE_LIBRARY_DEBUG:FILEPATH=QT_QTCORE_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTCORE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtCore.so + +//Path to a file. +QT_QTDBUS_INCLUDE_DIR:PATH=/usr/include/qt4/QtDBus + +//The Qt QTDBUS library +QT_QTDBUS_LIBRARY:STRING=/usr/lib/libQtDBus.so + +//Path to a library. +QT_QTDBUS_LIBRARY_DEBUG:FILEPATH=QT_QTDBUS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDBUS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDBus.so + +//Path to a file. +QT_QTDECLARATIVE_INCLUDE_DIR:PATH=/usr/include/qt4/QtDeclarative + +//The Qt QTDECLARATIVE library +QT_QTDECLARATIVE_LIBRARY:STRING=/usr/lib/libQtDeclarative.so + +//Path to a library. +QT_QTDECLARATIVE_LIBRARY_DEBUG:FILEPATH=QT_QTDECLARATIVE_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDECLARATIVE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDeclarative.so + +//Path to a file. +QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR:PATH=/usr/include/qt4/QtDesigner + +//The Qt QTDESIGNERCOMPONENTS library +QT_QTDESIGNERCOMPONENTS_LIBRARY:STRING=/usr/lib/libQtDesignerComponents.so + +//Path to a library. +QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG:FILEPATH=QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDesignerComponents.so + +//Path to a file. +QT_QTDESIGNER_INCLUDE_DIR:PATH=/usr/include/qt4/QtDesigner + +//The Qt QTDESIGNER library +QT_QTDESIGNER_LIBRARY:STRING=/usr/lib/libQtDesigner.so + +//Path to a library. +QT_QTDESIGNER_LIBRARY_DEBUG:FILEPATH=QT_QTDESIGNER_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTDESIGNER_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDesigner.so + +//Path to a file. +QT_QTGUI_INCLUDE_DIR:PATH=/usr/include/qt4/QtGui + +//The Qt QTGUI library +QT_QTGUI_LIBRARY:STRING=/usr/lib/libQtGui.so + +//Path to a library. +QT_QTGUI_LIBRARY_DEBUG:FILEPATH=QT_QTGUI_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTGUI_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtGui.so + +//Path to a file. +QT_QTHELP_INCLUDE_DIR:PATH=/usr/include/qt4/QtHelp + +//The Qt QTHELP library +QT_QTHELP_LIBRARY:STRING=/usr/lib/libQtHelp.so + +//Path to a library. +QT_QTHELP_LIBRARY_DEBUG:FILEPATH=QT_QTHELP_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTHELP_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtHelp.so + +//Path to a file. +QT_QTMOTIF_INCLUDE_DIR:PATH=QT_QTMOTIF_INCLUDE_DIR-NOTFOUND + +//The Qt QTMOTIF library +QT_QTMOTIF_LIBRARY:STRING= + +//Path to a library. +QT_QTMOTIF_LIBRARY_DEBUG:FILEPATH=QT_QTMOTIF_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTMOTIF_LIBRARY_RELEASE:FILEPATH=QT_QTMOTIF_LIBRARY_RELEASE-NOTFOUND + +//Path to a file. +QT_QTMULTIMEDIA_INCLUDE_DIR:PATH=QT_QTMULTIMEDIA_INCLUDE_DIR-NOTFOUND + +//The Qt QTMULTIMEDIA library +QT_QTMULTIMEDIA_LIBRARY:STRING= + +//Path to a library. +QT_QTMULTIMEDIA_LIBRARY_DEBUG:FILEPATH=QT_QTMULTIMEDIA_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTMULTIMEDIA_LIBRARY_RELEASE:FILEPATH=QT_QTMULTIMEDIA_LIBRARY_RELEASE-NOTFOUND + +//Path to a file. +QT_QTNETWORK_INCLUDE_DIR:PATH=/usr/include/qt4/QtNetwork + +//The Qt QTNETWORK library +QT_QTNETWORK_LIBRARY:STRING=/usr/lib/libQtNetwork.so + +//Path to a library. +QT_QTNETWORK_LIBRARY_DEBUG:FILEPATH=QT_QTNETWORK_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTNETWORK_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtNetwork.so + +//Path to a file. +QT_QTNSPLUGIN_INCLUDE_DIR:PATH=QT_QTNSPLUGIN_INCLUDE_DIR-NOTFOUND + +//The Qt QTNSPLUGIN library +QT_QTNSPLUGIN_LIBRARY:STRING= + +//Path to a library. +QT_QTNSPLUGIN_LIBRARY_DEBUG:FILEPATH=QT_QTNSPLUGIN_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTNSPLUGIN_LIBRARY_RELEASE:FILEPATH=QT_QTNSPLUGIN_LIBRARY_RELEASE-NOTFOUND + +//Path to a file. +QT_QTOPENGL_INCLUDE_DIR:PATH=/usr/include/qt4/QtOpenGL + +//The Qt QTOPENGL library +QT_QTOPENGL_LIBRARY:STRING=/usr/lib/libQtOpenGL.so + +//Path to a library. +QT_QTOPENGL_LIBRARY_DEBUG:FILEPATH=QT_QTOPENGL_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTOPENGL_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtOpenGL.so + +//Path to a file. +QT_QTSCRIPTTOOLS_INCLUDE_DIR:PATH=/usr/include/qt4/QtScriptTools + +//The Qt QTSCRIPTTOOLS library +QT_QTSCRIPTTOOLS_LIBRARY:STRING=/usr/lib/libQtScriptTools.so + +//Path to a library. +QT_QTSCRIPTTOOLS_LIBRARY_DEBUG:FILEPATH=QT_QTSCRIPTTOOLS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSCRIPTTOOLS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtScriptTools.so + +//Path to a file. +QT_QTSCRIPT_INCLUDE_DIR:PATH=/usr/include/qt4/QtScript + +//The Qt QTSCRIPT library +QT_QTSCRIPT_LIBRARY:STRING=/usr/lib/libQtScript.so + +//Path to a library. +QT_QTSCRIPT_LIBRARY_DEBUG:FILEPATH=QT_QTSCRIPT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSCRIPT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtScript.so + +//Path to a file. +QT_QTSQL_INCLUDE_DIR:PATH=/usr/include/qt4/QtSql + +//The Qt QTSQL library +QT_QTSQL_LIBRARY:STRING=/usr/lib/libQtSql.so + +//Path to a library. +QT_QTSQL_LIBRARY_DEBUG:FILEPATH=QT_QTSQL_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSQL_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtSql.so + +//Path to a file. +QT_QTSVG_INCLUDE_DIR:PATH=/usr/include/qt4/QtSvg + +//The Qt QTSVG library +QT_QTSVG_LIBRARY:STRING=/usr/lib/libQtSvg.so + +//Path to a library. +QT_QTSVG_LIBRARY_DEBUG:FILEPATH=QT_QTSVG_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTSVG_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtSvg.so + +//Path to a file. +QT_QTTEST_INCLUDE_DIR:PATH=/usr/include/qt4/QtTest + +//The Qt QTTEST library +QT_QTTEST_LIBRARY:STRING=/usr/lib/libQtTest.so + +//Path to a library. +QT_QTTEST_LIBRARY_DEBUG:FILEPATH=QT_QTTEST_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTTEST_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtTest.so + +//Path to a file. +QT_QTUITOOLS_INCLUDE_DIR:PATH=/usr/include/qt4/QtUiTools + +//The Qt QTUITOOLS library +QT_QTUITOOLS_LIBRARY:STRING=/usr/lib/libQtUiTools.a + +//Path to a library. +QT_QTUITOOLS_LIBRARY_DEBUG:FILEPATH=QT_QTUITOOLS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTUITOOLS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtUiTools.a + +//Path to a file. +QT_QTWEBKIT_INCLUDE_DIR:PATH=/usr/include/qt4/QtWebKit + +//The Qt QTWEBKIT library +QT_QTWEBKIT_LIBRARY:STRING=/usr/lib/libQtWebKit.so + +//Path to a library. +QT_QTWEBKIT_LIBRARY_DEBUG:FILEPATH=QT_QTWEBKIT_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTWEBKIT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtWebKit.so + +//Path to a file. +QT_QTXMLPATTERNS_INCLUDE_DIR:PATH=/usr/include/qt4/QtXmlPatterns + +//The Qt QTXMLPATTERNS library +QT_QTXMLPATTERNS_LIBRARY:STRING=/usr/lib/libQtXmlPatterns.so + +//Path to a library. +QT_QTXMLPATTERNS_LIBRARY_DEBUG:FILEPATH=QT_QTXMLPATTERNS_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTXMLPATTERNS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtXmlPatterns.so + +//Path to a file. +QT_QTXML_INCLUDE_DIR:PATH=/usr/include/qt4/QtXml + +//The Qt QTXML library +QT_QTXML_LIBRARY:STRING=/usr/lib/libQtXml.so + +//Path to a library. +QT_QTXML_LIBRARY_DEBUG:FILEPATH=QT_QTXML_LIBRARY_DEBUG-NOTFOUND + +//Path to a library. +QT_QTXML_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtXml.so + +//Path to a program. +QT_RCC_EXECUTABLE:FILEPATH=/usr/bin/rcc + +//The location of the Qt translations +QT_TRANSLATIONS_DIR:PATH=/usr/share/qt4/translations + +//Path to a program. +QT_UIC3_EXECUTABLE:FILEPATH=/usr/bin/uic3 + +//Path to a program. +QT_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_BUILD_TOOL +CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 +//What is the target build tool cmake is generating for. +CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/niklas/fbgui/LogReceiver/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_C_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Result of TRY_COMPILE +CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE +//Result of TRY_COMPILE +CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Start directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/niklas/fbgui/LogReceiver +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/bin/uname +//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS +CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//Details about finding Qt4 +FIND_PACKAGE_MESSAGE_DETAILS_Qt4:INTERNAL=[/usr/lib][/usr/include/qt4][/usr/bin/moc-qt4][/usr/bin/uic-qt4][/usr/bin/rcc] +QT_BINARY_DIR:INTERNAL=/usr/bin +//ADVANCED property for variable: QT_DBUSCPP2XML_EXECUTABLE +QT_DBUSCPP2XML_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DBUSXML2CPP_EXECUTABLE +QT_DBUSXML2CPP_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DESIGNER_EXECUTABLE +QT_DESIGNER_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_DOC_DIR +QT_DOC_DIR-ADVANCED:INTERNAL=1 +QT_HEADERS_DIR:INTERNAL=/usr/include/qt4 +//ADVANCED property for variable: QT_IMPORTS_DIR +QT_IMPORTS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LIBRARY_DIR +QT_LIBRARY_DIR-ADVANCED:INTERNAL=1 +//Qt library dir +QT_LIBRARY_DIR:INTERNAL=/usr/lib +//ADVANCED property for variable: QT_LINGUIST_EXECUTABLE +QT_LINGUIST_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LRELEASE_EXECUTABLE +QT_LRELEASE_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_LUPDATE_EXECUTABLE +QT_LUPDATE_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_MKSPECS_DIR +QT_MKSPECS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_MOC_EXECUTABLE +QT_MOC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_INCLUDE_DIR +QT_PHONON_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_LIBRARY +QT_PHONON_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_LIBRARY_DEBUG +QT_PHONON_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PHONON_LIBRARY_RELEASE +QT_PHONON_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_PLUGINS_DIR +QT_PLUGINS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QCOLLECTIONGENERATOR_EXECUTABLE +QT_QCOLLECTIONGENERATOR_EXECUTABLE-ADVANCED:INTERNAL=1 +QT_QMAKE_EXECUTABLE_LAST:INTERNAL=/usr/bin/qmake +//ADVANCED property for variable: QT_QT3SUPPORT_INCLUDE_DIR +QT_QT3SUPPORT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY +QT_QT3SUPPORT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY_DEBUG +QT_QT3SUPPORT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY_RELEASE +QT_QT3SUPPORT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_INCLUDE_DIR +QT_QTASSISTANTCLIENT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY +QT_QTASSISTANTCLIENT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY_DEBUG +QT_QTASSISTANTCLIENT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY_RELEASE +QT_QTASSISTANTCLIENT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_INCLUDE_DIR +QT_QTASSISTANT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY +QT_QTASSISTANT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY_DEBUG +QT_QTASSISTANT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY_RELEASE +QT_QTASSISTANT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY +QT_QTCLUCENE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY_DEBUG +QT_QTCLUCENE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY_RELEASE +QT_QTCLUCENE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_INCLUDE_DIR +QT_QTCORE_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_LIBRARY +QT_QTCORE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_LIBRARY_DEBUG +QT_QTCORE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTCORE_LIBRARY_RELEASE +QT_QTCORE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_INCLUDE_DIR +QT_QTDBUS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_LIBRARY +QT_QTDBUS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_LIBRARY_DEBUG +QT_QTDBUS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDBUS_LIBRARY_RELEASE +QT_QTDBUS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDECLARATIVE_INCLUDE_DIR +QT_QTDECLARATIVE_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDECLARATIVE_LIBRARY +QT_QTDECLARATIVE_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDECLARATIVE_LIBRARY_DEBUG +QT_QTDECLARATIVE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDECLARATIVE_LIBRARY_RELEASE +QT_QTDECLARATIVE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR +QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY +QT_QTDESIGNERCOMPONENTS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG +QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE +QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_INCLUDE_DIR +QT_QTDESIGNER_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY +QT_QTDESIGNER_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY_DEBUG +QT_QTDESIGNER_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY_RELEASE +QT_QTDESIGNER_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_INCLUDE_DIR +QT_QTGUI_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_LIBRARY +QT_QTGUI_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_LIBRARY_DEBUG +QT_QTGUI_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTGUI_LIBRARY_RELEASE +QT_QTGUI_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_INCLUDE_DIR +QT_QTHELP_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_LIBRARY +QT_QTHELP_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_LIBRARY_DEBUG +QT_QTHELP_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTHELP_LIBRARY_RELEASE +QT_QTHELP_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_INCLUDE_DIR +QT_QTMOTIF_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_LIBRARY +QT_QTMOTIF_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_LIBRARY_DEBUG +QT_QTMOTIF_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMOTIF_LIBRARY_RELEASE +QT_QTMOTIF_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_INCLUDE_DIR +QT_QTMULTIMEDIA_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY +QT_QTMULTIMEDIA_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY_DEBUG +QT_QTMULTIMEDIA_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY_RELEASE +QT_QTMULTIMEDIA_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_INCLUDE_DIR +QT_QTNETWORK_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_LIBRARY +QT_QTNETWORK_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_LIBRARY_DEBUG +QT_QTNETWORK_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNETWORK_LIBRARY_RELEASE +QT_QTNETWORK_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_INCLUDE_DIR +QT_QTNSPLUGIN_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY +QT_QTNSPLUGIN_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY_DEBUG +QT_QTNSPLUGIN_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY_RELEASE +QT_QTNSPLUGIN_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_INCLUDE_DIR +QT_QTOPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_LIBRARY +QT_QTOPENGL_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_LIBRARY_DEBUG +QT_QTOPENGL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTOPENGL_LIBRARY_RELEASE +QT_QTOPENGL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_INCLUDE_DIR +QT_QTSCRIPTTOOLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY +QT_QTSCRIPTTOOLS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY_DEBUG +QT_QTSCRIPTTOOLS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY_RELEASE +QT_QTSCRIPTTOOLS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_INCLUDE_DIR +QT_QTSCRIPT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY +QT_QTSCRIPT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY_DEBUG +QT_QTSCRIPT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY_RELEASE +QT_QTSCRIPT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_INCLUDE_DIR +QT_QTSQL_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_LIBRARY +QT_QTSQL_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_LIBRARY_DEBUG +QT_QTSQL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSQL_LIBRARY_RELEASE +QT_QTSQL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_INCLUDE_DIR +QT_QTSVG_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_LIBRARY +QT_QTSVG_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_LIBRARY_DEBUG +QT_QTSVG_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTSVG_LIBRARY_RELEASE +QT_QTSVG_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_INCLUDE_DIR +QT_QTTEST_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_LIBRARY +QT_QTTEST_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_LIBRARY_DEBUG +QT_QTTEST_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTTEST_LIBRARY_RELEASE +QT_QTTEST_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_INCLUDE_DIR +QT_QTUITOOLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY +QT_QTUITOOLS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY_DEBUG +QT_QTUITOOLS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY_RELEASE +QT_QTUITOOLS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_INCLUDE_DIR +QT_QTWEBKIT_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY +QT_QTWEBKIT_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY_DEBUG +QT_QTWEBKIT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY_RELEASE +QT_QTWEBKIT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_INCLUDE_DIR +QT_QTXMLPATTERNS_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY +QT_QTXMLPATTERNS_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY_DEBUG +QT_QTXMLPATTERNS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY_RELEASE +QT_QTXMLPATTERNS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_INCLUDE_DIR +QT_QTXML_INCLUDE_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_LIBRARY +QT_QTXML_LIBRARY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_LIBRARY_DEBUG +QT_QTXML_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_QTXML_LIBRARY_RELEASE +QT_QTXML_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_RCC_EXECUTABLE +QT_RCC_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_TRANSLATIONS_DIR +QT_TRANSLATIONS_DIR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_UIC3_EXECUTABLE +QT_UIC3_EXECUTABLE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: QT_UIC_EXECUTABLE +QT_UIC_EXECUTABLE-ADVANCED:INTERNAL=1 +//Have symbol Q_WS_MAC +Q_WS_MAC:INTERNAL= +//Have symbol Q_WS_QWS +Q_WS_QWS:INTERNAL= +//Have symbol Q_WS_WIN +Q_WS_WIN:INTERNAL= +//Have symbol Q_WS_X11 +Q_WS_X11:INTERNAL=1 + diff --git a/LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake b/LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake new file mode 100644 index 0000000..2b06f62 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake @@ -0,0 +1,44 @@ +SET(CMAKE_C_COMPILER "/usr/bin/gcc") +SET(CMAKE_C_COMPILER_ARG1 "") +SET(CMAKE_C_COMPILER_ID "GNU") +SET(CMAKE_C_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCC 1) +SET(CMAKE_C_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_C_COMPILER_ENV_VAR "CC") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_C_COMPILER_ID_RUN 1) +SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) +SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +SET(CMAKE_C_SIZEOF_DATA_PTR "4") +SET(CMAKE_C_COMPILER_ABI "ELF") + +IF(CMAKE_C_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_C_SIZEOF_DATA_PTR) + +IF(CMAKE_C_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +ENDIF(CMAKE_C_COMPILER_ABI) + +SET(CMAKE_C_HAS_ISYSROOT "") + + +SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") +SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake b/LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..7613c41 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake @@ -0,0 +1,45 @@ +SET(CMAKE_CXX_COMPILER "/usr/bin/c++") +SET(CMAKE_CXX_COMPILER_ARG1 "") +SET(CMAKE_CXX_COMPILER_ID "GNU") +SET(CMAKE_CXX_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCXX 1) +SET(CMAKE_CXX_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_CXX_COMPILER_ID_RUN 1) +SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +SET(CMAKE_CXX_LINKER_PREFERENCE 30) +SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +SET(CMAKE_CXX_SIZEOF_DATA_PTR "4") +SET(CMAKE_CXX_COMPILER_ABI "ELF") + +IF(CMAKE_CXX_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) + +IF(CMAKE_CXX_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +ENDIF(CMAKE_CXX_COMPILER_ABI) + +SET(CMAKE_CXX_HAS_ISYSROOT "") + + +SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") +SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..b7710c0 Binary files /dev/null and b/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin differ diff --git a/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..0e039b8 Binary files /dev/null and b/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..d4fffda --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,28 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/niklas/fbgui/LogReceiver") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/niklas/fbgui/LogReceiver/build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + "." + "../../customdhcpcd/src" + "/usr/include/qt4" + "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtGui" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtCore" + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/LogReceiver/build/CMakeFiles/CMakeError.log b/LogReceiver/build/CMakeFiles/CMakeError.log new file mode 100644 index 0000000..44add4d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeError.log @@ -0,0 +1,87 @@ +Determining if the Q_WS_WIN exist failed with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_WIN’ undeclared (first use in this function) +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_WIN + cmakeRequireSymbol(0,&Q_WS_WIN); +#endif + return 0; +} + +Determining if the Q_WS_QWS exist failed with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_QWS’ undeclared (first use in this function) +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_QWS + cmakeRequireSymbol(0,&Q_WS_QWS); +#endif + return 0; +} + +Determining if the Q_WS_MAC exist failed with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_MAC’ undeclared (first use in this function) +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +make: *** [cmTryCompileExec/fast] Error 2 + +File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_MAC + cmakeRequireSymbol(0,&Q_WS_MAC); +#endif + return 0; +} + diff --git a/LogReceiver/build/CMakeFiles/CMakeOutput.log b/LogReceiver/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..a7ee961 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,267 @@ +The system is: Linux - 2.6.38-10-generic-pae - i686 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 +CMakeCXXCompilerId.cpp:79:58: warning: deprecated conversion from string constant to ‘char*’ +CMakeCXXCompilerId.cpp:192:58: warning: deprecated conversion from string constant to ‘char*’ +CMakeCXXCompilerId.cpp:193:54: warning: deprecated conversion from string constant to ‘char*’ + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper +Target: i686-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ +LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686' + /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: i686-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686'] + link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_i386] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] + collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper +Target: i686-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ +LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686' + /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: i686-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'] + link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_i386] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] + collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] + + +Determining if the Q_WS_X11 exist passed with the following output: +Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o +/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' + +File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: +/* */ +#include + +void cmakeRequireSymbol(int dummy,...){(void)dummy;} +int main() +{ +#ifndef Q_WS_X11 + cmakeRequireSymbol(0,&Q_WS_X11); +#endif + return 0; +} + diff --git a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt new file mode 100644 index 0000000..0068faf --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt @@ -0,0 +1,11 @@ +# Hashes of file build rules. +e5ce826cb847d8086f699637b14b8338 moc_abortbootdialog.cxx +e57aa1a74205a6d7c3df503f6417373e moc_chooseinterfacedialog.cxx +39bea292f6d710114c37c1c489211f1b moc_interfaceconfiguration.cxx +cd3541231cb4afbd9284567c700702ce moc_logreceiver.cxx +3d031b1ea0f6b93d449c04c73d575034 moc_ndgui.cxx +1a33738250f03a1cf7744ce3a60f2dd9 moc_routemanager.cxx +e1b7c2793f99794c98be91b1dad0b20a moc_ui_logreceiver.cxx +7d2b4dbc1ccdddb750f0a0ec9d3d7977 moc_ui_ndgui.cxx +d64f31ca4fc14ea7f47fa2509fca3d7f ui_logreceiver.h +af4242e398b944b4853304c020c2f8cd ui_ndgui.h diff --git a/LogReceiver/build/CMakeFiles/CMakeSystem.cmake b/LogReceiver/build/CMakeFiles/CMakeSystem.cmake new file mode 100644 index 0000000..278db3c --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CMakeSystem.cmake @@ -0,0 +1,15 @@ + + +SET(CMAKE_SYSTEM "Linux-2.6.38-10-generic-pae") +SET(CMAKE_SYSTEM_NAME "Linux") +SET(CMAKE_SYSTEM_VERSION "2.6.38-10-generic-pae") +SET(CMAKE_SYSTEM_PROCESSOR "i686") + +SET(CMAKE_HOST_SYSTEM "Linux-2.6.38-10-generic-pae") +SET(CMAKE_HOST_SYSTEM_NAME "Linux") +SET(CMAKE_HOST_SYSTEM_VERSION "2.6.38-10-generic-pae") +SET(CMAKE_HOST_SYSTEM_PROCESSOR "i686") + +SET(CMAKE_CROSSCOMPILING "FALSE") + +SET(CMAKE_SYSTEM_LOADED 1) diff --git a/LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..efa5677 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,220 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__clang__) +# define COMPILER_ID "Clang" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMC__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMC__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +/* IAR Systems compiler for embedded systems. + http://www.iar.com + Not supported yet by CMake +#elif defined(__IAR_SYSTEMS_ICC__) +# define COMPILER_ID "IAR" */ + +/* sdcc, the small devices C compiler for embedded systems, + http://sdcc.sourceforge.net */ +#elif defined(SDCC) +# define COMPILER_ID "SDCC" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is becase + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; + (void)argv; + return require; +} +#endif diff --git a/LogReceiver/build/CMakeFiles/CompilerIdC/a.out b/LogReceiver/build/CMakeFiles/CompilerIdC/a.out new file mode 100755 index 0000000..0a9888a Binary files /dev/null and b/LogReceiver/build/CMakeFiles/CompilerIdC/a.out differ diff --git a/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp b/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..4c2289b --- /dev/null +++ b/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,206 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__clang__) +# define COMPILER_ID "Clang" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMCPP__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMCPP__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is becase + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + (void)argv; + return require; +} diff --git a/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out b/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out new file mode 100755 index 0000000..b564314 Binary files /dev/null and b/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out differ diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache new file mode 100644 index 0000000..5ad7f03 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache @@ -0,0 +1,4386 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +../../customdhcpcd/src/common.h +sys/time.h +- +stdio.h +- +string.h +- + +../../customdhcpcd/src/config.h + +../../customdhcpcd/src/dhcp.h +netinet/in_systm.h +- +netinet/in.h +- +netinet/ip.h +- +netinet/udp.h +- +stdint.h +- +dhcpcd.h +../../customdhcpcd/src/dhcpcd.h +interface.h +../../customdhcpcd/src/interface.h + +../../customdhcpcd/src/dhcpcd.h +sys/param.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +limits.h +- +stdbool.h +- +common.h +../../customdhcpcd/src/common.h + +../../customdhcpcd/src/interface.h +sys/types.h +- +sys/param.h +- +sys/queue.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +netinet/if_ether.h +- +limits.h +- +stdbool.h +- +config.h +../../customdhcpcd/src/config.h +linux/netlink.h +- + +../../customdhcpcd/src/status.h + +/home/niklas/fbgui/LogReceiver/../common/fbgui.h + +/home/niklas/fbgui/LogReceiver/abortbootdialog.cpp +QtGui +- +abortbootdialog.h +/home/niklas/fbgui/LogReceiver/abortbootdialog.h + +/home/niklas/fbgui/LogReceiver/abortbootdialog.h +QDialog +- +qboxlayout.h +/home/niklas/fbgui/LogReceiver/qboxlayout.h +qgroupbox.h +/home/niklas/fbgui/LogReceiver/qgroupbox.h +qcombobox.h +/home/niklas/fbgui/LogReceiver/qcombobox.h +qlabel.h +/home/niklas/fbgui/LogReceiver/qlabel.h + +/home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h +QDialog +- +qboxlayout.h +/home/niklas/fbgui/LogReceiver/build/../qboxlayout.h +qgroupbox.h +/home/niklas/fbgui/LogReceiver/build/../qgroupbox.h +qcombobox.h +/home/niklas/fbgui/LogReceiver/build/../qcombobox.h +qlabel.h +/home/niklas/fbgui/LogReceiver/build/../qlabel.h + +/home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h +QDialog +- +qboxlayout.h +/home/niklas/fbgui/LogReceiver/build/../qboxlayout.h +qgroupbox.h +/home/niklas/fbgui/LogReceiver/build/../qgroupbox.h +qcombobox.h +/home/niklas/fbgui/LogReceiver/build/../qcombobox.h +qlabel.h +/home/niklas/fbgui/LogReceiver/build/../qlabel.h + +/home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h +QtCore +- + +/home/niklas/fbgui/LogReceiver/build/../logreceiver.h +qprocess.h +- +qnetworkinterface.h +- +qnetworkconfigmanager.h +- +qnetworkaccessmanager.h +- +qnetworksession.h +- +qnetworkreply.h +- +qsslerror.h +- + +/home/niklas/fbgui/LogReceiver/build/../ndgui.h +QtGui/QWidget +- +qprogressbar.h +/home/niklas/fbgui/LogReceiver/build/../qprogressbar.h +qlabel.h +/home/niklas/fbgui/LogReceiver/build/../qlabel.h +qgroupbox.h +/home/niklas/fbgui/LogReceiver/build/../qgroupbox.h +qboxlayout.h +/home/niklas/fbgui/LogReceiver/build/../qboxlayout.h +ui_ndgui.h +/home/niklas/fbgui/LogReceiver/build/../ui_ndgui.h +logreceiver.h +/home/niklas/fbgui/LogReceiver/build/../logreceiver.h +chooseinterfacedialog.h +/home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h +abortbootdialog.h +/home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + +/home/niklas/fbgui/LogReceiver/build/../routemanager.h +QtCore +- + +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp + +/home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx +../abortbootdialog.h +/home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + +/home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx +../chooseinterfacedialog.h +/home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h + +/home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx +../interfaceconfiguration.h +/home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + +/home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx +../logreceiver.h +/home/niklas/fbgui/LogReceiver/build/../logreceiver.h + +/home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx +../ndgui.h +/home/niklas/fbgui/LogReceiver/build/../ndgui.h + +/home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx +../routemanager.h +/home/niklas/fbgui/LogReceiver/build/../routemanager.h + +/home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx + +/home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx + +/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp +QtGui +- +chooseinterfacedialog.h +/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + +/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h +QDialog +- +qboxlayout.h +/home/niklas/fbgui/LogReceiver/qboxlayout.h +qgroupbox.h +/home/niklas/fbgui/LogReceiver/qgroupbox.h +qcombobox.h +/home/niklas/fbgui/LogReceiver/qcombobox.h +qlabel.h +/home/niklas/fbgui/LogReceiver/qlabel.h + +/home/niklas/fbgui/LogReceiver/debug/../logreceiver.h +qprocess.h +- +qnetworkinterface.h +- +qnetworkconfigmanager.h +- +qnetworkaccessmanager.h +- +qnetworksession.h +- +qnetworkreply.h +- +qsslerror.h +- + +/home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp +../logreceiver.h +/home/niklas/fbgui/LogReceiver/debug/../logreceiver.h + +/home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp +interfaceconfiguration.h +/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + +/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h +QtCore +- + +/home/niklas/fbgui/LogReceiver/logreceiver.cpp +QMap +- +QtNetwork +- +QProcess +- +arpa/inet.h +- +stdio.h +- +string.h +- +stdlib.h +- +syslog.h +- +sysfs/libsysfs.h +- +logreceiver.h +/home/niklas/fbgui/LogReceiver/logreceiver.h +interfaceconfiguration.h +/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h +qlocalserver.h +- +qlocalsocket.h +- +status.h +/home/niklas/fbgui/LogReceiver/status.h +dhcp.h +/home/niklas/fbgui/LogReceiver/dhcp.h +interface.h +/home/niklas/fbgui/LogReceiver/interface.h +../common/fbgui.h +/home/niklas/fbgui/LogReceiver/../common/fbgui.h + +/home/niklas/fbgui/LogReceiver/logreceiver.h +qprocess.h +- +qnetworkinterface.h +- +qnetworkconfigmanager.h +- +qnetworkaccessmanager.h +- +qnetworksession.h +- +qnetworkreply.h +- +qsslerror.h +- + +/home/niklas/fbgui/LogReceiver/main.cpp +ndgui.h +/home/niklas/fbgui/LogReceiver/ndgui.h +QtGui +- +QApplication +- + +/home/niklas/fbgui/LogReceiver/ndgui.cpp +ndgui.h +/home/niklas/fbgui/LogReceiver/ndgui.h +chooseinterfacedialog.h +/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h +abortbootdialog.h +/home/niklas/fbgui/LogReceiver/abortbootdialog.h + +/home/niklas/fbgui/LogReceiver/ndgui.h +QtGui/QWidget +- +qprogressbar.h +/home/niklas/fbgui/LogReceiver/qprogressbar.h +qlabel.h +/home/niklas/fbgui/LogReceiver/qlabel.h +qgroupbox.h +/home/niklas/fbgui/LogReceiver/qgroupbox.h +qboxlayout.h +/home/niklas/fbgui/LogReceiver/qboxlayout.h +ui_ndgui.h +/home/niklas/fbgui/LogReceiver/ui_ndgui.h +logreceiver.h +/home/niklas/fbgui/LogReceiver/logreceiver.h +chooseinterfacedialog.h +/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h +abortbootdialog.h +/home/niklas/fbgui/LogReceiver/abortbootdialog.h + +/home/niklas/fbgui/LogReceiver/routemanager.cpp +arpa/inet.h +- +interface.h +/home/niklas/fbgui/LogReceiver/interface.h +routemanager.h +/home/niklas/fbgui/LogReceiver/routemanager.h + +/home/niklas/fbgui/LogReceiver/routemanager.h +QtCore +- + +/usr/include/qt4/Qt3Support/q3cstring.h +QtCore/qbytearray.h +- + +/usr/include/qt4/Qt3Support/q3valuelist.h +QtCore/qalgorithms.h +- +QtCore/qdatastream.h +- +QtCore/qlinkedlist.h +- +QtCore/qlist.h +- +iterator +- +list +- + +/usr/include/qt4/QtCore/QDate +qdatetime.h +/usr/include/qt4/QtCore/qdatetime.h + +/usr/include/qt4/QtCore/QIODevice +qiodevice.h +/usr/include/qt4/QtCore/qiodevice.h + +/usr/include/qt4/QtCore/QList +qlist.h +/usr/include/qt4/QtCore/qlist.h + +/usr/include/qt4/QtCore/QMap +qmap.h +/usr/include/qt4/QtCore/qmap.h + +/usr/include/qt4/QtCore/QMetaType +qmetatype.h +/usr/include/qt4/QtCore/qmetatype.h + +/usr/include/qt4/QtCore/QObject +qobject.h +/usr/include/qt4/QtCore/qobject.h + +/usr/include/qt4/QtCore/QPoint +qpoint.h +/usr/include/qt4/QtCore/qpoint.h + +/usr/include/qt4/QtCore/QPointF +qpoint.h +/usr/include/qt4/QtCore/qpoint.h + +/usr/include/qt4/QtCore/QProcess +qprocess.h +/usr/include/qt4/QtCore/qprocess.h + +/usr/include/qt4/QtCore/QSharedDataPointer +qshareddata.h +/usr/include/qt4/QtCore/qshareddata.h + +/usr/include/qt4/QtCore/QString +qstring.h +/usr/include/qt4/QtCore/qstring.h + +/usr/include/qt4/QtCore/QUrl +qurl.h +/usr/include/qt4/QtCore/qurl.h + +/usr/include/qt4/QtCore/QVariant +qvariant.h +/usr/include/qt4/QtCore/qvariant.h + +/usr/include/qt4/QtCore/QtCore +qxmlstream.h +/usr/include/qt4/QtCore/qxmlstream.h +qendian.h +/usr/include/qt4/QtCore/qendian.h +qfeatures.h +/usr/include/qt4/QtCore/qfeatures.h +qglobal.h +/usr/include/qt4/QtCore/qglobal.h +qlibraryinfo.h +/usr/include/qt4/QtCore/qlibraryinfo.h +qnamespace.h +/usr/include/qt4/QtCore/qnamespace.h +qnumeric.h +/usr/include/qt4/QtCore/qnumeric.h +qfuture.h +/usr/include/qt4/QtCore/qfuture.h +qfutureinterface.h +/usr/include/qt4/QtCore/qfutureinterface.h +qfuturesynchronizer.h +/usr/include/qt4/QtCore/qfuturesynchronizer.h +qfuturewatcher.h +/usr/include/qt4/QtCore/qfuturewatcher.h +qrunnable.h +/usr/include/qt4/QtCore/qrunnable.h +qtconcurrentcompilertest.h +/usr/include/qt4/QtCore/qtconcurrentcompilertest.h +qtconcurrentexception.h +/usr/include/qt4/QtCore/qtconcurrentexception.h +qtconcurrentfilter.h +/usr/include/qt4/QtCore/qtconcurrentfilter.h +qtconcurrentfilterkernel.h +/usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +qtconcurrentfunctionwrappers.h +/usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +qtconcurrentiteratekernel.h +/usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +qtconcurrentmap.h +/usr/include/qt4/QtCore/qtconcurrentmap.h +qtconcurrentmapkernel.h +/usr/include/qt4/QtCore/qtconcurrentmapkernel.h +qtconcurrentmedian.h +/usr/include/qt4/QtCore/qtconcurrentmedian.h +qtconcurrentreducekernel.h +/usr/include/qt4/QtCore/qtconcurrentreducekernel.h +qtconcurrentresultstore.h +/usr/include/qt4/QtCore/qtconcurrentresultstore.h +qtconcurrentrun.h +/usr/include/qt4/QtCore/qtconcurrentrun.h +qtconcurrentrunbase.h +/usr/include/qt4/QtCore/qtconcurrentrunbase.h +qtconcurrentstoredfunctioncall.h +/usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +qtconcurrentthreadengine.h +/usr/include/qt4/QtCore/qtconcurrentthreadengine.h +qthreadpool.h +/usr/include/qt4/QtCore/qthreadpool.h +qtextcodec.h +/usr/include/qt4/QtCore/qtextcodec.h +qtextcodecplugin.h +/usr/include/qt4/QtCore/qtextcodecplugin.h +qabstractfileengine.h +/usr/include/qt4/QtCore/qabstractfileengine.h +qbuffer.h +/usr/include/qt4/QtCore/qbuffer.h +qdatastream.h +/usr/include/qt4/QtCore/qdatastream.h +qdebug.h +/usr/include/qt4/QtCore/qdebug.h +qdir.h +/usr/include/qt4/QtCore/qdir.h +qdiriterator.h +/usr/include/qt4/QtCore/qdiriterator.h +qfile.h +/usr/include/qt4/QtCore/qfile.h +qfileinfo.h +/usr/include/qt4/QtCore/qfileinfo.h +qfilesystemwatcher.h +/usr/include/qt4/QtCore/qfilesystemwatcher.h +qfsfileengine.h +/usr/include/qt4/QtCore/qfsfileengine.h +qiodevice.h +/usr/include/qt4/QtCore/qiodevice.h +qprocess.h +/usr/include/qt4/QtCore/qprocess.h +qresource.h +/usr/include/qt4/QtCore/qresource.h +qsettings.h +/usr/include/qt4/QtCore/qsettings.h +qtemporaryfile.h +/usr/include/qt4/QtCore/qtemporaryfile.h +qtextstream.h +/usr/include/qt4/QtCore/qtextstream.h +qurl.h +/usr/include/qt4/QtCore/qurl.h +qalgorithms.h +/usr/include/qt4/QtCore/qalgorithms.h +qbitarray.h +/usr/include/qt4/QtCore/qbitarray.h +qbytearray.h +/usr/include/qt4/QtCore/qbytearray.h +qbytearraymatcher.h +/usr/include/qt4/QtCore/qbytearraymatcher.h +qcache.h +/usr/include/qt4/QtCore/qcache.h +qchar.h +/usr/include/qt4/QtCore/qchar.h +qcontainerfwd.h +/usr/include/qt4/QtCore/qcontainerfwd.h +qcontiguouscache.h +/usr/include/qt4/QtCore/qcontiguouscache.h +qcryptographichash.h +/usr/include/qt4/QtCore/qcryptographichash.h +qdatetime.h +/usr/include/qt4/QtCore/qdatetime.h +qeasingcurve.h +/usr/include/qt4/QtCore/qeasingcurve.h +qelapsedtimer.h +/usr/include/qt4/QtCore/qelapsedtimer.h +qhash.h +/usr/include/qt4/QtCore/qhash.h +qiterator.h +/usr/include/qt4/QtCore/qiterator.h +qline.h +/usr/include/qt4/QtCore/qline.h +qlinkedlist.h +/usr/include/qt4/QtCore/qlinkedlist.h +qlist.h +/usr/include/qt4/QtCore/qlist.h +qlocale.h +/usr/include/qt4/QtCore/qlocale.h +qmap.h +/usr/include/qt4/QtCore/qmap.h +qmargins.h +/usr/include/qt4/QtCore/qmargins.h +qpair.h +/usr/include/qt4/QtCore/qpair.h +qpoint.h +/usr/include/qt4/QtCore/qpoint.h +qqueue.h +/usr/include/qt4/QtCore/qqueue.h +qrect.h +/usr/include/qt4/QtCore/qrect.h +qregexp.h +/usr/include/qt4/QtCore/qregexp.h +qscopedpointer.h +/usr/include/qt4/QtCore/qscopedpointer.h +qset.h +/usr/include/qt4/QtCore/qset.h +qshareddata.h +/usr/include/qt4/QtCore/qshareddata.h +qsharedpointer.h +/usr/include/qt4/QtCore/qsharedpointer.h +qsize.h +/usr/include/qt4/QtCore/qsize.h +qstack.h +/usr/include/qt4/QtCore/qstack.h +qstring.h +/usr/include/qt4/QtCore/qstring.h +qstringbuilder.h +/usr/include/qt4/QtCore/qstringbuilder.h +qstringlist.h +/usr/include/qt4/QtCore/qstringlist.h +qstringmatcher.h +/usr/include/qt4/QtCore/qstringmatcher.h +qtextboundaryfinder.h +/usr/include/qt4/QtCore/qtextboundaryfinder.h +qtimeline.h +/usr/include/qt4/QtCore/qtimeline.h +qvarlengtharray.h +/usr/include/qt4/QtCore/qvarlengtharray.h +qvector.h +/usr/include/qt4/QtCore/qvector.h +qabstractanimation.h +/usr/include/qt4/QtCore/qabstractanimation.h +qanimationgroup.h +/usr/include/qt4/QtCore/qanimationgroup.h +qparallelanimationgroup.h +/usr/include/qt4/QtCore/qparallelanimationgroup.h +qpauseanimation.h +/usr/include/qt4/QtCore/qpauseanimation.h +qpropertyanimation.h +/usr/include/qt4/QtCore/qpropertyanimation.h +qsequentialanimationgroup.h +/usr/include/qt4/QtCore/qsequentialanimationgroup.h +qvariantanimation.h +/usr/include/qt4/QtCore/qvariantanimation.h +qabstracteventdispatcher.h +/usr/include/qt4/QtCore/qabstracteventdispatcher.h +qabstractitemmodel.h +/usr/include/qt4/QtCore/qabstractitemmodel.h +qbasictimer.h +/usr/include/qt4/QtCore/qbasictimer.h +qcoreapplication.h +/usr/include/qt4/QtCore/qcoreapplication.h +qcoreevent.h +/usr/include/qt4/QtCore/qcoreevent.h +qeventloop.h +/usr/include/qt4/QtCore/qeventloop.h +qmath.h +/usr/include/qt4/QtCore/qmath.h +qmetaobject.h +/usr/include/qt4/QtCore/qmetaobject.h +qmetatype.h +/usr/include/qt4/QtCore/qmetatype.h +qmimedata.h +/usr/include/qt4/QtCore/qmimedata.h +qobject.h +/usr/include/qt4/QtCore/qobject.h +qobjectcleanuphandler.h +/usr/include/qt4/QtCore/qobjectcleanuphandler.h +qobjectdefs.h +/usr/include/qt4/QtCore/qobjectdefs.h +qpointer.h +/usr/include/qt4/QtCore/qpointer.h +qsharedmemory.h +/usr/include/qt4/QtCore/qsharedmemory.h +qsignalmapper.h +/usr/include/qt4/QtCore/qsignalmapper.h +qsocketnotifier.h +/usr/include/qt4/QtCore/qsocketnotifier.h +qsystemsemaphore.h +/usr/include/qt4/QtCore/qsystemsemaphore.h +qtimer.h +/usr/include/qt4/QtCore/qtimer.h +qtranslator.h +/usr/include/qt4/QtCore/qtranslator.h +qvariant.h +/usr/include/qt4/QtCore/qvariant.h +qatomic.h +/usr/include/qt4/QtCore/qatomic.h +qbasicatomic.h +/usr/include/qt4/QtCore/qbasicatomic.h +qmutex.h +/usr/include/qt4/QtCore/qmutex.h +qreadwritelock.h +/usr/include/qt4/QtCore/qreadwritelock.h +qsemaphore.h +/usr/include/qt4/QtCore/qsemaphore.h +qthread.h +/usr/include/qt4/QtCore/qthread.h +qthreadstorage.h +/usr/include/qt4/QtCore/qthreadstorage.h +qwaitcondition.h +/usr/include/qt4/QtCore/qwaitcondition.h +qabstractstate.h +/usr/include/qt4/QtCore/qabstractstate.h +qabstracttransition.h +/usr/include/qt4/QtCore/qabstracttransition.h +qeventtransition.h +/usr/include/qt4/QtCore/qeventtransition.h +qfinalstate.h +/usr/include/qt4/QtCore/qfinalstate.h +qhistorystate.h +/usr/include/qt4/QtCore/qhistorystate.h +qsignaltransition.h +/usr/include/qt4/QtCore/qsignaltransition.h +qstate.h +/usr/include/qt4/QtCore/qstate.h +qstatemachine.h +/usr/include/qt4/QtCore/qstatemachine.h +qfactoryinterface.h +/usr/include/qt4/QtCore/qfactoryinterface.h +qlibrary.h +/usr/include/qt4/QtCore/qlibrary.h +qplugin.h +/usr/include/qt4/QtCore/qplugin.h +qpluginloader.h +/usr/include/qt4/QtCore/qpluginloader.h +quuid.h +/usr/include/qt4/QtCore/quuid.h + +/usr/include/qt4/QtCore/qabstractanimation.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qabstracteventdispatcher.h +QtCore/qobject.h +- +QtCore/qeventloop.h +- + +/usr/include/qt4/QtCore/qabstractfileengine.h +QtCore/qdir.h +- + +/usr/include/qt4/QtCore/qabstractitemmodel.h +QtCore/qvariant.h +- +QtCore/qobject.h +- +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/qabstractstate.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qabstracttransition.h +QtCore/qobject.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qalgorithms.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qanimationgroup.h +QtCore/qabstractanimation.h +- + +/usr/include/qt4/QtCore/qatomic.h +QtCore/qglobal.h +- +QtCore/qbasicatomic.h +- + +/usr/include/qt4/QtCore/qatomic_alpha.h + +/usr/include/qt4/QtCore/qatomic_arch.h +QtCore/qglobal.h +/usr/include/qt4/QtCore/QtCore/qglobal.h +QtCore/qatomic_vxworks.h +/usr/include/qt4/QtCore/QtCore/qatomic_vxworks.h +QtCore/qatomic_alpha.h +/usr/include/qt4/QtCore/QtCore/qatomic_alpha.h +QtCore/qatomic_arm.h +/usr/include/qt4/QtCore/QtCore/qatomic_arm.h +QtCore/qatomic_armv6.h +/usr/include/qt4/QtCore/QtCore/qatomic_armv6.h +QtCore/qatomic_avr32.h +/usr/include/qt4/QtCore/QtCore/qatomic_avr32.h +QtCore/qatomic_bfin.h +/usr/include/qt4/QtCore/QtCore/qatomic_bfin.h +QtCore/qatomic_generic.h +/usr/include/qt4/QtCore/QtCore/qatomic_generic.h +QtCore/qatomic_i386.h +/usr/include/qt4/QtCore/QtCore/qatomic_i386.h +QtCore/qatomic_ia64.h +/usr/include/qt4/QtCore/QtCore/qatomic_ia64.h +QtCore/qatomic_macosx.h +/usr/include/qt4/QtCore/QtCore/qatomic_macosx.h +QtCore/qatomic_mips.h +/usr/include/qt4/QtCore/QtCore/qatomic_mips.h +QtCore/qatomic_parisc.h +/usr/include/qt4/QtCore/QtCore/qatomic_parisc.h +QtCore/qatomic_powerpc.h +/usr/include/qt4/QtCore/QtCore/qatomic_powerpc.h +QtCore/qatomic_s390.h +/usr/include/qt4/QtCore/QtCore/qatomic_s390.h +QtCore/qatomic_sparc.h +/usr/include/qt4/QtCore/QtCore/qatomic_sparc.h +QtCore/qatomic_windows.h +/usr/include/qt4/QtCore/QtCore/qatomic_windows.h +QtCore/qatomic_windowsce.h +/usr/include/qt4/QtCore/QtCore/qatomic_windowsce.h +QtCore/qatomic_x86_64.h +/usr/include/qt4/QtCore/QtCore/qatomic_x86_64.h +QtCore/qatomic_symbian.h +/usr/include/qt4/QtCore/QtCore/qatomic_symbian.h +QtCore/qatomic_sh.h +/usr/include/qt4/QtCore/QtCore/qatomic_sh.h +QtCore/qatomic_sh4a.h +/usr/include/qt4/QtCore/QtCore/qatomic_sh4a.h + +/usr/include/qt4/QtCore/qatomic_arm.h + +/usr/include/qt4/QtCore/qatomic_armv6.h + +/usr/include/qt4/QtCore/qatomic_avr32.h + +/usr/include/qt4/QtCore/qatomic_bfin.h +asm/fixed_code.h +- + +/usr/include/qt4/QtCore/qatomic_bootstrap.h + +/usr/include/qt4/QtCore/qatomic_generic.h + +/usr/include/qt4/QtCore/qatomic_i386.h + +/usr/include/qt4/QtCore/qatomic_ia64.h +ia64intrin.h +- +ia64/sys/inline.h +- + +/usr/include/qt4/QtCore/qatomic_macosx.h +QtCore/qatomic_x86_64.h +- +QtCore/qatomic_i386.h +- +QtCore/qatomic_powerpc.h +- + +/usr/include/qt4/QtCore/qatomic_mips.h + +/usr/include/qt4/QtCore/qatomic_parisc.h + +/usr/include/qt4/QtCore/qatomic_powerpc.h + +/usr/include/qt4/QtCore/qatomic_s390.h + +/usr/include/qt4/QtCore/qatomic_sh.h + +/usr/include/qt4/QtCore/qatomic_sh4a.h + +/usr/include/qt4/QtCore/qatomic_sparc.h + +/usr/include/qt4/QtCore/qatomic_symbian.h +QtCore/qglobal.h +- +e32std.h +- + +/usr/include/qt4/QtCore/qatomic_vxworks.h +QtCore/qatomic_powerpc.h +- +vxWorksCommon.h +- +taskLib.h +- + +/usr/include/qt4/QtCore/qatomic_windows.h +QtCore/qatomic_i386.h +/usr/include/qt4/QtCore/QtCore/qatomic_i386.h +QtCore/qatomic_x86_64.h +/usr/include/qt4/QtCore/QtCore/qatomic_x86_64.h +winbase.h +- + +/usr/include/qt4/QtCore/qatomic_windowsce.h +QtCore/qglobal.h +- +QtCore/qatomic_windows.h +/usr/include/qt4/QtCore/QtCore/qatomic_windows.h + +/usr/include/qt4/QtCore/qatomic_x86_64.h + +/usr/include/qt4/QtCore/qbasicatomic.h +QtCore/qglobal.h +- +QtCore/qatomic_bootstrap.h +- +QtCore/qatomic_arch.h +- + +/usr/include/qt4/QtCore/qbasictimer.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qbitarray.h +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qbuffer.h +QtCore/qiodevice.h +- +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qbytearray.h +QtCore/qatomic.h +- +QtCore/qnamespace.h +- +string.h +- +stdarg.h +- + +/usr/include/qt4/QtCore/qbytearraymatcher.h +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qcache.h +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/qchar.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qconfig.h + +/usr/include/qt4/QtCore/qcontainerfwd.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qcontiguouscache.h +QtCore/qatomic.h +- +limits.h +- +new +- + +/usr/include/qt4/QtCore/qcoreapplication.h +QtCore/qobject.h +- +QtCore/qcoreevent.h +- +QtCore/qeventloop.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtCore/qcoreevent.h +QtCore/qnamespace.h +- +QtCore/qbytearray.h +- +QtCore/qobjectdefs.h +- + +/usr/include/qt4/QtCore/qcryptographichash.h +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qdatastream.h +QtCore/qscopedpointer.h +- +QtCore/qiodevice.h +- +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qdatetime.h +QtCore/qstring.h +- +QtCore/qnamespace.h +- +QtCore/qsharedpointer.h +- + +/usr/include/qt4/QtCore/qdebug.h +QtCore/qalgorithms.h +- +QtCore/qhash.h +- +QtCore/qlist.h +- +QtCore/qmap.h +- +QtCore/qpair.h +- +QtCore/qtextstream.h +- +QtCore/qstring.h +- +QtCore/qvector.h +- +QtCore/qset.h +- +QtCore/qcontiguouscache.h +- + +/usr/include/qt4/QtCore/qdir.h +QtCore/qstring.h +- +QtCore/qfileinfo.h +- +QtCore/qstringlist.h +- +QtCore/qshareddata.h +- + +/usr/include/qt4/QtCore/qdiriterator.h +QtCore/qdir.h +- + +/usr/include/qt4/QtCore/qeasingcurve.h +QtCore/qglobal.h +- +QtCore/qobjectdefs.h +- + +/usr/include/qt4/QtCore/qelapsedtimer.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qendian.h +QtCore/qglobal.h +- +stdlib.h +- +byteswap.h +- + +/usr/include/qt4/QtCore/qeventloop.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qeventtransition.h +QtCore/qabstracttransition.h +- +QtCore/qcoreevent.h +- + +/usr/include/qt4/QtCore/qfactoryinterface.h +QtCore/qobject.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtCore/qfeatures.h + +/usr/include/qt4/QtCore/qfile.h +QtCore/qiodevice.h +- +QtCore/qstring.h +- +stdio.h +- + +/usr/include/qt4/QtCore/qfileinfo.h +QtCore/qfile.h +- +QtCore/qlist.h +- +QtCore/qshareddata.h +- + +/usr/include/qt4/QtCore/qfilesystemwatcher.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qfinalstate.h +QtCore/qabstractstate.h +- + +/usr/include/qt4/QtCore/qfsfileengine.h +QtCore/qabstractfileengine.h +- + +/usr/include/qt4/QtCore/qfuture.h +QtCore/qglobal.h +- +QtCore/qfutureinterface.h +- +QtCore/qstring.h +- +QtCore/qtconcurrentcompilertest.h +- + +/usr/include/qt4/QtCore/qfutureinterface.h +QtCore/qglobal.h +- +QtCore/qrunnable.h +- +QtCore/qmutex.h +- +QtCore/qtconcurrentexception.h +- +QtCore/qtconcurrentresultstore.h +- + +/usr/include/qt4/QtCore/qfuturesynchronizer.h +QtCore/qfuture.h +- + +/usr/include/qt4/QtCore/qfuturewatcher.h +QtCore/qfuture.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qglobal.h +stddef.h +- +QtCore/qconfig.h +- +AvailabilityMacros.h +- +e32def.h +- +QtCore/qfeatures.h +- + +/usr/include/qt4/QtCore/qhash.h +QtCore/qatomic.h +- +QtCore/qchar.h +- +QtCore/qiterator.h +- +QtCore/qlist.h +- +QtCore/qpair.h +- + +/usr/include/qt4/QtCore/qhistorystate.h +QtCore/qabstractstate.h +- + +/usr/include/qt4/QtCore/qiodevice.h +QtCore/qobject.h +- +QtCore/qobjectdefs.h +- +QtCore/qscopedpointer.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qiterator.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qlibrary.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qlibraryinfo.h +QtCore/qstring.h +- +QtCore/QDate +- + +/usr/include/qt4/QtCore/qline.h +QtCore/qpoint.h +- + +/usr/include/qt4/QtCore/qlinkedlist.h +QtCore/qiterator.h +- +QtCore/qatomic.h +- +iterator +- +list +- + +/usr/include/qt4/QtCore/qlist.h +QtCore/qiterator.h +- +QtCore/qatomic.h +- +QtCore/qalgorithms.h +- +iterator +- +list +- +new +- +limits.h +- +string.h +- + +/usr/include/qt4/QtCore/qlocale.h +QtCore/qstring.h +- +QtCore/qobjectdefs.h +- + +/usr/include/qt4/QtCore/qmap.h +QtCore/qatomic.h +- +QtCore/qiterator.h +- +QtCore/qlist.h +- +map +- +new +- + +/usr/include/qt4/QtCore/qmargins.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qmath.h +math.h +- +QtCore/qglobal.h +- +e32math.h +- + +/usr/include/qt4/QtCore/qmetaobject.h +QtCore/qobjectdefs.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtCore/qmetatype.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qdatastream.h +- + +/usr/include/qt4/QtCore/qmimedata.h +QtCore/qvariant.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qmutex.h +QtCore/qglobal.h +- +new +- + +/usr/include/qt4/QtCore/qnamespace.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qnumeric.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qobject.h +QtCore/qobjectdefs.h +- +QtCore/qstring.h +- +QtCore/qbytearray.h +- +QtCore/qlist.h +- +QtCore/qcoreevent.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtCore/qobjectcleanuphandler.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qobjectdefs.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qpair.h +QtCore/qdatastream.h +- + +/usr/include/qt4/QtCore/qparallelanimationgroup.h +QtCore/qanimationgroup.h +- + +/usr/include/qt4/QtCore/qpauseanimation.h +QtCore/qanimationgroup.h +- + +/usr/include/qt4/QtCore/qplugin.h +QtCore/qobject.h +- +QtCore/qpointer.h +- + +/usr/include/qt4/QtCore/qpluginloader.h +QtCore/qlibrary.h +- + +/usr/include/qt4/QtCore/qpoint.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qpointer.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qprocess.h +QtCore/qiodevice.h +- +QtCore/qstringlist.h +- +QtCore/qshareddata.h +- + +/usr/include/qt4/QtCore/qpropertyanimation.h +QtCore/qvariantanimation.h +- + +/usr/include/qt4/QtCore/qqueue.h +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qreadwritelock.h +QtCore/qglobal.h +- +limits.h +- + +/usr/include/qt4/QtCore/qrect.h +QtCore/qsize.h +- +QtCore/qpoint.h +- + +/usr/include/qt4/QtCore/qregexp.h +QtCore/qstring.h +- +new +- + +/usr/include/qt4/QtCore/qresource.h +QtCore/qstring.h +- +QtCore/qlocale.h +- +QtCore/qstringlist.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qrunnable.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qscopedpointer.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qsemaphore.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qsequentialanimationgroup.h +QtCore/qanimationgroup.h +- + +/usr/include/qt4/QtCore/qset.h +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/qsettings.h +QtCore/qobject.h +- +QtCore/qvariant.h +- +QtCore/qstring.h +- +QtCore/qstringlist.h +- +ctype.h +- + +/usr/include/qt4/QtCore/qshareddata.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- + +/usr/include/qt4/QtCore/qsharedmemory.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qsharedpointer.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qshareddata.h +- +QtCore/qsharedpointer_impl.h +- + +/usr/include/qt4/QtCore/qsharedpointer_impl.h +new +- +QtCore/qatomic.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qsignalmapper.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qsignaltransition.h +QtCore/qabstracttransition.h +- + +/usr/include/qt4/QtCore/qsize.h +QtCore/qnamespace.h +- + +/usr/include/qt4/QtCore/qsocketnotifier.h +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qstack.h +QtCore/qvector.h +- + +/usr/include/qt4/QtCore/qstate.h +QtCore/qabstractstate.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qstatemachine.h +QtCore/qstate.h +- +QtCore/qcoreevent.h +- +QtCore/qlist.h +- +QtCore/qobject.h +- +QtCore/qset.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtCore/qstring.h +QtCore/qchar.h +- +QtCore/qbytearray.h +- +QtCore/qatomic.h +- +QtCore/qnamespace.h +- +Qt3Support/q3cstring.h +- +string +- +string +- +stdarg.h +- +QtCore/qstringbuilder.h +- + +/usr/include/qt4/QtCore/qstringbuilder.h +QtCore/qstring.h +- +QtCore/qmap.h +- +string.h +- + +/usr/include/qt4/QtCore/qstringlist.h +QtCore/qalgorithms.h +- +QtCore/qdatastream.h +- +QtCore/qlist.h +- +QtCore/qregexp.h +- +QtCore/qstring.h +- +QtCore/qstringmatcher.h +- +Qt3Support/q3valuelist.h +- + +/usr/include/qt4/QtCore/qstringmatcher.h +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qsystemsemaphore.h +QtCore/qstring.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtCore/qtconcurrentcompilertest.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qtconcurrentexception.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +exception +- + +/usr/include/qt4/QtCore/qtconcurrentfilter.h +QtCore/qglobal.h +- +QtCore/qtconcurrentfilterkernel.h +- +QtCore/qtconcurrentfunctionwrappers.h +- + +/usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +QtCore/qglobal.h +- +QtCore/qtconcurrentiteratekernel.h +- +QtCore/qtconcurrentmapkernel.h +- +QtCore/qtconcurrentreducekernel.h +- + +/usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qtconcurrentmedian.h +- +QtCore/qtconcurrentthreadengine.h +- +iterator +- + +/usr/include/qt4/QtCore/qtconcurrentmap.h +QtCore/qglobal.h +- +QtCore/qtconcurrentmapkernel.h +- +QtCore/qtconcurrentreducekernel.h +- +QtCore/qtconcurrentfunctionwrappers.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtCore/qtconcurrentmapkernel.h +QtCore/qglobal.h +- +QtCore/qtconcurrentiteratekernel.h +- +QtCore/qtconcurrentreducekernel.h +- + +/usr/include/qt4/QtCore/qtconcurrentmedian.h +QtCore/qglobal.h +- +QtCore/qvector.h +- +QtCore/qalgorithms.h +- + +/usr/include/qt4/QtCore/qtconcurrentreducekernel.h +QtCore/qglobal.h +- +QtCore/qatomic.h +- +QtCore/qlist.h +- +QtCore/qmap.h +- +QtCore/qmutex.h +- +QtCore/qthread.h +- +QtCore/qthreadpool.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtCore/qtconcurrentresultstore.h +QtCore/qglobal.h +- +QtCore/qmap.h +- +QtCore/qdebug.h +- + +/usr/include/qt4/QtCore/qtconcurrentrun.h +QtCore/qglobal.h +- +QtCore/qtconcurrentrunbase.h +- +QtCore/qtconcurrentstoredfunctioncall.h +- + +/usr/include/qt4/QtCore/qtconcurrentrunbase.h +QtCore/qglobal.h +- +QtCore/qfuture.h +- +QtCore/qrunnable.h +- +QtCore/qthreadpool.h +- + +/usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +QtCore/qglobal.h +- +QtCore/qtconcurrentrunbase.h +- + +/usr/include/qt4/QtCore/qtconcurrentthreadengine.h +QtCore/qglobal.h +- +QtCore/qthreadpool.h +- +QtCore/qfuture.h +- +QtCore/qdebug.h +- +QtCore/qtconcurrentexception.h +- +QtCore/qwaitcondition.h +- +QtCore/qatomic.h +- +QtCore/qsemaphore.h +- + +/usr/include/qt4/QtCore/qtemporaryfile.h +QtCore/qiodevice.h +- +QtCore/qfile.h +- + +/usr/include/qt4/QtCore/qtextboundaryfinder.h +QtCore/qchar.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qtextcodec.h +QtCore/qstring.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtCore/qtextcodecplugin.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- +QtCore/qlist.h +- +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qtextstream.h +QtCore/qiodevice.h +- +QtCore/qstring.h +- +QtCore/qchar.h +- +QtCore/qlocale.h +- +QtCore/qscopedpointer.h +- +QtCore/qtextcodec.h +- +stdio.h +- + +/usr/include/qt4/QtCore/qthread.h +QtCore/qobject.h +- +limits.h +- + +/usr/include/qt4/QtCore/qthreadpool.h +QtCore/qglobal.h +- +QtCore/qthread.h +- +QtCore/qrunnable.h +- + +/usr/include/qt4/QtCore/qthreadstorage.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtCore/qtimeline.h +QtCore/qeasingcurve.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qtimer.h +QtCore/qbasictimer.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtCore/qtranslator.h +QtCore/qobject.h +- +QtCore/qbytearray.h +- + +/usr/include/qt4/QtCore/qurl.h +QtCore/qbytearray.h +- +QtCore/qobjectdefs.h +- +QtCore/qpair.h +- +QtCore/qstring.h +- +QtCore/qhash.h +- + +/usr/include/qt4/QtCore/quuid.h +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qvariant.h +QtCore/qatomic.h +- +QtCore/qbytearray.h +- +QtCore/qlist.h +- +QtCore/qmetatype.h +- +QtCore/qmap.h +- +QtCore/qhash.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtCore/qvariantanimation.h +QtCore/qeasingcurve.h +- +QtCore/qabstractanimation.h +- +QtCore/qvector.h +- +QtCore/qvariant.h +- +QtCore/qpair.h +- + +/usr/include/qt4/QtCore/qvarlengtharray.h +QtCore/qcontainerfwd.h +- +QtCore/qglobal.h +- +new +- + +/usr/include/qt4/QtCore/qvector.h +QtCore/qiterator.h +- +QtCore/qatomic.h +- +QtCore/qalgorithms.h +- +QtCore/qlist.h +- +iterator +- +vector +- +stdlib.h +- +string.h +- +QtCore/QPointF +- +QtCore/QPoint +- + +/usr/include/qt4/QtCore/qwaitcondition.h +QtCore/qglobal.h +- +limits.h +- + +/usr/include/qt4/QtCore/qxmlstream.h +QtCore/qiodevice.h +- +QtCore/qstring.h +- +QtCore/qvector.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtGui/QAction +qaction.h +/usr/include/qt4/QtGui/qaction.h + +/usr/include/qt4/QtGui/QApplication +qapplication.h +/usr/include/qt4/QtGui/qapplication.h + +/usr/include/qt4/QtGui/QButtonGroup +qbuttongroup.h +/usr/include/qt4/QtGui/qbuttongroup.h + +/usr/include/qt4/QtGui/QCleanlooksStyle +qcleanlooksstyle.h +/usr/include/qt4/QtGui/qcleanlooksstyle.h + +/usr/include/qt4/QtGui/QCommonStyle +qcommonstyle.h +/usr/include/qt4/QtGui/qcommonstyle.h + +/usr/include/qt4/QtGui/QDialog +qdialog.h +/usr/include/qt4/QtGui/qdialog.h + +/usr/include/qt4/QtGui/QFileDialog +qfiledialog.h +/usr/include/qt4/QtGui/qfiledialog.h + +/usr/include/qt4/QtGui/QFont +qfont.h +/usr/include/qt4/QtGui/qfont.h + +/usr/include/qt4/QtGui/QHeaderView +qheaderview.h +/usr/include/qt4/QtGui/qheaderview.h + +/usr/include/qt4/QtGui/QLayout +qlayout.h +/usr/include/qt4/QtGui/qlayout.h + +/usr/include/qt4/QtGui/QMatrix4x4 +qmatrix4x4.h +/usr/include/qt4/QtGui/qmatrix4x4.h + +/usr/include/qt4/QtGui/QPalette +qpalette.h +/usr/include/qt4/QtGui/qpalette.h + +/usr/include/qt4/QtGui/QPrinter +qprinter.h +/usr/include/qt4/QtGui/qprinter.h + +/usr/include/qt4/QtGui/QTransform +qtransform.h +/usr/include/qt4/QtGui/qtransform.h + +/usr/include/qt4/QtGui/QVector3D +qvector3d.h +/usr/include/qt4/QtGui/qvector3d.h + +/usr/include/qt4/QtGui/QWidget +qwidget.h +/usr/include/qt4/QtGui/qwidget.h + +/usr/include/qt4/QtGui/QtGui +QtCore/QtCore +- +qcdestyle.h +/usr/include/qt4/QtGui/qcdestyle.h +qcleanlooksstyle.h +/usr/include/qt4/QtGui/qcleanlooksstyle.h +qcommonstyle.h +/usr/include/qt4/QtGui/qcommonstyle.h +qgtkstyle.h +/usr/include/qt4/QtGui/qgtkstyle.h +qmotifstyle.h +/usr/include/qt4/QtGui/qmotifstyle.h +qplastiquestyle.h +/usr/include/qt4/QtGui/qplastiquestyle.h +qproxystyle.h +/usr/include/qt4/QtGui/qproxystyle.h +qs60style.h +/usr/include/qt4/QtGui/qs60style.h +qstyle.h +/usr/include/qt4/QtGui/qstyle.h +qstylefactory.h +/usr/include/qt4/QtGui/qstylefactory.h +qstyleoption.h +/usr/include/qt4/QtGui/qstyleoption.h +qstyleplugin.h +/usr/include/qt4/QtGui/qstyleplugin.h +qwindowscestyle.h +/usr/include/qt4/QtGui/qwindowscestyle.h +qwindowsmobilestyle.h +/usr/include/qt4/QtGui/qwindowsmobilestyle.h +qwindowsstyle.h +/usr/include/qt4/QtGui/qwindowsstyle.h +qwindowsvistastyle.h +/usr/include/qt4/QtGui/qwindowsvistastyle.h +qwindowsxpstyle.h +/usr/include/qt4/QtGui/qwindowsxpstyle.h +qsymbianevent.h +/usr/include/qt4/QtGui/qsymbianevent.h +qabstracttextdocumentlayout.h +/usr/include/qt4/QtGui/qabstracttextdocumentlayout.h +qfont.h +/usr/include/qt4/QtGui/qfont.h +qfontdatabase.h +/usr/include/qt4/QtGui/qfontdatabase.h +qfontinfo.h +/usr/include/qt4/QtGui/qfontinfo.h +qfontmetrics.h +/usr/include/qt4/QtGui/qfontmetrics.h +qstatictext.h +/usr/include/qt4/QtGui/qstatictext.h +qsyntaxhighlighter.h +/usr/include/qt4/QtGui/qsyntaxhighlighter.h +qtextcursor.h +/usr/include/qt4/QtGui/qtextcursor.h +qtextdocument.h +/usr/include/qt4/QtGui/qtextdocument.h +qtextdocumentfragment.h +/usr/include/qt4/QtGui/qtextdocumentfragment.h +qtextdocumentwriter.h +/usr/include/qt4/QtGui/qtextdocumentwriter.h +qtextformat.h +/usr/include/qt4/QtGui/qtextformat.h +qtextlayout.h +/usr/include/qt4/QtGui/qtextlayout.h +qtextlist.h +/usr/include/qt4/QtGui/qtextlist.h +qtextobject.h +/usr/include/qt4/QtGui/qtextobject.h +qtextoption.h +/usr/include/qt4/QtGui/qtextoption.h +qtexttable.h +/usr/include/qt4/QtGui/qtexttable.h +qaccessible.h +/usr/include/qt4/QtGui/qaccessible.h +qaccessible2.h +/usr/include/qt4/QtGui/qaccessible2.h +qaccessiblebridge.h +/usr/include/qt4/QtGui/qaccessiblebridge.h +qaccessibleobject.h +/usr/include/qt4/QtGui/qaccessibleobject.h +qaccessibleplugin.h +/usr/include/qt4/QtGui/qaccessibleplugin.h +qaccessiblewidget.h +/usr/include/qt4/QtGui/qaccessiblewidget.h +qgenericmatrix.h +/usr/include/qt4/QtGui/qgenericmatrix.h +qmatrix4x4.h +/usr/include/qt4/QtGui/qmatrix4x4.h +qquaternion.h +/usr/include/qt4/QtGui/qquaternion.h +qvector2d.h +/usr/include/qt4/QtGui/qvector2d.h +qvector3d.h +/usr/include/qt4/QtGui/qvector3d.h +qvector4d.h +/usr/include/qt4/QtGui/qvector4d.h +qbrush.h +/usr/include/qt4/QtGui/qbrush.h +qcolor.h +/usr/include/qt4/QtGui/qcolor.h +qcolormap.h +/usr/include/qt4/QtGui/qcolormap.h +qdrawutil.h +/usr/include/qt4/QtGui/qdrawutil.h +qmatrix.h +/usr/include/qt4/QtGui/qmatrix.h +qpaintdevice.h +/usr/include/qt4/QtGui/qpaintdevice.h +qpaintengine.h +/usr/include/qt4/QtGui/qpaintengine.h +qpainter.h +/usr/include/qt4/QtGui/qpainter.h +qpainterpath.h +/usr/include/qt4/QtGui/qpainterpath.h +qpen.h +/usr/include/qt4/QtGui/qpen.h +qpolygon.h +/usr/include/qt4/QtGui/qpolygon.h +qprintengine.h +/usr/include/qt4/QtGui/qprintengine.h +qprinter.h +/usr/include/qt4/QtGui/qprinter.h +qprinterinfo.h +/usr/include/qt4/QtGui/qprinterinfo.h +qregion.h +/usr/include/qt4/QtGui/qregion.h +qrgb.h +/usr/include/qt4/QtGui/qrgb.h +qstylepainter.h +/usr/include/qt4/QtGui/qstylepainter.h +qtransform.h +/usr/include/qt4/QtGui/qtransform.h +qwmatrix.h +/usr/include/qt4/QtGui/qwmatrix.h +qs60mainapplication.h +/usr/include/qt4/QtGui/qs60mainapplication.h +qs60mainappui.h +/usr/include/qt4/QtGui/qs60mainappui.h +qs60maindocument.h +/usr/include/qt4/QtGui/qs60maindocument.h +qbitmap.h +/usr/include/qt4/QtGui/qbitmap.h +qicon.h +/usr/include/qt4/QtGui/qicon.h +qiconengine.h +/usr/include/qt4/QtGui/qiconengine.h +qiconengineplugin.h +/usr/include/qt4/QtGui/qiconengineplugin.h +qimage.h +/usr/include/qt4/QtGui/qimage.h +qimageiohandler.h +/usr/include/qt4/QtGui/qimageiohandler.h +qimagereader.h +/usr/include/qt4/QtGui/qimagereader.h +qimagewriter.h +/usr/include/qt4/QtGui/qimagewriter.h +qmovie.h +/usr/include/qt4/QtGui/qmovie.h +qpicture.h +/usr/include/qt4/QtGui/qpicture.h +qpictureformatplugin.h +/usr/include/qt4/QtGui/qpictureformatplugin.h +qpixmap.h +/usr/include/qt4/QtGui/qpixmap.h +qpixmapcache.h +/usr/include/qt4/QtGui/qpixmapcache.h +qabstractbutton.h +/usr/include/qt4/QtGui/qabstractbutton.h +qabstractscrollarea.h +/usr/include/qt4/QtGui/qabstractscrollarea.h +qabstractslider.h +/usr/include/qt4/QtGui/qabstractslider.h +qabstractspinbox.h +/usr/include/qt4/QtGui/qabstractspinbox.h +qbuttongroup.h +/usr/include/qt4/QtGui/qbuttongroup.h +qcalendarwidget.h +/usr/include/qt4/QtGui/qcalendarwidget.h +qcheckbox.h +/usr/include/qt4/QtGui/qcheckbox.h +qcombobox.h +/usr/include/qt4/QtGui/qcombobox.h +qcommandlinkbutton.h +/usr/include/qt4/QtGui/qcommandlinkbutton.h +qdatetimeedit.h +/usr/include/qt4/QtGui/qdatetimeedit.h +qdial.h +/usr/include/qt4/QtGui/qdial.h +qdialogbuttonbox.h +/usr/include/qt4/QtGui/qdialogbuttonbox.h +qdockwidget.h +/usr/include/qt4/QtGui/qdockwidget.h +qfocusframe.h +/usr/include/qt4/QtGui/qfocusframe.h +qfontcombobox.h +/usr/include/qt4/QtGui/qfontcombobox.h +qframe.h +/usr/include/qt4/QtGui/qframe.h +qgroupbox.h +/usr/include/qt4/QtGui/qgroupbox.h +qlabel.h +/usr/include/qt4/QtGui/qlabel.h +qlcdnumber.h +/usr/include/qt4/QtGui/qlcdnumber.h +qlineedit.h +/usr/include/qt4/QtGui/qlineedit.h +qmainwindow.h +/usr/include/qt4/QtGui/qmainwindow.h +qmdiarea.h +/usr/include/qt4/QtGui/qmdiarea.h +qmdisubwindow.h +/usr/include/qt4/QtGui/qmdisubwindow.h +qmenu.h +/usr/include/qt4/QtGui/qmenu.h +qmenubar.h +/usr/include/qt4/QtGui/qmenubar.h +qmenudata.h +/usr/include/qt4/QtGui/qmenudata.h +qplaintextedit.h +/usr/include/qt4/QtGui/qplaintextedit.h +qprintpreviewwidget.h +/usr/include/qt4/QtGui/qprintpreviewwidget.h +qprogressbar.h +/usr/include/qt4/QtGui/qprogressbar.h +qpushbutton.h +/usr/include/qt4/QtGui/qpushbutton.h +qradiobutton.h +/usr/include/qt4/QtGui/qradiobutton.h +qrubberband.h +/usr/include/qt4/QtGui/qrubberband.h +qscrollarea.h +/usr/include/qt4/QtGui/qscrollarea.h +qscrollbar.h +/usr/include/qt4/QtGui/qscrollbar.h +qsizegrip.h +/usr/include/qt4/QtGui/qsizegrip.h +qslider.h +/usr/include/qt4/QtGui/qslider.h +qspinbox.h +/usr/include/qt4/QtGui/qspinbox.h +qsplashscreen.h +/usr/include/qt4/QtGui/qsplashscreen.h +qsplitter.h +/usr/include/qt4/QtGui/qsplitter.h +qstackedwidget.h +/usr/include/qt4/QtGui/qstackedwidget.h +qstatusbar.h +/usr/include/qt4/QtGui/qstatusbar.h +qtabbar.h +/usr/include/qt4/QtGui/qtabbar.h +qtabwidget.h +/usr/include/qt4/QtGui/qtabwidget.h +qtextbrowser.h +/usr/include/qt4/QtGui/qtextbrowser.h +qtextedit.h +/usr/include/qt4/QtGui/qtextedit.h +qtoolbar.h +/usr/include/qt4/QtGui/qtoolbar.h +qtoolbox.h +/usr/include/qt4/QtGui/qtoolbox.h +qtoolbutton.h +/usr/include/qt4/QtGui/qtoolbutton.h +qvalidator.h +/usr/include/qt4/QtGui/qvalidator.h +qworkspace.h +/usr/include/qt4/QtGui/qworkspace.h +qabstractpagesetupdialog.h +/usr/include/qt4/QtGui/qabstractpagesetupdialog.h +qabstractprintdialog.h +/usr/include/qt4/QtGui/qabstractprintdialog.h +qcolordialog.h +/usr/include/qt4/QtGui/qcolordialog.h +qdialog.h +/usr/include/qt4/QtGui/qdialog.h +qerrormessage.h +/usr/include/qt4/QtGui/qerrormessage.h +qfiledialog.h +/usr/include/qt4/QtGui/qfiledialog.h +qfilesystemmodel.h +/usr/include/qt4/QtGui/qfilesystemmodel.h +qfontdialog.h +/usr/include/qt4/QtGui/qfontdialog.h +qinputdialog.h +/usr/include/qt4/QtGui/qinputdialog.h +qmessagebox.h +/usr/include/qt4/QtGui/qmessagebox.h +qpagesetupdialog.h +/usr/include/qt4/QtGui/qpagesetupdialog.h +qprintdialog.h +/usr/include/qt4/QtGui/qprintdialog.h +qprintpreviewdialog.h +/usr/include/qt4/QtGui/qprintpreviewdialog.h +qprogressdialog.h +/usr/include/qt4/QtGui/qprogressdialog.h +qwizard.h +/usr/include/qt4/QtGui/qwizard.h +qgraphicsanchorlayout.h +/usr/include/qt4/QtGui/qgraphicsanchorlayout.h +qgraphicsgridlayout.h +/usr/include/qt4/QtGui/qgraphicsgridlayout.h +qgraphicsitem.h +/usr/include/qt4/QtGui/qgraphicsitem.h +qgraphicsitemanimation.h +/usr/include/qt4/QtGui/qgraphicsitemanimation.h +qgraphicslayout.h +/usr/include/qt4/QtGui/qgraphicslayout.h +qgraphicslayoutitem.h +/usr/include/qt4/QtGui/qgraphicslayoutitem.h +qgraphicslinearlayout.h +/usr/include/qt4/QtGui/qgraphicslinearlayout.h +qgraphicsproxywidget.h +/usr/include/qt4/QtGui/qgraphicsproxywidget.h +qgraphicsscene.h +/usr/include/qt4/QtGui/qgraphicsscene.h +qgraphicssceneevent.h +/usr/include/qt4/QtGui/qgraphicssceneevent.h +qgraphicstransform.h +/usr/include/qt4/QtGui/qgraphicstransform.h +qgraphicsview.h +/usr/include/qt4/QtGui/qgraphicsview.h +qgraphicswidget.h +/usr/include/qt4/QtGui/qgraphicswidget.h +qinputcontext.h +/usr/include/qt4/QtGui/qinputcontext.h +qinputcontextfactory.h +/usr/include/qt4/QtGui/qinputcontextfactory.h +qinputcontextplugin.h +/usr/include/qt4/QtGui/qinputcontextplugin.h +qvfbhdr.h +/usr/include/qt4/QtGui/qvfbhdr.h +qwsembedwidget.h +/usr/include/qt4/QtGui/qwsembedwidget.h +qaction.h +/usr/include/qt4/QtGui/qaction.h +qactiongroup.h +/usr/include/qt4/QtGui/qactiongroup.h +qapplication.h +/usr/include/qt4/QtGui/qapplication.h +qboxlayout.h +/usr/include/qt4/QtGui/qboxlayout.h +qclipboard.h +/usr/include/qt4/QtGui/qclipboard.h +qcursor.h +/usr/include/qt4/QtGui/qcursor.h +qdesktopwidget.h +/usr/include/qt4/QtGui/qdesktopwidget.h +qdrag.h +/usr/include/qt4/QtGui/qdrag.h +qevent.h +/usr/include/qt4/QtGui/qevent.h +qformlayout.h +/usr/include/qt4/QtGui/qformlayout.h +qgesture.h +/usr/include/qt4/QtGui/qgesture.h +qgesturerecognizer.h +/usr/include/qt4/QtGui/qgesturerecognizer.h +qgridlayout.h +/usr/include/qt4/QtGui/qgridlayout.h +qkeysequence.h +/usr/include/qt4/QtGui/qkeysequence.h +qlayout.h +/usr/include/qt4/QtGui/qlayout.h +qlayoutitem.h +/usr/include/qt4/QtGui/qlayoutitem.h +qmime.h +/usr/include/qt4/QtGui/qmime.h +qpalette.h +/usr/include/qt4/QtGui/qpalette.h +qsessionmanager.h +/usr/include/qt4/QtGui/qsessionmanager.h +qshortcut.h +/usr/include/qt4/QtGui/qshortcut.h +qsizepolicy.h +/usr/include/qt4/QtGui/qsizepolicy.h +qsound.h +/usr/include/qt4/QtGui/qsound.h +qstackedlayout.h +/usr/include/qt4/QtGui/qstackedlayout.h +qtooltip.h +/usr/include/qt4/QtGui/qtooltip.h +qwhatsthis.h +/usr/include/qt4/QtGui/qwhatsthis.h +qwidget.h +/usr/include/qt4/QtGui/qwidget.h +qwidgetaction.h +/usr/include/qt4/QtGui/qwidgetaction.h +qwindowdefs.h +/usr/include/qt4/QtGui/qwindowdefs.h +qabstractitemdelegate.h +/usr/include/qt4/QtGui/qabstractitemdelegate.h +qabstractitemview.h +/usr/include/qt4/QtGui/qabstractitemview.h +qabstractproxymodel.h +/usr/include/qt4/QtGui/qabstractproxymodel.h +qcolumnview.h +/usr/include/qt4/QtGui/qcolumnview.h +qdatawidgetmapper.h +/usr/include/qt4/QtGui/qdatawidgetmapper.h +qdirmodel.h +/usr/include/qt4/QtGui/qdirmodel.h +qfileiconprovider.h +/usr/include/qt4/QtGui/qfileiconprovider.h +qheaderview.h +/usr/include/qt4/QtGui/qheaderview.h +qitemdelegate.h +/usr/include/qt4/QtGui/qitemdelegate.h +qitemeditorfactory.h +/usr/include/qt4/QtGui/qitemeditorfactory.h +qitemselectionmodel.h +/usr/include/qt4/QtGui/qitemselectionmodel.h +qlistview.h +/usr/include/qt4/QtGui/qlistview.h +qlistwidget.h +/usr/include/qt4/QtGui/qlistwidget.h +qproxymodel.h +/usr/include/qt4/QtGui/qproxymodel.h +qsortfilterproxymodel.h +/usr/include/qt4/QtGui/qsortfilterproxymodel.h +qstandarditemmodel.h +/usr/include/qt4/QtGui/qstandarditemmodel.h +qstringlistmodel.h +/usr/include/qt4/QtGui/qstringlistmodel.h +qstyleditemdelegate.h +/usr/include/qt4/QtGui/qstyleditemdelegate.h +qtableview.h +/usr/include/qt4/QtGui/qtableview.h +qtablewidget.h +/usr/include/qt4/QtGui/qtablewidget.h +qtreeview.h +/usr/include/qt4/QtGui/qtreeview.h +qtreewidget.h +/usr/include/qt4/QtGui/qtreewidget.h +qtreewidgetitemiterator.h +/usr/include/qt4/QtGui/qtreewidgetitemiterator.h +qcompleter.h +/usr/include/qt4/QtGui/qcompleter.h +qdesktopservices.h +/usr/include/qt4/QtGui/qdesktopservices.h +qsystemtrayicon.h +/usr/include/qt4/QtGui/qsystemtrayicon.h +qundogroup.h +/usr/include/qt4/QtGui/qundogroup.h +qundostack.h +/usr/include/qt4/QtGui/qundostack.h +qundoview.h +/usr/include/qt4/QtGui/qundoview.h +qgraphicseffect.h +/usr/include/qt4/QtGui/qgraphicseffect.h +qkeyeventtransition.h +/usr/include/qt4/QtGui/qkeyeventtransition.h +qmouseeventtransition.h +/usr/include/qt4/QtGui/qmouseeventtransition.h + +/usr/include/qt4/QtGui/qabstractbutton.h +QtGui/qicon.h +- +QtGui/qkeysequence.h +- +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qabstractitemdelegate.h +QtCore/qobject.h +- +QtGui/qstyleoption.h +- + +/usr/include/qt4/QtGui/qabstractitemview.h +QtGui/qabstractscrollarea.h +- +QtCore/qabstractitemmodel.h +- +QtGui/qitemselectionmodel.h +- +QtGui/qabstractitemdelegate.h +- + +/usr/include/qt4/QtGui/qabstractpagesetupdialog.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qabstractprintdialog.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qabstractproxymodel.h +QtCore/qabstractitemmodel.h +- + +/usr/include/qt4/QtGui/qabstractscrollarea.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qabstractslider.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qabstractspinbox.h +QtGui/qwidget.h +- +QtGui/qvalidator.h +- + +/usr/include/qt4/QtGui/qabstracttextdocumentlayout.h +QtCore/qobject.h +- +QtGui/qtextlayout.h +- +QtGui/qtextdocument.h +- +QtGui/qtextcursor.h +- +QtGui/qpalette.h +- + +/usr/include/qt4/QtGui/qaccessible.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtCore/qrect.h +- +QtCore/qset.h +- +QtCore/qvector.h +- +QtCore/qvariant.h +- +QtGui/qcolor.h +- +QtGui/qevent.h +- + +/usr/include/qt4/QtGui/qaccessible2.h +QtGui/qaccessible.h +- + +/usr/include/qt4/QtGui/qaccessiblebridge.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- + +/usr/include/qt4/QtGui/qaccessibleobject.h +QtGui/qaccessible.h +- + +/usr/include/qt4/QtGui/qaccessibleplugin.h +QtGui/qaccessible.h +- +QtCore/qfactoryinterface.h +- + +/usr/include/qt4/QtGui/qaccessiblewidget.h +QtGui/qaccessibleobject.h +- + +/usr/include/qt4/QtGui/qaction.h +QtGui/qkeysequence.h +- +QtCore/qstring.h +- +QtGui/qwidget.h +- +QtCore/qvariant.h +- +QtGui/qicon.h +- +QtGui/qactiongroup.h +- + +/usr/include/qt4/QtGui/qactiongroup.h +QtGui/qaction.h +- + +/usr/include/qt4/QtGui/qapplication.h +QtCore/qcoreapplication.h +- +QtGui/qwindowdefs.h +- +QtCore/qpoint.h +- +QtCore/qsize.h +- +QtGui/qcursor.h +- +QtGui/qdesktopwidget.h +- +QtGui/qwidget.h +- +QtGui/qpalette.h +- +QtGui/qrgb.h +- +QtGui/qtransportauth_qws.h +- + +/usr/include/qt4/QtGui/qbitmap.h +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qboxlayout.h +QtGui/qlayout.h +- +QtGui/qwidget.h +- +limits.h +- + +/usr/include/qt4/QtGui/qbrush.h +QtCore/qpair.h +- +QtCore/qpoint.h +- +QtCore/qvector.h +- +QtCore/qscopedpointer.h +- +QtGui/qcolor.h +- +QtGui/qmatrix.h +- +QtGui/qtransform.h +- +QtGui/qimage.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qbuttongroup.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qcalendarwidget.h +QtGui/qwidget.h +- +QtCore/qdatetime.h +- + +/usr/include/qt4/QtGui/qcdestyle.h +QtGui/qmotifstyle.h +- + +/usr/include/qt4/QtGui/qcheckbox.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qcleanlooksstyle.h +QtGui/qwindowsstyle.h +- + +/usr/include/qt4/QtGui/qclipboard.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qcolor.h +QtGui/qrgb.h +- +QtCore/qnamespace.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtGui/qcolordialog.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qcolormap.h +QtCore/qatomic.h +- +QtGui/qrgb.h +- +QtCore/qvector.h +- +QtGui/qwindowdefs.h +- + +/usr/include/qt4/QtGui/qcolumnview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qcombobox.h +QtGui/qwidget.h +- +QtGui/qabstractitemdelegate.h +- +QtCore/qabstractitemmodel.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qcommandlinkbutton.h +QtGui/qpushbutton.h +- + +/usr/include/qt4/QtGui/qcommonstyle.h +QtGui/qstyle.h +- + +/usr/include/qt4/QtGui/qcompleter.h +QtCore/qobject.h +- +QtCore/qpoint.h +- +QtCore/qstring.h +- +QtCore/qabstractitemmodel.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qcursor.h +QtCore/qpoint.h +- +QtGui/qwindowdefs.h +- + +/usr/include/qt4/QtGui/qdatawidgetmapper.h +QtCore/qobject.h +/usr/include/qt4/QtGui/QtCore/qobject.h + +/usr/include/qt4/QtGui/qdatetimeedit.h +QtCore/qdatetime.h +- +QtCore/qvariant.h +- +QtGui/qabstractspinbox.h +- + +/usr/include/qt4/QtGui/qdesktopservices.h +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qdesktopwidget.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qdial.h +QtGui/qabstractslider.h +- + +/usr/include/qt4/QtGui/qdialog.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qdialogbuttonbox.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qdirmodel.h +QtCore/qabstractitemmodel.h +- +QtCore/qdir.h +- +QtGui/qfileiconprovider.h +- + +/usr/include/qt4/QtGui/qdockwidget.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qdrag.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qdrawutil.h +QtCore/qnamespace.h +- +QtCore/qstring.h +- +QtCore/qmargins.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qerrormessage.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qevent.h +QtGui/qwindowdefs.h +- +QtCore/qobject.h +- +QtGui/qregion.h +- +QtCore/qnamespace.h +- +QtCore/qstring.h +- +QtGui/qkeysequence.h +- +QtCore/qcoreevent.h +- +QtGui/qmime.h +- +QtGui/qdrag.h +- +QtCore/qvariant.h +- +QtCore/qmap.h +- +QtCore/qset.h +- + +/usr/include/qt4/QtGui/qfiledialog.h +QtCore/qdir.h +- +QtCore/qstring.h +- +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qfileiconprovider.h +QtCore/qfileinfo.h +- +QtCore/qscopedpointer.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qfilesystemmodel.h +QtCore/qabstractitemmodel.h +- +QtCore/qpair.h +- +QtCore/qdir.h +- +QtGui/qicon.h +- +QtCore/qdiriterator.h +- + +/usr/include/qt4/QtGui/qfocusframe.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qfont.h +QtGui/qwindowdefs.h +- +QtCore/qstring.h +- +QtCore/qsharedpointer.h +- + +/usr/include/qt4/QtGui/qfontcombobox.h +QtGui/qcombobox.h +- +QtGui/qfontdatabase.h +- + +/usr/include/qt4/QtGui/qfontdatabase.h +QtGui/qwindowdefs.h +- +QtCore/qstring.h +- +QtGui/qfont.h +- +QtCore/qstringlist.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtGui/qfontdialog.h +QtGui/qwindowdefs.h +- +QtGui/qdialog.h +- +QtGui/qfont.h +- + +/usr/include/qt4/QtGui/qfontinfo.h +QtGui/qfont.h +- +QtCore/qsharedpointer.h +- + +/usr/include/qt4/QtGui/qfontmetrics.h +QtGui/qfont.h +- +QtCore/qsharedpointer.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qformlayout.h +QtGui/QLayout +- + +/usr/include/qt4/QtGui/qframe.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qgenericmatrix.h +QtCore/qmetatype.h +- +QtCore/qdebug.h +- +QtCore/qdatastream.h +- + +/usr/include/qt4/QtGui/qgesture.h +QtCore/qobject.h +- +QtCore/qlist.h +- +QtCore/qdatetime.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- +QtCore/qmetatype.h +- + +/usr/include/qt4/QtGui/qgesturerecognizer.h +QtCore/qglobal.h +- +QtCore/qnamespace.h +- + +/usr/include/qt4/QtGui/qgraphicsanchorlayout.h +QtGui/qgraphicsitem.h +- +QtGui/qgraphicslayout.h +- + +/usr/include/qt4/QtGui/qgraphicseffect.h +QtCore/qobject.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- +QtGui/qcolor.h +- +QtGui/qbrush.h +- + +/usr/include/qt4/QtGui/qgraphicsgridlayout.h +QtGui/qgraphicsitem.h +- +QtGui/qgraphicslayout.h +- + +/usr/include/qt4/QtGui/qgraphicsitem.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtCore/qvariant.h +- +QtCore/qrect.h +- +QtCore/qscopedpointer.h +- +QtGui/qpainterpath.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qgraphicsitemanimation.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qgraphicslayout.h +QtGui/qgraphicslayoutitem.h +- + +/usr/include/qt4/QtGui/qgraphicslayoutitem.h +QtCore/qscopedpointer.h +- +QtGui/qsizepolicy.h +- +QtGui/qevent.h +- + +/usr/include/qt4/QtGui/qgraphicslinearlayout.h +QtGui/qgraphicsitem.h +- +QtGui/qgraphicslayout.h +- + +/usr/include/qt4/QtGui/qgraphicsproxywidget.h +QtGui/qgraphicswidget.h +- + +/usr/include/qt4/QtGui/qgraphicsscene.h +QtCore/qobject.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- +QtGui/qbrush.h +- +QtGui/qfont.h +- +QtGui/qtransform.h +- +QtGui/qmatrix.h +- +QtGui/qpen.h +- + +/usr/include/qt4/QtGui/qgraphicssceneevent.h +QtCore/qcoreevent.h +- +QtCore/qpoint.h +- +QtCore/qscopedpointer.h +- +QtCore/qrect.h +- +QtGui/qpolygon.h +- +QtCore/qset.h +- +QtCore/qhash.h +- + +/usr/include/qt4/QtGui/qgraphicstransform.h +QtCore/QObject +- +QtGui/QVector3D +- +QtGui/QTransform +- +QtGui/QMatrix4x4 +- + +/usr/include/qt4/QtGui/qgraphicsview.h +QtCore/qmetatype.h +- +QtGui/qpainter.h +- +QtGui/qscrollarea.h +- +QtGui/qgraphicsscene.h +- + +/usr/include/qt4/QtGui/qgraphicswidget.h +QtGui/qfont.h +- +QtGui/qgraphicslayoutitem.h +- +QtGui/qgraphicsitem.h +- +QtGui/qpalette.h +- + +/usr/include/qt4/QtGui/qgridlayout.h +QtGui/qlayout.h +- +QtGui/qwidget.h +- +limits.h +- + +/usr/include/qt4/QtGui/qgroupbox.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qgtkstyle.h +QtGui/QCleanlooksStyle +- +QtGui/QPalette +- +QtGui/QFont +- +QtGui/QFileDialog +- + +/usr/include/qt4/QtGui/qheaderview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qicon.h +QtCore/qglobal.h +- +QtCore/qsize.h +- +QtCore/qlist.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qiconengine.h +QtCore/qglobal.h +- +QtCore/qlist.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qiconengineplugin.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- + +/usr/include/qt4/QtGui/qimage.h +QtGui/qtransform.h +- +QtGui/qpaintdevice.h +- +QtGui/qrgb.h +- +QtCore/qbytearray.h +- +QtCore/qrect.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qimageiohandler.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtGui/qimagereader.h +QtCore/qbytearray.h +- +QtGui/qimage.h +- +QtGui/qimageiohandler.h +- + +/usr/include/qt4/QtGui/qimagewriter.h +QtCore/qbytearray.h +- +QtCore/qlist.h +- +QtGui/qimageiohandler.h +- + +/usr/include/qt4/QtGui/qinputcontext.h +QtCore/qobject.h +- +QtCore/qglobal.h +- +QtGui/qevent.h +- +QtCore/qstring.h +- +QtCore/qlist.h +- +QtGui/qaction.h +- + +/usr/include/qt4/QtGui/qinputcontextfactory.h +QtCore/qstringlist.h +- + +/usr/include/qt4/QtGui/qinputcontextplugin.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtGui/qinputdialog.h +QtGui/qdialog.h +- +QtCore/qstring.h +- +QtGui/qlineedit.h +- + +/usr/include/qt4/QtGui/qitemdelegate.h +QtGui/qabstractitemdelegate.h +- +QtCore/qstring.h +- +QtGui/qpixmap.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qitemeditorfactory.h +QtCore/qmetaobject.h +- +QtCore/qbytearray.h +- +QtCore/qhash.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qitemselectionmodel.h +QtCore/qset.h +- +QtCore/qvector.h +- +QtCore/qlist.h +- +QtCore/qabstractitemmodel.h +- + +/usr/include/qt4/QtGui/qkeyeventtransition.h +QtCore/qeventtransition.h +- + +/usr/include/qt4/QtGui/qkeysequence.h +QtCore/qnamespace.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qlabel.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qlayout.h +QtCore/qobject.h +- +QtGui/qlayoutitem.h +- +QtGui/qsizepolicy.h +- +QtCore/qrect.h +- +QtCore/qmargins.h +- +limits.h +- +QtGui/qboxlayout.h +- +QtGui/qgridlayout.h +- + +/usr/include/qt4/QtGui/qlayoutitem.h +QtGui/qsizepolicy.h +- +QtCore/qrect.h +- +limits.h +- + +/usr/include/qt4/QtGui/qlcdnumber.h +QtGui/qframe.h +- +QtCore/qbitarray.h +- + +/usr/include/qt4/QtGui/qlineedit.h +QtGui/qframe.h +- +QtCore/qstring.h +- +QtCore/qmargins.h +- + +/usr/include/qt4/QtGui/qlistview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qlistwidget.h +QtGui/qlistview.h +- +QtCore/qvariant.h +- +QtCore/qvector.h +- +QtGui/qitemselectionmodel.h +- + +/usr/include/qt4/QtGui/qmacdefines_mac.h +QtCore/qglobal.h +- +Cocoa/Cocoa.h +- + +/usr/include/qt4/QtGui/qmainwindow.h +QtGui/qwidget.h +- +QtGui/qtabwidget.h +- + +/usr/include/qt4/QtGui/qmatrix.h +QtGui/qpolygon.h +- +QtGui/qregion.h +- +QtGui/qwindowdefs.h +- +QtCore/qline.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- +QtGui/qwmatrix.h +- + +/usr/include/qt4/QtGui/qmatrix4x4.h +QtGui/qvector3d.h +- +QtGui/qvector4d.h +- +QtGui/qquaternion.h +- +QtGui/qgenericmatrix.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qmdiarea.h +QtGui/qabstractscrollarea.h +- +QtGui/qtabwidget.h +- + +/usr/include/qt4/QtGui/qmdisubwindow.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qmenu.h +QtGui/qwidget.h +- +QtCore/qstring.h +- +QtGui/qicon.h +- +QtGui/qaction.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qmenubar.h +QtGui/qmenu.h +- + +/usr/include/qt4/QtGui/qmenudata.h +QtCore/qglobal.h +- +QtGui/qaction.h +- + +/usr/include/qt4/QtGui/qmessagebox.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qmime.h +QtCore/qmimedata.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qmotifstyle.h +QtGui/qcommonstyle.h +- +QtCore/qpointer.h +- + +/usr/include/qt4/QtGui/qmouseeventtransition.h +QtCore/qeventtransition.h +- + +/usr/include/qt4/QtGui/qmovie.h +QtCore/qobject.h +- +QtCore/qbytearray.h +- +QtCore/qlist.h +- +QtCore/qobject.h +- +QtGui/qimagereader.h +- +QtGui/qimage.h +- +QtGui/qpixmap.h +- + +/usr/include/qt4/QtGui/qpagesetupdialog.h +QtGui/qabstractpagesetupdialog.h +- + +/usr/include/qt4/QtGui/qpaintdevice.h +QtGui/qwindowdefs.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qpaintengine.h +QtCore/qnamespace.h +- +QtCore/qobjectdefs.h +- +QtCore/qscopedpointer.h +- +QtGui/qpainter.h +- + +/usr/include/qt4/QtGui/qpainter.h +QtCore/qnamespace.h +- +QtCore/qrect.h +- +QtCore/qpoint.h +- +QtCore/qscopedpointer.h +- +QtGui/qpixmap.h +- +QtGui/qimage.h +- +QtGui/qtextoption.h +- +QtGui/qdrawutil.h +- +QtGui/qpolygon.h +- +QtGui/qpen.h +- +QtGui/qbrush.h +- +QtGui/qmatrix.h +- +QtGui/qtransform.h +- +QtGui/qfontinfo.h +- +QtGui/qfontmetrics.h +- + +/usr/include/qt4/QtGui/qpainterpath.h +QtGui/qmatrix.h +- +QtCore/qglobal.h +- +QtCore/qrect.h +- +QtCore/qline.h +- +QtCore/qvector.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtGui/qpalette.h +QtGui/qwindowdefs.h +- +QtGui/qcolor.h +- +QtGui/qbrush.h +- + +/usr/include/qt4/QtGui/qpen.h +QtGui/qcolor.h +- +QtGui/qbrush.h +- + +/usr/include/qt4/QtGui/qpicture.h +QtCore/qstringlist.h +- +QtCore/qsharedpointer.h +- +QtGui/qpaintdevice.h +- + +/usr/include/qt4/QtGui/qpictureformatplugin.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- + +/usr/include/qt4/QtGui/qpixmap.h +QtGui/qpaintdevice.h +- +QtGui/qcolor.h +- +QtCore/qnamespace.h +- +QtCore/qstring.h +- +QtCore/qsharedpointer.h +- +QtGui/qimage.h +- +QtGui/qtransform.h +- + +/usr/include/qt4/QtGui/qpixmapcache.h +QtGui/qpixmap.h +- +QtCore/qpair.h +- + +/usr/include/qt4/QtGui/qplaintextedit.h +QtGui/qtextedit.h +- +QtGui/qabstractscrollarea.h +- +QtGui/qtextdocument.h +- +QtGui/qtextoption.h +- +QtGui/qtextcursor.h +- +QtGui/qtextformat.h +- +QtGui/qabstracttextdocumentlayout.h +- + +/usr/include/qt4/QtGui/qplastiquestyle.h +QtGui/qwindowsstyle.h +- + +/usr/include/qt4/QtGui/qpolygon.h +QtCore/qvector.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qprintdialog.h +QtGui/qabstractprintdialog.h +- + +/usr/include/qt4/QtGui/qprintengine.h +QtCore/qvariant.h +- +QtGui/qprinter.h +- + +/usr/include/qt4/QtGui/qprinter.h +QtCore/qstring.h +- +QtCore/qscopedpointer.h +- +QtGui/qpaintdevice.h +- + +/usr/include/qt4/QtGui/qprinterinfo.h +QtGui/QPrinter +- +QtCore/QList +- + +/usr/include/qt4/QtGui/qprintpreviewdialog.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qprintpreviewwidget.h +QtGui/qwidget.h +- +QtGui/qprinter.h +- + +/usr/include/qt4/QtGui/qprogressbar.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qprogressdialog.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qproxymodel.h +QtCore/qabstractitemmodel.h +- + +/usr/include/qt4/QtGui/qproxystyle.h +QtGui/QCommonStyle +- + +/usr/include/qt4/QtGui/qpushbutton.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qquaternion.h +QtGui/qvector3d.h +- +QtGui/qvector4d.h +- + +/usr/include/qt4/QtGui/qradiobutton.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qregion.h +QtCore/qatomic.h +- +QtCore/qrect.h +- +QtGui/qwindowdefs.h +- +QtCore/qdatastream.h +- + +/usr/include/qt4/QtGui/qrgb.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtGui/qrubberband.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qs60mainapplication.h +QtCore/qglobal.h +- +aknapp.h +- +eikapp.h +- + +/usr/include/qt4/QtGui/qs60mainappui.h +QtCore/qglobal.h +- +aknappui.h +- +eikappui.h +- + +/usr/include/qt4/QtGui/qs60maindocument.h +QtCore/qglobal.h +- +AknDoc.h +- +eikdoc.h +- + +/usr/include/qt4/QtGui/qs60style.h +QtGui/qcommonstyle.h +- + +/usr/include/qt4/QtGui/qscrollarea.h +QtGui/qabstractscrollarea.h +- + +/usr/include/qt4/QtGui/qscrollbar.h +QtGui/qwidget.h +- +QtGui/qabstractslider.h +- + +/usr/include/qt4/QtGui/qsessionmanager.h +QtCore/qobject.h +- +QtGui/qwindowdefs.h +- +QtCore/qstring.h +- +QtCore/qstringlist.h +- + +/usr/include/qt4/QtGui/qshortcut.h +QtGui/qwidget.h +- +QtGui/qkeysequence.h +- + +/usr/include/qt4/QtGui/qsizegrip.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qsizepolicy.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qslider.h +QtGui/qabstractslider.h +- + +/usr/include/qt4/QtGui/qsortfilterproxymodel.h +QtGui/qabstractproxymodel.h +- +QtCore/qregexp.h +- + +/usr/include/qt4/QtGui/qsound.h +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qspinbox.h +QtGui/qabstractspinbox.h +- + +/usr/include/qt4/QtGui/qsplashscreen.h +QtGui/qpixmap.h +- +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qsplitter.h +QtGui/qframe.h +- +QtGui/qsizepolicy.h +- + +/usr/include/qt4/QtGui/qstackedlayout.h +QtGui/qlayout.h +- + +/usr/include/qt4/QtGui/qstackedwidget.h +QtGui/qframe.h +- + +/usr/include/qt4/QtGui/qstandarditemmodel.h +QtCore/qabstractitemmodel.h +- +QtGui/qbrush.h +- +QtGui/qfont.h +- +QtGui/qicon.h +- +QtCore/qdatastream.h +- + +/usr/include/qt4/QtGui/qstatictext.h +QtCore/qsize.h +- +QtCore/qstring.h +- +QtCore/qmetatype.h +- +QtGui/qtransform.h +- +QtGui/qfont.h +- +QtGui/qtextoption.h +- + +/usr/include/qt4/QtGui/qstatusbar.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qstringlistmodel.h +QtCore/qstringlist.h +- +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qstyle.h +QtCore/qobject.h +- +QtCore/qrect.h +- +QtCore/qsize.h +- +QtGui/qicon.h +- +QtGui/qpixmap.h +- +QtGui/qpalette.h +- +QtGui/qsizepolicy.h +- + +/usr/include/qt4/QtGui/qstyleditemdelegate.h +QtGui/qabstractitemdelegate.h +- +QtCore/qstring.h +- +QtGui/qpixmap.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtGui/qstylefactory.h +QtCore/qstringlist.h +- + +/usr/include/qt4/QtGui/qstyleoption.h +QtCore/qvariant.h +- +QtGui/qabstractspinbox.h +- +QtGui/qicon.h +- +QtGui/qmatrix.h +- +QtGui/qslider.h +- +QtGui/qstyle.h +- +QtGui/qtabbar.h +- +QtGui/qtabwidget.h +- +QtGui/qrubberband.h +- +QtGui/qframe.h +- +QtCore/qabstractitemmodel.h +- + +/usr/include/qt4/QtGui/qstylepainter.h +QtGui/qpainter.h +- +QtGui/qstyle.h +- +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qstyleplugin.h +QtCore/qplugin.h +- +QtCore/qfactoryinterface.h +- + +/usr/include/qt4/QtGui/qsymbianevent.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtGui/qsyntaxhighlighter.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtGui/qtextobject.h +- + +/usr/include/qt4/QtGui/qsystemtrayicon.h +QtCore/qobject.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qtabbar.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qtableview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qtablewidget.h +QtGui/qtableview.h +- +QtCore/qvariant.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtGui/qtabwidget.h +QtGui/qwidget.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qtextbrowser.h +QtGui/qtextedit.h +- +QtCore/qurl.h +- + +/usr/include/qt4/QtGui/qtextcursor.h +QtCore/qstring.h +- +QtCore/qshareddata.h +- +QtGui/qtextformat.h +- + +/usr/include/qt4/QtGui/qtextdocument.h +QtCore/qobject.h +- +QtCore/qsize.h +- +QtCore/qrect.h +- +QtGui/qfont.h +- + +/usr/include/qt4/QtGui/qtextdocumentfragment.h +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qtextdocumentwriter.h +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qtextedit.h +QtGui/qabstractscrollarea.h +- +QtGui/qtextdocument.h +- +QtGui/qtextoption.h +- +QtGui/qtextcursor.h +- +QtGui/qtextformat.h +- +QtGui/qtextobject.h +- +QtGui/qtextlayout.h +- + +/usr/include/qt4/QtGui/qtextformat.h +QtGui/qcolor.h +- +QtGui/qfont.h +- +QtCore/qshareddata.h +- +QtCore/qvector.h +- +QtCore/qvariant.h +- +QtGui/qpen.h +- +QtGui/qbrush.h +- +QtGui/qtextoption.h +- + +/usr/include/qt4/QtGui/qtextlayout.h +QtCore/qstring.h +- +QtCore/qnamespace.h +- +QtCore/qrect.h +- +QtCore/qvector.h +- +QtGui/qcolor.h +- +QtCore/qobject.h +- +QtGui/qevent.h +- +QtGui/qtextformat.h +- + +/usr/include/qt4/QtGui/qtextlist.h +QtGui/qtextobject.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtGui/qtextobject.h +QtCore/qobject.h +- +QtGui/qtextformat.h +- + +/usr/include/qt4/QtGui/qtextoption.h +QtCore/qnamespace.h +- +QtCore/qchar.h +- +QtCore/qmetatype.h +- + +/usr/include/qt4/QtGui/qtexttable.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtGui/qtextobject.h +- + +/usr/include/qt4/QtGui/qtoolbar.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qtoolbox.h +QtGui/qframe.h +- +QtGui/qicon.h +- + +/usr/include/qt4/QtGui/qtoolbutton.h +QtGui/qabstractbutton.h +- + +/usr/include/qt4/QtGui/qtooltip.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qtransform.h +QtGui/qmatrix.h +- +QtGui/qpainterpath.h +- +QtGui/qpolygon.h +- +QtGui/qregion.h +- +QtGui/qwindowdefs.h +- +QtCore/qline.h +- +QtCore/qpoint.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qtransportauth_qws.h +QtCore/qglobal.h +- +QtCore/qobject.h +- +QtCore/qhash.h +- +QtCore/qstring.h +- +QtCore/qbuffer.h +- +QtCore/qpointer.h +- +sys/types.h +- + +/usr/include/qt4/QtGui/qtreeview.h +QtGui/qabstractitemview.h +- + +/usr/include/qt4/QtGui/qtreewidget.h +QtGui/qtreeview.h +- +QtGui/qtreewidgetitemiterator.h +- +QtCore/qvariant.h +- +QtCore/qvector.h +- + +/usr/include/qt4/QtGui/qtreewidgetitemiterator.h +QtCore/qglobal.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtGui/qundogroup.h +QtCore/qobject.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qundostack.h +QtCore/qobject.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qundoview.h +QtGui/qlistview.h +- +QtCore/qstring.h +- + +/usr/include/qt4/QtGui/qvalidator.h +QtCore/qobject.h +- +QtCore/qstring.h +- +QtCore/qregexp.h +- +QtCore/qlocale.h +- + +/usr/include/qt4/QtGui/qvector2d.h +QtCore/qpoint.h +- +QtCore/qmetatype.h +- + +/usr/include/qt4/QtGui/qvector3d.h +QtCore/qpoint.h +- +QtCore/qmetatype.h +- + +/usr/include/qt4/QtGui/qvector4d.h +QtCore/qpoint.h +- +QtCore/qmetatype.h +- + +/usr/include/qt4/QtGui/qvfbhdr.h +QtGui/qcolor.h +- +QtGui/qwindowdefs.h +- +QtCore/qrect.h +- + +/usr/include/qt4/QtGui/qwhatsthis.h +QtCore/qobject.h +- +QtGui/qcursor.h +- + +/usr/include/qt4/QtGui/qwidget.h +QtGui/qwindowdefs.h +- +QtCore/qobject.h +- +QtCore/qmargins.h +- +QtGui/qpaintdevice.h +- +QtGui/qpalette.h +- +QtGui/qfont.h +- +QtGui/qfontmetrics.h +- +QtGui/qfontinfo.h +- +QtGui/qsizepolicy.h +- +QtGui/qregion.h +- +QtGui/qbrush.h +- +QtGui/qcursor.h +- +QtGui/qkeysequence.h +- +QtGui/qevent.h +- + +/usr/include/qt4/QtGui/qwidgetaction.h +QtGui/qaction.h +- + +/usr/include/qt4/QtGui/qwindowdefs.h +QtCore/qobjectdefs.h +- +QtCore/qnamespace.h +- +QtGui/qmacdefines_mac.h +- +QtGui/qwindowdefs_win.h +- + +/usr/include/qt4/QtGui/qwindowdefs_win.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtGui/qwindowscestyle.h +QtGui/qwindowsstyle.h +- + +/usr/include/qt4/QtGui/qwindowsmobilestyle.h +QtGui/qwindowsstyle.h +- + +/usr/include/qt4/QtGui/qwindowsstyle.h +QtGui/qcommonstyle.h +- + +/usr/include/qt4/QtGui/qwindowsvistastyle.h +QtGui/qwindowsxpstyle.h +- + +/usr/include/qt4/QtGui/qwindowsxpstyle.h +QtGui/qwindowsstyle.h +- + +/usr/include/qt4/QtGui/qwizard.h +QtGui/qdialog.h +- + +/usr/include/qt4/QtGui/qwmatrix.h +QtGui/qmatrix.h +- + +/usr/include/qt4/QtGui/qworkspace.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtGui/qwsembedwidget.h +QtGui/qwidget.h +- + +/usr/include/qt4/QtNetwork/QNetworkAccessManager +qnetworkaccessmanager.h +/usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + +/usr/include/qt4/QtNetwork/QNetworkCookie +qnetworkcookie.h +/usr/include/qt4/QtNetwork/qnetworkcookie.h + +/usr/include/qt4/QtNetwork/QNetworkCookieJar +qnetworkcookiejar.h +/usr/include/qt4/QtNetwork/qnetworkcookiejar.h + +/usr/include/qt4/QtNetwork/QNetworkRequest +qnetworkrequest.h +/usr/include/qt4/QtNetwork/qnetworkrequest.h + +/usr/include/qt4/QtNetwork/QtNetwork +QtCore/QtCore +- +qnetworkconfigmanager.h +/usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +qnetworkconfiguration.h +/usr/include/qt4/QtNetwork/qnetworkconfiguration.h +qnetworksession.h +/usr/include/qt4/QtNetwork/qnetworksession.h +qabstractnetworkcache.h +/usr/include/qt4/QtNetwork/qabstractnetworkcache.h +qftp.h +/usr/include/qt4/QtNetwork/qftp.h +qhttp.h +/usr/include/qt4/QtNetwork/qhttp.h +qnetworkaccessmanager.h +/usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +qnetworkcookie.h +/usr/include/qt4/QtNetwork/qnetworkcookie.h +qnetworkcookiejar.h +/usr/include/qt4/QtNetwork/qnetworkcookiejar.h +qnetworkdiskcache.h +/usr/include/qt4/QtNetwork/qnetworkdiskcache.h +qnetworkreply.h +/usr/include/qt4/QtNetwork/qnetworkreply.h +qnetworkrequest.h +/usr/include/qt4/QtNetwork/qnetworkrequest.h +qssl.h +/usr/include/qt4/QtNetwork/qssl.h +qsslcertificate.h +/usr/include/qt4/QtNetwork/qsslcertificate.h +qsslcipher.h +/usr/include/qt4/QtNetwork/qsslcipher.h +qsslconfiguration.h +/usr/include/qt4/QtNetwork/qsslconfiguration.h +qsslerror.h +/usr/include/qt4/QtNetwork/qsslerror.h +qsslkey.h +/usr/include/qt4/QtNetwork/qsslkey.h +qsslsocket.h +/usr/include/qt4/QtNetwork/qsslsocket.h +qauthenticator.h +/usr/include/qt4/QtNetwork/qauthenticator.h +qhostaddress.h +/usr/include/qt4/QtNetwork/qhostaddress.h +qhostinfo.h +/usr/include/qt4/QtNetwork/qhostinfo.h +qnetworkinterface.h +/usr/include/qt4/QtNetwork/qnetworkinterface.h +qnetworkproxy.h +/usr/include/qt4/QtNetwork/qnetworkproxy.h +qurlinfo.h +/usr/include/qt4/QtNetwork/qurlinfo.h +qabstractsocket.h +/usr/include/qt4/QtNetwork/qabstractsocket.h +qlocalserver.h +/usr/include/qt4/QtNetwork/qlocalserver.h +qlocalsocket.h +/usr/include/qt4/QtNetwork/qlocalsocket.h +qtcpserver.h +/usr/include/qt4/QtNetwork/qtcpserver.h +qtcpsocket.h +/usr/include/qt4/QtNetwork/qtcpsocket.h +qudpsocket.h +/usr/include/qt4/QtNetwork/qudpsocket.h + +/usr/include/qt4/QtNetwork/qabstractnetworkcache.h +QtCore/qobject.h +- +QtCore/qshareddata.h +- +QtCore/qpair.h +- +QtNetwork/qnetworkrequest.h +- + +/usr/include/qt4/QtNetwork/qabstractsocket.h +QtCore/qiodevice.h +- +QtCore/qobject.h +- +QtCore/qdebug.h +- + +/usr/include/qt4/QtNetwork/qauthenticator.h +QtCore/qstring.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtNetwork/qftp.h +QtCore/qstring.h +- +QtNetwork/qurlinfo.h +- +QtCore/qobject.h +- + +/usr/include/qt4/QtNetwork/qhostaddress.h +QtCore/qpair.h +- +QtCore/qstring.h +- +QtCore/qscopedpointer.h +- +QtNetwork/qabstractsocket.h +- + +/usr/include/qt4/QtNetwork/qhostinfo.h +QtCore/qlist.h +- +QtCore/qscopedpointer.h +- +QtNetwork/qhostaddress.h +- + +/usr/include/qt4/QtNetwork/qhttp.h +QtCore/qobject.h +- +QtCore/qstringlist.h +- +QtCore/qmap.h +- +QtCore/qpair.h +- +QtCore/qscopedpointer.h +- + +/usr/include/qt4/QtNetwork/qlocalserver.h +QtNetwork/qabstractsocket.h +- + +/usr/include/qt4/QtNetwork/qlocalsocket.h +QtCore/qiodevice.h +- +QtNetwork/qabstractsocket.h +- +QtCore/qdebug.h +- + +/usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +QtCore/QObject +- + +/usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +qmobilityglobal.h +/usr/include/qt4/QtNetwork/qmobilityglobal.h +QtCore/qobject.h +- +QtNetwork/qnetworkconfiguration.h +- + +/usr/include/qt4/QtNetwork/qnetworkconfiguration.h +QtCore/qglobal.h +- +qmobilityglobal.h +/usr/include/qt4/QtNetwork/qmobilityglobal.h +QtCore/qshareddata.h +- +QtCore/qstring.h +- +QtCore/qlist.h +- + +/usr/include/qt4/QtNetwork/qnetworkcookie.h +QtCore/QSharedDataPointer +- +QtCore/QList +- +QtCore/QMetaType +- +QtCore/QObject +- +QtNetwork/QNetworkCookieJar +- + +/usr/include/qt4/QtNetwork/qnetworkcookiejar.h +QtCore/QObject +- +QtCore/QUrl +- +QtNetwork/QNetworkCookie +- + +/usr/include/qt4/QtNetwork/qnetworkdiskcache.h +QtNetwork/qabstractnetworkcache.h +- + +/usr/include/qt4/QtNetwork/qnetworkinterface.h +QtCore/qshareddata.h +- +QtCore/qscopedpointer.h +- +QtNetwork/qhostaddress.h +- + +/usr/include/qt4/QtNetwork/qnetworkproxy.h +QtNetwork/qhostaddress.h +- +QtCore/qshareddata.h +- + +/usr/include/qt4/QtNetwork/qnetworkreply.h +QtCore/QIODevice +- +QtCore/QString +- +QtCore/QVariant +- +QtNetwork/QNetworkRequest +- +QtNetwork/QNetworkAccessManager +- + +/usr/include/qt4/QtNetwork/qnetworkrequest.h +QtCore/QSharedDataPointer +- +QtCore/QString +- +QtCore/QUrl +- +QtCore/QVariant +- + +/usr/include/qt4/QtNetwork/qnetworksession.h +QtCore/qobject.h +- +QtCore/qstring.h +- +QtNetwork/qnetworkinterface.h +- +QtCore/qvariant.h +- +QtNetwork/qnetworkconfiguration.h +- +QtCore/qshareddata.h +- +qmobilityglobal.h +/usr/include/qt4/QtNetwork/qmobilityglobal.h + +/usr/include/qt4/QtNetwork/qssl.h +QtCore/qglobal.h +- + +/usr/include/qt4/QtNetwork/qsslcertificate.h +QtCore/qnamespace.h +- +QtCore/qbytearray.h +- +QtCore/qcryptographichash.h +- +QtCore/qregexp.h +- +QtCore/qsharedpointer.h +- +QtNetwork/qssl.h +- + +/usr/include/qt4/QtNetwork/qsslcipher.h +QtCore/qstring.h +- +QtCore/qscopedpointer.h +- +QtNetwork/qssl.h +- + +/usr/include/qt4/QtNetwork/qsslconfiguration.h +QtCore/qshareddata.h +- +QtNetwork/qsslsocket.h +- + +/usr/include/qt4/QtNetwork/qsslerror.h +QtCore/qvariant.h +- +QtNetwork/qsslcertificate.h +- + +/usr/include/qt4/QtNetwork/qsslkey.h +QtCore/qnamespace.h +- +QtCore/qbytearray.h +- +QtCore/qsharedpointer.h +- +QtNetwork/qssl.h +- + +/usr/include/qt4/QtNetwork/qsslsocket.h +QtCore/qlist.h +- +QtCore/qregexp.h +- +QtNetwork/qtcpsocket.h +- +QtNetwork/qsslerror.h +- + +/usr/include/qt4/QtNetwork/qtcpserver.h +QtCore/qobject.h +- +QtNetwork/qabstractsocket.h +- +QtNetwork/qhostaddress.h +- + +/usr/include/qt4/QtNetwork/qtcpsocket.h +QtNetwork/qabstractsocket.h +- +QtCore/qvariant.h +- + +/usr/include/qt4/QtNetwork/qudpsocket.h +QtNetwork/qabstractsocket.h +- +QtNetwork/qhostaddress.h +- + +/usr/include/qt4/QtNetwork/qurlinfo.h +QtCore/qdatetime.h +- +QtCore/qstring.h +- +QtCore/qiodevice.h +- + +ui_ndgui.h +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QHeaderView +- +QtGui/QWidget +- + diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake new file mode 100644 index 0000000..e038c75 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake @@ -0,0 +1,37 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + "CXX" + ) +# The set of files for implicit dependencies of each language: +SET(CMAKE_DEPENDS_CHECK_CXX + "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" + "/home/niklas/fbgui/LogReceiver/abortbootdialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" + "/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" + "/home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" + "/home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" + "/home/niklas/fbgui/LogReceiver/logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" + "/home/niklas/fbgui/LogReceiver/main.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/main.cpp.o" + "/home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" + "/home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" + "/home/niklas/fbgui/LogReceiver/ndgui.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/ndgui.cpp.o" + "/home/niklas/fbgui/LogReceiver/routemanager.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/routemanager.cpp.o" + ) +SET(CMAKE_CXX_COMPILER_ID "GNU") + +# Preprocessor definitions for this target. +SET(CMAKE_TARGET_DEFINITIONS + "QT_WEBKIT_LIB" + "QT_GUI_LIB" + "QT_NETWORK_LIB" + "QT_CORE_LIB" + ) + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make new file mode 100644 index 0000000..619d864 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make @@ -0,0 +1,596 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/LogReceiver + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build + +# Include any dependencies generated for this target. +include CMakeFiles/LogReceiver.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/LogReceiver.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/LogReceiver.dir/flags.make + +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/ndgui.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/ndgui.cpp.o -c /home/niklas/fbgui/LogReceiver/ndgui.cpp + +CMakeFiles/LogReceiver.dir/ndgui.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/ndgui.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/ndgui.cpp > CMakeFiles/LogReceiver.dir/ndgui.cpp.i + +CMakeFiles/LogReceiver.dir/ndgui.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/ndgui.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/ndgui.cpp -o CMakeFiles/LogReceiver.dir/ndgui.cpp.s + +CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires + +CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides: CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides + +CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/ndgui.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_2) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp > CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp -o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/main.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_3) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/main.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/main.cpp.o -c /home/niklas/fbgui/LogReceiver/main.cpp + +CMakeFiles/LogReceiver.dir/main.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/main.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/main.cpp > CMakeFiles/LogReceiver.dir/main.cpp.i + +CMakeFiles/LogReceiver.dir/main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/main.cpp -o CMakeFiles/LogReceiver.dir/main.cpp.s + +CMakeFiles/LogReceiver.dir/main.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/main.cpp.o.requires + +CMakeFiles/LogReceiver.dir/main.cpp.o.provides: CMakeFiles/LogReceiver.dir/main.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/main.cpp.o.provides + +CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/main.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_4) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/routemanager.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/routemanager.cpp.o -c /home/niklas/fbgui/LogReceiver/routemanager.cpp + +CMakeFiles/LogReceiver.dir/routemanager.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/routemanager.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/routemanager.cpp > CMakeFiles/LogReceiver.dir/routemanager.cpp.i + +CMakeFiles/LogReceiver.dir/routemanager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/routemanager.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/routemanager.cpp -o CMakeFiles/LogReceiver.dir/routemanager.cpp.s + +CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires + +CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides: CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides + +CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/routemanager.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_5) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -c /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp > CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp -o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/moc_logreceiver.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_6) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp > CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp -o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_7) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/logreceiver.cpp + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/logreceiver.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/logreceiver.cpp > CMakeFiles/LogReceiver.dir/logreceiver.cpp.i + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/logreceiver.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/logreceiver.cpp -o CMakeFiles/LogReceiver.dir/logreceiver.cpp.s + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_8) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -c /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp > CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp -o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_9) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -c /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp > CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp -o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_10) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx > CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_11) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx > CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx -o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_12) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx > CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx -o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_13) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx > CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_14) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx > CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o: moc_ui_logreceiver.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_15) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx > CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx -o CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_16) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx > CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_17) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx > CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build + +moc_logreceiver.cxx: ../logreceiver.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_18) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_logreceiver.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /home/niklas/fbgui/LogReceiver/logreceiver.h + +moc_routemanager.cxx: ../routemanager.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_19) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_routemanager.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx /home/niklas/fbgui/LogReceiver/routemanager.h + +moc_ndgui.cxx: ../ndgui.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_20) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ndgui.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx /home/niklas/fbgui/LogReceiver/ndgui.h + +moc_chooseinterfacedialog.cxx: ../chooseinterfacedialog.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_21) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_chooseinterfacedialog.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + +moc_ui_ndgui.cxx: ui_ndgui.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_22) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ui_ndgui.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx /home/niklas/fbgui/LogReceiver/build/ui_ndgui.h + +moc_ui_logreceiver.cxx: ui_logreceiver.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_23) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ui_logreceiver.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx /home/niklas/fbgui/LogReceiver/build/ui_logreceiver.h + +moc_abortbootdialog.cxx: ../abortbootdialog.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_24) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_abortbootdialog.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /home/niklas/fbgui/LogReceiver/abortbootdialog.h + +moc_interfaceconfiguration.cxx: ../interfaceconfiguration.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_25) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_interfaceconfiguration.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + +ui_logreceiver.h: ../logreceiver.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_26) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_logreceiver.h" + /usr/bin/uic-qt4 -o /home/niklas/fbgui/LogReceiver/build/ui_logreceiver.h /home/niklas/fbgui/LogReceiver/logreceiver.ui + +ui_ndgui.h: ../ndgui.ui + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_27) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_ndgui.h" + /usr/bin/uic-qt4 -o /home/niklas/fbgui/LogReceiver/build/ui_ndgui.h /home/niklas/fbgui/LogReceiver/ndgui.ui + +# Object files for target LogReceiver +LogReceiver_OBJECTS = \ +"CMakeFiles/LogReceiver.dir/ndgui.cpp.o" \ +"CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" \ +"CMakeFiles/LogReceiver.dir/main.cpp.o" \ +"CMakeFiles/LogReceiver.dir/routemanager.cpp.o" \ +"CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" \ +"CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" \ +"CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" \ +"CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" \ +"CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" \ +"CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" + +# External object files for target LogReceiver +LogReceiver_EXTERNAL_OBJECTS = + +LogReceiver: CMakeFiles/LogReceiver.dir/ndgui.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/main.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/routemanager.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o +LogReceiver: /usr/lib/libQtWebKit.so +LogReceiver: /usr/lib/libQtGui.so +LogReceiver: /usr/lib/libQtXmlPatterns.so +LogReceiver: /usr/lib/libQtNetwork.so +LogReceiver: /usr/lib/libQtCore.so +LogReceiver: CMakeFiles/LogReceiver.dir/build.make +LogReceiver: CMakeFiles/LogReceiver.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable LogReceiver" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/LogReceiver.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/LogReceiver.dir/build: LogReceiver +.PHONY : CMakeFiles/LogReceiver.dir/build + +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/main.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires +.PHONY : CMakeFiles/LogReceiver.dir/requires + +CMakeFiles/LogReceiver.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/LogReceiver.dir/cmake_clean.cmake +.PHONY : CMakeFiles/LogReceiver.dir/clean + +CMakeFiles/LogReceiver.dir/depend: moc_logreceiver.cxx +CMakeFiles/LogReceiver.dir/depend: moc_routemanager.cxx +CMakeFiles/LogReceiver.dir/depend: moc_ndgui.cxx +CMakeFiles/LogReceiver.dir/depend: moc_chooseinterfacedialog.cxx +CMakeFiles/LogReceiver.dir/depend: moc_ui_ndgui.cxx +CMakeFiles/LogReceiver.dir/depend: moc_ui_logreceiver.cxx +CMakeFiles/LogReceiver.dir/depend: moc_abortbootdialog.cxx +CMakeFiles/LogReceiver.dir/depend: moc_interfaceconfiguration.cxx +CMakeFiles/LogReceiver.dir/depend: ui_logreceiver.h +CMakeFiles/LogReceiver.dir/depend: ui_ndgui.h + cd /home/niklas/fbgui/LogReceiver/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/LogReceiver /home/niklas/fbgui/LogReceiver /home/niklas/fbgui/LogReceiver/build /home/niklas/fbgui/LogReceiver/build /home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/LogReceiver.dir/depend + diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake new file mode 100644 index 0000000..5905412 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake @@ -0,0 +1,36 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/LogReceiver.dir/ndgui.cpp.o" + "CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" + "CMakeFiles/LogReceiver.dir/main.cpp.o" + "CMakeFiles/LogReceiver.dir/routemanager.cpp.o" + "CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" + "CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" + "CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" + "CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" + "CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" + "CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" + "moc_logreceiver.cxx" + "moc_routemanager.cxx" + "moc_ndgui.cxx" + "moc_chooseinterfacedialog.cxx" + "moc_ui_ndgui.cxx" + "moc_ui_logreceiver.cxx" + "moc_abortbootdialog.cxx" + "moc_interfaceconfiguration.cxx" + "ui_logreceiver.h" + "ui_ndgui.h" + "LogReceiver.pdb" + "LogReceiver" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang CXX) + INCLUDE(CMakeFiles/LogReceiver.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal new file mode 100644 index 0000000..a027780 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal @@ -0,0 +1,2929 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o + /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o + /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp + /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QCleanlooksStyle + /usr/include/qt4/QtGui/QCommonStyle + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QFileDialog + /usr/include/qt4/QtGui/QFont + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QMatrix4x4 + /usr/include/qt4/QtGui/QPalette + /usr/include/qt4/QtGui/QPrinter + /usr/include/qt4/QtGui/QTransform + /usr/include/qt4/QtGui/QVector3D + /usr/include/qt4/QtGui/QtGui + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractpagesetupdialog.h + /usr/include/qt4/QtGui/qabstractprintdialog.h + /usr/include/qt4/QtGui/qabstractproxymodel.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h + /usr/include/qt4/QtGui/qaccessible.h + /usr/include/qt4/QtGui/qaccessible2.h + /usr/include/qt4/QtGui/qaccessiblebridge.h + /usr/include/qt4/QtGui/qaccessibleobject.h + /usr/include/qt4/QtGui/qaccessibleplugin.h + /usr/include/qt4/QtGui/qaccessiblewidget.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qbitmap.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcalendarwidget.h + /usr/include/qt4/QtGui/qcdestyle.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcleanlooksstyle.h + /usr/include/qt4/QtGui/qclipboard.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcolordialog.h + /usr/include/qt4/QtGui/qcolormap.h + /usr/include/qt4/QtGui/qcolumnview.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcommandlinkbutton.h + /usr/include/qt4/QtGui/qcommonstyle.h + /usr/include/qt4/QtGui/qcompleter.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdatawidgetmapper.h + /usr/include/qt4/QtGui/qdatetimeedit.h + /usr/include/qt4/QtGui/qdesktopservices.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdial.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdialogbuttonbox.h + /usr/include/qt4/QtGui/qdirmodel.h + /usr/include/qt4/QtGui/qdockwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qdrawutil.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfiledialog.h + /usr/include/qt4/QtGui/qfileiconprovider.h + /usr/include/qt4/QtGui/qfilesystemmodel.h + /usr/include/qt4/QtGui/qfocusframe.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontcombobox.h + /usr/include/qt4/QtGui/qfontdatabase.h + /usr/include/qt4/QtGui/qfontdialog.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgenericmatrix.h + /usr/include/qt4/QtGui/qgesture.h + /usr/include/qt4/QtGui/qgesturerecognizer.h + /usr/include/qt4/QtGui/qgraphicsanchorlayout.h + /usr/include/qt4/QtGui/qgraphicseffect.h + /usr/include/qt4/QtGui/qgraphicsgridlayout.h + /usr/include/qt4/QtGui/qgraphicsitem.h + /usr/include/qt4/QtGui/qgraphicsitemanimation.h + /usr/include/qt4/QtGui/qgraphicslayout.h + /usr/include/qt4/QtGui/qgraphicslayoutitem.h + /usr/include/qt4/QtGui/qgraphicslinearlayout.h + /usr/include/qt4/QtGui/qgraphicsproxywidget.h + /usr/include/qt4/QtGui/qgraphicsscene.h + /usr/include/qt4/QtGui/qgraphicssceneevent.h + /usr/include/qt4/QtGui/qgraphicstransform.h + /usr/include/qt4/QtGui/qgraphicsview.h + /usr/include/qt4/QtGui/qgraphicswidget.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qgtkstyle.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qiconengine.h + /usr/include/qt4/QtGui/qiconengineplugin.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qimageiohandler.h + /usr/include/qt4/QtGui/qimagereader.h + /usr/include/qt4/QtGui/qimagewriter.h + /usr/include/qt4/QtGui/qinputcontext.h + /usr/include/qt4/QtGui/qinputcontextfactory.h + /usr/include/qt4/QtGui/qinputcontextplugin.h + /usr/include/qt4/QtGui/qinputdialog.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemeditorfactory.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeyeventtransition.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlcdnumber.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmainwindow.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmatrix4x4.h + /usr/include/qt4/QtGui/qmdiarea.h + /usr/include/qt4/QtGui/qmdisubwindow.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmenubar.h + /usr/include/qt4/QtGui/qmenudata.h + /usr/include/qt4/QtGui/qmessagebox.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qmotifstyle.h + /usr/include/qt4/QtGui/qmouseeventtransition.h + /usr/include/qt4/QtGui/qmovie.h + /usr/include/qt4/QtGui/qpagesetupdialog.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpaintengine.h + /usr/include/qt4/QtGui/qpainter.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpen.h + /usr/include/qt4/QtGui/qpicture.h + /usr/include/qt4/QtGui/qpictureformatplugin.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpixmapcache.h + /usr/include/qt4/QtGui/qplaintextedit.h + /usr/include/qt4/QtGui/qplastiquestyle.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprintdialog.h + /usr/include/qt4/QtGui/qprintengine.h + /usr/include/qt4/QtGui/qprinter.h + /usr/include/qt4/QtGui/qprinterinfo.h + /usr/include/qt4/QtGui/qprintpreviewdialog.h + /usr/include/qt4/QtGui/qprintpreviewwidget.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qprogressdialog.h + /usr/include/qt4/QtGui/qproxymodel.h + /usr/include/qt4/QtGui/qproxystyle.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qquaternion.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qs60mainapplication.h + /usr/include/qt4/QtGui/qs60mainappui.h + /usr/include/qt4/QtGui/qs60maindocument.h + /usr/include/qt4/QtGui/qs60style.h + /usr/include/qt4/QtGui/qscrollarea.h + /usr/include/qt4/QtGui/qscrollbar.h + /usr/include/qt4/QtGui/qsessionmanager.h + /usr/include/qt4/QtGui/qshortcut.h + /usr/include/qt4/QtGui/qsizegrip.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qsortfilterproxymodel.h + /usr/include/qt4/QtGui/qsound.h + /usr/include/qt4/QtGui/qspinbox.h + /usr/include/qt4/QtGui/qsplashscreen.h + /usr/include/qt4/QtGui/qsplitter.h + /usr/include/qt4/QtGui/qstackedlayout.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstandarditemmodel.h + /usr/include/qt4/QtGui/qstatictext.h + /usr/include/qt4/QtGui/qstatusbar.h + /usr/include/qt4/QtGui/qstringlistmodel.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleditemdelegate.h + /usr/include/qt4/QtGui/qstylefactory.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qstylepainter.h + /usr/include/qt4/QtGui/qstyleplugin.h + /usr/include/qt4/QtGui/qsymbianevent.h + /usr/include/qt4/QtGui/qsyntaxhighlighter.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtablewidget.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtextbrowser.h + /usr/include/qt4/QtGui/qtextcursor.h + /usr/include/qt4/QtGui/qtextdocument.h + /usr/include/qt4/QtGui/qtextdocumentfragment.h + /usr/include/qt4/QtGui/qtextdocumentwriter.h + /usr/include/qt4/QtGui/qtextedit.h + /usr/include/qt4/QtGui/qtextformat.h + /usr/include/qt4/QtGui/qtextlayout.h + /usr/include/qt4/QtGui/qtextlist.h + /usr/include/qt4/QtGui/qtextobject.h + /usr/include/qt4/QtGui/qtextoption.h + /usr/include/qt4/QtGui/qtexttable.h + /usr/include/qt4/QtGui/qtoolbar.h + /usr/include/qt4/QtGui/qtoolbox.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtooltip.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qundogroup.h + /usr/include/qt4/QtGui/qundostack.h + /usr/include/qt4/QtGui/qundoview.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qvector2d.h + /usr/include/qt4/QtGui/qvector3d.h + /usr/include/qt4/QtGui/qvector4d.h + /usr/include/qt4/QtGui/qvfbhdr.h + /usr/include/qt4/QtGui/qwhatsthis.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwindowscestyle.h + /usr/include/qt4/QtGui/qwindowsmobilestyle.h + /usr/include/qt4/QtGui/qwindowsstyle.h + /usr/include/qt4/QtGui/qwindowsvistastyle.h + /usr/include/qt4/QtGui/qwindowsxpstyle.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtGui/qworkspace.h + /usr/include/qt4/QtGui/qwsembedwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o + /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp + /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QCleanlooksStyle + /usr/include/qt4/QtGui/QCommonStyle + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QFileDialog + /usr/include/qt4/QtGui/QFont + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QMatrix4x4 + /usr/include/qt4/QtGui/QPalette + /usr/include/qt4/QtGui/QPrinter + /usr/include/qt4/QtGui/QTransform + /usr/include/qt4/QtGui/QVector3D + /usr/include/qt4/QtGui/QtGui + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractpagesetupdialog.h + /usr/include/qt4/QtGui/qabstractprintdialog.h + /usr/include/qt4/QtGui/qabstractproxymodel.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h + /usr/include/qt4/QtGui/qaccessible.h + /usr/include/qt4/QtGui/qaccessible2.h + /usr/include/qt4/QtGui/qaccessiblebridge.h + /usr/include/qt4/QtGui/qaccessibleobject.h + /usr/include/qt4/QtGui/qaccessibleplugin.h + /usr/include/qt4/QtGui/qaccessiblewidget.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qbitmap.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcalendarwidget.h + /usr/include/qt4/QtGui/qcdestyle.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcleanlooksstyle.h + /usr/include/qt4/QtGui/qclipboard.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcolordialog.h + /usr/include/qt4/QtGui/qcolormap.h + /usr/include/qt4/QtGui/qcolumnview.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcommandlinkbutton.h + /usr/include/qt4/QtGui/qcommonstyle.h + /usr/include/qt4/QtGui/qcompleter.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdatawidgetmapper.h + /usr/include/qt4/QtGui/qdatetimeedit.h + /usr/include/qt4/QtGui/qdesktopservices.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdial.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdialogbuttonbox.h + /usr/include/qt4/QtGui/qdirmodel.h + /usr/include/qt4/QtGui/qdockwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qdrawutil.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfiledialog.h + /usr/include/qt4/QtGui/qfileiconprovider.h + /usr/include/qt4/QtGui/qfilesystemmodel.h + /usr/include/qt4/QtGui/qfocusframe.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontcombobox.h + /usr/include/qt4/QtGui/qfontdatabase.h + /usr/include/qt4/QtGui/qfontdialog.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgenericmatrix.h + /usr/include/qt4/QtGui/qgesture.h + /usr/include/qt4/QtGui/qgesturerecognizer.h + /usr/include/qt4/QtGui/qgraphicsanchorlayout.h + /usr/include/qt4/QtGui/qgraphicseffect.h + /usr/include/qt4/QtGui/qgraphicsgridlayout.h + /usr/include/qt4/QtGui/qgraphicsitem.h + /usr/include/qt4/QtGui/qgraphicsitemanimation.h + /usr/include/qt4/QtGui/qgraphicslayout.h + /usr/include/qt4/QtGui/qgraphicslayoutitem.h + /usr/include/qt4/QtGui/qgraphicslinearlayout.h + /usr/include/qt4/QtGui/qgraphicsproxywidget.h + /usr/include/qt4/QtGui/qgraphicsscene.h + /usr/include/qt4/QtGui/qgraphicssceneevent.h + /usr/include/qt4/QtGui/qgraphicstransform.h + /usr/include/qt4/QtGui/qgraphicsview.h + /usr/include/qt4/QtGui/qgraphicswidget.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qgtkstyle.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qiconengine.h + /usr/include/qt4/QtGui/qiconengineplugin.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qimageiohandler.h + /usr/include/qt4/QtGui/qimagereader.h + /usr/include/qt4/QtGui/qimagewriter.h + /usr/include/qt4/QtGui/qinputcontext.h + /usr/include/qt4/QtGui/qinputcontextfactory.h + /usr/include/qt4/QtGui/qinputcontextplugin.h + /usr/include/qt4/QtGui/qinputdialog.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemeditorfactory.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeyeventtransition.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlcdnumber.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmainwindow.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmatrix4x4.h + /usr/include/qt4/QtGui/qmdiarea.h + /usr/include/qt4/QtGui/qmdisubwindow.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmenubar.h + /usr/include/qt4/QtGui/qmenudata.h + /usr/include/qt4/QtGui/qmessagebox.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qmotifstyle.h + /usr/include/qt4/QtGui/qmouseeventtransition.h + /usr/include/qt4/QtGui/qmovie.h + /usr/include/qt4/QtGui/qpagesetupdialog.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpaintengine.h + /usr/include/qt4/QtGui/qpainter.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpen.h + /usr/include/qt4/QtGui/qpicture.h + /usr/include/qt4/QtGui/qpictureformatplugin.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpixmapcache.h + /usr/include/qt4/QtGui/qplaintextedit.h + /usr/include/qt4/QtGui/qplastiquestyle.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprintdialog.h + /usr/include/qt4/QtGui/qprintengine.h + /usr/include/qt4/QtGui/qprinter.h + /usr/include/qt4/QtGui/qprinterinfo.h + /usr/include/qt4/QtGui/qprintpreviewdialog.h + /usr/include/qt4/QtGui/qprintpreviewwidget.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qprogressdialog.h + /usr/include/qt4/QtGui/qproxymodel.h + /usr/include/qt4/QtGui/qproxystyle.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qquaternion.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qs60mainapplication.h + /usr/include/qt4/QtGui/qs60mainappui.h + /usr/include/qt4/QtGui/qs60maindocument.h + /usr/include/qt4/QtGui/qs60style.h + /usr/include/qt4/QtGui/qscrollarea.h + /usr/include/qt4/QtGui/qscrollbar.h + /usr/include/qt4/QtGui/qsessionmanager.h + /usr/include/qt4/QtGui/qshortcut.h + /usr/include/qt4/QtGui/qsizegrip.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qsortfilterproxymodel.h + /usr/include/qt4/QtGui/qsound.h + /usr/include/qt4/QtGui/qspinbox.h + /usr/include/qt4/QtGui/qsplashscreen.h + /usr/include/qt4/QtGui/qsplitter.h + /usr/include/qt4/QtGui/qstackedlayout.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstandarditemmodel.h + /usr/include/qt4/QtGui/qstatictext.h + /usr/include/qt4/QtGui/qstatusbar.h + /usr/include/qt4/QtGui/qstringlistmodel.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleditemdelegate.h + /usr/include/qt4/QtGui/qstylefactory.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qstylepainter.h + /usr/include/qt4/QtGui/qstyleplugin.h + /usr/include/qt4/QtGui/qsymbianevent.h + /usr/include/qt4/QtGui/qsyntaxhighlighter.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtablewidget.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtextbrowser.h + /usr/include/qt4/QtGui/qtextcursor.h + /usr/include/qt4/QtGui/qtextdocument.h + /usr/include/qt4/QtGui/qtextdocumentfragment.h + /usr/include/qt4/QtGui/qtextdocumentwriter.h + /usr/include/qt4/QtGui/qtextedit.h + /usr/include/qt4/QtGui/qtextformat.h + /usr/include/qt4/QtGui/qtextlayout.h + /usr/include/qt4/QtGui/qtextlist.h + /usr/include/qt4/QtGui/qtextobject.h + /usr/include/qt4/QtGui/qtextoption.h + /usr/include/qt4/QtGui/qtexttable.h + /usr/include/qt4/QtGui/qtoolbar.h + /usr/include/qt4/QtGui/qtoolbox.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtooltip.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qundogroup.h + /usr/include/qt4/QtGui/qundostack.h + /usr/include/qt4/QtGui/qundoview.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qvector2d.h + /usr/include/qt4/QtGui/qvector3d.h + /usr/include/qt4/QtGui/qvector4d.h + /usr/include/qt4/QtGui/qvfbhdr.h + /usr/include/qt4/QtGui/qwhatsthis.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwindowscestyle.h + /usr/include/qt4/QtGui/qwindowsmobilestyle.h + /usr/include/qt4/QtGui/qwindowsstyle.h + /usr/include/qt4/QtGui/qwindowsvistastyle.h + /usr/include/qt4/QtGui/qwindowsxpstyle.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtGui/qworkspace.h + /usr/include/qt4/QtGui/qwsembedwidget.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o + /home/niklas/fbgui/LogReceiver/debug/../logreceiver.h + /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o + ../../customdhcpcd/src/common.h + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/dhcp.h + ../../customdhcpcd/src/dhcpcd.h + ../../customdhcpcd/src/interface.h + ../../customdhcpcd/src/status.h + /home/niklas/fbgui/LogReceiver/../common/fbgui.h + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/logreceiver.cpp + /home/niklas/fbgui/LogReceiver/logreceiver.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h + /usr/include/qt4/QtNetwork/qsslerror.h + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o + /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/logreceiver.h + /home/niklas/fbgui/LogReceiver/main.cpp + /home/niklas/fbgui/LogReceiver/ndgui.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QCleanlooksStyle + /usr/include/qt4/QtGui/QCommonStyle + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QFileDialog + /usr/include/qt4/QtGui/QFont + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QLayout + /usr/include/qt4/QtGui/QMatrix4x4 + /usr/include/qt4/QtGui/QPalette + /usr/include/qt4/QtGui/QPrinter + /usr/include/qt4/QtGui/QTransform + /usr/include/qt4/QtGui/QVector3D + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/QtGui + /usr/include/qt4/QtGui/qabstractbutton.h + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractpagesetupdialog.h + /usr/include/qt4/QtGui/qabstractprintdialog.h + /usr/include/qt4/QtGui/qabstractproxymodel.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h + /usr/include/qt4/QtGui/qaccessible.h + /usr/include/qt4/QtGui/qaccessible2.h + /usr/include/qt4/QtGui/qaccessiblebridge.h + /usr/include/qt4/QtGui/qaccessibleobject.h + /usr/include/qt4/QtGui/qaccessibleplugin.h + /usr/include/qt4/QtGui/qaccessiblewidget.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qbitmap.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcalendarwidget.h + /usr/include/qt4/QtGui/qcdestyle.h + /usr/include/qt4/QtGui/qcheckbox.h + /usr/include/qt4/QtGui/qcleanlooksstyle.h + /usr/include/qt4/QtGui/qclipboard.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcolordialog.h + /usr/include/qt4/QtGui/qcolormap.h + /usr/include/qt4/QtGui/qcolumnview.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcommandlinkbutton.h + /usr/include/qt4/QtGui/qcommonstyle.h + /usr/include/qt4/QtGui/qcompleter.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdatawidgetmapper.h + /usr/include/qt4/QtGui/qdatetimeedit.h + /usr/include/qt4/QtGui/qdesktopservices.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdial.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdialogbuttonbox.h + /usr/include/qt4/QtGui/qdirmodel.h + /usr/include/qt4/QtGui/qdockwidget.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qdrawutil.h + /usr/include/qt4/QtGui/qerrormessage.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfiledialog.h + /usr/include/qt4/QtGui/qfileiconprovider.h + /usr/include/qt4/QtGui/qfilesystemmodel.h + /usr/include/qt4/QtGui/qfocusframe.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontcombobox.h + /usr/include/qt4/QtGui/qfontdatabase.h + /usr/include/qt4/QtGui/qfontdialog.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qformlayout.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgenericmatrix.h + /usr/include/qt4/QtGui/qgesture.h + /usr/include/qt4/QtGui/qgesturerecognizer.h + /usr/include/qt4/QtGui/qgraphicsanchorlayout.h + /usr/include/qt4/QtGui/qgraphicseffect.h + /usr/include/qt4/QtGui/qgraphicsgridlayout.h + /usr/include/qt4/QtGui/qgraphicsitem.h + /usr/include/qt4/QtGui/qgraphicsitemanimation.h + /usr/include/qt4/QtGui/qgraphicslayout.h + /usr/include/qt4/QtGui/qgraphicslayoutitem.h + /usr/include/qt4/QtGui/qgraphicslinearlayout.h + /usr/include/qt4/QtGui/qgraphicsproxywidget.h + /usr/include/qt4/QtGui/qgraphicsscene.h + /usr/include/qt4/QtGui/qgraphicssceneevent.h + /usr/include/qt4/QtGui/qgraphicstransform.h + /usr/include/qt4/QtGui/qgraphicsview.h + /usr/include/qt4/QtGui/qgraphicswidget.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qgtkstyle.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qiconengine.h + /usr/include/qt4/QtGui/qiconengineplugin.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qimageiohandler.h + /usr/include/qt4/QtGui/qimagereader.h + /usr/include/qt4/QtGui/qimagewriter.h + /usr/include/qt4/QtGui/qinputcontext.h + /usr/include/qt4/QtGui/qinputcontextfactory.h + /usr/include/qt4/QtGui/qinputcontextplugin.h + /usr/include/qt4/QtGui/qinputdialog.h + /usr/include/qt4/QtGui/qitemdelegate.h + /usr/include/qt4/QtGui/qitemeditorfactory.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeyeventtransition.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qlcdnumber.h + /usr/include/qt4/QtGui/qlineedit.h + /usr/include/qt4/QtGui/qlistview.h + /usr/include/qt4/QtGui/qlistwidget.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmainwindow.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmatrix4x4.h + /usr/include/qt4/QtGui/qmdiarea.h + /usr/include/qt4/QtGui/qmdisubwindow.h + /usr/include/qt4/QtGui/qmenu.h + /usr/include/qt4/QtGui/qmenubar.h + /usr/include/qt4/QtGui/qmenudata.h + /usr/include/qt4/QtGui/qmessagebox.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qmotifstyle.h + /usr/include/qt4/QtGui/qmouseeventtransition.h + /usr/include/qt4/QtGui/qmovie.h + /usr/include/qt4/QtGui/qpagesetupdialog.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpaintengine.h + /usr/include/qt4/QtGui/qpainter.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpen.h + /usr/include/qt4/QtGui/qpicture.h + /usr/include/qt4/QtGui/qpictureformatplugin.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpixmapcache.h + /usr/include/qt4/QtGui/qplaintextedit.h + /usr/include/qt4/QtGui/qplastiquestyle.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprintdialog.h + /usr/include/qt4/QtGui/qprintengine.h + /usr/include/qt4/QtGui/qprinter.h + /usr/include/qt4/QtGui/qprinterinfo.h + /usr/include/qt4/QtGui/qprintpreviewdialog.h + /usr/include/qt4/QtGui/qprintpreviewwidget.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qprogressdialog.h + /usr/include/qt4/QtGui/qproxymodel.h + /usr/include/qt4/QtGui/qproxystyle.h + /usr/include/qt4/QtGui/qpushbutton.h + /usr/include/qt4/QtGui/qquaternion.h + /usr/include/qt4/QtGui/qradiobutton.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qs60mainapplication.h + /usr/include/qt4/QtGui/qs60mainappui.h + /usr/include/qt4/QtGui/qs60maindocument.h + /usr/include/qt4/QtGui/qs60style.h + /usr/include/qt4/QtGui/qscrollarea.h + /usr/include/qt4/QtGui/qscrollbar.h + /usr/include/qt4/QtGui/qsessionmanager.h + /usr/include/qt4/QtGui/qshortcut.h + /usr/include/qt4/QtGui/qsizegrip.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qsortfilterproxymodel.h + /usr/include/qt4/QtGui/qsound.h + /usr/include/qt4/QtGui/qspinbox.h + /usr/include/qt4/QtGui/qsplashscreen.h + /usr/include/qt4/QtGui/qsplitter.h + /usr/include/qt4/QtGui/qstackedlayout.h + /usr/include/qt4/QtGui/qstackedwidget.h + /usr/include/qt4/QtGui/qstandarditemmodel.h + /usr/include/qt4/QtGui/qstatictext.h + /usr/include/qt4/QtGui/qstatusbar.h + /usr/include/qt4/QtGui/qstringlistmodel.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleditemdelegate.h + /usr/include/qt4/QtGui/qstylefactory.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qstylepainter.h + /usr/include/qt4/QtGui/qstyleplugin.h + /usr/include/qt4/QtGui/qsymbianevent.h + /usr/include/qt4/QtGui/qsyntaxhighlighter.h + /usr/include/qt4/QtGui/qsystemtrayicon.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtableview.h + /usr/include/qt4/QtGui/qtablewidget.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtextbrowser.h + /usr/include/qt4/QtGui/qtextcursor.h + /usr/include/qt4/QtGui/qtextdocument.h + /usr/include/qt4/QtGui/qtextdocumentfragment.h + /usr/include/qt4/QtGui/qtextdocumentwriter.h + /usr/include/qt4/QtGui/qtextedit.h + /usr/include/qt4/QtGui/qtextformat.h + /usr/include/qt4/QtGui/qtextlayout.h + /usr/include/qt4/QtGui/qtextlist.h + /usr/include/qt4/QtGui/qtextobject.h + /usr/include/qt4/QtGui/qtextoption.h + /usr/include/qt4/QtGui/qtexttable.h + /usr/include/qt4/QtGui/qtoolbar.h + /usr/include/qt4/QtGui/qtoolbox.h + /usr/include/qt4/QtGui/qtoolbutton.h + /usr/include/qt4/QtGui/qtooltip.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qtreeview.h + /usr/include/qt4/QtGui/qtreewidget.h + /usr/include/qt4/QtGui/qtreewidgetitemiterator.h + /usr/include/qt4/QtGui/qundogroup.h + /usr/include/qt4/QtGui/qundostack.h + /usr/include/qt4/QtGui/qundoview.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qvector2d.h + /usr/include/qt4/QtGui/qvector3d.h + /usr/include/qt4/QtGui/qvector4d.h + /usr/include/qt4/QtGui/qvfbhdr.h + /usr/include/qt4/QtGui/qwhatsthis.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwidgetaction.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwindowscestyle.h + /usr/include/qt4/QtGui/qwindowsmobilestyle.h + /usr/include/qt4/QtGui/qwindowsstyle.h + /usr/include/qt4/QtGui/qwindowsvistastyle.h + /usr/include/qt4/QtGui/qwindowsxpstyle.h + /usr/include/qt4/QtGui/qwizard.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtGui/qworkspace.h + /usr/include/qt4/QtGui/qwsembedwidget.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslerror.h + ui_ndgui.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o + /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o + /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o + /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o + /home/niklas/fbgui/LogReceiver/build/../logreceiver.h + /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o + /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/build/../logreceiver.h + /home/niklas/fbgui/LogReceiver/build/../ndgui.h + /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslerror.h + ui_ndgui.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o + /home/niklas/fbgui/LogReceiver/build/../routemanager.h + /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o + /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o + /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx +CMakeFiles/LogReceiver.dir/ndgui.cpp.o + /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/logreceiver.h + /home/niklas/fbgui/LogReceiver/ndgui.cpp + /home/niklas/fbgui/LogReceiver/ndgui.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslerror.h + ui_ndgui.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/interface.h + /home/niklas/fbgui/LogReceiver/routemanager.cpp + /home/niklas/fbgui/LogReceiver/routemanager.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make new file mode 100644 index 0000000..a2c9df3 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make @@ -0,0 +1,2929 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp + +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.cpp +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QCleanlooksStyle +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QCommonStyle +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QFileDialog +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QFont +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QLayout +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QMatrix4x4 +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QPalette +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QPrinter +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QTransform +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QVector3D +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QtGui +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractbutton.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractpagesetupdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractprintdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractproxymodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessible.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessible2.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblebridge.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleobject.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblewidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaction.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qapplication.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbitmap.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcalendarwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcdestyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcheckbox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcleanlooksstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qclipboard.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolordialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolormap.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolumnview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcommandlinkbutton.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcommonstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcompleter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdatawidgetmapper.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdatetimeedit.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdesktopservices.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdial.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdialogbuttonbox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdirmodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdockwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdrawutil.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qerrormessage.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfiledialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfileiconprovider.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfilesystemmodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfocusframe.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontcombobox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontdatabase.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qformlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgenericmatrix.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgesture.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgesturerecognizer.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsanchorlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicseffect.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsgridlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitem.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitemanimation.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayoutitem.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslinearlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsproxywidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsscene.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicssceneevent.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicstransform.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicswidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgtkstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qheaderview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qiconengine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qiconengineplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimageiohandler.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimagereader.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimagewriter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputcontext.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextfactory.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qitemdelegate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qitemeditorfactory.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qkeyeventtransition.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlcdnumber.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlineedit.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlistview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlistwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmainwindow.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmatrix4x4.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmdiarea.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmdisubwindow.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmenu.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmenubar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmenudata.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmessagebox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmotifstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmouseeventtransition.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmovie.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpagesetupdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpaintengine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpainter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpen.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpicture.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpictureformatplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpixmapcache.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qplaintextedit.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qplastiquestyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintengine.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprinter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprinterinfo.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprogressdialog.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qproxymodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qproxystyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpushbutton.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qquaternion.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qradiobutton.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60mainapplication.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60mainappui.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60maindocument.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60style.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qscrollarea.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qscrollbar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsessionmanager.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qshortcut.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsizegrip.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsortfilterproxymodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsound.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qspinbox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsplashscreen.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsplitter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstackedlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstackedwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstandarditemmodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstatictext.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstatusbar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstringlistmodel.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleditemdelegate.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstylefactory.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstylepainter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleplugin.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsymbianevent.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsyntaxhighlighter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtableview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtablewidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextbrowser.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextcursor.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextdocument.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentfragment.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentwriter.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextedit.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextformat.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextlayout.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextlist.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextobject.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextoption.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtexttable.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtoolbar.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtoolbox.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtoolbutton.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtooltip.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtreeview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtreewidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qundogroup.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qundostack.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qundoview.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvector2d.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvector3d.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvector4d.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvfbhdr.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwhatsthis.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwidgetaction.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowscestyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsmobilestyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsvistastyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsxpstyle.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwizard.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qworkspace.h +CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h + +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.cpp +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QCleanlooksStyle +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QCommonStyle +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QFileDialog +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QFont +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QLayout +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QMatrix4x4 +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QPalette +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QPrinter +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QTransform +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QVector3D +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QtGui +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractbutton.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractpagesetupdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractprintdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractproxymodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessible.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessible2.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblebridge.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleobject.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblewidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaction.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qapplication.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbitmap.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcalendarwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcdestyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcheckbox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcleanlooksstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qclipboard.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolordialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolormap.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolumnview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcommandlinkbutton.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcommonstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcompleter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdatawidgetmapper.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdatetimeedit.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdesktopservices.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdial.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdialogbuttonbox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdirmodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdockwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdrawutil.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qerrormessage.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfiledialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfileiconprovider.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfilesystemmodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfocusframe.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontcombobox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontdatabase.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qformlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgenericmatrix.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgesture.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgesturerecognizer.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsanchorlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicseffect.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsgridlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitem.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitemanimation.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayoutitem.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslinearlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsproxywidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsscene.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicssceneevent.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicstransform.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicswidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgtkstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qheaderview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qiconengine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qiconengineplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimageiohandler.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimagereader.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimagewriter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputcontext.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextfactory.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qitemdelegate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qitemeditorfactory.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qkeyeventtransition.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlcdnumber.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlineedit.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlistview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlistwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmainwindow.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmatrix4x4.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmdiarea.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmdisubwindow.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmenu.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmenubar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmenudata.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmessagebox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmotifstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmouseeventtransition.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmovie.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpagesetupdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpaintengine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpainter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpen.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpicture.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpictureformatplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpixmapcache.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qplaintextedit.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qplastiquestyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintengine.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprinter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprinterinfo.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprogressdialog.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qproxymodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qproxystyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpushbutton.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qquaternion.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qradiobutton.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60mainapplication.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60mainappui.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60maindocument.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60style.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qscrollarea.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qscrollbar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsessionmanager.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qshortcut.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsizegrip.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsortfilterproxymodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsound.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qspinbox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsplashscreen.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsplitter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstackedlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstackedwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstandarditemmodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstatictext.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstatusbar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstringlistmodel.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleditemdelegate.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstylefactory.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstylepainter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleplugin.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsymbianevent.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsyntaxhighlighter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtableview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtablewidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextbrowser.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextcursor.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextdocument.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentfragment.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentwriter.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextedit.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextformat.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextlayout.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextlist.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextobject.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextoption.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtexttable.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtoolbar.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtoolbox.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtoolbutton.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtooltip.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtreeview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtreewidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qundogroup.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qundostack.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qundoview.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvector2d.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvector3d.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvector4d.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvfbhdr.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwhatsthis.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwidgetaction.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowscestyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsmobilestyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsvistastyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsxpstyle.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwizard.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qworkspace.h +CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h + +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/../logreceiver.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/moc_logreceiver.cpp +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h + +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h + +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/status.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../common/fbgui.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../interfaceconfiguration.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QProcess +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qftp.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h + +CMakeFiles/LogReceiver.dir/main.cpp.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp +CMakeFiles/LogReceiver.dir/main.cpp.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QAction +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QApplication +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QButtonGroup +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QCleanlooksStyle +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QCommonStyle +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QFileDialog +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QFont +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QHeaderView +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QLayout +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QMatrix4x4 +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QPalette +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QPrinter +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QTransform +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QVector3D +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QtGui +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractbutton.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractpagesetupdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractprintdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractproxymodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessible.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessible2.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessiblebridge.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessibleobject.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessibleplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessiblewidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaction.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qapplication.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qbitmap.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcalendarwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcdestyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcheckbox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcleanlooksstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qclipboard.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolordialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolormap.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolumnview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcommandlinkbutton.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcommonstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcompleter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdatawidgetmapper.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdatetimeedit.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdesktopservices.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdial.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdialogbuttonbox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdirmodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdockwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdrawutil.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qerrormessage.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfiledialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfileiconprovider.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfilesystemmodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfocusframe.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontcombobox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontdatabase.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qformlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgenericmatrix.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgesture.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgesturerecognizer.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsanchorlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicseffect.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsgridlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsitem.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsitemanimation.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicslayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicslayoutitem.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicslinearlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsproxywidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsscene.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicssceneevent.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicstransform.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicswidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgtkstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qheaderview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qiconengine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qiconengineplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimageiohandler.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimagereader.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimagewriter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputcontext.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputcontextfactory.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputcontextplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qitemdelegate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qitemeditorfactory.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qkeyeventtransition.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlcdnumber.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlineedit.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlistview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlistwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmainwindow.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmatrix4x4.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmdiarea.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmdisubwindow.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmenu.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmenubar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmenudata.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmessagebox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmotifstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmouseeventtransition.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmovie.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpagesetupdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpaintengine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpainter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpen.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpicture.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpictureformatplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpixmapcache.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qplaintextedit.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qplastiquestyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintengine.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprinter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprinterinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintpreviewdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintpreviewwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprogressdialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qproxymodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qproxystyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpushbutton.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qquaternion.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qradiobutton.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60mainapplication.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60mainappui.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60maindocument.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60style.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qscrollarea.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qscrollbar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsessionmanager.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qshortcut.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsizegrip.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsortfilterproxymodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsound.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qspinbox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsplashscreen.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsplitter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstackedlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstackedwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstandarditemmodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstatictext.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstatusbar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstringlistmodel.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyleditemdelegate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstylefactory.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstylepainter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyleplugin.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsymbianevent.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsyntaxhighlighter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsystemtrayicon.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtableview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtablewidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextbrowser.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextcursor.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextdocument.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextdocumentfragment.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextdocumentwriter.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextedit.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextformat.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextlayout.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextlist.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextobject.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextoption.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtexttable.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtoolbar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtoolbox.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtoolbutton.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtooltip.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtreeview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtreewidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qundogroup.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qundostack.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qundoview.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvector2d.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvector3d.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvector4d.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvfbhdr.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwhatsthis.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwidgetaction.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowscestyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsmobilestyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsvistastyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsxpstyle.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwizard.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qworkspace.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ui_ndgui.h + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: ../interfaceconfiguration.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslerror.h + +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QAction +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QApplication +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QButtonGroup +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QHeaderView +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractitemview.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qaction.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qactiongroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qapplication.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qbuttongroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qdesktopwidget.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qheaderview.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qprogressbar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ui_ndgui.h + +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../routemanager.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h + +CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o: moc_ui_logreceiver.cxx + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx + +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QAction +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QApplication +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QButtonGroup +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QHeaderView +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qaction.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qapplication.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qheaderview.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ui_ndgui.h + +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h + diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make new file mode 100644 index 0000000..8a16d3a --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile CXX with /usr/bin/c++ +CXX_FLAGS = -I/home/niklas/fbgui/LogReceiver/build -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore + +CXX_DEFINES = -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB + diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt new file mode 100644 index 0000000..ce002ba --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ CMakeFiles/LogReceiver.dir/ndgui.cpp.o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o CMakeFiles/LogReceiver.dir/routemanager.cpp.o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -o LogReceiver -rdynamic -lQtWebKit -lQtGui -lQtXmlPatterns -lQtNetwork -lQtCore -lsysfs diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make new file mode 100644 index 0000000..c5a9eb3 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make @@ -0,0 +1,28 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 +CMAKE_PROGRESS_6 = 6 +CMAKE_PROGRESS_7 = 7 +CMAKE_PROGRESS_8 = 8 +CMAKE_PROGRESS_9 = 9 +CMAKE_PROGRESS_10 = 10 +CMAKE_PROGRESS_11 = 11 +CMAKE_PROGRESS_12 = 12 +CMAKE_PROGRESS_13 = 13 +CMAKE_PROGRESS_14 = 14 +CMAKE_PROGRESS_15 = 15 +CMAKE_PROGRESS_16 = 16 +CMAKE_PROGRESS_17 = 17 +CMAKE_PROGRESS_18 = 18 +CMAKE_PROGRESS_19 = 19 +CMAKE_PROGRESS_20 = 20 +CMAKE_PROGRESS_21 = 21 +CMAKE_PROGRESS_22 = 22 +CMAKE_PROGRESS_23 = 23 +CMAKE_PROGRESS_24 = 24 +CMAKE_PROGRESS_25 = 25 +CMAKE_PROGRESS_26 = 26 +CMAKE_PROGRESS_27 = 27 + diff --git a/LogReceiver/build/CMakeFiles/Makefile.cmake b/LogReceiver/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..b063dc5 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,50 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# The generator used is: +SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +SET(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/CMakeCCompiler.cmake" + "CMakeFiles/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-2.8/Modules/CheckSymbolExists.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-2.8/Modules/FindPackageMessage.cmake" + "/usr/share/cmake-2.8/Modules/FindQt4.cmake" + "/usr/share/cmake-2.8/Modules/MacroAddFileDependencies.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux.cmake" + "/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" + "/usr/share/cmake-2.8/Modules/Qt4ConfigDependentSettings.cmake" + "/usr/share/cmake-2.8/Modules/Qt4Macros.cmake" + "/usr/share/cmake-2.8/Modules/UseQt4.cmake" + ) + +# The corresponding makefile is: +SET(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +SET(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +SET(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/LogReceiver.dir/DependInfo.cmake" + ) diff --git a/LogReceiver/build/CMakeFiles/Makefile2 b/LogReceiver/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..b2fc74c --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Makefile2 @@ -0,0 +1,96 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# The main recursive all target +all: +.PHONY : all + +# The main recursive preinstall target +preinstall: +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/LogReceiver + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build + +#============================================================================= +# Target rules for target CMakeFiles/LogReceiver.dir + +# All Build rule for target. +CMakeFiles/LogReceiver.dir/all: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/depend + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + @echo "Built target LogReceiver" +.PHONY : CMakeFiles/LogReceiver.dir/all + +# Include target in all. +all: CMakeFiles/LogReceiver.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/LogReceiver.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 27 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/LogReceiver.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 0 +.PHONY : CMakeFiles/LogReceiver.dir/rule + +# Convenience name for target. +LogReceiver: CMakeFiles/LogReceiver.dir/rule +.PHONY : LogReceiver + +# clean rule for target. +CMakeFiles/LogReceiver.dir/clean: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/clean +.PHONY : CMakeFiles/LogReceiver.dir/clean + +# clean rule for target. +clean: CMakeFiles/LogReceiver.dir/clean +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/LogReceiver/build/CMakeFiles/Progress/1 b/LogReceiver/build/CMakeFiles/Progress/1 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/1 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/18 b/LogReceiver/build/CMakeFiles/Progress/18 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/18 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/19 b/LogReceiver/build/CMakeFiles/Progress/19 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/19 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/2 b/LogReceiver/build/CMakeFiles/Progress/2 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/2 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/20 b/LogReceiver/build/CMakeFiles/Progress/20 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/20 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/21 b/LogReceiver/build/CMakeFiles/Progress/21 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/21 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/22 b/LogReceiver/build/CMakeFiles/Progress/22 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/22 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/23 b/LogReceiver/build/CMakeFiles/Progress/23 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/23 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/24 b/LogReceiver/build/CMakeFiles/Progress/24 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/24 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/25 b/LogReceiver/build/CMakeFiles/Progress/25 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/25 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/3 b/LogReceiver/build/CMakeFiles/Progress/3 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/3 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/4 b/LogReceiver/build/CMakeFiles/Progress/4 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/4 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/5 b/LogReceiver/build/CMakeFiles/Progress/5 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/5 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/6 b/LogReceiver/build/CMakeFiles/Progress/6 new file mode 100644 index 0000000..7b4d68d --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/6 @@ -0,0 +1 @@ +empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/count.txt b/LogReceiver/build/CMakeFiles/Progress/count.txt new file mode 100644 index 0000000..f64f5d8 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/Progress/count.txt @@ -0,0 +1 @@ +27 diff --git a/LogReceiver/build/CMakeFiles/TargetDirectories.txt b/LogReceiver/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..84b9f36 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1 @@ +/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir diff --git a/LogReceiver/build/CMakeFiles/cmake.check_cache b/LogReceiver/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/LogReceiver/build/CMakeFiles/progress.marks b/LogReceiver/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..f64f5d8 --- /dev/null +++ b/LogReceiver/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +27 diff --git a/LogReceiver/build/Makefile b/LogReceiver/build/Makefile new file mode 100644 index 0000000..ebe4401 --- /dev/null +++ b/LogReceiver/build/Makefile @@ -0,0 +1,592 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/LogReceiver + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles /home/niklas/fbgui/LogReceiver/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named LogReceiver + +# Build rule for target. +LogReceiver: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 LogReceiver +.PHONY : LogReceiver + +# fast build rule for target. +LogReceiver/fast: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/build +.PHONY : LogReceiver/fast + +CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o +.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.o + +# target to build an object file +CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o +.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o + +CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.i: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i +.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.i + +# target to preprocess a source file +CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i +.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i + +CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.s: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s +.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.s + +# target to generate assembly for a file +CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s +.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s + +abortbootdialog.o: abortbootdialog.cpp.o +.PHONY : abortbootdialog.o + +# target to build an object file +abortbootdialog.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o +.PHONY : abortbootdialog.cpp.o + +abortbootdialog.i: abortbootdialog.cpp.i +.PHONY : abortbootdialog.i + +# target to preprocess a source file +abortbootdialog.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i +.PHONY : abortbootdialog.cpp.i + +abortbootdialog.s: abortbootdialog.cpp.s +.PHONY : abortbootdialog.s + +# target to generate assembly for a file +abortbootdialog.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s +.PHONY : abortbootdialog.cpp.s + +chooseinterfacedialog.o: chooseinterfacedialog.cpp.o +.PHONY : chooseinterfacedialog.o + +# target to build an object file +chooseinterfacedialog.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o +.PHONY : chooseinterfacedialog.cpp.o + +chooseinterfacedialog.i: chooseinterfacedialog.cpp.i +.PHONY : chooseinterfacedialog.i + +# target to preprocess a source file +chooseinterfacedialog.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i +.PHONY : chooseinterfacedialog.cpp.i + +chooseinterfacedialog.s: chooseinterfacedialog.cpp.s +.PHONY : chooseinterfacedialog.s + +# target to generate assembly for a file +chooseinterfacedialog.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s +.PHONY : chooseinterfacedialog.cpp.s + +debug/moc_logreceiver.o: debug/moc_logreceiver.cpp.o +.PHONY : debug/moc_logreceiver.o + +# target to build an object file +debug/moc_logreceiver.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o +.PHONY : debug/moc_logreceiver.cpp.o + +debug/moc_logreceiver.i: debug/moc_logreceiver.cpp.i +.PHONY : debug/moc_logreceiver.i + +# target to preprocess a source file +debug/moc_logreceiver.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i +.PHONY : debug/moc_logreceiver.cpp.i + +debug/moc_logreceiver.s: debug/moc_logreceiver.cpp.s +.PHONY : debug/moc_logreceiver.s + +# target to generate assembly for a file +debug/moc_logreceiver.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s +.PHONY : debug/moc_logreceiver.cpp.s + +interfaceconfiguration.o: interfaceconfiguration.cpp.o +.PHONY : interfaceconfiguration.o + +# target to build an object file +interfaceconfiguration.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o +.PHONY : interfaceconfiguration.cpp.o + +interfaceconfiguration.i: interfaceconfiguration.cpp.i +.PHONY : interfaceconfiguration.i + +# target to preprocess a source file +interfaceconfiguration.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i +.PHONY : interfaceconfiguration.cpp.i + +interfaceconfiguration.s: interfaceconfiguration.cpp.s +.PHONY : interfaceconfiguration.s + +# target to generate assembly for a file +interfaceconfiguration.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s +.PHONY : interfaceconfiguration.cpp.s + +logreceiver.o: logreceiver.cpp.o +.PHONY : logreceiver.o + +# target to build an object file +logreceiver.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.o +.PHONY : logreceiver.cpp.o + +logreceiver.i: logreceiver.cpp.i +.PHONY : logreceiver.i + +# target to preprocess a source file +logreceiver.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.i +.PHONY : logreceiver.cpp.i + +logreceiver.s: logreceiver.cpp.s +.PHONY : logreceiver.s + +# target to generate assembly for a file +logreceiver.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.s +.PHONY : logreceiver.cpp.s + +main.o: main.cpp.o +.PHONY : main.o + +# target to build an object file +main.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.o +.PHONY : main.cpp.o + +main.i: main.cpp.i +.PHONY : main.i + +# target to preprocess a source file +main.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.i +.PHONY : main.cpp.i + +main.s: main.cpp.s +.PHONY : main.s + +# target to generate assembly for a file +main.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.s +.PHONY : main.cpp.s + +moc_abortbootdialog.o: moc_abortbootdialog.cxx.o +.PHONY : moc_abortbootdialog.o + +# target to build an object file +moc_abortbootdialog.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o +.PHONY : moc_abortbootdialog.cxx.o + +moc_abortbootdialog.i: moc_abortbootdialog.cxx.i +.PHONY : moc_abortbootdialog.i + +# target to preprocess a source file +moc_abortbootdialog.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i +.PHONY : moc_abortbootdialog.cxx.i + +moc_abortbootdialog.s: moc_abortbootdialog.cxx.s +.PHONY : moc_abortbootdialog.s + +# target to generate assembly for a file +moc_abortbootdialog.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s +.PHONY : moc_abortbootdialog.cxx.s + +moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cxx.o +.PHONY : moc_chooseinterfacedialog.o + +# target to build an object file +moc_chooseinterfacedialog.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o +.PHONY : moc_chooseinterfacedialog.cxx.o + +moc_chooseinterfacedialog.i: moc_chooseinterfacedialog.cxx.i +.PHONY : moc_chooseinterfacedialog.i + +# target to preprocess a source file +moc_chooseinterfacedialog.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i +.PHONY : moc_chooseinterfacedialog.cxx.i + +moc_chooseinterfacedialog.s: moc_chooseinterfacedialog.cxx.s +.PHONY : moc_chooseinterfacedialog.s + +# target to generate assembly for a file +moc_chooseinterfacedialog.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s +.PHONY : moc_chooseinterfacedialog.cxx.s + +moc_interfaceconfiguration.o: moc_interfaceconfiguration.cxx.o +.PHONY : moc_interfaceconfiguration.o + +# target to build an object file +moc_interfaceconfiguration.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o +.PHONY : moc_interfaceconfiguration.cxx.o + +moc_interfaceconfiguration.i: moc_interfaceconfiguration.cxx.i +.PHONY : moc_interfaceconfiguration.i + +# target to preprocess a source file +moc_interfaceconfiguration.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i +.PHONY : moc_interfaceconfiguration.cxx.i + +moc_interfaceconfiguration.s: moc_interfaceconfiguration.cxx.s +.PHONY : moc_interfaceconfiguration.s + +# target to generate assembly for a file +moc_interfaceconfiguration.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s +.PHONY : moc_interfaceconfiguration.cxx.s + +moc_logreceiver.o: moc_logreceiver.cxx.o +.PHONY : moc_logreceiver.o + +# target to build an object file +moc_logreceiver.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o +.PHONY : moc_logreceiver.cxx.o + +moc_logreceiver.i: moc_logreceiver.cxx.i +.PHONY : moc_logreceiver.i + +# target to preprocess a source file +moc_logreceiver.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i +.PHONY : moc_logreceiver.cxx.i + +moc_logreceiver.s: moc_logreceiver.cxx.s +.PHONY : moc_logreceiver.s + +# target to generate assembly for a file +moc_logreceiver.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s +.PHONY : moc_logreceiver.cxx.s + +moc_ndgui.o: moc_ndgui.cxx.o +.PHONY : moc_ndgui.o + +# target to build an object file +moc_ndgui.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o +.PHONY : moc_ndgui.cxx.o + +moc_ndgui.i: moc_ndgui.cxx.i +.PHONY : moc_ndgui.i + +# target to preprocess a source file +moc_ndgui.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i +.PHONY : moc_ndgui.cxx.i + +moc_ndgui.s: moc_ndgui.cxx.s +.PHONY : moc_ndgui.s + +# target to generate assembly for a file +moc_ndgui.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s +.PHONY : moc_ndgui.cxx.s + +moc_routemanager.o: moc_routemanager.cxx.o +.PHONY : moc_routemanager.o + +# target to build an object file +moc_routemanager.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o +.PHONY : moc_routemanager.cxx.o + +moc_routemanager.i: moc_routemanager.cxx.i +.PHONY : moc_routemanager.i + +# target to preprocess a source file +moc_routemanager.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i +.PHONY : moc_routemanager.cxx.i + +moc_routemanager.s: moc_routemanager.cxx.s +.PHONY : moc_routemanager.s + +# target to generate assembly for a file +moc_routemanager.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s +.PHONY : moc_routemanager.cxx.s + +moc_ui_logreceiver.o: moc_ui_logreceiver.cxx.o +.PHONY : moc_ui_logreceiver.o + +# target to build an object file +moc_ui_logreceiver.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o +.PHONY : moc_ui_logreceiver.cxx.o + +moc_ui_logreceiver.i: moc_ui_logreceiver.cxx.i +.PHONY : moc_ui_logreceiver.i + +# target to preprocess a source file +moc_ui_logreceiver.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i +.PHONY : moc_ui_logreceiver.cxx.i + +moc_ui_logreceiver.s: moc_ui_logreceiver.cxx.s +.PHONY : moc_ui_logreceiver.s + +# target to generate assembly for a file +moc_ui_logreceiver.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s +.PHONY : moc_ui_logreceiver.cxx.s + +moc_ui_ndgui.o: moc_ui_ndgui.cxx.o +.PHONY : moc_ui_ndgui.o + +# target to build an object file +moc_ui_ndgui.cxx.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o +.PHONY : moc_ui_ndgui.cxx.o + +moc_ui_ndgui.i: moc_ui_ndgui.cxx.i +.PHONY : moc_ui_ndgui.i + +# target to preprocess a source file +moc_ui_ndgui.cxx.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i +.PHONY : moc_ui_ndgui.cxx.i + +moc_ui_ndgui.s: moc_ui_ndgui.cxx.s +.PHONY : moc_ui_ndgui.s + +# target to generate assembly for a file +moc_ui_ndgui.cxx.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s +.PHONY : moc_ui_ndgui.cxx.s + +ndgui.o: ndgui.cpp.o +.PHONY : ndgui.o + +# target to build an object file +ndgui.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.o +.PHONY : ndgui.cpp.o + +ndgui.i: ndgui.cpp.i +.PHONY : ndgui.i + +# target to preprocess a source file +ndgui.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.i +.PHONY : ndgui.cpp.i + +ndgui.s: ndgui.cpp.s +.PHONY : ndgui.s + +# target to generate assembly for a file +ndgui.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.s +.PHONY : ndgui.cpp.s + +routemanager.o: routemanager.cpp.o +.PHONY : routemanager.o + +# target to build an object file +routemanager.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.o +.PHONY : routemanager.cpp.o + +routemanager.i: routemanager.cpp.i +.PHONY : routemanager.i + +# target to preprocess a source file +routemanager.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.i +.PHONY : routemanager.cpp.i + +routemanager.s: routemanager.cpp.s +.PHONY : routemanager.s + +# target to generate assembly for a file +routemanager.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.s +.PHONY : routemanager.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... LogReceiver" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.o" + @echo "... CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.i" + @echo "... CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.s" + @echo "... abortbootdialog.o" + @echo "... abortbootdialog.i" + @echo "... abortbootdialog.s" + @echo "... chooseinterfacedialog.o" + @echo "... chooseinterfacedialog.i" + @echo "... chooseinterfacedialog.s" + @echo "... debug/moc_logreceiver.o" + @echo "... debug/moc_logreceiver.i" + @echo "... debug/moc_logreceiver.s" + @echo "... interfaceconfiguration.o" + @echo "... interfaceconfiguration.i" + @echo "... interfaceconfiguration.s" + @echo "... logreceiver.o" + @echo "... logreceiver.i" + @echo "... logreceiver.s" + @echo "... main.o" + @echo "... main.i" + @echo "... main.s" + @echo "... moc_abortbootdialog.o" + @echo "... moc_abortbootdialog.i" + @echo "... moc_abortbootdialog.s" + @echo "... moc_chooseinterfacedialog.o" + @echo "... moc_chooseinterfacedialog.i" + @echo "... moc_chooseinterfacedialog.s" + @echo "... moc_interfaceconfiguration.o" + @echo "... moc_interfaceconfiguration.i" + @echo "... moc_interfaceconfiguration.s" + @echo "... moc_logreceiver.o" + @echo "... moc_logreceiver.i" + @echo "... moc_logreceiver.s" + @echo "... moc_ndgui.o" + @echo "... moc_ndgui.i" + @echo "... moc_ndgui.s" + @echo "... moc_routemanager.o" + @echo "... moc_routemanager.i" + @echo "... moc_routemanager.s" + @echo "... moc_ui_logreceiver.o" + @echo "... moc_ui_logreceiver.i" + @echo "... moc_ui_logreceiver.s" + @echo "... moc_ui_ndgui.o" + @echo "... moc_ui_ndgui.i" + @echo "... moc_ui_ndgui.s" + @echo "... ndgui.o" + @echo "... ndgui.i" + @echo "... ndgui.s" + @echo "... routemanager.o" + @echo "... routemanager.i" + @echo "... routemanager.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/LogReceiver/build/cmake_install.cmake b/LogReceiver/build/cmake_install.cmake new file mode 100644 index 0000000..40d3cbb --- /dev/null +++ b/LogReceiver/build/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/niklas/fbgui/LogReceiver + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(CMAKE_INSTALL_COMPONENT) + SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +ELSE(CMAKE_INSTALL_COMPONENT) + SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +ENDIF(CMAKE_INSTALL_COMPONENT) + +FILE(WRITE "/home/niklas/fbgui/LogReceiver/build/${CMAKE_INSTALL_MANIFEST}" "") +FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) + FILE(APPEND "/home/niklas/fbgui/LogReceiver/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") +ENDFOREACH(file) diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 199f6ed..61e9c62 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -2,6 +2,7 @@ #include #include +#include #include #include #include @@ -14,6 +15,7 @@ #include #include "status.h" #include "dhcp.h" +#include "interface.h" #include "../common/fbgui.h" @@ -230,6 +232,9 @@ void LogReceiver::checkConnectivity(QString ifName) { QString command("route"); QStringList argList; QString gateway(" "); + QByteArray ba; + struct in_addr destination, netmask, gw; + int metric = 0; // get gateway address QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); @@ -238,11 +243,22 @@ void LogReceiver::checkConnectivity(QString ifName) { ifConf.readConfigOutOfFile(pathToGatewayFile); // delete default route - argList << "del" << "default"; + ba = ifName.toAscii(); + char *ifname = ba.data(); + inet_aton("0.0.0.0", &destination); + inet_aton("0.0.0.0", &netmask); + ba = ifConf.getGateway().toAscii(); + const char * gwaddr = ba.data(); + inet_aton(gwaddr,&gw); + del_route(ifname, destination, netmask, gw, metric); + QProcess * p = new QProcess(this); + /* + argList << "del" << "default"; + p->start(command, argList); p->waitForFinished(); - + */ // add new default route argList.clear(); qDebug() << "add default route with:" << ifConf.getGateway() diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp new file mode 100644 index 0000000..11b9a35 --- /dev/null +++ b/LogReceiver/routemanager.cpp @@ -0,0 +1,37 @@ +/* + * routemanager.cpp + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#include + +//#include "interface.h" +#include "routemanager.h" + +routemanager::routemanager() { + // TODO Auto-generated constructor stub + +} + +routemanager::~routemanager() { + // TODO Auto-generated destructor stub +} + +void routemanager::addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric) { + //struct in_addr destination, netmask, gateway; + //add_route(); +} + +void routemanager::delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric) { + struct in_addr ds, nm, gw; + ba = ifname.toAscii(); + const char *in = ba.constData(); + inet_aton("0.0.0.0", &ds); + inet_aton("0.0.0.0", &nm); + ba = gateway.toAscii(); + char * gwaddr = ba.data(); + inet_aton(gwaddr,&gw); + del_route(in, ds, nm, gw, metric); +} diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h new file mode 100644 index 0000000..63ec778 --- /dev/null +++ b/LogReceiver/routemanager.h @@ -0,0 +1,28 @@ +/* + * routemanager.h + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#ifndef ROUTEMANAGER_H_ +#define ROUTEMANAGER_H_ + +#include + +class routemanager : public QObject{ +Q_OBJECT + +public: + routemanager(); + virtual ~routemanager(); + + void addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); + void delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); + +private: + QByteArray ba; +}; + + +#endif /* ROUTEMANAGER_H_ */ diff --git a/UnixDomainSocketServer/Debug/UnixDomainSocketServer b/UnixDomainSocketServer/Debug/UnixDomainSocketServer new file mode 100755 index 0000000..bdab448 Binary files /dev/null and b/UnixDomainSocketServer/Debug/UnixDomainSocketServer differ diff --git a/UnixDomainSocketServer/Debug/makefile b/UnixDomainSocketServer/Debug/makefile new file mode 100644 index 0000000..63e11e5 --- /dev/null +++ b/UnixDomainSocketServer/Debug/makefile @@ -0,0 +1,43 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +-include ../makefile.init + +RM := rm -rf + +# All of the sources participating in the build are defined here +-include sources.mk +-include subdir.mk +-include objects.mk + +ifneq ($(MAKECMDGOALS),clean) +ifneq ($(strip $(C_DEPS)),) +-include $(C_DEPS) +endif +endif + +-include ../makefile.defs + +# Add inputs and outputs from these tool invocations to the build variables + +# All Target +all: UnixDomainSocketServer + +# Tool invocations +UnixDomainSocketServer: $(OBJS) $(USER_OBJS) + @echo 'Building target: $@' + @echo 'Invoking: GCC C Linker' + gcc -o"UnixDomainSocketServer" $(OBJS) $(USER_OBJS) $(LIBS) + @echo 'Finished building target: $@' + @echo ' ' + +# Other Targets +clean: + -$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) UnixDomainSocketServer + -@echo ' ' + +.PHONY: all clean dependents +.SECONDARY: + +-include ../makefile.targets diff --git a/UnixDomainSocketServer/Debug/objects.mk b/UnixDomainSocketServer/Debug/objects.mk new file mode 100644 index 0000000..224ef68 --- /dev/null +++ b/UnixDomainSocketServer/Debug/objects.mk @@ -0,0 +1,7 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +USER_OBJS := + +LIBS := diff --git a/UnixDomainSocketServer/Debug/server.d b/UnixDomainSocketServer/Debug/server.d new file mode 100644 index 0000000..c22def6 --- /dev/null +++ b/UnixDomainSocketServer/Debug/server.d @@ -0,0 +1,3 @@ +server.d server.o: ../server.c ../../common/fbgui.h + +../../common/fbgui.h: diff --git a/UnixDomainSocketServer/Debug/sources.mk b/UnixDomainSocketServer/Debug/sources.mk new file mode 100644 index 0000000..df1db10 --- /dev/null +++ b/UnixDomainSocketServer/Debug/sources.mk @@ -0,0 +1,17 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +O_SRCS := +C_SRCS := +S_UPPER_SRCS := +OBJ_SRCS := +ASM_SRCS := +OBJS := +C_DEPS := +EXECUTABLES := + +# Every subdirectory with source files must be described here +SUBDIRS := \ +. \ + diff --git a/UnixDomainSocketServer/Debug/subdir.mk b/UnixDomainSocketServer/Debug/subdir.mk new file mode 100644 index 0000000..eb4a214 --- /dev/null +++ b/UnixDomainSocketServer/Debug/subdir.mk @@ -0,0 +1,24 @@ +################################################################################ +# Automatically-generated file. Do not edit! +################################################################################ + +# Add inputs and outputs from these tool invocations to the build variables +C_SRCS += \ +../server.c + +OBJS += \ +./server.o + +C_DEPS += \ +./server.d + + +# Each subdirectory must supply rules for building sources it contributes +%.o: ../%.c + @echo 'Building file: $<' + @echo 'Invoking: GCC C Compiler' + gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" + @echo 'Finished building: $<' + @echo ' ' + + diff --git a/customdhcpcd/src/CMakeLists.txt b/customdhcpcd/src/CMakeLists.txt new file mode 100644 index 0000000..16ad4af --- /dev/null +++ b/customdhcpcd/src/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 2.8) + +project(customdhcpdcd) + +set(CMAKE_C_FLAGS "-lrt") + +file(GLOB_RECURSE CUSTOMDHCPCD_SOURCES *.c) +file(GLOB_RECURSE CUSTOMDHCPCD_HEADERS *.h) + +add_library(libcustomdhcpcd ${CUSTOMDHCPCD_SOURCES} ${CUSTOMDHCPCD_HEADERS}) + +add_executable(customdhcpcd dhcpcd.c) +target_link_libraries(customdhcpcd libcustomdhcpcd ) diff --git a/customdhcpcd/src/Makefile b/customdhcpcd/src/Makefile deleted file mode 100644 index f3cdb5d..0000000 --- a/customdhcpcd/src/Makefile +++ /dev/null @@ -1,34 +0,0 @@ -# Makefile based on BSD's pmake. -# Our mk stubs also work with GNU make. -# Copyright 2008 Roy Marples - -PROG= customdhcpcd -SRCS= arp.c client.c common.c configure.c dhcp.c dhcpcd.c duid.c \ - info.c interface.c ipv4ll.c logger.c signal.c socket.c logwriter.c -MAN= - -VERSION= 3.2.3 -CLEANFILES= version.h - -BINDIR= ${PREFIX}/sbin - -.SUFFIXES: .in - -MK= mk -include ${MK}/os.mk -include ${MK}/cc.mk -include ${MK}/prog.mk - -# os.mk should define this, but heh -INFOD?= /var/db - -LDADD+= ${LIBRESOLV} ${LIBRT} -CFLAGS+= -g -Wall -DINFODIR=\"${INFOD}\" ${FORK} ${RC} - -# As version.h is generated by us, hardcode the depend correctly. -${SRCS}: version.h -version.h: - echo "#define VERSION \"${VERSION}\""> version.h - -.in: - sed 's:@PREFIX@:${PREFIX}:g; s:@INFODIR@:${INFOD}:g' $< > $@ diff --git a/customdhcpcd/src/build/CMakeCache.txt b/customdhcpcd/src/build/CMakeCache.txt new file mode 100644 index 0000000..0d2d2c6 --- /dev/null +++ b/customdhcpcd/src/build/CMakeCache.txt @@ -0,0 +1,282 @@ +# This is the CMakeCache file. +# For build in directory: /home/niklas/fbgui/customdhcpcd/src/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or +// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler. +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//Flags used by the compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release minsize builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds (/MD /Ob1 /Oi +// /Ot /Oy /Gs will produce slightly less optimized but smaller +// files). +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during Release with Debug Info builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g + +//C compiler. +CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc + +//Flags used by the compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the compiler during debug builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the compiler during release minsize builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the compiler during release builds (/MD /Ob1 /Oi +// /Ot /Oy /Gs will produce slightly less optimized but smaller +// files). +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the compiler during Release with Debug Info builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g + +//Flags used by the linker. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make + +//Flags used by the linker during the creation of modules. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=customdhcpdcd + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Flags used by the linker during the creation of dll's. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during debug builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during release minsize builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during release builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during Release with Debug Info builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If true, cmake will use relative paths in makefiles and projects. +CMAKE_USE_RELATIVE_PATHS:BOOL=OFF + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +customdhcpdcd_BINARY_DIR:STATIC=/home/niklas/fbgui/customdhcpcd/src/build + +//Value Computed by CMake +customdhcpdcd_SOURCE_DIR:STATIC=/home/niklas/fbgui/customdhcpcd/src + +//Dependencies for target +libcustomdhcpcd_LIB_DEPENDS:STATIC= + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_BUILD_TOOL +CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 +//What is the target build tool cmake is generating for. +CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/niklas/fbgui/customdhcpcd/src/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +CMAKE_C_COMPILER_WORKS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Result of TRY_COMPILE +CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE +//Result of TRY_COMPILE +CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Start directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/niklas/fbgui/customdhcpcd/src +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/bin/uname +//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS +CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake new file mode 100644 index 0000000..2b06f62 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake @@ -0,0 +1,44 @@ +SET(CMAKE_C_COMPILER "/usr/bin/gcc") +SET(CMAKE_C_COMPILER_ARG1 "") +SET(CMAKE_C_COMPILER_ID "GNU") +SET(CMAKE_C_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCC 1) +SET(CMAKE_C_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_C_COMPILER_ENV_VAR "CC") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_C_COMPILER_ID_RUN 1) +SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) +SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +SET(CMAKE_C_SIZEOF_DATA_PTR "4") +SET(CMAKE_C_COMPILER_ABI "ELF") + +IF(CMAKE_C_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_C_SIZEOF_DATA_PTR) + +IF(CMAKE_C_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +ENDIF(CMAKE_C_COMPILER_ABI) + +SET(CMAKE_C_HAS_ISYSROOT "") + + +SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") +SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..7613c41 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake @@ -0,0 +1,45 @@ +SET(CMAKE_CXX_COMPILER "/usr/bin/c++") +SET(CMAKE_CXX_COMPILER_ARG1 "") +SET(CMAKE_CXX_COMPILER_ID "GNU") +SET(CMAKE_CXX_PLATFORM_ID "Linux") + +SET(CMAKE_AR "/usr/bin/ar") +SET(CMAKE_RANLIB "/usr/bin/ranlib") +SET(CMAKE_LINKER "/usr/bin/ld") +SET(CMAKE_COMPILER_IS_GNUCXX 1) +SET(CMAKE_CXX_COMPILER_LOADED 1) +SET(CMAKE_COMPILER_IS_MINGW ) +SET(CMAKE_COMPILER_IS_CYGWIN ) +IF(CMAKE_COMPILER_IS_CYGWIN) + SET(CYGWIN 1) + SET(UNIX 1) +ENDIF(CMAKE_COMPILER_IS_CYGWIN) + +SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +IF(CMAKE_COMPILER_IS_MINGW) + SET(MINGW 1) +ENDIF(CMAKE_COMPILER_IS_MINGW) +SET(CMAKE_CXX_COMPILER_ID_RUN 1) +SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) +SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) +SET(CMAKE_CXX_LINKER_PREFERENCE 30) +SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +SET(CMAKE_CXX_SIZEOF_DATA_PTR "4") +SET(CMAKE_CXX_COMPILER_ABI "ELF") + +IF(CMAKE_CXX_SIZEOF_DATA_PTR) + SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) + +IF(CMAKE_CXX_COMPILER_ABI) + SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +ENDIF(CMAKE_CXX_COMPILER_ABI) + +SET(CMAKE_CXX_HAS_ISYSROOT "") + + +SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") +SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..b7710c0 Binary files /dev/null and b/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin differ diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..0e039b8 Binary files /dev/null and b/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..e2e4141 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,21 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Relative path conversion top directories. +SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/niklas/fbgui/customdhcpcd/src") +SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/niklas/fbgui/customdhcpcd/src/build") + +# Force unix paths in dependencies. +SET(CMAKE_FORCE_UNIX_PATHS 1) + +# The C and CXX include file search paths: +SET(CMAKE_C_INCLUDE_PATH + ) +SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) +SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) + +# The C and CXX include file regular expressions for this directory. +SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeOutput.log b/customdhcpcd/src/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..473d070 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,240 @@ +The system is: Linux - 2.6.38-10-generic-pae - i686 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/gcc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 +CMakeCXXCompilerId.cpp:79:58: warning: deprecated conversion from string constant to ‘char*’ +CMakeCXXCompilerId.cpp:192:58: warning: deprecated conversion from string constant to ‘char*’ +CMakeCXXCompilerId.cpp:193:54: warning: deprecated conversion from string constant to ‘char*’ + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out" + +Determining if the C compiler works passed with the following output: +Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/testCCompiler.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' + + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o +/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c +Linking C executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/gcc +COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper +Target: i686-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ +LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686' + /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c] + ignore line: [Linking C executable cmTryCompileExec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/gcc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: i686-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686'] + link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_i386] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--no-as-needed] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] + collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] + implicit libs: [c] + implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] + + +Determining if the CXX compiler works passed with the following output: +Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic +make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp + +Run Build Command:/usr/bin/make "cmTryCompileExec/fast" +/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build +make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' +/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 +Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp +Linking CXX executable cmTryCompileExec +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper +Target: i686-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu +Thread model: posix +gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) +COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ +LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686' + /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o +make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] + ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] + ignore line: [make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp'] + ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1] + ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Linking CXX executable cmTryCompileExec] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] + ignore line: [Target: i686-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] + ignore line: [Thread model: posix] + ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] + ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'] + link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_i386] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [-export-dynamic] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib/ld-linux.so.2] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTryCompileExec] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] + arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] + arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore + arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore + remove lib [gcc_s] + remove lib [gcc] + remove lib [gcc_s] + remove lib [gcc] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] + collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] + collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] + implicit libs: [stdc++;m;c] + implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] + + diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake new file mode 100644 index 0000000..278db3c --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake @@ -0,0 +1,15 @@ + + +SET(CMAKE_SYSTEM "Linux-2.6.38-10-generic-pae") +SET(CMAKE_SYSTEM_NAME "Linux") +SET(CMAKE_SYSTEM_VERSION "2.6.38-10-generic-pae") +SET(CMAKE_SYSTEM_PROCESSOR "i686") + +SET(CMAKE_HOST_SYSTEM "Linux-2.6.38-10-generic-pae") +SET(CMAKE_HOST_SYSTEM_NAME "Linux") +SET(CMAKE_HOST_SYSTEM_VERSION "2.6.38-10-generic-pae") +SET(CMAKE_HOST_SYSTEM_PROCESSOR "i686") + +SET(CMAKE_CROSSCOMPILING "FALSE") + +SET(CMAKE_SYSTEM_LOADED 1) diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..efa5677 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,220 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__clang__) +# define COMPILER_ID "Clang" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMC__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMC__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +/* IAR Systems compiler for embedded systems. + http://www.iar.com + Not supported yet by CMake +#elif defined(__IAR_SYSTEMS_ICC__) +# define COMPILER_ID "IAR" */ + +/* sdcc, the small devices C compiler for embedded systems, + http://sdcc.sourceforge.net */ +#elif defined(SDCC) +# define COMPILER_ID "SDCC" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is becase + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; + (void)argv; + return require; +} +#endif diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out b/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out new file mode 100755 index 0000000..0a9888a Binary files /dev/null and b/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out differ diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp b/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..4c2289b --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,206 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" + +#elif defined(__clang__) +# define COMPILER_ID "Clang" + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + +#elif defined(__WATCOMC__) +# define COMPILER_ID "Watcom" + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + +#elif defined(__IBMCPP__) +# if defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" +# elif __IBMCPP__ >= 800 +# define COMPILER_ID "XL" +# else +# define COMPILER_ID "VisualAge" +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" + +#elif defined(__PATHSCALE__) +# define COMPILER_ID "PathScale" + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + +#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +/* Analog Devices C++ compiler for Blackfin, TigerSHARC and + SHARC (21000) DSPs */ +# define COMPILER_ID "ADSP" + +#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) +# define COMPILER_ID "MIPSpro" + +/* This compiler is either not known or is too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__sgi) +# define COMPILER_ID "MIPSpro" + +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" + +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) +# define PLATFORM_ID "IRIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) +# define PLATFORM_ID "Haiku" +/* Haiku also defines __BEOS__ so we must + put it prior to the check for __BEOS__ +*/ + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#else /* unknown platform */ +# define PLATFORM_ID "" + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is becase + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + (void)argv; + return require; +} diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out b/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out new file mode 100755 index 0000000..b564314 Binary files /dev/null and b/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out differ diff --git a/customdhcpcd/src/build/CMakeFiles/Makefile.cmake b/customdhcpcd/src/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..4547921 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,44 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# The generator used is: +SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +SET(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/CMakeCCompiler.cmake" + "CMakeFiles/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-2.8/Modules/Platform/Linux.cmake" + "/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +SET(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +SET(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +SET(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/customdhcpcd.dir/DependInfo.cmake" + "CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake" + ) diff --git a/customdhcpcd/src/build/CMakeFiles/Makefile2 b/customdhcpcd/src/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..e9d5f1b --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/Makefile2 @@ -0,0 +1,131 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# The main recursive all target +all: +.PHONY : all + +# The main recursive preinstall target +preinstall: +.PHONY : preinstall + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build + +#============================================================================= +# Target rules for target CMakeFiles/customdhcpcd.dir + +# All Build rule for target. +CMakeFiles/customdhcpcd.dir/all: CMakeFiles/libcustomdhcpcd.dir/all + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/depend + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 1 + @echo "Built target customdhcpcd" +.PHONY : CMakeFiles/customdhcpcd.dir/all + +# Include target in all. +all: CMakeFiles/customdhcpcd.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/customdhcpcd.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 18 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/customdhcpcd.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 +.PHONY : CMakeFiles/customdhcpcd.dir/rule + +# Convenience name for target. +customdhcpcd: CMakeFiles/customdhcpcd.dir/rule +.PHONY : customdhcpcd + +# clean rule for target. +CMakeFiles/customdhcpcd.dir/clean: + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/clean +.PHONY : CMakeFiles/customdhcpcd.dir/clean + +# clean rule for target. +clean: CMakeFiles/customdhcpcd.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/libcustomdhcpcd.dir + +# All Build rule for target. +CMakeFiles/libcustomdhcpcd.dir/all: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/depend + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/build + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 + @echo "Built target libcustomdhcpcd" +.PHONY : CMakeFiles/libcustomdhcpcd.dir/all + +# Include target in all. +all: CMakeFiles/libcustomdhcpcd.dir/all +.PHONY : all + +# Build rule for subdir invocation for target. +CMakeFiles/libcustomdhcpcd.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 17 + $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/libcustomdhcpcd.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 +.PHONY : CMakeFiles/libcustomdhcpcd.dir/rule + +# Convenience name for target. +libcustomdhcpcd: CMakeFiles/libcustomdhcpcd.dir/rule +.PHONY : libcustomdhcpcd + +# clean rule for target. +CMakeFiles/libcustomdhcpcd.dir/clean: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/clean +.PHONY : CMakeFiles/libcustomdhcpcd.dir/clean + +# clean rule for target. +clean: CMakeFiles/libcustomdhcpcd.dir/clean +.PHONY : clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt b/customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..0549a5f --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,2 @@ +/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir +/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir diff --git a/customdhcpcd/src/build/CMakeFiles/cmake.check_cache b/customdhcpcd/src/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache new file mode 100644 index 0000000..f5ffc8c --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache @@ -0,0 +1,154 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/niklas/fbgui/customdhcpcd/src/client.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + +/home/niklas/fbgui/customdhcpcd/src/common.h +sys/time.h +- +stdio.h +- +string.h +- + +/home/niklas/fbgui/customdhcpcd/src/config.h + +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +netinet/in_systm.h +- +netinet/in.h +- +netinet/ip.h +- +netinet/udp.h +- +stdint.h +- +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c +sys/file.h +- +sys/types.h +- +sys/stat.h +- +arpa/inet.h +- +errno.h +- +fcntl.h +- +getopt.h +- +paths.h +- +signal.h +- +stdbool.h +- +stdio.h +- +stdlib.h +- +string.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +client.h +/home/niklas/fbgui/customdhcpcd/src/client.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h +version.h +/home/niklas/fbgui/customdhcpcd/src/version.h +logwriter.h +/home/niklas/fbgui/customdhcpcd/src/logwriter.h +status.h +/home/niklas/fbgui/customdhcpcd/src/status.h + +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +sys/param.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +limits.h +- +stdbool.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h + +/home/niklas/fbgui/customdhcpcd/src/interface.h +sys/types.h +- +sys/param.h +- +sys/queue.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +netinet/if_ether.h +- +limits.h +- +stdbool.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +linux/netlink.h +- + +/home/niklas/fbgui/customdhcpcd/src/logger.h +syslog.h +- + +/home/niklas/fbgui/customdhcpcd/src/logwriter.h +arpa/inet.h +- +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + +/home/niklas/fbgui/customdhcpcd/src/socket.h +stdbool.h +- +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/status.h + +/home/niklas/fbgui/customdhcpcd/src/version.h + diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake new file mode 100644 index 0000000..0a4f88d --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake @@ -0,0 +1,14 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +SET(CMAKE_DEPENDS_CHECK_C + "/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" + ) +SET(CMAKE_C_COMPILER_ID "GNU") + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake" + ) diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make new file mode 100644 index 0000000..13465f1 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make @@ -0,0 +1,101 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build + +# Include any dependencies generated for this target. +include CMakeFiles/customdhcpcd.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/customdhcpcd.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/customdhcpcd.dir/flags.make + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: CMakeFiles/customdhcpcd.dir/flags.make +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/customdhcpcd.dir/dhcpcd.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c > CMakeFiles/customdhcpcd.dir/dhcpcd.c.i + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/customdhcpcd.dir/dhcpcd.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c -o CMakeFiles/customdhcpcd.dir/dhcpcd.c.s + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires: +.PHONY : CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides.build +.PHONY : CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides.build: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o +.PHONY : CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides.build + +# Object files for target customdhcpcd +customdhcpcd_OBJECTS = \ +"CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" + +# External object files for target customdhcpcd +customdhcpcd_EXTERNAL_OBJECTS = + +customdhcpcd: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o +customdhcpcd: liblibcustomdhcpcd.a +customdhcpcd: CMakeFiles/customdhcpcd.dir/build.make +customdhcpcd: CMakeFiles/customdhcpcd.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C executable customdhcpcd" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/customdhcpcd.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/customdhcpcd.dir/build: customdhcpcd +.PHONY : CMakeFiles/customdhcpcd.dir/build + +CMakeFiles/customdhcpcd.dir/requires: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires +.PHONY : CMakeFiles/customdhcpcd.dir/requires + +CMakeFiles/customdhcpcd.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/customdhcpcd.dir/cmake_clean.cmake +.PHONY : CMakeFiles/customdhcpcd.dir/clean + +CMakeFiles/customdhcpcd.dir/depend: + cd /home/niklas/fbgui/customdhcpcd/src/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/customdhcpcd.dir/depend + diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake new file mode 100644 index 0000000..642a0a9 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake @@ -0,0 +1,10 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" + "customdhcpcd.pdb" + "customdhcpcd" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang C) + INCLUDE(CMakeFiles/customdhcpcd.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal new file mode 100644 index 0000000..0833ad6 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o + /home/niklas/fbgui/customdhcpcd/src/client.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/logwriter.h + /home/niklas/fbgui/customdhcpcd/src/socket.h + /home/niklas/fbgui/customdhcpcd/src/status.h + /home/niklas/fbgui/customdhcpcd/src/version.h diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make new file mode 100644 index 0000000..a7a0008 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../client.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../common.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../config.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcp.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../interface.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../logger.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../logwriter.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../socket.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../status.h +CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../version.h + diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make new file mode 100644 index 0000000..1d28a45 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile C with /usr/bin/gcc +C_FLAGS = -lrt + +C_DEFINES = + diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt new file mode 100644 index 0000000..714a859 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/gcc -lrt CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -o customdhcpcd -rdynamic liblibcustomdhcpcd.a diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make new file mode 100644 index 0000000..781c7de --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make @@ -0,0 +1,2 @@ +CMAKE_PROGRESS_1 = 1 + diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache new file mode 100644 index 0000000..fe17545 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache @@ -0,0 +1,700 @@ +#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) + +#IncludeRegexScan: ^.*$ + +#IncludeRegexComplain: ^$ + +#IncludeRegexTransform: + +/home/niklas/fbgui/customdhcpcd/src/../../common/fbgui.h + +/home/niklas/fbgui/customdhcpcd/src/arp.c +sys/time.h +- +sys/types.h +- +sys/ioctl.h +- +sys/socket.h +- +netinet/in_systm.h +- +netinet/ether.h +- +netpacket/packet.h +- +net/if.h +- +net/if_arp.h +- +arpa/inet.h +- +errno.h +- +poll.h +- +stdlib.h +- +string.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +arp.h +/home/niklas/fbgui/customdhcpcd/src/arp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +signal.h +/home/niklas/fbgui/customdhcpcd/src/signal.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h + +/home/niklas/fbgui/customdhcpcd/src/arp.h +netinet/in.h +- +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c + +/home/niklas/fbgui/customdhcpcd/src/client.c +sys/time.h +- +sys/types.h +- +arpa/inet.h +- +netinet/ether.h +- +ctype.h +- +errno.h +- +poll.h +- +signal.h +- +stdbool.h +- +stdlib.h +- +stdio.h +- +string.h +- +time.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +arp.h +/home/niklas/fbgui/customdhcpcd/src/arp.h +client.h +/home/niklas/fbgui/customdhcpcd/src/client.h +configure.h +/home/niklas/fbgui/customdhcpcd/src/configure.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +info.h +/home/niklas/fbgui/customdhcpcd/src/info.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +ipv4ll.h +/home/niklas/fbgui/customdhcpcd/src/ipv4ll.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +signal.h +/home/niklas/fbgui/customdhcpcd/src/signal.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h +logwriter.h +/home/niklas/fbgui/customdhcpcd/src/logwriter.h +status.h +/home/niklas/fbgui/customdhcpcd/src/status.h +duid.h +/home/niklas/fbgui/customdhcpcd/src/duid.h +info.h +/home/niklas/fbgui/customdhcpcd/src/info.h + +/home/niklas/fbgui/customdhcpcd/src/client.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + +/home/niklas/fbgui/customdhcpcd/src/common.c +sys/time.h +- +errno.h +- +fcntl.h +- +stdio.h +- +stdlib.h +- +string.h +- +time.h +- +unistd.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h + +/home/niklas/fbgui/customdhcpcd/src/common.h +sys/time.h +- +stdio.h +- +string.h +- + +/home/niklas/fbgui/customdhcpcd/src/config.h + +/home/niklas/fbgui/customdhcpcd/src/configure.c +sys/types.h +- +sys/ioctl.h +- +sys/param.h +- +sys/socket.h +- +sys/stat.h +- +arpa/inet.h +- +netinet/in.h +- +netinet/ether.h +- +string.h +- +errno.h +- +netdb.h +- +resolv.h +- +signal.h +- +stdarg.h +- +stdlib.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +configure.h +/home/niklas/fbgui/customdhcpcd/src/configure.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +info.h +/home/niklas/fbgui/customdhcpcd/src/info.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +signal.h +/home/niklas/fbgui/customdhcpcd/src/signal.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h +status.h +/home/niklas/fbgui/customdhcpcd/src/status.h +logwriter.h +/home/niklas/fbgui/customdhcpcd/src/logwriter.h + +/home/niklas/fbgui/customdhcpcd/src/configure.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h + +/home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c +stdio.h +- +stdlib.h +- + +/home/niklas/fbgui/customdhcpcd/src/dhcp.c +sys/types.h +- +sys/socket.h +- +sys/time.h +- +netinet/in.h +- +net/if_arp.h +- +arpa/inet.h +- +errno.h +- +limits.h +- +math.h +- +stdio.h +- +stdint.h +- +stdlib.h +- +string.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h + +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +netinet/in_systm.h +- +netinet/in.h +- +netinet/ip.h +- +netinet/udp.h +- +stdint.h +- +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c +sys/file.h +- +sys/types.h +- +sys/stat.h +- +arpa/inet.h +- +errno.h +- +fcntl.h +- +getopt.h +- +paths.h +- +signal.h +- +stdbool.h +- +stdio.h +- +stdlib.h +- +string.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +client.h +/home/niklas/fbgui/customdhcpcd/src/client.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h +version.h +/home/niklas/fbgui/customdhcpcd/src/version.h +logwriter.h +/home/niklas/fbgui/customdhcpcd/src/logwriter.h +status.h +/home/niklas/fbgui/customdhcpcd/src/status.h + +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +sys/param.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +limits.h +- +stdbool.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h + +/home/niklas/fbgui/customdhcpcd/src/discover.c + +/home/niklas/fbgui/customdhcpcd/src/duid.c +arpa/inet.h +- +errno.h +- +stdbool.h +- +stdlib.h +- +stdio.h +- +string.h +- +unistd.h +- +time.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +duid.h +/home/niklas/fbgui/customdhcpcd/src/duid.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h + +/home/niklas/fbgui/customdhcpcd/src/duid.h +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/info.c +sys/stat.h +- +arpa/inet.h +- +string.h +- +errno.h +- +stdio.h +- +stdlib.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +info.h +/home/niklas/fbgui/customdhcpcd/src/info.h + +/home/niklas/fbgui/customdhcpcd/src/info.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h + +/home/niklas/fbgui/customdhcpcd/src/interface.c +sys/types.h +- +sys/socket.h +- +sys/stat.h +- +sys/ioctl.h +- +sys/param.h +- +arpa/inet.h +- +asm/types.h +- +linux/netlink.h +- +linux/rtnetlink.h +- +netinet/ether.h +- +netpacket/packet.h +- +net/if_dl.h +- +net/if_types.h +- +net/route.h +- +netinet/in.h +- +ctype.h +- +errno.h +- +stddef.h +- +stdio.h +- +stdlib.h +- +string.h +- +unistd.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h + +/home/niklas/fbgui/customdhcpcd/src/interface.h +sys/types.h +- +sys/param.h +- +sys/queue.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +netinet/if_ether.h +- +limits.h +- +stdbool.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +linux/netlink.h +- + +/home/niklas/fbgui/customdhcpcd/src/ipv4ll.c +errno.h +- +stdlib.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +arp.h +/home/niklas/fbgui/customdhcpcd/src/arp.h +ipv4ll.h +/home/niklas/fbgui/customdhcpcd/src/ipv4ll.h + +/home/niklas/fbgui/customdhcpcd/src/ipv4ll.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/logger.c +sys/types.h +- +sys/socket.h +- +sys/un.h +- +ctype.h +- +stdarg.h +- +stdio.h +- +stdlib.h +- +string.h +- +syslog.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +logwriter.h +/home/niklas/fbgui/customdhcpcd/src/logwriter.h + +/home/niklas/fbgui/customdhcpcd/src/logger.h +syslog.h +- + +/home/niklas/fbgui/customdhcpcd/src/logwriter.c +arpa/inet.h +- +sys/types.h +- +sys/socket.h +- +sys/un.h +- +ctype.h +- +stdarg.h +- +stdio.h +- +stdlib.h +- +string.h +- +syslog.h +- +unistd.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +errno.h +/home/niklas/fbgui/customdhcpcd/src/errno.h +info.h +/home/niklas/fbgui/customdhcpcd/src/info.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +logwriter.h +/home/niklas/fbgui/customdhcpcd/src/logwriter.h +status.h +/home/niklas/fbgui/customdhcpcd/src/status.h +../../common/fbgui.h +/home/niklas/fbgui/customdhcpcd/src/../../common/fbgui.h + +/home/niklas/fbgui/customdhcpcd/src/logwriter.h +arpa/inet.h +- +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + +/home/niklas/fbgui/customdhcpcd/src/signal.c +sys/types.h +- +sys/socket.h +- +errno.h +- +poll.h +- +signal.h +- +string.h +- +unistd.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +signal.h +/home/niklas/fbgui/customdhcpcd/src/signal.h + +/home/niklas/fbgui/customdhcpcd/src/signal.h +poll.h +- + +/home/niklas/fbgui/customdhcpcd/src/socket.c +sys/types.h +- +sys/ioctl.h +- +sys/param.h +- +sys/socket.h +- +sys/uio.h +- +net/if.h +- +netinet/in_systm.h +- +netinet/in.h +- +netinet/udp.h +- +arpa/inet.h +- +errno.h +- +fcntl.h +- +stdio.h +- +stdlib.h +- +string.h +- +time.h +- +unistd.h +- +net/bpf.h +- +linux/filter.h +- +netpacket/packet.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h +logger.h +/home/niklas/fbgui/customdhcpcd/src/logger.h +socket.h +/home/niklas/fbgui/customdhcpcd/src/socket.h + +/home/niklas/fbgui/customdhcpcd/src/socket.h +stdbool.h +- +dhcp.h +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/status.h + +/home/niklas/fbgui/customdhcpcd/src/version.h + diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake new file mode 100644 index 0000000..a605779 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake @@ -0,0 +1,29 @@ +# The set of languages for which implicit dependencies are needed: +SET(CMAKE_DEPENDS_LANGUAGES + "C" + ) +# The set of files for implicit dependencies of each language: +SET(CMAKE_DEPENDS_CHECK_C + "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" + "/home/niklas/fbgui/customdhcpcd/src/arp.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/arp.c.o" + "/home/niklas/fbgui/customdhcpcd/src/client.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/client.c.o" + "/home/niklas/fbgui/customdhcpcd/src/common.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/common.c.o" + "/home/niklas/fbgui/customdhcpcd/src/configure.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/configure.c.o" + "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" + "/home/niklas/fbgui/customdhcpcd/src/dhcp.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" + "/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" + "/home/niklas/fbgui/customdhcpcd/src/discover.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/discover.c.o" + "/home/niklas/fbgui/customdhcpcd/src/duid.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/duid.c.o" + "/home/niklas/fbgui/customdhcpcd/src/info.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/info.c.o" + "/home/niklas/fbgui/customdhcpcd/src/interface.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/interface.c.o" + "/home/niklas/fbgui/customdhcpcd/src/ipv4ll.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" + "/home/niklas/fbgui/customdhcpcd/src/logger.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/logger.c.o" + "/home/niklas/fbgui/customdhcpcd/src/logwriter.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" + "/home/niklas/fbgui/customdhcpcd/src/signal.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/signal.c.o" + "/home/niklas/fbgui/customdhcpcd/src/socket.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/socket.c.o" + ) +SET(CMAKE_C_COMPILER_ID "GNU") + +# Targets to which this target links. +SET(CMAKE_TARGET_LINKED_INFO_FILES + ) diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make new file mode 100644 index 0000000..8327971 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make @@ -0,0 +1,533 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build + +# Include any dependencies generated for this target. +include CMakeFiles/libcustomdhcpcd.dir/depend.make + +# Include the progress variables for this target. +include CMakeFiles/libcustomdhcpcd.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/libcustomdhcpcd.dir/flags.make + +CMakeFiles/libcustomdhcpcd.dir/client.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/client.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/client.c.o -c /home/niklas/fbgui/customdhcpcd/src/client.c + +CMakeFiles/libcustomdhcpcd.dir/client.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/client.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/client.c > CMakeFiles/libcustomdhcpcd.dir/client.c.i + +CMakeFiles/libcustomdhcpcd.dir/client.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/client.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/client.c -o CMakeFiles/libcustomdhcpcd.dir/client.c.s + +CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/client.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_2) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcp.c + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcp.c > CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcp.c -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o: ../customdhcpcd.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_3) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o -c /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c > CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c -o CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_4) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/duid.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/duid.c.o -c /home/niklas/fbgui/customdhcpcd/src/duid.c + +CMakeFiles/libcustomdhcpcd.dir/duid.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/duid.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/duid.c > CMakeFiles/libcustomdhcpcd.dir/duid.c.i + +CMakeFiles/libcustomdhcpcd.dir/duid.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/duid.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/duid.c -o CMakeFiles/libcustomdhcpcd.dir/duid.c.s + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/duid.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_5) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -c /home/niklas/fbgui/customdhcpcd/src/logwriter.c + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logwriter.c > CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logwriter.c -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_6) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c > CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c -o CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: CMakeFiles/CompilerIdC/CMakeCCompilerId.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_7) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o -c /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c > CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c -o CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_8) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -c /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c > CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_9) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/arp.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/arp.c.o -c /home/niklas/fbgui/customdhcpcd/src/arp.c + +CMakeFiles/libcustomdhcpcd.dir/arp.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/arp.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/arp.c > CMakeFiles/libcustomdhcpcd.dir/arp.c.i + +CMakeFiles/libcustomdhcpcd.dir/arp.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/arp.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/arp.c -o CMakeFiles/libcustomdhcpcd.dir/arp.c.s + +CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/arp.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_10) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/interface.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/interface.c.o -c /home/niklas/fbgui/customdhcpcd/src/interface.c + +CMakeFiles/libcustomdhcpcd.dir/interface.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/interface.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/interface.c > CMakeFiles/libcustomdhcpcd.dir/interface.c.i + +CMakeFiles/libcustomdhcpcd.dir/interface.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/interface.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/interface.c -o CMakeFiles/libcustomdhcpcd.dir/interface.c.s + +CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/interface.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_11) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/configure.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/configure.c.o -c /home/niklas/fbgui/customdhcpcd/src/configure.c + +CMakeFiles/libcustomdhcpcd.dir/configure.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/configure.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/configure.c > CMakeFiles/libcustomdhcpcd.dir/configure.c.i + +CMakeFiles/libcustomdhcpcd.dir/configure.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/configure.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/configure.c -o CMakeFiles/libcustomdhcpcd.dir/configure.c.s + +CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/configure.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../signal.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_12) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/signal.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/signal.c.o -c /home/niklas/fbgui/customdhcpcd/src/signal.c + +CMakeFiles/libcustomdhcpcd.dir/signal.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/signal.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/signal.c > CMakeFiles/libcustomdhcpcd.dir/signal.c.i + +CMakeFiles/libcustomdhcpcd.dir/signal.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/signal.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/signal.c -o CMakeFiles/libcustomdhcpcd.dir/signal.c.s + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/signal.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_13) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/socket.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/socket.c.o -c /home/niklas/fbgui/customdhcpcd/src/socket.c + +CMakeFiles/libcustomdhcpcd.dir/socket.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/socket.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/socket.c > CMakeFiles/libcustomdhcpcd.dir/socket.c.i + +CMakeFiles/libcustomdhcpcd.dir/socket.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/socket.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/socket.c -o CMakeFiles/libcustomdhcpcd.dir/socket.c.s + +CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/socket.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/info.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_14) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/info.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/info.c.o -c /home/niklas/fbgui/customdhcpcd/src/info.c + +CMakeFiles/libcustomdhcpcd.dir/info.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/info.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/info.c > CMakeFiles/libcustomdhcpcd.dir/info.c.i + +CMakeFiles/libcustomdhcpcd.dir/info.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/info.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/info.c -o CMakeFiles/libcustomdhcpcd.dir/info.c.s + +CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/info.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/discover.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/discover.c.o: ../discover.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_15) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/discover.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/discover.c.o -c /home/niklas/fbgui/customdhcpcd/src/discover.c + +CMakeFiles/libcustomdhcpcd.dir/discover.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/discover.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/discover.c > CMakeFiles/libcustomdhcpcd.dir/discover.c.i + +CMakeFiles/libcustomdhcpcd.dir/discover.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/discover.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/discover.c -o CMakeFiles/libcustomdhcpcd.dir/discover.c.s + +CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/discover.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_16) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logger.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logger.c.o -c /home/niklas/fbgui/customdhcpcd/src/logger.c + +CMakeFiles/libcustomdhcpcd.dir/logger.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logger.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logger.c > CMakeFiles/libcustomdhcpcd.dir/logger.c.i + +CMakeFiles/libcustomdhcpcd.dir/logger.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logger.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logger.c -o CMakeFiles/libcustomdhcpcd.dir/logger.c.s + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logger.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/common.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_17) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/common.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/common.c.o -c /home/niklas/fbgui/customdhcpcd/src/common.c + +CMakeFiles/libcustomdhcpcd.dir/common.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/common.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/common.c > CMakeFiles/libcustomdhcpcd.dir/common.c.i + +CMakeFiles/libcustomdhcpcd.dir/common.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/common.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/common.c -o CMakeFiles/libcustomdhcpcd.dir/common.c.s + +CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/common.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build + +# Object files for target libcustomdhcpcd +libcustomdhcpcd_OBJECTS = \ +"CMakeFiles/libcustomdhcpcd.dir/client.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/duid.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/arp.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/interface.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/configure.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/signal.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/socket.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/info.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/discover.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/logger.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/common.c.o" + +# External object files for target libcustomdhcpcd +libcustomdhcpcd_EXTERNAL_OBJECTS = + +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/client.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/duid.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/arp.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/interface.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/configure.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/signal.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/socket.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/info.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/discover.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/logger.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/common.c.o +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/build.make +liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C static library liblibcustomdhcpcd.a" + $(CMAKE_COMMAND) -P CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/libcustomdhcpcd.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/libcustomdhcpcd.dir/build: liblibcustomdhcpcd.a +.PHONY : CMakeFiles/libcustomdhcpcd.dir/build + +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires +.PHONY : CMakeFiles/libcustomdhcpcd.dir/requires + +CMakeFiles/libcustomdhcpcd.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake +.PHONY : CMakeFiles/libcustomdhcpcd.dir/clean + +CMakeFiles/libcustomdhcpcd.dir/depend: + cd /home/niklas/fbgui/customdhcpcd/src/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/libcustomdhcpcd.dir/depend + diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake new file mode 100644 index 0000000..4ad0f09 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake @@ -0,0 +1,26 @@ +FILE(REMOVE_RECURSE + "CMakeFiles/libcustomdhcpcd.dir/client.c.o" + "CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" + "CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" + "CMakeFiles/libcustomdhcpcd.dir/duid.c.o" + "CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" + "CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" + "CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" + "CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" + "CMakeFiles/libcustomdhcpcd.dir/arp.c.o" + "CMakeFiles/libcustomdhcpcd.dir/interface.c.o" + "CMakeFiles/libcustomdhcpcd.dir/configure.c.o" + "CMakeFiles/libcustomdhcpcd.dir/signal.c.o" + "CMakeFiles/libcustomdhcpcd.dir/socket.c.o" + "CMakeFiles/libcustomdhcpcd.dir/info.c.o" + "CMakeFiles/libcustomdhcpcd.dir/discover.c.o" + "CMakeFiles/libcustomdhcpcd.dir/logger.c.o" + "CMakeFiles/libcustomdhcpcd.dir/common.c.o" + "liblibcustomdhcpcd.pdb" + "liblibcustomdhcpcd.a" +) + +# Per-language clean rules from dependency scanning. +FOREACH(lang C) + INCLUDE(CMakeFiles/libcustomdhcpcd.dir/cmake_clean_${lang}.cmake OPTIONAL) +ENDFOREACH(lang) diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake new file mode 100644 index 0000000..69d83d2 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake @@ -0,0 +1,3 @@ +FILE(REMOVE_RECURSE + "liblibcustomdhcpcd.a" +) diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal new file mode 100644 index 0000000..a22b805 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal @@ -0,0 +1,143 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o + /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c +CMakeFiles/libcustomdhcpcd.dir/arp.c.o + /home/niklas/fbgui/customdhcpcd/src/arp.c + /home/niklas/fbgui/customdhcpcd/src/arp.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/signal.h + /home/niklas/fbgui/customdhcpcd/src/socket.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o + /home/niklas/fbgui/customdhcpcd/src/arp.h + /home/niklas/fbgui/customdhcpcd/src/client.c + /home/niklas/fbgui/customdhcpcd/src/client.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/configure.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/duid.h + /home/niklas/fbgui/customdhcpcd/src/info.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/ipv4ll.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/logwriter.h + /home/niklas/fbgui/customdhcpcd/src/socket.h + /home/niklas/fbgui/customdhcpcd/src/status.h +CMakeFiles/libcustomdhcpcd.dir/common.c.o + /home/niklas/fbgui/customdhcpcd/src/common.c + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/logger.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/configure.c + /home/niklas/fbgui/customdhcpcd/src/configure.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/info.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/logwriter.h + /home/niklas/fbgui/customdhcpcd/src/socket.h + /home/niklas/fbgui/customdhcpcd/src/status.h +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o + /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.c + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/socket.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o + /home/niklas/fbgui/customdhcpcd/src/client.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/logwriter.h + /home/niklas/fbgui/customdhcpcd/src/socket.h + /home/niklas/fbgui/customdhcpcd/src/status.h + /home/niklas/fbgui/customdhcpcd/src/version.h +CMakeFiles/libcustomdhcpcd.dir/discover.c.o + /home/niklas/fbgui/customdhcpcd/src/discover.c +CMakeFiles/libcustomdhcpcd.dir/duid.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/duid.c + /home/niklas/fbgui/customdhcpcd/src/duid.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/info.c + /home/niklas/fbgui/customdhcpcd/src/info.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h +CMakeFiles/libcustomdhcpcd.dir/interface.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.c + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o + /home/niklas/fbgui/customdhcpcd/src/arp.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c + /home/niklas/fbgui/customdhcpcd/src/ipv4ll.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.c + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/logwriter.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o + /home/niklas/fbgui/customdhcpcd/src/../../common/fbgui.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/info.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/logwriter.c + /home/niklas/fbgui/customdhcpcd/src/logwriter.h + /home/niklas/fbgui/customdhcpcd/src/status.h +CMakeFiles/libcustomdhcpcd.dir/signal.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/signal.c +CMakeFiles/libcustomdhcpcd.dir/socket.c.o + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/logger.h + /home/niklas/fbgui/customdhcpcd/src/socket.c + /home/niklas/fbgui/customdhcpcd/src/socket.h diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make new file mode 100644 index 0000000..3616520 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make @@ -0,0 +1,143 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: CMakeFiles/CompilerIdC/CMakeCCompilerId.c + +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.c +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../signal.h +CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../socket.h + +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../arp.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.c +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../configure.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../duid.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../info.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../ipv4ll.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../logwriter.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../socket.h +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../status.h + +CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.c +CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../logger.h + +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.c +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../info.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../logwriter.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../socket.h +CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../status.h + +CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o: ../customdhcpcd.c + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../socket.h + +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../client.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../logwriter.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../socket.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../status.h +CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../version.h + +CMakeFiles/libcustomdhcpcd.dir/discover.c.o: ../discover.c + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.c +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.h +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../logger.h + +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.c +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../logger.h + +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.c +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../logger.h + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../arp.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.c +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.h + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.c +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logwriter.h + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../../../common/fbgui.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../info.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.c +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.h +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../status.h + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../signal.c + +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../common.h +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../config.h +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../dhcp.h +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../dhcpcd.h +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../interface.h +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../logger.h +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.c +CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.h + diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make new file mode 100644 index 0000000..1d28a45 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make @@ -0,0 +1,8 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# compile C with /usr/bin/gcc +C_FLAGS = -lrt + +C_DEFINES = + diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt new file mode 100644 index 0000000..4e05948 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt @@ -0,0 +1,2 @@ +/usr/bin/ar cr liblibcustomdhcpcd.a CMakeFiles/libcustomdhcpcd.dir/client.c.o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o CMakeFiles/libcustomdhcpcd.dir/duid.c.o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o CMakeFiles/libcustomdhcpcd.dir/arp.c.o CMakeFiles/libcustomdhcpcd.dir/interface.c.o CMakeFiles/libcustomdhcpcd.dir/configure.c.o CMakeFiles/libcustomdhcpcd.dir/signal.c.o CMakeFiles/libcustomdhcpcd.dir/socket.c.o CMakeFiles/libcustomdhcpcd.dir/info.c.o CMakeFiles/libcustomdhcpcd.dir/discover.c.o CMakeFiles/libcustomdhcpcd.dir/logger.c.o CMakeFiles/libcustomdhcpcd.dir/common.c.o +/usr/bin/ranlib liblibcustomdhcpcd.a diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make new file mode 100644 index 0000000..8946be8 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make @@ -0,0 +1,18 @@ +CMAKE_PROGRESS_1 = 2 +CMAKE_PROGRESS_2 = 3 +CMAKE_PROGRESS_3 = 4 +CMAKE_PROGRESS_4 = 5 +CMAKE_PROGRESS_5 = 6 +CMAKE_PROGRESS_6 = 7 +CMAKE_PROGRESS_7 = 8 +CMAKE_PROGRESS_8 = 9 +CMAKE_PROGRESS_9 = 10 +CMAKE_PROGRESS_10 = 11 +CMAKE_PROGRESS_11 = 12 +CMAKE_PROGRESS_12 = 13 +CMAKE_PROGRESS_13 = 14 +CMAKE_PROGRESS_14 = 15 +CMAKE_PROGRESS_15 = 16 +CMAKE_PROGRESS_16 = 17 +CMAKE_PROGRESS_17 = 18 + diff --git a/customdhcpcd/src/build/CMakeFiles/progress.marks b/customdhcpcd/src/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..3c03207 --- /dev/null +++ b/customdhcpcd/src/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +18 diff --git a/customdhcpcd/src/build/Makefile b/customdhcpcd/src/build/Makefile new file mode 100644 index 0000000..67b4550 --- /dev/null +++ b/customdhcpcd/src/build/Makefile @@ -0,0 +1,609 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 2.8 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canoncical targets will work. +.SUFFIXES: + +# Remove some rules from gmake that .SUFFIXES does not remove. +SUFFIXES = + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E remove -f + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." + /usr/bin/cmake -i . +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/progress.marks + $(MAKE) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named customdhcpcd + +# Build rule for target. +customdhcpcd: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 customdhcpcd +.PHONY : customdhcpcd + +# fast build rule for target. +customdhcpcd/fast: + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/build +.PHONY : customdhcpcd/fast + +#============================================================================= +# Target rules for targets named libcustomdhcpcd + +# Build rule for target. +libcustomdhcpcd: cmake_check_build_system + $(MAKE) -f CMakeFiles/Makefile2 libcustomdhcpcd +.PHONY : libcustomdhcpcd + +# fast build rule for target. +libcustomdhcpcd/fast: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/build +.PHONY : libcustomdhcpcd/fast + +CMakeFiles/CompilerIdC/CMakeCCompilerId.o: CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o +.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.o + +# target to build an object file +CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o +.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o + +CMakeFiles/CompilerIdC/CMakeCCompilerId.i: CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i +.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.i + +# target to preprocess a source file +CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i +.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i + +CMakeFiles/CompilerIdC/CMakeCCompilerId.s: CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s +.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.s + +# target to generate assembly for a file +CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s +.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s + +arp.o: arp.c.o +.PHONY : arp.o + +# target to build an object file +arp.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.o +.PHONY : arp.c.o + +arp.i: arp.c.i +.PHONY : arp.i + +# target to preprocess a source file +arp.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.i +.PHONY : arp.c.i + +arp.s: arp.c.s +.PHONY : arp.s + +# target to generate assembly for a file +arp.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.s +.PHONY : arp.c.s + +client.o: client.c.o +.PHONY : client.o + +# target to build an object file +client.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.o +.PHONY : client.c.o + +client.i: client.c.i +.PHONY : client.i + +# target to preprocess a source file +client.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.i +.PHONY : client.c.i + +client.s: client.c.s +.PHONY : client.s + +# target to generate assembly for a file +client.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.s +.PHONY : client.c.s + +common.o: common.c.o +.PHONY : common.o + +# target to build an object file +common.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.o +.PHONY : common.c.o + +common.i: common.c.i +.PHONY : common.i + +# target to preprocess a source file +common.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.i +.PHONY : common.c.i + +common.s: common.c.s +.PHONY : common.s + +# target to generate assembly for a file +common.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.s +.PHONY : common.c.s + +configure.o: configure.c.o +.PHONY : configure.o + +# target to build an object file +configure.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.o +.PHONY : configure.c.o + +configure.i: configure.c.i +.PHONY : configure.i + +# target to preprocess a source file +configure.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.i +.PHONY : configure.c.i + +configure.s: configure.c.s +.PHONY : configure.s + +# target to generate assembly for a file +configure.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.s +.PHONY : configure.c.s + +customdhcpcd.o: customdhcpcd.c.o +.PHONY : customdhcpcd.o + +# target to build an object file +customdhcpcd.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o +.PHONY : customdhcpcd.c.o + +customdhcpcd.i: customdhcpcd.c.i +.PHONY : customdhcpcd.i + +# target to preprocess a source file +customdhcpcd.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i +.PHONY : customdhcpcd.c.i + +customdhcpcd.s: customdhcpcd.c.s +.PHONY : customdhcpcd.s + +# target to generate assembly for a file +customdhcpcd.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s +.PHONY : customdhcpcd.c.s + +dhcp.o: dhcp.c.o +.PHONY : dhcp.o + +# target to build an object file +dhcp.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o +.PHONY : dhcp.c.o + +dhcp.i: dhcp.c.i +.PHONY : dhcp.i + +# target to preprocess a source file +dhcp.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i +.PHONY : dhcp.c.i + +dhcp.s: dhcp.c.s +.PHONY : dhcp.s + +# target to generate assembly for a file +dhcp.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s +.PHONY : dhcp.c.s + +dhcpcd.o: dhcpcd.c.o +.PHONY : dhcpcd.o + +# target to build an object file +dhcpcd.c.o: + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.o + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o +.PHONY : dhcpcd.c.o + +dhcpcd.i: dhcpcd.c.i +.PHONY : dhcpcd.i + +# target to preprocess a source file +dhcpcd.c.i: + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.i + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i +.PHONY : dhcpcd.c.i + +dhcpcd.s: dhcpcd.c.s +.PHONY : dhcpcd.s + +# target to generate assembly for a file +dhcpcd.c.s: + $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.s + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s +.PHONY : dhcpcd.c.s + +discover.o: discover.c.o +.PHONY : discover.o + +# target to build an object file +discover.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.o +.PHONY : discover.c.o + +discover.i: discover.c.i +.PHONY : discover.i + +# target to preprocess a source file +discover.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.i +.PHONY : discover.c.i + +discover.s: discover.c.s +.PHONY : discover.s + +# target to generate assembly for a file +discover.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.s +.PHONY : discover.c.s + +duid.o: duid.c.o +.PHONY : duid.o + +# target to build an object file +duid.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.o +.PHONY : duid.c.o + +duid.i: duid.c.i +.PHONY : duid.i + +# target to preprocess a source file +duid.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.i +.PHONY : duid.c.i + +duid.s: duid.c.s +.PHONY : duid.s + +# target to generate assembly for a file +duid.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.s +.PHONY : duid.c.s + +info.o: info.c.o +.PHONY : info.o + +# target to build an object file +info.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.o +.PHONY : info.c.o + +info.i: info.c.i +.PHONY : info.i + +# target to preprocess a source file +info.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.i +.PHONY : info.c.i + +info.s: info.c.s +.PHONY : info.s + +# target to generate assembly for a file +info.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.s +.PHONY : info.c.s + +interface.o: interface.c.o +.PHONY : interface.o + +# target to build an object file +interface.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.o +.PHONY : interface.c.o + +interface.i: interface.c.i +.PHONY : interface.i + +# target to preprocess a source file +interface.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.i +.PHONY : interface.c.i + +interface.s: interface.c.s +.PHONY : interface.s + +# target to generate assembly for a file +interface.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.s +.PHONY : interface.c.s + +ipv4ll.o: ipv4ll.c.o +.PHONY : ipv4ll.o + +# target to build an object file +ipv4ll.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o +.PHONY : ipv4ll.c.o + +ipv4ll.i: ipv4ll.c.i +.PHONY : ipv4ll.i + +# target to preprocess a source file +ipv4ll.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i +.PHONY : ipv4ll.c.i + +ipv4ll.s: ipv4ll.c.s +.PHONY : ipv4ll.s + +# target to generate assembly for a file +ipv4ll.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s +.PHONY : ipv4ll.c.s + +logger.o: logger.c.o +.PHONY : logger.o + +# target to build an object file +logger.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.o +.PHONY : logger.c.o + +logger.i: logger.c.i +.PHONY : logger.i + +# target to preprocess a source file +logger.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.i +.PHONY : logger.c.i + +logger.s: logger.c.s +.PHONY : logger.s + +# target to generate assembly for a file +logger.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.s +.PHONY : logger.c.s + +logwriter.o: logwriter.c.o +.PHONY : logwriter.o + +# target to build an object file +logwriter.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o +.PHONY : logwriter.c.o + +logwriter.i: logwriter.c.i +.PHONY : logwriter.i + +# target to preprocess a source file +logwriter.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i +.PHONY : logwriter.c.i + +logwriter.s: logwriter.c.s +.PHONY : logwriter.s + +# target to generate assembly for a file +logwriter.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s +.PHONY : logwriter.c.s + +signal.o: signal.c.o +.PHONY : signal.o + +# target to build an object file +signal.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.o +.PHONY : signal.c.o + +signal.i: signal.c.i +.PHONY : signal.i + +# target to preprocess a source file +signal.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.i +.PHONY : signal.c.i + +signal.s: signal.c.s +.PHONY : signal.s + +# target to generate assembly for a file +signal.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.s +.PHONY : signal.c.s + +socket.o: socket.c.o +.PHONY : socket.o + +# target to build an object file +socket.c.o: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.o +.PHONY : socket.c.o + +socket.i: socket.c.i +.PHONY : socket.i + +# target to preprocess a source file +socket.c.i: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.i +.PHONY : socket.c.i + +socket.s: socket.c.s +.PHONY : socket.s + +# target to generate assembly for a file +socket.c.s: + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.s +.PHONY : socket.c.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... customdhcpcd" + @echo "... edit_cache" + @echo "... libcustomdhcpcd" + @echo "... rebuild_cache" + @echo "... CMakeFiles/CompilerIdC/CMakeCCompilerId.o" + @echo "... CMakeFiles/CompilerIdC/CMakeCCompilerId.i" + @echo "... CMakeFiles/CompilerIdC/CMakeCCompilerId.s" + @echo "... arp.o" + @echo "... arp.i" + @echo "... arp.s" + @echo "... client.o" + @echo "... client.i" + @echo "... client.s" + @echo "... common.o" + @echo "... common.i" + @echo "... common.s" + @echo "... configure.o" + @echo "... configure.i" + @echo "... configure.s" + @echo "... customdhcpcd.o" + @echo "... customdhcpcd.i" + @echo "... customdhcpcd.s" + @echo "... dhcp.o" + @echo "... dhcp.i" + @echo "... dhcp.s" + @echo "... dhcpcd.o" + @echo "... dhcpcd.i" + @echo "... dhcpcd.s" + @echo "... discover.o" + @echo "... discover.i" + @echo "... discover.s" + @echo "... duid.o" + @echo "... duid.i" + @echo "... duid.s" + @echo "... info.o" + @echo "... info.i" + @echo "... info.s" + @echo "... interface.o" + @echo "... interface.i" + @echo "... interface.s" + @echo "... ipv4ll.o" + @echo "... ipv4ll.i" + @echo "... ipv4ll.s" + @echo "... logger.o" + @echo "... logger.i" + @echo "... logger.s" + @echo "... logwriter.o" + @echo "... logwriter.i" + @echo "... logwriter.s" + @echo "... signal.o" + @echo "... signal.i" + @echo "... signal.s" + @echo "... socket.o" + @echo "... socket.i" + @echo "... socket.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/customdhcpcd/src/build/cmake_install.cmake b/customdhcpcd/src/build/cmake_install.cmake new file mode 100644 index 0000000..fc577be --- /dev/null +++ b/customdhcpcd/src/build/cmake_install.cmake @@ -0,0 +1,44 @@ +# Install script for directory: /home/niklas/fbgui/customdhcpcd/src + +# Set the install prefix +IF(NOT DEFINED CMAKE_INSTALL_PREFIX) + SET(CMAKE_INSTALL_PREFIX "/usr/local") +ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) +STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + IF(BUILD_TYPE) + STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + ELSE(BUILD_TYPE) + SET(CMAKE_INSTALL_CONFIG_NAME "") + ENDIF(BUILD_TYPE) + MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + +# Set the component getting installed. +IF(NOT CMAKE_INSTALL_COMPONENT) + IF(COMPONENT) + MESSAGE(STATUS "Install component: \"${COMPONENT}\"") + SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + ELSE(COMPONENT) + SET(CMAKE_INSTALL_COMPONENT) + ENDIF(COMPONENT) +ENDIF(NOT CMAKE_INSTALL_COMPONENT) + +# Install shared libraries without execute permission? +IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + SET(CMAKE_INSTALL_SO_NO_EXE "1") +ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + +IF(CMAKE_INSTALL_COMPONENT) + SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +ELSE(CMAKE_INSTALL_COMPONENT) + SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +ENDIF(CMAKE_INSTALL_COMPONENT) + +FILE(WRITE "/home/niklas/fbgui/customdhcpcd/src/build/${CMAKE_INSTALL_MANIFEST}" "") +FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) + FILE(APPEND "/home/niklas/fbgui/customdhcpcd/src/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") +ENDFOREACH(file) diff --git a/customdhcpcd/src/build/customdhcpcd b/customdhcpcd/src/build/customdhcpcd new file mode 100755 index 0000000..3023d80 Binary files /dev/null and b/customdhcpcd/src/build/customdhcpcd differ diff --git a/customdhcpcd/src/build/liblibcustomdhcpcd.a b/customdhcpcd/src/build/liblibcustomdhcpcd.a new file mode 100644 index 0000000..60737ed Binary files /dev/null and b/customdhcpcd/src/build/liblibcustomdhcpcd.a differ diff --git a/customdhcpcd/src/mk/cc.mk b/customdhcpcd/src/mk/cc.mk deleted file mode 100644 index d52597b..0000000 --- a/customdhcpcd/src/mk/cc.mk +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright 2008 Roy Marples - -# Setup some good default CFLAGS -CFLAGS?= -O2 - -# Default to using the C99 standard -CSTD?= c99 -_CSTD_SH= if test -n "${CSTD}"; then echo "-std=${CSTD}"; else echo ""; fi -_CSTD!= ${_CSTD_SH} -CFLAGS+= ${_CSTD}$(shell ${_CSTD_SH}) - -# Try and use some good cc flags -_CC_FLAGS= -pedantic -Wall -Wunused -Wimplicit -Wshadow -Wformat=2 \ - -Wmissing-declarations -Wno-missing-prototypes -Wwrite-strings \ - -Wbad-function-cast -Wnested-externs -Wcomment -Winline \ - -Wchar-subscripts -Wcast-align -Wno-format-nonliteral \ - -Wdeclaration-after-statement -Wsequence-point -Wextra -_CC_FLAGS_SH= for f in ${_CC_FLAGS}; do \ - if ${CC} $$f -S -o /dev/null -xc /dev/null >/dev/null 2>&1; \ - then printf "%s" "$$f "; fi \ - done -_CC_FLAGS!= ${_CC_FLAGS_SH} -CFLAGS+= ${_CC_FLAGS}$(shell ${CC_FLAGS_SH}) diff --git a/customdhcpcd/src/mk/depend.mk b/customdhcpcd/src/mk/depend.mk deleted file mode 100644 index a4d717a..0000000 --- a/customdhcpcd/src/mk/depend.mk +++ /dev/null @@ -1,11 +0,0 @@ -# This only works for make implementations that always include a .depend if -# it exists. Only GNU make does not do this. - -# Copyright 2008 Roy Marples - -CLEANFILES+= .depend - -.depend: ${SRCS} - ${CC} ${CFLAGS} -MM ${SRCS} > .depend - -depend: .depend diff --git a/customdhcpcd/src/mk/dist.mk b/customdhcpcd/src/mk/dist.mk deleted file mode 100644 index 1d3669d..0000000 --- a/customdhcpcd/src/mk/dist.mk +++ /dev/null @@ -1,11 +0,0 @@ -# rules to make a distribution tarball from a git repo -# Copyright 2008 Roy Marples - -GITREF?= HEAD -DISTPREFIX?= ${PROG}-${VERSION} -DISTFILE?= ${DISTPREFIX}.tar.bz2 - -CLEANFILES+= ${DISTFILE} - -dist: - git archive --prefix=${DISTPREFIX}/ ${GITREF} | bzip2 > ${DISTFILE} diff --git a/customdhcpcd/src/mk/man.mk b/customdhcpcd/src/mk/man.mk deleted file mode 100644 index 5d9bf26..0000000 --- a/customdhcpcd/src/mk/man.mk +++ /dev/null @@ -1,14 +0,0 @@ -# rules to install manpages -# Copyright 2008 Roy Marples - -MANPREFIX?= /usr/share -MANDIR?= ${MANPREFIX}/man/man -MANMODE?= 0444 -MINSTALL?= ${INSTALL} -m ${MANMODE} - -man: ${MAN} - -# We cheat as all our pages go into section 8 -maninstall: man - ${INSTALL} -d ${DESTDIR}${MANDIR}8 - for man in ${MAN}; do ${MINSTALL} $$man ${DESTDIR}${MANDIR}8; done diff --git a/customdhcpcd/src/mk/os.mk b/customdhcpcd/src/mk/os.mk deleted file mode 100644 index af173fc..0000000 --- a/customdhcpcd/src/mk/os.mk +++ /dev/null @@ -1,77 +0,0 @@ -# Setup OS specific variables -# Copyright 2008 Roy Marples - -# Work out if we need -lresolv or not -_LIBRESOLV_SH= printf '\#include \n\#include \nint main (void) { return (res_init ()); }\n' > .res_init.c; \ - if ${CC} .res_init.c -o .res_init >/dev/null 2>&1; then \ - echo ""; \ - elif ${CC} .res_init.c -lresolv -o .res_init >/dev/null 2>&1; then \ - echo "-lresolv"; \ - else \ - echo "Cannot work out how to get res_init to link" >&2; \ - rm -f .res_init.c .res_init; \ - exit 1; \ - fi; \ - rm -f .res_init.c .res_init -_LIBRESOLV!= ${_LIBRESOLV_SH} -LIBRESOLV= ${_LIBRESOLV}$(shell ${_LIBRESOLV_SH}) - -# Work out if we need -lrt or not -_LIBRT_SH= printf '\#include \n\#include \n\nint main (void) { struct timespec ts;\n\#if defined(_POSIX_MONOTONIC_CLOCK) && defined(CLOCK_MONOTONIC)\nreturn (clock_gettime (CLOCK_MONOTONIC, &ts));\n\#else\nreturn -1;\n\#endif\n}\n' > .clock_gettime.c; \ - if ${CC} .clock_gettime.c -o .clock_gettime >/dev/null 2>&1; then \ - echo ""; \ - elif ${CC} .clock_gettime.c -lrt -o .clock_gettime >/dev/null 2>&1; then \ - echo "-lrt"; \ - else \ - echo ""; \ - fi; \ - rm -f .clock_gettime.c .clock_gettime -_LIBRT!= ${_LIBRT_SH} -LIBRT= ${_LIBRT}$(shell ${_LIBRT_SH}) - -# Work out if our fork() works or not -_HAVE_FORK_SH= if test "${HAVE_FORK}" = "yes"; then \ - echo ""; \ - elif test -n "${HAVE_FORK}"; then \ - echo "-DTHERE_IS_NO_FORK"; \ - else \ - printf '\#include \n\#include \nint main (void) { pid_t pid = fork(); if (pid == -1) exit (-1); exit (0); }\n' > .fork.c; \ - ${CC} .fork.c -o .fork >/dev/null 2>&1; \ - if ./.fork; then \ - echo ""; \ - else \ - echo "-DTHERE_IS_NO_FORK"; \ - fi; \ - rm -f .fork.c .fork; \ - fi; -_HAVE_FORK!= ${_HAVE_FORK_SH} -FORK= ${_HAVE_FORK}$(shell ${_HAVE_FORK_SH}) - -# info dir defaults to /var/lib/dhcpcd on Linux and /var/db elsewhere -_INFODIR_SH= if test -n "${INFODIR}"; then \ - echo "${INFODIR}"; \ - else \ - case `uname -s` in \ - Linux) echo "/var/lib/dhcpcd";; \ - *) echo "/var/db";; \ - esac \ - fi -_INFODIR!= ${_INFODIR_SH} -INFOD?= ${_INFODIR}$(shell ${_INFODIR_SH}) - -# Work out how to restart services -_RC_SH= if test -n "${HAVE_INIT}"; then \ - test "${HAVE_INIT}" = "no" || echo "-DENABLE_${HAVE_INIT}"; \ - elif test -x /sbin/runscript; then echo "-DENABLE_OPENRC"; \ - elif test -x /sbin/service; then echo "-DENABLE_SERVICE"; \ - elif test -x /etc/rc.d/rc.S -a -x /etc/rc.d/rc.M; then echo "-DENABLE_SLACKRC"; \ - elif test -d /etc/rc.d; then echo "-DENABLE_BSDRC"; \ - elif test -d /etc/init.d; then echo "-DENABLE_SYSV"; \ - fi -_RC!= ${_RC_SH} -RC= ${_RC}$(shell ${_RC_SH}) - -# glibc requires _BSD_SOURCE and _XOPEN_SOURCE -_DEF_SH= case `uname -s` in Linux) echo "-D_BSD_SOURCE -D_XOPEN_SOURCE=600";; *) echo;; esac -_DEF!= ${_DEF_SH} -CFLAGS+= ${_DEF}$(shell ${_DEF_SH}) diff --git a/customdhcpcd/src/mk/prog.mk b/customdhcpcd/src/mk/prog.mk deleted file mode 100644 index 6f2560c..0000000 --- a/customdhcpcd/src/mk/prog.mk +++ /dev/null @@ -1,34 +0,0 @@ -# rules to build a program -# based on FreeBSD's bsd.prog.mk - -# Copyright 2008 Roy Marples - -BINDIR?= ${PREFIX}/usr/bin -BINMODE?= 0755 -OBJS+= ${SRCS:.c=.o} - -INSTALL?= install - -all: ${PROG} ${MAN} - -${PROG}: ${SCRIPTS} ${OBJS} - ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD} - -_proginstall: ${PROG} - ${INSTALL} -d ${DESTDIR}${BINDIR} - ${INSTALL} -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR} - -include ${MK}/depend.mk -include ${MK}/man.mk -include ${MK}/dist.mk - -install: _proginstall maninstall - -clean: - rm -f ${OBJS} ${PROG} ${CLEANFILES} - -LINTFLAGS?= -hx -LINTFLAGS+= -X 159,247,352 - -lint: ${SRCS:.c=.c} - ${LINT} ${LINTFLAGS} ${CFLAGS:M-[DIU]*} $^ ${.ALLSRC} -- cgit v1.2.3-55-g7522 From 0ddb46dfb591606cd2404a27c2d9e5dec96d61fd Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 5 Sep 2011 18:06:52 +0200 Subject: finaly managed it to create a .so lib of the customdhcpcd files. the dhcpcd.c file is not included in this lib (it contains the main function) --- customdhcpcd/src/CMakeLists.txt | 8 +- customdhcpcd/src/build/CMakeFiles/Makefile.cmake | 16 + customdhcpcd/src/build/CMakeFiles/Makefile2 | 6 +- .../build/CMakeFiles/customdhcpcd.dir/build.make | 2 +- .../src/build/CMakeFiles/customdhcpcd.dir/link.txt | 2 +- .../CMakeFiles/libcustomdhcpcd.dir/C.includecache | 60 --- .../libcustomdhcpcd.dir/DependInfo.cmake | 3 - .../CMakeFiles/libcustomdhcpcd.dir/build.make | 562 +++++++++------------ .../libcustomdhcpcd.dir/cmake_clean.cmake | 23 +- .../libcustomdhcpcd.dir/cmake_clean_target.cmake | 3 - .../CMakeFiles/libcustomdhcpcd.dir/depend.internal | 17 - .../CMakeFiles/libcustomdhcpcd.dir/depend.make | 17 - .../CMakeFiles/libcustomdhcpcd.dir/flags.make | 4 +- .../build/CMakeFiles/libcustomdhcpcd.dir/link.txt | 3 +- .../CMakeFiles/libcustomdhcpcd.dir/progress.make | 3 - customdhcpcd/src/build/CMakeFiles/progress.marks | 2 +- customdhcpcd/src/build/Makefile | 57 --- customdhcpcd/src/build/customdhcpcd | Bin 85951 -> 17407 bytes customdhcpcd/src/build/liblibcustomdhcpcd.a | Bin 106910 -> 0 bytes customdhcpcd/src/build/liblibcustomdhcpcd.so | Bin 0 -> 81333 bytes customdhcpcd/src/customdhcpcd.c | 17 - 21 files changed, 281 insertions(+), 524 deletions(-) delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake delete mode 100644 customdhcpcd/src/build/liblibcustomdhcpcd.a create mode 100755 customdhcpcd/src/build/liblibcustomdhcpcd.so delete mode 100644 customdhcpcd/src/customdhcpcd.c diff --git a/customdhcpcd/src/CMakeLists.txt b/customdhcpcd/src/CMakeLists.txt index 16ad4af..0511204 100644 --- a/customdhcpcd/src/CMakeLists.txt +++ b/customdhcpcd/src/CMakeLists.txt @@ -4,10 +4,14 @@ project(customdhcpdcd) set(CMAKE_C_FLAGS "-lrt") -file(GLOB_RECURSE CUSTOMDHCPCD_SOURCES *.c) +set(CUSTOMDHCPCD_SOURCES arp.c configure.c info.c logger.c socket.c client.c discover.c interface.c logwriter.c +common.c dhcp.c duid.c ipv4ll.c signal.c) + +#file(GLOB_RECURSE CUSTOMDHCPCD_SOURCES *.c) file(GLOB_RECURSE CUSTOMDHCPCD_HEADERS *.h) -add_library(libcustomdhcpcd ${CUSTOMDHCPCD_SOURCES} ${CUSTOMDHCPCD_HEADERS}) +add_library(libcustomdhcpcd SHARED ${CUSTOMDHCPCD_SOURCES} ${CUSTOMDHCPCD_HEADERS}) +#add_executable(customdhcpcd ${CUSTOMDHCPCD_SOURCES}) add_executable(customdhcpcd dhcpcd.c) target_link_libraries(customdhcpcd libcustomdhcpcd ) diff --git a/customdhcpcd/src/build/CMakeFiles/Makefile.cmake b/customdhcpcd/src/build/CMakeFiles/Makefile.cmake index 4547921..606e601 100644 --- a/customdhcpcd/src/build/CMakeFiles/Makefile.cmake +++ b/customdhcpcd/src/build/CMakeFiles/Makefile.cmake @@ -11,11 +11,27 @@ SET(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/CMakeCCompiler.cmake" "CMakeFiles/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-2.8/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-2.8/Modules/CMakeUnixFindMake.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" diff --git a/customdhcpcd/src/build/CMakeFiles/Makefile2 b/customdhcpcd/src/build/CMakeFiles/Makefile2 index e9d5f1b..b202eec 100644 --- a/customdhcpcd/src/build/CMakeFiles/Makefile2 +++ b/customdhcpcd/src/build/CMakeFiles/Makefile2 @@ -66,7 +66,7 @@ all: CMakeFiles/customdhcpcd.dir/all # Build rule for subdir invocation for target. CMakeFiles/customdhcpcd.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 18 + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 15 $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/customdhcpcd.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 .PHONY : CMakeFiles/customdhcpcd.dir/rule @@ -91,7 +91,7 @@ clean: CMakeFiles/customdhcpcd.dir/clean CMakeFiles/libcustomdhcpcd.dir/all: $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/depend $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/build - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 2 3 4 5 6 7 8 9 10 11 12 13 14 15 @echo "Built target libcustomdhcpcd" .PHONY : CMakeFiles/libcustomdhcpcd.dir/all @@ -101,7 +101,7 @@ all: CMakeFiles/libcustomdhcpcd.dir/all # Build rule for subdir invocation for target. CMakeFiles/libcustomdhcpcd.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 17 + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 14 $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/libcustomdhcpcd.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 .PHONY : CMakeFiles/libcustomdhcpcd.dir/rule diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make index 13465f1..d34edb9 100644 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make @@ -78,7 +78,7 @@ customdhcpcd_OBJECTS = \ customdhcpcd_EXTERNAL_OBJECTS = customdhcpcd: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -customdhcpcd: liblibcustomdhcpcd.a +customdhcpcd: liblibcustomdhcpcd.so customdhcpcd: CMakeFiles/customdhcpcd.dir/build.make customdhcpcd: CMakeFiles/customdhcpcd.dir/link.txt @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C executable customdhcpcd" diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt index 714a859..ae32338 100644 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt +++ b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt @@ -1 +1 @@ -/usr/bin/gcc -lrt CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -o customdhcpcd -rdynamic liblibcustomdhcpcd.a +/usr/bin/gcc -lrt CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -o customdhcpcd -rdynamic liblibcustomdhcpcd.so -Wl,-rpath,/home/niklas/fbgui/customdhcpcd/src/build diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache index fe17545..a516109 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache @@ -60,8 +60,6 @@ netinet/in.h interface.h /home/niklas/fbgui/customdhcpcd/src/interface.h -/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c - /home/niklas/fbgui/customdhcpcd/src/client.c sys/time.h - @@ -228,12 +226,6 @@ interface.h dhcp.h /home/niklas/fbgui/customdhcpcd/src/dhcp.h -/home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c -stdio.h -- -stdlib.h -- - /home/niklas/fbgui/customdhcpcd/src/dhcp.c sys/types.h - @@ -292,56 +284,6 @@ dhcpcd.h interface.h /home/niklas/fbgui/customdhcpcd/src/interface.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c -sys/file.h -- -sys/types.h -- -sys/stat.h -- -arpa/inet.h -- -errno.h -- -fcntl.h -- -getopt.h -- -paths.h -- -signal.h -- -stdbool.h -- -stdio.h -- -stdlib.h -- -string.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -client.h -/home/niklas/fbgui/customdhcpcd/src/client.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h -version.h -/home/niklas/fbgui/customdhcpcd/src/version.h -logwriter.h -/home/niklas/fbgui/customdhcpcd/src/logwriter.h -status.h -/home/niklas/fbgui/customdhcpcd/src/status.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h sys/param.h - @@ -696,5 +638,3 @@ interface.h /home/niklas/fbgui/customdhcpcd/src/status.h -/home/niklas/fbgui/customdhcpcd/src/version.h - diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake index a605779..755bdc7 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake @@ -4,14 +4,11 @@ SET(CMAKE_DEPENDS_LANGUAGES ) # The set of files for implicit dependencies of each language: SET(CMAKE_DEPENDS_CHECK_C - "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" "/home/niklas/fbgui/customdhcpcd/src/arp.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/arp.c.o" "/home/niklas/fbgui/customdhcpcd/src/client.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/client.c.o" "/home/niklas/fbgui/customdhcpcd/src/common.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/common.c.o" "/home/niklas/fbgui/customdhcpcd/src/configure.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/configure.c.o" - "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" "/home/niklas/fbgui/customdhcpcd/src/dhcp.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" - "/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" "/home/niklas/fbgui/customdhcpcd/src/discover.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/discover.c.o" "/home/niklas/fbgui/customdhcpcd/src/duid.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/duid.c.o" "/home/niklas/fbgui/customdhcpcd/src/info.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/info.c.o" diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make index 8327971..c2e1014 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make @@ -46,201 +46,9 @@ include CMakeFiles/libcustomdhcpcd.dir/progress.make # Include the compile flags for this target's objects. include CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/client.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_1) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/client.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/client.c.o -c /home/niklas/fbgui/customdhcpcd/src/client.c - -CMakeFiles/libcustomdhcpcd.dir/client.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/client.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/client.c > CMakeFiles/libcustomdhcpcd.dir/client.c.i - -CMakeFiles/libcustomdhcpcd.dir/client.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/client.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/client.c -o CMakeFiles/libcustomdhcpcd.dir/client.c.s - -CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/client.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_2) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcp.c - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcp.c > CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcp.c -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o: ../customdhcpcd.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_3) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o -c /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c - -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c > CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i - -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c -o CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s - -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_4) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/duid.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/duid.c.o -c /home/niklas/fbgui/customdhcpcd/src/duid.c - -CMakeFiles/libcustomdhcpcd.dir/duid.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/duid.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/duid.c > CMakeFiles/libcustomdhcpcd.dir/duid.c.i - -CMakeFiles/libcustomdhcpcd.dir/duid.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/duid.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/duid.c -o CMakeFiles/libcustomdhcpcd.dir/duid.c.s - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/duid.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_5) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -c /home/niklas/fbgui/customdhcpcd/src/logwriter.c - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logwriter.c > CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logwriter.c -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_6) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c - -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c > CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i - -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c -o CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s - -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: CMakeFiles/CompilerIdC/CMakeCCompilerId.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_7) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o -c /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c - -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c > CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i - -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c -o CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s - -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_8) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -c /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c > CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build - CMakeFiles/libcustomdhcpcd.dir/arp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_9) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_1) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/arp.c.o" /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/arp.c.o -c /home/niklas/fbgui/customdhcpcd/src/arp.c @@ -262,33 +70,9 @@ CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/ CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/arp.c.o .PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_10) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/interface.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/interface.c.o -c /home/niklas/fbgui/customdhcpcd/src/interface.c - -CMakeFiles/libcustomdhcpcd.dir/interface.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/interface.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/interface.c > CMakeFiles/libcustomdhcpcd.dir/interface.c.i - -CMakeFiles/libcustomdhcpcd.dir/interface.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/interface.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/interface.c -o CMakeFiles/libcustomdhcpcd.dir/interface.c.s - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/interface.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build - CMakeFiles/libcustomdhcpcd.dir/configure.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_11) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_2) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/configure.c.o" /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/configure.c.o -c /home/niklas/fbgui/customdhcpcd/src/configure.c @@ -310,33 +94,57 @@ CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides: CMakeFiles/libcustomdhcpc CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/configure.c.o .PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../signal.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_12) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/signal.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/signal.c.o -c /home/niklas/fbgui/customdhcpcd/src/signal.c +CMakeFiles/libcustomdhcpcd.dir/info.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_3) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/info.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/info.c.o -c /home/niklas/fbgui/customdhcpcd/src/info.c -CMakeFiles/libcustomdhcpcd.dir/signal.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/signal.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/signal.c > CMakeFiles/libcustomdhcpcd.dir/signal.c.i +CMakeFiles/libcustomdhcpcd.dir/info.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/info.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/info.c > CMakeFiles/libcustomdhcpcd.dir/info.c.i -CMakeFiles/libcustomdhcpcd.dir/signal.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/signal.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/signal.c -o CMakeFiles/libcustomdhcpcd.dir/signal.c.s +CMakeFiles/libcustomdhcpcd.dir/info.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/info.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/info.c -o CMakeFiles/libcustomdhcpcd.dir/info.c.s -CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides +CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides -CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/signal.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build +CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/info.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_4) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logger.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logger.c.o -c /home/niklas/fbgui/customdhcpcd/src/logger.c + +CMakeFiles/libcustomdhcpcd.dir/logger.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logger.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logger.c > CMakeFiles/libcustomdhcpcd.dir/logger.c.i + +CMakeFiles/libcustomdhcpcd.dir/logger.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logger.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logger.c -o CMakeFiles/libcustomdhcpcd.dir/logger.c.s + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logger.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build CMakeFiles/libcustomdhcpcd.dir/socket.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_13) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_5) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/socket.c.o" /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/socket.c.o -c /home/niklas/fbgui/customdhcpcd/src/socket.c @@ -358,33 +166,33 @@ CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides: CMakeFiles/libcustomdhcpcd.d CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/socket.c.o .PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build -CMakeFiles/libcustomdhcpcd.dir/info.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_14) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/info.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/info.c.o -c /home/niklas/fbgui/customdhcpcd/src/info.c +CMakeFiles/libcustomdhcpcd.dir/client.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_6) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/client.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/client.c.o -c /home/niklas/fbgui/customdhcpcd/src/client.c -CMakeFiles/libcustomdhcpcd.dir/info.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/info.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/info.c > CMakeFiles/libcustomdhcpcd.dir/info.c.i +CMakeFiles/libcustomdhcpcd.dir/client.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/client.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/client.c > CMakeFiles/libcustomdhcpcd.dir/client.c.i -CMakeFiles/libcustomdhcpcd.dir/info.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/info.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/info.c -o CMakeFiles/libcustomdhcpcd.dir/info.c.s +CMakeFiles/libcustomdhcpcd.dir/client.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/client.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/client.c -o CMakeFiles/libcustomdhcpcd.dir/client.c.s -CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides +CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides -CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/info.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build +CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/client.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build CMakeFiles/libcustomdhcpcd.dir/discover.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make CMakeFiles/libcustomdhcpcd.dir/discover.c.o: ../discover.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_15) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_7) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/discover.c.o" /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/discover.c.o -c /home/niklas/fbgui/customdhcpcd/src/discover.c @@ -406,33 +214,57 @@ CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides: CMakeFiles/libcustomdhcpcd CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/discover.c.o .PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_16) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logger.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logger.c.o -c /home/niklas/fbgui/customdhcpcd/src/logger.c +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_8) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/interface.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/interface.c.o -c /home/niklas/fbgui/customdhcpcd/src/interface.c -CMakeFiles/libcustomdhcpcd.dir/logger.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logger.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logger.c > CMakeFiles/libcustomdhcpcd.dir/logger.c.i +CMakeFiles/libcustomdhcpcd.dir/interface.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/interface.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/interface.c > CMakeFiles/libcustomdhcpcd.dir/interface.c.i -CMakeFiles/libcustomdhcpcd.dir/logger.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logger.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logger.c -o CMakeFiles/libcustomdhcpcd.dir/logger.c.s +CMakeFiles/libcustomdhcpcd.dir/interface.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/interface.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/interface.c -o CMakeFiles/libcustomdhcpcd.dir/interface.c.s -CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides +CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides -CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logger.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build +CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/interface.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_9) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -c /home/niklas/fbgui/customdhcpcd/src/logwriter.c + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logwriter.c > CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logwriter.c -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build CMakeFiles/libcustomdhcpcd.dir/common.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_17) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_10) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/common.c.o" /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/common.c.o -c /home/niklas/fbgui/customdhcpcd/src/common.c @@ -454,73 +286,159 @@ CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides: CMakeFiles/libcustomdhcpcd.d CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/common.c.o .PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_11) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcp.c + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcp.c > CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcp.c -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_12) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/duid.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/duid.c.o -c /home/niklas/fbgui/customdhcpcd/src/duid.c + +CMakeFiles/libcustomdhcpcd.dir/duid.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/duid.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/duid.c > CMakeFiles/libcustomdhcpcd.dir/duid.c.i + +CMakeFiles/libcustomdhcpcd.dir/duid.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/duid.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/duid.c -o CMakeFiles/libcustomdhcpcd.dir/duid.c.s + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/duid.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_13) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -c /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c > CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make +CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../signal.c + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_14) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/signal.c.o" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/signal.c.o -c /home/niklas/fbgui/customdhcpcd/src/signal.c + +CMakeFiles/libcustomdhcpcd.dir/signal.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/signal.c.i" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/signal.c > CMakeFiles/libcustomdhcpcd.dir/signal.c.i + +CMakeFiles/libcustomdhcpcd.dir/signal.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/signal.c.s" + /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/signal.c -o CMakeFiles/libcustomdhcpcd.dir/signal.c.s + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires: +.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires + $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build +.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides + +CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/signal.c.o +.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build + # Object files for target libcustomdhcpcd libcustomdhcpcd_OBJECTS = \ -"CMakeFiles/libcustomdhcpcd.dir/client.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/duid.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" \ "CMakeFiles/libcustomdhcpcd.dir/arp.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/interface.c.o" \ "CMakeFiles/libcustomdhcpcd.dir/configure.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/signal.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/socket.c.o" \ "CMakeFiles/libcustomdhcpcd.dir/info.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/discover.c.o" \ "CMakeFiles/libcustomdhcpcd.dir/logger.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/common.c.o" +"CMakeFiles/libcustomdhcpcd.dir/socket.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/client.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/discover.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/interface.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/common.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/duid.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" \ +"CMakeFiles/libcustomdhcpcd.dir/signal.c.o" # External object files for target libcustomdhcpcd libcustomdhcpcd_EXTERNAL_OBJECTS = -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/client.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/duid.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/arp.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/interface.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/configure.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/signal.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/socket.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/info.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/discover.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/logger.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/common.c.o -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/build.make -liblibcustomdhcpcd.a: CMakeFiles/libcustomdhcpcd.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C static library liblibcustomdhcpcd.a" - $(CMAKE_COMMAND) -P CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/arp.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/configure.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/info.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/logger.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/socket.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/client.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/discover.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/interface.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/common.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/duid.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/signal.c.o +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/build.make +liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C shared library liblibcustomdhcpcd.so" $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/libcustomdhcpcd.dir/link.txt --verbose=$(VERBOSE) # Rule to build all files generated by this target. -CMakeFiles/libcustomdhcpcd.dir/build: liblibcustomdhcpcd.a +CMakeFiles/libcustomdhcpcd.dir/build: liblibcustomdhcpcd.so .PHONY : CMakeFiles/libcustomdhcpcd.dir/build -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires +CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires .PHONY : CMakeFiles/libcustomdhcpcd.dir/requires CMakeFiles/libcustomdhcpcd.dir/clean: diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake index 4ad0f09..c8639bb 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake @@ -1,23 +1,20 @@ FILE(REMOVE_RECURSE - "CMakeFiles/libcustomdhcpcd.dir/client.c.o" - "CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" - "CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o" - "CMakeFiles/libcustomdhcpcd.dir/duid.c.o" - "CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" - "CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o" - "CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o" - "CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" "CMakeFiles/libcustomdhcpcd.dir/arp.c.o" - "CMakeFiles/libcustomdhcpcd.dir/interface.c.o" "CMakeFiles/libcustomdhcpcd.dir/configure.c.o" - "CMakeFiles/libcustomdhcpcd.dir/signal.c.o" - "CMakeFiles/libcustomdhcpcd.dir/socket.c.o" "CMakeFiles/libcustomdhcpcd.dir/info.c.o" - "CMakeFiles/libcustomdhcpcd.dir/discover.c.o" "CMakeFiles/libcustomdhcpcd.dir/logger.c.o" + "CMakeFiles/libcustomdhcpcd.dir/socket.c.o" + "CMakeFiles/libcustomdhcpcd.dir/client.c.o" + "CMakeFiles/libcustomdhcpcd.dir/discover.c.o" + "CMakeFiles/libcustomdhcpcd.dir/interface.c.o" + "CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" "CMakeFiles/libcustomdhcpcd.dir/common.c.o" + "CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" + "CMakeFiles/libcustomdhcpcd.dir/duid.c.o" + "CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" + "CMakeFiles/libcustomdhcpcd.dir/signal.c.o" "liblibcustomdhcpcd.pdb" - "liblibcustomdhcpcd.a" + "liblibcustomdhcpcd.so" ) # Per-language clean rules from dependency scanning. diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake deleted file mode 100644 index 69d83d2..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean_target.cmake +++ /dev/null @@ -1,3 +0,0 @@ -FILE(REMOVE_RECURSE - "liblibcustomdhcpcd.a" -) diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal index a22b805..89b741d 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal @@ -1,8 +1,6 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 2.8 -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o - /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c CMakeFiles/libcustomdhcpcd.dir/arp.c.o /home/niklas/fbgui/customdhcpcd/src/arp.c /home/niklas/fbgui/customdhcpcd/src/arp.h @@ -48,8 +46,6 @@ CMakeFiles/libcustomdhcpcd.dir/configure.c.o /home/niklas/fbgui/customdhcpcd/src/logwriter.h /home/niklas/fbgui/customdhcpcd/src/socket.h /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o - /home/niklas/fbgui/customdhcpcd/src/customdhcpcd.c CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o /home/niklas/fbgui/customdhcpcd/src/common.h /home/niklas/fbgui/customdhcpcd/src/config.h @@ -59,19 +55,6 @@ CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o /home/niklas/fbgui/customdhcpcd/src/interface.h /home/niklas/fbgui/customdhcpcd/src/logger.h /home/niklas/fbgui/customdhcpcd/src/socket.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o - /home/niklas/fbgui/customdhcpcd/src/client.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/logwriter.h - /home/niklas/fbgui/customdhcpcd/src/socket.h - /home/niklas/fbgui/customdhcpcd/src/status.h - /home/niklas/fbgui/customdhcpcd/src/version.h CMakeFiles/libcustomdhcpcd.dir/discover.c.o /home/niklas/fbgui/customdhcpcd/src/discover.c CMakeFiles/libcustomdhcpcd.dir/duid.c.o diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make index 3616520..3813750 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make @@ -1,8 +1,6 @@ # CMAKE generated file: DO NOT EDIT! # Generated by "Unix Makefiles" Generator, CMake Version 2.8 -CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: CMakeFiles/CompilerIdC/CMakeCCompilerId.c - CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.c CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.h CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../common.h @@ -48,8 +46,6 @@ CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../logwriter.h CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../socket.h CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../status.h -CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o: ../customdhcpcd.c - CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../common.h CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../config.h CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c @@ -59,19 +55,6 @@ CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../interface.h CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../logger.h CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../socket.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../client.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../logwriter.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../socket.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../status.h -CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o: ../version.h - CMakeFiles/libcustomdhcpcd.dir/discover.c.o: ../discover.c CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../common.h diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make index 1d28a45..5797680 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make @@ -2,7 +2,7 @@ # Generated by "Unix Makefiles" Generator, CMake Version 2.8 # compile C with /usr/bin/gcc -C_FLAGS = -lrt +C_FLAGS = -lrt -fPIC -C_DEFINES = +C_DEFINES = -Dlibcustomdhcpcd_EXPORTS diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt index 4e05948..891527e 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt @@ -1,2 +1 @@ -/usr/bin/ar cr liblibcustomdhcpcd.a CMakeFiles/libcustomdhcpcd.dir/client.c.o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o CMakeFiles/libcustomdhcpcd.dir/duid.c.o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o CMakeFiles/libcustomdhcpcd.dir/arp.c.o CMakeFiles/libcustomdhcpcd.dir/interface.c.o CMakeFiles/libcustomdhcpcd.dir/configure.c.o CMakeFiles/libcustomdhcpcd.dir/signal.c.o CMakeFiles/libcustomdhcpcd.dir/socket.c.o CMakeFiles/libcustomdhcpcd.dir/info.c.o CMakeFiles/libcustomdhcpcd.dir/discover.c.o CMakeFiles/libcustomdhcpcd.dir/logger.c.o CMakeFiles/libcustomdhcpcd.dir/common.c.o -/usr/bin/ranlib liblibcustomdhcpcd.a +/usr/bin/gcc -fPIC -lrt -shared -Wl,-soname,liblibcustomdhcpcd.so -o liblibcustomdhcpcd.so CMakeFiles/libcustomdhcpcd.dir/arp.c.o CMakeFiles/libcustomdhcpcd.dir/configure.c.o CMakeFiles/libcustomdhcpcd.dir/info.c.o CMakeFiles/libcustomdhcpcd.dir/logger.c.o CMakeFiles/libcustomdhcpcd.dir/socket.c.o CMakeFiles/libcustomdhcpcd.dir/client.c.o CMakeFiles/libcustomdhcpcd.dir/discover.c.o CMakeFiles/libcustomdhcpcd.dir/interface.c.o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o CMakeFiles/libcustomdhcpcd.dir/common.c.o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o CMakeFiles/libcustomdhcpcd.dir/duid.c.o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o CMakeFiles/libcustomdhcpcd.dir/signal.c.o diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make index 8946be8..2fcff7f 100644 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make +++ b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make @@ -12,7 +12,4 @@ CMAKE_PROGRESS_11 = 12 CMAKE_PROGRESS_12 = 13 CMAKE_PROGRESS_13 = 14 CMAKE_PROGRESS_14 = 15 -CMAKE_PROGRESS_15 = 16 -CMAKE_PROGRESS_16 = 17 -CMAKE_PROGRESS_17 = 18 diff --git a/customdhcpcd/src/build/CMakeFiles/progress.marks b/customdhcpcd/src/build/CMakeFiles/progress.marks index 3c03207..60d3b2f 100644 --- a/customdhcpcd/src/build/CMakeFiles/progress.marks +++ b/customdhcpcd/src/build/CMakeFiles/progress.marks @@ -1 +1 @@ -18 +15 diff --git a/customdhcpcd/src/build/Makefile b/customdhcpcd/src/build/Makefile index 67b4550..ba62eb2 100644 --- a/customdhcpcd/src/build/Makefile +++ b/customdhcpcd/src/build/Makefile @@ -121,30 +121,6 @@ libcustomdhcpcd/fast: $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/build .PHONY : libcustomdhcpcd/fast -CMakeFiles/CompilerIdC/CMakeCCompilerId.o: CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o -.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.o - -# target to build an object file -CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o -.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.c.o - -CMakeFiles/CompilerIdC/CMakeCCompilerId.i: CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i -.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.i - -# target to preprocess a source file -CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i -.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.c.i - -CMakeFiles/CompilerIdC/CMakeCCompilerId.s: CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s -.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.s - -# target to generate assembly for a file -CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s -.PHONY : CMakeFiles/CompilerIdC/CMakeCCompilerId.c.s - arp.o: arp.c.o .PHONY : arp.o @@ -241,30 +217,6 @@ configure.c.s: $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.s .PHONY : configure.c.s -customdhcpcd.o: customdhcpcd.c.o -.PHONY : customdhcpcd.o - -# target to build an object file -customdhcpcd.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.o -.PHONY : customdhcpcd.c.o - -customdhcpcd.i: customdhcpcd.c.i -.PHONY : customdhcpcd.i - -# target to preprocess a source file -customdhcpcd.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.i -.PHONY : customdhcpcd.c.i - -customdhcpcd.s: customdhcpcd.c.s -.PHONY : customdhcpcd.s - -# target to generate assembly for a file -customdhcpcd.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/customdhcpcd.c.s -.PHONY : customdhcpcd.c.s - dhcp.o: dhcp.c.o .PHONY : dhcp.o @@ -295,7 +247,6 @@ dhcpcd.o: dhcpcd.c.o # target to build an object file dhcpcd.c.o: $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.o - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.o .PHONY : dhcpcd.c.o dhcpcd.i: dhcpcd.c.i @@ -304,7 +255,6 @@ dhcpcd.i: dhcpcd.c.i # target to preprocess a source file dhcpcd.c.i: $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.i - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.i .PHONY : dhcpcd.c.i dhcpcd.s: dhcpcd.c.s @@ -313,7 +263,6 @@ dhcpcd.s: dhcpcd.c.s # target to generate assembly for a file dhcpcd.c.s: $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.s - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcpcd.c.s .PHONY : dhcpcd.c.s discover.o: discover.c.o @@ -542,9 +491,6 @@ help: @echo "... edit_cache" @echo "... libcustomdhcpcd" @echo "... rebuild_cache" - @echo "... CMakeFiles/CompilerIdC/CMakeCCompilerId.o" - @echo "... CMakeFiles/CompilerIdC/CMakeCCompilerId.i" - @echo "... CMakeFiles/CompilerIdC/CMakeCCompilerId.s" @echo "... arp.o" @echo "... arp.i" @echo "... arp.s" @@ -557,9 +503,6 @@ help: @echo "... configure.o" @echo "... configure.i" @echo "... configure.s" - @echo "... customdhcpcd.o" - @echo "... customdhcpcd.i" - @echo "... customdhcpcd.s" @echo "... dhcp.o" @echo "... dhcp.i" @echo "... dhcp.s" diff --git a/customdhcpcd/src/build/customdhcpcd b/customdhcpcd/src/build/customdhcpcd index 3023d80..2ad0b35 100755 Binary files a/customdhcpcd/src/build/customdhcpcd and b/customdhcpcd/src/build/customdhcpcd differ diff --git a/customdhcpcd/src/build/liblibcustomdhcpcd.a b/customdhcpcd/src/build/liblibcustomdhcpcd.a deleted file mode 100644 index 60737ed..0000000 Binary files a/customdhcpcd/src/build/liblibcustomdhcpcd.a and /dev/null differ diff --git a/customdhcpcd/src/build/liblibcustomdhcpcd.so b/customdhcpcd/src/build/liblibcustomdhcpcd.so new file mode 100755 index 0000000..62e5d3e Binary files /dev/null and b/customdhcpcd/src/build/liblibcustomdhcpcd.so differ diff --git a/customdhcpcd/src/customdhcpcd.c b/customdhcpcd/src/customdhcpcd.c deleted file mode 100644 index 7c5e219..0000000 --- a/customdhcpcd/src/customdhcpcd.c +++ /dev/null @@ -1,17 +0,0 @@ -/* - ============================================================================ - Name : customdhcpcd.c - Author : Niklas Goby - Version : - Copyright : Your copyright notice - Description : Hello World in C, Ansi-style - ============================================================================ - */ - -#include -#include - -int main(void) { - puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */ - return EXIT_SUCCESS; -} -- cgit v1.2.3-55-g7522 From 8ac203bf967050cc07152ca4a002de6b5d5d26ff Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 6 Sep 2011 17:15:01 +0200 Subject: latest version of all files. cmake still doesn't work --- LogReceiver/CMakeLists.txt | 18 +- LogReceiver/LogReceiver.pro | 9 +- LogReceiver/Makefile | 21 +- LogReceiver/Makefile.Debug | 178 -- LogReceiver/Makefile.Release | 178 -- .../CMakeFiles/CMakeDirectoryInformation.cmake | 2 +- LogReceiver/build/CMakeFiles/CMakeError.log | 2 +- LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt | 16 +- .../CMakeFiles/LogReceiver.dir/CXX.includecache | 306 +-- .../CMakeFiles/LogReceiver.dir/DependInfo.cmake | 7 +- .../build/CMakeFiles/LogReceiver.dir/build.make | 323 ++- .../CMakeFiles/LogReceiver.dir/cmake_clean.cmake | 13 +- .../CMakeFiles/LogReceiver.dir/depend.internal | 2183 ++++++++++++++++++-- .../build/CMakeFiles/LogReceiver.dir/depend.make | 1753 +++++++++++++++- .../build/CMakeFiles/LogReceiver.dir/flags.make | 2 +- .../build/CMakeFiles/LogReceiver.dir/link.txt | 2 +- .../build/CMakeFiles/LogReceiver.dir/progress.make | 3 + LogReceiver/build/CMakeFiles/Makefile2 | 4 +- LogReceiver/build/CMakeFiles/Progress/18 | 1 - LogReceiver/build/CMakeFiles/Progress/19 | 1 - LogReceiver/build/CMakeFiles/Progress/20 | 1 - LogReceiver/build/CMakeFiles/Progress/21 | 1 - LogReceiver/build/CMakeFiles/Progress/22 | 1 - LogReceiver/build/CMakeFiles/Progress/count.txt | 2 +- LogReceiver/build/CMakeFiles/progress.marks | 2 +- LogReceiver/build/Makefile | 189 +- LogReceiver/logreceiver.cpp | 20 +- LogReceiver/logreceiver.h | 41 +- LogReceiver/logreceiver.ui | 25 - LogReceiver/routemanager.cpp | 3 +- LogReceiver/routemanager.h | 3 + 31 files changed, 4355 insertions(+), 955 deletions(-) delete mode 100644 LogReceiver/Makefile.Debug delete mode 100644 LogReceiver/Makefile.Release delete mode 100644 LogReceiver/build/CMakeFiles/Progress/18 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/19 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/20 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/21 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/22 delete mode 100644 LogReceiver/logreceiver.ui diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index fa814b3..32f7b6e 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -11,23 +11,26 @@ endif(QT4_FOUND) #find_package(Qxt REQUIRED) -set(QT_USE_GUI TRUE) +#set(QT_USE_CORE TRUE) +#set(QT_USE_GUI TRUE) set(QT_USE_QTNETWORK TRUE) set(QT_USE_QTWEBKIT TRUE) file(GLOB_RECURSE LOGRECEIVER_SOURCES ./*.cpp) file(GLOB_RECURSE LOGRECEIVER_MOC_HEADERS ./*.h) file(GLOB_RECURSE LOGRECEIVER_UIS ./*.ui) -#file(GLOB_RECURSE LOGRECEIVER_RCS ./*.qrc) +file(GLOB_RECURSE LOGRECEIVER_RCS ./*.qrc) include_directories(${CMAKE_CURRENT_BINARY_DIR} /usr/include/ - ../customdhcpcd/src/) + /home/niklas/fbgui/customdhcpcd/src/ + /home/niklas/fbgui/LogReceiver/build) include(${QT_USE_FILE}) add_definitions(${QT_DEFINITIONS}) -link_directories(/usr/lib) +link_directories(/usr/lib + /home/niklas/fbgui/customdhcpcd/src/build) #add_library( # /usr/local/Qxt/lib/libQxtCore.so @@ -35,9 +38,10 @@ link_directories(/usr/lib) # /usr/lib/libusb-1.0.a # ) -#QT4_ADD_RESOURCES(FBGUI_RC_SOURCES ${FBGUI_RCS}) -QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) +QT4_ADD_RESOURCES(FBGUI_RC_SOURCES ${FBGUI_RCS}) QT4_WRAP_CPP(LOGRECEIVER_MOC_SOURCES ${LOGRECEIVER_MOC_HEADERS}) +QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) + add_executable(LogReceiver ${LOGRECEIVER_SOURCES} @@ -46,4 +50,4 @@ add_executable(LogReceiver target_link_libraries(LogReceiver ${QT_LIBRARIES} - sysfs) + sysfs libcustomdhcpcd) diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index 04791ef..b1b1dc1 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -3,8 +3,10 @@ TARGET = LogReceiver QT += core \ gui \ network -LIBS += -lsysfs -INCLUDEPATH += ../customdhcpcd/src +LIBS += -lsysfs \ + -L/home/niklas/fbgui/customdhcpcd/src/build \ + -llibcustomdhcpcd +INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src HEADERS += routemanager.h \ interfaceconfiguration.h \ ndgui.h \ @@ -18,6 +20,5 @@ SOURCES += routemanager.cpp \ logreceiver.cpp \ abortbootdialog.cpp \ chooseinterfacedialog.cpp -FORMS += ndgui.ui \ - logreceiver.ui +FORMS += ndgui.ui RESOURCES += diff --git a/LogReceiver/Makefile b/LogReceiver/Makefile index c0e470d..0f9536a 100644 --- a/LogReceiver/Makefile +++ b/LogReceiver/Makefile @@ -1,6 +1,6 @@ ############################################################################# # Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Mon Sep 5 16:52:29 2011 +# Generated by qmake (2.01a) (Qt 4.7.2) on: Tue Sep 6 16:50:59 2011 # Project: LogReceiver.pro # Template: app # Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro @@ -16,7 +16,7 @@ CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) INCPATH = -I/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.7.2/include -I../customdhcpcd/src -I. -I. LINK = g++ LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lsysfs -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lQtNetwork -lQtCore -lpthread +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lsysfs -L/home/niklas/fbgui/customdhcpcd/src/build -llibcustomdhcpcd -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lQtNetwork -lQtCore -lpthread AR = ar cqs RANLIB = QMAKE = /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake @@ -118,7 +118,7 @@ first: all all: Makefile $(TARGET) -$(TARGET): ui_ndgui.h ui_logreceiver.h $(OBJECTS) +$(TARGET): ui_ndgui.h $(OBJECTS) $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) Makefile: LogReceiver.pro /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++/qmake.conf /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ @@ -175,7 +175,7 @@ qmake: FORCE dist: @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.h interfaceconfiguration.h ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.cpp interfaceconfiguration.cpp ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui logreceiver.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.h interfaceconfiguration.h ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.cpp interfaceconfiguration.cpp ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 clean:compiler_clean @@ -207,12 +207,14 @@ moc_interfaceconfiguration.cpp: interfaceconfiguration.h moc_ndgui.cpp: ui_ndgui.h \ logreceiver.h \ + interfaceconfiguration.h \ chooseinterfacedialog.h \ abortbootdialog.h \ ndgui.h /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o moc_ndgui.cpp -moc_logreceiver.cpp: logreceiver.h +moc_logreceiver.cpp: interfaceconfiguration.h \ + logreceiver.h /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o moc_logreceiver.cpp moc_abortbootdialog.cpp: abortbootdialog.h @@ -228,15 +230,12 @@ compiler_image_collection_clean: -$(DEL_FILE) qmake_image_collection.cpp compiler_moc_source_make_all: compiler_moc_source_clean: -compiler_uic_make_all: ui_ndgui.h ui_logreceiver.h +compiler_uic_make_all: ui_ndgui.h compiler_uic_clean: - -$(DEL_FILE) ui_ndgui.h ui_logreceiver.h + -$(DEL_FILE) ui_ndgui.h ui_ndgui.h: ndgui.ui /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h -ui_logreceiver.h: logreceiver.ui - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h - compiler_yacc_decl_make_all: compiler_yacc_decl_clean: compiler_yacc_impl_make_all: @@ -256,6 +255,7 @@ interfaceconfiguration.o: interfaceconfiguration.cpp interfaceconfiguration.h ndgui.o: ndgui.cpp ndgui.h \ ui_ndgui.h \ logreceiver.h \ + interfaceconfiguration.h \ chooseinterfacedialog.h \ abortbootdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ndgui.o ndgui.cpp @@ -263,6 +263,7 @@ ndgui.o: ndgui.cpp ndgui.h \ main.o: main.cpp ndgui.h \ ui_ndgui.h \ logreceiver.h \ + interfaceconfiguration.h \ chooseinterfacedialog.h \ abortbootdialog.h $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp diff --git a/LogReceiver/Makefile.Debug b/LogReceiver/Makefile.Debug deleted file mode 100644 index 29db2ad..0000000 --- a/LogReceiver/Makefile.Debug +++ /dev/null @@ -1,178 +0,0 @@ -############################################################################# -# Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 -# Project: LogReceiver.pro -# Template: app -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Idebug -I. -LINK = g++ -LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = debug/ - -####### Files - -SOURCES = main.cpp \ - logreceiver.cpp debug/moc_logreceiver.cpp -OBJECTS = debug/main.o \ - debug/logreceiver.o \ - debug/moc_logreceiver.o -DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ - LogReceiver.pro -QMAKE_TARGET = LogReceiver -DESTDIR = -TARGET = LogReceiver - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile.Debug $(TARGET) - -$(TARGET): ui_logreceiver.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -qmake: FORCE - @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Debug LogReceiver.pro - -dist: - @$(CHK_DIR_EXISTS) debug/LogReceiver1.0.0 || $(MKDIR) debug/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui debug/LogReceiver1.0.0/ && (cd `dirname debug/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname debug/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r debug/LogReceiver1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile.Debug - - -check: first - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: debug/moc_logreceiver.cpp -compiler_moc_header_clean: - -$(DEL_FILE) debug/moc_logreceiver.cpp -debug/moc_logreceiver.cpp: ui_logreceiver.h \ - logreceiver.h - /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o debug/moc_logreceiver.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_logreceiver.h -compiler_uic_clean: - -$(DEL_FILE) ui_logreceiver.h -ui_logreceiver.h: logreceiver.ui - /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -debug/main.o: main.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/main.o main.cpp - -debug/logreceiver.o: logreceiver.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/logreceiver.o logreceiver.cpp - -debug/moc_logreceiver.o: debug/moc_logreceiver.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_logreceiver.o debug/moc_logreceiver.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/LogReceiver/Makefile.Release b/LogReceiver/Makefile.Release deleted file mode 100644 index 64e6a9f..0000000 --- a/LogReceiver/Makefile.Release +++ /dev/null @@ -1,178 +0,0 @@ -############################################################################# -# Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Wed Jul 6 13:39:02 2011 -# Project: LogReceiver.pro -# Template: app -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -Irelease -I. -LINK = g++ -LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = release/ - -####### Files - -SOURCES = main.cpp \ - logreceiver.cpp release/moc_logreceiver.cpp -OBJECTS = release/main.o \ - release/logreceiver.o \ - release/moc_logreceiver.o -DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/release.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ - LogReceiver.pro -QMAKE_TARGET = LogReceiver -DESTDIR = -TARGET = LogReceiver - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile.Release $(TARGET) - -$(TARGET): ui_logreceiver.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -qmake: FORCE - @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Release LogReceiver.pro - -dist: - @$(CHK_DIR_EXISTS) release/LogReceiver1.0.0 || $(MKDIR) release/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.h release/LogReceiver1.0.0/ && $(COPY_FILE) --parents main.cpp logreceiver.cpp release/LogReceiver1.0.0/ && $(COPY_FILE) --parents logreceiver.ui release/LogReceiver1.0.0/ && (cd `dirname release/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname release/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r release/LogReceiver1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile.Release - - -check: first - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: release/moc_logreceiver.cpp -compiler_moc_header_clean: - -$(DEL_FILE) release/moc_logreceiver.cpp -release/moc_logreceiver.cpp: ui_logreceiver.h \ - logreceiver.h - /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o release/moc_logreceiver.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_logreceiver.h -compiler_uic_clean: - -$(DEL_FILE) ui_logreceiver.h -ui_logreceiver.h: logreceiver.ui - /usr/local/Trolltech/Qt-4.7.2/bin/uic logreceiver.ui -o ui_logreceiver.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -release/main.o: main.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/main.o main.cpp - -release/logreceiver.o: logreceiver.cpp logreceiver.h \ - ui_logreceiver.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/logreceiver.o logreceiver.cpp - -release/moc_logreceiver.o: release/moc_logreceiver.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_logreceiver.o release/moc_logreceiver.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake index d4fffda..bfcbdec 100644 --- a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -11,7 +11,7 @@ SET(CMAKE_FORCE_UNIX_PATHS 1) # The C and CXX include file search paths: SET(CMAKE_C_INCLUDE_PATH "." - "../../customdhcpcd/src" + "/home/niklas/fbgui/customdhcpcd/src" "/usr/include/qt4" "/usr/include/qt4/QtWebKit" "/usr/include/qt4/QtGui" diff --git a/LogReceiver/build/CMakeFiles/CMakeError.log b/LogReceiver/build/CMakeFiles/CMakeError.log index 44add4d..3d0d7d1 100644 --- a/LogReceiver/build/CMakeFiles/CMakeError.log +++ b/LogReceiver/build/CMakeFiles/CMakeError.log @@ -10,8 +10,8 @@ Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_WIN’ undeclared (first use in this function) /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in -make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' +make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 make: *** [cmTryCompileExec/fast] Error 2 File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: diff --git a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt index 0068faf..e89e175 100644 --- a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt +++ b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt @@ -1,11 +1,9 @@ # Hashes of file build rules. -e5ce826cb847d8086f699637b14b8338 moc_abortbootdialog.cxx -e57aa1a74205a6d7c3df503f6417373e moc_chooseinterfacedialog.cxx -39bea292f6d710114c37c1c489211f1b moc_interfaceconfiguration.cxx -cd3541231cb4afbd9284567c700702ce moc_logreceiver.cxx -3d031b1ea0f6b93d449c04c73d575034 moc_ndgui.cxx -1a33738250f03a1cf7744ce3a60f2dd9 moc_routemanager.cxx -e1b7c2793f99794c98be91b1dad0b20a moc_ui_logreceiver.cxx -7d2b4dbc1ccdddb750f0a0ec9d3d7977 moc_ui_ndgui.cxx -d64f31ca4fc14ea7f47fa2509fca3d7f ui_logreceiver.h +ccae3667edd823a49d5a2d8286ed859a moc_abortbootdialog.cxx +2bc890a98f1aeeda9868c1811e484286 moc_chooseinterfacedialog.cxx +b8c300d2a85ad299773c4082ccc73314 moc_interfaceconfiguration.cxx +532bcee1b237dbedca14826e8ca4a4f6 moc_logreceiver.cxx +8b6b5f6c8bd0f39eb4a203772c578644 moc_ndgui.cxx +e10d3555b149ded4ad8e849a785665c1 moc_routemanager.cxx +1a10fa9153543edac364db36aaef1822 moc_ui_ndgui.cxx af4242e398b944b4853304c020c2f8cd ui_ndgui.h diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache index 5ad7f03..786efe6 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache @@ -6,74 +6,6 @@ #IncludeRegexTransform: -../../customdhcpcd/src/common.h -sys/time.h -- -stdio.h -- -string.h -- - -../../customdhcpcd/src/config.h - -../../customdhcpcd/src/dhcp.h -netinet/in_systm.h -- -netinet/in.h -- -netinet/ip.h -- -netinet/udp.h -- -stdint.h -- -dhcpcd.h -../../customdhcpcd/src/dhcpcd.h -interface.h -../../customdhcpcd/src/interface.h - -../../customdhcpcd/src/dhcpcd.h -sys/param.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -limits.h -- -stdbool.h -- -common.h -../../customdhcpcd/src/common.h - -../../customdhcpcd/src/interface.h -sys/types.h -- -sys/param.h -- -sys/queue.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -netinet/if_ether.h -- -limits.h -- -stdbool.h -- -config.h -../../customdhcpcd/src/config.h -linux/netlink.h -- - -../../customdhcpcd/src/status.h - /home/niklas/fbgui/LogReceiver/../common/fbgui.h /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp @@ -123,19 +55,33 @@ QtCore - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h -qprocess.h +QMap - -qnetworkinterface.h +QtNetwork - -qnetworkconfigmanager.h +QProcess - -qnetworkaccessmanager.h +arpa/inet.h - -qnetworksession.h +stdio.h - -qnetworkreply.h +string.h - -qsslerror.h +stdlib.h +- +syslog.h +- +sysfs/libsysfs.h +- +interfaceconfiguration.h +/home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h +status.h +/home/niklas/fbgui/LogReceiver/build/../status.h +dhcp.h +/home/niklas/fbgui/LogReceiver/build/../dhcp.h +interface.h +/home/niklas/fbgui/LogReceiver/build/../interface.h +QWidget - /home/niklas/fbgui/LogReceiver/build/../ndgui.h @@ -159,9 +105,27 @@ abortbootdialog.h /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h /home/niklas/fbgui/LogReceiver/build/../routemanager.h +arpa/inet.h +- +interface.h +- QtCore - +/home/niklas/fbgui/LogReceiver/build/../ui_ndgui.h +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QHeaderView +- +QtGui/QWidget +- + /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx @@ -188,8 +152,6 @@ QtCore ../routemanager.h /home/niklas/fbgui/LogReceiver/build/../routemanager.h -/home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx - /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp @@ -210,20 +172,38 @@ qcombobox.h qlabel.h /home/niklas/fbgui/LogReceiver/qlabel.h +/home/niklas/fbgui/LogReceiver/debug/../interfaceconfiguration.h +QtCore +- + /home/niklas/fbgui/LogReceiver/debug/../logreceiver.h -qprocess.h +QMap - -qnetworkinterface.h +QtNetwork - -qnetworkconfigmanager.h +QProcess - -qnetworkaccessmanager.h +arpa/inet.h - -qnetworksession.h +stdio.h - -qnetworkreply.h +string.h - -qsslerror.h +stdlib.h +- +syslog.h +- +sysfs/libsysfs.h +- +interfaceconfiguration.h +/home/niklas/fbgui/LogReceiver/debug/../interfaceconfiguration.h +status.h +/home/niklas/fbgui/LogReceiver/debug/../status.h +dhcp.h +/home/niklas/fbgui/LogReceiver/debug/../dhcp.h +interface.h +/home/niklas/fbgui/LogReceiver/debug/../interface.h +QWidget - /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp @@ -239,6 +219,12 @@ QtCore - /home/niklas/fbgui/LogReceiver/logreceiver.cpp +logreceiver.h +/home/niklas/fbgui/LogReceiver/logreceiver.h +../common/fbgui.h +/home/niklas/fbgui/LogReceiver/../common/fbgui.h + +/home/niklas/fbgui/LogReceiver/logreceiver.h QMap - QtNetwork @@ -257,37 +243,15 @@ syslog.h - sysfs/libsysfs.h - -logreceiver.h -/home/niklas/fbgui/LogReceiver/logreceiver.h interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h -qlocalserver.h -- -qlocalsocket.h -- status.h /home/niklas/fbgui/LogReceiver/status.h dhcp.h /home/niklas/fbgui/LogReceiver/dhcp.h interface.h /home/niklas/fbgui/LogReceiver/interface.h -../common/fbgui.h -/home/niklas/fbgui/LogReceiver/../common/fbgui.h - -/home/niklas/fbgui/LogReceiver/logreceiver.h -qprocess.h -- -qnetworkinterface.h -- -qnetworkconfigmanager.h -- -qnetworkaccessmanager.h -- -qnetworksession.h -- -qnetworkreply.h -- -qsslerror.h +QWidget - /home/niklas/fbgui/LogReceiver/main.cpp @@ -298,6 +262,30 @@ QtGui QApplication - +/home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp +abortbootdialog.h +/home/niklas/fbgui/LogReceiver/abortbootdialog.h + +/home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp +chooseinterfacedialog.h +/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + +/home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp +interfaceconfiguration.h +/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + +/home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp +logreceiver.h +/home/niklas/fbgui/LogReceiver/logreceiver.h + +/home/niklas/fbgui/LogReceiver/moc_ndgui.cpp +ndgui.h +/home/niklas/fbgui/LogReceiver/ndgui.h + +/home/niklas/fbgui/LogReceiver/moc_routemanager.cpp +routemanager.h +/home/niklas/fbgui/LogReceiver/routemanager.h + /home/niklas/fbgui/LogReceiver/ndgui.cpp ndgui.h /home/niklas/fbgui/LogReceiver/ndgui.h @@ -327,17 +315,99 @@ abortbootdialog.h /home/niklas/fbgui/LogReceiver/abortbootdialog.h /home/niklas/fbgui/LogReceiver/routemanager.cpp -arpa/inet.h -- -interface.h -/home/niklas/fbgui/LogReceiver/interface.h routemanager.h /home/niklas/fbgui/LogReceiver/routemanager.h /home/niklas/fbgui/LogReceiver/routemanager.h +arpa/inet.h +- +interface.h +- QtCore - +/home/niklas/fbgui/LogReceiver/ui_ndgui.h +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QHeaderView +- +QtGui/QWidget +- + +/home/niklas/fbgui/customdhcpcd/src/common.h +sys/time.h +- +stdio.h +- +string.h +- + +/home/niklas/fbgui/customdhcpcd/src/config.h + +/home/niklas/fbgui/customdhcpcd/src/dhcp.h +netinet/in_systm.h +- +netinet/in.h +- +netinet/ip.h +- +netinet/udp.h +- +stdint.h +- +dhcpcd.h +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +interface.h +/home/niklas/fbgui/customdhcpcd/src/interface.h + +/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +sys/param.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +limits.h +- +stdbool.h +- +common.h +/home/niklas/fbgui/customdhcpcd/src/common.h + +/home/niklas/fbgui/customdhcpcd/src/interface.h +sys/types.h +- +sys/param.h +- +sys/queue.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +netinet/if_ether.h +- +limits.h +- +stdbool.h +- +config.h +/home/niklas/fbgui/customdhcpcd/src/config.h +linux/netlink.h +- + +/home/niklas/fbgui/customdhcpcd/src/status.h + /usr/include/qt4/Qt3Support/q3cstring.h QtCore/qbytearray.h - @@ -4370,17 +4440,3 @@ QtCore/qstring.h QtCore/qiodevice.h - -ui_ndgui.h -QtCore/QVariant -- -QtGui/QAction -- -QtGui/QApplication -- -QtGui/QButtonGroup -- -QtGui/QHeaderView -- -QtGui/QWidget -- - diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake index e038c75..6ea139c 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake @@ -11,13 +11,18 @@ SET(CMAKE_DEPENDS_CHECK_CXX "/home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" "/home/niklas/fbgui/LogReceiver/logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" "/home/niklas/fbgui/LogReceiver/main.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/main.cpp.o" + "/home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" + "/home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" + "/home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" + "/home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" + "/home/niklas/fbgui/LogReceiver/moc_ndgui.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" + "/home/niklas/fbgui/LogReceiver/moc_routemanager.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" "/home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" "/home/niklas/fbgui/LogReceiver/ndgui.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/ndgui.cpp.o" "/home/niklas/fbgui/LogReceiver/routemanager.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/routemanager.cpp.o" diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make index 619d864..fa23285 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make @@ -46,9 +46,57 @@ include CMakeFiles/LogReceiver.dir/progress.make # Include the compile flags for this target's objects. include CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: ../moc_chooseinterfacedialog.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_1) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp > CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides + +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides.build + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../moc_ndgui.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_2) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp > CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp -o CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides.build + CMakeFiles/LogReceiver.dir/ndgui.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_1) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_3) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/ndgui.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/ndgui.cpp.o -c /home/niklas/fbgui/LogReceiver/ndgui.cpp @@ -70,9 +118,33 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides: CMakeFiles/LogReceiver.dir/ndgu CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/ndgui.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: ../moc_routemanager.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_4) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp + +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp > CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i + +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp -o CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s + +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires + +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides + +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides.build + CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_2) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_5) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -96,7 +168,7 @@ CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.pro CMakeFiles/LogReceiver.dir/main.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_3) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_6) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/main.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/main.cpp.o -c /home/niklas/fbgui/LogReceiver/main.cpp @@ -120,7 +192,7 @@ CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build: CMakeFiles/LogReceiver.dir CMakeFiles/LogReceiver.dir/routemanager.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_4) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_7) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/routemanager.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/routemanager.cpp.o -c /home/niklas/fbgui/LogReceiver/routemanager.cpp @@ -142,9 +214,33 @@ CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides: CMakeFiles/LogReceiver.d CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/routemanager.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../moc_logreceiver.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_8) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp > CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides.build + CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_5) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_9) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -c /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp @@ -166,9 +262,33 @@ CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides: CMakeFiles/LogR CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: ../moc_abortbootdialog.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_10) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp > CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides.build + CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/moc_logreceiver.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_6) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_11) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp @@ -192,7 +312,7 @@ CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build: CMakeFile CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_7) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_12) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/logreceiver.cpp @@ -214,9 +334,33 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.di CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: ../moc_interfaceconfiguration.cpp + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_13) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp > CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides + +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides.build + CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_8) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_14) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -c /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp @@ -240,7 +384,7 @@ CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build: CMakeFiles/LogR CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_9) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_15) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -c /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp @@ -264,7 +408,7 @@ CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build: CMakeFil CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_10) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_16) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx @@ -288,7 +432,7 @@ CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build: CMakeFiles/LogR CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_11) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_17) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx @@ -310,9 +454,33 @@ CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides: CMakeFiles/LogReceiv CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o .PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_18) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx > CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires: +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides + +CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o +.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build + CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_12) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_19) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx @@ -336,7 +504,7 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build: CMakeFiles/LogReceive CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_13) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_20) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx @@ -358,57 +526,9 @@ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides: CMakeFiles/ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o .PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_14) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx > CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o: moc_ui_logreceiver.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_15) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx - -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx > CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i - -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx -o CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s - -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.provides.build - CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_16) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_21) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx @@ -432,7 +552,7 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build: CMakeFiles/ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_17) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_22) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx @@ -455,93 +575,93 @@ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build: CMak .PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build moc_logreceiver.cxx: ../logreceiver.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_18) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_23) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_logreceiver.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /home/niklas/fbgui/LogReceiver/logreceiver.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /home/niklas/fbgui/LogReceiver/logreceiver.h moc_routemanager.cxx: ../routemanager.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_19) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_24) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_routemanager.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx /home/niklas/fbgui/LogReceiver/routemanager.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx /home/niklas/fbgui/LogReceiver/routemanager.h + +moc_ui_ndgui.cxx: ../ui_ndgui.h + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_25) + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ui_ndgui.cxx" + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx /home/niklas/fbgui/LogReceiver/ui_ndgui.h moc_ndgui.cxx: ../ndgui.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_20) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_26) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ndgui.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx /home/niklas/fbgui/LogReceiver/ndgui.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx /home/niklas/fbgui/LogReceiver/ndgui.h moc_chooseinterfacedialog.cxx: ../chooseinterfacedialog.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_21) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_27) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_chooseinterfacedialog.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - -moc_ui_ndgui.cxx: ui_ndgui.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_22) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ui_ndgui.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx /home/niklas/fbgui/LogReceiver/build/ui_ndgui.h - -moc_ui_logreceiver.cxx: ui_logreceiver.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_23) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ui_logreceiver.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx /home/niklas/fbgui/LogReceiver/build/ui_logreceiver.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h moc_abortbootdialog.cxx: ../abortbootdialog.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_24) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_28) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_abortbootdialog.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /home/niklas/fbgui/LogReceiver/abortbootdialog.h moc_interfaceconfiguration.cxx: ../interfaceconfiguration.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_25) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_29) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_interfaceconfiguration.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - -ui_logreceiver.h: ../logreceiver.ui - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_26) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_logreceiver.h" - /usr/bin/uic-qt4 -o /home/niklas/fbgui/LogReceiver/build/ui_logreceiver.h /home/niklas/fbgui/LogReceiver/logreceiver.ui + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h ui_ndgui.h: ../ndgui.ui - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_27) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_30) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_ndgui.h" /usr/bin/uic-qt4 -o /home/niklas/fbgui/LogReceiver/build/ui_ndgui.h /home/niklas/fbgui/LogReceiver/ndgui.ui # Object files for target LogReceiver LogReceiver_OBJECTS = \ +"CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" \ +"CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" \ "CMakeFiles/LogReceiver.dir/ndgui.cpp.o" \ +"CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" \ "CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" \ "CMakeFiles/LogReceiver.dir/main.cpp.o" \ "CMakeFiles/LogReceiver.dir/routemanager.cpp.o" \ +"CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" \ "CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" \ +"CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" \ "CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" \ "CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" \ +"CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" \ "CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" \ "CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" \ "CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" \ +"CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" # External object files for target LogReceiver LogReceiver_EXTERNAL_OBJECTS = +LogReceiver: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/ndgui.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/main.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/routemanager.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o +LogReceiver: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o LogReceiver: /usr/lib/libQtWebKit.so @@ -558,21 +678,26 @@ LogReceiver: CMakeFiles/LogReceiver.dir/link.txt CMakeFiles/LogReceiver.dir/build: LogReceiver .PHONY : CMakeFiles/LogReceiver.dir/build +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/main.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires +CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires .PHONY : CMakeFiles/LogReceiver.dir/requires @@ -583,13 +708,11 @@ CMakeFiles/LogReceiver.dir/clean: CMakeFiles/LogReceiver.dir/depend: moc_logreceiver.cxx CMakeFiles/LogReceiver.dir/depend: moc_routemanager.cxx +CMakeFiles/LogReceiver.dir/depend: moc_ui_ndgui.cxx CMakeFiles/LogReceiver.dir/depend: moc_ndgui.cxx CMakeFiles/LogReceiver.dir/depend: moc_chooseinterfacedialog.cxx -CMakeFiles/LogReceiver.dir/depend: moc_ui_ndgui.cxx -CMakeFiles/LogReceiver.dir/depend: moc_ui_logreceiver.cxx CMakeFiles/LogReceiver.dir/depend: moc_abortbootdialog.cxx CMakeFiles/LogReceiver.dir/depend: moc_interfaceconfiguration.cxx -CMakeFiles/LogReceiver.dir/depend: ui_logreceiver.h CMakeFiles/LogReceiver.dir/depend: ui_ndgui.h cd /home/niklas/fbgui/LogReceiver/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/LogReceiver /home/niklas/fbgui/LogReceiver /home/niklas/fbgui/LogReceiver/build /home/niklas/fbgui/LogReceiver/build /home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake --color=$(COLOR) .PHONY : CMakeFiles/LogReceiver.dir/depend diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake index 5905412..3878326 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake @@ -1,30 +1,33 @@ FILE(REMOVE_RECURSE + "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" + "CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" "CMakeFiles/LogReceiver.dir/ndgui.cpp.o" + "CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" "CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" "CMakeFiles/LogReceiver.dir/main.cpp.o" "CMakeFiles/LogReceiver.dir/routemanager.cpp.o" + "CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" "CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" + "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" "CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" "CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" + "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" "CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" "CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" "CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" "CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" + "CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" "CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o" "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" "moc_logreceiver.cxx" "moc_routemanager.cxx" + "moc_ui_ndgui.cxx" "moc_ndgui.cxx" "moc_chooseinterfacedialog.cxx" - "moc_ui_ndgui.cxx" - "moc_ui_logreceiver.cxx" "moc_abortbootdialog.cxx" "moc_interfaceconfiguration.cxx" - "ui_logreceiver.h" "ui_ndgui.h" "LogReceiver.pdb" "LogReceiver" diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal index a027780..0a905f6 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal @@ -826,19 +826,39 @@ CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o /usr/include/qt4/QtGui/qworkspace.h /usr/include/qt4/QtGui/qwsembedwidget.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o + /home/niklas/fbgui/LogReceiver/debug/../interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/debug/../logreceiver.h /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h /usr/include/qt4/QtCore/qatomic.h /usr/include/qt4/QtCore/qatomic_alpha.h /usr/include/qt4/QtCore/qatomic_arch.h @@ -864,59 +884,196 @@ CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o /usr/include/qt4/QtCore/qatomic_windowsce.h /usr/include/qt4/QtCore/qatomic_x86_64.h /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h /usr/include/qt4/QtCore/qchar.h /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h /usr/include/qt4/QtCore/qcoreevent.h /usr/include/qt4/QtCore/qcryptographichash.h /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h /usr/include/qt4/QtCore/qglobal.h /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h /usr/include/qt4/QtCore/qiodevice.h /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h /usr/include/qt4/QtCore/qlinkedlist.h /usr/include/qt4/QtCore/qlist.h /usr/include/qt4/QtCore/qlocale.h /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h /usr/include/qt4/QtCore/qobjectdefs.h /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h /usr/include/qt4/QtCore/qsharedpointer.h /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h /usr/include/qt4/QtCore/qstring.h /usr/include/qt4/QtCore/qstringbuilder.h /usr/include/qt4/QtCore/qstringlist.h /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h /usr/include/qt4/QtNetwork/qnetworkreply.h /usr/include/qt4/QtNetwork/qnetworkrequest.h /usr/include/qt4/QtNetwork/qnetworksession.h /usr/include/qt4/QtNetwork/qssl.h /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h /usr/include/qt4/QtNetwork/qsslerror.h + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h @@ -1087,16 +1244,16 @@ CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o - ../../customdhcpcd/src/common.h - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/dhcp.h - ../../customdhcpcd/src/dhcpcd.h - ../../customdhcpcd/src/interface.h - ../../customdhcpcd/src/status.h /home/niklas/fbgui/LogReceiver/../common/fbgui.h /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/logreceiver.cpp /home/niklas/fbgui/LogReceiver/logreceiver.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate @@ -1273,6 +1430,33 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o /usr/include/qt4/QtCore/qvector.h /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager /usr/include/qt4/QtNetwork/QNetworkCookie /usr/include/qt4/QtNetwork/QNetworkCookieJar @@ -1312,17 +1496,28 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o /home/niklas/fbgui/LogReceiver/abortbootdialog.h /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/logreceiver.h /home/niklas/fbgui/LogReceiver/main.cpp /home/niklas/fbgui/LogReceiver/ndgui.h + /home/niklas/fbgui/LogReceiver/ui_ndgui.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl @@ -1734,23 +1929,44 @@ CMakeFiles/LogReceiver.dir/main.cpp.o /usr/include/qt4/QtGui/qworkspace.h /usr/include/qt4/QtGui/qwsembedwidget.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h /usr/include/qt4/QtNetwork/qnetworkreply.h /usr/include/qt4/QtNetwork/qnetworkrequest.h /usr/include/qt4/QtNetwork/qnetworksession.h /usr/include/qt4/QtNetwork/qssl.h /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h /usr/include/qt4/QtNetwork/qsslerror.h - ui_ndgui.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o - /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o + /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QPoint @@ -1866,9 +2082,9 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o /usr/include/qt4/QtGui/qwindowdefs.h /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o - /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o + /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QPoint @@ -1984,23 +2200,15 @@ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o /usr/include/qt4/QtGui/qwindowdefs.h /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o - /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o + /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h /usr/include/qt4/QtCore/qatomic.h /usr/include/qt4/QtCore/qatomic_alpha.h /usr/include/qt4/QtCore/qatomic_arch.h @@ -2026,47 +2234,1437 @@ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o /usr/include/qt4/QtCore/qatomic_windowsce.h /usr/include/qt4/QtCore/qatomic_x86_64.h /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h /usr/include/qt4/QtCore/qchar.h /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h /usr/include/qt4/QtCore/qglobal.h /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h /usr/include/qt4/QtCore/qiodevice.h /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o + /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o + /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/logreceiver.h + /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h + /usr/include/qt4/QtNetwork/qsslerror.h + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o + /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/build/../logreceiver.h + /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h + /usr/include/qt4/QtNetwork/qsslerror.h + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o + /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/logreceiver.h + /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp + /home/niklas/fbgui/LogReceiver/ndgui.h + /home/niklas/fbgui/LogReceiver/ui_ndgui.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h + /usr/include/qt4/QtCore/qline.h + /usr/include/qt4/QtCore/qlinkedlist.h + /usr/include/qt4/QtCore/qlist.h + /usr/include/qt4/QtCore/qlocale.h + /usr/include/qt4/QtCore/qmap.h + /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h + /usr/include/qt4/QtCore/qmetatype.h + /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h + /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h + /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h + /usr/include/qt4/QtCore/qobjectdefs.h + /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h + /usr/include/qt4/QtCore/qpoint.h + /usr/include/qt4/QtCore/qpointer.h + /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h + /usr/include/qt4/QtCore/qrect.h + /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h + /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h + /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h + /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h + /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar + /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h + /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h + /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h + /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h + /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h + /usr/include/qt4/QtNetwork/qnetworkreply.h + /usr/include/qt4/QtNetwork/qnetworkrequest.h + /usr/include/qt4/QtNetwork/qnetworksession.h + /usr/include/qt4/QtNetwork/qssl.h + /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h + /usr/include/qt4/QtNetwork/qsslerror.h + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o + /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/build/../logreceiver.h + /home/niklas/fbgui/LogReceiver/build/../ndgui.h + /home/niklas/fbgui/LogReceiver/build/../ui_ndgui.h + /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h + /usr/include/qt4/Qt3Support/q3cstring.h + /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate + /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType + /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QPoint + /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess + /usr/include/qt4/QtCore/QSharedDataPointer + /usr/include/qt4/QtCore/QString + /usr/include/qt4/QtCore/QUrl + /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h + /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h + /usr/include/qt4/QtCore/qatomic.h + /usr/include/qt4/QtCore/qatomic_alpha.h + /usr/include/qt4/QtCore/qatomic_arch.h + /usr/include/qt4/QtCore/qatomic_arm.h + /usr/include/qt4/QtCore/qatomic_armv6.h + /usr/include/qt4/QtCore/qatomic_avr32.h + /usr/include/qt4/QtCore/qatomic_bfin.h + /usr/include/qt4/QtCore/qatomic_bootstrap.h + /usr/include/qt4/QtCore/qatomic_generic.h + /usr/include/qt4/QtCore/qatomic_i386.h + /usr/include/qt4/QtCore/qatomic_ia64.h + /usr/include/qt4/QtCore/qatomic_macosx.h + /usr/include/qt4/QtCore/qatomic_mips.h + /usr/include/qt4/QtCore/qatomic_parisc.h + /usr/include/qt4/QtCore/qatomic_powerpc.h + /usr/include/qt4/QtCore/qatomic_s390.h + /usr/include/qt4/QtCore/qatomic_sh.h + /usr/include/qt4/QtCore/qatomic_sh4a.h + /usr/include/qt4/QtCore/qatomic_sparc.h + /usr/include/qt4/QtCore/qatomic_symbian.h + /usr/include/qt4/QtCore/qatomic_vxworks.h + /usr/include/qt4/QtCore/qatomic_windows.h + /usr/include/qt4/QtCore/qatomic_windowsce.h + /usr/include/qt4/QtCore/qatomic_x86_64.h + /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h + /usr/include/qt4/QtCore/qbuffer.h + /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h + /usr/include/qt4/QtCore/qchar.h + /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h + /usr/include/qt4/QtCore/qcontiguouscache.h + /usr/include/qt4/QtCore/qcoreapplication.h + /usr/include/qt4/QtCore/qcoreevent.h + /usr/include/qt4/QtCore/qcryptographichash.h + /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h + /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h + /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h + /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h + /usr/include/qt4/QtCore/qglobal.h + /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h + /usr/include/qt4/QtCore/qiodevice.h + /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h /usr/include/qt4/QtCore/qline.h /usr/include/qt4/QtCore/qlinkedlist.h /usr/include/qt4/QtCore/qlist.h @@ -2153,116 +3751,124 @@ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o /usr/include/qt4/QtCore/qvector.h /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h - /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtGui/QAction + /usr/include/qt4/QtGui/QApplication + /usr/include/qt4/QtGui/QButtonGroup + /usr/include/qt4/QtGui/QDialog + /usr/include/qt4/QtGui/QHeaderView + /usr/include/qt4/QtGui/QWidget + /usr/include/qt4/QtGui/qabstractitemdelegate.h + /usr/include/qt4/QtGui/qabstractitemview.h + /usr/include/qt4/QtGui/qabstractscrollarea.h + /usr/include/qt4/QtGui/qabstractslider.h + /usr/include/qt4/QtGui/qabstractspinbox.h + /usr/include/qt4/QtGui/qaction.h + /usr/include/qt4/QtGui/qactiongroup.h + /usr/include/qt4/QtGui/qapplication.h + /usr/include/qt4/QtGui/qboxlayout.h + /usr/include/qt4/QtGui/qbrush.h + /usr/include/qt4/QtGui/qbuttongroup.h + /usr/include/qt4/QtGui/qcolor.h + /usr/include/qt4/QtGui/qcombobox.h + /usr/include/qt4/QtGui/qcursor.h + /usr/include/qt4/QtGui/qdesktopwidget.h + /usr/include/qt4/QtGui/qdialog.h + /usr/include/qt4/QtGui/qdrag.h + /usr/include/qt4/QtGui/qevent.h + /usr/include/qt4/QtGui/qfont.h + /usr/include/qt4/QtGui/qfontinfo.h + /usr/include/qt4/QtGui/qfontmetrics.h + /usr/include/qt4/QtGui/qframe.h + /usr/include/qt4/QtGui/qgridlayout.h + /usr/include/qt4/QtGui/qgroupbox.h + /usr/include/qt4/QtGui/qheaderview.h + /usr/include/qt4/QtGui/qicon.h + /usr/include/qt4/QtGui/qimage.h + /usr/include/qt4/QtGui/qitemselectionmodel.h + /usr/include/qt4/QtGui/qkeysequence.h + /usr/include/qt4/QtGui/qlabel.h + /usr/include/qt4/QtGui/qlayout.h + /usr/include/qt4/QtGui/qlayoutitem.h + /usr/include/qt4/QtGui/qmacdefines_mac.h + /usr/include/qt4/QtGui/qmatrix.h + /usr/include/qt4/QtGui/qmime.h + /usr/include/qt4/QtGui/qpaintdevice.h + /usr/include/qt4/QtGui/qpainterpath.h + /usr/include/qt4/QtGui/qpalette.h + /usr/include/qt4/QtGui/qpixmap.h + /usr/include/qt4/QtGui/qpolygon.h + /usr/include/qt4/QtGui/qprogressbar.h + /usr/include/qt4/QtGui/qregion.h + /usr/include/qt4/QtGui/qrgb.h + /usr/include/qt4/QtGui/qrubberband.h + /usr/include/qt4/QtGui/qsizepolicy.h + /usr/include/qt4/QtGui/qslider.h + /usr/include/qt4/QtGui/qstyle.h + /usr/include/qt4/QtGui/qstyleoption.h + /usr/include/qt4/QtGui/qtabbar.h + /usr/include/qt4/QtGui/qtabwidget.h + /usr/include/qt4/QtGui/qtransform.h + /usr/include/qt4/QtGui/qtransportauth_qws.h + /usr/include/qt4/QtGui/qvalidator.h + /usr/include/qt4/QtGui/qwidget.h + /usr/include/qt4/QtGui/qwindowdefs.h + /usr/include/qt4/QtGui/qwindowdefs_win.h + /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h /usr/include/qt4/QtNetwork/qnetworkreply.h /usr/include/qt4/QtNetwork/qnetworkrequest.h /usr/include/qt4/QtNetwork/qnetworksession.h /usr/include/qt4/QtNetwork/qssl.h /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o - /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h - /home/niklas/fbgui/LogReceiver/build/../ndgui.h - /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o + /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp + /home/niklas/fbgui/LogReceiver/routemanager.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/interface.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QObject + /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h /usr/include/qt4/QtCore/qatomic.h /usr/include/qt4/QtCore/qatomic_alpha.h /usr/include/qt4/QtCore/qatomic_arch.h @@ -2288,135 +3894,138 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o /usr/include/qt4/QtCore/qatomic_windowsce.h /usr/include/qt4/QtCore/qatomic_x86_64.h /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h /usr/include/qt4/QtCore/qbuffer.h /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h /usr/include/qt4/QtCore/qchar.h /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h /usr/include/qt4/QtCore/qcontiguouscache.h /usr/include/qt4/QtCore/qcoreapplication.h /usr/include/qt4/QtCore/qcoreevent.h /usr/include/qt4/QtCore/qcryptographichash.h /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h /usr/include/qt4/QtCore/qglobal.h /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h /usr/include/qt4/QtCore/qiodevice.h /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h /usr/include/qt4/QtCore/qline.h /usr/include/qt4/QtCore/qlinkedlist.h /usr/include/qt4/QtCore/qlist.h /usr/include/qt4/QtCore/qlocale.h /usr/include/qt4/QtCore/qmap.h /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h /usr/include/qt4/QtCore/qmetatype.h /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h /usr/include/qt4/QtCore/qobjectdefs.h /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h /usr/include/qt4/QtCore/qpoint.h /usr/include/qt4/QtCore/qpointer.h /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h /usr/include/qt4/QtCore/qrect.h /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h /usr/include/qt4/QtCore/qsharedpointer.h /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h /usr/include/qt4/QtCore/qstring.h /usr/include/qt4/QtCore/qstringbuilder.h /usr/include/qt4/QtCore/qstringlist.h /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtGui/QAction - /usr/include/qt4/QtGui/QApplication - /usr/include/qt4/QtGui/QButtonGroup - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QHeaderView - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qitemselectionmodel.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprogressbar.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslerror.h - ui_ndgui.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o /home/niklas/fbgui/LogReceiver/build/../routemanager.h /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/interface.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate @@ -2583,28 +4192,46 @@ CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o /usr/include/qt4/QtCore/qvector.h /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o - /home/niklas/fbgui/LogReceiver/build/moc_ui_logreceiver.cxx CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx CMakeFiles/LogReceiver.dir/ndgui.cpp.o /home/niklas/fbgui/LogReceiver/abortbootdialog.h /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/logreceiver.h /home/niklas/fbgui/LogReceiver/ndgui.cpp /home/niklas/fbgui/LogReceiver/ndgui.h + /home/niklas/fbgui/LogReceiver/ui_ndgui.h + /home/niklas/fbgui/customdhcpcd/src/common.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/dhcp.h + /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h + /home/niklas/fbgui/customdhcpcd/src/interface.h + /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice + /usr/include/qt4/QtCore/QList + /usr/include/qt4/QtCore/QMap + /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF + /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl /usr/include/qt4/QtCore/QVariant + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h /usr/include/qt4/QtCore/qabstractitemmodel.h + /usr/include/qt4/QtCore/qabstractstate.h + /usr/include/qt4/QtCore/qabstracttransition.h /usr/include/qt4/QtCore/qalgorithms.h + /usr/include/qt4/QtCore/qanimationgroup.h /usr/include/qt4/QtCore/qatomic.h /usr/include/qt4/QtCore/qatomic_alpha.h /usr/include/qt4/QtCore/qatomic_arch.h @@ -2630,54 +4257,133 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o /usr/include/qt4/QtCore/qatomic_windowsce.h /usr/include/qt4/QtCore/qatomic_x86_64.h /usr/include/qt4/QtCore/qbasicatomic.h + /usr/include/qt4/QtCore/qbasictimer.h + /usr/include/qt4/QtCore/qbitarray.h /usr/include/qt4/QtCore/qbuffer.h /usr/include/qt4/QtCore/qbytearray.h + /usr/include/qt4/QtCore/qbytearraymatcher.h + /usr/include/qt4/QtCore/qcache.h /usr/include/qt4/QtCore/qchar.h /usr/include/qt4/QtCore/qconfig.h + /usr/include/qt4/QtCore/qcontainerfwd.h /usr/include/qt4/QtCore/qcontiguouscache.h /usr/include/qt4/QtCore/qcoreapplication.h /usr/include/qt4/QtCore/qcoreevent.h /usr/include/qt4/QtCore/qcryptographichash.h /usr/include/qt4/QtCore/qdatastream.h + /usr/include/qt4/QtCore/qdatetime.h /usr/include/qt4/QtCore/qdebug.h + /usr/include/qt4/QtCore/qdir.h + /usr/include/qt4/QtCore/qdiriterator.h + /usr/include/qt4/QtCore/qeasingcurve.h + /usr/include/qt4/QtCore/qelapsedtimer.h + /usr/include/qt4/QtCore/qendian.h /usr/include/qt4/QtCore/qeventloop.h + /usr/include/qt4/QtCore/qeventtransition.h + /usr/include/qt4/QtCore/qfactoryinterface.h /usr/include/qt4/QtCore/qfeatures.h + /usr/include/qt4/QtCore/qfile.h + /usr/include/qt4/QtCore/qfileinfo.h + /usr/include/qt4/QtCore/qfilesystemwatcher.h + /usr/include/qt4/QtCore/qfinalstate.h + /usr/include/qt4/QtCore/qfsfileengine.h + /usr/include/qt4/QtCore/qfuture.h + /usr/include/qt4/QtCore/qfutureinterface.h + /usr/include/qt4/QtCore/qfuturesynchronizer.h + /usr/include/qt4/QtCore/qfuturewatcher.h /usr/include/qt4/QtCore/qglobal.h /usr/include/qt4/QtCore/qhash.h + /usr/include/qt4/QtCore/qhistorystate.h /usr/include/qt4/QtCore/qiodevice.h /usr/include/qt4/QtCore/qiterator.h + /usr/include/qt4/QtCore/qlibrary.h + /usr/include/qt4/QtCore/qlibraryinfo.h /usr/include/qt4/QtCore/qline.h /usr/include/qt4/QtCore/qlinkedlist.h /usr/include/qt4/QtCore/qlist.h /usr/include/qt4/QtCore/qlocale.h /usr/include/qt4/QtCore/qmap.h /usr/include/qt4/QtCore/qmargins.h + /usr/include/qt4/QtCore/qmath.h + /usr/include/qt4/QtCore/qmetaobject.h /usr/include/qt4/QtCore/qmetatype.h /usr/include/qt4/QtCore/qmimedata.h + /usr/include/qt4/QtCore/qmutex.h /usr/include/qt4/QtCore/qnamespace.h + /usr/include/qt4/QtCore/qnumeric.h /usr/include/qt4/QtCore/qobject.h + /usr/include/qt4/QtCore/qobjectcleanuphandler.h /usr/include/qt4/QtCore/qobjectdefs.h /usr/include/qt4/QtCore/qpair.h + /usr/include/qt4/QtCore/qparallelanimationgroup.h + /usr/include/qt4/QtCore/qpauseanimation.h + /usr/include/qt4/QtCore/qplugin.h + /usr/include/qt4/QtCore/qpluginloader.h /usr/include/qt4/QtCore/qpoint.h /usr/include/qt4/QtCore/qpointer.h /usr/include/qt4/QtCore/qprocess.h + /usr/include/qt4/QtCore/qpropertyanimation.h + /usr/include/qt4/QtCore/qqueue.h + /usr/include/qt4/QtCore/qreadwritelock.h /usr/include/qt4/QtCore/qrect.h /usr/include/qt4/QtCore/qregexp.h + /usr/include/qt4/QtCore/qresource.h + /usr/include/qt4/QtCore/qrunnable.h /usr/include/qt4/QtCore/qscopedpointer.h + /usr/include/qt4/QtCore/qsemaphore.h + /usr/include/qt4/QtCore/qsequentialanimationgroup.h /usr/include/qt4/QtCore/qset.h + /usr/include/qt4/QtCore/qsettings.h /usr/include/qt4/QtCore/qshareddata.h + /usr/include/qt4/QtCore/qsharedmemory.h /usr/include/qt4/QtCore/qsharedpointer.h /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h /usr/include/qt4/QtCore/qstring.h /usr/include/qt4/QtCore/qstringbuilder.h /usr/include/qt4/QtCore/qstringlist.h /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h /usr/include/qt4/QtGui/QAction /usr/include/qt4/QtGui/QApplication /usr/include/qt4/QtGui/QButtonGroup @@ -2742,25 +4448,46 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkCookie + /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest + /usr/include/qt4/QtNetwork/QtNetwork + /usr/include/qt4/QtNetwork/qabstractnetworkcache.h /usr/include/qt4/QtNetwork/qabstractsocket.h + /usr/include/qt4/QtNetwork/qauthenticator.h + /usr/include/qt4/QtNetwork/qftp.h /usr/include/qt4/QtNetwork/qhostaddress.h + /usr/include/qt4/QtNetwork/qhostinfo.h + /usr/include/qt4/QtNetwork/qhttp.h + /usr/include/qt4/QtNetwork/qlocalserver.h + /usr/include/qt4/QtNetwork/qlocalsocket.h /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h /usr/include/qt4/QtNetwork/qnetworkconfiguration.h + /usr/include/qt4/QtNetwork/qnetworkcookie.h + /usr/include/qt4/QtNetwork/qnetworkcookiejar.h + /usr/include/qt4/QtNetwork/qnetworkdiskcache.h /usr/include/qt4/QtNetwork/qnetworkinterface.h + /usr/include/qt4/QtNetwork/qnetworkproxy.h /usr/include/qt4/QtNetwork/qnetworkreply.h /usr/include/qt4/QtNetwork/qnetworkrequest.h /usr/include/qt4/QtNetwork/qnetworksession.h /usr/include/qt4/QtNetwork/qssl.h /usr/include/qt4/QtNetwork/qsslcertificate.h + /usr/include/qt4/QtNetwork/qsslcipher.h + /usr/include/qt4/QtNetwork/qsslconfiguration.h /usr/include/qt4/QtNetwork/qsslerror.h - ui_ndgui.h + /usr/include/qt4/QtNetwork/qsslkey.h + /usr/include/qt4/QtNetwork/qsslsocket.h + /usr/include/qt4/QtNetwork/qtcpserver.h + /usr/include/qt4/QtNetwork/qtcpsocket.h + /usr/include/qt4/QtNetwork/qudpsocket.h + /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/interface.h /home/niklas/fbgui/LogReceiver/routemanager.cpp /home/niklas/fbgui/LogReceiver/routemanager.h + /home/niklas/fbgui/customdhcpcd/src/config.h + /home/niklas/fbgui/customdhcpcd/src/interface.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make index a2c9df3..23dc1c3 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make @@ -825,19 +825,39 @@ CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/q CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qworkspace.h CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/../logreceiver.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/moc_logreceiver.cpp +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h @@ -863,59 +883,196 @@ CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/ CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbuffer.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcache.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatetime.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qline.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmutex.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnumeric.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpointer.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrect.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrunnable.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsettings.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtranslator.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/quuid.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qftp.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.h @@ -1086,16 +1243,16 @@ CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../common/fbgui.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate @@ -1272,6 +1429,33 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlength CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar @@ -1311,17 +1495,28 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinf CMakeFiles/LogReceiver.dir/main.cpp.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp CMakeFiles/LogReceiver.dir/main.cpp.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../ui_ndgui.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QIODevice CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QUrl @@ -1733,20 +1928,159 @@ CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qworkspace.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qftp.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qssl.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ui_ndgui.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h + +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: ../moc_abortbootdialog.cpp +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx @@ -1866,6 +2200,124 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwi CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: ../moc_chooseinterfacedialog.cpp +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h + CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: ../chooseinterfacedialog.h CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h @@ -1984,6 +2436,175 @@ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtG CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: ../interfaceconfiguration.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: ../moc_interfaceconfiguration.cpp +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h + CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h @@ -2153,19 +2774,288 @@ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../interfaceconfiguration.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../moc_logreceiver.cpp +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QProcess +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qftp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h + +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QUrl CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h @@ -2191,77 +3081,523 @@ CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomi CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbuffer.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcache.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qchar.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdatetime.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qglobal.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qiodevice.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qline.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlist.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlocale.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmutex.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qnumeric.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpointer.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qrect.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qrunnable.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsettings.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstring.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringlist.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtranslator.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/quuid.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qftp.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qlocalsocket.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkreply.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworksession.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qssl.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qurlinfo.h + +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../abortbootdialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../interfaceconfiguration.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../logreceiver.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../moc_ndgui.cpp +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../ui_ndgui.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QMetaType +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QObject +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QProcess +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QString +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QUrl +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QAction +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QApplication +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QButtonGroup +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QDialog +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QHeaderView +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QWidget +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qaction.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qapplication.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qbrush.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qcolor.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qcombobox.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qcursor.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qdialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qdrag.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qevent.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qfont.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qframe.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qheaderview.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qicon.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qimage.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qlabel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qlayout.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qmatrix.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qmime.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpalette.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpixmap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpolygon.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qregion.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qrgb.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qrubberband.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qslider.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qstyle.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtabbar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtransform.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qvalidator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwidget.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qftp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qssl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../ui_ndgui.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QUrl CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h @@ -2287,54 +3623,133 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_wind CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbitarray.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbuffer.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcache.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qchar.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdatetime.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qendian.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qglobal.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qiodevice.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qline.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlist.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlocale.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmap.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmetatype.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmutex.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qnumeric.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpoint.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpointer.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qrect.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qrunnable.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsettings.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstring.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringlist.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtranslator.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/quuid.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QAction CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QApplication CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QButtonGroup @@ -2399,23 +3814,217 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qftp.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qlocalsocket.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkreply.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworksession.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qssl.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ui_ndgui.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qurlinfo.h + +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: ../moc_routemanager.cpp +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: ../routemanager.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QDate +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QPoint +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbitarray.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbuffer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcache.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qchar.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdatetime.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qendian.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qglobal.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qiodevice.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qline.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlocale.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmap.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmetatype.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmutex.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qnumeric.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpoint.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpointer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qrect.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qrunnable.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsettings.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstring.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstringlist.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtranslator.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/quuid.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../routemanager.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /home/niklas/fbgui/customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QDate @@ -2583,27 +4192,45 @@ CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvect CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o: moc_ui_logreceiver.cxx - CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../chooseinterfacedialog.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ui_ndgui.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QIODevice +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QList +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QMap +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPointF +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QUrl CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QVariant +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QtCore +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h @@ -2629,54 +4256,133 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windows. CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbitarray.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbuffer.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearray.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcache.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qchar.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qconfig.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdatastream.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdatetime.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdebug.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdir.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qendian.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeventloop.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfeatures.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfile.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfuture.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qglobal.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qhash.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qiodevice.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qiterator.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlibrary.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qline.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlist.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlocale.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmap.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmargins.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmath.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmetatype.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmimedata.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmutex.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qnamespace.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qnumeric.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobject.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpair.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qplugin.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpoint.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpointer.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qprocess.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qqueue.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qrect.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qregexp.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qresource.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qrunnable.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qset.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsettings.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qshareddata.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsize.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstack.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstate.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstring.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringlist.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextstream.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qthread.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtimeline.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtimer.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtranslator.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qurl.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/quuid.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvariant.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvector.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QAction CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QApplication CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QButtonGroup @@ -2741,25 +4447,46 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qftp.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qssl.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ui_ndgui.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QDate diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make index 8a16d3a..434372b 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make @@ -2,7 +2,7 @@ # Generated by "Unix Makefiles" Generator, CMake Version 2.8 # compile CXX with /usr/bin/c++ -CXX_FLAGS = -I/home/niklas/fbgui/LogReceiver/build -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore +CXX_FLAGS = -I/home/niklas/fbgui/LogReceiver/build -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore CXX_DEFINES = -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt index ce002ba..2517973 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/LogReceiver.dir/ndgui.cpp.o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o CMakeFiles/LogReceiver.dir/routemanager.cpp.o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -o LogReceiver -rdynamic -lQtWebKit -lQtGui -lQtXmlPatterns -lQtNetwork -lQtCore -lsysfs +/usr/bin/c++ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o CMakeFiles/LogReceiver.dir/ndgui.cpp.o CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o CMakeFiles/LogReceiver.dir/routemanager.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -o LogReceiver -rdynamic -L/home/niklas/fbgui/customdhcpcd/src/build -lQtWebKit -lQtGui -lQtXmlPatterns -lQtNetwork -lQtCore -lsysfs -llibcustomdhcpcd -Wl,-rpath,/home/niklas/fbgui/customdhcpcd/src/build diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make index c5a9eb3..7e5f73e 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make @@ -25,4 +25,7 @@ CMAKE_PROGRESS_24 = 24 CMAKE_PROGRESS_25 = 25 CMAKE_PROGRESS_26 = 26 CMAKE_PROGRESS_27 = 27 +CMAKE_PROGRESS_28 = 28 +CMAKE_PROGRESS_29 = 29 +CMAKE_PROGRESS_30 = 30 diff --git a/LogReceiver/build/CMakeFiles/Makefile2 b/LogReceiver/build/CMakeFiles/Makefile2 index b2fc74c..ae6bf87 100644 --- a/LogReceiver/build/CMakeFiles/Makefile2 +++ b/LogReceiver/build/CMakeFiles/Makefile2 @@ -56,7 +56,7 @@ CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build CMakeFiles/LogReceiver.dir/all: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/depend $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/build - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 @echo "Built target LogReceiver" .PHONY : CMakeFiles/LogReceiver.dir/all @@ -66,7 +66,7 @@ all: CMakeFiles/LogReceiver.dir/all # Build rule for subdir invocation for target. CMakeFiles/LogReceiver.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 27 + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 30 $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/LogReceiver.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 0 .PHONY : CMakeFiles/LogReceiver.dir/rule diff --git a/LogReceiver/build/CMakeFiles/Progress/18 b/LogReceiver/build/CMakeFiles/Progress/18 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/18 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/19 b/LogReceiver/build/CMakeFiles/Progress/19 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/19 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/20 b/LogReceiver/build/CMakeFiles/Progress/20 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/20 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/21 b/LogReceiver/build/CMakeFiles/Progress/21 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/21 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/22 b/LogReceiver/build/CMakeFiles/Progress/22 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/22 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/count.txt b/LogReceiver/build/CMakeFiles/Progress/count.txt index f64f5d8..64bb6b7 100644 --- a/LogReceiver/build/CMakeFiles/Progress/count.txt +++ b/LogReceiver/build/CMakeFiles/Progress/count.txt @@ -1 +1 @@ -27 +30 diff --git a/LogReceiver/build/CMakeFiles/progress.marks b/LogReceiver/build/CMakeFiles/progress.marks index f64f5d8..64bb6b7 100644 --- a/LogReceiver/build/CMakeFiles/progress.marks +++ b/LogReceiver/build/CMakeFiles/progress.marks @@ -1 +1 @@ -27 +30 diff --git a/LogReceiver/build/Makefile b/LogReceiver/build/Makefile index ebe4401..e643c68 100644 --- a/LogReceiver/build/Makefile +++ b/LogReceiver/build/Makefile @@ -276,6 +276,30 @@ main.cpp.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.s .PHONY : main.cpp.s +moc_abortbootdialog.o: moc_abortbootdialog.cpp.o +.PHONY : moc_abortbootdialog.o + +# target to build an object file +moc_abortbootdialog.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o +.PHONY : moc_abortbootdialog.cpp.o + +moc_abortbootdialog.i: moc_abortbootdialog.cpp.i +.PHONY : moc_abortbootdialog.i + +# target to preprocess a source file +moc_abortbootdialog.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i +.PHONY : moc_abortbootdialog.cpp.i + +moc_abortbootdialog.s: moc_abortbootdialog.cpp.s +.PHONY : moc_abortbootdialog.s + +# target to generate assembly for a file +moc_abortbootdialog.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s +.PHONY : moc_abortbootdialog.cpp.s + moc_abortbootdialog.o: moc_abortbootdialog.cxx.o .PHONY : moc_abortbootdialog.o @@ -300,6 +324,30 @@ moc_abortbootdialog.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s .PHONY : moc_abortbootdialog.cxx.s +moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cpp.o +.PHONY : moc_chooseinterfacedialog.o + +# target to build an object file +moc_chooseinterfacedialog.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o +.PHONY : moc_chooseinterfacedialog.cpp.o + +moc_chooseinterfacedialog.i: moc_chooseinterfacedialog.cpp.i +.PHONY : moc_chooseinterfacedialog.i + +# target to preprocess a source file +moc_chooseinterfacedialog.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i +.PHONY : moc_chooseinterfacedialog.cpp.i + +moc_chooseinterfacedialog.s: moc_chooseinterfacedialog.cpp.s +.PHONY : moc_chooseinterfacedialog.s + +# target to generate assembly for a file +moc_chooseinterfacedialog.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s +.PHONY : moc_chooseinterfacedialog.cpp.s + moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cxx.o .PHONY : moc_chooseinterfacedialog.o @@ -324,6 +372,30 @@ moc_chooseinterfacedialog.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s .PHONY : moc_chooseinterfacedialog.cxx.s +moc_interfaceconfiguration.o: moc_interfaceconfiguration.cpp.o +.PHONY : moc_interfaceconfiguration.o + +# target to build an object file +moc_interfaceconfiguration.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o +.PHONY : moc_interfaceconfiguration.cpp.o + +moc_interfaceconfiguration.i: moc_interfaceconfiguration.cpp.i +.PHONY : moc_interfaceconfiguration.i + +# target to preprocess a source file +moc_interfaceconfiguration.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i +.PHONY : moc_interfaceconfiguration.cpp.i + +moc_interfaceconfiguration.s: moc_interfaceconfiguration.cpp.s +.PHONY : moc_interfaceconfiguration.s + +# target to generate assembly for a file +moc_interfaceconfiguration.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s +.PHONY : moc_interfaceconfiguration.cpp.s + moc_interfaceconfiguration.o: moc_interfaceconfiguration.cxx.o .PHONY : moc_interfaceconfiguration.o @@ -348,6 +420,30 @@ moc_interfaceconfiguration.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s .PHONY : moc_interfaceconfiguration.cxx.s +moc_logreceiver.o: moc_logreceiver.cpp.o +.PHONY : moc_logreceiver.o + +# target to build an object file +moc_logreceiver.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o +.PHONY : moc_logreceiver.cpp.o + +moc_logreceiver.i: moc_logreceiver.cpp.i +.PHONY : moc_logreceiver.i + +# target to preprocess a source file +moc_logreceiver.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i +.PHONY : moc_logreceiver.cpp.i + +moc_logreceiver.s: moc_logreceiver.cpp.s +.PHONY : moc_logreceiver.s + +# target to generate assembly for a file +moc_logreceiver.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s +.PHONY : moc_logreceiver.cpp.s + moc_logreceiver.o: moc_logreceiver.cxx.o .PHONY : moc_logreceiver.o @@ -372,6 +468,30 @@ moc_logreceiver.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s .PHONY : moc_logreceiver.cxx.s +moc_ndgui.o: moc_ndgui.cpp.o +.PHONY : moc_ndgui.o + +# target to build an object file +moc_ndgui.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o +.PHONY : moc_ndgui.cpp.o + +moc_ndgui.i: moc_ndgui.cpp.i +.PHONY : moc_ndgui.i + +# target to preprocess a source file +moc_ndgui.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i +.PHONY : moc_ndgui.cpp.i + +moc_ndgui.s: moc_ndgui.cpp.s +.PHONY : moc_ndgui.s + +# target to generate assembly for a file +moc_ndgui.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s +.PHONY : moc_ndgui.cpp.s + moc_ndgui.o: moc_ndgui.cxx.o .PHONY : moc_ndgui.o @@ -396,6 +516,30 @@ moc_ndgui.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s .PHONY : moc_ndgui.cxx.s +moc_routemanager.o: moc_routemanager.cpp.o +.PHONY : moc_routemanager.o + +# target to build an object file +moc_routemanager.cpp.o: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o +.PHONY : moc_routemanager.cpp.o + +moc_routemanager.i: moc_routemanager.cpp.i +.PHONY : moc_routemanager.i + +# target to preprocess a source file +moc_routemanager.cpp.i: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i +.PHONY : moc_routemanager.cpp.i + +moc_routemanager.s: moc_routemanager.cpp.s +.PHONY : moc_routemanager.s + +# target to generate assembly for a file +moc_routemanager.cpp.s: + $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s +.PHONY : moc_routemanager.cpp.s + moc_routemanager.o: moc_routemanager.cxx.o .PHONY : moc_routemanager.o @@ -420,30 +564,6 @@ moc_routemanager.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s .PHONY : moc_routemanager.cxx.s -moc_ui_logreceiver.o: moc_ui_logreceiver.cxx.o -.PHONY : moc_ui_logreceiver.o - -# target to build an object file -moc_ui_logreceiver.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.o -.PHONY : moc_ui_logreceiver.cxx.o - -moc_ui_logreceiver.i: moc_ui_logreceiver.cxx.i -.PHONY : moc_ui_logreceiver.i - -# target to preprocess a source file -moc_ui_logreceiver.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.i -.PHONY : moc_ui_logreceiver.cxx.i - -moc_ui_logreceiver.s: moc_ui_logreceiver.cxx.s -.PHONY : moc_ui_logreceiver.s - -# target to generate assembly for a file -moc_ui_logreceiver.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_logreceiver.cxx.s -.PHONY : moc_ui_logreceiver.cxx.s - moc_ui_ndgui.o: moc_ui_ndgui.cxx.o .PHONY : moc_ui_ndgui.o @@ -549,24 +669,39 @@ help: @echo "... moc_abortbootdialog.o" @echo "... moc_abortbootdialog.i" @echo "... moc_abortbootdialog.s" + @echo "... moc_abortbootdialog.o" + @echo "... moc_abortbootdialog.i" + @echo "... moc_abortbootdialog.s" + @echo "... moc_chooseinterfacedialog.o" + @echo "... moc_chooseinterfacedialog.i" + @echo "... moc_chooseinterfacedialog.s" @echo "... moc_chooseinterfacedialog.o" @echo "... moc_chooseinterfacedialog.i" @echo "... moc_chooseinterfacedialog.s" @echo "... moc_interfaceconfiguration.o" @echo "... moc_interfaceconfiguration.i" @echo "... moc_interfaceconfiguration.s" + @echo "... moc_interfaceconfiguration.o" + @echo "... moc_interfaceconfiguration.i" + @echo "... moc_interfaceconfiguration.s" + @echo "... moc_logreceiver.o" + @echo "... moc_logreceiver.i" + @echo "... moc_logreceiver.s" @echo "... moc_logreceiver.o" @echo "... moc_logreceiver.i" @echo "... moc_logreceiver.s" @echo "... moc_ndgui.o" @echo "... moc_ndgui.i" @echo "... moc_ndgui.s" + @echo "... moc_ndgui.o" + @echo "... moc_ndgui.i" + @echo "... moc_ndgui.s" + @echo "... moc_routemanager.o" + @echo "... moc_routemanager.i" + @echo "... moc_routemanager.s" @echo "... moc_routemanager.o" @echo "... moc_routemanager.i" @echo "... moc_routemanager.s" - @echo "... moc_ui_logreceiver.o" - @echo "... moc_ui_logreceiver.i" - @echo "... moc_ui_logreceiver.s" @echo "... moc_ui_ndgui.o" @echo "... moc_ui_ndgui.i" @echo "... moc_ui_ndgui.s" diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 61e9c62..66c65e5 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -1,25 +1,9 @@ -#include -#include -#include - -#include -#include -#include -#include -#include -#include #include "logreceiver.h" -#include "interfaceconfiguration.h" -#include -#include -#include "status.h" -#include "dhcp.h" -#include "interface.h" #include "../common/fbgui.h" -LogReceiver::LogReceiver() { +LogReceiver::LogReceiver(QObject *parent) { server = new QLocalServer(this); } @@ -250,7 +234,7 @@ void LogReceiver::checkConnectivity(QString ifName) { ba = ifConf.getGateway().toAscii(); const char * gwaddr = ba.data(); inet_aton(gwaddr,&gw); - del_route(ifname, destination, netmask, gw, metric); + //del_route(ifname, destination, netmask, gw, metric); QProcess * p = new QProcess(this); /* diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index e30e85b..b11fd0c 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -1,27 +1,44 @@ #ifndef LOGRECEIVER_H #define LOGRECEIVER_H -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include -class QLocalServer; -class QLocalSocket; +#include +#include +#include +#include +#include +#include + +#include "interfaceconfiguration.h" +//#include +//#include +#include "status.h" +#include "dhcp.h" +#include "interface.h" + +//#include +//#include +//#include +//#include +//#include +//#include +//#include +#include -class LogReceiver: public QObject { -Q_OBJECT #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" #define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" #define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" #define ACK_SIZE 4 +class LogReceiver: public QObject { +Q_OBJECT + public: - LogReceiver(); + LogReceiver(QObject *parent=0); ~LogReceiver(); void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, diff --git a/LogReceiver/logreceiver.ui b/LogReceiver/logreceiver.ui deleted file mode 100644 index 0010c64..0000000 --- a/LogReceiver/logreceiver.ui +++ /dev/null @@ -1,25 +0,0 @@ - - - LogReceiverClass - - - - 0 - 0 - 572 - 385 - - - - LogReceiver - - - #LogReceiverClass{ -background:grey; -} - - - - - - diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp index 11b9a35..d3d5139 100644 --- a/LogReceiver/routemanager.cpp +++ b/LogReceiver/routemanager.cpp @@ -5,9 +5,7 @@ * Author: niklas */ -#include -//#include "interface.h" #include "routemanager.h" routemanager::routemanager() { @@ -22,6 +20,7 @@ routemanager::~routemanager() { void routemanager::addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric) { //struct in_addr destination, netmask, gateway; //add_route(); + } void routemanager::delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric) { diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h index 63ec778..3bbe021 100644 --- a/LogReceiver/routemanager.h +++ b/LogReceiver/routemanager.h @@ -8,6 +8,9 @@ #ifndef ROUTEMANAGER_H_ #define ROUTEMANAGER_H_ +#include +#include + #include class routemanager : public QObject{ -- cgit v1.2.3-55-g7522 From a80a0442fd397fc6aa4f3b2d8537c0cabb857e4b Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 17:38:27 +0200 Subject: fix compile errors --- LogReceiver/logreceiver.cpp | 5 +++-- customdhcpcd/src/logwriter.c | 21 +++++++++++++++++---- customdhcpcd/src/logwriter.h | 2 +- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 66c65e5..8dc2938 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -269,8 +269,8 @@ void LogReceiver::checkConnectivity(QString ifName) { } void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { - - const bool canStartIAP = (configurationManager.capabilities() +/* + bool canStartIAP = (configurationManager.capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces); QList configs = configurationManager.allConfigurations(); @@ -307,6 +307,7 @@ void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { qDebug() << "couldn't open session"; } session->close(); + */ } /** diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index 0a78995..d41bbfb 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -151,10 +151,23 @@ void logSendToQt(int type) { } } -void logLoggerToQt(int level, const char *fmt, va_list args) { - vsnprintf(mesg, sizeof(mesg), fmt, args); - strcat(mesg, "\n"); - logToQt(level, DHCPCD_LOG, mesg); +void logLoggerToQt(int level, const char *fmt, ...) { + // Format string into buffer + va_list argptr; + va_start (argptr, fmt); + int size = 255 + 2; + char *string = (char *) malloc (size); + int required = vsnprintf (string, size, fmt, argptr); + if (required >= size) + { + size = required + 2; + string = (char *) realloc (string, size); + vsnprintf (string, size, fmt, argptr); + } + va_end (argptr); + + strcat(string, "\n"); + logToQt(level, DHCPCD_LOG, string); } static void print_addresses (FILE *f, const struct address_head *addresses) diff --git a/customdhcpcd/src/logwriter.h b/customdhcpcd/src/logwriter.h index 7e41411..43f35fa 100644 --- a/customdhcpcd/src/logwriter.h +++ b/customdhcpcd/src/logwriter.h @@ -33,7 +33,7 @@ void closeQtLoggerSocket (); void sendToQt (); void logToQt(int status, int substatus, const char * msg); void logSendToQt(int type); -void logLoggerToQt(int level, const char *fmt, va_list args); +void logLoggerToQt(int level, const char *fmt, ...); //void logToQt(char * status, char * substatus, char * msg); void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp); -- cgit v1.2.3-55-g7522 From d546c74646d0b101e4ca0345ce5c6533c9a510f3 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 17:40:25 +0200 Subject: fix gitignore --- customdhcpcd/src/.gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/customdhcpcd/src/.gitignore b/customdhcpcd/src/.gitignore index 6eb1591..e531d2b 100644 --- a/customdhcpcd/src/.gitignore +++ b/customdhcpcd/src/.gitignore @@ -1,5 +1,5 @@ *.o -version.h dhcpcd dhcpcd.8 dhcpcd-*.bz2 +build -- cgit v1.2.3-55-g7522 From a68107801aaec2db4b327c0cc5ee6a99061ca612 Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 6 Sep 2011 17:41:51 +0200 Subject: add version.h --- customdhcpcd/src/version.h | 1 + 1 file changed, 1 insertion(+) create mode 100644 customdhcpcd/src/version.h diff --git a/customdhcpcd/src/version.h b/customdhcpcd/src/version.h new file mode 100644 index 0000000..9cf5fa4 --- /dev/null +++ b/customdhcpcd/src/version.h @@ -0,0 +1 @@ +#define VERSION "3.2.3" -- cgit v1.2.3-55-g7522 From b9dc90fcd2931b54aa889cdf9127dae28b9f463c Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:02:41 +0200 Subject: transfer --- LogReceiver/CMakeLists.txt | 13 ++++++++----- LogReceiver/logreceiver.h | 7 ++++--- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index 32f7b6e..137321a 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8) project(LogReceiver) -find_package(Qt4 REQUIRED) +find_package(Qt4 REQUIRED 4.7) if (QT4_FOUND) message(STATUS "QT4 found.") else(QT4_FOUND) @@ -11,8 +11,8 @@ endif(QT4_FOUND) #find_package(Qxt REQUIRED) -#set(QT_USE_CORE TRUE) -#set(QT_USE_GUI TRUE) +set(QT_USE_QTCORE TRUE) +set(QT_USE_QTGUI TRUE) set(QT_USE_QTNETWORK TRUE) set(QT_USE_QTWEBKIT TRUE) @@ -23,8 +23,10 @@ file(GLOB_RECURSE LOGRECEIVER_RCS ./*.qrc) include_directories(${CMAKE_CURRENT_BINARY_DIR} /usr/include/ - /home/niklas/fbgui/customdhcpcd/src/ - /home/niklas/fbgui/LogReceiver/build) + ../customdhcpcd/src/ + ./build + ${QT_INCLUDE_DIR} + ) include(${QT_USE_FILE}) add_definitions(${QT_DEFINITIONS}) @@ -44,6 +46,7 @@ QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) add_executable(LogReceiver + ${QT_INCLUDES} ${LOGRECEIVER_SOURCES} ${LOGRECEIVER_MOC_SOURCES} ${LOGRECEIVER_UI_HEADERS}) diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index b11fd0c..f22e619 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -1,9 +1,10 @@ #ifndef LOGRECEIVER_H #define LOGRECEIVER_H -#include +//#include #include -#include +#include +//#include #include #include @@ -24,7 +25,7 @@ //#include //#include //#include -//#include +#include //#include #include -- cgit v1.2.3-55-g7522 From 1530b0cc6f5dbe252b34c39fcc5eb53fb608d19b Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:07:14 +0200 Subject: fix cmake includes --- LogReceiver/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index 137321a..120ec24 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -25,7 +25,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} /usr/include/ ../customdhcpcd/src/ ./build - ${QT_INCLUDE_DIR} + ${QT_INCLUDES} ) include(${QT_USE_FILE}) -- cgit v1.2.3-55-g7522 From bcac1da4f398638567bd8695affef6ed769b5cbc Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:11:09 +0200 Subject: add requirement for qt 4.7 --- LogReceiver/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index 120ec24..f5da228 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -2,7 +2,8 @@ cmake_minimum_required(VERSION 2.8) project(LogReceiver) -find_package(Qt4 REQUIRED 4.7) +set(QT_MIN_VERSION "4.7.0") +find_package(Qt4 REQUIRED) if (QT4_FOUND) message(STATUS "QT4 found.") else(QT4_FOUND) -- cgit v1.2.3-55-g7522 From b3370cb70705b0ed67f3fd6257b64fe97eec36d6 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:38:27 +0200 Subject: fix cmake stuff --- LogReceiver/CMakeLists.txt | 12 ++++++------ LogReceiver/ndgui.h | 12 +++++++----- customdhcpcd/src/CMakeLists.txt | 6 +++--- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index f5da228..6b3aedc 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -17,14 +17,14 @@ set(QT_USE_QTGUI TRUE) set(QT_USE_QTNETWORK TRUE) set(QT_USE_QTWEBKIT TRUE) -file(GLOB_RECURSE LOGRECEIVER_SOURCES ./*.cpp) -file(GLOB_RECURSE LOGRECEIVER_MOC_HEADERS ./*.h) -file(GLOB_RECURSE LOGRECEIVER_UIS ./*.ui) -file(GLOB_RECURSE LOGRECEIVER_RCS ./*.qrc) +file(GLOB LOGRECEIVER_SOURCES ./*.cpp) +file(GLOB LOGRECEIVER_MOC_HEADERS ./*.h) +file(GLOB LOGRECEIVER_UIS ./*.ui) +file(GLOB LOGRECEIVER_RCS ./*.qrc) include_directories(${CMAKE_CURRENT_BINARY_DIR} /usr/include/ - ../customdhcpcd/src/ + ./../customdhcpcd/src/ ./build ${QT_INCLUDES} ) @@ -54,4 +54,4 @@ add_executable(LogReceiver target_link_libraries(LogReceiver ${QT_LIBRARIES} - sysfs libcustomdhcpcd) + sysfs customdhcpcd) diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index cca603d..81ab266 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -2,15 +2,17 @@ #define NDGUI_H #include -#include "qprogressbar.h" -#include "qlabel.h" -#include "qgroupbox.h" -#include "qboxlayout.h" -#include "ui_ndgui.h" +#include +#include +#include +#include + #include "logreceiver.h" #include "chooseinterfacedialog.h" #include "abortbootdialog.h" +#include "ui_ndgui.h" + class ndgui: public QWidget { Q_OBJECT diff --git a/customdhcpcd/src/CMakeLists.txt b/customdhcpcd/src/CMakeLists.txt index 0511204..a716a5a 100644 --- a/customdhcpcd/src/CMakeLists.txt +++ b/customdhcpcd/src/CMakeLists.txt @@ -10,8 +10,8 @@ common.c dhcp.c duid.c ipv4ll.c signal.c) #file(GLOB_RECURSE CUSTOMDHCPCD_SOURCES *.c) file(GLOB_RECURSE CUSTOMDHCPCD_HEADERS *.h) -add_library(libcustomdhcpcd SHARED ${CUSTOMDHCPCD_SOURCES} ${CUSTOMDHCPCD_HEADERS}) +add_library(customdhcpcd SHARED ${CUSTOMDHCPCD_SOURCES} ${CUSTOMDHCPCD_HEADERS}) #add_executable(customdhcpcd ${CUSTOMDHCPCD_SOURCES}) -add_executable(customdhcpcd dhcpcd.c) -target_link_libraries(customdhcpcd libcustomdhcpcd ) +add_executable(cdhcpcd dhcpcd.c) +target_link_libraries(cdhcpcd customdhcpcd ) -- cgit v1.2.3-55-g7522 From ca4127787f304ca3b93189d98293f7a06102701c Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 6 Sep 2011 18:38:51 +0200 Subject: some changes in the cmakelist file. only added and again removed the same stuff also deleted some files in the debug folder --- LogReceiver/CMakeLists.txt | 2 +- .../CMakeFiles/CMakeDirectoryInformation.cmake | 22 +- LogReceiver/build/CMakeFiles/CMakeError.log | 2 +- LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt | 13 +- .../CMakeFiles/LogReceiver.dir/CXX.includecache | 266 ++-- .../CMakeFiles/LogReceiver.dir/DependInfo.cmake | 8 - .../build/CMakeFiles/LogReceiver.dir/build.make | 276 +--- .../CMakeFiles/LogReceiver.dir/cmake_clean.cmake | 9 - .../CMakeFiles/LogReceiver.dir/depend.internal | 1588 ++------------------ .../build/CMakeFiles/LogReceiver.dir/depend.make | 1454 +----------------- .../build/CMakeFiles/LogReceiver.dir/flags.make | 2 +- .../build/CMakeFiles/LogReceiver.dir/link.txt | 2 +- .../build/CMakeFiles/LogReceiver.dir/progress.make | 9 - LogReceiver/build/CMakeFiles/Makefile.cmake | 17 + LogReceiver/build/CMakeFiles/Makefile2 | 4 +- LogReceiver/build/CMakeFiles/Progress/23 | 1 - LogReceiver/build/CMakeFiles/Progress/24 | 1 - LogReceiver/build/CMakeFiles/Progress/25 | 1 - LogReceiver/build/CMakeFiles/Progress/count.txt | 2 +- LogReceiver/build/CMakeFiles/progress.marks | 2 +- LogReceiver/build/Makefile | 216 --- 21 files changed, 320 insertions(+), 3577 deletions(-) delete mode 100644 LogReceiver/build/CMakeFiles/Progress/23 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/24 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/25 diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index f5da228..cf671b6 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -41,7 +41,7 @@ link_directories(/usr/lib # /usr/lib/libusb-1.0.a # ) -QT4_ADD_RESOURCES(FBGUI_RC_SOURCES ${FBGUI_RCS}) +QT4_ADD_RESOURCES(LOGRECEIVER_RC_SOURCES ${LOGRECEIVER_RCS}) QT4_WRAP_CPP(LOGRECEIVER_MOC_SOURCES ${LOGRECEIVER_MOC_HEADERS}) QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) diff --git a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake index bfcbdec..289868c 100644 --- a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -11,11 +11,27 @@ SET(CMAKE_FORCE_UNIX_PATHS 1) # The C and CXX include file search paths: SET(CMAKE_C_INCLUDE_PATH "." - "/home/niklas/fbgui/customdhcpcd/src" - "/usr/include/qt4" + "../../customdhcpcd/src" + ".././build" + "/usr/include/qt4/QtDesigner" + "/usr/include/qt4/QtDeclarative" + "/usr/include/qt4/QtScriptTools" + "/usr/include/qt4/QtDBus" + "/usr/include/qt4/QtXml" + "/usr/include/qt4/QtSql" + "/usr/include/qt4/QtOpenGL" + "/usr/include/qt4/QtNetwork" + "/usr/include/qt4/QtXmlPatterns" "/usr/include/qt4/QtWebKit" + "/usr/include/qt4/QtHelp" + "/usr/include/qt4/QtUiTools" + "/usr/include/qt4/QtTest" + "/usr/include/qt4/QtScript" + "/usr/include/qt4/QtSvg" + "/usr/include/qt4/Qt3Support" "/usr/include/qt4/QtGui" - "/usr/include/qt4/QtNetwork" + "/usr/share/qt4/mkspecs/default" + "/usr/include/qt4" "/usr/include/qt4/QtCore" ) SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) diff --git a/LogReceiver/build/CMakeFiles/CMakeError.log b/LogReceiver/build/CMakeFiles/CMakeError.log index 3d0d7d1..44add4d 100644 --- a/LogReceiver/build/CMakeFiles/CMakeError.log +++ b/LogReceiver/build/CMakeFiles/CMakeError.log @@ -10,8 +10,8 @@ Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_WIN’ undeclared (first use in this function) /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 +make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' make: *** [cmTryCompileExec/fast] Error 2 File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: diff --git a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt index e89e175..86ea0b9 100644 --- a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt +++ b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt @@ -1,9 +1,8 @@ # Hashes of file build rules. -ccae3667edd823a49d5a2d8286ed859a moc_abortbootdialog.cxx -2bc890a98f1aeeda9868c1811e484286 moc_chooseinterfacedialog.cxx -b8c300d2a85ad299773c4082ccc73314 moc_interfaceconfiguration.cxx -532bcee1b237dbedca14826e8ca4a4f6 moc_logreceiver.cxx -8b6b5f6c8bd0f39eb4a203772c578644 moc_ndgui.cxx -e10d3555b149ded4ad8e849a785665c1 moc_routemanager.cxx -1a10fa9153543edac364db36aaef1822 moc_ui_ndgui.cxx +784cafbf7f552e02d03dd84a90b0e6be moc_abortbootdialog.cxx +e29dec28646a2a3990ab163443dcc4cb moc_chooseinterfacedialog.cxx +ca384a1195878307005ade0266f6867a moc_interfaceconfiguration.cxx +4c02c0d97793178c32d12786afee5715 moc_logreceiver.cxx +1bb4cdb77fc4d4a5b1004e01a51a78da moc_ndgui.cxx +4ce5a53d1e27328591b662d28276d05d moc_routemanager.cxx af4242e398b944b4853304c020c2f8cd ui_ndgui.h diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache index 786efe6..2ef7331 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache @@ -6,6 +6,74 @@ #IncludeRegexTransform: +../../customdhcpcd/src/common.h +sys/time.h +- +stdio.h +- +string.h +- + +../../customdhcpcd/src/config.h + +../../customdhcpcd/src/dhcp.h +netinet/in_systm.h +- +netinet/in.h +- +netinet/ip.h +- +netinet/udp.h +- +stdint.h +- +dhcpcd.h +../../customdhcpcd/src/dhcpcd.h +interface.h +../../customdhcpcd/src/interface.h + +../../customdhcpcd/src/dhcpcd.h +sys/param.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +limits.h +- +stdbool.h +- +common.h +../../customdhcpcd/src/common.h + +../../customdhcpcd/src/interface.h +sys/types.h +- +sys/param.h +- +sys/queue.h +- +sys/socket.h +- +net/if.h +- +netinet/in.h +- +netinet/if_ether.h +- +limits.h +- +stdbool.h +- +config.h +../../customdhcpcd/src/config.h +linux/netlink.h +- + +../../customdhcpcd/src/status.h + /home/niklas/fbgui/LogReceiver/../common/fbgui.h /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp @@ -55,11 +123,9 @@ QtCore - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h -QMap -- QtNetwork - -QProcess +QtCore - arpa/inet.h - @@ -81,6 +147,8 @@ dhcp.h /home/niklas/fbgui/LogReceiver/build/../dhcp.h interface.h /home/niklas/fbgui/LogReceiver/build/../interface.h +QNetworkConfigurationManager +- QWidget - @@ -112,20 +180,6 @@ interface.h QtCore - -/home/niklas/fbgui/LogReceiver/build/../ui_ndgui.h -QtCore/QVariant -- -QtGui/QAction -- -QtGui/QApplication -- -QtGui/QButtonGroup -- -QtGui/QHeaderView -- -QtGui/QWidget -- - /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx @@ -152,8 +206,6 @@ QtGui/QWidget ../routemanager.h /home/niklas/fbgui/LogReceiver/build/../routemanager.h -/home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp QtGui - @@ -172,44 +224,6 @@ qcombobox.h qlabel.h /home/niklas/fbgui/LogReceiver/qlabel.h -/home/niklas/fbgui/LogReceiver/debug/../interfaceconfiguration.h -QtCore -- - -/home/niklas/fbgui/LogReceiver/debug/../logreceiver.h -QMap -- -QtNetwork -- -QProcess -- -arpa/inet.h -- -stdio.h -- -string.h -- -stdlib.h -- -syslog.h -- -sysfs/libsysfs.h -- -interfaceconfiguration.h -/home/niklas/fbgui/LogReceiver/debug/../interfaceconfiguration.h -status.h -/home/niklas/fbgui/LogReceiver/debug/../status.h -dhcp.h -/home/niklas/fbgui/LogReceiver/debug/../dhcp.h -interface.h -/home/niklas/fbgui/LogReceiver/debug/../interface.h -QWidget -- - -/home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp -../logreceiver.h -/home/niklas/fbgui/LogReceiver/debug/../logreceiver.h - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h @@ -225,11 +239,9 @@ logreceiver.h /home/niklas/fbgui/LogReceiver/../common/fbgui.h /home/niklas/fbgui/LogReceiver/logreceiver.h -QMap -- QtNetwork - -QProcess +QtCore - arpa/inet.h - @@ -251,6 +263,8 @@ dhcp.h /home/niklas/fbgui/LogReceiver/dhcp.h interface.h /home/niklas/fbgui/LogReceiver/interface.h +QNetworkConfigurationManager +- QWidget - @@ -262,30 +276,6 @@ QtGui QApplication - -/home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp -abortbootdialog.h -/home/niklas/fbgui/LogReceiver/abortbootdialog.h - -/home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp -chooseinterfacedialog.h -/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - -/home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp -interfaceconfiguration.h -/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - -/home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp -logreceiver.h -/home/niklas/fbgui/LogReceiver/logreceiver.h - -/home/niklas/fbgui/LogReceiver/moc_ndgui.cpp -ndgui.h -/home/niklas/fbgui/LogReceiver/ndgui.h - -/home/niklas/fbgui/LogReceiver/moc_routemanager.cpp -routemanager.h -/home/niklas/fbgui/LogReceiver/routemanager.h - /home/niklas/fbgui/LogReceiver/ndgui.cpp ndgui.h /home/niklas/fbgui/LogReceiver/ndgui.h @@ -326,88 +316,6 @@ interface.h QtCore - -/home/niklas/fbgui/LogReceiver/ui_ndgui.h -QtCore/QVariant -- -QtGui/QAction -- -QtGui/QApplication -- -QtGui/QButtonGroup -- -QtGui/QHeaderView -- -QtGui/QWidget -- - -/home/niklas/fbgui/customdhcpcd/src/common.h -sys/time.h -- -stdio.h -- -string.h -- - -/home/niklas/fbgui/customdhcpcd/src/config.h - -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -netinet/in_systm.h -- -netinet/in.h -- -netinet/ip.h -- -netinet/udp.h -- -stdint.h -- -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -sys/param.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -limits.h -- -stdbool.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h - -/home/niklas/fbgui/customdhcpcd/src/interface.h -sys/types.h -- -sys/param.h -- -sys/queue.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -netinet/if_ether.h -- -limits.h -- -stdbool.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -linux/netlink.h -- - -/home/niklas/fbgui/customdhcpcd/src/status.h - /usr/include/qt4/Qt3Support/q3cstring.h QtCore/qbytearray.h - @@ -438,10 +346,6 @@ qiodevice.h qlist.h /usr/include/qt4/QtCore/qlist.h -/usr/include/qt4/QtCore/QMap -qmap.h -/usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/QMetaType qmetatype.h /usr/include/qt4/QtCore/qmetatype.h @@ -458,10 +362,6 @@ qpoint.h qpoint.h /usr/include/qt4/QtCore/qpoint.h -/usr/include/qt4/QtCore/QProcess -qprocess.h -/usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/QSharedDataPointer qshareddata.h /usr/include/qt4/QtCore/qshareddata.h @@ -4102,6 +4002,10 @@ QtGui/qwidget.h qnetworkaccessmanager.h /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h +/usr/include/qt4/QtNetwork/QNetworkConfigurationManager +qnetworkconfigmanager.h +/usr/include/qt4/QtNetwork/qnetworkconfigmanager.h + /usr/include/qt4/QtNetwork/QNetworkCookie qnetworkcookie.h /usr/include/qt4/QtNetwork/qnetworkcookie.h @@ -4440,3 +4344,17 @@ QtCore/qstring.h QtCore/qiodevice.h - +ui_ndgui.h +QtCore/QVariant +- +QtGui/QAction +- +QtGui/QApplication +- +QtGui/QButtonGroup +- +QtGui/QHeaderView +- +QtGui/QWidget +- + diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake index 6ea139c..7d76c7c 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake @@ -7,23 +7,15 @@ SET(CMAKE_DEPENDS_CHECK_CXX "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" "/home/niklas/fbgui/LogReceiver/abortbootdialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" "/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" - "/home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" "/home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" "/home/niklas/fbgui/LogReceiver/logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" "/home/niklas/fbgui/LogReceiver/main.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/main.cpp.o" - "/home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" - "/home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" - "/home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" - "/home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" - "/home/niklas/fbgui/LogReceiver/moc_ndgui.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" - "/home/niklas/fbgui/LogReceiver/moc_routemanager.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" "/home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" "/home/niklas/fbgui/LogReceiver/ndgui.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/ndgui.cpp.o" "/home/niklas/fbgui/LogReceiver/routemanager.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/routemanager.cpp.o" ) diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make index fa23285..a8757b0 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make @@ -46,57 +46,9 @@ include CMakeFiles/LogReceiver.dir/progress.make # Include the compile flags for this target's objects. include CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: ../moc_chooseinterfacedialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_1) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp > CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../moc_ndgui.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_2) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp - -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp > CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i - -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp -o CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s - -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires - -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides - -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.provides.build - CMakeFiles/LogReceiver.dir/ndgui.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_3) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_1) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/ndgui.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/ndgui.cpp.o -c /home/niklas/fbgui/LogReceiver/ndgui.cpp @@ -118,33 +70,9 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides: CMakeFiles/LogReceiver.dir/ndgu CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/ndgui.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: ../moc_routemanager.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_4) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp - -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp > CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i - -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp -o CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s - -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires - -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides - -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.provides.build - CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_5) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_2) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -168,7 +96,7 @@ CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.pro CMakeFiles/LogReceiver.dir/main.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_6) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_3) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/main.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/main.cpp.o -c /home/niklas/fbgui/LogReceiver/main.cpp @@ -192,7 +120,7 @@ CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build: CMakeFiles/LogReceiver.dir CMakeFiles/LogReceiver.dir/routemanager.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_7) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_4) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/routemanager.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/routemanager.cpp.o -c /home/niklas/fbgui/LogReceiver/routemanager.cpp @@ -214,33 +142,9 @@ CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides: CMakeFiles/LogReceiver.d CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/routemanager.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../moc_logreceiver.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_8) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp > CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.provides.build - CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_9) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_5) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -c /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp @@ -262,57 +166,9 @@ CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides: CMakeFiles/LogR CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: ../moc_abortbootdialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_10) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp > CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/moc_logreceiver.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_11) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp - -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp > CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i - -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp -o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s - -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires - -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides - -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.provides.build - CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_12) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_6) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/logreceiver.cpp @@ -334,33 +190,9 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.di CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o .PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: ../moc_interfaceconfiguration.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_13) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o -c /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp > CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.provides.build - CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_14) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_7) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -c /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp @@ -384,7 +216,7 @@ CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build: CMakeFiles/LogR CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_15) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_8) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -c /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp @@ -408,7 +240,7 @@ CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build: CMakeFil CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_16) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_9) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx @@ -432,7 +264,7 @@ CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build: CMakeFiles/LogR CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_17) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_10) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx @@ -454,33 +286,9 @@ CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides: CMakeFiles/LogReceiv CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o .PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_18) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx > CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx -o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.provides.build - CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_19) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_11) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx @@ -504,7 +312,7 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build: CMakeFiles/LogReceive CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_20) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_12) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx @@ -528,7 +336,7 @@ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build: CMake CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_21) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_13) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx @@ -552,7 +360,7 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build: CMakeFiles/ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: CMakeFiles/LogReceiver.dir/flags.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_22) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_14) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx @@ -575,65 +383,52 @@ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build: CMak .PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build moc_logreceiver.cxx: ../logreceiver.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_23) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_15) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_logreceiver.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /home/niklas/fbgui/LogReceiver/logreceiver.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /home/niklas/fbgui/LogReceiver/logreceiver.h moc_routemanager.cxx: ../routemanager.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_24) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_16) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_routemanager.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx /home/niklas/fbgui/LogReceiver/routemanager.h - -moc_ui_ndgui.cxx: ../ui_ndgui.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_25) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ui_ndgui.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx /home/niklas/fbgui/LogReceiver/ui_ndgui.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx /home/niklas/fbgui/LogReceiver/routemanager.h moc_ndgui.cxx: ../ndgui.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_26) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_17) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ndgui.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx /home/niklas/fbgui/LogReceiver/ndgui.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx /home/niklas/fbgui/LogReceiver/ndgui.h moc_chooseinterfacedialog.cxx: ../chooseinterfacedialog.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_27) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_18) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_chooseinterfacedialog.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h moc_abortbootdialog.cxx: ../abortbootdialog.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_28) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_19) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_abortbootdialog.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /home/niklas/fbgui/LogReceiver/abortbootdialog.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /home/niklas/fbgui/LogReceiver/abortbootdialog.h moc_interfaceconfiguration.cxx: ../interfaceconfiguration.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_29) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_20) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_interfaceconfiguration.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h + /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h ui_ndgui.h: ../ndgui.ui - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_30) + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_21) @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_ndgui.h" /usr/bin/uic-qt4 -o /home/niklas/fbgui/LogReceiver/build/ui_ndgui.h /home/niklas/fbgui/LogReceiver/ndgui.ui # Object files for target LogReceiver LogReceiver_OBJECTS = \ -"CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" \ -"CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" \ "CMakeFiles/LogReceiver.dir/ndgui.cpp.o" \ -"CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" \ "CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" \ "CMakeFiles/LogReceiver.dir/main.cpp.o" \ "CMakeFiles/LogReceiver.dir/routemanager.cpp.o" \ -"CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" \ "CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" \ -"CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" \ -"CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" \ "CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" \ -"CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" \ "CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" \ "CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" \ "CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" \ "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" \ @@ -642,24 +437,16 @@ LogReceiver_OBJECTS = \ # External object files for target LogReceiver LogReceiver_EXTERNAL_OBJECTS = -LogReceiver: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/ndgui.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/main.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/routemanager.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o LogReceiver: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o @@ -678,24 +465,16 @@ LogReceiver: CMakeFiles/LogReceiver.dir/link.txt CMakeFiles/LogReceiver.dir/build: LogReceiver .PHONY : CMakeFiles/LogReceiver.dir/build -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/main.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires @@ -708,7 +487,6 @@ CMakeFiles/LogReceiver.dir/clean: CMakeFiles/LogReceiver.dir/depend: moc_logreceiver.cxx CMakeFiles/LogReceiver.dir/depend: moc_routemanager.cxx -CMakeFiles/LogReceiver.dir/depend: moc_ui_ndgui.cxx CMakeFiles/LogReceiver.dir/depend: moc_ndgui.cxx CMakeFiles/LogReceiver.dir/depend: moc_chooseinterfacedialog.cxx CMakeFiles/LogReceiver.dir/depend: moc_abortbootdialog.cxx diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake index 3878326..249f572 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake @@ -1,29 +1,20 @@ FILE(REMOVE_RECURSE - "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o" - "CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o" "CMakeFiles/LogReceiver.dir/ndgui.cpp.o" - "CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o" "CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" "CMakeFiles/LogReceiver.dir/main.cpp.o" "CMakeFiles/LogReceiver.dir/routemanager.cpp.o" - "CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o" "CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" - "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o" - "CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o" "CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" - "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o" "CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" "CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" "CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" "CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o" "CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" "moc_logreceiver.cxx" "moc_routemanager.cxx" - "moc_ui_ndgui.cxx" "moc_ndgui.cxx" "moc_chooseinterfacedialog.cxx" "moc_abortbootdialog.cxx" diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal index 0a905f6..0693637 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal @@ -825,255 +825,6 @@ CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtGui/qworkspace.h /usr/include/qt4/QtGui/qwsembedwidget.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o - /home/niklas/fbgui/LogReceiver/debug/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/debug/../logreceiver.h - /home/niklas/fbgui/LogReceiver/debug/moc_logreceiver.cpp - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h @@ -1244,27 +995,25 @@ CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o + ../../customdhcpcd/src/common.h + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/dhcp.h + ../../customdhcpcd/src/dhcpcd.h + ../../customdhcpcd/src/interface.h + ../../customdhcpcd/src/status.h /home/niklas/fbgui/LogReceiver/../common/fbgui.h /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/logreceiver.cpp /home/niklas/fbgui/LogReceiver/logreceiver.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl @@ -1458,6 +1207,7 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkConfigurationManager /usr/include/qt4/QtNetwork/QNetworkCookie /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest @@ -1494,30 +1244,27 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o /usr/include/qt4/QtNetwork/qudpsocket.h /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/main.cpp.o + ../../customdhcpcd/src/common.h + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/dhcp.h + ../../customdhcpcd/src/dhcpcd.h + ../../customdhcpcd/src/interface.h + ../../customdhcpcd/src/status.h /home/niklas/fbgui/LogReceiver/abortbootdialog.h /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/logreceiver.h /home/niklas/fbgui/LogReceiver/main.cpp /home/niklas/fbgui/LogReceiver/ndgui.h - /home/niklas/fbgui/LogReceiver/ui_ndgui.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl @@ -1929,6 +1676,7 @@ CMakeFiles/LogReceiver.dir/main.cpp.o /usr/include/qt4/QtGui/qworkspace.h /usr/include/qt4/QtGui/qwsembedwidget.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkConfigurationManager /usr/include/qt4/QtNetwork/QNetworkCookie /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest @@ -1964,9 +1712,10 @@ CMakeFiles/LogReceiver.dir/main.cpp.o /usr/include/qt4/QtNetwork/qtcpsocket.h /usr/include/qt4/QtNetwork/qudpsocket.h /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o - /home/niklas/fbgui/LogReceiver/abortbootdialog.h - /home/niklas/fbgui/LogReceiver/moc_abortbootdialog.cpp + ui_ndgui.h +CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o + /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h + /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QPoint @@ -2082,9 +1831,9 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o /usr/include/qt4/QtGui/qwindowdefs.h /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o - /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx +CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o + /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h + /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QPoint @@ -2200,858 +1949,18 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o /usr/include/qt4/QtGui/qwindowdefs.h /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/moc_chooseinterfacedialog.cpp +CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o + /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h + /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o - /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/moc_interfaceconfiguration.cpp - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o - /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/logreceiver.h - /home/niklas/fbgui/LogReceiver/moc_logreceiver.cpp - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o - /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h - /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h + /usr/include/qt4/QtCore/QtCore + /usr/include/qt4/QtCore/qabstractanimation.h + /usr/include/qt4/QtCore/qabstracteventdispatcher.h + /usr/include/qt4/QtCore/qabstractfileengine.h /usr/include/qt4/QtCore/qabstractitemmodel.h /usr/include/qt4/QtCore/qabstractstate.h /usr/include/qt4/QtCore/qabstracttransition.h @@ -3160,143 +2069,74 @@ CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o /usr/include/qt4/QtCore/qset.h /usr/include/qt4/QtCore/qsettings.h /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o - /home/niklas/fbgui/LogReceiver/abortbootdialog.h - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/logreceiver.h - /home/niklas/fbgui/LogReceiver/moc_ndgui.cpp - /home/niklas/fbgui/LogReceiver/ndgui.h - /home/niklas/fbgui/LogReceiver/ui_ndgui.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h + /usr/include/qt4/QtCore/qsharedmemory.h + /usr/include/qt4/QtCore/qsharedpointer.h + /usr/include/qt4/QtCore/qsharedpointer_impl.h + /usr/include/qt4/QtCore/qsignalmapper.h + /usr/include/qt4/QtCore/qsignaltransition.h + /usr/include/qt4/QtCore/qsize.h + /usr/include/qt4/QtCore/qsocketnotifier.h + /usr/include/qt4/QtCore/qstack.h + /usr/include/qt4/QtCore/qstate.h + /usr/include/qt4/QtCore/qstatemachine.h + /usr/include/qt4/QtCore/qstring.h + /usr/include/qt4/QtCore/qstringbuilder.h + /usr/include/qt4/QtCore/qstringlist.h + /usr/include/qt4/QtCore/qstringmatcher.h + /usr/include/qt4/QtCore/qsystemsemaphore.h + /usr/include/qt4/QtCore/qtconcurrentcompilertest.h + /usr/include/qt4/QtCore/qtconcurrentexception.h + /usr/include/qt4/QtCore/qtconcurrentfilter.h + /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h + /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h + /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h + /usr/include/qt4/QtCore/qtconcurrentmap.h + /usr/include/qt4/QtCore/qtconcurrentmapkernel.h + /usr/include/qt4/QtCore/qtconcurrentmedian.h + /usr/include/qt4/QtCore/qtconcurrentreducekernel.h + /usr/include/qt4/QtCore/qtconcurrentresultstore.h + /usr/include/qt4/QtCore/qtconcurrentrun.h + /usr/include/qt4/QtCore/qtconcurrentrunbase.h + /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h + /usr/include/qt4/QtCore/qtconcurrentthreadengine.h + /usr/include/qt4/QtCore/qtemporaryfile.h + /usr/include/qt4/QtCore/qtextboundaryfinder.h + /usr/include/qt4/QtCore/qtextcodec.h + /usr/include/qt4/QtCore/qtextcodecplugin.h + /usr/include/qt4/QtCore/qtextstream.h + /usr/include/qt4/QtCore/qthread.h + /usr/include/qt4/QtCore/qthreadpool.h + /usr/include/qt4/QtCore/qthreadstorage.h + /usr/include/qt4/QtCore/qtimeline.h + /usr/include/qt4/QtCore/qtimer.h + /usr/include/qt4/QtCore/qtranslator.h + /usr/include/qt4/QtCore/qurl.h + /usr/include/qt4/QtCore/quuid.h + /usr/include/qt4/QtCore/qvariant.h + /usr/include/qt4/QtCore/qvariantanimation.h + /usr/include/qt4/QtCore/qvarlengtharray.h + /usr/include/qt4/QtCore/qvector.h + /usr/include/qt4/QtCore/qwaitcondition.h + /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o + ../../customdhcpcd/src/common.h + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/dhcp.h + ../../customdhcpcd/src/dhcpcd.h + ../../customdhcpcd/src/interface.h + ../../customdhcpcd/src/status.h + /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h + /home/niklas/fbgui/LogReceiver/build/../logreceiver.h + /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl @@ -3462,44 +2302,17 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o /usr/include/qt4/QtCore/qvector.h /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QAction - /usr/include/qt4/QtGui/QApplication - /usr/include/qt4/QtGui/QButtonGroup - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QHeaderView /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qboxlayout.h /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdialog.h /usr/include/qt4/QtGui/qdrag.h /usr/include/qt4/QtGui/qevent.h /usr/include/qt4/QtGui/qfont.h /usr/include/qt4/QtGui/qfontinfo.h /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qitemselectionmodel.h /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h /usr/include/qt4/QtGui/qmacdefines_mac.h /usr/include/qt4/QtGui/qmatrix.h /usr/include/qt4/QtGui/qmime.h @@ -3508,24 +2321,16 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o /usr/include/qt4/QtGui/qpalette.h /usr/include/qt4/QtGui/qpixmap.h /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprogressbar.h /usr/include/qt4/QtGui/qregion.h /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qvalidator.h /usr/include/qt4/QtGui/qwidget.h /usr/include/qt4/QtGui/qwindowdefs.h /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkConfigurationManager /usr/include/qt4/QtNetwork/QNetworkCookie /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest @@ -3562,30 +2367,27 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o /usr/include/qt4/QtNetwork/qudpsocket.h /usr/include/qt4/QtNetwork/qurlinfo.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o + ../../customdhcpcd/src/common.h + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/dhcp.h + ../../customdhcpcd/src/dhcpcd.h + ../../customdhcpcd/src/interface.h + ../../customdhcpcd/src/status.h /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/build/../logreceiver.h /home/niklas/fbgui/LogReceiver/build/../ndgui.h - /home/niklas/fbgui/LogReceiver/build/../ui_ndgui.h /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl @@ -3815,6 +2617,7 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkConfigurationManager /usr/include/qt4/QtNetwork/QNetworkCookie /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest @@ -3850,182 +2653,12 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o /usr/include/qt4/QtNetwork/qtcpsocket.h /usr/include/qt4/QtNetwork/qudpsocket.h /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o - /home/niklas/fbgui/LogReceiver/moc_routemanager.cpp - /home/niklas/fbgui/LogReceiver/routemanager.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h + ui_ndgui.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/interface.h /home/niklas/fbgui/LogReceiver/build/../routemanager.h /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/interface.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate @@ -4192,33 +2825,28 @@ CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o /usr/include/qt4/QtCore/qvector.h /usr/include/qt4/QtCore/qwaitcondition.h /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o - /home/niklas/fbgui/LogReceiver/build/moc_ui_ndgui.cxx CMakeFiles/LogReceiver.dir/ndgui.cpp.o + ../../customdhcpcd/src/common.h + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/dhcp.h + ../../customdhcpcd/src/dhcpcd.h + ../../customdhcpcd/src/interface.h + ../../customdhcpcd/src/status.h /home/niklas/fbgui/LogReceiver/abortbootdialog.h /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h /home/niklas/fbgui/LogReceiver/logreceiver.h /home/niklas/fbgui/LogReceiver/ndgui.cpp /home/niklas/fbgui/LogReceiver/ndgui.h - /home/niklas/fbgui/LogReceiver/ui_ndgui.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/status.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate /usr/include/qt4/QtCore/QIODevice /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMap /usr/include/qt4/QtCore/QMetaType /usr/include/qt4/QtCore/QObject /usr/include/qt4/QtCore/QPoint /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QProcess /usr/include/qt4/QtCore/QSharedDataPointer /usr/include/qt4/QtCore/QString /usr/include/qt4/QtCore/QUrl @@ -4448,6 +3076,7 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o /usr/include/qt4/QtGui/qwindowdefs_win.h /usr/include/qt4/QtGui/qwmatrix.h /usr/include/qt4/QtNetwork/QNetworkAccessManager + /usr/include/qt4/QtNetwork/QNetworkConfigurationManager /usr/include/qt4/QtNetwork/QNetworkCookie /usr/include/qt4/QtNetwork/QNetworkCookieJar /usr/include/qt4/QtNetwork/QNetworkRequest @@ -4483,11 +3112,12 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o /usr/include/qt4/QtNetwork/qtcpsocket.h /usr/include/qt4/QtNetwork/qudpsocket.h /usr/include/qt4/QtNetwork/qurlinfo.h + ui_ndgui.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o + ../../customdhcpcd/src/config.h + ../../customdhcpcd/src/interface.h /home/niklas/fbgui/LogReceiver/routemanager.cpp /home/niklas/fbgui/LogReceiver/routemanager.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/interface.h /usr/include/qt4/Qt3Support/q3cstring.h /usr/include/qt4/Qt3Support/q3valuelist.h /usr/include/qt4/QtCore/QDate diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make index 23dc1c3..459d234 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make @@ -825,255 +825,6 @@ CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/q CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qworkspace.h CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/../logreceiver.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: ../debug/moc_logreceiver.cpp -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMap -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QProcess -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h - CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h @@ -1243,27 +994,25 @@ CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../common/fbgui.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QMap CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl @@ -1457,6 +1206,7 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest @@ -1493,30 +1243,27 @@ CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsoc CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../chooseinterfacedialog.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp CMakeFiles/LogReceiver.dir/main.cpp.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../ui_ndgui.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QIODevice CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QMap CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QUrl @@ -1928,6 +1675,7 @@ CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qworkspace.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest @@ -1963,124 +1711,7 @@ CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: ../moc_abortbootdialog.cpp -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h +CMakeFiles/LogReceiver.dir/main.cpp.o: ui_ndgui.h CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx @@ -2200,124 +1831,6 @@ CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwi CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: ../moc_chooseinterfacedialog.cpp -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h - CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: ../chooseinterfacedialog.h CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h @@ -2436,175 +1949,6 @@ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtG CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: ../moc_interfaceconfiguration.cpp -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h - CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h @@ -2774,275 +2118,24 @@ CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: ../moc_logreceiver.cpp -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMap -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QProcess -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h - +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QIODevice CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QMap CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QUrl @@ -3236,6 +2329,7 @@ CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwindow CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookie CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest @@ -3272,319 +2366,27 @@ CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qtc CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qudpsocket.h CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../moc_ndgui.cpp -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: ../ui_ndgui.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QMap -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QProcess -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QAction -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QApplication -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QButtonGroup -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QHeaderView -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qaction.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qapplication.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qheaderview.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h - +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../chooseinterfacedialog.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../ui_ndgui.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QIODevice CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QMap CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QUrl @@ -3814,6 +2616,7 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookie CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest @@ -3849,182 +2652,12 @@ CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qtcpserve CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qtcpsocket.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qudpsocket.h CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ui_ndgui.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: ../moc_routemanager.cpp -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: ../routemanager.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h - +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../../customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../routemanager.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /home/niklas/fbgui/customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QDate @@ -4192,32 +2825,27 @@ CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvect CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o: moc_ui_ndgui.cxx - +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/common.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/dhcp.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/dhcpcd.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/interface.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../abortbootdialog.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../chooseinterfacedialog.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../interfaceconfiguration.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../logreceiver.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ui_ndgui.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /home/niklas/fbgui/customdhcpcd/src/status.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QDate CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QIODevice CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QMap CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QMetaType CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QObject CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPoint CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QProcess CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QString CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QUrl @@ -4447,6 +3075,7 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest @@ -4482,11 +3111,12 @@ CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h +CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ui_ndgui.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/config.h +CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /home/niklas/fbgui/customdhcpcd/src/interface.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QDate diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make index 434372b..0c00188 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make @@ -2,7 +2,7 @@ # Generated by "Unix Makefiles" Generator, CMake Version 2.8 # compile CXX with /usr/bin/c++ -CXX_FLAGS = -I/home/niklas/fbgui/LogReceiver/build -I/home/niklas/fbgui/customdhcpcd/src -I/usr/include/qt4 -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtCore +CXX_FLAGS = -I/home/niklas/fbgui/LogReceiver/build -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore CXX_DEFINES = -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt index 2517973..59b6fce 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt @@ -1 +1 @@ -/usr/bin/c++ CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o CMakeFiles/LogReceiver.dir/ndgui.cpp.o CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o CMakeFiles/LogReceiver.dir/routemanager.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -o LogReceiver -rdynamic -L/home/niklas/fbgui/customdhcpcd/src/build -lQtWebKit -lQtGui -lQtXmlPatterns -lQtNetwork -lQtCore -lsysfs -llibcustomdhcpcd -Wl,-rpath,/home/niklas/fbgui/customdhcpcd/src/build +/usr/bin/c++ CMakeFiles/LogReceiver.dir/ndgui.cpp.o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o CMakeFiles/LogReceiver.dir/routemanager.cpp.o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -o LogReceiver -rdynamic -L/home/niklas/fbgui/customdhcpcd/src/build -lQtWebKit -lQtGui -lQtXmlPatterns -lQtNetwork -lQtCore -lsysfs -llibcustomdhcpcd -Wl,-rpath,/home/niklas/fbgui/customdhcpcd/src/build diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make index 7e5f73e..12eb6c7 100644 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make +++ b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make @@ -19,13 +19,4 @@ CMAKE_PROGRESS_18 = 18 CMAKE_PROGRESS_19 = 19 CMAKE_PROGRESS_20 = 20 CMAKE_PROGRESS_21 = 21 -CMAKE_PROGRESS_22 = 22 -CMAKE_PROGRESS_23 = 23 -CMAKE_PROGRESS_24 = 24 -CMAKE_PROGRESS_25 = 25 -CMAKE_PROGRESS_26 = 26 -CMAKE_PROGRESS_27 = 27 -CMAKE_PROGRESS_28 = 28 -CMAKE_PROGRESS_29 = 29 -CMAKE_PROGRESS_30 = 30 diff --git a/LogReceiver/build/CMakeFiles/Makefile.cmake b/LogReceiver/build/CMakeFiles/Makefile.cmake index b063dc5..5f78c6b 100644 --- a/LogReceiver/build/CMakeFiles/Makefile.cmake +++ b/LogReceiver/build/CMakeFiles/Makefile.cmake @@ -11,11 +11,28 @@ SET(CMAKE_MAKEFILE_DEPENDS "CMakeFiles/CMakeCCompiler.cmake" "CMakeFiles/CMakeCXXCompiler.cmake" "CMakeFiles/CMakeSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c" "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp" "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-2.8/Modules/CMakeConfigurableFile.in" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeFindBinUtils.cmake" "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-2.8/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-2.8/Modules/CMakeSystem.cmake.in" "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-2.8/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-2.8/Modules/CMakeUnixFindMake.cmake" "/usr/share/cmake-2.8/Modules/CheckSymbolExists.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" diff --git a/LogReceiver/build/CMakeFiles/Makefile2 b/LogReceiver/build/CMakeFiles/Makefile2 index ae6bf87..fb3f54a 100644 --- a/LogReceiver/build/CMakeFiles/Makefile2 +++ b/LogReceiver/build/CMakeFiles/Makefile2 @@ -56,7 +56,7 @@ CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build CMakeFiles/LogReceiver.dir/all: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/depend $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/build - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 + $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 @echo "Built target LogReceiver" .PHONY : CMakeFiles/LogReceiver.dir/all @@ -66,7 +66,7 @@ all: CMakeFiles/LogReceiver.dir/all # Build rule for subdir invocation for target. CMakeFiles/LogReceiver.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 30 + $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 21 $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/LogReceiver.dir/all $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 0 .PHONY : CMakeFiles/LogReceiver.dir/rule diff --git a/LogReceiver/build/CMakeFiles/Progress/23 b/LogReceiver/build/CMakeFiles/Progress/23 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/23 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/24 b/LogReceiver/build/CMakeFiles/Progress/24 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/24 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/25 b/LogReceiver/build/CMakeFiles/Progress/25 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/25 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/count.txt b/LogReceiver/build/CMakeFiles/Progress/count.txt index 64bb6b7..aabe6ec 100644 --- a/LogReceiver/build/CMakeFiles/Progress/count.txt +++ b/LogReceiver/build/CMakeFiles/Progress/count.txt @@ -1 +1 @@ -30 +21 diff --git a/LogReceiver/build/CMakeFiles/progress.marks b/LogReceiver/build/CMakeFiles/progress.marks index 64bb6b7..aabe6ec 100644 --- a/LogReceiver/build/CMakeFiles/progress.marks +++ b/LogReceiver/build/CMakeFiles/progress.marks @@ -1 +1 @@ -30 +21 diff --git a/LogReceiver/build/Makefile b/LogReceiver/build/Makefile index e643c68..7129990 100644 --- a/LogReceiver/build/Makefile +++ b/LogReceiver/build/Makefile @@ -180,30 +180,6 @@ chooseinterfacedialog.cpp.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s .PHONY : chooseinterfacedialog.cpp.s -debug/moc_logreceiver.o: debug/moc_logreceiver.cpp.o -.PHONY : debug/moc_logreceiver.o - -# target to build an object file -debug/moc_logreceiver.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.o -.PHONY : debug/moc_logreceiver.cpp.o - -debug/moc_logreceiver.i: debug/moc_logreceiver.cpp.i -.PHONY : debug/moc_logreceiver.i - -# target to preprocess a source file -debug/moc_logreceiver.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.i -.PHONY : debug/moc_logreceiver.cpp.i - -debug/moc_logreceiver.s: debug/moc_logreceiver.cpp.s -.PHONY : debug/moc_logreceiver.s - -# target to generate assembly for a file -debug/moc_logreceiver.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/debug/moc_logreceiver.cpp.s -.PHONY : debug/moc_logreceiver.cpp.s - interfaceconfiguration.o: interfaceconfiguration.cpp.o .PHONY : interfaceconfiguration.o @@ -276,30 +252,6 @@ main.cpp.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.s .PHONY : main.cpp.s -moc_abortbootdialog.o: moc_abortbootdialog.cpp.o -.PHONY : moc_abortbootdialog.o - -# target to build an object file -moc_abortbootdialog.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.o -.PHONY : moc_abortbootdialog.cpp.o - -moc_abortbootdialog.i: moc_abortbootdialog.cpp.i -.PHONY : moc_abortbootdialog.i - -# target to preprocess a source file -moc_abortbootdialog.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.i -.PHONY : moc_abortbootdialog.cpp.i - -moc_abortbootdialog.s: moc_abortbootdialog.cpp.s -.PHONY : moc_abortbootdialog.s - -# target to generate assembly for a file -moc_abortbootdialog.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cpp.s -.PHONY : moc_abortbootdialog.cpp.s - moc_abortbootdialog.o: moc_abortbootdialog.cxx.o .PHONY : moc_abortbootdialog.o @@ -324,30 +276,6 @@ moc_abortbootdialog.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s .PHONY : moc_abortbootdialog.cxx.s -moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cpp.o -.PHONY : moc_chooseinterfacedialog.o - -# target to build an object file -moc_chooseinterfacedialog.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.o -.PHONY : moc_chooseinterfacedialog.cpp.o - -moc_chooseinterfacedialog.i: moc_chooseinterfacedialog.cpp.i -.PHONY : moc_chooseinterfacedialog.i - -# target to preprocess a source file -moc_chooseinterfacedialog.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.i -.PHONY : moc_chooseinterfacedialog.cpp.i - -moc_chooseinterfacedialog.s: moc_chooseinterfacedialog.cpp.s -.PHONY : moc_chooseinterfacedialog.s - -# target to generate assembly for a file -moc_chooseinterfacedialog.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cpp.s -.PHONY : moc_chooseinterfacedialog.cpp.s - moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cxx.o .PHONY : moc_chooseinterfacedialog.o @@ -372,30 +300,6 @@ moc_chooseinterfacedialog.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s .PHONY : moc_chooseinterfacedialog.cxx.s -moc_interfaceconfiguration.o: moc_interfaceconfiguration.cpp.o -.PHONY : moc_interfaceconfiguration.o - -# target to build an object file -moc_interfaceconfiguration.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.o -.PHONY : moc_interfaceconfiguration.cpp.o - -moc_interfaceconfiguration.i: moc_interfaceconfiguration.cpp.i -.PHONY : moc_interfaceconfiguration.i - -# target to preprocess a source file -moc_interfaceconfiguration.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.i -.PHONY : moc_interfaceconfiguration.cpp.i - -moc_interfaceconfiguration.s: moc_interfaceconfiguration.cpp.s -.PHONY : moc_interfaceconfiguration.s - -# target to generate assembly for a file -moc_interfaceconfiguration.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cpp.s -.PHONY : moc_interfaceconfiguration.cpp.s - moc_interfaceconfiguration.o: moc_interfaceconfiguration.cxx.o .PHONY : moc_interfaceconfiguration.o @@ -420,30 +324,6 @@ moc_interfaceconfiguration.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s .PHONY : moc_interfaceconfiguration.cxx.s -moc_logreceiver.o: moc_logreceiver.cpp.o -.PHONY : moc_logreceiver.o - -# target to build an object file -moc_logreceiver.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.o -.PHONY : moc_logreceiver.cpp.o - -moc_logreceiver.i: moc_logreceiver.cpp.i -.PHONY : moc_logreceiver.i - -# target to preprocess a source file -moc_logreceiver.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.i -.PHONY : moc_logreceiver.cpp.i - -moc_logreceiver.s: moc_logreceiver.cpp.s -.PHONY : moc_logreceiver.s - -# target to generate assembly for a file -moc_logreceiver.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cpp.s -.PHONY : moc_logreceiver.cpp.s - moc_logreceiver.o: moc_logreceiver.cxx.o .PHONY : moc_logreceiver.o @@ -468,30 +348,6 @@ moc_logreceiver.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s .PHONY : moc_logreceiver.cxx.s -moc_ndgui.o: moc_ndgui.cpp.o -.PHONY : moc_ndgui.o - -# target to build an object file -moc_ndgui.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.o -.PHONY : moc_ndgui.cpp.o - -moc_ndgui.i: moc_ndgui.cpp.i -.PHONY : moc_ndgui.i - -# target to preprocess a source file -moc_ndgui.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.i -.PHONY : moc_ndgui.cpp.i - -moc_ndgui.s: moc_ndgui.cpp.s -.PHONY : moc_ndgui.s - -# target to generate assembly for a file -moc_ndgui.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cpp.s -.PHONY : moc_ndgui.cpp.s - moc_ndgui.o: moc_ndgui.cxx.o .PHONY : moc_ndgui.o @@ -516,30 +372,6 @@ moc_ndgui.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s .PHONY : moc_ndgui.cxx.s -moc_routemanager.o: moc_routemanager.cpp.o -.PHONY : moc_routemanager.o - -# target to build an object file -moc_routemanager.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.o -.PHONY : moc_routemanager.cpp.o - -moc_routemanager.i: moc_routemanager.cpp.i -.PHONY : moc_routemanager.i - -# target to preprocess a source file -moc_routemanager.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.i -.PHONY : moc_routemanager.cpp.i - -moc_routemanager.s: moc_routemanager.cpp.s -.PHONY : moc_routemanager.s - -# target to generate assembly for a file -moc_routemanager.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cpp.s -.PHONY : moc_routemanager.cpp.s - moc_routemanager.o: moc_routemanager.cxx.o .PHONY : moc_routemanager.o @@ -564,30 +396,6 @@ moc_routemanager.cxx.s: $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s .PHONY : moc_routemanager.cxx.s -moc_ui_ndgui.o: moc_ui_ndgui.cxx.o -.PHONY : moc_ui_ndgui.o - -# target to build an object file -moc_ui_ndgui.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.o -.PHONY : moc_ui_ndgui.cxx.o - -moc_ui_ndgui.i: moc_ui_ndgui.cxx.i -.PHONY : moc_ui_ndgui.i - -# target to preprocess a source file -moc_ui_ndgui.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.i -.PHONY : moc_ui_ndgui.cxx.i - -moc_ui_ndgui.s: moc_ui_ndgui.cxx.s -.PHONY : moc_ui_ndgui.s - -# target to generate assembly for a file -moc_ui_ndgui.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ui_ndgui.cxx.s -.PHONY : moc_ui_ndgui.cxx.s - ndgui.o: ndgui.cpp.o .PHONY : ndgui.o @@ -654,9 +462,6 @@ help: @echo "... chooseinterfacedialog.o" @echo "... chooseinterfacedialog.i" @echo "... chooseinterfacedialog.s" - @echo "... debug/moc_logreceiver.o" - @echo "... debug/moc_logreceiver.i" - @echo "... debug/moc_logreceiver.s" @echo "... interfaceconfiguration.o" @echo "... interfaceconfiguration.i" @echo "... interfaceconfiguration.s" @@ -669,42 +474,21 @@ help: @echo "... moc_abortbootdialog.o" @echo "... moc_abortbootdialog.i" @echo "... moc_abortbootdialog.s" - @echo "... moc_abortbootdialog.o" - @echo "... moc_abortbootdialog.i" - @echo "... moc_abortbootdialog.s" @echo "... moc_chooseinterfacedialog.o" @echo "... moc_chooseinterfacedialog.i" @echo "... moc_chooseinterfacedialog.s" - @echo "... moc_chooseinterfacedialog.o" - @echo "... moc_chooseinterfacedialog.i" - @echo "... moc_chooseinterfacedialog.s" - @echo "... moc_interfaceconfiguration.o" - @echo "... moc_interfaceconfiguration.i" - @echo "... moc_interfaceconfiguration.s" @echo "... moc_interfaceconfiguration.o" @echo "... moc_interfaceconfiguration.i" @echo "... moc_interfaceconfiguration.s" @echo "... moc_logreceiver.o" @echo "... moc_logreceiver.i" @echo "... moc_logreceiver.s" - @echo "... moc_logreceiver.o" - @echo "... moc_logreceiver.i" - @echo "... moc_logreceiver.s" @echo "... moc_ndgui.o" @echo "... moc_ndgui.i" @echo "... moc_ndgui.s" - @echo "... moc_ndgui.o" - @echo "... moc_ndgui.i" - @echo "... moc_ndgui.s" - @echo "... moc_routemanager.o" - @echo "... moc_routemanager.i" - @echo "... moc_routemanager.s" @echo "... moc_routemanager.o" @echo "... moc_routemanager.i" @echo "... moc_routemanager.s" - @echo "... moc_ui_ndgui.o" - @echo "... moc_ui_ndgui.i" - @echo "... moc_ui_ndgui.s" @echo "... ndgui.o" @echo "... ndgui.i" @echo "... ndgui.s" -- cgit v1.2.3-55-g7522 From 15734edeffcf26c1cb2a7e89bb9b10035f2dc9f1 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:40:01 +0200 Subject: no build dirs in git --- LogReceiver/.gitignore | 2 + LogReceiver/Makefile | 307 -- LogReceiver/build/CMakeCache.txt | 894 ---- LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake | 44 - .../build/CMakeFiles/CMakeCXXCompiler.cmake | 45 - .../CMakeFiles/CMakeDetermineCompilerABI_C.bin | Bin 7165 -> 0 bytes .../CMakeFiles/CMakeDetermineCompilerABI_CXX.bin | Bin 7246 -> 0 bytes .../CMakeFiles/CMakeDirectoryInformation.cmake | 44 - LogReceiver/build/CMakeFiles/CMakeError.log | 87 - LogReceiver/build/CMakeFiles/CMakeOutput.log | 267 -- LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt | 8 - LogReceiver/build/CMakeFiles/CMakeSystem.cmake | 15 - .../CMakeFiles/CompilerIdC/CMakeCCompilerId.c | 220 - LogReceiver/build/CMakeFiles/CompilerIdC/a.out | Bin 7204 -> 0 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 206 - LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out | Bin 7276 -> 0 bytes .../CMakeFiles/LogReceiver.dir/CXX.includecache | 4360 -------------------- .../CMakeFiles/LogReceiver.dir/DependInfo.cmake | 34 - .../build/CMakeFiles/LogReceiver.dir/build.make | 497 --- .../CMakeFiles/LogReceiver.dir/cmake_clean.cmake | 30 - .../CMakeFiles/LogReceiver.dir/depend.internal | 3286 --------------- .../build/CMakeFiles/LogReceiver.dir/depend.make | 3286 --------------- .../build/CMakeFiles/LogReceiver.dir/flags.make | 8 - .../build/CMakeFiles/LogReceiver.dir/link.txt | 1 - .../build/CMakeFiles/LogReceiver.dir/progress.make | 22 - LogReceiver/build/CMakeFiles/Makefile.cmake | 67 - LogReceiver/build/CMakeFiles/Makefile2 | 96 - LogReceiver/build/CMakeFiles/Progress/1 | 1 - LogReceiver/build/CMakeFiles/Progress/2 | 1 - LogReceiver/build/CMakeFiles/Progress/3 | 1 - LogReceiver/build/CMakeFiles/Progress/4 | 1 - LogReceiver/build/CMakeFiles/Progress/5 | 1 - LogReceiver/build/CMakeFiles/Progress/6 | 1 - LogReceiver/build/CMakeFiles/Progress/count.txt | 1 - LogReceiver/build/CMakeFiles/TargetDirectories.txt | 1 - LogReceiver/build/CMakeFiles/cmake.check_cache | 1 - LogReceiver/build/CMakeFiles/progress.marks | 1 - LogReceiver/build/Makefile | 511 --- LogReceiver/build/cmake_install.cmake | 44 - 39 files changed, 2 insertions(+), 14389 deletions(-) create mode 100644 LogReceiver/.gitignore delete mode 100644 LogReceiver/Makefile delete mode 100644 LogReceiver/build/CMakeCache.txt delete mode 100644 LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake delete mode 100644 LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake delete mode 100755 LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin delete mode 100755 LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin delete mode 100644 LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 LogReceiver/build/CMakeFiles/CMakeError.log delete mode 100644 LogReceiver/build/CMakeFiles/CMakeOutput.log delete mode 100644 LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt delete mode 100644 LogReceiver/build/CMakeFiles/CMakeSystem.cmake delete mode 100644 LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c delete mode 100755 LogReceiver/build/CMakeFiles/CompilerIdC/a.out delete mode 100644 LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp delete mode 100755 LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt delete mode 100644 LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make delete mode 100644 LogReceiver/build/CMakeFiles/Makefile.cmake delete mode 100644 LogReceiver/build/CMakeFiles/Makefile2 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/1 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/2 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/3 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/4 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/5 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/6 delete mode 100644 LogReceiver/build/CMakeFiles/Progress/count.txt delete mode 100644 LogReceiver/build/CMakeFiles/TargetDirectories.txt delete mode 100644 LogReceiver/build/CMakeFiles/cmake.check_cache delete mode 100644 LogReceiver/build/CMakeFiles/progress.marks delete mode 100644 LogReceiver/build/Makefile delete mode 100644 LogReceiver/build/cmake_install.cmake diff --git a/LogReceiver/.gitignore b/LogReceiver/.gitignore new file mode 100644 index 0000000..dd5959f --- /dev/null +++ b/LogReceiver/.gitignore @@ -0,0 +1,2 @@ +build +Makefile diff --git a/LogReceiver/Makefile b/LogReceiver/Makefile deleted file mode 100644 index 0f9536a..0000000 --- a/LogReceiver/Makefile +++ /dev/null @@ -1,307 +0,0 @@ -############################################################################# -# Makefile for building: LogReceiver -# Generated by qmake (2.01a) (Qt 4.7.2) on: Tue Sep 6 16:50:59 2011 -# Project: LogReceiver.pro -# Template: app -# Command: /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -o Makefile LogReceiver.pro -############################################################################# - -####### Compiler, tools and options - -CC = gcc -CXX = g++ -DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) -INCPATH = -I/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++ -I. -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtCore -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtNetwork -I/usr/local/Trolltech/QtEmbedded-4.7.2/include/QtGui -I/usr/local/Trolltech/QtEmbedded-4.7.2/include -I../customdhcpcd/src -I. -I. -LINK = g++ -LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/QtEmbedded-4.7.2/lib -LIBS = $(SUBLIBS) -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lsysfs -L/home/niklas/fbgui/customdhcpcd/src/build -llibcustomdhcpcd -lQtGui -L/usr/local/Trolltech/QtEmbedded-4.7.2/lib -lQtNetwork -lQtCore -lpthread -AR = ar cqs -RANLIB = -QMAKE = /usr/local/Trolltech/QtEmbedded-4.7.2/bin/qmake -TAR = tar -cf -COMPRESS = gzip -9f -COPY = cp -f -SED = sed -COPY_FILE = $(COPY) -COPY_DIR = $(COPY) -r -STRIP = strip -INSTALL_FILE = install -m 644 -p -INSTALL_DIR = $(COPY_DIR) -INSTALL_PROGRAM = install -m 755 -p -DEL_FILE = rm -f -SYMLINK = ln -f -s -DEL_DIR = rmdir -MOVE = mv -f -CHK_DIR_EXISTS= test -d -MKDIR = mkdir -p - -####### Output directory - -OBJECTS_DIR = ./ - -####### Files - -SOURCES = routemanager.cpp \ - interfaceconfiguration.cpp \ - ndgui.cpp \ - main.cpp \ - logreceiver.cpp \ - abortbootdialog.cpp \ - chooseinterfacedialog.cpp moc_routemanager.cpp \ - moc_interfaceconfiguration.cpp \ - moc_ndgui.cpp \ - moc_logreceiver.cpp \ - moc_abortbootdialog.cpp \ - moc_chooseinterfacedialog.cpp -OBJECTS = routemanager.o \ - interfaceconfiguration.o \ - ndgui.o \ - main.o \ - logreceiver.o \ - abortbootdialog.o \ - chooseinterfacedialog.o \ - moc_routemanager.o \ - moc_interfaceconfiguration.o \ - moc_ndgui.o \ - moc_logreceiver.o \ - moc_abortbootdialog.o \ - moc_chooseinterfacedialog.o -DIST = /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ - LogReceiver.pro -QMAKE_TARGET = LogReceiver -DESTDIR = -TARGET = LogReceiver - -first: all -####### Implicit rules - -.SUFFIXES: .o .c .cpp .cc .cxx .C - -.cpp.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cc.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.cxx.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.C.o: - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" - -.c.o: - $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" - -####### Build rules - -all: Makefile $(TARGET) - -$(TARGET): ui_ndgui.h $(OBJECTS) - $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) - -Makefile: LogReceiver.pro /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qws/linux-x86-g++/qmake.conf /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf \ - /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl \ - /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl \ - /usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl - $(QMAKE) -o Makefile LogReceiver.pro -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/g++.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/unix.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/linux.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/common/qws.conf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/qconfig.pri: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/modules/qt_webkit_version.pri: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_functions.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt_config.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/exclusive_builds.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_pre.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/release.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/default_post.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/warn_on.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/qt.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/unix/thread.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/moc.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/resources.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/uic.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/yacc.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/lex.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/mkspecs/features/include_source_dir.prf: -/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtGui.prl: -/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtNetwork.prl: -/usr/local/Trolltech/QtEmbedded-4.7.2/lib/libQtCore.prl: -qmake: FORCE - @$(QMAKE) -o Makefile LogReceiver.pro - -dist: - @$(CHK_DIR_EXISTS) .tmp/LogReceiver1.0.0 || $(MKDIR) .tmp/LogReceiver1.0.0 - $(COPY_FILE) --parents $(SOURCES) $(DIST) .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.h interfaceconfiguration.h ndgui.h logreceiver.h abortbootdialog.h chooseinterfacedialog.h .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents routemanager.cpp interfaceconfiguration.cpp ndgui.cpp main.cpp logreceiver.cpp abortbootdialog.cpp chooseinterfacedialog.cpp .tmp/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui .tmp/LogReceiver1.0.0/ && (cd `dirname .tmp/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname .tmp/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r .tmp/LogReceiver1.0.0 - - -clean:compiler_clean - -$(DEL_FILE) $(OBJECTS) - -$(DEL_FILE) *~ core *.core - - -####### Sub-libraries - -distclean: clean - -$(DEL_FILE) $(TARGET) - -$(DEL_FILE) Makefile - - -check: first - -mocclean: compiler_moc_header_clean compiler_moc_source_clean - -mocables: compiler_moc_header_make_all compiler_moc_source_make_all - -compiler_moc_header_make_all: moc_routemanager.cpp moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp -compiler_moc_header_clean: - -$(DEL_FILE) moc_routemanager.cpp moc_interfaceconfiguration.cpp moc_ndgui.cpp moc_logreceiver.cpp moc_abortbootdialog.cpp moc_chooseinterfacedialog.cpp -moc_routemanager.cpp: routemanager.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) routemanager.h -o moc_routemanager.cpp - -moc_interfaceconfiguration.cpp: interfaceconfiguration.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) interfaceconfiguration.h -o moc_interfaceconfiguration.cpp - -moc_ndgui.cpp: ui_ndgui.h \ - logreceiver.h \ - interfaceconfiguration.h \ - chooseinterfacedialog.h \ - abortbootdialog.h \ - ndgui.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o moc_ndgui.cpp - -moc_logreceiver.cpp: interfaceconfiguration.h \ - logreceiver.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) logreceiver.h -o moc_logreceiver.cpp - -moc_abortbootdialog.cpp: abortbootdialog.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) abortbootdialog.h -o moc_abortbootdialog.cpp - -moc_chooseinterfacedialog.cpp: chooseinterfacedialog.h - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/moc $(DEFINES) $(INCPATH) chooseinterfacedialog.h -o moc_chooseinterfacedialog.cpp - -compiler_rcc_make_all: -compiler_rcc_clean: -compiler_image_collection_make_all: qmake_image_collection.cpp -compiler_image_collection_clean: - -$(DEL_FILE) qmake_image_collection.cpp -compiler_moc_source_make_all: -compiler_moc_source_clean: -compiler_uic_make_all: ui_ndgui.h -compiler_uic_clean: - -$(DEL_FILE) ui_ndgui.h -ui_ndgui.h: ndgui.ui - /usr/local/Trolltech/QtEmbedded-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h - -compiler_yacc_decl_make_all: -compiler_yacc_decl_clean: -compiler_yacc_impl_make_all: -compiler_yacc_impl_clean: -compiler_lex_make_all: -compiler_lex_clean: -compiler_clean: compiler_moc_header_clean compiler_uic_clean - -####### Compile - -routemanager.o: routemanager.cpp routemanager.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o routemanager.o routemanager.cpp - -interfaceconfiguration.o: interfaceconfiguration.cpp interfaceconfiguration.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o interfaceconfiguration.o interfaceconfiguration.cpp - -ndgui.o: ndgui.cpp ndgui.h \ - ui_ndgui.h \ - logreceiver.h \ - interfaceconfiguration.h \ - chooseinterfacedialog.h \ - abortbootdialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o ndgui.o ndgui.cpp - -main.o: main.cpp ndgui.h \ - ui_ndgui.h \ - logreceiver.h \ - interfaceconfiguration.h \ - chooseinterfacedialog.h \ - abortbootdialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o main.o main.cpp - -logreceiver.o: logreceiver.cpp logreceiver.h \ - interfaceconfiguration.h \ - ../common/fbgui.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o logreceiver.o logreceiver.cpp - -abortbootdialog.o: abortbootdialog.cpp abortbootdialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o abortbootdialog.o abortbootdialog.cpp - -chooseinterfacedialog.o: chooseinterfacedialog.cpp chooseinterfacedialog.h - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o chooseinterfacedialog.o chooseinterfacedialog.cpp - -moc_routemanager.o: moc_routemanager.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_routemanager.o moc_routemanager.cpp - -moc_interfaceconfiguration.o: moc_interfaceconfiguration.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_interfaceconfiguration.o moc_interfaceconfiguration.cpp - -moc_ndgui.o: moc_ndgui.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_ndgui.o moc_ndgui.cpp - -moc_logreceiver.o: moc_logreceiver.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_logreceiver.o moc_logreceiver.cpp - -moc_abortbootdialog.o: moc_abortbootdialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_abortbootdialog.o moc_abortbootdialog.cpp - -moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cpp - $(CXX) -c $(CXXFLAGS) $(INCPATH) -o moc_chooseinterfacedialog.o moc_chooseinterfacedialog.cpp - -####### Install - -install: FORCE - -uninstall: FORCE - -FORCE: - diff --git a/LogReceiver/build/CMakeCache.txt b/LogReceiver/build/CMakeCache.txt deleted file mode 100644 index 7227c5f..0000000 --- a/LogReceiver/build/CMakeCache.txt +++ /dev/null @@ -1,894 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/niklas/fbgui/LogReceiver/build -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or -// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler. -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//Flags used by the compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g - -//C compiler. -CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc - -//Flags used by the compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g - -//Flags used by the linker. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=LogReceiver - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Flags used by the linker during the creation of dll's. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If true, cmake will use relative paths in makefiles and projects. -CMAKE_USE_RELATIVE_PATHS:BOOL=OFF - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Value Computed by CMake -LogReceiver_BINARY_DIR:STATIC=/home/niklas/fbgui/LogReceiver/build - -//Value Computed by CMake -LogReceiver_SOURCE_DIR:STATIC=/home/niklas/fbgui/LogReceiver - -//Path to a program. -QT_DBUSCPP2XML_EXECUTABLE:FILEPATH=/usr/bin/qdbuscpp2xml - -//Path to a program. -QT_DBUSXML2CPP_EXECUTABLE:FILEPATH=/usr/bin/qdbusxml2cpp - -//Path to a program. -QT_DESIGNER_EXECUTABLE:FILEPATH=/usr/bin/designer-qt4 - -//The location of the Qt docs -QT_DOC_DIR:PATH=/usr/share/qt4/doc - -//The location of the Qt imports -QT_IMPORTS_DIR:PATH=QT_IMPORTS_DIR-NOTFOUND - -//Path to a program. -QT_LINGUIST_EXECUTABLE:FILEPATH=/usr/bin/linguist-qt4 - -//Path to a program. -QT_LRELEASE_EXECUTABLE:FILEPATH=/usr/bin/lrelease-qt4 - -//Path to a program. -QT_LUPDATE_EXECUTABLE:FILEPATH=/usr/bin/lupdate-qt4 - -//The location of the Qt mkspecs containing qconfig.pri -QT_MKSPECS_DIR:PATH=/usr/share/qt4/mkspecs - -//Path to a program. -QT_MOC_EXECUTABLE:FILEPATH=/usr/bin/moc-qt4 - -//Path to a file. -QT_PHONON_INCLUDE_DIR:PATH=QT_PHONON_INCLUDE_DIR-NOTFOUND - -//The Qt PHONON library -QT_PHONON_LIBRARY:STRING= - -//Path to a library. -QT_PHONON_LIBRARY_DEBUG:FILEPATH=QT_PHONON_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_PHONON_LIBRARY_RELEASE:FILEPATH=QT_PHONON_LIBRARY_RELEASE-NOTFOUND - -//The location of the Qt plugins -QT_PLUGINS_DIR:PATH=/usr/lib/qt4/plugins - -//Path to a program. -QT_QCOLLECTIONGENERATOR_EXECUTABLE:FILEPATH=/usr/bin/qcollectiongenerator - -//The qmake executable for the Qt installation to use -QT_QMAKE_EXECUTABLE:FILEPATH=/usr/bin/qmake - -//Path to a file. -QT_QT3SUPPORT_INCLUDE_DIR:PATH=/usr/include/qt4/Qt3Support - -//The Qt QT3SUPPORT library -QT_QT3SUPPORT_LIBRARY:STRING=/usr/lib/libQt3Support.so - -//Path to a library. -QT_QT3SUPPORT_LIBRARY_DEBUG:FILEPATH=QT_QT3SUPPORT_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QT3SUPPORT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQt3Support.so - -//Path to a file. -QT_QTASSISTANTCLIENT_INCLUDE_DIR:PATH=QT_QTASSISTANTCLIENT_INCLUDE_DIR-NOTFOUND - -//The Qt QTASSISTANTCLIENT library -QT_QTASSISTANTCLIENT_LIBRARY:STRING= - -//Path to a library. -QT_QTASSISTANTCLIENT_LIBRARY_DEBUG:FILEPATH=QT_QTASSISTANTCLIENT_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTASSISTANTCLIENT_LIBRARY_RELEASE:FILEPATH=QT_QTASSISTANTCLIENT_LIBRARY_RELEASE-NOTFOUND - -//Path to a file. -QT_QTASSISTANT_INCLUDE_DIR:PATH=QT_QTASSISTANT_INCLUDE_DIR-NOTFOUND - -//The Qt QTASSISTANT library -QT_QTASSISTANT_LIBRARY:STRING= - -//Path to a library. -QT_QTASSISTANT_LIBRARY_DEBUG:FILEPATH=QT_QTASSISTANT_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTASSISTANT_LIBRARY_RELEASE:FILEPATH=QT_QTASSISTANT_LIBRARY_RELEASE-NOTFOUND - -//The Qt QTCLUCENE library -QT_QTCLUCENE_LIBRARY:STRING=/usr/lib/libQtCLucene.so - -//Path to a library. -QT_QTCLUCENE_LIBRARY_DEBUG:FILEPATH=QT_QTCLUCENE_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTCLUCENE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtCLucene.so - -//(This variable does not exist and should not be used) -QT_QTCORE_INCLUDE_DIR:PATH=/usr/include/qt4/QtCore - -//The Qt QTCORE library -QT_QTCORE_LIBRARY:STRING=/usr/lib/libQtCore.so - -//Path to a library. -QT_QTCORE_LIBRARY_DEBUG:FILEPATH=QT_QTCORE_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTCORE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtCore.so - -//Path to a file. -QT_QTDBUS_INCLUDE_DIR:PATH=/usr/include/qt4/QtDBus - -//The Qt QTDBUS library -QT_QTDBUS_LIBRARY:STRING=/usr/lib/libQtDBus.so - -//Path to a library. -QT_QTDBUS_LIBRARY_DEBUG:FILEPATH=QT_QTDBUS_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTDBUS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDBus.so - -//Path to a file. -QT_QTDECLARATIVE_INCLUDE_DIR:PATH=/usr/include/qt4/QtDeclarative - -//The Qt QTDECLARATIVE library -QT_QTDECLARATIVE_LIBRARY:STRING=/usr/lib/libQtDeclarative.so - -//Path to a library. -QT_QTDECLARATIVE_LIBRARY_DEBUG:FILEPATH=QT_QTDECLARATIVE_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTDECLARATIVE_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDeclarative.so - -//Path to a file. -QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR:PATH=/usr/include/qt4/QtDesigner - -//The Qt QTDESIGNERCOMPONENTS library -QT_QTDESIGNERCOMPONENTS_LIBRARY:STRING=/usr/lib/libQtDesignerComponents.so - -//Path to a library. -QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG:FILEPATH=QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDesignerComponents.so - -//Path to a file. -QT_QTDESIGNER_INCLUDE_DIR:PATH=/usr/include/qt4/QtDesigner - -//The Qt QTDESIGNER library -QT_QTDESIGNER_LIBRARY:STRING=/usr/lib/libQtDesigner.so - -//Path to a library. -QT_QTDESIGNER_LIBRARY_DEBUG:FILEPATH=QT_QTDESIGNER_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTDESIGNER_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtDesigner.so - -//Path to a file. -QT_QTGUI_INCLUDE_DIR:PATH=/usr/include/qt4/QtGui - -//The Qt QTGUI library -QT_QTGUI_LIBRARY:STRING=/usr/lib/libQtGui.so - -//Path to a library. -QT_QTGUI_LIBRARY_DEBUG:FILEPATH=QT_QTGUI_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTGUI_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtGui.so - -//Path to a file. -QT_QTHELP_INCLUDE_DIR:PATH=/usr/include/qt4/QtHelp - -//The Qt QTHELP library -QT_QTHELP_LIBRARY:STRING=/usr/lib/libQtHelp.so - -//Path to a library. -QT_QTHELP_LIBRARY_DEBUG:FILEPATH=QT_QTHELP_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTHELP_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtHelp.so - -//Path to a file. -QT_QTMOTIF_INCLUDE_DIR:PATH=QT_QTMOTIF_INCLUDE_DIR-NOTFOUND - -//The Qt QTMOTIF library -QT_QTMOTIF_LIBRARY:STRING= - -//Path to a library. -QT_QTMOTIF_LIBRARY_DEBUG:FILEPATH=QT_QTMOTIF_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTMOTIF_LIBRARY_RELEASE:FILEPATH=QT_QTMOTIF_LIBRARY_RELEASE-NOTFOUND - -//Path to a file. -QT_QTMULTIMEDIA_INCLUDE_DIR:PATH=QT_QTMULTIMEDIA_INCLUDE_DIR-NOTFOUND - -//The Qt QTMULTIMEDIA library -QT_QTMULTIMEDIA_LIBRARY:STRING= - -//Path to a library. -QT_QTMULTIMEDIA_LIBRARY_DEBUG:FILEPATH=QT_QTMULTIMEDIA_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTMULTIMEDIA_LIBRARY_RELEASE:FILEPATH=QT_QTMULTIMEDIA_LIBRARY_RELEASE-NOTFOUND - -//Path to a file. -QT_QTNETWORK_INCLUDE_DIR:PATH=/usr/include/qt4/QtNetwork - -//The Qt QTNETWORK library -QT_QTNETWORK_LIBRARY:STRING=/usr/lib/libQtNetwork.so - -//Path to a library. -QT_QTNETWORK_LIBRARY_DEBUG:FILEPATH=QT_QTNETWORK_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTNETWORK_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtNetwork.so - -//Path to a file. -QT_QTNSPLUGIN_INCLUDE_DIR:PATH=QT_QTNSPLUGIN_INCLUDE_DIR-NOTFOUND - -//The Qt QTNSPLUGIN library -QT_QTNSPLUGIN_LIBRARY:STRING= - -//Path to a library. -QT_QTNSPLUGIN_LIBRARY_DEBUG:FILEPATH=QT_QTNSPLUGIN_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTNSPLUGIN_LIBRARY_RELEASE:FILEPATH=QT_QTNSPLUGIN_LIBRARY_RELEASE-NOTFOUND - -//Path to a file. -QT_QTOPENGL_INCLUDE_DIR:PATH=/usr/include/qt4/QtOpenGL - -//The Qt QTOPENGL library -QT_QTOPENGL_LIBRARY:STRING=/usr/lib/libQtOpenGL.so - -//Path to a library. -QT_QTOPENGL_LIBRARY_DEBUG:FILEPATH=QT_QTOPENGL_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTOPENGL_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtOpenGL.so - -//Path to a file. -QT_QTSCRIPTTOOLS_INCLUDE_DIR:PATH=/usr/include/qt4/QtScriptTools - -//The Qt QTSCRIPTTOOLS library -QT_QTSCRIPTTOOLS_LIBRARY:STRING=/usr/lib/libQtScriptTools.so - -//Path to a library. -QT_QTSCRIPTTOOLS_LIBRARY_DEBUG:FILEPATH=QT_QTSCRIPTTOOLS_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTSCRIPTTOOLS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtScriptTools.so - -//Path to a file. -QT_QTSCRIPT_INCLUDE_DIR:PATH=/usr/include/qt4/QtScript - -//The Qt QTSCRIPT library -QT_QTSCRIPT_LIBRARY:STRING=/usr/lib/libQtScript.so - -//Path to a library. -QT_QTSCRIPT_LIBRARY_DEBUG:FILEPATH=QT_QTSCRIPT_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTSCRIPT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtScript.so - -//Path to a file. -QT_QTSQL_INCLUDE_DIR:PATH=/usr/include/qt4/QtSql - -//The Qt QTSQL library -QT_QTSQL_LIBRARY:STRING=/usr/lib/libQtSql.so - -//Path to a library. -QT_QTSQL_LIBRARY_DEBUG:FILEPATH=QT_QTSQL_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTSQL_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtSql.so - -//Path to a file. -QT_QTSVG_INCLUDE_DIR:PATH=/usr/include/qt4/QtSvg - -//The Qt QTSVG library -QT_QTSVG_LIBRARY:STRING=/usr/lib/libQtSvg.so - -//Path to a library. -QT_QTSVG_LIBRARY_DEBUG:FILEPATH=QT_QTSVG_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTSVG_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtSvg.so - -//Path to a file. -QT_QTTEST_INCLUDE_DIR:PATH=/usr/include/qt4/QtTest - -//The Qt QTTEST library -QT_QTTEST_LIBRARY:STRING=/usr/lib/libQtTest.so - -//Path to a library. -QT_QTTEST_LIBRARY_DEBUG:FILEPATH=QT_QTTEST_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTTEST_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtTest.so - -//Path to a file. -QT_QTUITOOLS_INCLUDE_DIR:PATH=/usr/include/qt4/QtUiTools - -//The Qt QTUITOOLS library -QT_QTUITOOLS_LIBRARY:STRING=/usr/lib/libQtUiTools.a - -//Path to a library. -QT_QTUITOOLS_LIBRARY_DEBUG:FILEPATH=QT_QTUITOOLS_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTUITOOLS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtUiTools.a - -//Path to a file. -QT_QTWEBKIT_INCLUDE_DIR:PATH=/usr/include/qt4/QtWebKit - -//The Qt QTWEBKIT library -QT_QTWEBKIT_LIBRARY:STRING=/usr/lib/libQtWebKit.so - -//Path to a library. -QT_QTWEBKIT_LIBRARY_DEBUG:FILEPATH=QT_QTWEBKIT_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTWEBKIT_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtWebKit.so - -//Path to a file. -QT_QTXMLPATTERNS_INCLUDE_DIR:PATH=/usr/include/qt4/QtXmlPatterns - -//The Qt QTXMLPATTERNS library -QT_QTXMLPATTERNS_LIBRARY:STRING=/usr/lib/libQtXmlPatterns.so - -//Path to a library. -QT_QTXMLPATTERNS_LIBRARY_DEBUG:FILEPATH=QT_QTXMLPATTERNS_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTXMLPATTERNS_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtXmlPatterns.so - -//Path to a file. -QT_QTXML_INCLUDE_DIR:PATH=/usr/include/qt4/QtXml - -//The Qt QTXML library -QT_QTXML_LIBRARY:STRING=/usr/lib/libQtXml.so - -//Path to a library. -QT_QTXML_LIBRARY_DEBUG:FILEPATH=QT_QTXML_LIBRARY_DEBUG-NOTFOUND - -//Path to a library. -QT_QTXML_LIBRARY_RELEASE:FILEPATH=/usr/lib/libQtXml.so - -//Path to a program. -QT_RCC_EXECUTABLE:FILEPATH=/usr/bin/rcc - -//The location of the Qt translations -QT_TRANSLATIONS_DIR:PATH=/usr/share/qt4/translations - -//Path to a program. -QT_UIC3_EXECUTABLE:FILEPATH=/usr/bin/uic3 - -//Path to a program. -QT_UIC_EXECUTABLE:FILEPATH=/usr/bin/uic-qt4 - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_BUILD_TOOL -CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 -//What is the target build tool cmake is generating for. -CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/niklas/fbgui/LogReceiver/build -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_C_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Result of TRY_COMPILE -CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE -//Result of TRY_COMPILE -CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Start directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/niklas/fbgui/LogReceiver -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/bin/uname -//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS -CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 -//Details about finding Qt4 -FIND_PACKAGE_MESSAGE_DETAILS_Qt4:INTERNAL=[/usr/lib][/usr/include/qt4][/usr/bin/moc-qt4][/usr/bin/uic-qt4][/usr/bin/rcc] -QT_BINARY_DIR:INTERNAL=/usr/bin -//ADVANCED property for variable: QT_DBUSCPP2XML_EXECUTABLE -QT_DBUSCPP2XML_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_DBUSXML2CPP_EXECUTABLE -QT_DBUSXML2CPP_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_DESIGNER_EXECUTABLE -QT_DESIGNER_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_DOC_DIR -QT_DOC_DIR-ADVANCED:INTERNAL=1 -QT_HEADERS_DIR:INTERNAL=/usr/include/qt4 -//ADVANCED property for variable: QT_IMPORTS_DIR -QT_IMPORTS_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_LIBRARY_DIR -QT_LIBRARY_DIR-ADVANCED:INTERNAL=1 -//Qt library dir -QT_LIBRARY_DIR:INTERNAL=/usr/lib -//ADVANCED property for variable: QT_LINGUIST_EXECUTABLE -QT_LINGUIST_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_LRELEASE_EXECUTABLE -QT_LRELEASE_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_LUPDATE_EXECUTABLE -QT_LUPDATE_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_MKSPECS_DIR -QT_MKSPECS_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_MOC_EXECUTABLE -QT_MOC_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_PHONON_INCLUDE_DIR -QT_PHONON_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_PHONON_LIBRARY -QT_PHONON_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_PHONON_LIBRARY_DEBUG -QT_PHONON_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_PHONON_LIBRARY_RELEASE -QT_PHONON_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_PLUGINS_DIR -QT_PLUGINS_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QCOLLECTIONGENERATOR_EXECUTABLE -QT_QCOLLECTIONGENERATOR_EXECUTABLE-ADVANCED:INTERNAL=1 -QT_QMAKE_EXECUTABLE_LAST:INTERNAL=/usr/bin/qmake -//ADVANCED property for variable: QT_QT3SUPPORT_INCLUDE_DIR -QT_QT3SUPPORT_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY -QT_QT3SUPPORT_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY_DEBUG -QT_QT3SUPPORT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QT3SUPPORT_LIBRARY_RELEASE -QT_QT3SUPPORT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANTCLIENT_INCLUDE_DIR -QT_QTASSISTANTCLIENT_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY -QT_QTASSISTANTCLIENT_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY_DEBUG -QT_QTASSISTANTCLIENT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANTCLIENT_LIBRARY_RELEASE -QT_QTASSISTANTCLIENT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANT_INCLUDE_DIR -QT_QTASSISTANT_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY -QT_QTASSISTANT_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY_DEBUG -QT_QTASSISTANT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTASSISTANT_LIBRARY_RELEASE -QT_QTASSISTANT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY -QT_QTCLUCENE_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY_DEBUG -QT_QTCLUCENE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCLUCENE_LIBRARY_RELEASE -QT_QTCLUCENE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCORE_INCLUDE_DIR -QT_QTCORE_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCORE_LIBRARY -QT_QTCORE_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCORE_LIBRARY_DEBUG -QT_QTCORE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTCORE_LIBRARY_RELEASE -QT_QTCORE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDBUS_INCLUDE_DIR -QT_QTDBUS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDBUS_LIBRARY -QT_QTDBUS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDBUS_LIBRARY_DEBUG -QT_QTDBUS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDBUS_LIBRARY_RELEASE -QT_QTDBUS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDECLARATIVE_INCLUDE_DIR -QT_QTDECLARATIVE_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDECLARATIVE_LIBRARY -QT_QTDECLARATIVE_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDECLARATIVE_LIBRARY_DEBUG -QT_QTDECLARATIVE_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDECLARATIVE_LIBRARY_RELEASE -QT_QTDECLARATIVE_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR -QT_QTDESIGNERCOMPONENTS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY -QT_QTDESIGNERCOMPONENTS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG -QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE -QT_QTDESIGNERCOMPONENTS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNER_INCLUDE_DIR -QT_QTDESIGNER_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY -QT_QTDESIGNER_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY_DEBUG -QT_QTDESIGNER_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTDESIGNER_LIBRARY_RELEASE -QT_QTDESIGNER_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTGUI_INCLUDE_DIR -QT_QTGUI_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTGUI_LIBRARY -QT_QTGUI_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTGUI_LIBRARY_DEBUG -QT_QTGUI_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTGUI_LIBRARY_RELEASE -QT_QTGUI_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTHELP_INCLUDE_DIR -QT_QTHELP_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTHELP_LIBRARY -QT_QTHELP_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTHELP_LIBRARY_DEBUG -QT_QTHELP_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTHELP_LIBRARY_RELEASE -QT_QTHELP_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMOTIF_INCLUDE_DIR -QT_QTMOTIF_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMOTIF_LIBRARY -QT_QTMOTIF_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMOTIF_LIBRARY_DEBUG -QT_QTMOTIF_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMOTIF_LIBRARY_RELEASE -QT_QTMOTIF_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMULTIMEDIA_INCLUDE_DIR -QT_QTMULTIMEDIA_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY -QT_QTMULTIMEDIA_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY_DEBUG -QT_QTMULTIMEDIA_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTMULTIMEDIA_LIBRARY_RELEASE -QT_QTMULTIMEDIA_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNETWORK_INCLUDE_DIR -QT_QTNETWORK_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNETWORK_LIBRARY -QT_QTNETWORK_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNETWORK_LIBRARY_DEBUG -QT_QTNETWORK_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNETWORK_LIBRARY_RELEASE -QT_QTNETWORK_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNSPLUGIN_INCLUDE_DIR -QT_QTNSPLUGIN_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY -QT_QTNSPLUGIN_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY_DEBUG -QT_QTNSPLUGIN_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTNSPLUGIN_LIBRARY_RELEASE -QT_QTNSPLUGIN_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTOPENGL_INCLUDE_DIR -QT_QTOPENGL_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTOPENGL_LIBRARY -QT_QTOPENGL_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTOPENGL_LIBRARY_DEBUG -QT_QTOPENGL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTOPENGL_LIBRARY_RELEASE -QT_QTOPENGL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPTTOOLS_INCLUDE_DIR -QT_QTSCRIPTTOOLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY -QT_QTSCRIPTTOOLS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY_DEBUG -QT_QTSCRIPTTOOLS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPTTOOLS_LIBRARY_RELEASE -QT_QTSCRIPTTOOLS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPT_INCLUDE_DIR -QT_QTSCRIPT_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY -QT_QTSCRIPT_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY_DEBUG -QT_QTSCRIPT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSCRIPT_LIBRARY_RELEASE -QT_QTSCRIPT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSQL_INCLUDE_DIR -QT_QTSQL_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSQL_LIBRARY -QT_QTSQL_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSQL_LIBRARY_DEBUG -QT_QTSQL_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSQL_LIBRARY_RELEASE -QT_QTSQL_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSVG_INCLUDE_DIR -QT_QTSVG_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSVG_LIBRARY -QT_QTSVG_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSVG_LIBRARY_DEBUG -QT_QTSVG_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTSVG_LIBRARY_RELEASE -QT_QTSVG_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTTEST_INCLUDE_DIR -QT_QTTEST_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTTEST_LIBRARY -QT_QTTEST_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTTEST_LIBRARY_DEBUG -QT_QTTEST_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTTEST_LIBRARY_RELEASE -QT_QTTEST_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTUITOOLS_INCLUDE_DIR -QT_QTUITOOLS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY -QT_QTUITOOLS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY_DEBUG -QT_QTUITOOLS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTUITOOLS_LIBRARY_RELEASE -QT_QTUITOOLS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTWEBKIT_INCLUDE_DIR -QT_QTWEBKIT_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY -QT_QTWEBKIT_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY_DEBUG -QT_QTWEBKIT_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTWEBKIT_LIBRARY_RELEASE -QT_QTWEBKIT_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXMLPATTERNS_INCLUDE_DIR -QT_QTXMLPATTERNS_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY -QT_QTXMLPATTERNS_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY_DEBUG -QT_QTXMLPATTERNS_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXMLPATTERNS_LIBRARY_RELEASE -QT_QTXMLPATTERNS_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXML_INCLUDE_DIR -QT_QTXML_INCLUDE_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXML_LIBRARY -QT_QTXML_LIBRARY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXML_LIBRARY_DEBUG -QT_QTXML_LIBRARY_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_QTXML_LIBRARY_RELEASE -QT_QTXML_LIBRARY_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_RCC_EXECUTABLE -QT_RCC_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_TRANSLATIONS_DIR -QT_TRANSLATIONS_DIR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_UIC3_EXECUTABLE -QT_UIC3_EXECUTABLE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: QT_UIC_EXECUTABLE -QT_UIC_EXECUTABLE-ADVANCED:INTERNAL=1 -//Have symbol Q_WS_MAC -Q_WS_MAC:INTERNAL= -//Have symbol Q_WS_QWS -Q_WS_QWS:INTERNAL= -//Have symbol Q_WS_WIN -Q_WS_WIN:INTERNAL= -//Have symbol Q_WS_X11 -Q_WS_X11:INTERNAL=1 - diff --git a/LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake b/LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake deleted file mode 100644 index 2b06f62..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeCCompiler.cmake +++ /dev/null @@ -1,44 +0,0 @@ -SET(CMAKE_C_COMPILER "/usr/bin/gcc") -SET(CMAKE_C_COMPILER_ARG1 "") -SET(CMAKE_C_COMPILER_ID "GNU") -SET(CMAKE_C_PLATFORM_ID "Linux") - -SET(CMAKE_AR "/usr/bin/ar") -SET(CMAKE_RANLIB "/usr/bin/ranlib") -SET(CMAKE_LINKER "/usr/bin/ld") -SET(CMAKE_COMPILER_IS_GNUCC 1) -SET(CMAKE_C_COMPILER_LOADED 1) -SET(CMAKE_COMPILER_IS_MINGW ) -SET(CMAKE_COMPILER_IS_CYGWIN ) -IF(CMAKE_COMPILER_IS_CYGWIN) - SET(CYGWIN 1) - SET(UNIX 1) -ENDIF(CMAKE_COMPILER_IS_CYGWIN) - -SET(CMAKE_C_COMPILER_ENV_VAR "CC") - -IF(CMAKE_COMPILER_IS_MINGW) - SET(MINGW 1) -ENDIF(CMAKE_COMPILER_IS_MINGW) -SET(CMAKE_C_COMPILER_ID_RUN 1) -SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) -SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -SET(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -SET(CMAKE_C_SIZEOF_DATA_PTR "4") -SET(CMAKE_C_COMPILER_ABI "ELF") - -IF(CMAKE_C_SIZEOF_DATA_PTR) - SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -ENDIF(CMAKE_C_SIZEOF_DATA_PTR) - -IF(CMAKE_C_COMPILER_ABI) - SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -ENDIF(CMAKE_C_COMPILER_ABI) - -SET(CMAKE_C_HAS_ISYSROOT "") - - -SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") -SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake b/LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake deleted file mode 100644 index 7613c41..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeCXXCompiler.cmake +++ /dev/null @@ -1,45 +0,0 @@ -SET(CMAKE_CXX_COMPILER "/usr/bin/c++") -SET(CMAKE_CXX_COMPILER_ARG1 "") -SET(CMAKE_CXX_COMPILER_ID "GNU") -SET(CMAKE_CXX_PLATFORM_ID "Linux") - -SET(CMAKE_AR "/usr/bin/ar") -SET(CMAKE_RANLIB "/usr/bin/ranlib") -SET(CMAKE_LINKER "/usr/bin/ld") -SET(CMAKE_COMPILER_IS_GNUCXX 1) -SET(CMAKE_CXX_COMPILER_LOADED 1) -SET(CMAKE_COMPILER_IS_MINGW ) -SET(CMAKE_COMPILER_IS_CYGWIN ) -IF(CMAKE_COMPILER_IS_CYGWIN) - SET(CYGWIN 1) - SET(UNIX 1) -ENDIF(CMAKE_COMPILER_IS_CYGWIN) - -SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -IF(CMAKE_COMPILER_IS_MINGW) - SET(MINGW 1) -ENDIF(CMAKE_COMPILER_IS_MINGW) -SET(CMAKE_CXX_COMPILER_ID_RUN 1) -SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) -SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) -SET(CMAKE_CXX_LINKER_PREFERENCE 30) -SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -SET(CMAKE_CXX_SIZEOF_DATA_PTR "4") -SET(CMAKE_CXX_COMPILER_ABI "ELF") - -IF(CMAKE_CXX_SIZEOF_DATA_PTR) - SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) - -IF(CMAKE_CXX_COMPILER_ABI) - SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -ENDIF(CMAKE_CXX_COMPILER_ABI) - -SET(CMAKE_CXX_HAS_ISYSROOT "") - - -SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") -SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index b7710c0..0000000 Binary files a/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin and /dev/null differ diff --git a/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin deleted file mode 100755 index 0e039b8..0000000 Binary files a/LogReceiver/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin and /dev/null differ diff --git a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake b/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index 289868c..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# Relative path conversion top directories. -SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/niklas/fbgui/LogReceiver") -SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/niklas/fbgui/LogReceiver/build") - -# Force unix paths in dependencies. -SET(CMAKE_FORCE_UNIX_PATHS 1) - -# The C and CXX include file search paths: -SET(CMAKE_C_INCLUDE_PATH - "." - "../../customdhcpcd/src" - ".././build" - "/usr/include/qt4/QtDesigner" - "/usr/include/qt4/QtDeclarative" - "/usr/include/qt4/QtScriptTools" - "/usr/include/qt4/QtDBus" - "/usr/include/qt4/QtXml" - "/usr/include/qt4/QtSql" - "/usr/include/qt4/QtOpenGL" - "/usr/include/qt4/QtNetwork" - "/usr/include/qt4/QtXmlPatterns" - "/usr/include/qt4/QtWebKit" - "/usr/include/qt4/QtHelp" - "/usr/include/qt4/QtUiTools" - "/usr/include/qt4/QtTest" - "/usr/include/qt4/QtScript" - "/usr/include/qt4/QtSvg" - "/usr/include/qt4/Qt3Support" - "/usr/include/qt4/QtGui" - "/usr/share/qt4/mkspecs/default" - "/usr/include/qt4" - "/usr/include/qt4/QtCore" - ) -SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) -SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) - -# The C and CXX include file regular expressions for this directory. -SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/LogReceiver/build/CMakeFiles/CMakeError.log b/LogReceiver/build/CMakeFiles/CMakeError.log deleted file mode 100644 index 44add4d..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeError.log +++ /dev/null @@ -1,87 +0,0 @@ -Determining if the Q_WS_WIN exist failed with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_WIN’ undeclared (first use in this function) -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in -make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -make: *** [cmTryCompileExec/fast] Error 2 - -File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: -/* */ -#include - -void cmakeRequireSymbol(int dummy,...){(void)dummy;} -int main() -{ -#ifndef Q_WS_WIN - cmakeRequireSymbol(0,&Q_WS_WIN); -#endif - return 0; -} - -Determining if the Q_WS_QWS exist failed with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_QWS’ undeclared (first use in this function) -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in -make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -make: *** [cmTryCompileExec/fast] Error 2 - -File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: -/* */ -#include - -void cmakeRequireSymbol(int dummy,...){(void)dummy;} -int main() -{ -#ifndef Q_WS_QWS - cmakeRequireSymbol(0,&Q_WS_QWS); -#endif - return 0; -} - -Determining if the Q_WS_MAC exist failed with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: In function ‘main’: -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: error: ‘Q_WS_MAC’ undeclared (first use in this function) -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c:8:25: note: each undeclared identifier is reported only once for each function it appears in -make[1]: *** [CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o] Error 1 -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -make: *** [cmTryCompileExec/fast] Error 2 - -File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: -/* */ -#include - -void cmakeRequireSymbol(int dummy,...){(void)dummy;} -int main() -{ -#ifndef Q_WS_MAC - cmakeRequireSymbol(0,&Q_WS_MAC); -#endif - return 0; -} - diff --git a/LogReceiver/build/CMakeFiles/CMakeOutput.log b/LogReceiver/build/CMakeFiles/CMakeOutput.log deleted file mode 100644 index a7ee961..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,267 +0,0 @@ -The system is: Linux - 2.6.38-10-generic-pae - i686 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /usr/bin/gcc -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" - -The C compiler identification is GNU, found in "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdC/a.out" - -Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. -Compiler: /usr/bin/c++ -Build flags: -Id flags: - -The output was: -0 -CMakeCXXCompilerId.cpp:79:58: warning: deprecated conversion from string constant to ‘char*’ -CMakeCXXCompilerId.cpp:192:58: warning: deprecated conversion from string constant to ‘char*’ -CMakeCXXCompilerId.cpp:193:54: warning: deprecated conversion from string constant to ‘char*’ - - -Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" - -The CXX compiler identification is GNU, found in "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out" - -Determining if the C compiler works passed with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/testCCompiler.c -Linking C executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' - - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c -Linking C executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic -Using built-in specs. -COLLECT_GCC=/usr/bin/gcc -COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper -Target: i686-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu -Thread model: posix -gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) -COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ -LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686' - /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] - ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] - ignore line: [make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1] - ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c] - ignore line: [Linking C executable cmTryCompileExec] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] - ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/gcc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] - ignore line: [Target: i686-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] - ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686'] - link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_i386] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib/ld-linux.so.2] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTryCompileExec] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] - arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] - arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore - remove lib [gcc] - remove lib [gcc_s] - remove lib [gcc] - remove lib [gcc_s] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] - collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] - implicit libs: [c] - implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] - - -Determining if the CXX compiler works passed with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx -Linking CXX executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' - - -Detecting CXX compiler ABI info compiled with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp -Linking CXX executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper -Target: i686-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu -Thread model: posix -gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) -COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ -LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686' - /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' - - -Parsed CXX implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] - ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] - ignore line: [make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1] - ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] - ignore line: [Linking CXX executable cmTryCompileExec] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] - ignore line: [Target: i686-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] - ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'] - link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_i386] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib/ld-linux.so.2] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTryCompileExec] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] - arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] - arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore - remove lib [gcc_s] - remove lib [gcc] - remove lib [gcc_s] - remove lib [gcc] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] - collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] - implicit libs: [stdc++;m;c] - implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] - - -Determining if the Q_WS_X11 exist passed with the following output: -Change Dir: /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -/usr/bin/gcc -I/usr/include/qt4 -o CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c -Linking C executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/CheckSymbolExists.c.o -o cmTryCompileExec -rdynamic -make[1]: Leaving directory `/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp' - -File /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CMakeTmp/CheckSymbolExists.c: -/* */ -#include - -void cmakeRequireSymbol(int dummy,...){(void)dummy;} -int main() -{ -#ifndef Q_WS_X11 - cmakeRequireSymbol(0,&Q_WS_X11); -#endif - return 0; -} - diff --git a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt b/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt deleted file mode 100644 index 86ea0b9..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeRuleHashes.txt +++ /dev/null @@ -1,8 +0,0 @@ -# Hashes of file build rules. -784cafbf7f552e02d03dd84a90b0e6be moc_abortbootdialog.cxx -e29dec28646a2a3990ab163443dcc4cb moc_chooseinterfacedialog.cxx -ca384a1195878307005ade0266f6867a moc_interfaceconfiguration.cxx -4c02c0d97793178c32d12786afee5715 moc_logreceiver.cxx -1bb4cdb77fc4d4a5b1004e01a51a78da moc_ndgui.cxx -4ce5a53d1e27328591b662d28276d05d moc_routemanager.cxx -af4242e398b944b4853304c020c2f8cd ui_ndgui.h diff --git a/LogReceiver/build/CMakeFiles/CMakeSystem.cmake b/LogReceiver/build/CMakeFiles/CMakeSystem.cmake deleted file mode 100644 index 278db3c..0000000 --- a/LogReceiver/build/CMakeFiles/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ - - -SET(CMAKE_SYSTEM "Linux-2.6.38-10-generic-pae") -SET(CMAKE_SYSTEM_NAME "Linux") -SET(CMAKE_SYSTEM_VERSION "2.6.38-10-generic-pae") -SET(CMAKE_SYSTEM_PROCESSOR "i686") - -SET(CMAKE_HOST_SYSTEM "Linux-2.6.38-10-generic-pae") -SET(CMAKE_HOST_SYSTEM_NAME "Linux") -SET(CMAKE_HOST_SYSTEM_VERSION "2.6.38-10-generic-pae") -SET(CMAKE_HOST_SYSTEM_PROCESSOR "i686") - -SET(CMAKE_CROSSCOMPILING "FALSE") - -SET(CMAKE_SYSTEM_LOADED 1) diff --git a/LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index efa5677..0000000 --- a/LogReceiver/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,220 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" - -#elif defined(__clang__) -# define COMPILER_ID "Clang" - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - -#elif defined(__WATCOMC__) -# define COMPILER_ID "Watcom" - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - -#elif defined(__IBMC__) -# if defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" -# elif __IBMC__ >= 800 -# define COMPILER_ID "XL" -# else -# define COMPILER_ID "VisualAge" -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" - -#elif defined(__PATHSCALE__) -# define COMPILER_ID "PathScale" - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - -#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -/* Analog Devices C++ compiler for Blackfin, TigerSHARC and - SHARC (21000) DSPs */ -# define COMPILER_ID "ADSP" - -/* IAR Systems compiler for embedded systems. - http://www.iar.com - Not supported yet by CMake -#elif defined(__IAR_SYSTEMS_ICC__) -# define COMPILER_ID "IAR" */ - -/* sdcc, the small devices C compiler for embedded systems, - http://sdcc.sourceforge.net */ -#elif defined(SDCC) -# define COMPILER_ID "SDCC" - -#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) -# define COMPILER_ID "MIPSpro" - -/* This compiler is either not known or is too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__sgi) -# define COMPILER_ID "MIPSpro" - -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" - -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) -# define PLATFORM_ID "IRIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) -# define PLATFORM_ID "Haiku" -/* Haiku also defines __BEOS__ so we must - put it prior to the check for __BEOS__ -*/ - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#else /* unknown platform */ -# define PLATFORM_ID "" - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is becase - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; - (void)argv; - return require; -} -#endif diff --git a/LogReceiver/build/CMakeFiles/CompilerIdC/a.out b/LogReceiver/build/CMakeFiles/CompilerIdC/a.out deleted file mode 100755 index 0a9888a..0000000 Binary files a/LogReceiver/build/CMakeFiles/CompilerIdC/a.out and /dev/null differ diff --git a/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp b/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp deleted file mode 100644 index 4c2289b..0000000 --- a/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" - -#elif defined(__clang__) -# define COMPILER_ID "Clang" - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - -#elif defined(__WATCOMC__) -# define COMPILER_ID "Watcom" - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - -#elif defined(__IBMCPP__) -# if defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" -# elif __IBMCPP__ >= 800 -# define COMPILER_ID "XL" -# else -# define COMPILER_ID "VisualAge" -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" - -#elif defined(__PATHSCALE__) -# define COMPILER_ID "PathScale" - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - -#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -/* Analog Devices C++ compiler for Blackfin, TigerSHARC and - SHARC (21000) DSPs */ -# define COMPILER_ID "ADSP" - -#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) -# define COMPILER_ID "MIPSpro" - -/* This compiler is either not known or is too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__sgi) -# define COMPILER_ID "MIPSpro" - -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" - -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) -# define PLATFORM_ID "IRIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) -# define PLATFORM_ID "Haiku" -/* Haiku also defines __BEOS__ so we must - put it prior to the check for __BEOS__ -*/ - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#else /* unknown platform */ -# define PLATFORM_ID "" - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is becase - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - (void)argv; - return require; -} diff --git a/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out b/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out deleted file mode 100755 index b564314..0000000 Binary files a/LogReceiver/build/CMakeFiles/CompilerIdCXX/a.out and /dev/null differ diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache b/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache deleted file mode 100644 index 2ef7331..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/CXX.includecache +++ /dev/null @@ -1,4360 +0,0 @@ -#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -../../customdhcpcd/src/common.h -sys/time.h -- -stdio.h -- -string.h -- - -../../customdhcpcd/src/config.h - -../../customdhcpcd/src/dhcp.h -netinet/in_systm.h -- -netinet/in.h -- -netinet/ip.h -- -netinet/udp.h -- -stdint.h -- -dhcpcd.h -../../customdhcpcd/src/dhcpcd.h -interface.h -../../customdhcpcd/src/interface.h - -../../customdhcpcd/src/dhcpcd.h -sys/param.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -limits.h -- -stdbool.h -- -common.h -../../customdhcpcd/src/common.h - -../../customdhcpcd/src/interface.h -sys/types.h -- -sys/param.h -- -sys/queue.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -netinet/if_ether.h -- -limits.h -- -stdbool.h -- -config.h -../../customdhcpcd/src/config.h -linux/netlink.h -- - -../../customdhcpcd/src/status.h - -/home/niklas/fbgui/LogReceiver/../common/fbgui.h - -/home/niklas/fbgui/LogReceiver/abortbootdialog.cpp -QtGui -- -abortbootdialog.h -/home/niklas/fbgui/LogReceiver/abortbootdialog.h - -/home/niklas/fbgui/LogReceiver/abortbootdialog.h -QDialog -- -qboxlayout.h -/home/niklas/fbgui/LogReceiver/qboxlayout.h -qgroupbox.h -/home/niklas/fbgui/LogReceiver/qgroupbox.h -qcombobox.h -/home/niklas/fbgui/LogReceiver/qcombobox.h -qlabel.h -/home/niklas/fbgui/LogReceiver/qlabel.h - -/home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h -QDialog -- -qboxlayout.h -/home/niklas/fbgui/LogReceiver/build/../qboxlayout.h -qgroupbox.h -/home/niklas/fbgui/LogReceiver/build/../qgroupbox.h -qcombobox.h -/home/niklas/fbgui/LogReceiver/build/../qcombobox.h -qlabel.h -/home/niklas/fbgui/LogReceiver/build/../qlabel.h - -/home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h -QDialog -- -qboxlayout.h -/home/niklas/fbgui/LogReceiver/build/../qboxlayout.h -qgroupbox.h -/home/niklas/fbgui/LogReceiver/build/../qgroupbox.h -qcombobox.h -/home/niklas/fbgui/LogReceiver/build/../qcombobox.h -qlabel.h -/home/niklas/fbgui/LogReceiver/build/../qlabel.h - -/home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h -QtCore -- - -/home/niklas/fbgui/LogReceiver/build/../logreceiver.h -QtNetwork -- -QtCore -- -arpa/inet.h -- -stdio.h -- -string.h -- -stdlib.h -- -syslog.h -- -sysfs/libsysfs.h -- -interfaceconfiguration.h -/home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h -status.h -/home/niklas/fbgui/LogReceiver/build/../status.h -dhcp.h -/home/niklas/fbgui/LogReceiver/build/../dhcp.h -interface.h -/home/niklas/fbgui/LogReceiver/build/../interface.h -QNetworkConfigurationManager -- -QWidget -- - -/home/niklas/fbgui/LogReceiver/build/../ndgui.h -QtGui/QWidget -- -qprogressbar.h -/home/niklas/fbgui/LogReceiver/build/../qprogressbar.h -qlabel.h -/home/niklas/fbgui/LogReceiver/build/../qlabel.h -qgroupbox.h -/home/niklas/fbgui/LogReceiver/build/../qgroupbox.h -qboxlayout.h -/home/niklas/fbgui/LogReceiver/build/../qboxlayout.h -ui_ndgui.h -/home/niklas/fbgui/LogReceiver/build/../ui_ndgui.h -logreceiver.h -/home/niklas/fbgui/LogReceiver/build/../logreceiver.h -chooseinterfacedialog.h -/home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h -abortbootdialog.h -/home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - -/home/niklas/fbgui/LogReceiver/build/../routemanager.h -arpa/inet.h -- -interface.h -- -QtCore -- - -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp - -/home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx -../abortbootdialog.h -/home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - -/home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx -../chooseinterfacedialog.h -/home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h - -/home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx -../interfaceconfiguration.h -/home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - -/home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx -../logreceiver.h -/home/niklas/fbgui/LogReceiver/build/../logreceiver.h - -/home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx -../ndgui.h -/home/niklas/fbgui/LogReceiver/build/../ndgui.h - -/home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx -../routemanager.h -/home/niklas/fbgui/LogReceiver/build/../routemanager.h - -/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp -QtGui -- -chooseinterfacedialog.h -/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - -/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h -QDialog -- -qboxlayout.h -/home/niklas/fbgui/LogReceiver/qboxlayout.h -qgroupbox.h -/home/niklas/fbgui/LogReceiver/qgroupbox.h -qcombobox.h -/home/niklas/fbgui/LogReceiver/qcombobox.h -qlabel.h -/home/niklas/fbgui/LogReceiver/qlabel.h - -/home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp -interfaceconfiguration.h -/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - -/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h -QtCore -- - -/home/niklas/fbgui/LogReceiver/logreceiver.cpp -logreceiver.h -/home/niklas/fbgui/LogReceiver/logreceiver.h -../common/fbgui.h -/home/niklas/fbgui/LogReceiver/../common/fbgui.h - -/home/niklas/fbgui/LogReceiver/logreceiver.h -QtNetwork -- -QtCore -- -arpa/inet.h -- -stdio.h -- -string.h -- -stdlib.h -- -syslog.h -- -sysfs/libsysfs.h -- -interfaceconfiguration.h -/home/niklas/fbgui/LogReceiver/interfaceconfiguration.h -status.h -/home/niklas/fbgui/LogReceiver/status.h -dhcp.h -/home/niklas/fbgui/LogReceiver/dhcp.h -interface.h -/home/niklas/fbgui/LogReceiver/interface.h -QNetworkConfigurationManager -- -QWidget -- - -/home/niklas/fbgui/LogReceiver/main.cpp -ndgui.h -/home/niklas/fbgui/LogReceiver/ndgui.h -QtGui -- -QApplication -- - -/home/niklas/fbgui/LogReceiver/ndgui.cpp -ndgui.h -/home/niklas/fbgui/LogReceiver/ndgui.h -chooseinterfacedialog.h -/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h -abortbootdialog.h -/home/niklas/fbgui/LogReceiver/abortbootdialog.h - -/home/niklas/fbgui/LogReceiver/ndgui.h -QtGui/QWidget -- -qprogressbar.h -/home/niklas/fbgui/LogReceiver/qprogressbar.h -qlabel.h -/home/niklas/fbgui/LogReceiver/qlabel.h -qgroupbox.h -/home/niklas/fbgui/LogReceiver/qgroupbox.h -qboxlayout.h -/home/niklas/fbgui/LogReceiver/qboxlayout.h -ui_ndgui.h -/home/niklas/fbgui/LogReceiver/ui_ndgui.h -logreceiver.h -/home/niklas/fbgui/LogReceiver/logreceiver.h -chooseinterfacedialog.h -/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h -abortbootdialog.h -/home/niklas/fbgui/LogReceiver/abortbootdialog.h - -/home/niklas/fbgui/LogReceiver/routemanager.cpp -routemanager.h -/home/niklas/fbgui/LogReceiver/routemanager.h - -/home/niklas/fbgui/LogReceiver/routemanager.h -arpa/inet.h -- -interface.h -- -QtCore -- - -/usr/include/qt4/Qt3Support/q3cstring.h -QtCore/qbytearray.h -- - -/usr/include/qt4/Qt3Support/q3valuelist.h -QtCore/qalgorithms.h -- -QtCore/qdatastream.h -- -QtCore/qlinkedlist.h -- -QtCore/qlist.h -- -iterator -- -list -- - -/usr/include/qt4/QtCore/QDate -qdatetime.h -/usr/include/qt4/QtCore/qdatetime.h - -/usr/include/qt4/QtCore/QIODevice -qiodevice.h -/usr/include/qt4/QtCore/qiodevice.h - -/usr/include/qt4/QtCore/QList -qlist.h -/usr/include/qt4/QtCore/qlist.h - -/usr/include/qt4/QtCore/QMetaType -qmetatype.h -/usr/include/qt4/QtCore/qmetatype.h - -/usr/include/qt4/QtCore/QObject -qobject.h -/usr/include/qt4/QtCore/qobject.h - -/usr/include/qt4/QtCore/QPoint -qpoint.h -/usr/include/qt4/QtCore/qpoint.h - -/usr/include/qt4/QtCore/QPointF -qpoint.h -/usr/include/qt4/QtCore/qpoint.h - -/usr/include/qt4/QtCore/QSharedDataPointer -qshareddata.h -/usr/include/qt4/QtCore/qshareddata.h - -/usr/include/qt4/QtCore/QString -qstring.h -/usr/include/qt4/QtCore/qstring.h - -/usr/include/qt4/QtCore/QUrl -qurl.h -/usr/include/qt4/QtCore/qurl.h - -/usr/include/qt4/QtCore/QVariant -qvariant.h -/usr/include/qt4/QtCore/qvariant.h - -/usr/include/qt4/QtCore/QtCore -qxmlstream.h -/usr/include/qt4/QtCore/qxmlstream.h -qendian.h -/usr/include/qt4/QtCore/qendian.h -qfeatures.h -/usr/include/qt4/QtCore/qfeatures.h -qglobal.h -/usr/include/qt4/QtCore/qglobal.h -qlibraryinfo.h -/usr/include/qt4/QtCore/qlibraryinfo.h -qnamespace.h -/usr/include/qt4/QtCore/qnamespace.h -qnumeric.h -/usr/include/qt4/QtCore/qnumeric.h -qfuture.h -/usr/include/qt4/QtCore/qfuture.h -qfutureinterface.h -/usr/include/qt4/QtCore/qfutureinterface.h -qfuturesynchronizer.h -/usr/include/qt4/QtCore/qfuturesynchronizer.h -qfuturewatcher.h -/usr/include/qt4/QtCore/qfuturewatcher.h -qrunnable.h -/usr/include/qt4/QtCore/qrunnable.h -qtconcurrentcompilertest.h -/usr/include/qt4/QtCore/qtconcurrentcompilertest.h -qtconcurrentexception.h -/usr/include/qt4/QtCore/qtconcurrentexception.h -qtconcurrentfilter.h -/usr/include/qt4/QtCore/qtconcurrentfilter.h -qtconcurrentfilterkernel.h -/usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -qtconcurrentfunctionwrappers.h -/usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -qtconcurrentiteratekernel.h -/usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -qtconcurrentmap.h -/usr/include/qt4/QtCore/qtconcurrentmap.h -qtconcurrentmapkernel.h -/usr/include/qt4/QtCore/qtconcurrentmapkernel.h -qtconcurrentmedian.h -/usr/include/qt4/QtCore/qtconcurrentmedian.h -qtconcurrentreducekernel.h -/usr/include/qt4/QtCore/qtconcurrentreducekernel.h -qtconcurrentresultstore.h -/usr/include/qt4/QtCore/qtconcurrentresultstore.h -qtconcurrentrun.h -/usr/include/qt4/QtCore/qtconcurrentrun.h -qtconcurrentrunbase.h -/usr/include/qt4/QtCore/qtconcurrentrunbase.h -qtconcurrentstoredfunctioncall.h -/usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -qtconcurrentthreadengine.h -/usr/include/qt4/QtCore/qtconcurrentthreadengine.h -qthreadpool.h -/usr/include/qt4/QtCore/qthreadpool.h -qtextcodec.h -/usr/include/qt4/QtCore/qtextcodec.h -qtextcodecplugin.h -/usr/include/qt4/QtCore/qtextcodecplugin.h -qabstractfileengine.h -/usr/include/qt4/QtCore/qabstractfileengine.h -qbuffer.h -/usr/include/qt4/QtCore/qbuffer.h -qdatastream.h -/usr/include/qt4/QtCore/qdatastream.h -qdebug.h -/usr/include/qt4/QtCore/qdebug.h -qdir.h -/usr/include/qt4/QtCore/qdir.h -qdiriterator.h -/usr/include/qt4/QtCore/qdiriterator.h -qfile.h -/usr/include/qt4/QtCore/qfile.h -qfileinfo.h -/usr/include/qt4/QtCore/qfileinfo.h -qfilesystemwatcher.h -/usr/include/qt4/QtCore/qfilesystemwatcher.h -qfsfileengine.h -/usr/include/qt4/QtCore/qfsfileengine.h -qiodevice.h -/usr/include/qt4/QtCore/qiodevice.h -qprocess.h -/usr/include/qt4/QtCore/qprocess.h -qresource.h -/usr/include/qt4/QtCore/qresource.h -qsettings.h -/usr/include/qt4/QtCore/qsettings.h -qtemporaryfile.h -/usr/include/qt4/QtCore/qtemporaryfile.h -qtextstream.h -/usr/include/qt4/QtCore/qtextstream.h -qurl.h -/usr/include/qt4/QtCore/qurl.h -qalgorithms.h -/usr/include/qt4/QtCore/qalgorithms.h -qbitarray.h -/usr/include/qt4/QtCore/qbitarray.h -qbytearray.h -/usr/include/qt4/QtCore/qbytearray.h -qbytearraymatcher.h -/usr/include/qt4/QtCore/qbytearraymatcher.h -qcache.h -/usr/include/qt4/QtCore/qcache.h -qchar.h -/usr/include/qt4/QtCore/qchar.h -qcontainerfwd.h -/usr/include/qt4/QtCore/qcontainerfwd.h -qcontiguouscache.h -/usr/include/qt4/QtCore/qcontiguouscache.h -qcryptographichash.h -/usr/include/qt4/QtCore/qcryptographichash.h -qdatetime.h -/usr/include/qt4/QtCore/qdatetime.h -qeasingcurve.h -/usr/include/qt4/QtCore/qeasingcurve.h -qelapsedtimer.h -/usr/include/qt4/QtCore/qelapsedtimer.h -qhash.h -/usr/include/qt4/QtCore/qhash.h -qiterator.h -/usr/include/qt4/QtCore/qiterator.h -qline.h -/usr/include/qt4/QtCore/qline.h -qlinkedlist.h -/usr/include/qt4/QtCore/qlinkedlist.h -qlist.h -/usr/include/qt4/QtCore/qlist.h -qlocale.h -/usr/include/qt4/QtCore/qlocale.h -qmap.h -/usr/include/qt4/QtCore/qmap.h -qmargins.h -/usr/include/qt4/QtCore/qmargins.h -qpair.h -/usr/include/qt4/QtCore/qpair.h -qpoint.h -/usr/include/qt4/QtCore/qpoint.h -qqueue.h -/usr/include/qt4/QtCore/qqueue.h -qrect.h -/usr/include/qt4/QtCore/qrect.h -qregexp.h -/usr/include/qt4/QtCore/qregexp.h -qscopedpointer.h -/usr/include/qt4/QtCore/qscopedpointer.h -qset.h -/usr/include/qt4/QtCore/qset.h -qshareddata.h -/usr/include/qt4/QtCore/qshareddata.h -qsharedpointer.h -/usr/include/qt4/QtCore/qsharedpointer.h -qsize.h -/usr/include/qt4/QtCore/qsize.h -qstack.h -/usr/include/qt4/QtCore/qstack.h -qstring.h -/usr/include/qt4/QtCore/qstring.h -qstringbuilder.h -/usr/include/qt4/QtCore/qstringbuilder.h -qstringlist.h -/usr/include/qt4/QtCore/qstringlist.h -qstringmatcher.h -/usr/include/qt4/QtCore/qstringmatcher.h -qtextboundaryfinder.h -/usr/include/qt4/QtCore/qtextboundaryfinder.h -qtimeline.h -/usr/include/qt4/QtCore/qtimeline.h -qvarlengtharray.h -/usr/include/qt4/QtCore/qvarlengtharray.h -qvector.h -/usr/include/qt4/QtCore/qvector.h -qabstractanimation.h -/usr/include/qt4/QtCore/qabstractanimation.h -qanimationgroup.h -/usr/include/qt4/QtCore/qanimationgroup.h -qparallelanimationgroup.h -/usr/include/qt4/QtCore/qparallelanimationgroup.h -qpauseanimation.h -/usr/include/qt4/QtCore/qpauseanimation.h -qpropertyanimation.h -/usr/include/qt4/QtCore/qpropertyanimation.h -qsequentialanimationgroup.h -/usr/include/qt4/QtCore/qsequentialanimationgroup.h -qvariantanimation.h -/usr/include/qt4/QtCore/qvariantanimation.h -qabstracteventdispatcher.h -/usr/include/qt4/QtCore/qabstracteventdispatcher.h -qabstractitemmodel.h -/usr/include/qt4/QtCore/qabstractitemmodel.h -qbasictimer.h -/usr/include/qt4/QtCore/qbasictimer.h -qcoreapplication.h -/usr/include/qt4/QtCore/qcoreapplication.h -qcoreevent.h -/usr/include/qt4/QtCore/qcoreevent.h -qeventloop.h -/usr/include/qt4/QtCore/qeventloop.h -qmath.h -/usr/include/qt4/QtCore/qmath.h -qmetaobject.h -/usr/include/qt4/QtCore/qmetaobject.h -qmetatype.h -/usr/include/qt4/QtCore/qmetatype.h -qmimedata.h -/usr/include/qt4/QtCore/qmimedata.h -qobject.h -/usr/include/qt4/QtCore/qobject.h -qobjectcleanuphandler.h -/usr/include/qt4/QtCore/qobjectcleanuphandler.h -qobjectdefs.h -/usr/include/qt4/QtCore/qobjectdefs.h -qpointer.h -/usr/include/qt4/QtCore/qpointer.h -qsharedmemory.h -/usr/include/qt4/QtCore/qsharedmemory.h -qsignalmapper.h -/usr/include/qt4/QtCore/qsignalmapper.h -qsocketnotifier.h -/usr/include/qt4/QtCore/qsocketnotifier.h -qsystemsemaphore.h -/usr/include/qt4/QtCore/qsystemsemaphore.h -qtimer.h -/usr/include/qt4/QtCore/qtimer.h -qtranslator.h -/usr/include/qt4/QtCore/qtranslator.h -qvariant.h -/usr/include/qt4/QtCore/qvariant.h -qatomic.h -/usr/include/qt4/QtCore/qatomic.h -qbasicatomic.h -/usr/include/qt4/QtCore/qbasicatomic.h -qmutex.h -/usr/include/qt4/QtCore/qmutex.h -qreadwritelock.h -/usr/include/qt4/QtCore/qreadwritelock.h -qsemaphore.h -/usr/include/qt4/QtCore/qsemaphore.h -qthread.h -/usr/include/qt4/QtCore/qthread.h -qthreadstorage.h -/usr/include/qt4/QtCore/qthreadstorage.h -qwaitcondition.h -/usr/include/qt4/QtCore/qwaitcondition.h -qabstractstate.h -/usr/include/qt4/QtCore/qabstractstate.h -qabstracttransition.h -/usr/include/qt4/QtCore/qabstracttransition.h -qeventtransition.h -/usr/include/qt4/QtCore/qeventtransition.h -qfinalstate.h -/usr/include/qt4/QtCore/qfinalstate.h -qhistorystate.h -/usr/include/qt4/QtCore/qhistorystate.h -qsignaltransition.h -/usr/include/qt4/QtCore/qsignaltransition.h -qstate.h -/usr/include/qt4/QtCore/qstate.h -qstatemachine.h -/usr/include/qt4/QtCore/qstatemachine.h -qfactoryinterface.h -/usr/include/qt4/QtCore/qfactoryinterface.h -qlibrary.h -/usr/include/qt4/QtCore/qlibrary.h -qplugin.h -/usr/include/qt4/QtCore/qplugin.h -qpluginloader.h -/usr/include/qt4/QtCore/qpluginloader.h -quuid.h -/usr/include/qt4/QtCore/quuid.h - -/usr/include/qt4/QtCore/qabstractanimation.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qabstracteventdispatcher.h -QtCore/qobject.h -- -QtCore/qeventloop.h -- - -/usr/include/qt4/QtCore/qabstractfileengine.h -QtCore/qdir.h -- - -/usr/include/qt4/QtCore/qabstractitemmodel.h -QtCore/qvariant.h -- -QtCore/qobject.h -- -QtCore/qhash.h -- - -/usr/include/qt4/QtCore/qabstractstate.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qabstracttransition.h -QtCore/qobject.h -- -QtCore/qlist.h -- - -/usr/include/qt4/QtCore/qalgorithms.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qanimationgroup.h -QtCore/qabstractanimation.h -- - -/usr/include/qt4/QtCore/qatomic.h -QtCore/qglobal.h -- -QtCore/qbasicatomic.h -- - -/usr/include/qt4/QtCore/qatomic_alpha.h - -/usr/include/qt4/QtCore/qatomic_arch.h -QtCore/qglobal.h -/usr/include/qt4/QtCore/QtCore/qglobal.h -QtCore/qatomic_vxworks.h -/usr/include/qt4/QtCore/QtCore/qatomic_vxworks.h -QtCore/qatomic_alpha.h -/usr/include/qt4/QtCore/QtCore/qatomic_alpha.h -QtCore/qatomic_arm.h -/usr/include/qt4/QtCore/QtCore/qatomic_arm.h -QtCore/qatomic_armv6.h -/usr/include/qt4/QtCore/QtCore/qatomic_armv6.h -QtCore/qatomic_avr32.h -/usr/include/qt4/QtCore/QtCore/qatomic_avr32.h -QtCore/qatomic_bfin.h -/usr/include/qt4/QtCore/QtCore/qatomic_bfin.h -QtCore/qatomic_generic.h -/usr/include/qt4/QtCore/QtCore/qatomic_generic.h -QtCore/qatomic_i386.h -/usr/include/qt4/QtCore/QtCore/qatomic_i386.h -QtCore/qatomic_ia64.h -/usr/include/qt4/QtCore/QtCore/qatomic_ia64.h -QtCore/qatomic_macosx.h -/usr/include/qt4/QtCore/QtCore/qatomic_macosx.h -QtCore/qatomic_mips.h -/usr/include/qt4/QtCore/QtCore/qatomic_mips.h -QtCore/qatomic_parisc.h -/usr/include/qt4/QtCore/QtCore/qatomic_parisc.h -QtCore/qatomic_powerpc.h -/usr/include/qt4/QtCore/QtCore/qatomic_powerpc.h -QtCore/qatomic_s390.h -/usr/include/qt4/QtCore/QtCore/qatomic_s390.h -QtCore/qatomic_sparc.h -/usr/include/qt4/QtCore/QtCore/qatomic_sparc.h -QtCore/qatomic_windows.h -/usr/include/qt4/QtCore/QtCore/qatomic_windows.h -QtCore/qatomic_windowsce.h -/usr/include/qt4/QtCore/QtCore/qatomic_windowsce.h -QtCore/qatomic_x86_64.h -/usr/include/qt4/QtCore/QtCore/qatomic_x86_64.h -QtCore/qatomic_symbian.h -/usr/include/qt4/QtCore/QtCore/qatomic_symbian.h -QtCore/qatomic_sh.h -/usr/include/qt4/QtCore/QtCore/qatomic_sh.h -QtCore/qatomic_sh4a.h -/usr/include/qt4/QtCore/QtCore/qatomic_sh4a.h - -/usr/include/qt4/QtCore/qatomic_arm.h - -/usr/include/qt4/QtCore/qatomic_armv6.h - -/usr/include/qt4/QtCore/qatomic_avr32.h - -/usr/include/qt4/QtCore/qatomic_bfin.h -asm/fixed_code.h -- - -/usr/include/qt4/QtCore/qatomic_bootstrap.h - -/usr/include/qt4/QtCore/qatomic_generic.h - -/usr/include/qt4/QtCore/qatomic_i386.h - -/usr/include/qt4/QtCore/qatomic_ia64.h -ia64intrin.h -- -ia64/sys/inline.h -- - -/usr/include/qt4/QtCore/qatomic_macosx.h -QtCore/qatomic_x86_64.h -- -QtCore/qatomic_i386.h -- -QtCore/qatomic_powerpc.h -- - -/usr/include/qt4/QtCore/qatomic_mips.h - -/usr/include/qt4/QtCore/qatomic_parisc.h - -/usr/include/qt4/QtCore/qatomic_powerpc.h - -/usr/include/qt4/QtCore/qatomic_s390.h - -/usr/include/qt4/QtCore/qatomic_sh.h - -/usr/include/qt4/QtCore/qatomic_sh4a.h - -/usr/include/qt4/QtCore/qatomic_sparc.h - -/usr/include/qt4/QtCore/qatomic_symbian.h -QtCore/qglobal.h -- -e32std.h -- - -/usr/include/qt4/QtCore/qatomic_vxworks.h -QtCore/qatomic_powerpc.h -- -vxWorksCommon.h -- -taskLib.h -- - -/usr/include/qt4/QtCore/qatomic_windows.h -QtCore/qatomic_i386.h -/usr/include/qt4/QtCore/QtCore/qatomic_i386.h -QtCore/qatomic_x86_64.h -/usr/include/qt4/QtCore/QtCore/qatomic_x86_64.h -winbase.h -- - -/usr/include/qt4/QtCore/qatomic_windowsce.h -QtCore/qglobal.h -- -QtCore/qatomic_windows.h -/usr/include/qt4/QtCore/QtCore/qatomic_windows.h - -/usr/include/qt4/QtCore/qatomic_x86_64.h - -/usr/include/qt4/QtCore/qbasicatomic.h -QtCore/qglobal.h -- -QtCore/qatomic_bootstrap.h -- -QtCore/qatomic_arch.h -- - -/usr/include/qt4/QtCore/qbasictimer.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qbitarray.h -QtCore/qbytearray.h -- - -/usr/include/qt4/QtCore/qbuffer.h -QtCore/qiodevice.h -- -QtCore/qbytearray.h -- - -/usr/include/qt4/QtCore/qbytearray.h -QtCore/qatomic.h -- -QtCore/qnamespace.h -- -string.h -- -stdarg.h -- - -/usr/include/qt4/QtCore/qbytearraymatcher.h -QtCore/qbytearray.h -- - -/usr/include/qt4/QtCore/qcache.h -QtCore/qhash.h -- - -/usr/include/qt4/QtCore/qchar.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qconfig.h - -/usr/include/qt4/QtCore/qcontainerfwd.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qcontiguouscache.h -QtCore/qatomic.h -- -limits.h -- -new -- - -/usr/include/qt4/QtCore/qcoreapplication.h -QtCore/qobject.h -- -QtCore/qcoreevent.h -- -QtCore/qeventloop.h -- -QtCore/qstringlist.h -- - -/usr/include/qt4/QtCore/qcoreevent.h -QtCore/qnamespace.h -- -QtCore/qbytearray.h -- -QtCore/qobjectdefs.h -- - -/usr/include/qt4/QtCore/qcryptographichash.h -QtCore/qbytearray.h -- - -/usr/include/qt4/QtCore/qdatastream.h -QtCore/qscopedpointer.h -- -QtCore/qiodevice.h -- -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qdatetime.h -QtCore/qstring.h -- -QtCore/qnamespace.h -- -QtCore/qsharedpointer.h -- - -/usr/include/qt4/QtCore/qdebug.h -QtCore/qalgorithms.h -- -QtCore/qhash.h -- -QtCore/qlist.h -- -QtCore/qmap.h -- -QtCore/qpair.h -- -QtCore/qtextstream.h -- -QtCore/qstring.h -- -QtCore/qvector.h -- -QtCore/qset.h -- -QtCore/qcontiguouscache.h -- - -/usr/include/qt4/QtCore/qdir.h -QtCore/qstring.h -- -QtCore/qfileinfo.h -- -QtCore/qstringlist.h -- -QtCore/qshareddata.h -- - -/usr/include/qt4/QtCore/qdiriterator.h -QtCore/qdir.h -- - -/usr/include/qt4/QtCore/qeasingcurve.h -QtCore/qglobal.h -- -QtCore/qobjectdefs.h -- - -/usr/include/qt4/QtCore/qelapsedtimer.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qendian.h -QtCore/qglobal.h -- -stdlib.h -- -byteswap.h -- - -/usr/include/qt4/QtCore/qeventloop.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qeventtransition.h -QtCore/qabstracttransition.h -- -QtCore/qcoreevent.h -- - -/usr/include/qt4/QtCore/qfactoryinterface.h -QtCore/qobject.h -- -QtCore/qstringlist.h -- - -/usr/include/qt4/QtCore/qfeatures.h - -/usr/include/qt4/QtCore/qfile.h -QtCore/qiodevice.h -- -QtCore/qstring.h -- -stdio.h -- - -/usr/include/qt4/QtCore/qfileinfo.h -QtCore/qfile.h -- -QtCore/qlist.h -- -QtCore/qshareddata.h -- - -/usr/include/qt4/QtCore/qfilesystemwatcher.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qfinalstate.h -QtCore/qabstractstate.h -- - -/usr/include/qt4/QtCore/qfsfileengine.h -QtCore/qabstractfileengine.h -- - -/usr/include/qt4/QtCore/qfuture.h -QtCore/qglobal.h -- -QtCore/qfutureinterface.h -- -QtCore/qstring.h -- -QtCore/qtconcurrentcompilertest.h -- - -/usr/include/qt4/QtCore/qfutureinterface.h -QtCore/qglobal.h -- -QtCore/qrunnable.h -- -QtCore/qmutex.h -- -QtCore/qtconcurrentexception.h -- -QtCore/qtconcurrentresultstore.h -- - -/usr/include/qt4/QtCore/qfuturesynchronizer.h -QtCore/qfuture.h -- - -/usr/include/qt4/QtCore/qfuturewatcher.h -QtCore/qfuture.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qglobal.h -stddef.h -- -QtCore/qconfig.h -- -AvailabilityMacros.h -- -e32def.h -- -QtCore/qfeatures.h -- - -/usr/include/qt4/QtCore/qhash.h -QtCore/qatomic.h -- -QtCore/qchar.h -- -QtCore/qiterator.h -- -QtCore/qlist.h -- -QtCore/qpair.h -- - -/usr/include/qt4/QtCore/qhistorystate.h -QtCore/qabstractstate.h -- - -/usr/include/qt4/QtCore/qiodevice.h -QtCore/qobject.h -- -QtCore/qobjectdefs.h -- -QtCore/qscopedpointer.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtCore/qiterator.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qlibrary.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qlibraryinfo.h -QtCore/qstring.h -- -QtCore/QDate -- - -/usr/include/qt4/QtCore/qline.h -QtCore/qpoint.h -- - -/usr/include/qt4/QtCore/qlinkedlist.h -QtCore/qiterator.h -- -QtCore/qatomic.h -- -iterator -- -list -- - -/usr/include/qt4/QtCore/qlist.h -QtCore/qiterator.h -- -QtCore/qatomic.h -- -QtCore/qalgorithms.h -- -iterator -- -list -- -new -- -limits.h -- -string.h -- - -/usr/include/qt4/QtCore/qlocale.h -QtCore/qstring.h -- -QtCore/qobjectdefs.h -- - -/usr/include/qt4/QtCore/qmap.h -QtCore/qatomic.h -- -QtCore/qiterator.h -- -QtCore/qlist.h -- -map -- -new -- - -/usr/include/qt4/QtCore/qmargins.h -QtCore/qnamespace.h -- - -/usr/include/qt4/QtCore/qmath.h -math.h -- -QtCore/qglobal.h -- -e32math.h -- - -/usr/include/qt4/QtCore/qmetaobject.h -QtCore/qobjectdefs.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtCore/qmetatype.h -QtCore/qglobal.h -- -QtCore/qatomic.h -- -QtCore/qdatastream.h -- - -/usr/include/qt4/QtCore/qmimedata.h -QtCore/qvariant.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qmutex.h -QtCore/qglobal.h -- -new -- - -/usr/include/qt4/QtCore/qnamespace.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qnumeric.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qobject.h -QtCore/qobjectdefs.h -- -QtCore/qstring.h -- -QtCore/qbytearray.h -- -QtCore/qlist.h -- -QtCore/qcoreevent.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtCore/qobjectcleanuphandler.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qobjectdefs.h -QtCore/qnamespace.h -- - -/usr/include/qt4/QtCore/qpair.h -QtCore/qdatastream.h -- - -/usr/include/qt4/QtCore/qparallelanimationgroup.h -QtCore/qanimationgroup.h -- - -/usr/include/qt4/QtCore/qpauseanimation.h -QtCore/qanimationgroup.h -- - -/usr/include/qt4/QtCore/qplugin.h -QtCore/qobject.h -- -QtCore/qpointer.h -- - -/usr/include/qt4/QtCore/qpluginloader.h -QtCore/qlibrary.h -- - -/usr/include/qt4/QtCore/qpoint.h -QtCore/qnamespace.h -- - -/usr/include/qt4/QtCore/qpointer.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qprocess.h -QtCore/qiodevice.h -- -QtCore/qstringlist.h -- -QtCore/qshareddata.h -- - -/usr/include/qt4/QtCore/qpropertyanimation.h -QtCore/qvariantanimation.h -- - -/usr/include/qt4/QtCore/qqueue.h -QtCore/qlist.h -- - -/usr/include/qt4/QtCore/qreadwritelock.h -QtCore/qglobal.h -- -limits.h -- - -/usr/include/qt4/QtCore/qrect.h -QtCore/qsize.h -- -QtCore/qpoint.h -- - -/usr/include/qt4/QtCore/qregexp.h -QtCore/qstring.h -- -new -- - -/usr/include/qt4/QtCore/qresource.h -QtCore/qstring.h -- -QtCore/qlocale.h -- -QtCore/qstringlist.h -- -QtCore/qlist.h -- - -/usr/include/qt4/QtCore/qrunnable.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qscopedpointer.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qsemaphore.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qsequentialanimationgroup.h -QtCore/qanimationgroup.h -- - -/usr/include/qt4/QtCore/qset.h -QtCore/qhash.h -- - -/usr/include/qt4/QtCore/qsettings.h -QtCore/qobject.h -- -QtCore/qvariant.h -- -QtCore/qstring.h -- -QtCore/qstringlist.h -- -ctype.h -- - -/usr/include/qt4/QtCore/qshareddata.h -QtCore/qglobal.h -- -QtCore/qatomic.h -- - -/usr/include/qt4/QtCore/qsharedmemory.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qsharedpointer.h -QtCore/qglobal.h -- -QtCore/qatomic.h -- -QtCore/qshareddata.h -- -QtCore/qsharedpointer_impl.h -- - -/usr/include/qt4/QtCore/qsharedpointer_impl.h -new -- -QtCore/qatomic.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qsignalmapper.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qsignaltransition.h -QtCore/qabstracttransition.h -- - -/usr/include/qt4/QtCore/qsize.h -QtCore/qnamespace.h -- - -/usr/include/qt4/QtCore/qsocketnotifier.h -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qstack.h -QtCore/qvector.h -- - -/usr/include/qt4/QtCore/qstate.h -QtCore/qabstractstate.h -- -QtCore/qlist.h -- - -/usr/include/qt4/QtCore/qstatemachine.h -QtCore/qstate.h -- -QtCore/qcoreevent.h -- -QtCore/qlist.h -- -QtCore/qobject.h -- -QtCore/qset.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtCore/qstring.h -QtCore/qchar.h -- -QtCore/qbytearray.h -- -QtCore/qatomic.h -- -QtCore/qnamespace.h -- -Qt3Support/q3cstring.h -- -string -- -string -- -stdarg.h -- -QtCore/qstringbuilder.h -- - -/usr/include/qt4/QtCore/qstringbuilder.h -QtCore/qstring.h -- -QtCore/qmap.h -- -string.h -- - -/usr/include/qt4/QtCore/qstringlist.h -QtCore/qalgorithms.h -- -QtCore/qdatastream.h -- -QtCore/qlist.h -- -QtCore/qregexp.h -- -QtCore/qstring.h -- -QtCore/qstringmatcher.h -- -Qt3Support/q3valuelist.h -- - -/usr/include/qt4/QtCore/qstringmatcher.h -QtCore/qstring.h -- - -/usr/include/qt4/QtCore/qsystemsemaphore.h -QtCore/qstring.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtCore/qtconcurrentcompilertest.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qtconcurrentexception.h -QtCore/qglobal.h -- -QtCore/qatomic.h -- -exception -- - -/usr/include/qt4/QtCore/qtconcurrentfilter.h -QtCore/qglobal.h -- -QtCore/qtconcurrentfilterkernel.h -- -QtCore/qtconcurrentfunctionwrappers.h -- - -/usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -QtCore/qglobal.h -- -QtCore/qtconcurrentiteratekernel.h -- -QtCore/qtconcurrentmapkernel.h -- -QtCore/qtconcurrentreducekernel.h -- - -/usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -QtCore/qglobal.h -- -QtCore/qatomic.h -- -QtCore/qtconcurrentmedian.h -- -QtCore/qtconcurrentthreadengine.h -- -iterator -- - -/usr/include/qt4/QtCore/qtconcurrentmap.h -QtCore/qglobal.h -- -QtCore/qtconcurrentmapkernel.h -- -QtCore/qtconcurrentreducekernel.h -- -QtCore/qtconcurrentfunctionwrappers.h -- -QtCore/qstringlist.h -- - -/usr/include/qt4/QtCore/qtconcurrentmapkernel.h -QtCore/qglobal.h -- -QtCore/qtconcurrentiteratekernel.h -- -QtCore/qtconcurrentreducekernel.h -- - -/usr/include/qt4/QtCore/qtconcurrentmedian.h -QtCore/qglobal.h -- -QtCore/qvector.h -- -QtCore/qalgorithms.h -- - -/usr/include/qt4/QtCore/qtconcurrentreducekernel.h -QtCore/qglobal.h -- -QtCore/qatomic.h -- -QtCore/qlist.h -- -QtCore/qmap.h -- -QtCore/qmutex.h -- -QtCore/qthread.h -- -QtCore/qthreadpool.h -- -QtCore/qvector.h -- - -/usr/include/qt4/QtCore/qtconcurrentresultstore.h -QtCore/qglobal.h -- -QtCore/qmap.h -- -QtCore/qdebug.h -- - -/usr/include/qt4/QtCore/qtconcurrentrun.h -QtCore/qglobal.h -- -QtCore/qtconcurrentrunbase.h -- -QtCore/qtconcurrentstoredfunctioncall.h -- - -/usr/include/qt4/QtCore/qtconcurrentrunbase.h -QtCore/qglobal.h -- -QtCore/qfuture.h -- -QtCore/qrunnable.h -- -QtCore/qthreadpool.h -- - -/usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -QtCore/qglobal.h -- -QtCore/qtconcurrentrunbase.h -- - -/usr/include/qt4/QtCore/qtconcurrentthreadengine.h -QtCore/qglobal.h -- -QtCore/qthreadpool.h -- -QtCore/qfuture.h -- -QtCore/qdebug.h -- -QtCore/qtconcurrentexception.h -- -QtCore/qwaitcondition.h -- -QtCore/qatomic.h -- -QtCore/qsemaphore.h -- - -/usr/include/qt4/QtCore/qtemporaryfile.h -QtCore/qiodevice.h -- -QtCore/qfile.h -- - -/usr/include/qt4/QtCore/qtextboundaryfinder.h -QtCore/qchar.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtCore/qtextcodec.h -QtCore/qstring.h -- -QtCore/qlist.h -- - -/usr/include/qt4/QtCore/qtextcodecplugin.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- -QtCore/qlist.h -- -QtCore/qbytearray.h -- - -/usr/include/qt4/QtCore/qtextstream.h -QtCore/qiodevice.h -- -QtCore/qstring.h -- -QtCore/qchar.h -- -QtCore/qlocale.h -- -QtCore/qscopedpointer.h -- -QtCore/qtextcodec.h -- -stdio.h -- - -/usr/include/qt4/QtCore/qthread.h -QtCore/qobject.h -- -limits.h -- - -/usr/include/qt4/QtCore/qthreadpool.h -QtCore/qglobal.h -- -QtCore/qthread.h -- -QtCore/qrunnable.h -- - -/usr/include/qt4/QtCore/qthreadstorage.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtCore/qtimeline.h -QtCore/qeasingcurve.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qtimer.h -QtCore/qbasictimer.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtCore/qtranslator.h -QtCore/qobject.h -- -QtCore/qbytearray.h -- - -/usr/include/qt4/QtCore/qurl.h -QtCore/qbytearray.h -- -QtCore/qobjectdefs.h -- -QtCore/qpair.h -- -QtCore/qstring.h -- -QtCore/qhash.h -- - -/usr/include/qt4/QtCore/quuid.h -QtCore/qstring.h -- - -/usr/include/qt4/QtCore/qvariant.h -QtCore/qatomic.h -- -QtCore/qbytearray.h -- -QtCore/qlist.h -- -QtCore/qmetatype.h -- -QtCore/qmap.h -- -QtCore/qhash.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtCore/qvariantanimation.h -QtCore/qeasingcurve.h -- -QtCore/qabstractanimation.h -- -QtCore/qvector.h -- -QtCore/qvariant.h -- -QtCore/qpair.h -- - -/usr/include/qt4/QtCore/qvarlengtharray.h -QtCore/qcontainerfwd.h -- -QtCore/qglobal.h -- -new -- - -/usr/include/qt4/QtCore/qvector.h -QtCore/qiterator.h -- -QtCore/qatomic.h -- -QtCore/qalgorithms.h -- -QtCore/qlist.h -- -iterator -- -vector -- -stdlib.h -- -string.h -- -QtCore/QPointF -- -QtCore/QPoint -- - -/usr/include/qt4/QtCore/qwaitcondition.h -QtCore/qglobal.h -- -limits.h -- - -/usr/include/qt4/QtCore/qxmlstream.h -QtCore/qiodevice.h -- -QtCore/qstring.h -- -QtCore/qvector.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtGui/QAction -qaction.h -/usr/include/qt4/QtGui/qaction.h - -/usr/include/qt4/QtGui/QApplication -qapplication.h -/usr/include/qt4/QtGui/qapplication.h - -/usr/include/qt4/QtGui/QButtonGroup -qbuttongroup.h -/usr/include/qt4/QtGui/qbuttongroup.h - -/usr/include/qt4/QtGui/QCleanlooksStyle -qcleanlooksstyle.h -/usr/include/qt4/QtGui/qcleanlooksstyle.h - -/usr/include/qt4/QtGui/QCommonStyle -qcommonstyle.h -/usr/include/qt4/QtGui/qcommonstyle.h - -/usr/include/qt4/QtGui/QDialog -qdialog.h -/usr/include/qt4/QtGui/qdialog.h - -/usr/include/qt4/QtGui/QFileDialog -qfiledialog.h -/usr/include/qt4/QtGui/qfiledialog.h - -/usr/include/qt4/QtGui/QFont -qfont.h -/usr/include/qt4/QtGui/qfont.h - -/usr/include/qt4/QtGui/QHeaderView -qheaderview.h -/usr/include/qt4/QtGui/qheaderview.h - -/usr/include/qt4/QtGui/QLayout -qlayout.h -/usr/include/qt4/QtGui/qlayout.h - -/usr/include/qt4/QtGui/QMatrix4x4 -qmatrix4x4.h -/usr/include/qt4/QtGui/qmatrix4x4.h - -/usr/include/qt4/QtGui/QPalette -qpalette.h -/usr/include/qt4/QtGui/qpalette.h - -/usr/include/qt4/QtGui/QPrinter -qprinter.h -/usr/include/qt4/QtGui/qprinter.h - -/usr/include/qt4/QtGui/QTransform -qtransform.h -/usr/include/qt4/QtGui/qtransform.h - -/usr/include/qt4/QtGui/QVector3D -qvector3d.h -/usr/include/qt4/QtGui/qvector3d.h - -/usr/include/qt4/QtGui/QWidget -qwidget.h -/usr/include/qt4/QtGui/qwidget.h - -/usr/include/qt4/QtGui/QtGui -QtCore/QtCore -- -qcdestyle.h -/usr/include/qt4/QtGui/qcdestyle.h -qcleanlooksstyle.h -/usr/include/qt4/QtGui/qcleanlooksstyle.h -qcommonstyle.h -/usr/include/qt4/QtGui/qcommonstyle.h -qgtkstyle.h -/usr/include/qt4/QtGui/qgtkstyle.h -qmotifstyle.h -/usr/include/qt4/QtGui/qmotifstyle.h -qplastiquestyle.h -/usr/include/qt4/QtGui/qplastiquestyle.h -qproxystyle.h -/usr/include/qt4/QtGui/qproxystyle.h -qs60style.h -/usr/include/qt4/QtGui/qs60style.h -qstyle.h -/usr/include/qt4/QtGui/qstyle.h -qstylefactory.h -/usr/include/qt4/QtGui/qstylefactory.h -qstyleoption.h -/usr/include/qt4/QtGui/qstyleoption.h -qstyleplugin.h -/usr/include/qt4/QtGui/qstyleplugin.h -qwindowscestyle.h -/usr/include/qt4/QtGui/qwindowscestyle.h -qwindowsmobilestyle.h -/usr/include/qt4/QtGui/qwindowsmobilestyle.h -qwindowsstyle.h -/usr/include/qt4/QtGui/qwindowsstyle.h -qwindowsvistastyle.h -/usr/include/qt4/QtGui/qwindowsvistastyle.h -qwindowsxpstyle.h -/usr/include/qt4/QtGui/qwindowsxpstyle.h -qsymbianevent.h -/usr/include/qt4/QtGui/qsymbianevent.h -qabstracttextdocumentlayout.h -/usr/include/qt4/QtGui/qabstracttextdocumentlayout.h -qfont.h -/usr/include/qt4/QtGui/qfont.h -qfontdatabase.h -/usr/include/qt4/QtGui/qfontdatabase.h -qfontinfo.h -/usr/include/qt4/QtGui/qfontinfo.h -qfontmetrics.h -/usr/include/qt4/QtGui/qfontmetrics.h -qstatictext.h -/usr/include/qt4/QtGui/qstatictext.h -qsyntaxhighlighter.h -/usr/include/qt4/QtGui/qsyntaxhighlighter.h -qtextcursor.h -/usr/include/qt4/QtGui/qtextcursor.h -qtextdocument.h -/usr/include/qt4/QtGui/qtextdocument.h -qtextdocumentfragment.h -/usr/include/qt4/QtGui/qtextdocumentfragment.h -qtextdocumentwriter.h -/usr/include/qt4/QtGui/qtextdocumentwriter.h -qtextformat.h -/usr/include/qt4/QtGui/qtextformat.h -qtextlayout.h -/usr/include/qt4/QtGui/qtextlayout.h -qtextlist.h -/usr/include/qt4/QtGui/qtextlist.h -qtextobject.h -/usr/include/qt4/QtGui/qtextobject.h -qtextoption.h -/usr/include/qt4/QtGui/qtextoption.h -qtexttable.h -/usr/include/qt4/QtGui/qtexttable.h -qaccessible.h -/usr/include/qt4/QtGui/qaccessible.h -qaccessible2.h -/usr/include/qt4/QtGui/qaccessible2.h -qaccessiblebridge.h -/usr/include/qt4/QtGui/qaccessiblebridge.h -qaccessibleobject.h -/usr/include/qt4/QtGui/qaccessibleobject.h -qaccessibleplugin.h -/usr/include/qt4/QtGui/qaccessibleplugin.h -qaccessiblewidget.h -/usr/include/qt4/QtGui/qaccessiblewidget.h -qgenericmatrix.h -/usr/include/qt4/QtGui/qgenericmatrix.h -qmatrix4x4.h -/usr/include/qt4/QtGui/qmatrix4x4.h -qquaternion.h -/usr/include/qt4/QtGui/qquaternion.h -qvector2d.h -/usr/include/qt4/QtGui/qvector2d.h -qvector3d.h -/usr/include/qt4/QtGui/qvector3d.h -qvector4d.h -/usr/include/qt4/QtGui/qvector4d.h -qbrush.h -/usr/include/qt4/QtGui/qbrush.h -qcolor.h -/usr/include/qt4/QtGui/qcolor.h -qcolormap.h -/usr/include/qt4/QtGui/qcolormap.h -qdrawutil.h -/usr/include/qt4/QtGui/qdrawutil.h -qmatrix.h -/usr/include/qt4/QtGui/qmatrix.h -qpaintdevice.h -/usr/include/qt4/QtGui/qpaintdevice.h -qpaintengine.h -/usr/include/qt4/QtGui/qpaintengine.h -qpainter.h -/usr/include/qt4/QtGui/qpainter.h -qpainterpath.h -/usr/include/qt4/QtGui/qpainterpath.h -qpen.h -/usr/include/qt4/QtGui/qpen.h -qpolygon.h -/usr/include/qt4/QtGui/qpolygon.h -qprintengine.h -/usr/include/qt4/QtGui/qprintengine.h -qprinter.h -/usr/include/qt4/QtGui/qprinter.h -qprinterinfo.h -/usr/include/qt4/QtGui/qprinterinfo.h -qregion.h -/usr/include/qt4/QtGui/qregion.h -qrgb.h -/usr/include/qt4/QtGui/qrgb.h -qstylepainter.h -/usr/include/qt4/QtGui/qstylepainter.h -qtransform.h -/usr/include/qt4/QtGui/qtransform.h -qwmatrix.h -/usr/include/qt4/QtGui/qwmatrix.h -qs60mainapplication.h -/usr/include/qt4/QtGui/qs60mainapplication.h -qs60mainappui.h -/usr/include/qt4/QtGui/qs60mainappui.h -qs60maindocument.h -/usr/include/qt4/QtGui/qs60maindocument.h -qbitmap.h -/usr/include/qt4/QtGui/qbitmap.h -qicon.h -/usr/include/qt4/QtGui/qicon.h -qiconengine.h -/usr/include/qt4/QtGui/qiconengine.h -qiconengineplugin.h -/usr/include/qt4/QtGui/qiconengineplugin.h -qimage.h -/usr/include/qt4/QtGui/qimage.h -qimageiohandler.h -/usr/include/qt4/QtGui/qimageiohandler.h -qimagereader.h -/usr/include/qt4/QtGui/qimagereader.h -qimagewriter.h -/usr/include/qt4/QtGui/qimagewriter.h -qmovie.h -/usr/include/qt4/QtGui/qmovie.h -qpicture.h -/usr/include/qt4/QtGui/qpicture.h -qpictureformatplugin.h -/usr/include/qt4/QtGui/qpictureformatplugin.h -qpixmap.h -/usr/include/qt4/QtGui/qpixmap.h -qpixmapcache.h -/usr/include/qt4/QtGui/qpixmapcache.h -qabstractbutton.h -/usr/include/qt4/QtGui/qabstractbutton.h -qabstractscrollarea.h -/usr/include/qt4/QtGui/qabstractscrollarea.h -qabstractslider.h -/usr/include/qt4/QtGui/qabstractslider.h -qabstractspinbox.h -/usr/include/qt4/QtGui/qabstractspinbox.h -qbuttongroup.h -/usr/include/qt4/QtGui/qbuttongroup.h -qcalendarwidget.h -/usr/include/qt4/QtGui/qcalendarwidget.h -qcheckbox.h -/usr/include/qt4/QtGui/qcheckbox.h -qcombobox.h -/usr/include/qt4/QtGui/qcombobox.h -qcommandlinkbutton.h -/usr/include/qt4/QtGui/qcommandlinkbutton.h -qdatetimeedit.h -/usr/include/qt4/QtGui/qdatetimeedit.h -qdial.h -/usr/include/qt4/QtGui/qdial.h -qdialogbuttonbox.h -/usr/include/qt4/QtGui/qdialogbuttonbox.h -qdockwidget.h -/usr/include/qt4/QtGui/qdockwidget.h -qfocusframe.h -/usr/include/qt4/QtGui/qfocusframe.h -qfontcombobox.h -/usr/include/qt4/QtGui/qfontcombobox.h -qframe.h -/usr/include/qt4/QtGui/qframe.h -qgroupbox.h -/usr/include/qt4/QtGui/qgroupbox.h -qlabel.h -/usr/include/qt4/QtGui/qlabel.h -qlcdnumber.h -/usr/include/qt4/QtGui/qlcdnumber.h -qlineedit.h -/usr/include/qt4/QtGui/qlineedit.h -qmainwindow.h -/usr/include/qt4/QtGui/qmainwindow.h -qmdiarea.h -/usr/include/qt4/QtGui/qmdiarea.h -qmdisubwindow.h -/usr/include/qt4/QtGui/qmdisubwindow.h -qmenu.h -/usr/include/qt4/QtGui/qmenu.h -qmenubar.h -/usr/include/qt4/QtGui/qmenubar.h -qmenudata.h -/usr/include/qt4/QtGui/qmenudata.h -qplaintextedit.h -/usr/include/qt4/QtGui/qplaintextedit.h -qprintpreviewwidget.h -/usr/include/qt4/QtGui/qprintpreviewwidget.h -qprogressbar.h -/usr/include/qt4/QtGui/qprogressbar.h -qpushbutton.h -/usr/include/qt4/QtGui/qpushbutton.h -qradiobutton.h -/usr/include/qt4/QtGui/qradiobutton.h -qrubberband.h -/usr/include/qt4/QtGui/qrubberband.h -qscrollarea.h -/usr/include/qt4/QtGui/qscrollarea.h -qscrollbar.h -/usr/include/qt4/QtGui/qscrollbar.h -qsizegrip.h -/usr/include/qt4/QtGui/qsizegrip.h -qslider.h -/usr/include/qt4/QtGui/qslider.h -qspinbox.h -/usr/include/qt4/QtGui/qspinbox.h -qsplashscreen.h -/usr/include/qt4/QtGui/qsplashscreen.h -qsplitter.h -/usr/include/qt4/QtGui/qsplitter.h -qstackedwidget.h -/usr/include/qt4/QtGui/qstackedwidget.h -qstatusbar.h -/usr/include/qt4/QtGui/qstatusbar.h -qtabbar.h -/usr/include/qt4/QtGui/qtabbar.h -qtabwidget.h -/usr/include/qt4/QtGui/qtabwidget.h -qtextbrowser.h -/usr/include/qt4/QtGui/qtextbrowser.h -qtextedit.h -/usr/include/qt4/QtGui/qtextedit.h -qtoolbar.h -/usr/include/qt4/QtGui/qtoolbar.h -qtoolbox.h -/usr/include/qt4/QtGui/qtoolbox.h -qtoolbutton.h -/usr/include/qt4/QtGui/qtoolbutton.h -qvalidator.h -/usr/include/qt4/QtGui/qvalidator.h -qworkspace.h -/usr/include/qt4/QtGui/qworkspace.h -qabstractpagesetupdialog.h -/usr/include/qt4/QtGui/qabstractpagesetupdialog.h -qabstractprintdialog.h -/usr/include/qt4/QtGui/qabstractprintdialog.h -qcolordialog.h -/usr/include/qt4/QtGui/qcolordialog.h -qdialog.h -/usr/include/qt4/QtGui/qdialog.h -qerrormessage.h -/usr/include/qt4/QtGui/qerrormessage.h -qfiledialog.h -/usr/include/qt4/QtGui/qfiledialog.h -qfilesystemmodel.h -/usr/include/qt4/QtGui/qfilesystemmodel.h -qfontdialog.h -/usr/include/qt4/QtGui/qfontdialog.h -qinputdialog.h -/usr/include/qt4/QtGui/qinputdialog.h -qmessagebox.h -/usr/include/qt4/QtGui/qmessagebox.h -qpagesetupdialog.h -/usr/include/qt4/QtGui/qpagesetupdialog.h -qprintdialog.h -/usr/include/qt4/QtGui/qprintdialog.h -qprintpreviewdialog.h -/usr/include/qt4/QtGui/qprintpreviewdialog.h -qprogressdialog.h -/usr/include/qt4/QtGui/qprogressdialog.h -qwizard.h -/usr/include/qt4/QtGui/qwizard.h -qgraphicsanchorlayout.h -/usr/include/qt4/QtGui/qgraphicsanchorlayout.h -qgraphicsgridlayout.h -/usr/include/qt4/QtGui/qgraphicsgridlayout.h -qgraphicsitem.h -/usr/include/qt4/QtGui/qgraphicsitem.h -qgraphicsitemanimation.h -/usr/include/qt4/QtGui/qgraphicsitemanimation.h -qgraphicslayout.h -/usr/include/qt4/QtGui/qgraphicslayout.h -qgraphicslayoutitem.h -/usr/include/qt4/QtGui/qgraphicslayoutitem.h -qgraphicslinearlayout.h -/usr/include/qt4/QtGui/qgraphicslinearlayout.h -qgraphicsproxywidget.h -/usr/include/qt4/QtGui/qgraphicsproxywidget.h -qgraphicsscene.h -/usr/include/qt4/QtGui/qgraphicsscene.h -qgraphicssceneevent.h -/usr/include/qt4/QtGui/qgraphicssceneevent.h -qgraphicstransform.h -/usr/include/qt4/QtGui/qgraphicstransform.h -qgraphicsview.h -/usr/include/qt4/QtGui/qgraphicsview.h -qgraphicswidget.h -/usr/include/qt4/QtGui/qgraphicswidget.h -qinputcontext.h -/usr/include/qt4/QtGui/qinputcontext.h -qinputcontextfactory.h -/usr/include/qt4/QtGui/qinputcontextfactory.h -qinputcontextplugin.h -/usr/include/qt4/QtGui/qinputcontextplugin.h -qvfbhdr.h -/usr/include/qt4/QtGui/qvfbhdr.h -qwsembedwidget.h -/usr/include/qt4/QtGui/qwsembedwidget.h -qaction.h -/usr/include/qt4/QtGui/qaction.h -qactiongroup.h -/usr/include/qt4/QtGui/qactiongroup.h -qapplication.h -/usr/include/qt4/QtGui/qapplication.h -qboxlayout.h -/usr/include/qt4/QtGui/qboxlayout.h -qclipboard.h -/usr/include/qt4/QtGui/qclipboard.h -qcursor.h -/usr/include/qt4/QtGui/qcursor.h -qdesktopwidget.h -/usr/include/qt4/QtGui/qdesktopwidget.h -qdrag.h -/usr/include/qt4/QtGui/qdrag.h -qevent.h -/usr/include/qt4/QtGui/qevent.h -qformlayout.h -/usr/include/qt4/QtGui/qformlayout.h -qgesture.h -/usr/include/qt4/QtGui/qgesture.h -qgesturerecognizer.h -/usr/include/qt4/QtGui/qgesturerecognizer.h -qgridlayout.h -/usr/include/qt4/QtGui/qgridlayout.h -qkeysequence.h -/usr/include/qt4/QtGui/qkeysequence.h -qlayout.h -/usr/include/qt4/QtGui/qlayout.h -qlayoutitem.h -/usr/include/qt4/QtGui/qlayoutitem.h -qmime.h -/usr/include/qt4/QtGui/qmime.h -qpalette.h -/usr/include/qt4/QtGui/qpalette.h -qsessionmanager.h -/usr/include/qt4/QtGui/qsessionmanager.h -qshortcut.h -/usr/include/qt4/QtGui/qshortcut.h -qsizepolicy.h -/usr/include/qt4/QtGui/qsizepolicy.h -qsound.h -/usr/include/qt4/QtGui/qsound.h -qstackedlayout.h -/usr/include/qt4/QtGui/qstackedlayout.h -qtooltip.h -/usr/include/qt4/QtGui/qtooltip.h -qwhatsthis.h -/usr/include/qt4/QtGui/qwhatsthis.h -qwidget.h -/usr/include/qt4/QtGui/qwidget.h -qwidgetaction.h -/usr/include/qt4/QtGui/qwidgetaction.h -qwindowdefs.h -/usr/include/qt4/QtGui/qwindowdefs.h -qabstractitemdelegate.h -/usr/include/qt4/QtGui/qabstractitemdelegate.h -qabstractitemview.h -/usr/include/qt4/QtGui/qabstractitemview.h -qabstractproxymodel.h -/usr/include/qt4/QtGui/qabstractproxymodel.h -qcolumnview.h -/usr/include/qt4/QtGui/qcolumnview.h -qdatawidgetmapper.h -/usr/include/qt4/QtGui/qdatawidgetmapper.h -qdirmodel.h -/usr/include/qt4/QtGui/qdirmodel.h -qfileiconprovider.h -/usr/include/qt4/QtGui/qfileiconprovider.h -qheaderview.h -/usr/include/qt4/QtGui/qheaderview.h -qitemdelegate.h -/usr/include/qt4/QtGui/qitemdelegate.h -qitemeditorfactory.h -/usr/include/qt4/QtGui/qitemeditorfactory.h -qitemselectionmodel.h -/usr/include/qt4/QtGui/qitemselectionmodel.h -qlistview.h -/usr/include/qt4/QtGui/qlistview.h -qlistwidget.h -/usr/include/qt4/QtGui/qlistwidget.h -qproxymodel.h -/usr/include/qt4/QtGui/qproxymodel.h -qsortfilterproxymodel.h -/usr/include/qt4/QtGui/qsortfilterproxymodel.h -qstandarditemmodel.h -/usr/include/qt4/QtGui/qstandarditemmodel.h -qstringlistmodel.h -/usr/include/qt4/QtGui/qstringlistmodel.h -qstyleditemdelegate.h -/usr/include/qt4/QtGui/qstyleditemdelegate.h -qtableview.h -/usr/include/qt4/QtGui/qtableview.h -qtablewidget.h -/usr/include/qt4/QtGui/qtablewidget.h -qtreeview.h -/usr/include/qt4/QtGui/qtreeview.h -qtreewidget.h -/usr/include/qt4/QtGui/qtreewidget.h -qtreewidgetitemiterator.h -/usr/include/qt4/QtGui/qtreewidgetitemiterator.h -qcompleter.h -/usr/include/qt4/QtGui/qcompleter.h -qdesktopservices.h -/usr/include/qt4/QtGui/qdesktopservices.h -qsystemtrayicon.h -/usr/include/qt4/QtGui/qsystemtrayicon.h -qundogroup.h -/usr/include/qt4/QtGui/qundogroup.h -qundostack.h -/usr/include/qt4/QtGui/qundostack.h -qundoview.h -/usr/include/qt4/QtGui/qundoview.h -qgraphicseffect.h -/usr/include/qt4/QtGui/qgraphicseffect.h -qkeyeventtransition.h -/usr/include/qt4/QtGui/qkeyeventtransition.h -qmouseeventtransition.h -/usr/include/qt4/QtGui/qmouseeventtransition.h - -/usr/include/qt4/QtGui/qabstractbutton.h -QtGui/qicon.h -- -QtGui/qkeysequence.h -- -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qabstractitemdelegate.h -QtCore/qobject.h -- -QtGui/qstyleoption.h -- - -/usr/include/qt4/QtGui/qabstractitemview.h -QtGui/qabstractscrollarea.h -- -QtCore/qabstractitemmodel.h -- -QtGui/qitemselectionmodel.h -- -QtGui/qabstractitemdelegate.h -- - -/usr/include/qt4/QtGui/qabstractpagesetupdialog.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qabstractprintdialog.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qabstractproxymodel.h -QtCore/qabstractitemmodel.h -- - -/usr/include/qt4/QtGui/qabstractscrollarea.h -QtGui/qframe.h -- - -/usr/include/qt4/QtGui/qabstractslider.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qabstractspinbox.h -QtGui/qwidget.h -- -QtGui/qvalidator.h -- - -/usr/include/qt4/QtGui/qabstracttextdocumentlayout.h -QtCore/qobject.h -- -QtGui/qtextlayout.h -- -QtGui/qtextdocument.h -- -QtGui/qtextcursor.h -- -QtGui/qpalette.h -- - -/usr/include/qt4/QtGui/qaccessible.h -QtCore/qglobal.h -- -QtCore/qobject.h -- -QtCore/qrect.h -- -QtCore/qset.h -- -QtCore/qvector.h -- -QtCore/qvariant.h -- -QtGui/qcolor.h -- -QtGui/qevent.h -- - -/usr/include/qt4/QtGui/qaccessible2.h -QtGui/qaccessible.h -- - -/usr/include/qt4/QtGui/qaccessiblebridge.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- - -/usr/include/qt4/QtGui/qaccessibleobject.h -QtGui/qaccessible.h -- - -/usr/include/qt4/QtGui/qaccessibleplugin.h -QtGui/qaccessible.h -- -QtCore/qfactoryinterface.h -- - -/usr/include/qt4/QtGui/qaccessiblewidget.h -QtGui/qaccessibleobject.h -- - -/usr/include/qt4/QtGui/qaction.h -QtGui/qkeysequence.h -- -QtCore/qstring.h -- -QtGui/qwidget.h -- -QtCore/qvariant.h -- -QtGui/qicon.h -- -QtGui/qactiongroup.h -- - -/usr/include/qt4/QtGui/qactiongroup.h -QtGui/qaction.h -- - -/usr/include/qt4/QtGui/qapplication.h -QtCore/qcoreapplication.h -- -QtGui/qwindowdefs.h -- -QtCore/qpoint.h -- -QtCore/qsize.h -- -QtGui/qcursor.h -- -QtGui/qdesktopwidget.h -- -QtGui/qwidget.h -- -QtGui/qpalette.h -- -QtGui/qrgb.h -- -QtGui/qtransportauth_qws.h -- - -/usr/include/qt4/QtGui/qbitmap.h -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qboxlayout.h -QtGui/qlayout.h -- -QtGui/qwidget.h -- -limits.h -- - -/usr/include/qt4/QtGui/qbrush.h -QtCore/qpair.h -- -QtCore/qpoint.h -- -QtCore/qvector.h -- -QtCore/qscopedpointer.h -- -QtGui/qcolor.h -- -QtGui/qmatrix.h -- -QtGui/qtransform.h -- -QtGui/qimage.h -- -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qbuttongroup.h -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qcalendarwidget.h -QtGui/qwidget.h -- -QtCore/qdatetime.h -- - -/usr/include/qt4/QtGui/qcdestyle.h -QtGui/qmotifstyle.h -- - -/usr/include/qt4/QtGui/qcheckbox.h -QtGui/qabstractbutton.h -- - -/usr/include/qt4/QtGui/qcleanlooksstyle.h -QtGui/qwindowsstyle.h -- - -/usr/include/qt4/QtGui/qclipboard.h -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qcolor.h -QtGui/qrgb.h -- -QtCore/qnamespace.h -- -QtCore/qstringlist.h -- - -/usr/include/qt4/QtGui/qcolordialog.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qcolormap.h -QtCore/qatomic.h -- -QtGui/qrgb.h -- -QtCore/qvector.h -- -QtGui/qwindowdefs.h -- - -/usr/include/qt4/QtGui/qcolumnview.h -QtGui/qabstractitemview.h -- - -/usr/include/qt4/QtGui/qcombobox.h -QtGui/qwidget.h -- -QtGui/qabstractitemdelegate.h -- -QtCore/qabstractitemmodel.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtGui/qcommandlinkbutton.h -QtGui/qpushbutton.h -- - -/usr/include/qt4/QtGui/qcommonstyle.h -QtGui/qstyle.h -- - -/usr/include/qt4/QtGui/qcompleter.h -QtCore/qobject.h -- -QtCore/qpoint.h -- -QtCore/qstring.h -- -QtCore/qabstractitemmodel.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qcursor.h -QtCore/qpoint.h -- -QtGui/qwindowdefs.h -- - -/usr/include/qt4/QtGui/qdatawidgetmapper.h -QtCore/qobject.h -/usr/include/qt4/QtGui/QtCore/qobject.h - -/usr/include/qt4/QtGui/qdatetimeedit.h -QtCore/qdatetime.h -- -QtCore/qvariant.h -- -QtGui/qabstractspinbox.h -- - -/usr/include/qt4/QtGui/qdesktopservices.h -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qdesktopwidget.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qdial.h -QtGui/qabstractslider.h -- - -/usr/include/qt4/QtGui/qdialog.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qdialogbuttonbox.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qdirmodel.h -QtCore/qabstractitemmodel.h -- -QtCore/qdir.h -- -QtGui/qfileiconprovider.h -- - -/usr/include/qt4/QtGui/qdockwidget.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qdrag.h -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qdrawutil.h -QtCore/qnamespace.h -- -QtCore/qstring.h -- -QtCore/qmargins.h -- -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qerrormessage.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qevent.h -QtGui/qwindowdefs.h -- -QtCore/qobject.h -- -QtGui/qregion.h -- -QtCore/qnamespace.h -- -QtCore/qstring.h -- -QtGui/qkeysequence.h -- -QtCore/qcoreevent.h -- -QtGui/qmime.h -- -QtGui/qdrag.h -- -QtCore/qvariant.h -- -QtCore/qmap.h -- -QtCore/qset.h -- - -/usr/include/qt4/QtGui/qfiledialog.h -QtCore/qdir.h -- -QtCore/qstring.h -- -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qfileiconprovider.h -QtCore/qfileinfo.h -- -QtCore/qscopedpointer.h -- -QtGui/qicon.h -- - -/usr/include/qt4/QtGui/qfilesystemmodel.h -QtCore/qabstractitemmodel.h -- -QtCore/qpair.h -- -QtCore/qdir.h -- -QtGui/qicon.h -- -QtCore/qdiriterator.h -- - -/usr/include/qt4/QtGui/qfocusframe.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qfont.h -QtGui/qwindowdefs.h -- -QtCore/qstring.h -- -QtCore/qsharedpointer.h -- - -/usr/include/qt4/QtGui/qfontcombobox.h -QtGui/qcombobox.h -- -QtGui/qfontdatabase.h -- - -/usr/include/qt4/QtGui/qfontdatabase.h -QtGui/qwindowdefs.h -- -QtCore/qstring.h -- -QtGui/qfont.h -- -QtCore/qstringlist.h -- -QtCore/qlist.h -- - -/usr/include/qt4/QtGui/qfontdialog.h -QtGui/qwindowdefs.h -- -QtGui/qdialog.h -- -QtGui/qfont.h -- - -/usr/include/qt4/QtGui/qfontinfo.h -QtGui/qfont.h -- -QtCore/qsharedpointer.h -- - -/usr/include/qt4/QtGui/qfontmetrics.h -QtGui/qfont.h -- -QtCore/qsharedpointer.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qformlayout.h -QtGui/QLayout -- - -/usr/include/qt4/QtGui/qframe.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qgenericmatrix.h -QtCore/qmetatype.h -- -QtCore/qdebug.h -- -QtCore/qdatastream.h -- - -/usr/include/qt4/QtGui/qgesture.h -QtCore/qobject.h -- -QtCore/qlist.h -- -QtCore/qdatetime.h -- -QtCore/qpoint.h -- -QtCore/qrect.h -- -QtCore/qmetatype.h -- - -/usr/include/qt4/QtGui/qgesturerecognizer.h -QtCore/qglobal.h -- -QtCore/qnamespace.h -- - -/usr/include/qt4/QtGui/qgraphicsanchorlayout.h -QtGui/qgraphicsitem.h -- -QtGui/qgraphicslayout.h -- - -/usr/include/qt4/QtGui/qgraphicseffect.h -QtCore/qobject.h -- -QtCore/qpoint.h -- -QtCore/qrect.h -- -QtGui/qcolor.h -- -QtGui/qbrush.h -- - -/usr/include/qt4/QtGui/qgraphicsgridlayout.h -QtGui/qgraphicsitem.h -- -QtGui/qgraphicslayout.h -- - -/usr/include/qt4/QtGui/qgraphicsitem.h -QtCore/qglobal.h -- -QtCore/qobject.h -- -QtCore/qvariant.h -- -QtCore/qrect.h -- -QtCore/qscopedpointer.h -- -QtGui/qpainterpath.h -- -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qgraphicsitemanimation.h -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qgraphicslayout.h -QtGui/qgraphicslayoutitem.h -- - -/usr/include/qt4/QtGui/qgraphicslayoutitem.h -QtCore/qscopedpointer.h -- -QtGui/qsizepolicy.h -- -QtGui/qevent.h -- - -/usr/include/qt4/QtGui/qgraphicslinearlayout.h -QtGui/qgraphicsitem.h -- -QtGui/qgraphicslayout.h -- - -/usr/include/qt4/QtGui/qgraphicsproxywidget.h -QtGui/qgraphicswidget.h -- - -/usr/include/qt4/QtGui/qgraphicsscene.h -QtCore/qobject.h -- -QtCore/qpoint.h -- -QtCore/qrect.h -- -QtGui/qbrush.h -- -QtGui/qfont.h -- -QtGui/qtransform.h -- -QtGui/qmatrix.h -- -QtGui/qpen.h -- - -/usr/include/qt4/QtGui/qgraphicssceneevent.h -QtCore/qcoreevent.h -- -QtCore/qpoint.h -- -QtCore/qscopedpointer.h -- -QtCore/qrect.h -- -QtGui/qpolygon.h -- -QtCore/qset.h -- -QtCore/qhash.h -- - -/usr/include/qt4/QtGui/qgraphicstransform.h -QtCore/QObject -- -QtGui/QVector3D -- -QtGui/QTransform -- -QtGui/QMatrix4x4 -- - -/usr/include/qt4/QtGui/qgraphicsview.h -QtCore/qmetatype.h -- -QtGui/qpainter.h -- -QtGui/qscrollarea.h -- -QtGui/qgraphicsscene.h -- - -/usr/include/qt4/QtGui/qgraphicswidget.h -QtGui/qfont.h -- -QtGui/qgraphicslayoutitem.h -- -QtGui/qgraphicsitem.h -- -QtGui/qpalette.h -- - -/usr/include/qt4/QtGui/qgridlayout.h -QtGui/qlayout.h -- -QtGui/qwidget.h -- -limits.h -- - -/usr/include/qt4/QtGui/qgroupbox.h -QtGui/qframe.h -- - -/usr/include/qt4/QtGui/qgtkstyle.h -QtGui/QCleanlooksStyle -- -QtGui/QPalette -- -QtGui/QFont -- -QtGui/QFileDialog -- - -/usr/include/qt4/QtGui/qheaderview.h -QtGui/qabstractitemview.h -- - -/usr/include/qt4/QtGui/qicon.h -QtCore/qglobal.h -- -QtCore/qsize.h -- -QtCore/qlist.h -- -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qiconengine.h -QtCore/qglobal.h -- -QtCore/qlist.h -- -QtGui/qicon.h -- - -/usr/include/qt4/QtGui/qiconengineplugin.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- - -/usr/include/qt4/QtGui/qimage.h -QtGui/qtransform.h -- -QtGui/qpaintdevice.h -- -QtGui/qrgb.h -- -QtCore/qbytearray.h -- -QtCore/qrect.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qimageiohandler.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtGui/qimagereader.h -QtCore/qbytearray.h -- -QtGui/qimage.h -- -QtGui/qimageiohandler.h -- - -/usr/include/qt4/QtGui/qimagewriter.h -QtCore/qbytearray.h -- -QtCore/qlist.h -- -QtGui/qimageiohandler.h -- - -/usr/include/qt4/QtGui/qinputcontext.h -QtCore/qobject.h -- -QtCore/qglobal.h -- -QtGui/qevent.h -- -QtCore/qstring.h -- -QtCore/qlist.h -- -QtGui/qaction.h -- - -/usr/include/qt4/QtGui/qinputcontextfactory.h -QtCore/qstringlist.h -- - -/usr/include/qt4/QtGui/qinputcontextplugin.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- -QtCore/qstringlist.h -- - -/usr/include/qt4/QtGui/qinputdialog.h -QtGui/qdialog.h -- -QtCore/qstring.h -- -QtGui/qlineedit.h -- - -/usr/include/qt4/QtGui/qitemdelegate.h -QtGui/qabstractitemdelegate.h -- -QtCore/qstring.h -- -QtGui/qpixmap.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtGui/qitemeditorfactory.h -QtCore/qmetaobject.h -- -QtCore/qbytearray.h -- -QtCore/qhash.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtGui/qitemselectionmodel.h -QtCore/qset.h -- -QtCore/qvector.h -- -QtCore/qlist.h -- -QtCore/qabstractitemmodel.h -- - -/usr/include/qt4/QtGui/qkeyeventtransition.h -QtCore/qeventtransition.h -- - -/usr/include/qt4/QtGui/qkeysequence.h -QtCore/qnamespace.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qlabel.h -QtGui/qframe.h -- - -/usr/include/qt4/QtGui/qlayout.h -QtCore/qobject.h -- -QtGui/qlayoutitem.h -- -QtGui/qsizepolicy.h -- -QtCore/qrect.h -- -QtCore/qmargins.h -- -limits.h -- -QtGui/qboxlayout.h -- -QtGui/qgridlayout.h -- - -/usr/include/qt4/QtGui/qlayoutitem.h -QtGui/qsizepolicy.h -- -QtCore/qrect.h -- -limits.h -- - -/usr/include/qt4/QtGui/qlcdnumber.h -QtGui/qframe.h -- -QtCore/qbitarray.h -- - -/usr/include/qt4/QtGui/qlineedit.h -QtGui/qframe.h -- -QtCore/qstring.h -- -QtCore/qmargins.h -- - -/usr/include/qt4/QtGui/qlistview.h -QtGui/qabstractitemview.h -- - -/usr/include/qt4/QtGui/qlistwidget.h -QtGui/qlistview.h -- -QtCore/qvariant.h -- -QtCore/qvector.h -- -QtGui/qitemselectionmodel.h -- - -/usr/include/qt4/QtGui/qmacdefines_mac.h -QtCore/qglobal.h -- -Cocoa/Cocoa.h -- - -/usr/include/qt4/QtGui/qmainwindow.h -QtGui/qwidget.h -- -QtGui/qtabwidget.h -- - -/usr/include/qt4/QtGui/qmatrix.h -QtGui/qpolygon.h -- -QtGui/qregion.h -- -QtGui/qwindowdefs.h -- -QtCore/qline.h -- -QtCore/qpoint.h -- -QtCore/qrect.h -- -QtGui/qwmatrix.h -- - -/usr/include/qt4/QtGui/qmatrix4x4.h -QtGui/qvector3d.h -- -QtGui/qvector4d.h -- -QtGui/qquaternion.h -- -QtGui/qgenericmatrix.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qmdiarea.h -QtGui/qabstractscrollarea.h -- -QtGui/qtabwidget.h -- - -/usr/include/qt4/QtGui/qmdisubwindow.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qmenu.h -QtGui/qwidget.h -- -QtCore/qstring.h -- -QtGui/qicon.h -- -QtGui/qaction.h -- -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qmenubar.h -QtGui/qmenu.h -- - -/usr/include/qt4/QtGui/qmenudata.h -QtCore/qglobal.h -- -QtGui/qaction.h -- - -/usr/include/qt4/QtGui/qmessagebox.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qmime.h -QtCore/qmimedata.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtGui/qmotifstyle.h -QtGui/qcommonstyle.h -- -QtCore/qpointer.h -- - -/usr/include/qt4/QtGui/qmouseeventtransition.h -QtCore/qeventtransition.h -- - -/usr/include/qt4/QtGui/qmovie.h -QtCore/qobject.h -- -QtCore/qbytearray.h -- -QtCore/qlist.h -- -QtCore/qobject.h -- -QtGui/qimagereader.h -- -QtGui/qimage.h -- -QtGui/qpixmap.h -- - -/usr/include/qt4/QtGui/qpagesetupdialog.h -QtGui/qabstractpagesetupdialog.h -- - -/usr/include/qt4/QtGui/qpaintdevice.h -QtGui/qwindowdefs.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qpaintengine.h -QtCore/qnamespace.h -- -QtCore/qobjectdefs.h -- -QtCore/qscopedpointer.h -- -QtGui/qpainter.h -- - -/usr/include/qt4/QtGui/qpainter.h -QtCore/qnamespace.h -- -QtCore/qrect.h -- -QtCore/qpoint.h -- -QtCore/qscopedpointer.h -- -QtGui/qpixmap.h -- -QtGui/qimage.h -- -QtGui/qtextoption.h -- -QtGui/qdrawutil.h -- -QtGui/qpolygon.h -- -QtGui/qpen.h -- -QtGui/qbrush.h -- -QtGui/qmatrix.h -- -QtGui/qtransform.h -- -QtGui/qfontinfo.h -- -QtGui/qfontmetrics.h -- - -/usr/include/qt4/QtGui/qpainterpath.h -QtGui/qmatrix.h -- -QtCore/qglobal.h -- -QtCore/qrect.h -- -QtCore/qline.h -- -QtCore/qvector.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtGui/qpalette.h -QtGui/qwindowdefs.h -- -QtGui/qcolor.h -- -QtGui/qbrush.h -- - -/usr/include/qt4/QtGui/qpen.h -QtGui/qcolor.h -- -QtGui/qbrush.h -- - -/usr/include/qt4/QtGui/qpicture.h -QtCore/qstringlist.h -- -QtCore/qsharedpointer.h -- -QtGui/qpaintdevice.h -- - -/usr/include/qt4/QtGui/qpictureformatplugin.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- - -/usr/include/qt4/QtGui/qpixmap.h -QtGui/qpaintdevice.h -- -QtGui/qcolor.h -- -QtCore/qnamespace.h -- -QtCore/qstring.h -- -QtCore/qsharedpointer.h -- -QtGui/qimage.h -- -QtGui/qtransform.h -- - -/usr/include/qt4/QtGui/qpixmapcache.h -QtGui/qpixmap.h -- -QtCore/qpair.h -- - -/usr/include/qt4/QtGui/qplaintextedit.h -QtGui/qtextedit.h -- -QtGui/qabstractscrollarea.h -- -QtGui/qtextdocument.h -- -QtGui/qtextoption.h -- -QtGui/qtextcursor.h -- -QtGui/qtextformat.h -- -QtGui/qabstracttextdocumentlayout.h -- - -/usr/include/qt4/QtGui/qplastiquestyle.h -QtGui/qwindowsstyle.h -- - -/usr/include/qt4/QtGui/qpolygon.h -QtCore/qvector.h -- -QtCore/qpoint.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qprintdialog.h -QtGui/qabstractprintdialog.h -- - -/usr/include/qt4/QtGui/qprintengine.h -QtCore/qvariant.h -- -QtGui/qprinter.h -- - -/usr/include/qt4/QtGui/qprinter.h -QtCore/qstring.h -- -QtCore/qscopedpointer.h -- -QtGui/qpaintdevice.h -- - -/usr/include/qt4/QtGui/qprinterinfo.h -QtGui/QPrinter -- -QtCore/QList -- - -/usr/include/qt4/QtGui/qprintpreviewdialog.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qprintpreviewwidget.h -QtGui/qwidget.h -- -QtGui/qprinter.h -- - -/usr/include/qt4/QtGui/qprogressbar.h -QtGui/qframe.h -- - -/usr/include/qt4/QtGui/qprogressdialog.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qproxymodel.h -QtCore/qabstractitemmodel.h -- - -/usr/include/qt4/QtGui/qproxystyle.h -QtGui/QCommonStyle -- - -/usr/include/qt4/QtGui/qpushbutton.h -QtGui/qabstractbutton.h -- - -/usr/include/qt4/QtGui/qquaternion.h -QtGui/qvector3d.h -- -QtGui/qvector4d.h -- - -/usr/include/qt4/QtGui/qradiobutton.h -QtGui/qabstractbutton.h -- - -/usr/include/qt4/QtGui/qregion.h -QtCore/qatomic.h -- -QtCore/qrect.h -- -QtGui/qwindowdefs.h -- -QtCore/qdatastream.h -- - -/usr/include/qt4/QtGui/qrgb.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtGui/qrubberband.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qs60mainapplication.h -QtCore/qglobal.h -- -aknapp.h -- -eikapp.h -- - -/usr/include/qt4/QtGui/qs60mainappui.h -QtCore/qglobal.h -- -aknappui.h -- -eikappui.h -- - -/usr/include/qt4/QtGui/qs60maindocument.h -QtCore/qglobal.h -- -AknDoc.h -- -eikdoc.h -- - -/usr/include/qt4/QtGui/qs60style.h -QtGui/qcommonstyle.h -- - -/usr/include/qt4/QtGui/qscrollarea.h -QtGui/qabstractscrollarea.h -- - -/usr/include/qt4/QtGui/qscrollbar.h -QtGui/qwidget.h -- -QtGui/qabstractslider.h -- - -/usr/include/qt4/QtGui/qsessionmanager.h -QtCore/qobject.h -- -QtGui/qwindowdefs.h -- -QtCore/qstring.h -- -QtCore/qstringlist.h -- - -/usr/include/qt4/QtGui/qshortcut.h -QtGui/qwidget.h -- -QtGui/qkeysequence.h -- - -/usr/include/qt4/QtGui/qsizegrip.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qsizepolicy.h -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qslider.h -QtGui/qabstractslider.h -- - -/usr/include/qt4/QtGui/qsortfilterproxymodel.h -QtGui/qabstractproxymodel.h -- -QtCore/qregexp.h -- - -/usr/include/qt4/QtGui/qsound.h -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qspinbox.h -QtGui/qabstractspinbox.h -- - -/usr/include/qt4/QtGui/qsplashscreen.h -QtGui/qpixmap.h -- -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qsplitter.h -QtGui/qframe.h -- -QtGui/qsizepolicy.h -- - -/usr/include/qt4/QtGui/qstackedlayout.h -QtGui/qlayout.h -- - -/usr/include/qt4/QtGui/qstackedwidget.h -QtGui/qframe.h -- - -/usr/include/qt4/QtGui/qstandarditemmodel.h -QtCore/qabstractitemmodel.h -- -QtGui/qbrush.h -- -QtGui/qfont.h -- -QtGui/qicon.h -- -QtCore/qdatastream.h -- - -/usr/include/qt4/QtGui/qstatictext.h -QtCore/qsize.h -- -QtCore/qstring.h -- -QtCore/qmetatype.h -- -QtGui/qtransform.h -- -QtGui/qfont.h -- -QtGui/qtextoption.h -- - -/usr/include/qt4/QtGui/qstatusbar.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qstringlistmodel.h -QtCore/qstringlist.h -- -QtGui/qabstractitemview.h -- - -/usr/include/qt4/QtGui/qstyle.h -QtCore/qobject.h -- -QtCore/qrect.h -- -QtCore/qsize.h -- -QtGui/qicon.h -- -QtGui/qpixmap.h -- -QtGui/qpalette.h -- -QtGui/qsizepolicy.h -- - -/usr/include/qt4/QtGui/qstyleditemdelegate.h -QtGui/qabstractitemdelegate.h -- -QtCore/qstring.h -- -QtGui/qpixmap.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtGui/qstylefactory.h -QtCore/qstringlist.h -- - -/usr/include/qt4/QtGui/qstyleoption.h -QtCore/qvariant.h -- -QtGui/qabstractspinbox.h -- -QtGui/qicon.h -- -QtGui/qmatrix.h -- -QtGui/qslider.h -- -QtGui/qstyle.h -- -QtGui/qtabbar.h -- -QtGui/qtabwidget.h -- -QtGui/qrubberband.h -- -QtGui/qframe.h -- -QtCore/qabstractitemmodel.h -- - -/usr/include/qt4/QtGui/qstylepainter.h -QtGui/qpainter.h -- -QtGui/qstyle.h -- -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qstyleplugin.h -QtCore/qplugin.h -- -QtCore/qfactoryinterface.h -- - -/usr/include/qt4/QtGui/qsymbianevent.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtGui/qsyntaxhighlighter.h -QtCore/qglobal.h -- -QtCore/qobject.h -- -QtGui/qtextobject.h -- - -/usr/include/qt4/QtGui/qsystemtrayicon.h -QtCore/qobject.h -- -QtGui/qicon.h -- - -/usr/include/qt4/QtGui/qtabbar.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qtableview.h -QtGui/qabstractitemview.h -- - -/usr/include/qt4/QtGui/qtablewidget.h -QtGui/qtableview.h -- -QtCore/qvariant.h -- -QtCore/qvector.h -- - -/usr/include/qt4/QtGui/qtabwidget.h -QtGui/qwidget.h -- -QtGui/qicon.h -- - -/usr/include/qt4/QtGui/qtextbrowser.h -QtGui/qtextedit.h -- -QtCore/qurl.h -- - -/usr/include/qt4/QtGui/qtextcursor.h -QtCore/qstring.h -- -QtCore/qshareddata.h -- -QtGui/qtextformat.h -- - -/usr/include/qt4/QtGui/qtextdocument.h -QtCore/qobject.h -- -QtCore/qsize.h -- -QtCore/qrect.h -- -QtGui/qfont.h -- - -/usr/include/qt4/QtGui/qtextdocumentfragment.h -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qtextdocumentwriter.h -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qtextedit.h -QtGui/qabstractscrollarea.h -- -QtGui/qtextdocument.h -- -QtGui/qtextoption.h -- -QtGui/qtextcursor.h -- -QtGui/qtextformat.h -- -QtGui/qtextobject.h -- -QtGui/qtextlayout.h -- - -/usr/include/qt4/QtGui/qtextformat.h -QtGui/qcolor.h -- -QtGui/qfont.h -- -QtCore/qshareddata.h -- -QtCore/qvector.h -- -QtCore/qvariant.h -- -QtGui/qpen.h -- -QtGui/qbrush.h -- -QtGui/qtextoption.h -- - -/usr/include/qt4/QtGui/qtextlayout.h -QtCore/qstring.h -- -QtCore/qnamespace.h -- -QtCore/qrect.h -- -QtCore/qvector.h -- -QtGui/qcolor.h -- -QtCore/qobject.h -- -QtGui/qevent.h -- -QtGui/qtextformat.h -- - -/usr/include/qt4/QtGui/qtextlist.h -QtGui/qtextobject.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtGui/qtextobject.h -QtCore/qobject.h -- -QtGui/qtextformat.h -- - -/usr/include/qt4/QtGui/qtextoption.h -QtCore/qnamespace.h -- -QtCore/qchar.h -- -QtCore/qmetatype.h -- - -/usr/include/qt4/QtGui/qtexttable.h -QtCore/qglobal.h -- -QtCore/qobject.h -- -QtGui/qtextobject.h -- - -/usr/include/qt4/QtGui/qtoolbar.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qtoolbox.h -QtGui/qframe.h -- -QtGui/qicon.h -- - -/usr/include/qt4/QtGui/qtoolbutton.h -QtGui/qabstractbutton.h -- - -/usr/include/qt4/QtGui/qtooltip.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qtransform.h -QtGui/qmatrix.h -- -QtGui/qpainterpath.h -- -QtGui/qpolygon.h -- -QtGui/qregion.h -- -QtGui/qwindowdefs.h -- -QtCore/qline.h -- -QtCore/qpoint.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qtransportauth_qws.h -QtCore/qglobal.h -- -QtCore/qobject.h -- -QtCore/qhash.h -- -QtCore/qstring.h -- -QtCore/qbuffer.h -- -QtCore/qpointer.h -- -sys/types.h -- - -/usr/include/qt4/QtGui/qtreeview.h -QtGui/qabstractitemview.h -- - -/usr/include/qt4/QtGui/qtreewidget.h -QtGui/qtreeview.h -- -QtGui/qtreewidgetitemiterator.h -- -QtCore/qvariant.h -- -QtCore/qvector.h -- - -/usr/include/qt4/QtGui/qtreewidgetitemiterator.h -QtCore/qglobal.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtGui/qundogroup.h -QtCore/qobject.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qundostack.h -QtCore/qobject.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qundoview.h -QtGui/qlistview.h -- -QtCore/qstring.h -- - -/usr/include/qt4/QtGui/qvalidator.h -QtCore/qobject.h -- -QtCore/qstring.h -- -QtCore/qregexp.h -- -QtCore/qlocale.h -- - -/usr/include/qt4/QtGui/qvector2d.h -QtCore/qpoint.h -- -QtCore/qmetatype.h -- - -/usr/include/qt4/QtGui/qvector3d.h -QtCore/qpoint.h -- -QtCore/qmetatype.h -- - -/usr/include/qt4/QtGui/qvector4d.h -QtCore/qpoint.h -- -QtCore/qmetatype.h -- - -/usr/include/qt4/QtGui/qvfbhdr.h -QtGui/qcolor.h -- -QtGui/qwindowdefs.h -- -QtCore/qrect.h -- - -/usr/include/qt4/QtGui/qwhatsthis.h -QtCore/qobject.h -- -QtGui/qcursor.h -- - -/usr/include/qt4/QtGui/qwidget.h -QtGui/qwindowdefs.h -- -QtCore/qobject.h -- -QtCore/qmargins.h -- -QtGui/qpaintdevice.h -- -QtGui/qpalette.h -- -QtGui/qfont.h -- -QtGui/qfontmetrics.h -- -QtGui/qfontinfo.h -- -QtGui/qsizepolicy.h -- -QtGui/qregion.h -- -QtGui/qbrush.h -- -QtGui/qcursor.h -- -QtGui/qkeysequence.h -- -QtGui/qevent.h -- - -/usr/include/qt4/QtGui/qwidgetaction.h -QtGui/qaction.h -- - -/usr/include/qt4/QtGui/qwindowdefs.h -QtCore/qobjectdefs.h -- -QtCore/qnamespace.h -- -QtGui/qmacdefines_mac.h -- -QtGui/qwindowdefs_win.h -- - -/usr/include/qt4/QtGui/qwindowdefs_win.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtGui/qwindowscestyle.h -QtGui/qwindowsstyle.h -- - -/usr/include/qt4/QtGui/qwindowsmobilestyle.h -QtGui/qwindowsstyle.h -- - -/usr/include/qt4/QtGui/qwindowsstyle.h -QtGui/qcommonstyle.h -- - -/usr/include/qt4/QtGui/qwindowsvistastyle.h -QtGui/qwindowsxpstyle.h -- - -/usr/include/qt4/QtGui/qwindowsxpstyle.h -QtGui/qwindowsstyle.h -- - -/usr/include/qt4/QtGui/qwizard.h -QtGui/qdialog.h -- - -/usr/include/qt4/QtGui/qwmatrix.h -QtGui/qmatrix.h -- - -/usr/include/qt4/QtGui/qworkspace.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtGui/qwsembedwidget.h -QtGui/qwidget.h -- - -/usr/include/qt4/QtNetwork/QNetworkAccessManager -qnetworkaccessmanager.h -/usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - -/usr/include/qt4/QtNetwork/QNetworkConfigurationManager -qnetworkconfigmanager.h -/usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - -/usr/include/qt4/QtNetwork/QNetworkCookie -qnetworkcookie.h -/usr/include/qt4/QtNetwork/qnetworkcookie.h - -/usr/include/qt4/QtNetwork/QNetworkCookieJar -qnetworkcookiejar.h -/usr/include/qt4/QtNetwork/qnetworkcookiejar.h - -/usr/include/qt4/QtNetwork/QNetworkRequest -qnetworkrequest.h -/usr/include/qt4/QtNetwork/qnetworkrequest.h - -/usr/include/qt4/QtNetwork/QtNetwork -QtCore/QtCore -- -qnetworkconfigmanager.h -/usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -qnetworkconfiguration.h -/usr/include/qt4/QtNetwork/qnetworkconfiguration.h -qnetworksession.h -/usr/include/qt4/QtNetwork/qnetworksession.h -qabstractnetworkcache.h -/usr/include/qt4/QtNetwork/qabstractnetworkcache.h -qftp.h -/usr/include/qt4/QtNetwork/qftp.h -qhttp.h -/usr/include/qt4/QtNetwork/qhttp.h -qnetworkaccessmanager.h -/usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -qnetworkcookie.h -/usr/include/qt4/QtNetwork/qnetworkcookie.h -qnetworkcookiejar.h -/usr/include/qt4/QtNetwork/qnetworkcookiejar.h -qnetworkdiskcache.h -/usr/include/qt4/QtNetwork/qnetworkdiskcache.h -qnetworkreply.h -/usr/include/qt4/QtNetwork/qnetworkreply.h -qnetworkrequest.h -/usr/include/qt4/QtNetwork/qnetworkrequest.h -qssl.h -/usr/include/qt4/QtNetwork/qssl.h -qsslcertificate.h -/usr/include/qt4/QtNetwork/qsslcertificate.h -qsslcipher.h -/usr/include/qt4/QtNetwork/qsslcipher.h -qsslconfiguration.h -/usr/include/qt4/QtNetwork/qsslconfiguration.h -qsslerror.h -/usr/include/qt4/QtNetwork/qsslerror.h -qsslkey.h -/usr/include/qt4/QtNetwork/qsslkey.h -qsslsocket.h -/usr/include/qt4/QtNetwork/qsslsocket.h -qauthenticator.h -/usr/include/qt4/QtNetwork/qauthenticator.h -qhostaddress.h -/usr/include/qt4/QtNetwork/qhostaddress.h -qhostinfo.h -/usr/include/qt4/QtNetwork/qhostinfo.h -qnetworkinterface.h -/usr/include/qt4/QtNetwork/qnetworkinterface.h -qnetworkproxy.h -/usr/include/qt4/QtNetwork/qnetworkproxy.h -qurlinfo.h -/usr/include/qt4/QtNetwork/qurlinfo.h -qabstractsocket.h -/usr/include/qt4/QtNetwork/qabstractsocket.h -qlocalserver.h -/usr/include/qt4/QtNetwork/qlocalserver.h -qlocalsocket.h -/usr/include/qt4/QtNetwork/qlocalsocket.h -qtcpserver.h -/usr/include/qt4/QtNetwork/qtcpserver.h -qtcpsocket.h -/usr/include/qt4/QtNetwork/qtcpsocket.h -qudpsocket.h -/usr/include/qt4/QtNetwork/qudpsocket.h - -/usr/include/qt4/QtNetwork/qabstractnetworkcache.h -QtCore/qobject.h -- -QtCore/qshareddata.h -- -QtCore/qpair.h -- -QtNetwork/qnetworkrequest.h -- - -/usr/include/qt4/QtNetwork/qabstractsocket.h -QtCore/qiodevice.h -- -QtCore/qobject.h -- -QtCore/qdebug.h -- - -/usr/include/qt4/QtNetwork/qauthenticator.h -QtCore/qstring.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtNetwork/qftp.h -QtCore/qstring.h -- -QtNetwork/qurlinfo.h -- -QtCore/qobject.h -- - -/usr/include/qt4/QtNetwork/qhostaddress.h -QtCore/qpair.h -- -QtCore/qstring.h -- -QtCore/qscopedpointer.h -- -QtNetwork/qabstractsocket.h -- - -/usr/include/qt4/QtNetwork/qhostinfo.h -QtCore/qlist.h -- -QtCore/qscopedpointer.h -- -QtNetwork/qhostaddress.h -- - -/usr/include/qt4/QtNetwork/qhttp.h -QtCore/qobject.h -- -QtCore/qstringlist.h -- -QtCore/qmap.h -- -QtCore/qpair.h -- -QtCore/qscopedpointer.h -- - -/usr/include/qt4/QtNetwork/qlocalserver.h -QtNetwork/qabstractsocket.h -- - -/usr/include/qt4/QtNetwork/qlocalsocket.h -QtCore/qiodevice.h -- -QtNetwork/qabstractsocket.h -- -QtCore/qdebug.h -- - -/usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -QtCore/QObject -- - -/usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -qmobilityglobal.h -/usr/include/qt4/QtNetwork/qmobilityglobal.h -QtCore/qobject.h -- -QtNetwork/qnetworkconfiguration.h -- - -/usr/include/qt4/QtNetwork/qnetworkconfiguration.h -QtCore/qglobal.h -- -qmobilityglobal.h -/usr/include/qt4/QtNetwork/qmobilityglobal.h -QtCore/qshareddata.h -- -QtCore/qstring.h -- -QtCore/qlist.h -- - -/usr/include/qt4/QtNetwork/qnetworkcookie.h -QtCore/QSharedDataPointer -- -QtCore/QList -- -QtCore/QMetaType -- -QtCore/QObject -- -QtNetwork/QNetworkCookieJar -- - -/usr/include/qt4/QtNetwork/qnetworkcookiejar.h -QtCore/QObject -- -QtCore/QUrl -- -QtNetwork/QNetworkCookie -- - -/usr/include/qt4/QtNetwork/qnetworkdiskcache.h -QtNetwork/qabstractnetworkcache.h -- - -/usr/include/qt4/QtNetwork/qnetworkinterface.h -QtCore/qshareddata.h -- -QtCore/qscopedpointer.h -- -QtNetwork/qhostaddress.h -- - -/usr/include/qt4/QtNetwork/qnetworkproxy.h -QtNetwork/qhostaddress.h -- -QtCore/qshareddata.h -- - -/usr/include/qt4/QtNetwork/qnetworkreply.h -QtCore/QIODevice -- -QtCore/QString -- -QtCore/QVariant -- -QtNetwork/QNetworkRequest -- -QtNetwork/QNetworkAccessManager -- - -/usr/include/qt4/QtNetwork/qnetworkrequest.h -QtCore/QSharedDataPointer -- -QtCore/QString -- -QtCore/QUrl -- -QtCore/QVariant -- - -/usr/include/qt4/QtNetwork/qnetworksession.h -QtCore/qobject.h -- -QtCore/qstring.h -- -QtNetwork/qnetworkinterface.h -- -QtCore/qvariant.h -- -QtNetwork/qnetworkconfiguration.h -- -QtCore/qshareddata.h -- -qmobilityglobal.h -/usr/include/qt4/QtNetwork/qmobilityglobal.h - -/usr/include/qt4/QtNetwork/qssl.h -QtCore/qglobal.h -- - -/usr/include/qt4/QtNetwork/qsslcertificate.h -QtCore/qnamespace.h -- -QtCore/qbytearray.h -- -QtCore/qcryptographichash.h -- -QtCore/qregexp.h -- -QtCore/qsharedpointer.h -- -QtNetwork/qssl.h -- - -/usr/include/qt4/QtNetwork/qsslcipher.h -QtCore/qstring.h -- -QtCore/qscopedpointer.h -- -QtNetwork/qssl.h -- - -/usr/include/qt4/QtNetwork/qsslconfiguration.h -QtCore/qshareddata.h -- -QtNetwork/qsslsocket.h -- - -/usr/include/qt4/QtNetwork/qsslerror.h -QtCore/qvariant.h -- -QtNetwork/qsslcertificate.h -- - -/usr/include/qt4/QtNetwork/qsslkey.h -QtCore/qnamespace.h -- -QtCore/qbytearray.h -- -QtCore/qsharedpointer.h -- -QtNetwork/qssl.h -- - -/usr/include/qt4/QtNetwork/qsslsocket.h -QtCore/qlist.h -- -QtCore/qregexp.h -- -QtNetwork/qtcpsocket.h -- -QtNetwork/qsslerror.h -- - -/usr/include/qt4/QtNetwork/qtcpserver.h -QtCore/qobject.h -- -QtNetwork/qabstractsocket.h -- -QtNetwork/qhostaddress.h -- - -/usr/include/qt4/QtNetwork/qtcpsocket.h -QtNetwork/qabstractsocket.h -- -QtCore/qvariant.h -- - -/usr/include/qt4/QtNetwork/qudpsocket.h -QtNetwork/qabstractsocket.h -- -QtNetwork/qhostaddress.h -- - -/usr/include/qt4/QtNetwork/qurlinfo.h -QtCore/qdatetime.h -- -QtCore/qstring.h -- -QtCore/qiodevice.h -- - -ui_ndgui.h -QtCore/QVariant -- -QtGui/QAction -- -QtGui/QApplication -- -QtGui/QButtonGroup -- -QtGui/QHeaderView -- -QtGui/QWidget -- - diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake deleted file mode 100644 index 7d76c7c..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake +++ /dev/null @@ -1,34 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -SET(CMAKE_DEPENDS_LANGUAGES - "CXX" - ) -# The set of files for implicit dependencies of each language: -SET(CMAKE_DEPENDS_CHECK_CXX - "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" - "/home/niklas/fbgui/LogReceiver/abortbootdialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" - "/home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" - "/home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" - "/home/niklas/fbgui/LogReceiver/logreceiver.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" - "/home/niklas/fbgui/LogReceiver/main.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/main.cpp.o" - "/home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" - "/home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" - "/home/niklas/fbgui/LogReceiver/ndgui.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/ndgui.cpp.o" - "/home/niklas/fbgui/LogReceiver/routemanager.cpp" "/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/routemanager.cpp.o" - ) -SET(CMAKE_CXX_COMPILER_ID "GNU") - -# Preprocessor definitions for this target. -SET(CMAKE_TARGET_DEFINITIONS - "QT_WEBKIT_LIB" - "QT_GUI_LIB" - "QT_NETWORK_LIB" - "QT_CORE_LIB" - ) - -# Targets to which this target links. -SET(CMAKE_TARGET_LINKED_INFO_FILES - ) diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make deleted file mode 100644 index a8757b0..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/build.make +++ /dev/null @@ -1,497 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/LogReceiver - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build - -# Include any dependencies generated for this target. -include CMakeFiles/LogReceiver.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/LogReceiver.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/LogReceiver.dir/flags.make - -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_1) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/ndgui.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/ndgui.cpp.o -c /home/niklas/fbgui/LogReceiver/ndgui.cpp - -CMakeFiles/LogReceiver.dir/ndgui.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/ndgui.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/ndgui.cpp > CMakeFiles/LogReceiver.dir/ndgui.cpp.i - -CMakeFiles/LogReceiver.dir/ndgui.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/ndgui.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/ndgui.cpp -o CMakeFiles/LogReceiver.dir/ndgui.cpp.s - -CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires - -CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides: CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides - -CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/ndgui.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/ndgui.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_2) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -c /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp > CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp -o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/main.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_3) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/main.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/main.cpp.o -c /home/niklas/fbgui/LogReceiver/main.cpp - -CMakeFiles/LogReceiver.dir/main.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/main.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/main.cpp > CMakeFiles/LogReceiver.dir/main.cpp.i - -CMakeFiles/LogReceiver.dir/main.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/main.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/main.cpp -o CMakeFiles/LogReceiver.dir/main.cpp.s - -CMakeFiles/LogReceiver.dir/main.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/main.cpp.o.requires - -CMakeFiles/LogReceiver.dir/main.cpp.o.provides: CMakeFiles/LogReceiver.dir/main.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/main.cpp.o.provides - -CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/main.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/main.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_4) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/routemanager.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/routemanager.cpp.o -c /home/niklas/fbgui/LogReceiver/routemanager.cpp - -CMakeFiles/LogReceiver.dir/routemanager.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/routemanager.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/routemanager.cpp > CMakeFiles/LogReceiver.dir/routemanager.cpp.i - -CMakeFiles/LogReceiver.dir/routemanager.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/routemanager.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/routemanager.cpp -o CMakeFiles/LogReceiver.dir/routemanager.cpp.s - -CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires - -CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides: CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides - -CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/routemanager.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/routemanager.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_5) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -c /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp > CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp -o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_6) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -c /home/niklas/fbgui/LogReceiver/logreceiver.cpp - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/logreceiver.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/logreceiver.cpp > CMakeFiles/LogReceiver.dir/logreceiver.cpp.i - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/logreceiver.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/logreceiver.cpp -o CMakeFiles/LogReceiver.dir/logreceiver.cpp.s - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_7) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -c /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp > CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp -o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_8) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -c /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp > CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp -o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -.PHONY : CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_9) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx > CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx -o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_10) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx > CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx -o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_11) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx > CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx -o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_12) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx > CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx -o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_13) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx > CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx -o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.provides.build - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: CMakeFiles/LogReceiver.dir/flags.make -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_14) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building CXX object CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -c /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -E /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx > CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s" - /usr/bin/c++ $(CXX_DEFINES) $(CXX_FLAGS) -S /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx -o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires: -.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build -.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -.PHONY : CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.provides.build - -moc_logreceiver.cxx: ../logreceiver.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_15) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_logreceiver.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx /home/niklas/fbgui/LogReceiver/logreceiver.h - -moc_routemanager.cxx: ../routemanager.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_16) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_routemanager.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx /home/niklas/fbgui/LogReceiver/routemanager.h - -moc_ndgui.cxx: ../ndgui.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_17) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_ndgui.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx /home/niklas/fbgui/LogReceiver/ndgui.h - -moc_chooseinterfacedialog.cxx: ../chooseinterfacedialog.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_18) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_chooseinterfacedialog.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - -moc_abortbootdialog.cxx: ../abortbootdialog.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_19) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_abortbootdialog.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx /home/niklas/fbgui/LogReceiver/abortbootdialog.h - -moc_interfaceconfiguration.cxx: ../interfaceconfiguration.h - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_20) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating moc_interfaceconfiguration.cxx" - /usr/bin/moc-qt4 -I/home/niklas/fbgui/LogReceiver/build -I/usr/include -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -o /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - -ui_ndgui.h: ../ndgui.ui - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles $(CMAKE_PROGRESS_21) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold "Generating ui_ndgui.h" - /usr/bin/uic-qt4 -o /home/niklas/fbgui/LogReceiver/build/ui_ndgui.h /home/niklas/fbgui/LogReceiver/ndgui.ui - -# Object files for target LogReceiver -LogReceiver_OBJECTS = \ -"CMakeFiles/LogReceiver.dir/ndgui.cpp.o" \ -"CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" \ -"CMakeFiles/LogReceiver.dir/main.cpp.o" \ -"CMakeFiles/LogReceiver.dir/routemanager.cpp.o" \ -"CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" \ -"CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" \ -"CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" \ -"CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" \ -"CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" \ -"CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" - -# External object files for target LogReceiver -LogReceiver_EXTERNAL_OBJECTS = - -LogReceiver: CMakeFiles/LogReceiver.dir/ndgui.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/main.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/routemanager.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -LogReceiver: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -LogReceiver: /usr/lib/libQtWebKit.so -LogReceiver: /usr/lib/libQtGui.so -LogReceiver: /usr/lib/libQtXmlPatterns.so -LogReceiver: /usr/lib/libQtNetwork.so -LogReceiver: /usr/lib/libQtCore.so -LogReceiver: CMakeFiles/LogReceiver.dir/build.make -LogReceiver: CMakeFiles/LogReceiver.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking CXX executable LogReceiver" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/LogReceiver.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/LogReceiver.dir/build: LogReceiver -.PHONY : CMakeFiles/LogReceiver.dir/build - -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/ndgui.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/main.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/routemanager.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/logreceiver.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o.requires -CMakeFiles/LogReceiver.dir/requires: CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o.requires -.PHONY : CMakeFiles/LogReceiver.dir/requires - -CMakeFiles/LogReceiver.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/LogReceiver.dir/cmake_clean.cmake -.PHONY : CMakeFiles/LogReceiver.dir/clean - -CMakeFiles/LogReceiver.dir/depend: moc_logreceiver.cxx -CMakeFiles/LogReceiver.dir/depend: moc_routemanager.cxx -CMakeFiles/LogReceiver.dir/depend: moc_ndgui.cxx -CMakeFiles/LogReceiver.dir/depend: moc_chooseinterfacedialog.cxx -CMakeFiles/LogReceiver.dir/depend: moc_abortbootdialog.cxx -CMakeFiles/LogReceiver.dir/depend: moc_interfaceconfiguration.cxx -CMakeFiles/LogReceiver.dir/depend: ui_ndgui.h - cd /home/niklas/fbgui/LogReceiver/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/LogReceiver /home/niklas/fbgui/LogReceiver /home/niklas/fbgui/LogReceiver/build /home/niklas/fbgui/LogReceiver/build /home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/LogReceiver.dir/depend - diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake b/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake deleted file mode 100644 index 249f572..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/cmake_clean.cmake +++ /dev/null @@ -1,30 +0,0 @@ -FILE(REMOVE_RECURSE - "CMakeFiles/LogReceiver.dir/ndgui.cpp.o" - "CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o" - "CMakeFiles/LogReceiver.dir/main.cpp.o" - "CMakeFiles/LogReceiver.dir/routemanager.cpp.o" - "CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o" - "CMakeFiles/LogReceiver.dir/logreceiver.cpp.o" - "CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o" - "CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o" - "CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o" - "CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o" - "moc_logreceiver.cxx" - "moc_routemanager.cxx" - "moc_ndgui.cxx" - "moc_chooseinterfacedialog.cxx" - "moc_abortbootdialog.cxx" - "moc_interfaceconfiguration.cxx" - "ui_ndgui.h" - "LogReceiver.pdb" - "LogReceiver" -) - -# Per-language clean rules from dependency scanning. -FOREACH(lang CXX) - INCLUDE(CMakeFiles/LogReceiver.dir/cmake_clean_${lang}.cmake OPTIONAL) -ENDFOREACH(lang) diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal deleted file mode 100644 index 0693637..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.internal +++ /dev/null @@ -1,3286 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o - /home/niklas/fbgui/LogReceiver/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o - /home/niklas/fbgui/LogReceiver/abortbootdialog.cpp - /home/niklas/fbgui/LogReceiver/abortbootdialog.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QCleanlooksStyle - /usr/include/qt4/QtGui/QCommonStyle - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QFileDialog - /usr/include/qt4/QtGui/QFont - /usr/include/qt4/QtGui/QLayout - /usr/include/qt4/QtGui/QMatrix4x4 - /usr/include/qt4/QtGui/QPalette - /usr/include/qt4/QtGui/QPrinter - /usr/include/qt4/QtGui/QTransform - /usr/include/qt4/QtGui/QVector3D - /usr/include/qt4/QtGui/QtGui - /usr/include/qt4/QtGui/qabstractbutton.h - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractpagesetupdialog.h - /usr/include/qt4/QtGui/qabstractprintdialog.h - /usr/include/qt4/QtGui/qabstractproxymodel.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h - /usr/include/qt4/QtGui/qaccessible.h - /usr/include/qt4/QtGui/qaccessible2.h - /usr/include/qt4/QtGui/qaccessiblebridge.h - /usr/include/qt4/QtGui/qaccessibleobject.h - /usr/include/qt4/QtGui/qaccessibleplugin.h - /usr/include/qt4/QtGui/qaccessiblewidget.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qbitmap.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h - /usr/include/qt4/QtGui/qcalendarwidget.h - /usr/include/qt4/QtGui/qcdestyle.h - /usr/include/qt4/QtGui/qcheckbox.h - /usr/include/qt4/QtGui/qcleanlooksstyle.h - /usr/include/qt4/QtGui/qclipboard.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcolordialog.h - /usr/include/qt4/QtGui/qcolormap.h - /usr/include/qt4/QtGui/qcolumnview.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcommandlinkbutton.h - /usr/include/qt4/QtGui/qcommonstyle.h - /usr/include/qt4/QtGui/qcompleter.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdatawidgetmapper.h - /usr/include/qt4/QtGui/qdatetimeedit.h - /usr/include/qt4/QtGui/qdesktopservices.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdial.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdialogbuttonbox.h - /usr/include/qt4/QtGui/qdirmodel.h - /usr/include/qt4/QtGui/qdockwidget.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qdrawutil.h - /usr/include/qt4/QtGui/qerrormessage.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfiledialog.h - /usr/include/qt4/QtGui/qfileiconprovider.h - /usr/include/qt4/QtGui/qfilesystemmodel.h - /usr/include/qt4/QtGui/qfocusframe.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontcombobox.h - /usr/include/qt4/QtGui/qfontdatabase.h - /usr/include/qt4/QtGui/qfontdialog.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qformlayout.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgenericmatrix.h - /usr/include/qt4/QtGui/qgesture.h - /usr/include/qt4/QtGui/qgesturerecognizer.h - /usr/include/qt4/QtGui/qgraphicsanchorlayout.h - /usr/include/qt4/QtGui/qgraphicseffect.h - /usr/include/qt4/QtGui/qgraphicsgridlayout.h - /usr/include/qt4/QtGui/qgraphicsitem.h - /usr/include/qt4/QtGui/qgraphicsitemanimation.h - /usr/include/qt4/QtGui/qgraphicslayout.h - /usr/include/qt4/QtGui/qgraphicslayoutitem.h - /usr/include/qt4/QtGui/qgraphicslinearlayout.h - /usr/include/qt4/QtGui/qgraphicsproxywidget.h - /usr/include/qt4/QtGui/qgraphicsscene.h - /usr/include/qt4/QtGui/qgraphicssceneevent.h - /usr/include/qt4/QtGui/qgraphicstransform.h - /usr/include/qt4/QtGui/qgraphicsview.h - /usr/include/qt4/QtGui/qgraphicswidget.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qgtkstyle.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qiconengine.h - /usr/include/qt4/QtGui/qiconengineplugin.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qimageiohandler.h - /usr/include/qt4/QtGui/qimagereader.h - /usr/include/qt4/QtGui/qimagewriter.h - /usr/include/qt4/QtGui/qinputcontext.h - /usr/include/qt4/QtGui/qinputcontextfactory.h - /usr/include/qt4/QtGui/qinputcontextplugin.h - /usr/include/qt4/QtGui/qinputdialog.h - /usr/include/qt4/QtGui/qitemdelegate.h - /usr/include/qt4/QtGui/qitemeditorfactory.h - /usr/include/qt4/QtGui/qitemselectionmodel.h - /usr/include/qt4/QtGui/qkeyeventtransition.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qlcdnumber.h - /usr/include/qt4/QtGui/qlineedit.h - /usr/include/qt4/QtGui/qlistview.h - /usr/include/qt4/QtGui/qlistwidget.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmainwindow.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmatrix4x4.h - /usr/include/qt4/QtGui/qmdiarea.h - /usr/include/qt4/QtGui/qmdisubwindow.h - /usr/include/qt4/QtGui/qmenu.h - /usr/include/qt4/QtGui/qmenubar.h - /usr/include/qt4/QtGui/qmenudata.h - /usr/include/qt4/QtGui/qmessagebox.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qmotifstyle.h - /usr/include/qt4/QtGui/qmouseeventtransition.h - /usr/include/qt4/QtGui/qmovie.h - /usr/include/qt4/QtGui/qpagesetupdialog.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpaintengine.h - /usr/include/qt4/QtGui/qpainter.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpen.h - /usr/include/qt4/QtGui/qpicture.h - /usr/include/qt4/QtGui/qpictureformatplugin.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpixmapcache.h - /usr/include/qt4/QtGui/qplaintextedit.h - /usr/include/qt4/QtGui/qplastiquestyle.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprintdialog.h - /usr/include/qt4/QtGui/qprintengine.h - /usr/include/qt4/QtGui/qprinter.h - /usr/include/qt4/QtGui/qprinterinfo.h - /usr/include/qt4/QtGui/qprintpreviewdialog.h - /usr/include/qt4/QtGui/qprintpreviewwidget.h - /usr/include/qt4/QtGui/qprogressbar.h - /usr/include/qt4/QtGui/qprogressdialog.h - /usr/include/qt4/QtGui/qproxymodel.h - /usr/include/qt4/QtGui/qproxystyle.h - /usr/include/qt4/QtGui/qpushbutton.h - /usr/include/qt4/QtGui/qquaternion.h - /usr/include/qt4/QtGui/qradiobutton.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qs60mainapplication.h - /usr/include/qt4/QtGui/qs60mainappui.h - /usr/include/qt4/QtGui/qs60maindocument.h - /usr/include/qt4/QtGui/qs60style.h - /usr/include/qt4/QtGui/qscrollarea.h - /usr/include/qt4/QtGui/qscrollbar.h - /usr/include/qt4/QtGui/qsessionmanager.h - /usr/include/qt4/QtGui/qshortcut.h - /usr/include/qt4/QtGui/qsizegrip.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qsortfilterproxymodel.h - /usr/include/qt4/QtGui/qsound.h - /usr/include/qt4/QtGui/qspinbox.h - /usr/include/qt4/QtGui/qsplashscreen.h - /usr/include/qt4/QtGui/qsplitter.h - /usr/include/qt4/QtGui/qstackedlayout.h - /usr/include/qt4/QtGui/qstackedwidget.h - /usr/include/qt4/QtGui/qstandarditemmodel.h - /usr/include/qt4/QtGui/qstatictext.h - /usr/include/qt4/QtGui/qstatusbar.h - /usr/include/qt4/QtGui/qstringlistmodel.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleditemdelegate.h - /usr/include/qt4/QtGui/qstylefactory.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qstylepainter.h - /usr/include/qt4/QtGui/qstyleplugin.h - /usr/include/qt4/QtGui/qsymbianevent.h - /usr/include/qt4/QtGui/qsyntaxhighlighter.h - /usr/include/qt4/QtGui/qsystemtrayicon.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtableview.h - /usr/include/qt4/QtGui/qtablewidget.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtextbrowser.h - /usr/include/qt4/QtGui/qtextcursor.h - /usr/include/qt4/QtGui/qtextdocument.h - /usr/include/qt4/QtGui/qtextdocumentfragment.h - /usr/include/qt4/QtGui/qtextdocumentwriter.h - /usr/include/qt4/QtGui/qtextedit.h - /usr/include/qt4/QtGui/qtextformat.h - /usr/include/qt4/QtGui/qtextlayout.h - /usr/include/qt4/QtGui/qtextlist.h - /usr/include/qt4/QtGui/qtextobject.h - /usr/include/qt4/QtGui/qtextoption.h - /usr/include/qt4/QtGui/qtexttable.h - /usr/include/qt4/QtGui/qtoolbar.h - /usr/include/qt4/QtGui/qtoolbox.h - /usr/include/qt4/QtGui/qtoolbutton.h - /usr/include/qt4/QtGui/qtooltip.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qtreeview.h - /usr/include/qt4/QtGui/qtreewidget.h - /usr/include/qt4/QtGui/qtreewidgetitemiterator.h - /usr/include/qt4/QtGui/qundogroup.h - /usr/include/qt4/QtGui/qundostack.h - /usr/include/qt4/QtGui/qundoview.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qvector2d.h - /usr/include/qt4/QtGui/qvector3d.h - /usr/include/qt4/QtGui/qvector4d.h - /usr/include/qt4/QtGui/qvfbhdr.h - /usr/include/qt4/QtGui/qwhatsthis.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwidgetaction.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwindowscestyle.h - /usr/include/qt4/QtGui/qwindowsmobilestyle.h - /usr/include/qt4/QtGui/qwindowsstyle.h - /usr/include/qt4/QtGui/qwindowsvistastyle.h - /usr/include/qt4/QtGui/qwindowsxpstyle.h - /usr/include/qt4/QtGui/qwizard.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtGui/qworkspace.h - /usr/include/qt4/QtGui/qwsembedwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.cpp - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QCleanlooksStyle - /usr/include/qt4/QtGui/QCommonStyle - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QFileDialog - /usr/include/qt4/QtGui/QFont - /usr/include/qt4/QtGui/QLayout - /usr/include/qt4/QtGui/QMatrix4x4 - /usr/include/qt4/QtGui/QPalette - /usr/include/qt4/QtGui/QPrinter - /usr/include/qt4/QtGui/QTransform - /usr/include/qt4/QtGui/QVector3D - /usr/include/qt4/QtGui/QtGui - /usr/include/qt4/QtGui/qabstractbutton.h - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractpagesetupdialog.h - /usr/include/qt4/QtGui/qabstractprintdialog.h - /usr/include/qt4/QtGui/qabstractproxymodel.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h - /usr/include/qt4/QtGui/qaccessible.h - /usr/include/qt4/QtGui/qaccessible2.h - /usr/include/qt4/QtGui/qaccessiblebridge.h - /usr/include/qt4/QtGui/qaccessibleobject.h - /usr/include/qt4/QtGui/qaccessibleplugin.h - /usr/include/qt4/QtGui/qaccessiblewidget.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qbitmap.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h - /usr/include/qt4/QtGui/qcalendarwidget.h - /usr/include/qt4/QtGui/qcdestyle.h - /usr/include/qt4/QtGui/qcheckbox.h - /usr/include/qt4/QtGui/qcleanlooksstyle.h - /usr/include/qt4/QtGui/qclipboard.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcolordialog.h - /usr/include/qt4/QtGui/qcolormap.h - /usr/include/qt4/QtGui/qcolumnview.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcommandlinkbutton.h - /usr/include/qt4/QtGui/qcommonstyle.h - /usr/include/qt4/QtGui/qcompleter.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdatawidgetmapper.h - /usr/include/qt4/QtGui/qdatetimeedit.h - /usr/include/qt4/QtGui/qdesktopservices.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdial.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdialogbuttonbox.h - /usr/include/qt4/QtGui/qdirmodel.h - /usr/include/qt4/QtGui/qdockwidget.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qdrawutil.h - /usr/include/qt4/QtGui/qerrormessage.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfiledialog.h - /usr/include/qt4/QtGui/qfileiconprovider.h - /usr/include/qt4/QtGui/qfilesystemmodel.h - /usr/include/qt4/QtGui/qfocusframe.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontcombobox.h - /usr/include/qt4/QtGui/qfontdatabase.h - /usr/include/qt4/QtGui/qfontdialog.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qformlayout.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgenericmatrix.h - /usr/include/qt4/QtGui/qgesture.h - /usr/include/qt4/QtGui/qgesturerecognizer.h - /usr/include/qt4/QtGui/qgraphicsanchorlayout.h - /usr/include/qt4/QtGui/qgraphicseffect.h - /usr/include/qt4/QtGui/qgraphicsgridlayout.h - /usr/include/qt4/QtGui/qgraphicsitem.h - /usr/include/qt4/QtGui/qgraphicsitemanimation.h - /usr/include/qt4/QtGui/qgraphicslayout.h - /usr/include/qt4/QtGui/qgraphicslayoutitem.h - /usr/include/qt4/QtGui/qgraphicslinearlayout.h - /usr/include/qt4/QtGui/qgraphicsproxywidget.h - /usr/include/qt4/QtGui/qgraphicsscene.h - /usr/include/qt4/QtGui/qgraphicssceneevent.h - /usr/include/qt4/QtGui/qgraphicstransform.h - /usr/include/qt4/QtGui/qgraphicsview.h - /usr/include/qt4/QtGui/qgraphicswidget.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qgtkstyle.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qiconengine.h - /usr/include/qt4/QtGui/qiconengineplugin.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qimageiohandler.h - /usr/include/qt4/QtGui/qimagereader.h - /usr/include/qt4/QtGui/qimagewriter.h - /usr/include/qt4/QtGui/qinputcontext.h - /usr/include/qt4/QtGui/qinputcontextfactory.h - /usr/include/qt4/QtGui/qinputcontextplugin.h - /usr/include/qt4/QtGui/qinputdialog.h - /usr/include/qt4/QtGui/qitemdelegate.h - /usr/include/qt4/QtGui/qitemeditorfactory.h - /usr/include/qt4/QtGui/qitemselectionmodel.h - /usr/include/qt4/QtGui/qkeyeventtransition.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qlcdnumber.h - /usr/include/qt4/QtGui/qlineedit.h - /usr/include/qt4/QtGui/qlistview.h - /usr/include/qt4/QtGui/qlistwidget.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmainwindow.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmatrix4x4.h - /usr/include/qt4/QtGui/qmdiarea.h - /usr/include/qt4/QtGui/qmdisubwindow.h - /usr/include/qt4/QtGui/qmenu.h - /usr/include/qt4/QtGui/qmenubar.h - /usr/include/qt4/QtGui/qmenudata.h - /usr/include/qt4/QtGui/qmessagebox.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qmotifstyle.h - /usr/include/qt4/QtGui/qmouseeventtransition.h - /usr/include/qt4/QtGui/qmovie.h - /usr/include/qt4/QtGui/qpagesetupdialog.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpaintengine.h - /usr/include/qt4/QtGui/qpainter.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpen.h - /usr/include/qt4/QtGui/qpicture.h - /usr/include/qt4/QtGui/qpictureformatplugin.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpixmapcache.h - /usr/include/qt4/QtGui/qplaintextedit.h - /usr/include/qt4/QtGui/qplastiquestyle.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprintdialog.h - /usr/include/qt4/QtGui/qprintengine.h - /usr/include/qt4/QtGui/qprinter.h - /usr/include/qt4/QtGui/qprinterinfo.h - /usr/include/qt4/QtGui/qprintpreviewdialog.h - /usr/include/qt4/QtGui/qprintpreviewwidget.h - /usr/include/qt4/QtGui/qprogressbar.h - /usr/include/qt4/QtGui/qprogressdialog.h - /usr/include/qt4/QtGui/qproxymodel.h - /usr/include/qt4/QtGui/qproxystyle.h - /usr/include/qt4/QtGui/qpushbutton.h - /usr/include/qt4/QtGui/qquaternion.h - /usr/include/qt4/QtGui/qradiobutton.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qs60mainapplication.h - /usr/include/qt4/QtGui/qs60mainappui.h - /usr/include/qt4/QtGui/qs60maindocument.h - /usr/include/qt4/QtGui/qs60style.h - /usr/include/qt4/QtGui/qscrollarea.h - /usr/include/qt4/QtGui/qscrollbar.h - /usr/include/qt4/QtGui/qsessionmanager.h - /usr/include/qt4/QtGui/qshortcut.h - /usr/include/qt4/QtGui/qsizegrip.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qsortfilterproxymodel.h - /usr/include/qt4/QtGui/qsound.h - /usr/include/qt4/QtGui/qspinbox.h - /usr/include/qt4/QtGui/qsplashscreen.h - /usr/include/qt4/QtGui/qsplitter.h - /usr/include/qt4/QtGui/qstackedlayout.h - /usr/include/qt4/QtGui/qstackedwidget.h - /usr/include/qt4/QtGui/qstandarditemmodel.h - /usr/include/qt4/QtGui/qstatictext.h - /usr/include/qt4/QtGui/qstatusbar.h - /usr/include/qt4/QtGui/qstringlistmodel.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleditemdelegate.h - /usr/include/qt4/QtGui/qstylefactory.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qstylepainter.h - /usr/include/qt4/QtGui/qstyleplugin.h - /usr/include/qt4/QtGui/qsymbianevent.h - /usr/include/qt4/QtGui/qsyntaxhighlighter.h - /usr/include/qt4/QtGui/qsystemtrayicon.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtableview.h - /usr/include/qt4/QtGui/qtablewidget.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtextbrowser.h - /usr/include/qt4/QtGui/qtextcursor.h - /usr/include/qt4/QtGui/qtextdocument.h - /usr/include/qt4/QtGui/qtextdocumentfragment.h - /usr/include/qt4/QtGui/qtextdocumentwriter.h - /usr/include/qt4/QtGui/qtextedit.h - /usr/include/qt4/QtGui/qtextformat.h - /usr/include/qt4/QtGui/qtextlayout.h - /usr/include/qt4/QtGui/qtextlist.h - /usr/include/qt4/QtGui/qtextobject.h - /usr/include/qt4/QtGui/qtextoption.h - /usr/include/qt4/QtGui/qtexttable.h - /usr/include/qt4/QtGui/qtoolbar.h - /usr/include/qt4/QtGui/qtoolbox.h - /usr/include/qt4/QtGui/qtoolbutton.h - /usr/include/qt4/QtGui/qtooltip.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qtreeview.h - /usr/include/qt4/QtGui/qtreewidget.h - /usr/include/qt4/QtGui/qtreewidgetitemiterator.h - /usr/include/qt4/QtGui/qundogroup.h - /usr/include/qt4/QtGui/qundostack.h - /usr/include/qt4/QtGui/qundoview.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qvector2d.h - /usr/include/qt4/QtGui/qvector3d.h - /usr/include/qt4/QtGui/qvector4d.h - /usr/include/qt4/QtGui/qvfbhdr.h - /usr/include/qt4/QtGui/qwhatsthis.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwidgetaction.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwindowscestyle.h - /usr/include/qt4/QtGui/qwindowsmobilestyle.h - /usr/include/qt4/QtGui/qwindowsstyle.h - /usr/include/qt4/QtGui/qwindowsvistastyle.h - /usr/include/qt4/QtGui/qwindowsxpstyle.h - /usr/include/qt4/QtGui/qwizard.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtGui/qworkspace.h - /usr/include/qt4/QtGui/qwsembedwidget.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.cpp - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o - ../../customdhcpcd/src/common.h - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/dhcp.h - ../../customdhcpcd/src/dhcpcd.h - ../../customdhcpcd/src/interface.h - ../../customdhcpcd/src/status.h - /home/niklas/fbgui/LogReceiver/../common/fbgui.h - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/logreceiver.cpp - /home/niklas/fbgui/LogReceiver/logreceiver.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkConfigurationManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o - ../../customdhcpcd/src/common.h - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/dhcp.h - ../../customdhcpcd/src/dhcpcd.h - ../../customdhcpcd/src/interface.h - ../../customdhcpcd/src/status.h - /home/niklas/fbgui/LogReceiver/abortbootdialog.h - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/logreceiver.h - /home/niklas/fbgui/LogReceiver/main.cpp - /home/niklas/fbgui/LogReceiver/ndgui.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QAction - /usr/include/qt4/QtGui/QApplication - /usr/include/qt4/QtGui/QButtonGroup - /usr/include/qt4/QtGui/QCleanlooksStyle - /usr/include/qt4/QtGui/QCommonStyle - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QFileDialog - /usr/include/qt4/QtGui/QFont - /usr/include/qt4/QtGui/QHeaderView - /usr/include/qt4/QtGui/QLayout - /usr/include/qt4/QtGui/QMatrix4x4 - /usr/include/qt4/QtGui/QPalette - /usr/include/qt4/QtGui/QPrinter - /usr/include/qt4/QtGui/QTransform - /usr/include/qt4/QtGui/QVector3D - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/QtGui - /usr/include/qt4/QtGui/qabstractbutton.h - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractpagesetupdialog.h - /usr/include/qt4/QtGui/qabstractprintdialog.h - /usr/include/qt4/QtGui/qabstractproxymodel.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h - /usr/include/qt4/QtGui/qaccessible.h - /usr/include/qt4/QtGui/qaccessible2.h - /usr/include/qt4/QtGui/qaccessiblebridge.h - /usr/include/qt4/QtGui/qaccessibleobject.h - /usr/include/qt4/QtGui/qaccessibleplugin.h - /usr/include/qt4/QtGui/qaccessiblewidget.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qbitmap.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h - /usr/include/qt4/QtGui/qcalendarwidget.h - /usr/include/qt4/QtGui/qcdestyle.h - /usr/include/qt4/QtGui/qcheckbox.h - /usr/include/qt4/QtGui/qcleanlooksstyle.h - /usr/include/qt4/QtGui/qclipboard.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcolordialog.h - /usr/include/qt4/QtGui/qcolormap.h - /usr/include/qt4/QtGui/qcolumnview.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcommandlinkbutton.h - /usr/include/qt4/QtGui/qcommonstyle.h - /usr/include/qt4/QtGui/qcompleter.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdatawidgetmapper.h - /usr/include/qt4/QtGui/qdatetimeedit.h - /usr/include/qt4/QtGui/qdesktopservices.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdial.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdialogbuttonbox.h - /usr/include/qt4/QtGui/qdirmodel.h - /usr/include/qt4/QtGui/qdockwidget.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qdrawutil.h - /usr/include/qt4/QtGui/qerrormessage.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfiledialog.h - /usr/include/qt4/QtGui/qfileiconprovider.h - /usr/include/qt4/QtGui/qfilesystemmodel.h - /usr/include/qt4/QtGui/qfocusframe.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontcombobox.h - /usr/include/qt4/QtGui/qfontdatabase.h - /usr/include/qt4/QtGui/qfontdialog.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qformlayout.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgenericmatrix.h - /usr/include/qt4/QtGui/qgesture.h - /usr/include/qt4/QtGui/qgesturerecognizer.h - /usr/include/qt4/QtGui/qgraphicsanchorlayout.h - /usr/include/qt4/QtGui/qgraphicseffect.h - /usr/include/qt4/QtGui/qgraphicsgridlayout.h - /usr/include/qt4/QtGui/qgraphicsitem.h - /usr/include/qt4/QtGui/qgraphicsitemanimation.h - /usr/include/qt4/QtGui/qgraphicslayout.h - /usr/include/qt4/QtGui/qgraphicslayoutitem.h - /usr/include/qt4/QtGui/qgraphicslinearlayout.h - /usr/include/qt4/QtGui/qgraphicsproxywidget.h - /usr/include/qt4/QtGui/qgraphicsscene.h - /usr/include/qt4/QtGui/qgraphicssceneevent.h - /usr/include/qt4/QtGui/qgraphicstransform.h - /usr/include/qt4/QtGui/qgraphicsview.h - /usr/include/qt4/QtGui/qgraphicswidget.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qgtkstyle.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qiconengine.h - /usr/include/qt4/QtGui/qiconengineplugin.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qimageiohandler.h - /usr/include/qt4/QtGui/qimagereader.h - /usr/include/qt4/QtGui/qimagewriter.h - /usr/include/qt4/QtGui/qinputcontext.h - /usr/include/qt4/QtGui/qinputcontextfactory.h - /usr/include/qt4/QtGui/qinputcontextplugin.h - /usr/include/qt4/QtGui/qinputdialog.h - /usr/include/qt4/QtGui/qitemdelegate.h - /usr/include/qt4/QtGui/qitemeditorfactory.h - /usr/include/qt4/QtGui/qitemselectionmodel.h - /usr/include/qt4/QtGui/qkeyeventtransition.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qlcdnumber.h - /usr/include/qt4/QtGui/qlineedit.h - /usr/include/qt4/QtGui/qlistview.h - /usr/include/qt4/QtGui/qlistwidget.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmainwindow.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmatrix4x4.h - /usr/include/qt4/QtGui/qmdiarea.h - /usr/include/qt4/QtGui/qmdisubwindow.h - /usr/include/qt4/QtGui/qmenu.h - /usr/include/qt4/QtGui/qmenubar.h - /usr/include/qt4/QtGui/qmenudata.h - /usr/include/qt4/QtGui/qmessagebox.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qmotifstyle.h - /usr/include/qt4/QtGui/qmouseeventtransition.h - /usr/include/qt4/QtGui/qmovie.h - /usr/include/qt4/QtGui/qpagesetupdialog.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpaintengine.h - /usr/include/qt4/QtGui/qpainter.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpen.h - /usr/include/qt4/QtGui/qpicture.h - /usr/include/qt4/QtGui/qpictureformatplugin.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpixmapcache.h - /usr/include/qt4/QtGui/qplaintextedit.h - /usr/include/qt4/QtGui/qplastiquestyle.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprintdialog.h - /usr/include/qt4/QtGui/qprintengine.h - /usr/include/qt4/QtGui/qprinter.h - /usr/include/qt4/QtGui/qprinterinfo.h - /usr/include/qt4/QtGui/qprintpreviewdialog.h - /usr/include/qt4/QtGui/qprintpreviewwidget.h - /usr/include/qt4/QtGui/qprogressbar.h - /usr/include/qt4/QtGui/qprogressdialog.h - /usr/include/qt4/QtGui/qproxymodel.h - /usr/include/qt4/QtGui/qproxystyle.h - /usr/include/qt4/QtGui/qpushbutton.h - /usr/include/qt4/QtGui/qquaternion.h - /usr/include/qt4/QtGui/qradiobutton.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qs60mainapplication.h - /usr/include/qt4/QtGui/qs60mainappui.h - /usr/include/qt4/QtGui/qs60maindocument.h - /usr/include/qt4/QtGui/qs60style.h - /usr/include/qt4/QtGui/qscrollarea.h - /usr/include/qt4/QtGui/qscrollbar.h - /usr/include/qt4/QtGui/qsessionmanager.h - /usr/include/qt4/QtGui/qshortcut.h - /usr/include/qt4/QtGui/qsizegrip.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qsortfilterproxymodel.h - /usr/include/qt4/QtGui/qsound.h - /usr/include/qt4/QtGui/qspinbox.h - /usr/include/qt4/QtGui/qsplashscreen.h - /usr/include/qt4/QtGui/qsplitter.h - /usr/include/qt4/QtGui/qstackedlayout.h - /usr/include/qt4/QtGui/qstackedwidget.h - /usr/include/qt4/QtGui/qstandarditemmodel.h - /usr/include/qt4/QtGui/qstatictext.h - /usr/include/qt4/QtGui/qstatusbar.h - /usr/include/qt4/QtGui/qstringlistmodel.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleditemdelegate.h - /usr/include/qt4/QtGui/qstylefactory.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qstylepainter.h - /usr/include/qt4/QtGui/qstyleplugin.h - /usr/include/qt4/QtGui/qsymbianevent.h - /usr/include/qt4/QtGui/qsyntaxhighlighter.h - /usr/include/qt4/QtGui/qsystemtrayicon.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtableview.h - /usr/include/qt4/QtGui/qtablewidget.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtextbrowser.h - /usr/include/qt4/QtGui/qtextcursor.h - /usr/include/qt4/QtGui/qtextdocument.h - /usr/include/qt4/QtGui/qtextdocumentfragment.h - /usr/include/qt4/QtGui/qtextdocumentwriter.h - /usr/include/qt4/QtGui/qtextedit.h - /usr/include/qt4/QtGui/qtextformat.h - /usr/include/qt4/QtGui/qtextlayout.h - /usr/include/qt4/QtGui/qtextlist.h - /usr/include/qt4/QtGui/qtextobject.h - /usr/include/qt4/QtGui/qtextoption.h - /usr/include/qt4/QtGui/qtexttable.h - /usr/include/qt4/QtGui/qtoolbar.h - /usr/include/qt4/QtGui/qtoolbox.h - /usr/include/qt4/QtGui/qtoolbutton.h - /usr/include/qt4/QtGui/qtooltip.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qtreeview.h - /usr/include/qt4/QtGui/qtreewidget.h - /usr/include/qt4/QtGui/qtreewidgetitemiterator.h - /usr/include/qt4/QtGui/qundogroup.h - /usr/include/qt4/QtGui/qundostack.h - /usr/include/qt4/QtGui/qundoview.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qvector2d.h - /usr/include/qt4/QtGui/qvector3d.h - /usr/include/qt4/QtGui/qvector4d.h - /usr/include/qt4/QtGui/qvfbhdr.h - /usr/include/qt4/QtGui/qwhatsthis.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwidgetaction.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwindowscestyle.h - /usr/include/qt4/QtGui/qwindowsmobilestyle.h - /usr/include/qt4/QtGui/qwindowsstyle.h - /usr/include/qt4/QtGui/qwindowsvistastyle.h - /usr/include/qt4/QtGui/qwindowsxpstyle.h - /usr/include/qt4/QtGui/qwizard.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtGui/qworkspace.h - /usr/include/qt4/QtGui/qwsembedwidget.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkConfigurationManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h - ui_ndgui.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o - /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - /home/niklas/fbgui/LogReceiver/build/moc_abortbootdialog.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o - /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/build/moc_chooseinterfacedialog.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o - /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/build/moc_interfaceconfiguration.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o - ../../customdhcpcd/src/common.h - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/dhcp.h - ../../customdhcpcd/src/dhcpcd.h - ../../customdhcpcd/src/interface.h - ../../customdhcpcd/src/status.h - /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h - /home/niklas/fbgui/LogReceiver/build/moc_logreceiver.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkConfigurationManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o - ../../customdhcpcd/src/common.h - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/dhcp.h - ../../customdhcpcd/src/dhcpcd.h - ../../customdhcpcd/src/interface.h - ../../customdhcpcd/src/status.h - /home/niklas/fbgui/LogReceiver/build/../abortbootdialog.h - /home/niklas/fbgui/LogReceiver/build/../chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/build/../interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/build/../logreceiver.h - /home/niklas/fbgui/LogReceiver/build/../ndgui.h - /home/niklas/fbgui/LogReceiver/build/moc_ndgui.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QAction - /usr/include/qt4/QtGui/QApplication - /usr/include/qt4/QtGui/QButtonGroup - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QHeaderView - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qitemselectionmodel.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprogressbar.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkConfigurationManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h - ui_ndgui.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/interface.h - /home/niklas/fbgui/LogReceiver/build/../routemanager.h - /home/niklas/fbgui/LogReceiver/build/moc_routemanager.cxx - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o - ../../customdhcpcd/src/common.h - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/dhcp.h - ../../customdhcpcd/src/dhcpcd.h - ../../customdhcpcd/src/interface.h - ../../customdhcpcd/src/status.h - /home/niklas/fbgui/LogReceiver/abortbootdialog.h - /home/niklas/fbgui/LogReceiver/chooseinterfacedialog.h - /home/niklas/fbgui/LogReceiver/interfaceconfiguration.h - /home/niklas/fbgui/LogReceiver/logreceiver.h - /home/niklas/fbgui/LogReceiver/ndgui.cpp - /home/niklas/fbgui/LogReceiver/ndgui.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QIODevice - /usr/include/qt4/QtCore/QList - /usr/include/qt4/QtCore/QMetaType - /usr/include/qt4/QtCore/QObject - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QSharedDataPointer - /usr/include/qt4/QtCore/QString - /usr/include/qt4/QtCore/QUrl - /usr/include/qt4/QtCore/QVariant - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h - /usr/include/qt4/QtGui/QAction - /usr/include/qt4/QtGui/QApplication - /usr/include/qt4/QtGui/QButtonGroup - /usr/include/qt4/QtGui/QDialog - /usr/include/qt4/QtGui/QHeaderView - /usr/include/qt4/QtGui/QWidget - /usr/include/qt4/QtGui/qabstractitemdelegate.h - /usr/include/qt4/QtGui/qabstractitemview.h - /usr/include/qt4/QtGui/qabstractscrollarea.h - /usr/include/qt4/QtGui/qabstractslider.h - /usr/include/qt4/QtGui/qabstractspinbox.h - /usr/include/qt4/QtGui/qaction.h - /usr/include/qt4/QtGui/qactiongroup.h - /usr/include/qt4/QtGui/qapplication.h - /usr/include/qt4/QtGui/qboxlayout.h - /usr/include/qt4/QtGui/qbrush.h - /usr/include/qt4/QtGui/qbuttongroup.h - /usr/include/qt4/QtGui/qcolor.h - /usr/include/qt4/QtGui/qcombobox.h - /usr/include/qt4/QtGui/qcursor.h - /usr/include/qt4/QtGui/qdesktopwidget.h - /usr/include/qt4/QtGui/qdialog.h - /usr/include/qt4/QtGui/qdrag.h - /usr/include/qt4/QtGui/qevent.h - /usr/include/qt4/QtGui/qfont.h - /usr/include/qt4/QtGui/qfontinfo.h - /usr/include/qt4/QtGui/qfontmetrics.h - /usr/include/qt4/QtGui/qframe.h - /usr/include/qt4/QtGui/qgridlayout.h - /usr/include/qt4/QtGui/qgroupbox.h - /usr/include/qt4/QtGui/qheaderview.h - /usr/include/qt4/QtGui/qicon.h - /usr/include/qt4/QtGui/qimage.h - /usr/include/qt4/QtGui/qitemselectionmodel.h - /usr/include/qt4/QtGui/qkeysequence.h - /usr/include/qt4/QtGui/qlabel.h - /usr/include/qt4/QtGui/qlayout.h - /usr/include/qt4/QtGui/qlayoutitem.h - /usr/include/qt4/QtGui/qmacdefines_mac.h - /usr/include/qt4/QtGui/qmatrix.h - /usr/include/qt4/QtGui/qmime.h - /usr/include/qt4/QtGui/qpaintdevice.h - /usr/include/qt4/QtGui/qpainterpath.h - /usr/include/qt4/QtGui/qpalette.h - /usr/include/qt4/QtGui/qpixmap.h - /usr/include/qt4/QtGui/qpolygon.h - /usr/include/qt4/QtGui/qprogressbar.h - /usr/include/qt4/QtGui/qregion.h - /usr/include/qt4/QtGui/qrgb.h - /usr/include/qt4/QtGui/qrubberband.h - /usr/include/qt4/QtGui/qsizepolicy.h - /usr/include/qt4/QtGui/qslider.h - /usr/include/qt4/QtGui/qstyle.h - /usr/include/qt4/QtGui/qstyleoption.h - /usr/include/qt4/QtGui/qtabbar.h - /usr/include/qt4/QtGui/qtabwidget.h - /usr/include/qt4/QtGui/qtransform.h - /usr/include/qt4/QtGui/qtransportauth_qws.h - /usr/include/qt4/QtGui/qvalidator.h - /usr/include/qt4/QtGui/qwidget.h - /usr/include/qt4/QtGui/qwindowdefs.h - /usr/include/qt4/QtGui/qwindowdefs_win.h - /usr/include/qt4/QtGui/qwmatrix.h - /usr/include/qt4/QtNetwork/QNetworkAccessManager - /usr/include/qt4/QtNetwork/QNetworkConfigurationManager - /usr/include/qt4/QtNetwork/QNetworkCookie - /usr/include/qt4/QtNetwork/QNetworkCookieJar - /usr/include/qt4/QtNetwork/QNetworkRequest - /usr/include/qt4/QtNetwork/QtNetwork - /usr/include/qt4/QtNetwork/qabstractnetworkcache.h - /usr/include/qt4/QtNetwork/qabstractsocket.h - /usr/include/qt4/QtNetwork/qauthenticator.h - /usr/include/qt4/QtNetwork/qftp.h - /usr/include/qt4/QtNetwork/qhostaddress.h - /usr/include/qt4/QtNetwork/qhostinfo.h - /usr/include/qt4/QtNetwork/qhttp.h - /usr/include/qt4/QtNetwork/qlocalserver.h - /usr/include/qt4/QtNetwork/qlocalsocket.h - /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h - /usr/include/qt4/QtNetwork/qnetworkconfiguration.h - /usr/include/qt4/QtNetwork/qnetworkcookie.h - /usr/include/qt4/QtNetwork/qnetworkcookiejar.h - /usr/include/qt4/QtNetwork/qnetworkdiskcache.h - /usr/include/qt4/QtNetwork/qnetworkinterface.h - /usr/include/qt4/QtNetwork/qnetworkproxy.h - /usr/include/qt4/QtNetwork/qnetworkreply.h - /usr/include/qt4/QtNetwork/qnetworkrequest.h - /usr/include/qt4/QtNetwork/qnetworksession.h - /usr/include/qt4/QtNetwork/qssl.h - /usr/include/qt4/QtNetwork/qsslcertificate.h - /usr/include/qt4/QtNetwork/qsslcipher.h - /usr/include/qt4/QtNetwork/qsslconfiguration.h - /usr/include/qt4/QtNetwork/qsslerror.h - /usr/include/qt4/QtNetwork/qsslkey.h - /usr/include/qt4/QtNetwork/qsslsocket.h - /usr/include/qt4/QtNetwork/qtcpserver.h - /usr/include/qt4/QtNetwork/qtcpsocket.h - /usr/include/qt4/QtNetwork/qudpsocket.h - /usr/include/qt4/QtNetwork/qurlinfo.h - ui_ndgui.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o - ../../customdhcpcd/src/config.h - ../../customdhcpcd/src/interface.h - /home/niklas/fbgui/LogReceiver/routemanager.cpp - /home/niklas/fbgui/LogReceiver/routemanager.h - /usr/include/qt4/Qt3Support/q3cstring.h - /usr/include/qt4/Qt3Support/q3valuelist.h - /usr/include/qt4/QtCore/QDate - /usr/include/qt4/QtCore/QPoint - /usr/include/qt4/QtCore/QPointF - /usr/include/qt4/QtCore/QtCore - /usr/include/qt4/QtCore/qabstractanimation.h - /usr/include/qt4/QtCore/qabstracteventdispatcher.h - /usr/include/qt4/QtCore/qabstractfileengine.h - /usr/include/qt4/QtCore/qabstractitemmodel.h - /usr/include/qt4/QtCore/qabstractstate.h - /usr/include/qt4/QtCore/qabstracttransition.h - /usr/include/qt4/QtCore/qalgorithms.h - /usr/include/qt4/QtCore/qanimationgroup.h - /usr/include/qt4/QtCore/qatomic.h - /usr/include/qt4/QtCore/qatomic_alpha.h - /usr/include/qt4/QtCore/qatomic_arch.h - /usr/include/qt4/QtCore/qatomic_arm.h - /usr/include/qt4/QtCore/qatomic_armv6.h - /usr/include/qt4/QtCore/qatomic_avr32.h - /usr/include/qt4/QtCore/qatomic_bfin.h - /usr/include/qt4/QtCore/qatomic_bootstrap.h - /usr/include/qt4/QtCore/qatomic_generic.h - /usr/include/qt4/QtCore/qatomic_i386.h - /usr/include/qt4/QtCore/qatomic_ia64.h - /usr/include/qt4/QtCore/qatomic_macosx.h - /usr/include/qt4/QtCore/qatomic_mips.h - /usr/include/qt4/QtCore/qatomic_parisc.h - /usr/include/qt4/QtCore/qatomic_powerpc.h - /usr/include/qt4/QtCore/qatomic_s390.h - /usr/include/qt4/QtCore/qatomic_sh.h - /usr/include/qt4/QtCore/qatomic_sh4a.h - /usr/include/qt4/QtCore/qatomic_sparc.h - /usr/include/qt4/QtCore/qatomic_symbian.h - /usr/include/qt4/QtCore/qatomic_vxworks.h - /usr/include/qt4/QtCore/qatomic_windows.h - /usr/include/qt4/QtCore/qatomic_windowsce.h - /usr/include/qt4/QtCore/qatomic_x86_64.h - /usr/include/qt4/QtCore/qbasicatomic.h - /usr/include/qt4/QtCore/qbasictimer.h - /usr/include/qt4/QtCore/qbitarray.h - /usr/include/qt4/QtCore/qbuffer.h - /usr/include/qt4/QtCore/qbytearray.h - /usr/include/qt4/QtCore/qbytearraymatcher.h - /usr/include/qt4/QtCore/qcache.h - /usr/include/qt4/QtCore/qchar.h - /usr/include/qt4/QtCore/qconfig.h - /usr/include/qt4/QtCore/qcontainerfwd.h - /usr/include/qt4/QtCore/qcontiguouscache.h - /usr/include/qt4/QtCore/qcoreapplication.h - /usr/include/qt4/QtCore/qcoreevent.h - /usr/include/qt4/QtCore/qcryptographichash.h - /usr/include/qt4/QtCore/qdatastream.h - /usr/include/qt4/QtCore/qdatetime.h - /usr/include/qt4/QtCore/qdebug.h - /usr/include/qt4/QtCore/qdir.h - /usr/include/qt4/QtCore/qdiriterator.h - /usr/include/qt4/QtCore/qeasingcurve.h - /usr/include/qt4/QtCore/qelapsedtimer.h - /usr/include/qt4/QtCore/qendian.h - /usr/include/qt4/QtCore/qeventloop.h - /usr/include/qt4/QtCore/qeventtransition.h - /usr/include/qt4/QtCore/qfactoryinterface.h - /usr/include/qt4/QtCore/qfeatures.h - /usr/include/qt4/QtCore/qfile.h - /usr/include/qt4/QtCore/qfileinfo.h - /usr/include/qt4/QtCore/qfilesystemwatcher.h - /usr/include/qt4/QtCore/qfinalstate.h - /usr/include/qt4/QtCore/qfsfileengine.h - /usr/include/qt4/QtCore/qfuture.h - /usr/include/qt4/QtCore/qfutureinterface.h - /usr/include/qt4/QtCore/qfuturesynchronizer.h - /usr/include/qt4/QtCore/qfuturewatcher.h - /usr/include/qt4/QtCore/qglobal.h - /usr/include/qt4/QtCore/qhash.h - /usr/include/qt4/QtCore/qhistorystate.h - /usr/include/qt4/QtCore/qiodevice.h - /usr/include/qt4/QtCore/qiterator.h - /usr/include/qt4/QtCore/qlibrary.h - /usr/include/qt4/QtCore/qlibraryinfo.h - /usr/include/qt4/QtCore/qline.h - /usr/include/qt4/QtCore/qlinkedlist.h - /usr/include/qt4/QtCore/qlist.h - /usr/include/qt4/QtCore/qlocale.h - /usr/include/qt4/QtCore/qmap.h - /usr/include/qt4/QtCore/qmargins.h - /usr/include/qt4/QtCore/qmath.h - /usr/include/qt4/QtCore/qmetaobject.h - /usr/include/qt4/QtCore/qmetatype.h - /usr/include/qt4/QtCore/qmimedata.h - /usr/include/qt4/QtCore/qmutex.h - /usr/include/qt4/QtCore/qnamespace.h - /usr/include/qt4/QtCore/qnumeric.h - /usr/include/qt4/QtCore/qobject.h - /usr/include/qt4/QtCore/qobjectcleanuphandler.h - /usr/include/qt4/QtCore/qobjectdefs.h - /usr/include/qt4/QtCore/qpair.h - /usr/include/qt4/QtCore/qparallelanimationgroup.h - /usr/include/qt4/QtCore/qpauseanimation.h - /usr/include/qt4/QtCore/qplugin.h - /usr/include/qt4/QtCore/qpluginloader.h - /usr/include/qt4/QtCore/qpoint.h - /usr/include/qt4/QtCore/qpointer.h - /usr/include/qt4/QtCore/qprocess.h - /usr/include/qt4/QtCore/qpropertyanimation.h - /usr/include/qt4/QtCore/qqueue.h - /usr/include/qt4/QtCore/qreadwritelock.h - /usr/include/qt4/QtCore/qrect.h - /usr/include/qt4/QtCore/qregexp.h - /usr/include/qt4/QtCore/qresource.h - /usr/include/qt4/QtCore/qrunnable.h - /usr/include/qt4/QtCore/qscopedpointer.h - /usr/include/qt4/QtCore/qsemaphore.h - /usr/include/qt4/QtCore/qsequentialanimationgroup.h - /usr/include/qt4/QtCore/qset.h - /usr/include/qt4/QtCore/qsettings.h - /usr/include/qt4/QtCore/qshareddata.h - /usr/include/qt4/QtCore/qsharedmemory.h - /usr/include/qt4/QtCore/qsharedpointer.h - /usr/include/qt4/QtCore/qsharedpointer_impl.h - /usr/include/qt4/QtCore/qsignalmapper.h - /usr/include/qt4/QtCore/qsignaltransition.h - /usr/include/qt4/QtCore/qsize.h - /usr/include/qt4/QtCore/qsocketnotifier.h - /usr/include/qt4/QtCore/qstack.h - /usr/include/qt4/QtCore/qstate.h - /usr/include/qt4/QtCore/qstatemachine.h - /usr/include/qt4/QtCore/qstring.h - /usr/include/qt4/QtCore/qstringbuilder.h - /usr/include/qt4/QtCore/qstringlist.h - /usr/include/qt4/QtCore/qstringmatcher.h - /usr/include/qt4/QtCore/qsystemsemaphore.h - /usr/include/qt4/QtCore/qtconcurrentcompilertest.h - /usr/include/qt4/QtCore/qtconcurrentexception.h - /usr/include/qt4/QtCore/qtconcurrentfilter.h - /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h - /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h - /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h - /usr/include/qt4/QtCore/qtconcurrentmap.h - /usr/include/qt4/QtCore/qtconcurrentmapkernel.h - /usr/include/qt4/QtCore/qtconcurrentmedian.h - /usr/include/qt4/QtCore/qtconcurrentreducekernel.h - /usr/include/qt4/QtCore/qtconcurrentresultstore.h - /usr/include/qt4/QtCore/qtconcurrentrun.h - /usr/include/qt4/QtCore/qtconcurrentrunbase.h - /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h - /usr/include/qt4/QtCore/qtconcurrentthreadengine.h - /usr/include/qt4/QtCore/qtemporaryfile.h - /usr/include/qt4/QtCore/qtextboundaryfinder.h - /usr/include/qt4/QtCore/qtextcodec.h - /usr/include/qt4/QtCore/qtextcodecplugin.h - /usr/include/qt4/QtCore/qtextstream.h - /usr/include/qt4/QtCore/qthread.h - /usr/include/qt4/QtCore/qthreadpool.h - /usr/include/qt4/QtCore/qthreadstorage.h - /usr/include/qt4/QtCore/qtimeline.h - /usr/include/qt4/QtCore/qtimer.h - /usr/include/qt4/QtCore/qtranslator.h - /usr/include/qt4/QtCore/qurl.h - /usr/include/qt4/QtCore/quuid.h - /usr/include/qt4/QtCore/qvariant.h - /usr/include/qt4/QtCore/qvariantanimation.h - /usr/include/qt4/QtCore/qvarlengtharray.h - /usr/include/qt4/QtCore/qvector.h - /usr/include/qt4/QtCore/qwaitcondition.h - /usr/include/qt4/QtCore/qxmlstream.h diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make deleted file mode 100644 index 459d234..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/depend.make +++ /dev/null @@ -1,3286 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp - -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.cpp -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QCleanlooksStyle -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QCommonStyle -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QFileDialog -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QFont -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QLayout -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QMatrix4x4 -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QPalette -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QPrinter -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QTransform -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QVector3D -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/QtGui -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractbutton.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractpagesetupdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractprintdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractproxymodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessible.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessible2.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblebridge.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleobject.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblewidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qaction.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qapplication.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbitmap.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcalendarwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcdestyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcheckbox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcleanlooksstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qclipboard.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolordialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolormap.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcolumnview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcommandlinkbutton.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcommonstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcompleter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdatawidgetmapper.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdatetimeedit.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdesktopservices.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdial.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdialogbuttonbox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdirmodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdockwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qdrawutil.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qerrormessage.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfiledialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfileiconprovider.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfilesystemmodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfocusframe.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontcombobox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontdatabase.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qformlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgenericmatrix.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgesture.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgesturerecognizer.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsanchorlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicseffect.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsgridlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitem.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitemanimation.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayoutitem.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslinearlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsproxywidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsscene.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicssceneevent.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicstransform.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgraphicswidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qgtkstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qheaderview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qiconengine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qiconengineplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimageiohandler.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimagereader.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qimagewriter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputcontext.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextfactory.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qinputdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qitemdelegate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qitemeditorfactory.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qkeyeventtransition.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlcdnumber.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlineedit.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlistview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qlistwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmainwindow.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmatrix4x4.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmdiarea.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmdisubwindow.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmenu.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmenubar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmenudata.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmessagebox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmotifstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmouseeventtransition.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qmovie.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpagesetupdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpaintengine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpainter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpen.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpicture.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpictureformatplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpixmapcache.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qplaintextedit.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qplastiquestyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintengine.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprinter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprinterinfo.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qprogressdialog.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qproxymodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qproxystyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qpushbutton.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qquaternion.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qradiobutton.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60mainapplication.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60mainappui.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60maindocument.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qs60style.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qscrollarea.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qscrollbar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsessionmanager.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qshortcut.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsizegrip.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsortfilterproxymodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsound.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qspinbox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsplashscreen.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsplitter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstackedlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstackedwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstandarditemmodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstatictext.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstatusbar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstringlistmodel.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleditemdelegate.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstylefactory.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstylepainter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qstyleplugin.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsymbianevent.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsyntaxhighlighter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qsystemtrayicon.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtableview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtablewidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextbrowser.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextcursor.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextdocument.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentfragment.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentwriter.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextedit.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextformat.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextlayout.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextlist.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextobject.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtextoption.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtexttable.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtoolbar.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtoolbox.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtoolbutton.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtooltip.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtreeview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtreewidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qundogroup.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qundostack.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qundoview.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvector2d.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvector3d.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvector4d.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qvfbhdr.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwhatsthis.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwidgetaction.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowscestyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsmobilestyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsvistastyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwindowsxpstyle.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwizard.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qworkspace.h -CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h - -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.cpp -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QCleanlooksStyle -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QCommonStyle -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QFileDialog -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QFont -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QLayout -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QMatrix4x4 -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QPalette -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QPrinter -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QTransform -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QVector3D -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/QtGui -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractbutton.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractpagesetupdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractprintdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractproxymodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessible.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessible2.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblebridge.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleobject.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessibleplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaccessiblewidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qaction.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qapplication.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbitmap.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcalendarwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcdestyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcheckbox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcleanlooksstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qclipboard.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolordialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolormap.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcolumnview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcommandlinkbutton.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcommonstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcompleter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdatawidgetmapper.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdatetimeedit.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdesktopservices.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdial.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdialogbuttonbox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdirmodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdockwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qdrawutil.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qerrormessage.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfiledialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfileiconprovider.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfilesystemmodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfocusframe.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontcombobox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontdatabase.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qformlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgenericmatrix.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgesture.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgesturerecognizer.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsanchorlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicseffect.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsgridlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitem.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsitemanimation.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslayoutitem.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicslinearlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsproxywidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsscene.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicssceneevent.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicstransform.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicsview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgraphicswidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qgtkstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qheaderview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qiconengine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qiconengineplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimageiohandler.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimagereader.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qimagewriter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputcontext.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextfactory.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputcontextplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qinputdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qitemdelegate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qitemeditorfactory.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qkeyeventtransition.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlcdnumber.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlineedit.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlistview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qlistwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmainwindow.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmatrix4x4.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmdiarea.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmdisubwindow.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmenu.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmenubar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmenudata.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmessagebox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmotifstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmouseeventtransition.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qmovie.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpagesetupdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpaintengine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpainter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpen.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpicture.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpictureformatplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpixmapcache.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qplaintextedit.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qplastiquestyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintengine.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprinter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprinterinfo.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprintpreviewwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qprogressdialog.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qproxymodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qproxystyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qpushbutton.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qquaternion.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qradiobutton.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60mainapplication.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60mainappui.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60maindocument.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qs60style.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qscrollarea.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qscrollbar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsessionmanager.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qshortcut.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsizegrip.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsortfilterproxymodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsound.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qspinbox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsplashscreen.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsplitter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstackedlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstackedwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstandarditemmodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstatictext.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstatusbar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstringlistmodel.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleditemdelegate.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstylefactory.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstylepainter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qstyleplugin.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsymbianevent.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsyntaxhighlighter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qsystemtrayicon.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtableview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtablewidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextbrowser.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextcursor.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextdocument.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentfragment.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextdocumentwriter.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextedit.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextformat.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextlayout.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextlist.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextobject.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtextoption.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtexttable.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtoolbar.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtoolbox.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtoolbutton.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtooltip.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtreeview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtreewidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qundogroup.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qundostack.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qundoview.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvector2d.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvector3d.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvector4d.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qvfbhdr.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwhatsthis.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwidgetaction.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowscestyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsmobilestyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsvistastyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwindowsxpstyle.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwizard.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qworkspace.h -CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h - -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.cpp -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h - -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../../common/fbgui.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.cpp -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/logreceiver.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h - -CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../../customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ../main.cpp -CMakeFiles/LogReceiver.dir/main.cpp.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QAction -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QApplication -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QButtonGroup -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QCleanlooksStyle -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QCommonStyle -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QFileDialog -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QFont -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QHeaderView -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QLayout -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QMatrix4x4 -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QPalette -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QPrinter -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QTransform -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QVector3D -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/QtGui -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractbutton.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractpagesetupdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractprintdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractproxymodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qabstracttextdocumentlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessible.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessible2.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessiblebridge.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessibleobject.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessibleplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaccessiblewidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qaction.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qapplication.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qbitmap.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcalendarwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcdestyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcheckbox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcleanlooksstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qclipboard.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolordialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolormap.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcolumnview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcommandlinkbutton.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcommonstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcompleter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdatawidgetmapper.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdatetimeedit.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdesktopservices.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdial.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdialogbuttonbox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdirmodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdockwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qdrawutil.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qerrormessage.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfiledialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfileiconprovider.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfilesystemmodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfocusframe.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontcombobox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontdatabase.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qformlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgenericmatrix.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgesture.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgesturerecognizer.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsanchorlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicseffect.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsgridlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsitem.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsitemanimation.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicslayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicslayoutitem.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicslinearlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsproxywidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsscene.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicssceneevent.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicstransform.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicsview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgraphicswidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qgtkstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qheaderview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qiconengine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qiconengineplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimageiohandler.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimagereader.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qimagewriter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputcontext.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputcontextfactory.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputcontextplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qinputdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qitemdelegate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qitemeditorfactory.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qkeyeventtransition.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlcdnumber.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlineedit.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlistview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qlistwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmainwindow.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmatrix4x4.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmdiarea.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmdisubwindow.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmenu.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmenubar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmenudata.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmessagebox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmotifstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmouseeventtransition.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qmovie.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpagesetupdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpaintengine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpainter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpen.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpicture.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpictureformatplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpixmapcache.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qplaintextedit.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qplastiquestyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintengine.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprinter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprinterinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintpreviewdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprintpreviewwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qprogressdialog.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qproxymodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qproxystyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qpushbutton.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qquaternion.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qradiobutton.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60mainapplication.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60mainappui.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60maindocument.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qs60style.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qscrollarea.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qscrollbar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsessionmanager.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qshortcut.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsizegrip.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsortfilterproxymodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsound.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qspinbox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsplashscreen.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsplitter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstackedlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstackedwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstandarditemmodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstatictext.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstatusbar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstringlistmodel.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyleditemdelegate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstylefactory.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstylepainter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qstyleplugin.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsymbianevent.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsyntaxhighlighter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qsystemtrayicon.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtableview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtablewidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextbrowser.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextcursor.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextdocument.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextdocumentfragment.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextdocumentwriter.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextedit.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextformat.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextlayout.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextlist.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextobject.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtextoption.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtexttable.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtoolbar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtoolbox.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtoolbutton.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtooltip.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtreeview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtreewidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qtreewidgetitemiterator.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qundogroup.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qundostack.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qundoview.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvector2d.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvector3d.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvector4d.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qvfbhdr.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwhatsthis.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwidgetaction.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowscestyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsmobilestyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsvistastyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwindowsxpstyle.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwizard.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qworkspace.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtGui/qwsembedwidget.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/main.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/main.cpp.o: ui_ndgui.h - -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: moc_abortbootdialog.cxx -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h - -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: moc_chooseinterfacedialog.cxx -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h - -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: moc_interfaceconfiguration.cxx -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h - -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../../customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: moc_logreceiver.cxx -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o: /usr/include/qt4/QtNetwork/qurlinfo.h - -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../../customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: moc_ndgui.cxx -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QAction -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QApplication -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QButtonGroup -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QHeaderView -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractitemview.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractscrollarea.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qaction.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qactiongroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qapplication.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qbuttongroup.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qdesktopwidget.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qheaderview.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qitemselectionmodel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qprogressbar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qtransportauth_qws.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o: ui_ndgui.h - -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: ../routemanager.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: moc_routemanager.cxx -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o: /usr/include/qt4/QtCore/qxmlstream.h - -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/common.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/dhcp.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/dhcpcd.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../../customdhcpcd/src/status.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../abortbootdialog.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../chooseinterfacedialog.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../interfaceconfiguration.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../logreceiver.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.cpp -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ../ndgui.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QIODevice -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QList -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QMetaType -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QObject -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QSharedDataPointer -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QString -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QUrl -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QVariant -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QAction -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QApplication -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QButtonGroup -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QDialog -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QHeaderView -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/QWidget -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemdelegate.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractitemview.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractscrollarea.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractslider.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qabstractspinbox.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qaction.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qactiongroup.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qapplication.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qboxlayout.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qbrush.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qbuttongroup.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qcolor.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qcombobox.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qcursor.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qdesktopwidget.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qdialog.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qdrag.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qevent.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qfont.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qfontinfo.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qfontmetrics.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qframe.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qgridlayout.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qgroupbox.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qheaderview.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qicon.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qimage.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qitemselectionmodel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qkeysequence.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qlabel.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qlayout.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qlayoutitem.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qmacdefines_mac.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qmatrix.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qmime.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpaintdevice.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpainterpath.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpalette.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpixmap.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qpolygon.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qprogressbar.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qregion.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qrgb.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qrubberband.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qsizepolicy.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qslider.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qstyle.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qstyleoption.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtabbar.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtabwidget.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtransform.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qtransportauth_qws.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qvalidator.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwidget.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwindowdefs_win.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtGui/qwmatrix.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkAccessManager -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkConfigurationManager -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookie -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkCookieJar -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QNetworkRequest -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/QtNetwork -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractnetworkcache.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qabstractsocket.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qauthenticator.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qftp.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostaddress.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhostinfo.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qhttp.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalserver.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qlocalsocket.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkaccessmanager.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfigmanager.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkconfiguration.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookie.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkcookiejar.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkdiskcache.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkinterface.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkproxy.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkreply.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworkrequest.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qnetworksession.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qssl.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcertificate.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslcipher.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslconfiguration.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslerror.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslkey.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qsslsocket.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpserver.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qtcpsocket.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qudpsocket.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: /usr/include/qt4/QtNetwork/qurlinfo.h -CMakeFiles/LogReceiver.dir/ndgui.cpp.o: ui_ndgui.h - -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/config.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../../customdhcpcd/src/interface.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.cpp -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: ../routemanager.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3cstring.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/Qt3Support/q3valuelist.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QDate -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QPoint -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QPointF -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/QtCore -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractanimation.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracteventdispatcher.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractfileengine.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractitemmodel.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstractstate.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qabstracttransition.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qalgorithms.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qanimationgroup.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_alpha.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arch.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_arm.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_armv6.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_avr32.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bfin.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_bootstrap.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_generic.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_i386.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_ia64.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_macosx.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_mips.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_parisc.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_powerpc.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_s390.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sh4a.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_sparc.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_symbian.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_vxworks.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windows.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_windowsce.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qatomic_x86_64.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbasicatomic.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbasictimer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbitarray.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbuffer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearray.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qbytearraymatcher.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcache.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qchar.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qconfig.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcontainerfwd.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcontiguouscache.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreapplication.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcoreevent.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qcryptographichash.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdatastream.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdatetime.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdebug.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdir.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qdiriterator.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qeasingcurve.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qelapsedtimer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qendian.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qeventloop.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qeventtransition.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfactoryinterface.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfeatures.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfile.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfileinfo.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfilesystemwatcher.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfinalstate.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfsfileengine.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfuture.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfutureinterface.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturesynchronizer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qfuturewatcher.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qglobal.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qhash.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qhistorystate.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qiodevice.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qiterator.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlibrary.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlibraryinfo.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qline.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlinkedlist.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlist.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qlocale.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmap.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmargins.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmath.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmetaobject.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmetatype.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmimedata.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qmutex.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qnamespace.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qnumeric.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qobject.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectcleanuphandler.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qobjectdefs.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpair.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qparallelanimationgroup.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpauseanimation.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qplugin.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpluginloader.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpoint.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpointer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qprocess.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qpropertyanimation.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qqueue.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qreadwritelock.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qrect.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qregexp.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qresource.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qrunnable.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qscopedpointer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsemaphore.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsequentialanimationgroup.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qset.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsettings.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qshareddata.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedmemory.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsharedpointer_impl.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsignalmapper.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsignaltransition.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsize.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsocketnotifier.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstack.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstate.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstatemachine.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstring.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstringbuilder.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstringlist.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qstringmatcher.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qsystemsemaphore.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentcompilertest.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentexception.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilter.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfilterkernel.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentfunctionwrappers.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentiteratekernel.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmap.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmapkernel.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentmedian.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentreducekernel.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentresultstore.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrun.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentrunbase.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentstoredfunctioncall.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtconcurrentthreadengine.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtemporaryfile.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextboundaryfinder.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodec.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextcodecplugin.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtextstream.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qthread.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadpool.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qthreadstorage.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtimeline.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtimer.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qtranslator.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qurl.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/quuid.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvariant.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvariantanimation.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvarlengtharray.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qvector.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qwaitcondition.h -CMakeFiles/LogReceiver.dir/routemanager.cpp.o: /usr/include/qt4/QtCore/qxmlstream.h - diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make deleted file mode 100644 index 0c00188..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/flags.make +++ /dev/null @@ -1,8 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# compile CXX with /usr/bin/c++ -CXX_FLAGS = -I/home/niklas/fbgui/LogReceiver/build -I/home/niklas/fbgui/LogReceiver/../customdhcpcd/src -I/home/niklas/fbgui/LogReceiver/./build -I/usr/include/qt4/QtDesigner -I/usr/include/qt4/QtDeclarative -I/usr/include/qt4/QtScriptTools -I/usr/include/qt4/QtDBus -I/usr/include/qt4/QtXml -I/usr/include/qt4/QtSql -I/usr/include/qt4/QtOpenGL -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4/QtWebKit -I/usr/include/qt4/QtHelp -I/usr/include/qt4/QtUiTools -I/usr/include/qt4/QtTest -I/usr/include/qt4/QtScript -I/usr/include/qt4/QtSvg -I/usr/include/qt4/Qt3Support -I/usr/include/qt4/QtGui -I/usr/share/qt4/mkspecs/default -I/usr/include/qt4 -I/usr/include/qt4/QtCore - -CXX_DEFINES = -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB - diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt b/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt deleted file mode 100644 index 59b6fce..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/c++ CMakeFiles/LogReceiver.dir/ndgui.cpp.o CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o CMakeFiles/LogReceiver.dir/main.cpp.o CMakeFiles/LogReceiver.dir/routemanager.cpp.o CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o CMakeFiles/LogReceiver.dir/logreceiver.cpp.o CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -o LogReceiver -rdynamic -L/home/niklas/fbgui/customdhcpcd/src/build -lQtWebKit -lQtGui -lQtXmlPatterns -lQtNetwork -lQtCore -lsysfs -llibcustomdhcpcd -Wl,-rpath,/home/niklas/fbgui/customdhcpcd/src/build diff --git a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make b/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make deleted file mode 100644 index 12eb6c7..0000000 --- a/LogReceiver/build/CMakeFiles/LogReceiver.dir/progress.make +++ /dev/null @@ -1,22 +0,0 @@ -CMAKE_PROGRESS_1 = 1 -CMAKE_PROGRESS_2 = 2 -CMAKE_PROGRESS_3 = 3 -CMAKE_PROGRESS_4 = 4 -CMAKE_PROGRESS_5 = 5 -CMAKE_PROGRESS_6 = 6 -CMAKE_PROGRESS_7 = 7 -CMAKE_PROGRESS_8 = 8 -CMAKE_PROGRESS_9 = 9 -CMAKE_PROGRESS_10 = 10 -CMAKE_PROGRESS_11 = 11 -CMAKE_PROGRESS_12 = 12 -CMAKE_PROGRESS_13 = 13 -CMAKE_PROGRESS_14 = 14 -CMAKE_PROGRESS_15 = 15 -CMAKE_PROGRESS_16 = 16 -CMAKE_PROGRESS_17 = 17 -CMAKE_PROGRESS_18 = 18 -CMAKE_PROGRESS_19 = 19 -CMAKE_PROGRESS_20 = 20 -CMAKE_PROGRESS_21 = 21 - diff --git a/LogReceiver/build/CMakeFiles/Makefile.cmake b/LogReceiver/build/CMakeFiles/Makefile.cmake deleted file mode 100644 index 5f78c6b..0000000 --- a/LogReceiver/build/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,67 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# The generator used is: -SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -SET(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "../CMakeLists.txt" - "CMakeFiles/CMakeCCompiler.cmake" - "CMakeFiles/CMakeCXXCompiler.cmake" - "CMakeFiles/CMakeSystem.cmake" - "/usr/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c" - "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-2.8/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp" - "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" - "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-2.8/Modules/CMakeConfigurableFile.in" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-2.8/Modules/CMakeFindBinUtils.cmake" - "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-2.8/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-2.8/Modules/CMakeSystem.cmake.in" - "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-2.8/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-2.8/Modules/CheckSymbolExists.cmake" - "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-2.8/Modules/FindPackageMessage.cmake" - "/usr/share/cmake-2.8/Modules/FindQt4.cmake" - "/usr/share/cmake-2.8/Modules/MacroAddFileDependencies.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux.cmake" - "/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" - "/usr/share/cmake-2.8/Modules/Qt4ConfigDependentSettings.cmake" - "/usr/share/cmake-2.8/Modules/Qt4Macros.cmake" - "/usr/share/cmake-2.8/Modules/UseQt4.cmake" - ) - -# The corresponding makefile is: -SET(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -SET(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -SET(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/LogReceiver.dir/DependInfo.cmake" - ) diff --git a/LogReceiver/build/CMakeFiles/Makefile2 b/LogReceiver/build/CMakeFiles/Makefile2 deleted file mode 100644 index fb3f54a..0000000 --- a/LogReceiver/build/CMakeFiles/Makefile2 +++ /dev/null @@ -1,96 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# The main recursive all target -all: -.PHONY : all - -# The main recursive preinstall target -preinstall: -.PHONY : preinstall - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/LogReceiver - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build - -#============================================================================= -# Target rules for target CMakeFiles/LogReceiver.dir - -# All Build rule for target. -CMakeFiles/LogReceiver.dir/all: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/depend - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/build - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/LogReceiver/build/CMakeFiles 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 - @echo "Built target LogReceiver" -.PHONY : CMakeFiles/LogReceiver.dir/all - -# Include target in all. -all: CMakeFiles/LogReceiver.dir/all -.PHONY : all - -# Build rule for subdir invocation for target. -CMakeFiles/LogReceiver.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 21 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/LogReceiver.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 0 -.PHONY : CMakeFiles/LogReceiver.dir/rule - -# Convenience name for target. -LogReceiver: CMakeFiles/LogReceiver.dir/rule -.PHONY : LogReceiver - -# clean rule for target. -CMakeFiles/LogReceiver.dir/clean: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/clean -.PHONY : CMakeFiles/LogReceiver.dir/clean - -# clean rule for target. -clean: CMakeFiles/LogReceiver.dir/clean -.PHONY : clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/LogReceiver/build/CMakeFiles/Progress/1 b/LogReceiver/build/CMakeFiles/Progress/1 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/1 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/2 b/LogReceiver/build/CMakeFiles/Progress/2 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/2 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/3 b/LogReceiver/build/CMakeFiles/Progress/3 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/3 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/4 b/LogReceiver/build/CMakeFiles/Progress/4 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/4 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/5 b/LogReceiver/build/CMakeFiles/Progress/5 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/5 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/6 b/LogReceiver/build/CMakeFiles/Progress/6 deleted file mode 100644 index 7b4d68d..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/6 +++ /dev/null @@ -1 +0,0 @@ -empty \ No newline at end of file diff --git a/LogReceiver/build/CMakeFiles/Progress/count.txt b/LogReceiver/build/CMakeFiles/Progress/count.txt deleted file mode 100644 index aabe6ec..0000000 --- a/LogReceiver/build/CMakeFiles/Progress/count.txt +++ /dev/null @@ -1 +0,0 @@ -21 diff --git a/LogReceiver/build/CMakeFiles/TargetDirectories.txt b/LogReceiver/build/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 84b9f36..0000000 --- a/LogReceiver/build/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1 +0,0 @@ -/home/niklas/fbgui/LogReceiver/build/CMakeFiles/LogReceiver.dir diff --git a/LogReceiver/build/CMakeFiles/cmake.check_cache b/LogReceiver/build/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd73..0000000 --- a/LogReceiver/build/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/LogReceiver/build/CMakeFiles/progress.marks b/LogReceiver/build/CMakeFiles/progress.marks deleted file mode 100644 index aabe6ec..0000000 --- a/LogReceiver/build/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -21 diff --git a/LogReceiver/build/Makefile b/LogReceiver/build/Makefile deleted file mode 100644 index 7129990..0000000 --- a/LogReceiver/build/Makefile +++ /dev/null @@ -1,511 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/LogReceiver - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/LogReceiver/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." - /usr/bin/cmake -i . -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles /home/niklas/fbgui/LogReceiver/build/CMakeFiles/progress.marks - $(MAKE) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/LogReceiver/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named LogReceiver - -# Build rule for target. -LogReceiver: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 LogReceiver -.PHONY : LogReceiver - -# fast build rule for target. -LogReceiver/fast: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/build -.PHONY : LogReceiver/fast - -CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.o: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.o - -# target to build an object file -CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o -.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.o - -CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.i: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i -.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.i - -# target to preprocess a source file -CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i -.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.i - -CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.s: CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s -.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.s - -# target to generate assembly for a file -CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s -.PHONY : CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp.s - -abortbootdialog.o: abortbootdialog.cpp.o -.PHONY : abortbootdialog.o - -# target to build an object file -abortbootdialog.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.o -.PHONY : abortbootdialog.cpp.o - -abortbootdialog.i: abortbootdialog.cpp.i -.PHONY : abortbootdialog.i - -# target to preprocess a source file -abortbootdialog.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.i -.PHONY : abortbootdialog.cpp.i - -abortbootdialog.s: abortbootdialog.cpp.s -.PHONY : abortbootdialog.s - -# target to generate assembly for a file -abortbootdialog.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/abortbootdialog.cpp.s -.PHONY : abortbootdialog.cpp.s - -chooseinterfacedialog.o: chooseinterfacedialog.cpp.o -.PHONY : chooseinterfacedialog.o - -# target to build an object file -chooseinterfacedialog.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.o -.PHONY : chooseinterfacedialog.cpp.o - -chooseinterfacedialog.i: chooseinterfacedialog.cpp.i -.PHONY : chooseinterfacedialog.i - -# target to preprocess a source file -chooseinterfacedialog.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.i -.PHONY : chooseinterfacedialog.cpp.i - -chooseinterfacedialog.s: chooseinterfacedialog.cpp.s -.PHONY : chooseinterfacedialog.s - -# target to generate assembly for a file -chooseinterfacedialog.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/chooseinterfacedialog.cpp.s -.PHONY : chooseinterfacedialog.cpp.s - -interfaceconfiguration.o: interfaceconfiguration.cpp.o -.PHONY : interfaceconfiguration.o - -# target to build an object file -interfaceconfiguration.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.o -.PHONY : interfaceconfiguration.cpp.o - -interfaceconfiguration.i: interfaceconfiguration.cpp.i -.PHONY : interfaceconfiguration.i - -# target to preprocess a source file -interfaceconfiguration.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.i -.PHONY : interfaceconfiguration.cpp.i - -interfaceconfiguration.s: interfaceconfiguration.cpp.s -.PHONY : interfaceconfiguration.s - -# target to generate assembly for a file -interfaceconfiguration.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/interfaceconfiguration.cpp.s -.PHONY : interfaceconfiguration.cpp.s - -logreceiver.o: logreceiver.cpp.o -.PHONY : logreceiver.o - -# target to build an object file -logreceiver.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.o -.PHONY : logreceiver.cpp.o - -logreceiver.i: logreceiver.cpp.i -.PHONY : logreceiver.i - -# target to preprocess a source file -logreceiver.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.i -.PHONY : logreceiver.cpp.i - -logreceiver.s: logreceiver.cpp.s -.PHONY : logreceiver.s - -# target to generate assembly for a file -logreceiver.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/logreceiver.cpp.s -.PHONY : logreceiver.cpp.s - -main.o: main.cpp.o -.PHONY : main.o - -# target to build an object file -main.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.o -.PHONY : main.cpp.o - -main.i: main.cpp.i -.PHONY : main.i - -# target to preprocess a source file -main.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.i -.PHONY : main.cpp.i - -main.s: main.cpp.s -.PHONY : main.s - -# target to generate assembly for a file -main.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/main.cpp.s -.PHONY : main.cpp.s - -moc_abortbootdialog.o: moc_abortbootdialog.cxx.o -.PHONY : moc_abortbootdialog.o - -# target to build an object file -moc_abortbootdialog.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.o -.PHONY : moc_abortbootdialog.cxx.o - -moc_abortbootdialog.i: moc_abortbootdialog.cxx.i -.PHONY : moc_abortbootdialog.i - -# target to preprocess a source file -moc_abortbootdialog.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.i -.PHONY : moc_abortbootdialog.cxx.i - -moc_abortbootdialog.s: moc_abortbootdialog.cxx.s -.PHONY : moc_abortbootdialog.s - -# target to generate assembly for a file -moc_abortbootdialog.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_abortbootdialog.cxx.s -.PHONY : moc_abortbootdialog.cxx.s - -moc_chooseinterfacedialog.o: moc_chooseinterfacedialog.cxx.o -.PHONY : moc_chooseinterfacedialog.o - -# target to build an object file -moc_chooseinterfacedialog.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.o -.PHONY : moc_chooseinterfacedialog.cxx.o - -moc_chooseinterfacedialog.i: moc_chooseinterfacedialog.cxx.i -.PHONY : moc_chooseinterfacedialog.i - -# target to preprocess a source file -moc_chooseinterfacedialog.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.i -.PHONY : moc_chooseinterfacedialog.cxx.i - -moc_chooseinterfacedialog.s: moc_chooseinterfacedialog.cxx.s -.PHONY : moc_chooseinterfacedialog.s - -# target to generate assembly for a file -moc_chooseinterfacedialog.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_chooseinterfacedialog.cxx.s -.PHONY : moc_chooseinterfacedialog.cxx.s - -moc_interfaceconfiguration.o: moc_interfaceconfiguration.cxx.o -.PHONY : moc_interfaceconfiguration.o - -# target to build an object file -moc_interfaceconfiguration.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.o -.PHONY : moc_interfaceconfiguration.cxx.o - -moc_interfaceconfiguration.i: moc_interfaceconfiguration.cxx.i -.PHONY : moc_interfaceconfiguration.i - -# target to preprocess a source file -moc_interfaceconfiguration.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.i -.PHONY : moc_interfaceconfiguration.cxx.i - -moc_interfaceconfiguration.s: moc_interfaceconfiguration.cxx.s -.PHONY : moc_interfaceconfiguration.s - -# target to generate assembly for a file -moc_interfaceconfiguration.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_interfaceconfiguration.cxx.s -.PHONY : moc_interfaceconfiguration.cxx.s - -moc_logreceiver.o: moc_logreceiver.cxx.o -.PHONY : moc_logreceiver.o - -# target to build an object file -moc_logreceiver.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.o -.PHONY : moc_logreceiver.cxx.o - -moc_logreceiver.i: moc_logreceiver.cxx.i -.PHONY : moc_logreceiver.i - -# target to preprocess a source file -moc_logreceiver.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.i -.PHONY : moc_logreceiver.cxx.i - -moc_logreceiver.s: moc_logreceiver.cxx.s -.PHONY : moc_logreceiver.s - -# target to generate assembly for a file -moc_logreceiver.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_logreceiver.cxx.s -.PHONY : moc_logreceiver.cxx.s - -moc_ndgui.o: moc_ndgui.cxx.o -.PHONY : moc_ndgui.o - -# target to build an object file -moc_ndgui.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.o -.PHONY : moc_ndgui.cxx.o - -moc_ndgui.i: moc_ndgui.cxx.i -.PHONY : moc_ndgui.i - -# target to preprocess a source file -moc_ndgui.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.i -.PHONY : moc_ndgui.cxx.i - -moc_ndgui.s: moc_ndgui.cxx.s -.PHONY : moc_ndgui.s - -# target to generate assembly for a file -moc_ndgui.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_ndgui.cxx.s -.PHONY : moc_ndgui.cxx.s - -moc_routemanager.o: moc_routemanager.cxx.o -.PHONY : moc_routemanager.o - -# target to build an object file -moc_routemanager.cxx.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.o -.PHONY : moc_routemanager.cxx.o - -moc_routemanager.i: moc_routemanager.cxx.i -.PHONY : moc_routemanager.i - -# target to preprocess a source file -moc_routemanager.cxx.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.i -.PHONY : moc_routemanager.cxx.i - -moc_routemanager.s: moc_routemanager.cxx.s -.PHONY : moc_routemanager.s - -# target to generate assembly for a file -moc_routemanager.cxx.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/moc_routemanager.cxx.s -.PHONY : moc_routemanager.cxx.s - -ndgui.o: ndgui.cpp.o -.PHONY : ndgui.o - -# target to build an object file -ndgui.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.o -.PHONY : ndgui.cpp.o - -ndgui.i: ndgui.cpp.i -.PHONY : ndgui.i - -# target to preprocess a source file -ndgui.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.i -.PHONY : ndgui.cpp.i - -ndgui.s: ndgui.cpp.s -.PHONY : ndgui.s - -# target to generate assembly for a file -ndgui.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/ndgui.cpp.s -.PHONY : ndgui.cpp.s - -routemanager.o: routemanager.cpp.o -.PHONY : routemanager.o - -# target to build an object file -routemanager.cpp.o: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.o -.PHONY : routemanager.cpp.o - -routemanager.i: routemanager.cpp.i -.PHONY : routemanager.i - -# target to preprocess a source file -routemanager.cpp.i: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.i -.PHONY : routemanager.cpp.i - -routemanager.s: routemanager.cpp.s -.PHONY : routemanager.s - -# target to generate assembly for a file -routemanager.cpp.s: - $(MAKE) -f CMakeFiles/LogReceiver.dir/build.make CMakeFiles/LogReceiver.dir/routemanager.cpp.s -.PHONY : routemanager.cpp.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... LogReceiver" - @echo "... edit_cache" - @echo "... rebuild_cache" - @echo "... CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.o" - @echo "... CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.i" - @echo "... CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.s" - @echo "... abortbootdialog.o" - @echo "... abortbootdialog.i" - @echo "... abortbootdialog.s" - @echo "... chooseinterfacedialog.o" - @echo "... chooseinterfacedialog.i" - @echo "... chooseinterfacedialog.s" - @echo "... interfaceconfiguration.o" - @echo "... interfaceconfiguration.i" - @echo "... interfaceconfiguration.s" - @echo "... logreceiver.o" - @echo "... logreceiver.i" - @echo "... logreceiver.s" - @echo "... main.o" - @echo "... main.i" - @echo "... main.s" - @echo "... moc_abortbootdialog.o" - @echo "... moc_abortbootdialog.i" - @echo "... moc_abortbootdialog.s" - @echo "... moc_chooseinterfacedialog.o" - @echo "... moc_chooseinterfacedialog.i" - @echo "... moc_chooseinterfacedialog.s" - @echo "... moc_interfaceconfiguration.o" - @echo "... moc_interfaceconfiguration.i" - @echo "... moc_interfaceconfiguration.s" - @echo "... moc_logreceiver.o" - @echo "... moc_logreceiver.i" - @echo "... moc_logreceiver.s" - @echo "... moc_ndgui.o" - @echo "... moc_ndgui.i" - @echo "... moc_ndgui.s" - @echo "... moc_routemanager.o" - @echo "... moc_routemanager.i" - @echo "... moc_routemanager.s" - @echo "... ndgui.o" - @echo "... ndgui.i" - @echo "... ndgui.s" - @echo "... routemanager.o" - @echo "... routemanager.i" - @echo "... routemanager.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/LogReceiver/build/cmake_install.cmake b/LogReceiver/build/cmake_install.cmake deleted file mode 100644 index 40d3cbb..0000000 --- a/LogReceiver/build/cmake_install.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# Install script for directory: /home/niklas/fbgui/LogReceiver - -# Set the install prefix -IF(NOT DEFINED CMAKE_INSTALL_PREFIX) - SET(CMAKE_INSTALL_PREFIX "/usr/local") -ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) -STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - IF(BUILD_TYPE) - STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - ELSE(BUILD_TYPE) - SET(CMAKE_INSTALL_CONFIG_NAME "") - ENDIF(BUILD_TYPE) - MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - -# Set the component getting installed. -IF(NOT CMAKE_INSTALL_COMPONENT) - IF(COMPONENT) - MESSAGE(STATUS "Install component: \"${COMPONENT}\"") - SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - ELSE(COMPONENT) - SET(CMAKE_INSTALL_COMPONENT) - ENDIF(COMPONENT) -ENDIF(NOT CMAKE_INSTALL_COMPONENT) - -# Install shared libraries without execute permission? -IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - SET(CMAKE_INSTALL_SO_NO_EXE "1") -ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - -IF(CMAKE_INSTALL_COMPONENT) - SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -ELSE(CMAKE_INSTALL_COMPONENT) - SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -ENDIF(CMAKE_INSTALL_COMPONENT) - -FILE(WRITE "/home/niklas/fbgui/LogReceiver/build/${CMAKE_INSTALL_MANIFEST}" "") -FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) - FILE(APPEND "/home/niklas/fbgui/LogReceiver/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") -ENDFOREACH(file) -- cgit v1.2.3-55-g7522 From 378ffebba9853f552e864870138494eb4e220ba4 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:40:59 +0200 Subject: remove Debug --- .gitignore | 1 + customdhcpcd/Debug/makefile | 44 ------------------ customdhcpcd/Debug/objects.mk | 7 --- customdhcpcd/Debug/sources.mk | 17 ------- customdhcpcd/Debug/src/arp.d | 21 --------- customdhcpcd/Debug/src/client.d | 37 --------------- customdhcpcd/Debug/src/common.d | 6 --- customdhcpcd/Debug/src/configure.d | 28 ------------ customdhcpcd/Debug/src/customdhcpcd.d | 1 - customdhcpcd/Debug/src/dhcp.d | 17 ------- customdhcpcd/Debug/src/dhcpcd.d | 26 ----------- customdhcpcd/Debug/src/discover.d | 1 - customdhcpcd/Debug/src/duid.d | 12 ----- customdhcpcd/Debug/src/info.d | 17 ------- customdhcpcd/Debug/src/interface.d | 15 ------- customdhcpcd/Debug/src/ipv4ll.d | 17 ------- customdhcpcd/Debug/src/logger.d | 10 ----- customdhcpcd/Debug/src/logwriter.d | 19 -------- customdhcpcd/Debug/src/signal.d | 8 ---- customdhcpcd/Debug/src/socket.d | 17 ------- customdhcpcd/Debug/src/subdir.mk | 85 ----------------------------------- 21 files changed, 1 insertion(+), 405 deletions(-) delete mode 100644 customdhcpcd/Debug/makefile delete mode 100644 customdhcpcd/Debug/objects.mk delete mode 100644 customdhcpcd/Debug/sources.mk delete mode 100644 customdhcpcd/Debug/src/arp.d delete mode 100644 customdhcpcd/Debug/src/client.d delete mode 100644 customdhcpcd/Debug/src/common.d delete mode 100644 customdhcpcd/Debug/src/configure.d delete mode 100644 customdhcpcd/Debug/src/customdhcpcd.d delete mode 100644 customdhcpcd/Debug/src/dhcp.d delete mode 100644 customdhcpcd/Debug/src/dhcpcd.d delete mode 100644 customdhcpcd/Debug/src/discover.d delete mode 100644 customdhcpcd/Debug/src/duid.d delete mode 100644 customdhcpcd/Debug/src/info.d delete mode 100644 customdhcpcd/Debug/src/interface.d delete mode 100644 customdhcpcd/Debug/src/ipv4ll.d delete mode 100644 customdhcpcd/Debug/src/logger.d delete mode 100644 customdhcpcd/Debug/src/logwriter.d delete mode 100644 customdhcpcd/Debug/src/signal.d delete mode 100644 customdhcpcd/Debug/src/socket.d delete mode 100644 customdhcpcd/Debug/src/subdir.mk diff --git a/.gitignore b/.gitignore index 6941805..754704d 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ qrc_*.* *.swp *.swo debug +Debug .project .cproject .metadata diff --git a/customdhcpcd/Debug/makefile b/customdhcpcd/Debug/makefile deleted file mode 100644 index 0c6307d..0000000 --- a/customdhcpcd/Debug/makefile +++ /dev/null @@ -1,44 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - --include ../makefile.init - -RM := rm -rf - -# All of the sources participating in the build are defined here --include sources.mk --include subdir.mk --include src/subdir.mk --include objects.mk - -ifneq ($(MAKECMDGOALS),clean) -ifneq ($(strip $(C_DEPS)),) --include $(C_DEPS) -endif -endif - --include ../makefile.defs - -# Add inputs and outputs from these tool invocations to the build variables - -# All Target -all: customdhcpcd - -# Tool invocations -customdhcpcd: $(OBJS) $(USER_OBJS) - @echo 'Building target: $@' - @echo 'Invoking: GCC C Linker' - gcc -o"customdhcpcd" $(OBJS) $(USER_OBJS) $(LIBS) - @echo 'Finished building target: $@' - @echo ' ' - -# Other Targets -clean: - -$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) customdhcpcd - -@echo ' ' - -.PHONY: all clean dependents -.SECONDARY: - --include ../makefile.targets diff --git a/customdhcpcd/Debug/objects.mk b/customdhcpcd/Debug/objects.mk deleted file mode 100644 index 224ef68..0000000 --- a/customdhcpcd/Debug/objects.mk +++ /dev/null @@ -1,7 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -USER_OBJS := - -LIBS := diff --git a/customdhcpcd/Debug/sources.mk b/customdhcpcd/Debug/sources.mk deleted file mode 100644 index 57cf3c3..0000000 --- a/customdhcpcd/Debug/sources.mk +++ /dev/null @@ -1,17 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -O_SRCS := -C_SRCS := -S_UPPER_SRCS := -OBJ_SRCS := -ASM_SRCS := -OBJS := -C_DEPS := -EXECUTABLES := - -# Every subdirectory with source files must be described here -SUBDIRS := \ -src \ - diff --git a/customdhcpcd/Debug/src/arp.d b/customdhcpcd/Debug/src/arp.d deleted file mode 100644 index e639f20..0000000 --- a/customdhcpcd/Debug/src/arp.d +++ /dev/null @@ -1,21 +0,0 @@ -src/arp.d src/arp.o: ../src/arp.c ../src/config.h ../src/common.h \ - ../src/arp.h ../src/interface.h ../src/logger.h ../src/signal.h \ - ../src/socket.h ../src/dhcp.h ../src/dhcpcd.h - -../src/config.h: - -../src/common.h: - -../src/arp.h: - -../src/interface.h: - -../src/logger.h: - -../src/signal.h: - -../src/socket.h: - -../src/dhcp.h: - -../src/dhcpcd.h: diff --git a/customdhcpcd/Debug/src/client.d b/customdhcpcd/Debug/src/client.d deleted file mode 100644 index 585c535..0000000 --- a/customdhcpcd/Debug/src/client.d +++ /dev/null @@ -1,37 +0,0 @@ -src/client.d src/client.o: ../src/client.c ../src/config.h \ - ../src/common.h ../src/arp.h ../src/interface.h ../src/client.h \ - ../src/dhcpcd.h ../src/configure.h ../src/dhcp.h ../src/info.h \ - ../src/ipv4ll.h ../src/logger.h ../src/signal.h ../src/socket.h \ - ../src/logwriter.h ../src/status.h ../src/duid.h - -../src/config.h: - -../src/common.h: - -../src/arp.h: - -../src/interface.h: - -../src/client.h: - -../src/dhcpcd.h: - -../src/configure.h: - -../src/dhcp.h: - -../src/info.h: - -../src/ipv4ll.h: - -../src/logger.h: - -../src/signal.h: - -../src/socket.h: - -../src/logwriter.h: - -../src/status.h: - -../src/duid.h: diff --git a/customdhcpcd/Debug/src/common.d b/customdhcpcd/Debug/src/common.d deleted file mode 100644 index 235fc5e..0000000 --- a/customdhcpcd/Debug/src/common.d +++ /dev/null @@ -1,6 +0,0 @@ -src/common.d src/common.o: ../src/common.c ../src/common.h \ - ../src/logger.h - -../src/common.h: - -../src/logger.h: diff --git a/customdhcpcd/Debug/src/configure.d b/customdhcpcd/Debug/src/configure.d deleted file mode 100644 index 16416f6..0000000 --- a/customdhcpcd/Debug/src/configure.d +++ /dev/null @@ -1,28 +0,0 @@ -src/configure.d src/configure.o: ../src/configure.c ../src/config.h \ - ../src/common.h ../src/configure.h ../src/dhcpcd.h ../src/interface.h \ - ../src/dhcp.h ../src/info.h ../src/logger.h ../src/signal.h \ - ../src/socket.h ../src/status.h ../src/logwriter.h - -../src/config.h: - -../src/common.h: - -../src/configure.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/dhcp.h: - -../src/info.h: - -../src/logger.h: - -../src/signal.h: - -../src/socket.h: - -../src/status.h: - -../src/logwriter.h: diff --git a/customdhcpcd/Debug/src/customdhcpcd.d b/customdhcpcd/Debug/src/customdhcpcd.d deleted file mode 100644 index 1dd84f9..0000000 --- a/customdhcpcd/Debug/src/customdhcpcd.d +++ /dev/null @@ -1 +0,0 @@ -src/customdhcpcd.d src/customdhcpcd.o: ../src/customdhcpcd.c diff --git a/customdhcpcd/Debug/src/dhcp.d b/customdhcpcd/Debug/src/dhcp.d deleted file mode 100644 index 82e54dd..0000000 --- a/customdhcpcd/Debug/src/dhcp.d +++ /dev/null @@ -1,17 +0,0 @@ -src/dhcp.d src/dhcp.o: ../src/dhcp.c ../src/config.h ../src/common.h \ - ../src/dhcpcd.h ../src/dhcp.h ../src/interface.h ../src/logger.h \ - ../src/socket.h - -../src/config.h: - -../src/common.h: - -../src/dhcpcd.h: - -../src/dhcp.h: - -../src/interface.h: - -../src/logger.h: - -../src/socket.h: diff --git a/customdhcpcd/Debug/src/dhcpcd.d b/customdhcpcd/Debug/src/dhcpcd.d deleted file mode 100644 index 05c8d7e..0000000 --- a/customdhcpcd/Debug/src/dhcpcd.d +++ /dev/null @@ -1,26 +0,0 @@ -src/dhcpcd.d src/dhcpcd.o: ../src/dhcpcd.c ../src/config.h \ - ../src/client.h ../src/dhcpcd.h ../src/common.h ../src/dhcp.h \ - ../src/interface.h ../src/logger.h ../src/socket.h ../src/version.h \ - ../src/logwriter.h ../src/status.h - -../src/config.h: - -../src/client.h: - -../src/dhcpcd.h: - -../src/common.h: - -../src/dhcp.h: - -../src/interface.h: - -../src/logger.h: - -../src/socket.h: - -../src/version.h: - -../src/logwriter.h: - -../src/status.h: diff --git a/customdhcpcd/Debug/src/discover.d b/customdhcpcd/Debug/src/discover.d deleted file mode 100644 index 9188993..0000000 --- a/customdhcpcd/Debug/src/discover.d +++ /dev/null @@ -1 +0,0 @@ -src/discover.d src/discover.o: ../src/discover.c diff --git a/customdhcpcd/Debug/src/duid.d b/customdhcpcd/Debug/src/duid.d deleted file mode 100644 index 1434db7..0000000 --- a/customdhcpcd/Debug/src/duid.d +++ /dev/null @@ -1,12 +0,0 @@ -src/duid.d src/duid.o: ../src/duid.c ../src/config.h ../src/common.h \ - ../src/duid.h ../src/interface.h ../src/logger.h - -../src/config.h: - -../src/common.h: - -../src/duid.h: - -../src/interface.h: - -../src/logger.h: diff --git a/customdhcpcd/Debug/src/info.d b/customdhcpcd/Debug/src/info.d deleted file mode 100644 index 0a3490d..0000000 --- a/customdhcpcd/Debug/src/info.d +++ /dev/null @@ -1,17 +0,0 @@ -src/info.d src/info.o: ../src/info.c ../src/config.h ../src/common.h \ - ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/logger.h \ - ../src/info.h - -../src/config.h: - -../src/common.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/logger.h: - -../src/info.h: diff --git a/customdhcpcd/Debug/src/interface.d b/customdhcpcd/Debug/src/interface.d deleted file mode 100644 index 581c831..0000000 --- a/customdhcpcd/Debug/src/interface.d +++ /dev/null @@ -1,15 +0,0 @@ -src/interface.d src/interface.o: ../src/interface.c ../src/config.h \ - ../src/common.h ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h \ - ../src/logger.h - -../src/config.h: - -../src/common.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/logger.h: diff --git a/customdhcpcd/Debug/src/ipv4ll.d b/customdhcpcd/Debug/src/ipv4ll.d deleted file mode 100644 index 7d02ead..0000000 --- a/customdhcpcd/Debug/src/ipv4ll.d +++ /dev/null @@ -1,17 +0,0 @@ -src/ipv4ll.d src/ipv4ll.o: ../src/ipv4ll.c ../src/config.h ../src/arp.h \ - ../src/interface.h ../src/ipv4ll.h ../src/dhcp.h ../src/dhcpcd.h \ - ../src/common.h - -../src/config.h: - -../src/arp.h: - -../src/interface.h: - -../src/ipv4ll.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/common.h: diff --git a/customdhcpcd/Debug/src/logger.d b/customdhcpcd/Debug/src/logger.d deleted file mode 100644 index bbf1cf8..0000000 --- a/customdhcpcd/Debug/src/logger.d +++ /dev/null @@ -1,10 +0,0 @@ -src/logger.d src/logger.o: ../src/logger.c ../src/common.h \ - ../src/logger.h ../src/logwriter.h ../src/dhcpcd.h - -../src/common.h: - -../src/logger.h: - -../src/logwriter.h: - -../src/dhcpcd.h: diff --git a/customdhcpcd/Debug/src/logwriter.d b/customdhcpcd/Debug/src/logwriter.d deleted file mode 100644 index 83dc4b5..0000000 --- a/customdhcpcd/Debug/src/logwriter.d +++ /dev/null @@ -1,19 +0,0 @@ -src/logwriter.d src/logwriter.o: ../src/logwriter.c ../src/common.h \ - ../src/dhcp.h ../src/dhcpcd.h ../src/interface.h ../src/config.h \ - ../src/logger.h ../src/logwriter.h ../src/status.h - -../src/common.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/interface.h: - -../src/config.h: - -../src/logger.h: - -../src/logwriter.h: - -../src/status.h: diff --git a/customdhcpcd/Debug/src/signal.d b/customdhcpcd/Debug/src/signal.d deleted file mode 100644 index 0185fc3..0000000 --- a/customdhcpcd/Debug/src/signal.d +++ /dev/null @@ -1,8 +0,0 @@ -src/signal.d src/signal.o: ../src/signal.c ../src/common.h \ - ../src/logger.h ../src/signal.h - -../src/common.h: - -../src/logger.h: - -../src/signal.h: diff --git a/customdhcpcd/Debug/src/socket.d b/customdhcpcd/Debug/src/socket.d deleted file mode 100644 index 785c170..0000000 --- a/customdhcpcd/Debug/src/socket.d +++ /dev/null @@ -1,17 +0,0 @@ -src/socket.d src/socket.o: ../src/socket.c ../src/config.h ../src/dhcp.h \ - ../src/dhcpcd.h ../src/common.h ../src/interface.h ../src/logger.h \ - ../src/socket.h - -../src/config.h: - -../src/dhcp.h: - -../src/dhcpcd.h: - -../src/common.h: - -../src/interface.h: - -../src/logger.h: - -../src/socket.h: diff --git a/customdhcpcd/Debug/src/subdir.mk b/customdhcpcd/Debug/src/subdir.mk deleted file mode 100644 index 38890b3..0000000 --- a/customdhcpcd/Debug/src/subdir.mk +++ /dev/null @@ -1,85 +0,0 @@ -################################################################################ -# Automatically-generated file. Do not edit! -################################################################################ - -# Add inputs and outputs from these tool invocations to the build variables -O_SRCS += \ -../src/arp.o \ -../src/client.o \ -../src/common.o \ -../src/configure.o \ -../src/dhcp.o \ -../src/dhcpcd.o \ -../src/duid.o \ -../src/info.o \ -../src/interface.o \ -../src/ipv4ll.o \ -../src/logger.o \ -../src/logwriter.o \ -../src/signal.o \ -../src/socket.o - -C_SRCS += \ -../src/arp.c \ -../src/client.c \ -../src/common.c \ -../src/configure.c \ -../src/customdhcpcd.c \ -../src/dhcp.c \ -../src/dhcpcd.c \ -../src/discover.c \ -../src/duid.c \ -../src/info.c \ -../src/interface.c \ -../src/ipv4ll.c \ -../src/logger.c \ -../src/logwriter.c \ -../src/signal.c \ -../src/socket.c - -OBJS += \ -./src/arp.o \ -./src/client.o \ -./src/common.o \ -./src/configure.o \ -./src/customdhcpcd.o \ -./src/dhcp.o \ -./src/dhcpcd.o \ -./src/discover.o \ -./src/duid.o \ -./src/info.o \ -./src/interface.o \ -./src/ipv4ll.o \ -./src/logger.o \ -./src/logwriter.o \ -./src/signal.o \ -./src/socket.o - -C_DEPS += \ -./src/arp.d \ -./src/client.d \ -./src/common.d \ -./src/configure.d \ -./src/customdhcpcd.d \ -./src/dhcp.d \ -./src/dhcpcd.d \ -./src/discover.d \ -./src/duid.d \ -./src/info.d \ -./src/interface.d \ -./src/ipv4ll.d \ -./src/logger.d \ -./src/logwriter.d \ -./src/signal.d \ -./src/socket.d - - -# Each subdirectory must supply rules for building sources it contributes -src/%.o: ../src/%.c - @echo 'Building file: $<' - @echo 'Invoking: GCC C Compiler' - gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<" - @echo 'Finished building: $<' - @echo ' ' - - -- cgit v1.2.3-55-g7522 From d189687d1bf18ba28cfecf80dbc13c27904a5903 Mon Sep 17 00:00:00 2001 From: Sebastian Schmelzer Date: Tue, 6 Sep 2011 18:42:12 +0200 Subject: remove another build dir --- customdhcpcd/src/build/CMakeCache.txt | 282 --------- .../src/build/CMakeFiles/CMakeCCompiler.cmake | 44 -- .../src/build/CMakeFiles/CMakeCXXCompiler.cmake | 45 -- .../CMakeFiles/CMakeDetermineCompilerABI_C.bin | Bin 7165 -> 0 bytes .../CMakeFiles/CMakeDetermineCompilerABI_CXX.bin | Bin 7246 -> 0 bytes .../CMakeFiles/CMakeDirectoryInformation.cmake | 21 - customdhcpcd/src/build/CMakeFiles/CMakeOutput.log | 240 -------- .../src/build/CMakeFiles/CMakeSystem.cmake | 15 - .../CMakeFiles/CompilerIdC/CMakeCCompilerId.c | 220 ------- .../src/build/CMakeFiles/CompilerIdC/a.out | Bin 7204 -> 0 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 206 ------- .../src/build/CMakeFiles/CompilerIdCXX/a.out | Bin 7276 -> 0 bytes customdhcpcd/src/build/CMakeFiles/Makefile.cmake | 60 -- customdhcpcd/src/build/CMakeFiles/Makefile2 | 131 ----- .../src/build/CMakeFiles/TargetDirectories.txt | 2 - .../src/build/CMakeFiles/cmake.check_cache | 1 - .../CMakeFiles/customdhcpcd.dir/C.includecache | 154 ----- .../CMakeFiles/customdhcpcd.dir/DependInfo.cmake | 14 - .../build/CMakeFiles/customdhcpcd.dir/build.make | 101 ---- .../CMakeFiles/customdhcpcd.dir/cmake_clean.cmake | 10 - .../CMakeFiles/customdhcpcd.dir/depend.internal | 16 - .../build/CMakeFiles/customdhcpcd.dir/depend.make | 16 - .../build/CMakeFiles/customdhcpcd.dir/flags.make | 8 - .../src/build/CMakeFiles/customdhcpcd.dir/link.txt | 1 - .../CMakeFiles/customdhcpcd.dir/progress.make | 2 - .../CMakeFiles/libcustomdhcpcd.dir/C.includecache | 640 --------------------- .../libcustomdhcpcd.dir/DependInfo.cmake | 26 - .../CMakeFiles/libcustomdhcpcd.dir/build.make | 451 --------------- .../libcustomdhcpcd.dir/cmake_clean.cmake | 23 - .../CMakeFiles/libcustomdhcpcd.dir/depend.internal | 126 ---- .../CMakeFiles/libcustomdhcpcd.dir/depend.make | 126 ---- .../CMakeFiles/libcustomdhcpcd.dir/flags.make | 8 - .../build/CMakeFiles/libcustomdhcpcd.dir/link.txt | 1 - .../CMakeFiles/libcustomdhcpcd.dir/progress.make | 15 - customdhcpcd/src/build/CMakeFiles/progress.marks | 1 - customdhcpcd/src/build/Makefile | 552 ------------------ customdhcpcd/src/build/cmake_install.cmake | 44 -- customdhcpcd/src/build/customdhcpcd | Bin 17407 -> 0 bytes customdhcpcd/src/build/liblibcustomdhcpcd.so | Bin 81333 -> 0 bytes 39 files changed, 3602 deletions(-) delete mode 100644 customdhcpcd/src/build/CMakeCache.txt delete mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake delete mode 100755 customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin delete mode 100755 customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin delete mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeOutput.log delete mode 100644 customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c delete mode 100755 customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out delete mode 100644 customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp delete mode 100755 customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out delete mode 100644 customdhcpcd/src/build/CMakeFiles/Makefile.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/Makefile2 delete mode 100644 customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt delete mode 100644 customdhcpcd/src/build/CMakeFiles/cmake.check_cache delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt delete mode 100644 customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt delete mode 100644 customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make delete mode 100644 customdhcpcd/src/build/CMakeFiles/progress.marks delete mode 100644 customdhcpcd/src/build/Makefile delete mode 100644 customdhcpcd/src/build/cmake_install.cmake delete mode 100755 customdhcpcd/src/build/customdhcpcd delete mode 100755 customdhcpcd/src/build/liblibcustomdhcpcd.so diff --git a/customdhcpcd/src/build/CMakeCache.txt b/customdhcpcd/src/build/CMakeCache.txt deleted file mode 100644 index 0d2d2c6..0000000 --- a/customdhcpcd/src/build/CMakeCache.txt +++ /dev/null @@ -1,282 +0,0 @@ -# This is the CMakeCache file. -# For build in directory: /home/niklas/fbgui/customdhcpcd/src/build -# It was generated by CMake: /usr/bin/cmake -# You can edit this file to change values found and used by cmake. -# If you do not want to change any of the values, simply exit the editor. -# If you do want to change a value, simply edit, save, and exit the editor. -# The syntax for the file is as follows: -# KEY:TYPE=VALUE -# KEY is the name of a variable in the cache. -# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!. -# VALUE is the current value for the KEY. - -######################## -# EXTERNAL cache entries -######################## - -//Path to a program. -CMAKE_AR:FILEPATH=/usr/bin/ar - -//Choose the type of build, options are: None(CMAKE_CXX_FLAGS or -// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel. -CMAKE_BUILD_TYPE:STRING= - -//Enable/Disable color output during build. -CMAKE_COLOR_MAKEFILE:BOOL=ON - -//CXX compiler. -CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ - -//Flags used by the compiler during all build types. -CMAKE_CXX_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_CXX_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g - -//C compiler. -CMAKE_C_COMPILER:FILEPATH=/usr/bin/gcc - -//Flags used by the compiler during all build types. -CMAKE_C_FLAGS:STRING= - -//Flags used by the compiler during debug builds. -CMAKE_C_FLAGS_DEBUG:STRING=-g - -//Flags used by the compiler during release minsize builds. -CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG - -//Flags used by the compiler during release builds (/MD /Ob1 /Oi -// /Ot /Oy /Gs will produce slightly less optimized but smaller -// files). -CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG - -//Flags used by the compiler during Release with Debug Info builds. -CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g - -//Flags used by the linker. -CMAKE_EXE_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Install path prefix, prepended onto install directories. -CMAKE_INSTALL_PREFIX:PATH=/usr/local - -//Path to a program. -CMAKE_LINKER:FILEPATH=/usr/bin/ld - -//Path to a program. -CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make - -//Flags used by the linker during the creation of modules. -CMAKE_MODULE_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//Path to a program. -CMAKE_NM:FILEPATH=/usr/bin/nm - -//Path to a program. -CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy - -//Path to a program. -CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump - -//Value Computed by CMake -CMAKE_PROJECT_NAME:STATIC=customdhcpdcd - -//Path to a program. -CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib - -//Flags used by the linker during the creation of dll's. -CMAKE_SHARED_LINKER_FLAGS:STRING= - -//Flags used by the linker during debug builds. -CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= - -//Flags used by the linker during release minsize builds. -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= - -//Flags used by the linker during release builds. -CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= - -//Flags used by the linker during Release with Debug Info builds. -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= - -//If set, runtime paths are not added when using shared libraries. -CMAKE_SKIP_RPATH:BOOL=NO - -//Path to a program. -CMAKE_STRIP:FILEPATH=/usr/bin/strip - -//If true, cmake will use relative paths in makefiles and projects. -CMAKE_USE_RELATIVE_PATHS:BOOL=OFF - -//If this value is on, makefiles will be generated without the -// .SILENT directive, and all commands will be echoed to the console -// during the make. This is useful for debugging only. With Visual -// Studio IDE projects all commands are done without /nologo. -CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE - -//Value Computed by CMake -customdhcpdcd_BINARY_DIR:STATIC=/home/niklas/fbgui/customdhcpcd/src/build - -//Value Computed by CMake -customdhcpdcd_SOURCE_DIR:STATIC=/home/niklas/fbgui/customdhcpcd/src - -//Dependencies for target -libcustomdhcpcd_LIB_DEPENDS:STATIC= - - -######################## -# INTERNAL cache entries -######################## - -//ADVANCED property for variable: CMAKE_AR -CMAKE_AR-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_BUILD_TOOL -CMAKE_BUILD_TOOL-ADVANCED:INTERNAL=1 -//What is the target build tool cmake is generating for. -CMAKE_BUILD_TOOL:INTERNAL=/usr/bin/make -//This is the directory where this CMakeCache.txt was created -CMAKE_CACHEFILE_DIR:INTERNAL=/home/niklas/fbgui/customdhcpcd/src/build -//Major version of cmake used to create the current loaded cache -CMAKE_CACHE_MAJOR_VERSION:INTERNAL=2 -//Minor version of cmake used to create the current loaded cache -CMAKE_CACHE_MINOR_VERSION:INTERNAL=8 -//Patch version of cmake used to create the current loaded cache -CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 -//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE -CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 -//Path to CMake executable. -CMAKE_COMMAND:INTERNAL=/usr/bin/cmake -//Path to cpack program executable. -CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack -//Path to ctest program executable. -CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest -//ADVANCED property for variable: CMAKE_CXX_COMPILER -CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_CXX_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS -CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG -CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL -CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE -CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO -CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_COMPILER -CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 -CMAKE_C_COMPILER_WORKS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS -CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG -CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL -CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE -CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO -CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Result of TRY_COMPILE -CMAKE_DETERMINE_CXX_ABI_COMPILED:INTERNAL=TRUE -//Result of TRY_COMPILE -CMAKE_DETERMINE_C_ABI_COMPILED:INTERNAL=TRUE -//Executable file format -CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS -CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG -CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL -CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE -CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//Name of generator. -CMAKE_GENERATOR:INTERNAL=Unix Makefiles -//Start directory with the top level CMakeLists.txt file for this -// project -CMAKE_HOME_DIRECTORY:INTERNAL=/home/niklas/fbgui/customdhcpcd/src -//Install .so files without execute permission. -CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 -//ADVANCED property for variable: CMAKE_LINKER -CMAKE_LINKER-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MAKE_PROGRAM -CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS -CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG -CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL -CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE -CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_NM -CMAKE_NM-ADVANCED:INTERNAL=1 -//number of local generators -CMAKE_NUMBER_OF_LOCAL_GENERATORS:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJCOPY -CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_OBJDUMP -CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_RANLIB -CMAKE_RANLIB-ADVANCED:INTERNAL=1 -//Path to CMake installation. -CMAKE_ROOT:INTERNAL=/usr/share/cmake-2.8 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS -CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG -CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL -CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE -CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO -CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_SKIP_RPATH -CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_STRIP -CMAKE_STRIP-ADVANCED:INTERNAL=1 -//uname command -CMAKE_UNAME:INTERNAL=/bin/uname -//ADVANCED property for variable: CMAKE_USE_RELATIVE_PATHS -CMAKE_USE_RELATIVE_PATHS-ADVANCED:INTERNAL=1 -//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE -CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 - diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake deleted file mode 100644 index 2b06f62..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CMakeCCompiler.cmake +++ /dev/null @@ -1,44 +0,0 @@ -SET(CMAKE_C_COMPILER "/usr/bin/gcc") -SET(CMAKE_C_COMPILER_ARG1 "") -SET(CMAKE_C_COMPILER_ID "GNU") -SET(CMAKE_C_PLATFORM_ID "Linux") - -SET(CMAKE_AR "/usr/bin/ar") -SET(CMAKE_RANLIB "/usr/bin/ranlib") -SET(CMAKE_LINKER "/usr/bin/ld") -SET(CMAKE_COMPILER_IS_GNUCC 1) -SET(CMAKE_C_COMPILER_LOADED 1) -SET(CMAKE_COMPILER_IS_MINGW ) -SET(CMAKE_COMPILER_IS_CYGWIN ) -IF(CMAKE_COMPILER_IS_CYGWIN) - SET(CYGWIN 1) - SET(UNIX 1) -ENDIF(CMAKE_COMPILER_IS_CYGWIN) - -SET(CMAKE_C_COMPILER_ENV_VAR "CC") - -IF(CMAKE_COMPILER_IS_MINGW) - SET(MINGW 1) -ENDIF(CMAKE_COMPILER_IS_MINGW) -SET(CMAKE_C_COMPILER_ID_RUN 1) -SET(CMAKE_C_SOURCE_FILE_EXTENSIONS c) -SET(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) -SET(CMAKE_C_LINKER_PREFERENCE 10) - -# Save compiler ABI information. -SET(CMAKE_C_SIZEOF_DATA_PTR "4") -SET(CMAKE_C_COMPILER_ABI "ELF") - -IF(CMAKE_C_SIZEOF_DATA_PTR) - SET(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") -ENDIF(CMAKE_C_SIZEOF_DATA_PTR) - -IF(CMAKE_C_COMPILER_ABI) - SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") -ENDIF(CMAKE_C_COMPILER_ABI) - -SET(CMAKE_C_HAS_ISYSROOT "") - - -SET(CMAKE_C_IMPLICIT_LINK_LIBRARIES "c") -SET(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake deleted file mode 100644 index 7613c41..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CMakeCXXCompiler.cmake +++ /dev/null @@ -1,45 +0,0 @@ -SET(CMAKE_CXX_COMPILER "/usr/bin/c++") -SET(CMAKE_CXX_COMPILER_ARG1 "") -SET(CMAKE_CXX_COMPILER_ID "GNU") -SET(CMAKE_CXX_PLATFORM_ID "Linux") - -SET(CMAKE_AR "/usr/bin/ar") -SET(CMAKE_RANLIB "/usr/bin/ranlib") -SET(CMAKE_LINKER "/usr/bin/ld") -SET(CMAKE_COMPILER_IS_GNUCXX 1) -SET(CMAKE_CXX_COMPILER_LOADED 1) -SET(CMAKE_COMPILER_IS_MINGW ) -SET(CMAKE_COMPILER_IS_CYGWIN ) -IF(CMAKE_COMPILER_IS_CYGWIN) - SET(CYGWIN 1) - SET(UNIX 1) -ENDIF(CMAKE_COMPILER_IS_CYGWIN) - -SET(CMAKE_CXX_COMPILER_ENV_VAR "CXX") - -IF(CMAKE_COMPILER_IS_MINGW) - SET(MINGW 1) -ENDIF(CMAKE_COMPILER_IS_MINGW) -SET(CMAKE_CXX_COMPILER_ID_RUN 1) -SET(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) -SET(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;CPP) -SET(CMAKE_CXX_LINKER_PREFERENCE 30) -SET(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) - -# Save compiler ABI information. -SET(CMAKE_CXX_SIZEOF_DATA_PTR "4") -SET(CMAKE_CXX_COMPILER_ABI "ELF") - -IF(CMAKE_CXX_SIZEOF_DATA_PTR) - SET(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") -ENDIF(CMAKE_CXX_SIZEOF_DATA_PTR) - -IF(CMAKE_CXX_COMPILER_ABI) - SET(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") -ENDIF(CMAKE_CXX_COMPILER_ABI) - -SET(CMAKE_CXX_HAS_ISYSROOT "") - - -SET(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;c") -SET(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu") diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin b/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin deleted file mode 100755 index b7710c0..0000000 Binary files a/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_C.bin and /dev/null differ diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin b/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin deleted file mode 100755 index 0e039b8..0000000 Binary files a/customdhcpcd/src/build/CMakeFiles/CMakeDetermineCompilerABI_CXX.bin and /dev/null differ diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake deleted file mode 100644 index e2e4141..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CMakeDirectoryInformation.cmake +++ /dev/null @@ -1,21 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# Relative path conversion top directories. -SET(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/niklas/fbgui/customdhcpcd/src") -SET(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/niklas/fbgui/customdhcpcd/src/build") - -# Force unix paths in dependencies. -SET(CMAKE_FORCE_UNIX_PATHS 1) - -# The C and CXX include file search paths: -SET(CMAKE_C_INCLUDE_PATH - ) -SET(CMAKE_CXX_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) -SET(CMAKE_Fortran_INCLUDE_PATH ${CMAKE_C_INCLUDE_PATH}) - -# The C and CXX include file regular expressions for this directory. -SET(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") -SET(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") -SET(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) -SET(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeOutput.log b/customdhcpcd/src/build/CMakeFiles/CMakeOutput.log deleted file mode 100644 index 473d070..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CMakeOutput.log +++ /dev/null @@ -1,240 +0,0 @@ -The system is: Linux - 2.6.38-10-generic-pae - i686 -Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. -Compiler: /usr/bin/gcc -Build flags: -Id flags: - -The output was: -0 - - -Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" - -The C compiler identification is GNU, found in "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out" - -Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. -Compiler: /usr/bin/c++ -Build flags: -Id flags: - -The output was: -0 -CMakeCXXCompilerId.cpp:79:58: warning: deprecated conversion from string constant to ‘char*’ -CMakeCXXCompilerId.cpp:192:58: warning: deprecated conversion from string constant to ‘char*’ -CMakeCXXCompilerId.cpp:193:54: warning: deprecated conversion from string constant to ‘char*’ - - -Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" - -The CXX compiler identification is GNU, found in "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out" - -Determining if the C compiler works passed with the following output: -Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -c /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/testCCompiler.c -Linking C executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/gcc CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.o -o cmTryCompileExec -rdynamic -make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' - - -Detecting C compiler ABI info compiled with the following output: -Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c -Linking C executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic -Using built-in specs. -COLLECT_GCC=/usr/bin/gcc -COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper -Target: i686-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu -Thread model: posix -gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) -COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ -LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686' - /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o -make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' - - -Parsed C implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] - ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] - ignore line: [make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1] - ignore line: [Building C object CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] - ignore line: [/usr/bin/gcc -o CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c] - ignore line: [Linking C executable cmTryCompileExec] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] - ignore line: [/usr/bin/gcc -v CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -o cmTryCompileExec -rdynamic ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/gcc] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] - ignore line: [Target: i686-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] - ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-mtune=generic' '-march=i686'] - link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_i386] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib/ld-linux.so.2] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTryCompileExec] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] - arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] - arg [CMakeFiles/cmTryCompileExec.dir/CMakeCCompilerABI.c.o] ==> ignore - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [-lc] ==> lib [c] - arg [-lgcc] ==> lib [gcc] - arg [--as-needed] ==> ignore - arg [-lgcc_s] ==> lib [gcc_s] - arg [--no-as-needed] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore - remove lib [gcc] - remove lib [gcc_s] - remove lib [gcc] - remove lib [gcc_s] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] - collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] - implicit libs: [c] - implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] - - -Determining if the CXX compiler works passed with the following output: -Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building CXX object CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -c /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx -Linking CXX executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/c++ CMakeFiles/cmTryCompileExec.dir/testCXXCompiler.cxx.o -o cmTryCompileExec -rdynamic -make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' - - -Detecting CXX compiler ABI info compiled with the following output: -Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp - -Run Build Command:/usr/bin/make "cmTryCompileExec/fast" -/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build -make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' -/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1 -Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp -Linking CXX executable cmTryCompileExec -/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1 -/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic -Using built-in specs. -COLLECT_GCC=/usr/bin/c++ -COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper -Target: i686-linux-gnu -Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu -Thread model: posix -gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) -COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/ -LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/ -COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686' - /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o -make[1]: Leaving directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp' - - -Parsed CXX implicit link information from above output: - link line regex: [^( *|.*[/\])(ld|ld|collect2)[^/\]*( |$)] - ignore line: [Change Dir: /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp] - ignore line: [] - ignore line: [Run Build Command:/usr/bin/make "cmTryCompileExec/fast"] - ignore line: [/usr/bin/make -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build] - ignore line: [make[1]: Entering directory `/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp'] - ignore line: [/usr/bin/cmake -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/CMakeTmp/CMakeFiles 1] - ignore line: [Building CXX object CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] - ignore line: [/usr/bin/c++ -o CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp] - ignore line: [Linking CXX executable cmTryCompileExec] - ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec.dir/link.txt --verbose=1] - ignore line: [/usr/bin/c++ -v CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -o cmTryCompileExec -rdynamic ] - ignore line: [Using built-in specs.] - ignore line: [COLLECT_GCC=/usr/bin/c++] - ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/lto-wrapper] - ignore line: [Target: i686-linux-gnu] - ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=i386-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/i386-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/i386-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --enable-targets=all --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=i686-linux-gnu --host=i686-linux-gnu --target=i686-linux-gnu] - ignore line: [Thread model: posix] - ignore line: [gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) ] - ignore line: [COMPILER_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/] - ignore line: [LIBRARY_PATH=/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/:/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../:/lib/:/usr/lib/:/usr/lib/i386-linux-gnu/] - ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTryCompileExec' '-rdynamic' '-shared-libgcc' '-mtune=generic' '-march=i686'] - link line: [ /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2 --build-id --eh-frame-hdr -m elf_i386 --hash-style=gnu -export-dynamic -dynamic-linker /lib/ld-linux.so.2 -z relro -o cmTryCompileExec /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2 -L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../.. -L/usr/lib/i386-linux-gnu CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o /usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/collect2] ==> ignore - arg [--build-id] ==> ignore - arg [--eh-frame-hdr] ==> ignore - arg [-m] ==> ignore - arg [elf_i386] ==> ignore - arg [--hash-style=gnu] ==> ignore - arg [-export-dynamic] ==> ignore - arg [-dynamic-linker] ==> ignore - arg [/lib/ld-linux.so.2] ==> ignore - arg [-zrelro] ==> ignore - arg [-o] ==> ignore - arg [cmTryCompileExec] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crti.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtbegin.o] ==> ignore - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - arg [-L/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] - arg [-L/usr/lib/i386-linux-gnu] ==> dir [/usr/lib/i386-linux-gnu] - arg [CMakeFiles/cmTryCompileExec.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore - arg [-lstdc++] ==> lib [stdc++] - arg [-lm] ==> lib [m] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [-lc] ==> lib [c] - arg [-lgcc_s] ==> lib [gcc_s] - arg [-lgcc] ==> lib [gcc] - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/crtend.o] ==> ignore - arg [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crtn.o] ==> ignore - remove lib [gcc_s] - remove lib [gcc] - remove lib [gcc_s] - remove lib [gcc] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] ==> [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2] - collapse dir [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../..] ==> [/usr/lib/i386-linux-gnu] - collapse dir [/usr/lib/i386-linux-gnu] ==> [/usr/lib/i386-linux-gnu] - implicit libs: [stdc++;m;c] - implicit dirs: [/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2;/usr/lib/i386-linux-gnu] - - diff --git a/customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake b/customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake deleted file mode 100644 index 278db3c..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CMakeSystem.cmake +++ /dev/null @@ -1,15 +0,0 @@ - - -SET(CMAKE_SYSTEM "Linux-2.6.38-10-generic-pae") -SET(CMAKE_SYSTEM_NAME "Linux") -SET(CMAKE_SYSTEM_VERSION "2.6.38-10-generic-pae") -SET(CMAKE_SYSTEM_PROCESSOR "i686") - -SET(CMAKE_HOST_SYSTEM "Linux-2.6.38-10-generic-pae") -SET(CMAKE_HOST_SYSTEM_NAME "Linux") -SET(CMAKE_HOST_SYSTEM_VERSION "2.6.38-10-generic-pae") -SET(CMAKE_HOST_SYSTEM_PROCESSOR "i686") - -SET(CMAKE_CROSSCOMPILING "FALSE") - -SET(CMAKE_SYSTEM_LOADED 1) diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c b/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c deleted file mode 100644 index efa5677..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CompilerIdC/CMakeCCompilerId.c +++ /dev/null @@ -1,220 +0,0 @@ -#ifdef __cplusplus -# error "A C++ compiler has been selected for C." -#endif - -#if defined(__18CXX) -# define ID_VOID_MAIN -#endif - -#if defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" - -#elif defined(__clang__) -# define COMPILER_ID "Clang" - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - -#elif defined(__WATCOMC__) -# define COMPILER_ID "Watcom" - -#elif defined(__SUNPRO_C) -# define COMPILER_ID "SunPro" - -#elif defined(__HP_cc) -# define COMPILER_ID "HP" - -#elif defined(__DECC) -# define COMPILER_ID "Compaq" - -#elif defined(__IBMC__) -# if defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" -# elif __IBMC__ >= 800 -# define COMPILER_ID "XL" -# else -# define COMPILER_ID "VisualAge" -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" - -#elif defined(__PATHSCALE__) -# define COMPILER_ID "PathScale" - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - -#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -/* Analog Devices C++ compiler for Blackfin, TigerSHARC and - SHARC (21000) DSPs */ -# define COMPILER_ID "ADSP" - -/* IAR Systems compiler for embedded systems. - http://www.iar.com - Not supported yet by CMake -#elif defined(__IAR_SYSTEMS_ICC__) -# define COMPILER_ID "IAR" */ - -/* sdcc, the small devices C compiler for embedded systems, - http://sdcc.sourceforge.net */ -#elif defined(SDCC) -# define COMPILER_ID "SDCC" - -#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) -# define COMPILER_ID "MIPSpro" - -/* This compiler is either not known or is too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__sgi) -# define COMPILER_ID "MIPSpro" - -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" - -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) -# define PLATFORM_ID "IRIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) -# define PLATFORM_ID "Haiku" -/* Haiku also defines __BEOS__ so we must - put it prior to the check for __BEOS__ -*/ - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#else /* unknown platform */ -# define PLATFORM_ID "" - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is becase - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -/*--------------------------------------------------------------------------*/ - -#ifdef ID_VOID_MAIN -void main() {} -#else -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - require += info_arch[argc]; - (void)argv; - return require; -} -#endif diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out b/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out deleted file mode 100755 index 0a9888a..0000000 Binary files a/customdhcpcd/src/build/CMakeFiles/CompilerIdC/a.out and /dev/null differ diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp b/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp deleted file mode 100644 index 4c2289b..0000000 --- a/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/CMakeCXXCompilerId.cpp +++ /dev/null @@ -1,206 +0,0 @@ -/* This source file must have a .cpp extension so that all C++ compilers - recognize the extension without flags. Borland does not know .cxx for - example. */ -#ifndef __cplusplus -# error "A C compiler has been selected for C++." -#endif - -#if defined(__COMO__) -# define COMPILER_ID "Comeau" - -#elif defined(__INTEL_COMPILER) || defined(__ICC) -# define COMPILER_ID "Intel" - -#elif defined(__clang__) -# define COMPILER_ID "Clang" - -#elif defined(__BORLANDC__) -# define COMPILER_ID "Borland" - -#elif defined(__WATCOMC__) -# define COMPILER_ID "Watcom" - -#elif defined(__SUNPRO_CC) -# define COMPILER_ID "SunPro" - -#elif defined(__HP_aCC) -# define COMPILER_ID "HP" - -#elif defined(__DECCXX) -# define COMPILER_ID "Compaq" - -#elif defined(__IBMCPP__) -# if defined(__COMPILER_VER__) -# define COMPILER_ID "zOS" -# elif __IBMCPP__ >= 800 -# define COMPILER_ID "XL" -# else -# define COMPILER_ID "VisualAge" -# endif - -#elif defined(__PGI) -# define COMPILER_ID "PGI" - -#elif defined(__PATHSCALE__) -# define COMPILER_ID "PathScale" - -#elif defined(__GNUC__) -# define COMPILER_ID "GNU" - -#elif defined(_MSC_VER) -# define COMPILER_ID "MSVC" - -#elif defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) -/* Analog Devices C++ compiler for Blackfin, TigerSHARC and - SHARC (21000) DSPs */ -# define COMPILER_ID "ADSP" - -#elif defined(_SGI_COMPILER_VERSION) || defined(_COMPILER_VERSION) -# define COMPILER_ID "MIPSpro" - -/* This compiler is either not known or is too old to define an - identification macro. Try to identify the platform and guess that - it is the native compiler. */ -#elif defined(__sgi) -# define COMPILER_ID "MIPSpro" - -#elif defined(__hpux) || defined(__hpua) -# define COMPILER_ID "HP" - -#else /* unknown compiler */ -# define COMPILER_ID "" - -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; - -/* Identify known platforms by name. */ -#if defined(__linux) || defined(__linux__) || defined(linux) -# define PLATFORM_ID "Linux" - -#elif defined(__CYGWIN__) -# define PLATFORM_ID "Cygwin" - -#elif defined(__MINGW32__) -# define PLATFORM_ID "MinGW" - -#elif defined(__APPLE__) -# define PLATFORM_ID "Darwin" - -#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) -# define PLATFORM_ID "Windows" - -#elif defined(__FreeBSD__) || defined(__FreeBSD) -# define PLATFORM_ID "FreeBSD" - -#elif defined(__NetBSD__) || defined(__NetBSD) -# define PLATFORM_ID "NetBSD" - -#elif defined(__OpenBSD__) || defined(__OPENBSD) -# define PLATFORM_ID "OpenBSD" - -#elif defined(__sun) || defined(sun) -# define PLATFORM_ID "SunOS" - -#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) -# define PLATFORM_ID "AIX" - -#elif defined(__sgi) || defined(__sgi__) || defined(_SGI) -# define PLATFORM_ID "IRIX" - -#elif defined(__hpux) || defined(__hpux__) -# define PLATFORM_ID "HP-UX" - -#elif defined(__HAIKU) || defined(__HAIKU__) || defined(_HAIKU) -# define PLATFORM_ID "Haiku" -/* Haiku also defines __BEOS__ so we must - put it prior to the check for __BEOS__ -*/ - -#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) -# define PLATFORM_ID "BeOS" - -#elif defined(__QNX__) || defined(__QNXNTO__) -# define PLATFORM_ID "QNX" - -#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) -# define PLATFORM_ID "Tru64" - -#elif defined(__riscos) || defined(__riscos__) -# define PLATFORM_ID "RISCos" - -#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) -# define PLATFORM_ID "SINIX" - -#elif defined(__UNIX_SV__) -# define PLATFORM_ID "UNIX_SV" - -#elif defined(__bsdos__) -# define PLATFORM_ID "BSDOS" - -#elif defined(_MPRAS) || defined(MPRAS) -# define PLATFORM_ID "MP-RAS" - -#elif defined(__osf) || defined(__osf__) -# define PLATFORM_ID "OSF1" - -#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) -# define PLATFORM_ID "SCO_SV" - -#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) -# define PLATFORM_ID "ULTRIX" - -#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) -# define PLATFORM_ID "Xenix" - -#else /* unknown platform */ -# define PLATFORM_ID "" - -#endif - -/* For windows compilers MSVC and Intel we can determine - the architecture of the compiler being used. This is becase - the compilers do not have flags that can change the architecture, - but rather depend on which compiler is being used -*/ -#if defined(_WIN32) && defined(_MSC_VER) -# if defined(_M_IA64) -# define ARCHITECTURE_ID "IA64" - -# elif defined(_M_X64) || defined(_M_AMD64) -# define ARCHITECTURE_ID "x64" - -# elif defined(_M_IX86) -# define ARCHITECTURE_ID "X86" - -# else /* unknown architecture */ -# define ARCHITECTURE_ID "" -# endif - -#else -# define ARCHITECTURE_ID "" -#endif - -/* Construct the string literal in pieces to prevent the source from - getting matched. Store it in a pointer rather than an array - because some compilers will just produce instructions to fill the - array rather than assigning a pointer to a static array. */ -char* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; -char* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; - - - -/*--------------------------------------------------------------------------*/ - -int main(int argc, char* argv[]) -{ - int require = 0; - require += info_compiler[argc]; - require += info_platform[argc]; - (void)argv; - return require; -} diff --git a/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out b/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out deleted file mode 100755 index b564314..0000000 Binary files a/customdhcpcd/src/build/CMakeFiles/CompilerIdCXX/a.out and /dev/null differ diff --git a/customdhcpcd/src/build/CMakeFiles/Makefile.cmake b/customdhcpcd/src/build/CMakeFiles/Makefile.cmake deleted file mode 100644 index 606e601..0000000 --- a/customdhcpcd/src/build/CMakeFiles/Makefile.cmake +++ /dev/null @@ -1,60 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# The generator used is: -SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") - -# The top level Makefile was generated from the following files: -SET(CMAKE_MAKEFILE_DEPENDS - "CMakeCache.txt" - "../CMakeLists.txt" - "CMakeFiles/CMakeCCompiler.cmake" - "CMakeFiles/CMakeCXXCompiler.cmake" - "CMakeFiles/CMakeSystem.cmake" - "/usr/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in" - "/usr/share/cmake-2.8/Modules/CMakeCCompilerABI.c" - "/usr/share/cmake-2.8/Modules/CMakeCInformation.cmake" - "/usr/share/cmake-2.8/Modules/CMakeCXXCompiler.cmake.in" - "/usr/share/cmake-2.8/Modules/CMakeCXXCompilerABI.cpp" - "/usr/share/cmake-2.8/Modules/CMakeCXXInformation.cmake" - "/usr/share/cmake-2.8/Modules/CMakeCommonLanguageInclude.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCXXCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerABI.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake" - "/usr/share/cmake-2.8/Modules/CMakeDetermineSystem.cmake" - "/usr/share/cmake-2.8/Modules/CMakeFindBinUtils.cmake" - "/usr/share/cmake-2.8/Modules/CMakeGenericSystem.cmake" - "/usr/share/cmake-2.8/Modules/CMakeParseImplicitLinkInfo.cmake" - "/usr/share/cmake-2.8/Modules/CMakeSystem.cmake.in" - "/usr/share/cmake-2.8/Modules/CMakeSystemSpecificInformation.cmake" - "/usr/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake" - "/usr/share/cmake-2.8/Modules/CMakeTestCompilerCommon.cmake" - "/usr/share/cmake-2.8/Modules/CMakeUnixFindMake.cmake" - "/usr/share/cmake-2.8/Modules/Compiler/GNU-C.cmake" - "/usr/share/cmake-2.8/Modules/Compiler/GNU-CXX.cmake" - "/usr/share/cmake-2.8/Modules/Compiler/GNU.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-C.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU-CXX.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux-GNU.cmake" - "/usr/share/cmake-2.8/Modules/Platform/Linux.cmake" - "/usr/share/cmake-2.8/Modules/Platform/UnixPaths.cmake" - ) - -# The corresponding makefile is: -SET(CMAKE_MAKEFILE_OUTPUTS - "Makefile" - "CMakeFiles/cmake.check_cache" - ) - -# Byproducts of CMake generate step: -SET(CMAKE_MAKEFILE_PRODUCTS - "CMakeFiles/CMakeDirectoryInformation.cmake" - ) - -# Dependency information for all targets: -SET(CMAKE_DEPEND_INFO_FILES - "CMakeFiles/customdhcpcd.dir/DependInfo.cmake" - "CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake" - ) diff --git a/customdhcpcd/src/build/CMakeFiles/Makefile2 b/customdhcpcd/src/build/CMakeFiles/Makefile2 deleted file mode 100644 index b202eec..0000000 --- a/customdhcpcd/src/build/CMakeFiles/Makefile2 +++ /dev/null @@ -1,131 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -# The main recursive all target -all: -.PHONY : all - -# The main recursive preinstall target -preinstall: -.PHONY : preinstall - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build - -#============================================================================= -# Target rules for target CMakeFiles/customdhcpcd.dir - -# All Build rule for target. -CMakeFiles/customdhcpcd.dir/all: CMakeFiles/libcustomdhcpcd.dir/all - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/depend - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/build - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 1 - @echo "Built target customdhcpcd" -.PHONY : CMakeFiles/customdhcpcd.dir/all - -# Include target in all. -all: CMakeFiles/customdhcpcd.dir/all -.PHONY : all - -# Build rule for subdir invocation for target. -CMakeFiles/customdhcpcd.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 15 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/customdhcpcd.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 -.PHONY : CMakeFiles/customdhcpcd.dir/rule - -# Convenience name for target. -customdhcpcd: CMakeFiles/customdhcpcd.dir/rule -.PHONY : customdhcpcd - -# clean rule for target. -CMakeFiles/customdhcpcd.dir/clean: - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/clean -.PHONY : CMakeFiles/customdhcpcd.dir/clean - -# clean rule for target. -clean: CMakeFiles/customdhcpcd.dir/clean -.PHONY : clean - -#============================================================================= -# Target rules for target CMakeFiles/libcustomdhcpcd.dir - -# All Build rule for target. -CMakeFiles/libcustomdhcpcd.dir/all: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/depend - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/build - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 2 3 4 5 6 7 8 9 10 11 12 13 14 15 - @echo "Built target libcustomdhcpcd" -.PHONY : CMakeFiles/libcustomdhcpcd.dir/all - -# Include target in all. -all: CMakeFiles/libcustomdhcpcd.dir/all -.PHONY : all - -# Build rule for subdir invocation for target. -CMakeFiles/libcustomdhcpcd.dir/rule: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 14 - $(MAKE) -f CMakeFiles/Makefile2 CMakeFiles/libcustomdhcpcd.dir/all - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 -.PHONY : CMakeFiles/libcustomdhcpcd.dir/rule - -# Convenience name for target. -libcustomdhcpcd: CMakeFiles/libcustomdhcpcd.dir/rule -.PHONY : libcustomdhcpcd - -# clean rule for target. -CMakeFiles/libcustomdhcpcd.dir/clean: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/clean -.PHONY : CMakeFiles/libcustomdhcpcd.dir/clean - -# clean rule for target. -clean: CMakeFiles/libcustomdhcpcd.dir/clean -.PHONY : clean - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt b/customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt deleted file mode 100644 index 0549a5f..0000000 --- a/customdhcpcd/src/build/CMakeFiles/TargetDirectories.txt +++ /dev/null @@ -1,2 +0,0 @@ -/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir -/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir diff --git a/customdhcpcd/src/build/CMakeFiles/cmake.check_cache b/customdhcpcd/src/build/CMakeFiles/cmake.check_cache deleted file mode 100644 index 3dccd73..0000000 --- a/customdhcpcd/src/build/CMakeFiles/cmake.check_cache +++ /dev/null @@ -1 +0,0 @@ -# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache deleted file mode 100644 index f5ffc8c..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/C.includecache +++ /dev/null @@ -1,154 +0,0 @@ -#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/niklas/fbgui/customdhcpcd/src/client.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - -/home/niklas/fbgui/customdhcpcd/src/common.h -sys/time.h -- -stdio.h -- -string.h -- - -/home/niklas/fbgui/customdhcpcd/src/config.h - -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -netinet/in_systm.h -- -netinet/in.h -- -netinet/ip.h -- -netinet/udp.h -- -stdint.h -- -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c -sys/file.h -- -sys/types.h -- -sys/stat.h -- -arpa/inet.h -- -errno.h -- -fcntl.h -- -getopt.h -- -paths.h -- -signal.h -- -stdbool.h -- -stdio.h -- -stdlib.h -- -string.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -client.h -/home/niklas/fbgui/customdhcpcd/src/client.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h -version.h -/home/niklas/fbgui/customdhcpcd/src/version.h -logwriter.h -/home/niklas/fbgui/customdhcpcd/src/logwriter.h -status.h -/home/niklas/fbgui/customdhcpcd/src/status.h - -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -sys/param.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -limits.h -- -stdbool.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h - -/home/niklas/fbgui/customdhcpcd/src/interface.h -sys/types.h -- -sys/param.h -- -sys/queue.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -netinet/if_ether.h -- -limits.h -- -stdbool.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -linux/netlink.h -- - -/home/niklas/fbgui/customdhcpcd/src/logger.h -syslog.h -- - -/home/niklas/fbgui/customdhcpcd/src/logwriter.h -arpa/inet.h -- -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - -/home/niklas/fbgui/customdhcpcd/src/socket.h -stdbool.h -- -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/status.h - -/home/niklas/fbgui/customdhcpcd/src/version.h - diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake deleted file mode 100644 index 0a4f88d..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake +++ /dev/null @@ -1,14 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -SET(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -SET(CMAKE_DEPENDS_CHECK_C - "/home/niklas/fbgui/customdhcpcd/src/dhcpcd.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" - ) -SET(CMAKE_C_COMPILER_ID "GNU") - -# Targets to which this target links. -SET(CMAKE_TARGET_LINKED_INFO_FILES - "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake" - ) diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make deleted file mode 100644 index d34edb9..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/build.make +++ /dev/null @@ -1,101 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build - -# Include any dependencies generated for this target. -include CMakeFiles/customdhcpcd.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/customdhcpcd.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/customdhcpcd.dir/flags.make - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: CMakeFiles/customdhcpcd.dir/flags.make -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_1) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/customdhcpcd.dir/dhcpcd.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c > CMakeFiles/customdhcpcd.dir/dhcpcd.c.i - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/customdhcpcd.dir/dhcpcd.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c -o CMakeFiles/customdhcpcd.dir/dhcpcd.c.s - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires: -.PHONY : CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides.build -.PHONY : CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides.build: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -.PHONY : CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.provides.build - -# Object files for target customdhcpcd -customdhcpcd_OBJECTS = \ -"CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" - -# External object files for target customdhcpcd -customdhcpcd_EXTERNAL_OBJECTS = - -customdhcpcd: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -customdhcpcd: liblibcustomdhcpcd.so -customdhcpcd: CMakeFiles/customdhcpcd.dir/build.make -customdhcpcd: CMakeFiles/customdhcpcd.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C executable customdhcpcd" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/customdhcpcd.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/customdhcpcd.dir/build: customdhcpcd -.PHONY : CMakeFiles/customdhcpcd.dir/build - -CMakeFiles/customdhcpcd.dir/requires: CMakeFiles/customdhcpcd.dir/dhcpcd.c.o.requires -.PHONY : CMakeFiles/customdhcpcd.dir/requires - -CMakeFiles/customdhcpcd.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/customdhcpcd.dir/cmake_clean.cmake -.PHONY : CMakeFiles/customdhcpcd.dir/clean - -CMakeFiles/customdhcpcd.dir/depend: - cd /home/niklas/fbgui/customdhcpcd/src/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/customdhcpcd.dir/depend - diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake deleted file mode 100644 index 642a0a9..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/cmake_clean.cmake +++ /dev/null @@ -1,10 +0,0 @@ -FILE(REMOVE_RECURSE - "CMakeFiles/customdhcpcd.dir/dhcpcd.c.o" - "customdhcpcd.pdb" - "customdhcpcd" -) - -# Per-language clean rules from dependency scanning. -FOREACH(lang C) - INCLUDE(CMakeFiles/customdhcpcd.dir/cmake_clean_${lang}.cmake OPTIONAL) -ENDFOREACH(lang) diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal deleted file mode 100644 index 0833ad6..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.internal +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o - /home/niklas/fbgui/customdhcpcd/src/client.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.c - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/logwriter.h - /home/niklas/fbgui/customdhcpcd/src/socket.h - /home/niklas/fbgui/customdhcpcd/src/status.h - /home/niklas/fbgui/customdhcpcd/src/version.h diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make deleted file mode 100644 index a7a0008..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/depend.make +++ /dev/null @@ -1,16 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../client.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../common.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../config.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcp.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.c -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../dhcpcd.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../interface.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../logger.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../logwriter.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../socket.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../status.h -CMakeFiles/customdhcpcd.dir/dhcpcd.c.o: ../version.h - diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make deleted file mode 100644 index 1d28a45..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/flags.make +++ /dev/null @@ -1,8 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# compile C with /usr/bin/gcc -C_FLAGS = -lrt - -C_DEFINES = - diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt deleted file mode 100644 index ae32338..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/gcc -lrt CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -o customdhcpcd -rdynamic liblibcustomdhcpcd.so -Wl,-rpath,/home/niklas/fbgui/customdhcpcd/src/build diff --git a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make b/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make deleted file mode 100644 index 781c7de..0000000 --- a/customdhcpcd/src/build/CMakeFiles/customdhcpcd.dir/progress.make +++ /dev/null @@ -1,2 +0,0 @@ -CMAKE_PROGRESS_1 = 1 - diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache deleted file mode 100644 index a516109..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/C.includecache +++ /dev/null @@ -1,640 +0,0 @@ -#IncludeRegexLine: ^[ ]*#[ ]*(include|import)[ ]*[<"]([^">]+)([">]) - -#IncludeRegexScan: ^.*$ - -#IncludeRegexComplain: ^$ - -#IncludeRegexTransform: - -/home/niklas/fbgui/customdhcpcd/src/../../common/fbgui.h - -/home/niklas/fbgui/customdhcpcd/src/arp.c -sys/time.h -- -sys/types.h -- -sys/ioctl.h -- -sys/socket.h -- -netinet/in_systm.h -- -netinet/ether.h -- -netpacket/packet.h -- -net/if.h -- -net/if_arp.h -- -arpa/inet.h -- -errno.h -- -poll.h -- -stdlib.h -- -string.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -arp.h -/home/niklas/fbgui/customdhcpcd/src/arp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -signal.h -/home/niklas/fbgui/customdhcpcd/src/signal.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h - -/home/niklas/fbgui/customdhcpcd/src/arp.h -netinet/in.h -- -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/client.c -sys/time.h -- -sys/types.h -- -arpa/inet.h -- -netinet/ether.h -- -ctype.h -- -errno.h -- -poll.h -- -signal.h -- -stdbool.h -- -stdlib.h -- -stdio.h -- -string.h -- -time.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -arp.h -/home/niklas/fbgui/customdhcpcd/src/arp.h -client.h -/home/niklas/fbgui/customdhcpcd/src/client.h -configure.h -/home/niklas/fbgui/customdhcpcd/src/configure.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -info.h -/home/niklas/fbgui/customdhcpcd/src/info.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -ipv4ll.h -/home/niklas/fbgui/customdhcpcd/src/ipv4ll.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -signal.h -/home/niklas/fbgui/customdhcpcd/src/signal.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h -logwriter.h -/home/niklas/fbgui/customdhcpcd/src/logwriter.h -status.h -/home/niklas/fbgui/customdhcpcd/src/status.h -duid.h -/home/niklas/fbgui/customdhcpcd/src/duid.h -info.h -/home/niklas/fbgui/customdhcpcd/src/info.h - -/home/niklas/fbgui/customdhcpcd/src/client.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - -/home/niklas/fbgui/customdhcpcd/src/common.c -sys/time.h -- -errno.h -- -fcntl.h -- -stdio.h -- -stdlib.h -- -string.h -- -time.h -- -unistd.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h - -/home/niklas/fbgui/customdhcpcd/src/common.h -sys/time.h -- -stdio.h -- -string.h -- - -/home/niklas/fbgui/customdhcpcd/src/config.h - -/home/niklas/fbgui/customdhcpcd/src/configure.c -sys/types.h -- -sys/ioctl.h -- -sys/param.h -- -sys/socket.h -- -sys/stat.h -- -arpa/inet.h -- -netinet/in.h -- -netinet/ether.h -- -string.h -- -errno.h -- -netdb.h -- -resolv.h -- -signal.h -- -stdarg.h -- -stdlib.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -configure.h -/home/niklas/fbgui/customdhcpcd/src/configure.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -info.h -/home/niklas/fbgui/customdhcpcd/src/info.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -signal.h -/home/niklas/fbgui/customdhcpcd/src/signal.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h -status.h -/home/niklas/fbgui/customdhcpcd/src/status.h -logwriter.h -/home/niklas/fbgui/customdhcpcd/src/logwriter.h - -/home/niklas/fbgui/customdhcpcd/src/configure.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h - -/home/niklas/fbgui/customdhcpcd/src/dhcp.c -sys/types.h -- -sys/socket.h -- -sys/time.h -- -netinet/in.h -- -net/if_arp.h -- -arpa/inet.h -- -errno.h -- -limits.h -- -math.h -- -stdio.h -- -stdint.h -- -stdlib.h -- -string.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h - -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -netinet/in_systm.h -- -netinet/in.h -- -netinet/ip.h -- -netinet/udp.h -- -stdint.h -- -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -sys/param.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -limits.h -- -stdbool.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h - -/home/niklas/fbgui/customdhcpcd/src/discover.c - -/home/niklas/fbgui/customdhcpcd/src/duid.c -arpa/inet.h -- -errno.h -- -stdbool.h -- -stdlib.h -- -stdio.h -- -string.h -- -unistd.h -- -time.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -duid.h -/home/niklas/fbgui/customdhcpcd/src/duid.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h - -/home/niklas/fbgui/customdhcpcd/src/duid.h -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/info.c -sys/stat.h -- -arpa/inet.h -- -string.h -- -errno.h -- -stdio.h -- -stdlib.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -info.h -/home/niklas/fbgui/customdhcpcd/src/info.h - -/home/niklas/fbgui/customdhcpcd/src/info.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h - -/home/niklas/fbgui/customdhcpcd/src/interface.c -sys/types.h -- -sys/socket.h -- -sys/stat.h -- -sys/ioctl.h -- -sys/param.h -- -arpa/inet.h -- -asm/types.h -- -linux/netlink.h -- -linux/rtnetlink.h -- -netinet/ether.h -- -netpacket/packet.h -- -net/if_dl.h -- -net/if_types.h -- -net/route.h -- -netinet/in.h -- -ctype.h -- -errno.h -- -stddef.h -- -stdio.h -- -stdlib.h -- -string.h -- -unistd.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h - -/home/niklas/fbgui/customdhcpcd/src/interface.h -sys/types.h -- -sys/param.h -- -sys/queue.h -- -sys/socket.h -- -net/if.h -- -netinet/in.h -- -netinet/if_ether.h -- -limits.h -- -stdbool.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -linux/netlink.h -- - -/home/niklas/fbgui/customdhcpcd/src/ipv4ll.c -errno.h -- -stdlib.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -arp.h -/home/niklas/fbgui/customdhcpcd/src/arp.h -ipv4ll.h -/home/niklas/fbgui/customdhcpcd/src/ipv4ll.h - -/home/niklas/fbgui/customdhcpcd/src/ipv4ll.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/logger.c -sys/types.h -- -sys/socket.h -- -sys/un.h -- -ctype.h -- -stdarg.h -- -stdio.h -- -stdlib.h -- -string.h -- -syslog.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -logwriter.h -/home/niklas/fbgui/customdhcpcd/src/logwriter.h - -/home/niklas/fbgui/customdhcpcd/src/logger.h -syslog.h -- - -/home/niklas/fbgui/customdhcpcd/src/logwriter.c -arpa/inet.h -- -sys/types.h -- -sys/socket.h -- -sys/un.h -- -ctype.h -- -stdarg.h -- -stdio.h -- -stdlib.h -- -string.h -- -syslog.h -- -unistd.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h -errno.h -/home/niklas/fbgui/customdhcpcd/src/errno.h -info.h -/home/niklas/fbgui/customdhcpcd/src/info.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -logwriter.h -/home/niklas/fbgui/customdhcpcd/src/logwriter.h -status.h -/home/niklas/fbgui/customdhcpcd/src/status.h -../../common/fbgui.h -/home/niklas/fbgui/customdhcpcd/src/../../common/fbgui.h - -/home/niklas/fbgui/customdhcpcd/src/logwriter.h -arpa/inet.h -- -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -dhcpcd.h -/home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - -/home/niklas/fbgui/customdhcpcd/src/signal.c -sys/types.h -- -sys/socket.h -- -errno.h -- -poll.h -- -signal.h -- -string.h -- -unistd.h -- -common.h -/home/niklas/fbgui/customdhcpcd/src/common.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -signal.h -/home/niklas/fbgui/customdhcpcd/src/signal.h - -/home/niklas/fbgui/customdhcpcd/src/signal.h -poll.h -- - -/home/niklas/fbgui/customdhcpcd/src/socket.c -sys/types.h -- -sys/ioctl.h -- -sys/param.h -- -sys/socket.h -- -sys/uio.h -- -net/if.h -- -netinet/in_systm.h -- -netinet/in.h -- -netinet/udp.h -- -arpa/inet.h -- -errno.h -- -fcntl.h -- -stdio.h -- -stdlib.h -- -string.h -- -time.h -- -unistd.h -- -net/bpf.h -- -linux/filter.h -- -netpacket/packet.h -- -config.h -/home/niklas/fbgui/customdhcpcd/src/config.h -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h -logger.h -/home/niklas/fbgui/customdhcpcd/src/logger.h -socket.h -/home/niklas/fbgui/customdhcpcd/src/socket.h - -/home/niklas/fbgui/customdhcpcd/src/socket.h -stdbool.h -- -dhcp.h -/home/niklas/fbgui/customdhcpcd/src/dhcp.h -interface.h -/home/niklas/fbgui/customdhcpcd/src/interface.h - -/home/niklas/fbgui/customdhcpcd/src/status.h - diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake deleted file mode 100644 index 755bdc7..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# The set of languages for which implicit dependencies are needed: -SET(CMAKE_DEPENDS_LANGUAGES - "C" - ) -# The set of files for implicit dependencies of each language: -SET(CMAKE_DEPENDS_CHECK_C - "/home/niklas/fbgui/customdhcpcd/src/arp.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/arp.c.o" - "/home/niklas/fbgui/customdhcpcd/src/client.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/client.c.o" - "/home/niklas/fbgui/customdhcpcd/src/common.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/common.c.o" - "/home/niklas/fbgui/customdhcpcd/src/configure.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/configure.c.o" - "/home/niklas/fbgui/customdhcpcd/src/dhcp.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" - "/home/niklas/fbgui/customdhcpcd/src/discover.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/discover.c.o" - "/home/niklas/fbgui/customdhcpcd/src/duid.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/duid.c.o" - "/home/niklas/fbgui/customdhcpcd/src/info.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/info.c.o" - "/home/niklas/fbgui/customdhcpcd/src/interface.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/interface.c.o" - "/home/niklas/fbgui/customdhcpcd/src/ipv4ll.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" - "/home/niklas/fbgui/customdhcpcd/src/logger.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/logger.c.o" - "/home/niklas/fbgui/customdhcpcd/src/logwriter.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" - "/home/niklas/fbgui/customdhcpcd/src/signal.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/signal.c.o" - "/home/niklas/fbgui/customdhcpcd/src/socket.c" "/home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/socket.c.o" - ) -SET(CMAKE_C_COMPILER_ID "GNU") - -# Targets to which this target links. -SET(CMAKE_TARGET_LINKED_INFO_FILES - ) diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make deleted file mode 100644 index c2e1014..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/build.make +++ /dev/null @@ -1,451 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build - -# Include any dependencies generated for this target. -include CMakeFiles/libcustomdhcpcd.dir/depend.make - -# Include the progress variables for this target. -include CMakeFiles/libcustomdhcpcd.dir/progress.make - -# Include the compile flags for this target's objects. -include CMakeFiles/libcustomdhcpcd.dir/flags.make - -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_1) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/arp.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/arp.c.o -c /home/niklas/fbgui/customdhcpcd/src/arp.c - -CMakeFiles/libcustomdhcpcd.dir/arp.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/arp.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/arp.c > CMakeFiles/libcustomdhcpcd.dir/arp.c.i - -CMakeFiles/libcustomdhcpcd.dir/arp.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/arp.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/arp.c -o CMakeFiles/libcustomdhcpcd.dir/arp.c.s - -CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/arp.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/arp.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_2) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/configure.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/configure.c.o -c /home/niklas/fbgui/customdhcpcd/src/configure.c - -CMakeFiles/libcustomdhcpcd.dir/configure.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/configure.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/configure.c > CMakeFiles/libcustomdhcpcd.dir/configure.c.i - -CMakeFiles/libcustomdhcpcd.dir/configure.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/configure.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/configure.c -o CMakeFiles/libcustomdhcpcd.dir/configure.c.s - -CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/configure.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/configure.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/info.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_3) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/info.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/info.c.o -c /home/niklas/fbgui/customdhcpcd/src/info.c - -CMakeFiles/libcustomdhcpcd.dir/info.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/info.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/info.c > CMakeFiles/libcustomdhcpcd.dir/info.c.i - -CMakeFiles/libcustomdhcpcd.dir/info.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/info.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/info.c -o CMakeFiles/libcustomdhcpcd.dir/info.c.s - -CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/info.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/info.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_4) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logger.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logger.c.o -c /home/niklas/fbgui/customdhcpcd/src/logger.c - -CMakeFiles/libcustomdhcpcd.dir/logger.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logger.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logger.c > CMakeFiles/libcustomdhcpcd.dir/logger.c.i - -CMakeFiles/libcustomdhcpcd.dir/logger.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logger.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logger.c -o CMakeFiles/libcustomdhcpcd.dir/logger.c.s - -CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logger.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logger.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_5) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/socket.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/socket.c.o -c /home/niklas/fbgui/customdhcpcd/src/socket.c - -CMakeFiles/libcustomdhcpcd.dir/socket.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/socket.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/socket.c > CMakeFiles/libcustomdhcpcd.dir/socket.c.i - -CMakeFiles/libcustomdhcpcd.dir/socket.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/socket.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/socket.c -o CMakeFiles/libcustomdhcpcd.dir/socket.c.s - -CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/socket.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/socket.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/client.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_6) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/client.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/client.c.o -c /home/niklas/fbgui/customdhcpcd/src/client.c - -CMakeFiles/libcustomdhcpcd.dir/client.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/client.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/client.c > CMakeFiles/libcustomdhcpcd.dir/client.c.i - -CMakeFiles/libcustomdhcpcd.dir/client.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/client.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/client.c -o CMakeFiles/libcustomdhcpcd.dir/client.c.s - -CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/client.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/client.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/discover.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/discover.c.o: ../discover.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_7) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/discover.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/discover.c.o -c /home/niklas/fbgui/customdhcpcd/src/discover.c - -CMakeFiles/libcustomdhcpcd.dir/discover.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/discover.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/discover.c > CMakeFiles/libcustomdhcpcd.dir/discover.c.i - -CMakeFiles/libcustomdhcpcd.dir/discover.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/discover.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/discover.c -o CMakeFiles/libcustomdhcpcd.dir/discover.c.s - -CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/discover.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/discover.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_8) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/interface.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/interface.c.o -c /home/niklas/fbgui/customdhcpcd/src/interface.c - -CMakeFiles/libcustomdhcpcd.dir/interface.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/interface.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/interface.c > CMakeFiles/libcustomdhcpcd.dir/interface.c.i - -CMakeFiles/libcustomdhcpcd.dir/interface.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/interface.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/interface.c -o CMakeFiles/libcustomdhcpcd.dir/interface.c.s - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/interface.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/interface.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_9) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -c /home/niklas/fbgui/customdhcpcd/src/logwriter.c - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/logwriter.c > CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/logwriter.c -o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/common.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_10) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/common.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/common.c.o -c /home/niklas/fbgui/customdhcpcd/src/common.c - -CMakeFiles/libcustomdhcpcd.dir/common.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/common.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/common.c > CMakeFiles/libcustomdhcpcd.dir/common.c.i - -CMakeFiles/libcustomdhcpcd.dir/common.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/common.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/common.c -o CMakeFiles/libcustomdhcpcd.dir/common.c.s - -CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/common.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/common.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_11) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -c /home/niklas/fbgui/customdhcpcd/src/dhcp.c - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/dhcp.c > CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/dhcp.c -o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_12) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/duid.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/duid.c.o -c /home/niklas/fbgui/customdhcpcd/src/duid.c - -CMakeFiles/libcustomdhcpcd.dir/duid.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/duid.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/duid.c > CMakeFiles/libcustomdhcpcd.dir/duid.c.i - -CMakeFiles/libcustomdhcpcd.dir/duid.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/duid.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/duid.c -o CMakeFiles/libcustomdhcpcd.dir/duid.c.s - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/duid.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/duid.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_13) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -c /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c > CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c -o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.provides.build - -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: CMakeFiles/libcustomdhcpcd.dir/flags.make -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../signal.c - $(CMAKE_COMMAND) -E cmake_progress_report /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles $(CMAKE_PROGRESS_14) - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Building C object CMakeFiles/libcustomdhcpcd.dir/signal.c.o" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -o CMakeFiles/libcustomdhcpcd.dir/signal.c.o -c /home/niklas/fbgui/customdhcpcd/src/signal.c - -CMakeFiles/libcustomdhcpcd.dir/signal.c.i: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing C source to CMakeFiles/libcustomdhcpcd.dir/signal.c.i" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -E /home/niklas/fbgui/customdhcpcd/src/signal.c > CMakeFiles/libcustomdhcpcd.dir/signal.c.i - -CMakeFiles/libcustomdhcpcd.dir/signal.c.s: cmake_force - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling C source to assembly CMakeFiles/libcustomdhcpcd.dir/signal.c.s" - /usr/bin/gcc $(C_DEFINES) $(C_FLAGS) -S /home/niklas/fbgui/customdhcpcd/src/signal.c -o CMakeFiles/libcustomdhcpcd.dir/signal.c.s - -CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires: -.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires - -CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build -.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides - -CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build: CMakeFiles/libcustomdhcpcd.dir/signal.c.o -.PHONY : CMakeFiles/libcustomdhcpcd.dir/signal.c.o.provides.build - -# Object files for target libcustomdhcpcd -libcustomdhcpcd_OBJECTS = \ -"CMakeFiles/libcustomdhcpcd.dir/arp.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/configure.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/info.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/logger.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/socket.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/client.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/discover.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/interface.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/common.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/duid.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" \ -"CMakeFiles/libcustomdhcpcd.dir/signal.c.o" - -# External object files for target libcustomdhcpcd -libcustomdhcpcd_EXTERNAL_OBJECTS = - -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/arp.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/configure.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/info.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/logger.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/socket.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/client.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/discover.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/interface.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/common.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/duid.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/signal.c.o -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/build.make -liblibcustomdhcpcd.so: CMakeFiles/libcustomdhcpcd.dir/link.txt - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --red --bold "Linking C shared library liblibcustomdhcpcd.so" - $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/libcustomdhcpcd.dir/link.txt --verbose=$(VERBOSE) - -# Rule to build all files generated by this target. -CMakeFiles/libcustomdhcpcd.dir/build: liblibcustomdhcpcd.so -.PHONY : CMakeFiles/libcustomdhcpcd.dir/build - -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/arp.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/configure.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/info.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logger.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/socket.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/client.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/discover.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/interface.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/common.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/duid.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o.requires -CMakeFiles/libcustomdhcpcd.dir/requires: CMakeFiles/libcustomdhcpcd.dir/signal.c.o.requires -.PHONY : CMakeFiles/libcustomdhcpcd.dir/requires - -CMakeFiles/libcustomdhcpcd.dir/clean: - $(CMAKE_COMMAND) -P CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake -.PHONY : CMakeFiles/libcustomdhcpcd.dir/clean - -CMakeFiles/libcustomdhcpcd.dir/depend: - cd /home/niklas/fbgui/customdhcpcd/src/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/DependInfo.cmake --color=$(COLOR) -.PHONY : CMakeFiles/libcustomdhcpcd.dir/depend - diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake deleted file mode 100644 index c8639bb..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/cmake_clean.cmake +++ /dev/null @@ -1,23 +0,0 @@ -FILE(REMOVE_RECURSE - "CMakeFiles/libcustomdhcpcd.dir/arp.c.o" - "CMakeFiles/libcustomdhcpcd.dir/configure.c.o" - "CMakeFiles/libcustomdhcpcd.dir/info.c.o" - "CMakeFiles/libcustomdhcpcd.dir/logger.c.o" - "CMakeFiles/libcustomdhcpcd.dir/socket.c.o" - "CMakeFiles/libcustomdhcpcd.dir/client.c.o" - "CMakeFiles/libcustomdhcpcd.dir/discover.c.o" - "CMakeFiles/libcustomdhcpcd.dir/interface.c.o" - "CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o" - "CMakeFiles/libcustomdhcpcd.dir/common.c.o" - "CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o" - "CMakeFiles/libcustomdhcpcd.dir/duid.c.o" - "CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o" - "CMakeFiles/libcustomdhcpcd.dir/signal.c.o" - "liblibcustomdhcpcd.pdb" - "liblibcustomdhcpcd.so" -) - -# Per-language clean rules from dependency scanning. -FOREACH(lang C) - INCLUDE(CMakeFiles/libcustomdhcpcd.dir/cmake_clean_${lang}.cmake OPTIONAL) -ENDFOREACH(lang) diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal deleted file mode 100644 index 89b741d..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.internal +++ /dev/null @@ -1,126 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -CMakeFiles/libcustomdhcpcd.dir/arp.c.o - /home/niklas/fbgui/customdhcpcd/src/arp.c - /home/niklas/fbgui/customdhcpcd/src/arp.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/signal.h - /home/niklas/fbgui/customdhcpcd/src/socket.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o - /home/niklas/fbgui/customdhcpcd/src/arp.h - /home/niklas/fbgui/customdhcpcd/src/client.c - /home/niklas/fbgui/customdhcpcd/src/client.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/configure.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/duid.h - /home/niklas/fbgui/customdhcpcd/src/info.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/ipv4ll.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/logwriter.h - /home/niklas/fbgui/customdhcpcd/src/socket.h - /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/libcustomdhcpcd.dir/common.c.o - /home/niklas/fbgui/customdhcpcd/src/common.c - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/logger.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/configure.c - /home/niklas/fbgui/customdhcpcd/src/configure.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/info.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/logwriter.h - /home/niklas/fbgui/customdhcpcd/src/socket.h - /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.c - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/socket.h -CMakeFiles/libcustomdhcpcd.dir/discover.c.o - /home/niklas/fbgui/customdhcpcd/src/discover.c -CMakeFiles/libcustomdhcpcd.dir/duid.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/duid.c - /home/niklas/fbgui/customdhcpcd/src/duid.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/info.c - /home/niklas/fbgui/customdhcpcd/src/info.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h -CMakeFiles/libcustomdhcpcd.dir/interface.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.c - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o - /home/niklas/fbgui/customdhcpcd/src/arp.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/ipv4ll.c - /home/niklas/fbgui/customdhcpcd/src/ipv4ll.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.c - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/logwriter.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o - /home/niklas/fbgui/customdhcpcd/src/../../common/fbgui.h - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/info.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/logwriter.c - /home/niklas/fbgui/customdhcpcd/src/logwriter.h - /home/niklas/fbgui/customdhcpcd/src/status.h -CMakeFiles/libcustomdhcpcd.dir/signal.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/signal.c -CMakeFiles/libcustomdhcpcd.dir/socket.c.o - /home/niklas/fbgui/customdhcpcd/src/common.h - /home/niklas/fbgui/customdhcpcd/src/config.h - /home/niklas/fbgui/customdhcpcd/src/dhcp.h - /home/niklas/fbgui/customdhcpcd/src/dhcpcd.h - /home/niklas/fbgui/customdhcpcd/src/interface.h - /home/niklas/fbgui/customdhcpcd/src/logger.h - /home/niklas/fbgui/customdhcpcd/src/socket.c - /home/niklas/fbgui/customdhcpcd/src/socket.h diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make deleted file mode 100644 index 3813750..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/depend.make +++ /dev/null @@ -1,126 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.c -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../arp.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../signal.h -CMakeFiles/libcustomdhcpcd.dir/arp.c.o: ../socket.h - -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../arp.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.c -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../client.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../configure.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../duid.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../info.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../ipv4ll.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../logwriter.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../socket.h -CMakeFiles/libcustomdhcpcd.dir/client.c.o: ../status.h - -CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.c -CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/common.c.o: ../logger.h - -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.c -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../configure.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../info.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../logwriter.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../socket.h -CMakeFiles/libcustomdhcpcd.dir/configure.c.o: ../status.h - -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.c -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o: ../socket.h - -CMakeFiles/libcustomdhcpcd.dir/discover.c.o: ../discover.c - -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.c -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../duid.h -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/duid.c.o: ../logger.h - -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.c -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../info.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/info.c.o: ../logger.h - -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.c -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/interface.c.o: ../logger.h - -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../arp.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.c -CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o: ../ipv4ll.h - -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.c -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/logger.c.o: ../logwriter.h - -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../../../common/fbgui.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../info.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.c -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../logwriter.h -CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o: ../status.h - -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/signal.c.o: ../signal.c - -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../common.h -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../config.h -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../dhcp.h -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../dhcpcd.h -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../interface.h -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../logger.h -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.c -CMakeFiles/libcustomdhcpcd.dir/socket.c.o: ../socket.h - diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make deleted file mode 100644 index 5797680..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/flags.make +++ /dev/null @@ -1,8 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# compile C with /usr/bin/gcc -C_FLAGS = -lrt -fPIC - -C_DEFINES = -Dlibcustomdhcpcd_EXPORTS - diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt deleted file mode 100644 index 891527e..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/link.txt +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/gcc -fPIC -lrt -shared -Wl,-soname,liblibcustomdhcpcd.so -o liblibcustomdhcpcd.so CMakeFiles/libcustomdhcpcd.dir/arp.c.o CMakeFiles/libcustomdhcpcd.dir/configure.c.o CMakeFiles/libcustomdhcpcd.dir/info.c.o CMakeFiles/libcustomdhcpcd.dir/logger.c.o CMakeFiles/libcustomdhcpcd.dir/socket.c.o CMakeFiles/libcustomdhcpcd.dir/client.c.o CMakeFiles/libcustomdhcpcd.dir/discover.c.o CMakeFiles/libcustomdhcpcd.dir/interface.c.o CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o CMakeFiles/libcustomdhcpcd.dir/common.c.o CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o CMakeFiles/libcustomdhcpcd.dir/duid.c.o CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o CMakeFiles/libcustomdhcpcd.dir/signal.c.o diff --git a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make b/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make deleted file mode 100644 index 2fcff7f..0000000 --- a/customdhcpcd/src/build/CMakeFiles/libcustomdhcpcd.dir/progress.make +++ /dev/null @@ -1,15 +0,0 @@ -CMAKE_PROGRESS_1 = 2 -CMAKE_PROGRESS_2 = 3 -CMAKE_PROGRESS_3 = 4 -CMAKE_PROGRESS_4 = 5 -CMAKE_PROGRESS_5 = 6 -CMAKE_PROGRESS_6 = 7 -CMAKE_PROGRESS_7 = 8 -CMAKE_PROGRESS_8 = 9 -CMAKE_PROGRESS_9 = 10 -CMAKE_PROGRESS_10 = 11 -CMAKE_PROGRESS_11 = 12 -CMAKE_PROGRESS_12 = 13 -CMAKE_PROGRESS_13 = 14 -CMAKE_PROGRESS_14 = 15 - diff --git a/customdhcpcd/src/build/CMakeFiles/progress.marks b/customdhcpcd/src/build/CMakeFiles/progress.marks deleted file mode 100644 index 60d3b2f..0000000 --- a/customdhcpcd/src/build/CMakeFiles/progress.marks +++ /dev/null @@ -1 +0,0 @@ -15 diff --git a/customdhcpcd/src/build/Makefile b/customdhcpcd/src/build/Makefile deleted file mode 100644 index ba62eb2..0000000 --- a/customdhcpcd/src/build/Makefile +++ /dev/null @@ -1,552 +0,0 @@ -# CMAKE generated file: DO NOT EDIT! -# Generated by "Unix Makefiles" Generator, CMake Version 2.8 - -# Default target executed when no arguments are given to make. -default_target: all -.PHONY : default_target - -#============================================================================= -# Special targets provided by cmake. - -# Disable implicit rules so canoncical targets will work. -.SUFFIXES: - -# Remove some rules from gmake that .SUFFIXES does not remove. -SUFFIXES = - -.SUFFIXES: .hpux_make_needs_suffix_list - -# Suppress display of executed commands. -$(VERBOSE).SILENT: - -# A target that is always out of date. -cmake_force: -.PHONY : cmake_force - -#============================================================================= -# Set environment variables for the build. - -# The shell in which to execute make rules. -SHELL = /bin/sh - -# The CMake executable. -CMAKE_COMMAND = /usr/bin/cmake - -# The command to remove a file. -RM = /usr/bin/cmake -E remove -f - -# The top-level source directory on which CMake was run. -CMAKE_SOURCE_DIR = /home/niklas/fbgui/customdhcpcd/src - -# The top-level build directory on which CMake was run. -CMAKE_BINARY_DIR = /home/niklas/fbgui/customdhcpcd/src/build - -#============================================================================= -# Targets provided globally by CMake. - -# Special rule for the target edit_cache -edit_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running interactive CMake command-line interface..." - /usr/bin/cmake -i . -.PHONY : edit_cache - -# Special rule for the target edit_cache -edit_cache/fast: edit_cache -.PHONY : edit_cache/fast - -# Special rule for the target rebuild_cache -rebuild_cache: - @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." - /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) -.PHONY : rebuild_cache - -# Special rule for the target rebuild_cache -rebuild_cache/fast: rebuild_cache -.PHONY : rebuild_cache/fast - -# The main all target -all: cmake_check_build_system - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles/progress.marks - $(MAKE) -f CMakeFiles/Makefile2 all - $(CMAKE_COMMAND) -E cmake_progress_start /home/niklas/fbgui/customdhcpcd/src/build/CMakeFiles 0 -.PHONY : all - -# The main clean target -clean: - $(MAKE) -f CMakeFiles/Makefile2 clean -.PHONY : clean - -# The main clean target -clean/fast: clean -.PHONY : clean/fast - -# Prepare targets for installation. -preinstall: all - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall - -# Prepare targets for installation. -preinstall/fast: - $(MAKE) -f CMakeFiles/Makefile2 preinstall -.PHONY : preinstall/fast - -# clear depends -depend: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 -.PHONY : depend - -#============================================================================= -# Target rules for targets named customdhcpcd - -# Build rule for target. -customdhcpcd: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 customdhcpcd -.PHONY : customdhcpcd - -# fast build rule for target. -customdhcpcd/fast: - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/build -.PHONY : customdhcpcd/fast - -#============================================================================= -# Target rules for targets named libcustomdhcpcd - -# Build rule for target. -libcustomdhcpcd: cmake_check_build_system - $(MAKE) -f CMakeFiles/Makefile2 libcustomdhcpcd -.PHONY : libcustomdhcpcd - -# fast build rule for target. -libcustomdhcpcd/fast: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/build -.PHONY : libcustomdhcpcd/fast - -arp.o: arp.c.o -.PHONY : arp.o - -# target to build an object file -arp.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.o -.PHONY : arp.c.o - -arp.i: arp.c.i -.PHONY : arp.i - -# target to preprocess a source file -arp.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.i -.PHONY : arp.c.i - -arp.s: arp.c.s -.PHONY : arp.s - -# target to generate assembly for a file -arp.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/arp.c.s -.PHONY : arp.c.s - -client.o: client.c.o -.PHONY : client.o - -# target to build an object file -client.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.o -.PHONY : client.c.o - -client.i: client.c.i -.PHONY : client.i - -# target to preprocess a source file -client.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.i -.PHONY : client.c.i - -client.s: client.c.s -.PHONY : client.s - -# target to generate assembly for a file -client.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/client.c.s -.PHONY : client.c.s - -common.o: common.c.o -.PHONY : common.o - -# target to build an object file -common.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.o -.PHONY : common.c.o - -common.i: common.c.i -.PHONY : common.i - -# target to preprocess a source file -common.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.i -.PHONY : common.c.i - -common.s: common.c.s -.PHONY : common.s - -# target to generate assembly for a file -common.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/common.c.s -.PHONY : common.c.s - -configure.o: configure.c.o -.PHONY : configure.o - -# target to build an object file -configure.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.o -.PHONY : configure.c.o - -configure.i: configure.c.i -.PHONY : configure.i - -# target to preprocess a source file -configure.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.i -.PHONY : configure.c.i - -configure.s: configure.c.s -.PHONY : configure.s - -# target to generate assembly for a file -configure.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/configure.c.s -.PHONY : configure.c.s - -dhcp.o: dhcp.c.o -.PHONY : dhcp.o - -# target to build an object file -dhcp.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.o -.PHONY : dhcp.c.o - -dhcp.i: dhcp.c.i -.PHONY : dhcp.i - -# target to preprocess a source file -dhcp.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.i -.PHONY : dhcp.c.i - -dhcp.s: dhcp.c.s -.PHONY : dhcp.s - -# target to generate assembly for a file -dhcp.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/dhcp.c.s -.PHONY : dhcp.c.s - -dhcpcd.o: dhcpcd.c.o -.PHONY : dhcpcd.o - -# target to build an object file -dhcpcd.c.o: - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.o -.PHONY : dhcpcd.c.o - -dhcpcd.i: dhcpcd.c.i -.PHONY : dhcpcd.i - -# target to preprocess a source file -dhcpcd.c.i: - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.i -.PHONY : dhcpcd.c.i - -dhcpcd.s: dhcpcd.c.s -.PHONY : dhcpcd.s - -# target to generate assembly for a file -dhcpcd.c.s: - $(MAKE) -f CMakeFiles/customdhcpcd.dir/build.make CMakeFiles/customdhcpcd.dir/dhcpcd.c.s -.PHONY : dhcpcd.c.s - -discover.o: discover.c.o -.PHONY : discover.o - -# target to build an object file -discover.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.o -.PHONY : discover.c.o - -discover.i: discover.c.i -.PHONY : discover.i - -# target to preprocess a source file -discover.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.i -.PHONY : discover.c.i - -discover.s: discover.c.s -.PHONY : discover.s - -# target to generate assembly for a file -discover.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/discover.c.s -.PHONY : discover.c.s - -duid.o: duid.c.o -.PHONY : duid.o - -# target to build an object file -duid.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.o -.PHONY : duid.c.o - -duid.i: duid.c.i -.PHONY : duid.i - -# target to preprocess a source file -duid.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.i -.PHONY : duid.c.i - -duid.s: duid.c.s -.PHONY : duid.s - -# target to generate assembly for a file -duid.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/duid.c.s -.PHONY : duid.c.s - -info.o: info.c.o -.PHONY : info.o - -# target to build an object file -info.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.o -.PHONY : info.c.o - -info.i: info.c.i -.PHONY : info.i - -# target to preprocess a source file -info.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.i -.PHONY : info.c.i - -info.s: info.c.s -.PHONY : info.s - -# target to generate assembly for a file -info.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/info.c.s -.PHONY : info.c.s - -interface.o: interface.c.o -.PHONY : interface.o - -# target to build an object file -interface.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.o -.PHONY : interface.c.o - -interface.i: interface.c.i -.PHONY : interface.i - -# target to preprocess a source file -interface.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.i -.PHONY : interface.c.i - -interface.s: interface.c.s -.PHONY : interface.s - -# target to generate assembly for a file -interface.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/interface.c.s -.PHONY : interface.c.s - -ipv4ll.o: ipv4ll.c.o -.PHONY : ipv4ll.o - -# target to build an object file -ipv4ll.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.o -.PHONY : ipv4ll.c.o - -ipv4ll.i: ipv4ll.c.i -.PHONY : ipv4ll.i - -# target to preprocess a source file -ipv4ll.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.i -.PHONY : ipv4ll.c.i - -ipv4ll.s: ipv4ll.c.s -.PHONY : ipv4ll.s - -# target to generate assembly for a file -ipv4ll.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/ipv4ll.c.s -.PHONY : ipv4ll.c.s - -logger.o: logger.c.o -.PHONY : logger.o - -# target to build an object file -logger.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.o -.PHONY : logger.c.o - -logger.i: logger.c.i -.PHONY : logger.i - -# target to preprocess a source file -logger.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.i -.PHONY : logger.c.i - -logger.s: logger.c.s -.PHONY : logger.s - -# target to generate assembly for a file -logger.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logger.c.s -.PHONY : logger.c.s - -logwriter.o: logwriter.c.o -.PHONY : logwriter.o - -# target to build an object file -logwriter.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.o -.PHONY : logwriter.c.o - -logwriter.i: logwriter.c.i -.PHONY : logwriter.i - -# target to preprocess a source file -logwriter.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.i -.PHONY : logwriter.c.i - -logwriter.s: logwriter.c.s -.PHONY : logwriter.s - -# target to generate assembly for a file -logwriter.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/logwriter.c.s -.PHONY : logwriter.c.s - -signal.o: signal.c.o -.PHONY : signal.o - -# target to build an object file -signal.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.o -.PHONY : signal.c.o - -signal.i: signal.c.i -.PHONY : signal.i - -# target to preprocess a source file -signal.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.i -.PHONY : signal.c.i - -signal.s: signal.c.s -.PHONY : signal.s - -# target to generate assembly for a file -signal.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/signal.c.s -.PHONY : signal.c.s - -socket.o: socket.c.o -.PHONY : socket.o - -# target to build an object file -socket.c.o: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.o -.PHONY : socket.c.o - -socket.i: socket.c.i -.PHONY : socket.i - -# target to preprocess a source file -socket.c.i: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.i -.PHONY : socket.c.i - -socket.s: socket.c.s -.PHONY : socket.s - -# target to generate assembly for a file -socket.c.s: - $(MAKE) -f CMakeFiles/libcustomdhcpcd.dir/build.make CMakeFiles/libcustomdhcpcd.dir/socket.c.s -.PHONY : socket.c.s - -# Help Target -help: - @echo "The following are some of the valid targets for this Makefile:" - @echo "... all (the default if no target is provided)" - @echo "... clean" - @echo "... depend" - @echo "... customdhcpcd" - @echo "... edit_cache" - @echo "... libcustomdhcpcd" - @echo "... rebuild_cache" - @echo "... arp.o" - @echo "... arp.i" - @echo "... arp.s" - @echo "... client.o" - @echo "... client.i" - @echo "... client.s" - @echo "... common.o" - @echo "... common.i" - @echo "... common.s" - @echo "... configure.o" - @echo "... configure.i" - @echo "... configure.s" - @echo "... dhcp.o" - @echo "... dhcp.i" - @echo "... dhcp.s" - @echo "... dhcpcd.o" - @echo "... dhcpcd.i" - @echo "... dhcpcd.s" - @echo "... discover.o" - @echo "... discover.i" - @echo "... discover.s" - @echo "... duid.o" - @echo "... duid.i" - @echo "... duid.s" - @echo "... info.o" - @echo "... info.i" - @echo "... info.s" - @echo "... interface.o" - @echo "... interface.i" - @echo "... interface.s" - @echo "... ipv4ll.o" - @echo "... ipv4ll.i" - @echo "... ipv4ll.s" - @echo "... logger.o" - @echo "... logger.i" - @echo "... logger.s" - @echo "... logwriter.o" - @echo "... logwriter.i" - @echo "... logwriter.s" - @echo "... signal.o" - @echo "... signal.i" - @echo "... signal.s" - @echo "... socket.o" - @echo "... socket.i" - @echo "... socket.s" -.PHONY : help - - - -#============================================================================= -# Special targets to cleanup operation of make. - -# Special rule to run CMake to check the build system integrity. -# No rule that depends on this can have commands that come from listfiles -# because they might be regenerated. -cmake_check_build_system: - $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 -.PHONY : cmake_check_build_system - diff --git a/customdhcpcd/src/build/cmake_install.cmake b/customdhcpcd/src/build/cmake_install.cmake deleted file mode 100644 index fc577be..0000000 --- a/customdhcpcd/src/build/cmake_install.cmake +++ /dev/null @@ -1,44 +0,0 @@ -# Install script for directory: /home/niklas/fbgui/customdhcpcd/src - -# Set the install prefix -IF(NOT DEFINED CMAKE_INSTALL_PREFIX) - SET(CMAKE_INSTALL_PREFIX "/usr/local") -ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX) -STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") - -# Set the install configuration name. -IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - IF(BUILD_TYPE) - STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" "" - CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") - ELSE(BUILD_TYPE) - SET(CMAKE_INSTALL_CONFIG_NAME "") - ENDIF(BUILD_TYPE) - MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") -ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) - -# Set the component getting installed. -IF(NOT CMAKE_INSTALL_COMPONENT) - IF(COMPONENT) - MESSAGE(STATUS "Install component: \"${COMPONENT}\"") - SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}") - ELSE(COMPONENT) - SET(CMAKE_INSTALL_COMPONENT) - ENDIF(COMPONENT) -ENDIF(NOT CMAKE_INSTALL_COMPONENT) - -# Install shared libraries without execute permission? -IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - SET(CMAKE_INSTALL_SO_NO_EXE "1") -ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) - -IF(CMAKE_INSTALL_COMPONENT) - SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") -ELSE(CMAKE_INSTALL_COMPONENT) - SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt") -ENDIF(CMAKE_INSTALL_COMPONENT) - -FILE(WRITE "/home/niklas/fbgui/customdhcpcd/src/build/${CMAKE_INSTALL_MANIFEST}" "") -FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES}) - FILE(APPEND "/home/niklas/fbgui/customdhcpcd/src/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n") -ENDFOREACH(file) diff --git a/customdhcpcd/src/build/customdhcpcd b/customdhcpcd/src/build/customdhcpcd deleted file mode 100755 index 2ad0b35..0000000 Binary files a/customdhcpcd/src/build/customdhcpcd and /dev/null differ diff --git a/customdhcpcd/src/build/liblibcustomdhcpcd.so b/customdhcpcd/src/build/liblibcustomdhcpcd.so deleted file mode 100755 index 62e5d3e..0000000 Binary files a/customdhcpcd/src/build/liblibcustomdhcpcd.so and /dev/null differ -- cgit v1.2.3-55-g7522 From cf7bfd8d92c43daa81de1ede78e117686902e93f Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 19 Sep 2011 16:38:13 +0200 Subject: added a new version of the routemanager. now the delRoute and addRoute is working with libnl functions.but still there is an error: /usr/include/netlink/route/route.h:60:57: error: ‘realm_t’ has not been declared /usr/include/netlink/route/route.h:61:8: error: ‘realm_t’ does not name a type --- LogReceiver/CMakeLists.txt | 4 +- LogReceiver/routemanager.cpp | 114 +++++++++++++++++++++++++++++++++++++---- LogReceiver/routemanager.h | 14 +++-- src/html/networkdiscovery.css | 105 +++++++++++++++++++++++++++++++++++++ src/html/networkdiscovery.html | 18 +++++++ 5 files changed, 241 insertions(+), 14 deletions(-) create mode 100644 src/html/networkdiscovery.css create mode 100644 src/html/networkdiscovery.html diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index 1cd1686..690ecf4 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -24,6 +24,8 @@ file(GLOB LOGRECEIVER_RCS ./*.qrc) include_directories(${CMAKE_CURRENT_BINARY_DIR} /usr/include/ + /usr/include/netlink/ + /usr/include/netlink/route/ ./../customdhcpcd/src/ ./build ${QT_INCLUDES} @@ -54,4 +56,4 @@ add_executable(LogReceiver target_link_libraries(LogReceiver ${QT_LIBRARIES} - sysfs customdhcpcd) + sysfs customdhcpcd nl) diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp index d3d5139..6328c21 100644 --- a/LogReceiver/routemanager.cpp +++ b/LogReceiver/routemanager.cpp @@ -5,7 +5,6 @@ * Author: niklas */ - #include "routemanager.h" routemanager::routemanager() { @@ -17,20 +16,115 @@ routemanager::~routemanager() { // TODO Auto-generated destructor stub } -void routemanager::addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric) { +int routemanager::addRoute(QString ifname, QString destination, + QString netmask, QString gateway, int metric) { + //struct in_addr destination, netmask, gateway; + //add_route(); + return doRoute(destination, gateway, AF_INET, 0); +} + +int routemanager::addRoute6(QString ifname, QString destination, + QString netmask, QString gateway, int metric) { //struct in_addr destination, netmask, gateway; //add_route(); + return doRoute(destination, gateway, AF_INET6, 0); +} + +int routemanager::delRoute(QString ifname, QString destination, + QString netmask, QString gateway, int metric) { + /*struct in_addr ds, nm, gw; + ba = ifname.toAscii(); + const char *in = ba.constData(); + inet_aton("0.0.0.0", &ds); + inet_aton("0.0.0.0", &nm); + ba = gateway.toAscii(); + char * gwaddr = ba.data(); + inet_aton(gwaddr,&gw); + del_route(in, ds, nm, gw, metric); + */ + return doRoute(destination, gateway, AF_INET, 1); +} + +int routemanager::delRoute6(QString ifname, QString destination, + QString netmask, QString gateway, int metric) { + return doRoute(destination, gateway, AF_INET6, 1); } -void routemanager::delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric) { - struct in_addr ds, nm, gw; - ba = ifname.toAscii(); - const char *in = ba.constData(); - inet_aton("0.0.0.0", &ds); - inet_aton("0.0.0.0", &nm); +/** + * This method adds or deletes a route. + * This method adds or deletes a route. According to the action, + * you can delete a route or add a route from/to the + * main routing table. In most cases, this method will be used for deleting + * or adding a default rout. To keep it modular, it is possible + * to specify an ip address family. + * + * @param destination + * the destination address (e.g: 0.0.0.0) + * + * @param gateway + * the gateway address (e.g: 192.168.0.254) + * + * @param af + * specify the family type of the ip address. + * possible values are: AF_INET for an IPv4 address + * AF_INET6 for an IPv6 address + * + * @param action + * possible values are: 0: perform add route + * 1: perform delete route + * + * @return + * return 1 if an error happened. + * return 0 if everything was ok. + */ +int routemanager::doRoute(QString destination, QString gateway, int af, int action) { + struct nl_handle* rtsock; + struct nl_addr * dst; + struct nl_addr * gw; + struct rtnl_route * route; + int retval; + + ba = destination.toAscii(); + char *dstaddr = ba.data(); + ba = gateway.toAscii(); char * gwaddr = ba.data(); - inet_aton(gwaddr,&gw); - del_route(in, ds, nm, gw, metric); + + if (!(dst = nl_addr_parse(dstaddr, af))) { + qDebug() << "Invalid network address given:" << dstaddr; + return 1; + } + if (!(gw = nl_addr_parse(gwaddr, af))) { + qDebug() << "Invalid router address given: " << gwaddr; + nl_addr_put(dst); + return 1; + } + + route = rtnl_route_alloc(); + rtnl_route_set_family(route, af); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + rtnl_route_set_dst(route, dst); + rtnl_route_set_gateway(route, gw); + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if (action == 0) { + rtnl_route_add(rtsock, route, 0); + } + else if (action == 1) { + rtnl_route_del(rtsock, route, 0); + } + else { + qDebug() << "unknown action:" << action; + } + + + rtnl_route_put(route); + nl_addr_put(dst); + nl_addr_put(gw); + nl_handle_destroy(rtsock); + + return 0; } diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h index 3bbe021..01530c7 100644 --- a/LogReceiver/routemanager.h +++ b/LogReceiver/routemanager.h @@ -10,7 +10,9 @@ #include #include - +#include +#include +#include #include class routemanager : public QObject{ @@ -20,8 +22,14 @@ public: routemanager(); virtual ~routemanager(); - void addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); - void delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); + int addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); + int delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); + + int addRoute6(QString ifname, QString destination, + QString netmask, QString gateway, int metric); + int delRoute6(QString ifname, QString destination, + QString netmask, QString gateway, int metric); + int doRoute(QString destination, QString gateway, int af, int action); private: QByteArray ba; diff --git a/src/html/networkdiscovery.css b/src/html/networkdiscovery.css new file mode 100644 index 0000000..c6f703a --- /dev/null +++ b/src/html/networkdiscovery.css @@ -0,0 +1,105 @@ +html,body{ + height:100%; +} +body{ + margin:0; + padding:0; + background-color:blue; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} +#top{ + position:absolute; +} +#message{ + position:absolute; + top:37%; + width:100%; + font-size:90%; +} +h1, p{ + color:white; + text-align:center; +} +#container{ + min-height:100%; + margin-bottom:-50px; +} +* html #container{ + height:100%; +} +#footer-spacer{ + height:0px; +} +#footer{ + height:30px; +} +/* animation */ +/* position the bars and balls correctly (rotate them and translate them outward)*/ +.bar1 { + -moz-transform:rotate(0deg) translate(0, -40px); + -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; +} +.bar2 { + -moz-transform:rotate(45deg) translate(0, -40px); + -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; +} +.bar3 { + -moz-transform:rotate(90deg) translate(0, -40px); + -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; +} +.bar4 { + -moz-transform:rotate(135deg) translate(0, -40px); + -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; +} +.bar5 { + -moz-transform:rotate(180deg) translate(0, -40px); + -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; +} +.bar6 { + -moz-transform:rotate(225deg) translate(0, -40px); + -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; +} +.bar7 { + -moz-transform:rotate(270deg) translate(0, -40px); + -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; +} +.bar8 { + -moz-transform:rotate(315deg) translate(0, -40px); + -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; +} +#div4 { + position:absolute; + left:50%; + top:50%; + margin-left:-50px; + margin-top:-50px; + width:100px; + height:100px; + -moz-border-radius:100px; + -webkit-border-radius:100px; + -moz-transform:scale(0.5); + -webkit-transform:scale(0.5); + -webkit-animation-name: rotateThis; + -webkit-animation-duration:2s; + -webkit-animation-iteration-count:infinite; + -webkit-animation-timing-function:linear; +} +#div4 div { + width:20px; + height:20px; + background:#fff; + -moz-border-radius:40px; + -webkit-border-radius:40px; + position:absolute; + left:40px; + top:40px; +} +/* add a shadow to the first */ +#div4 div { + -moz-box-shadow:black 0 0 4px; + -webkit-box-shadow:black 0 0 4px; +} diff --git a/src/html/networkdiscovery.html b/src/html/networkdiscovery.html new file mode 100644 index 0000000..2c2e942 --- /dev/null +++ b/src/html/networkdiscovery.html @@ -0,0 +1,18 @@ + + + + + +
+
+
+

Network Discovery

+
+
+ +
+ + + -- cgit v1.2.3-55-g7522 From b39f28d0c9708baea109439bb97e69921567ffa2 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 19 Sep 2011 17:16:56 +0200 Subject: routmanager doRoute: changed the retun value in case of an error to -1 --- LogReceiver/routemanager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp index 6328c21..3063b21 100644 --- a/LogReceiver/routemanager.cpp +++ b/LogReceiver/routemanager.cpp @@ -93,12 +93,12 @@ int routemanager::doRoute(QString destination, QString gateway, int af, int acti if (!(dst = nl_addr_parse(dstaddr, af))) { qDebug() << "Invalid network address given:" << dstaddr; - return 1; + return -1; } if (!(gw = nl_addr_parse(gwaddr, af))) { qDebug() << "Invalid router address given: " << gwaddr; nl_addr_put(dst); - return 1; + return -1; } route = rtnl_route_alloc(); -- cgit v1.2.3-55-g7522 From fa403d052da5a1a4bb932666ad824b45a84b6169 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 19 Sep 2011 17:29:20 +0200 Subject: solved the stupid mistake. just forgot to add an additional header file. rtnl.h. now it is added an it compiles --- LogReceiver/ndgui.cpp | 6 ++++++ LogReceiver/ndgui.h | 5 +++++ LogReceiver/routemanager.h | 2 ++ 3 files changed, 13 insertions(+) diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 5543eef..3fe9c65 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -183,3 +183,9 @@ void ndgui::showLog() { qDebug() << "show log"; } + +/*test html gui version*/ +/* slots */ +void ndgui::addInterface() { + +} diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index 81ab266..90af3a3 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -36,6 +36,9 @@ public slots: void showAbortBootDialog(); void showChooseInterfaceDialog(); + /*test for html gui version*/ + void addInterface(); + private: Ui::ndguiClass ui; @@ -65,6 +68,8 @@ private: void buildGui(); void createInterfaceGroupBox(); + + }; #endif // NDGUI_H diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h index 01530c7..0566801 100644 --- a/LogReceiver/routemanager.h +++ b/LogReceiver/routemanager.h @@ -11,7 +11,9 @@ #include #include #include +#include #include + #include #include -- cgit v1.2.3-55-g7522 From d3612f403d0122a6929837764fad849634b26e1b Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 20 Sep 2011 16:46:11 +0200 Subject: the checkConnectivity method is working now. we use the rtnl functions of the libnl. --- LogReceiver/logreceiver.cpp | 111 ++------------------------------- LogReceiver/logreceiver.h | 6 +- LogReceiver/ndgui.cpp | 4 +- LogReceiver/ndgui.h | 3 + LogReceiver/routemanager.cpp | 142 ++++++++++++++++++++----------------------- LogReceiver/routemanager.h | 18 +++--- 6 files changed, 86 insertions(+), 198 deletions(-) diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 8dc2938..b034013 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -179,45 +179,7 @@ void LogReceiver::runDHCPCD(QString interface) { dhcpcdArguments.removeLast(); } -void LogReceiver::checkInternetConnection(QString ifName) { - QString command("ping"); - QStringList argList; - QString timeout("1"); - QString total("2"); - int exitCode = -1; - QString destination("www.google.de"); - argList << "-I" << "ifName" << "-W" << timeout << "-c" << total - << destination; - argList.replace(1, ifName); - QProcess * p = new QProcess(this); - p->start(command, argList); - p->waitForFinished(); - exitCode = p->exitCode(); - if (exitCode > 0) { - qDebug() << "no internet connection with interface" << ifName; - //remove interface from list and inform user via debug console - emit updateStatusLabel(ifName, "connection not possible"); - } else if (exitCode == 0) { - qDebug() << "internet: check passed! for interface" << ifName; - emit - updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName, ""); - } -} - -void LogReceiver::checkInternetConnection(QList &interfaces) { - foreach(QString nI, interfaces) - { - checkInternetConnection(nI); - } -} - void LogReceiver::checkConnectivity(QString ifName) { - QString command("route"); - QStringList argList; - QString gateway(" "); - QByteArray ba; - struct in_addr destination, netmask, gw; int metric = 0; // get gateway address @@ -226,37 +188,13 @@ void LogReceiver::checkConnectivity(QString ifName) { interfaceconfiguration ifConf; ifConf.readConfigOutOfFile(pathToGatewayFile); - // delete default route - ba = ifName.toAscii(); - char *ifname = ba.data(); - inet_aton("0.0.0.0", &destination); - inet_aton("0.0.0.0", &netmask); - ba = ifConf.getGateway().toAscii(); - const char * gwaddr = ba.data(); - inet_aton(gwaddr,&gw); - //del_route(ifname, destination, netmask, gw, metric); - - QProcess * p = new QProcess(this); - /* - argList << "del" << "default"; - - p->start(command, argList); - p->waitForFinished(); - */ - // add new default route - argList.clear(); - qDebug() << "add default route with:" << ifConf.getGateway() - << ifConf.getInterface(); - argList << "add" << "default" << "gw" << ifConf.getGateway() - << ifConf.getInterface(); - p = new QProcess(this); - p->start(command, argList); - p->waitForFinished(); + // replace default route + qDebug() << rm.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET); // check connectivity via tcp connection QTcpSocket *tcpSocket = new QTcpSocket(this); tcpSocket->connectToHost(QString("209.85.148.105"), 80); - if (!tcpSocket->waitForConnected(2000)) { + if (!tcpSocket->waitForConnected(500)) { qDebug() << "no internet connection with interface" << ifName; qDebug() << tcpSocket->errorString(); emit updateStatusLabel(ifName, "connection not possible"); @@ -264,51 +202,10 @@ void LogReceiver::checkConnectivity(QString ifName) { qDebug() << "internet: check passed! for interface" << ifName; emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName, gateway); + emit connectionEstablished(ifName, ifConf.getGateway()); } } -void LogReceiver::checkInternetConnectionViaTCP(QString ifName) { -/* - bool canStartIAP = (configurationManager.capabilities() - & QNetworkConfigurationManager::CanStartAndStopInterfaces); - QList configs = - configurationManager.allConfigurations(); - QNetworkConfiguration cfg; - foreach(QNetworkConfiguration nC, configs) - { - if (nC.name() == ifName) { - qDebug() << "found config" << nC.name(); - cfg = nC; - break; - } - } - if (!cfg.isValid() || (!canStartIAP && cfg.state() - != QNetworkConfiguration::Active)) { - qDebug() << "config is not valid" << cfg.name(); - return; - } - QNetworkSession *session = new QNetworkSession(cfg, this); - session->open(); - if (session->waitForOpened(-1)) { - - qDebug() << "used interface for connectivity check:" - << session->interface().humanReadableName(); - QTcpSocket *tcpSocket = new QTcpSocket(this); - tcpSocket->connectToHost(QString("209.85.148.105"), 80); - if (!tcpSocket->waitForConnected(2000)) { - qDebug() << tcpSocket->errorString(); - emit updateStatusLabel(ifName, "connection not possible"); - } else { - emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName, ""); - } - } else { - qDebug() << "couldn't open session"; - } - session->close(); - */ -} /** * diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index f22e619..f5bdae1 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -14,6 +14,7 @@ #include #include "interfaceconfiguration.h" +#include "routemanager.h" //#include //#include #include "status.h" @@ -76,7 +77,7 @@ private: QNetworkConfigurationManager configurationManager; QNetworkAccessManager *accessManager; int numberOfProcesses; - //const char ack[ACK_SIZE]; + routemanager rm; void handleNewInput(QLocalSocket * client); @@ -84,9 +85,6 @@ private: void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); bool checkCarrierState(QString interface); - void checkInternetConnection(QString ifName); - void checkInternetConnection(QList &interfaces); - void checkInternetConnectionViaTCP(QString ifName); void checkConnectivity(QString ifName); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 3fe9c65..7d638c0 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -187,5 +187,7 @@ void ndgui::showLog() /*test html gui version*/ /* slots */ void ndgui::addInterface() { - + QWebView *view; + view->page()->mainFrame(); + QWebElement element; } diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index 90af3a3..b320770 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -2,6 +2,9 @@ #define NDGUI_H #include +#include +#include +#include #include #include #include diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp index 3063b21..98ce2ad 100644 --- a/LogReceiver/routemanager.cpp +++ b/LogReceiver/routemanager.cpp @@ -16,115 +16,105 @@ routemanager::~routemanager() { // TODO Auto-generated destructor stub } -int routemanager::addRoute(QString ifname, QString destination, - QString netmask, QString gateway, int metric) { - //struct in_addr destination, netmask, gateway; - //add_route(); - return doRoute(destination, gateway, AF_INET, 0); -} - -int routemanager::addRoute6(QString ifname, QString destination, - QString netmask, QString gateway, int metric) { - //struct in_addr destination, netmask, gateway; - //add_route(); - return doRoute(destination, gateway, AF_INET6, 0); -} - - -int routemanager::delRoute(QString ifname, QString destination, - QString netmask, QString gateway, int metric) { - /*struct in_addr ds, nm, gw; - ba = ifname.toAscii(); - const char *in = ba.constData(); - inet_aton("0.0.0.0", &ds); - inet_aton("0.0.0.0", &nm); - ba = gateway.toAscii(); - char * gwaddr = ba.data(); - inet_aton(gwaddr,&gw); - del_route(in, ds, nm, gw, metric); - */ - return doRoute(destination, gateway, AF_INET, 1); -} - -int routemanager::delRoute6(QString ifname, QString destination, - QString netmask, QString gateway, int metric) { - return doRoute(destination, gateway, AF_INET6, 1); -} - /** - * This method adds or deletes a route. - * This method adds or deletes a route. According to the action, - * you can delete a route or add a route from/to the - * main routing table. In most cases, this method will be used for deleting - * or adding a default rout. To keep it modular, it is possible + * This method adds /replaces the default route. + * This method adds /replaces the default route. + * To keep it modular, it is possible * to specify an ip address family. * - * @param destination - * the destination address (e.g: 0.0.0.0) + * @param ifName + * the interface name * * @param gateway * the gateway address (e.g: 192.168.0.254) - * + * @param mss + * the mss. * @param af * specify the family type of the ip address. * possible values are: AF_INET for an IPv4 address * AF_INET6 for an IPv6 address * - * @param action - * possible values are: 0: perform add route - * 1: perform delete route - * + * @return - * return 1 if an error happened. + * return -1 if an error happened. * return 0 if everything was ok. */ -int routemanager::doRoute(QString destination, QString gateway, int af, int action) { +int routemanager::replaceDefaultRoute(QString ifname, QString gateway, + int mss, int af) { + struct nl_cache *cache; struct nl_handle* rtsock; - struct nl_addr * dst; struct nl_addr * gw; struct rtnl_route * route; - int retval; + int retval, iface_idx; - ba = destination.toAscii(); - char *dstaddr = ba.data(); + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); - ba = gateway.toAscii(); - char * gwaddr = ba.data(); + QByteArray ba_gw = gateway.toAscii(); + char * gwaddr = ba_gw.data(); + + qDebug() << "---doRoute() gwaddr" << gwaddr; - if (!(dst = nl_addr_parse(dstaddr, af))) { - qDebug() << "Invalid network address given:" << dstaddr; - return -1; - } if (!(gw = nl_addr_parse(gwaddr, af))) { - qDebug() << "Invalid router address given: " << gwaddr; - nl_addr_put(dst); + printf("Invalid router address given: %s\n", gwaddr); return -1; } - route = rtnl_route_alloc(); - rtnl_route_set_family(route, af); - rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); - rtnl_route_set_dst(route, dst); - rtnl_route_set_gateway(route, gw); - rtsock = nl_handle_alloc(); nl_connect(rtsock, NETLINK_ROUTE); - if (action == 0) { - rtnl_route_add(rtsock, route, 0); - } - else if (action == 1) { - rtnl_route_del(rtsock, route, 0); + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + printf("error with link cache alloc \n"); } - else { - qDebug() << "unknown action:" << action; + + iface_idx = rtnl_link_name2i(cache, ifn); + + route = rtnl_route_alloc(); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + rtnl_route_set_gateway(route, gw); + rtnl_route_set_oif(route, iface_idx); + + if (mss > 0) { + rtnl_route_set_metric(route, RTAX_ADVMSS, mss); } + retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); + qDebug() << "return value:" << retval << ":" << strerror(-retval); rtnl_route_put(route); - nl_addr_put(dst); nl_addr_put(gw); nl_handle_destroy(rtsock); - return 0; + return retval; } + +/** + * This method adds or deletes a route. + * This method adds or deletes a route. According to the action, + * you can delete a route or add a route from/to the + * main routing table. In most cases, this method will be used for deleting + * or adding a default rout. To keep it modular, it is possible + * to specify an ip address family. + * + * @param ifName + * the interface name. + * @param destination + * the destination address (e.g: 0.0.0.0) + * + * @param gateway + * the gateway address (e.g: 192.168.0.254) + * + * @param af + * specify the family type of the ip address. + * possible values are: AF_INET for an IPv4 address + * AF_INET6 for an IPv6 address + * + * @param action + * possible values are: 0: perform add route + * 1: perform delete route + * + * @return + * return 1 if an error happened. + * return 0 if everything was ok. + */ +int routemanager::doRoute(QString ifName, QString destination, QString gateway, int af, int action) {return 0;} diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h index 0566801..ee48122 100644 --- a/LogReceiver/routemanager.h +++ b/LogReceiver/routemanager.h @@ -11,31 +11,29 @@ #include #include #include +#include #include #include +#include #include #include -class routemanager : public QObject{ +class routemanager: public QObject { Q_OBJECT public: routemanager(); virtual ~routemanager(); - int addRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); - int delRoute(QString ifname, QString destination, QString netmask, QString gateway, int metric); - int addRoute6(QString ifname, QString destination, - QString netmask, QString gateway, int metric); - int delRoute6(QString ifname, QString destination, - QString netmask, QString gateway, int metric); - int doRoute(QString destination, QString gateway, int af, int action); + int doRoute(QString ifName, QString destination, QString gateway, int af, + int action); + int replaceDefaultRoute(QString ifname, QString gateway, int metric, + int af); private: - QByteArray ba; -}; +}; #endif /* ROUTEMANAGER_H_ */ -- cgit v1.2.3-55-g7522 From 3b81d83bf449ef6242489805af15b7da7b197d58 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 21 Sep 2011 16:59:09 +0200 Subject: gui is now html based. still some problems with the jQuery stuff. it does not display anything. --- LogReceiver/CMakeLists.txt | 3 +- LogReceiver/LogReceiver.pro | 2 +- LogReceiver/html/background.png | Bin 0 -> 364392 bytes .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../css/images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../css/images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../css/images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../css/images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes .../html/css/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes LogReceiver/html/css/jquery-ui-1.8.16.css | 568 +++++++++++++++ LogReceiver/html/js/jquery-1.6.4.min.js | 4 + LogReceiver/html/js/jquery-ui-1.8.16.min.js | 791 +++++++++++++++++++++ LogReceiver/html/js/nd-functions.js | 29 + LogReceiver/html/js/test.js | 3 + LogReceiver/html/loadsystem.css | 90 +++ LogReceiver/html/loadsystem.html | 35 + LogReceiver/html/networkdiscovery.css | 105 +++ LogReceiver/html/networkdiscovery.html | 24 + LogReceiver/html/old.png | Bin 0 -> 316905 bytes LogReceiver/html/preload-debug.html | 34 + LogReceiver/html/preload.css | 105 +++ LogReceiver/html/preload.html | 42 ++ LogReceiver/logreceiver.cpp | 4 +- LogReceiver/logreceiver.h | 6 +- LogReceiver/nd.qrc | 25 + LogReceiver/ndgui.cpp | 228 +++--- LogReceiver/ndgui.h | 26 +- src/html/js/jquery-1.4.4.min.js | 167 ----- 36 files changed, 2022 insertions(+), 269 deletions(-) create mode 100644 LogReceiver/html/background.png create mode 100644 LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png create mode 100644 LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 LogReceiver/html/css/images/ui-icons_222222_256x240.png create mode 100644 LogReceiver/html/css/images/ui-icons_228ef1_256x240.png create mode 100644 LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png create mode 100644 LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png create mode 100644 LogReceiver/html/css/images/ui-icons_ffffff_256x240.png create mode 100644 LogReceiver/html/css/jquery-ui-1.8.16.css create mode 100644 LogReceiver/html/js/jquery-1.6.4.min.js create mode 100644 LogReceiver/html/js/jquery-ui-1.8.16.min.js create mode 100644 LogReceiver/html/js/nd-functions.js create mode 100644 LogReceiver/html/js/test.js create mode 100644 LogReceiver/html/loadsystem.css create mode 100644 LogReceiver/html/loadsystem.html create mode 100644 LogReceiver/html/networkdiscovery.css create mode 100644 LogReceiver/html/networkdiscovery.html create mode 100644 LogReceiver/html/old.png create mode 100644 LogReceiver/html/preload-debug.html create mode 100644 LogReceiver/html/preload.css create mode 100644 LogReceiver/html/preload.html create mode 100644 LogReceiver/nd.qrc delete mode 100644 src/html/js/jquery-1.4.4.min.js diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt index 690ecf4..c108a6f 100644 --- a/LogReceiver/CMakeLists.txt +++ b/LogReceiver/CMakeLists.txt @@ -52,7 +52,8 @@ add_executable(LogReceiver ${QT_INCLUDES} ${LOGRECEIVER_SOURCES} ${LOGRECEIVER_MOC_SOURCES} - ${LOGRECEIVER_UI_HEADERS}) + ${LOGRECEIVER_UI_HEADERS} + ${LOGRECEIVER_RC_SOURCES}) target_link_libraries(LogReceiver ${QT_LIBRARIES} diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index b1b1dc1..2eea3bd 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -21,4 +21,4 @@ SOURCES += routemanager.cpp \ abortbootdialog.cpp \ chooseinterfacedialog.cpp FORMS += ndgui.ui -RESOURCES += +RESOURCES += nd.qrc diff --git a/LogReceiver/html/background.png b/LogReceiver/html/background.png new file mode 100644 index 0000000..7e374f9 Binary files /dev/null and b/LogReceiver/html/background.png differ diff --git a/LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000..954e22d Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png differ diff --git a/LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 0000000..64ece57 Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png differ diff --git a/LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png b/LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000..abdc010 Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png differ diff --git a/LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png b/LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000..9b383f4 Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png differ diff --git a/LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png b/LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100644 index 0000000..a23baad Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png differ diff --git a/LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png b/LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..42ccba2 Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 0000000..39d5824 Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png differ diff --git a/LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000..f127367 Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png differ diff --git a/LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png new file mode 100644 index 0000000..359397a Binary files /dev/null and b/LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png differ diff --git a/LogReceiver/html/css/images/ui-icons_222222_256x240.png b/LogReceiver/html/css/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..b273ff1 Binary files /dev/null and b/LogReceiver/html/css/images/ui-icons_222222_256x240.png differ diff --git a/LogReceiver/html/css/images/ui-icons_228ef1_256x240.png b/LogReceiver/html/css/images/ui-icons_228ef1_256x240.png new file mode 100644 index 0000000..a641a37 Binary files /dev/null and b/LogReceiver/html/css/images/ui-icons_228ef1_256x240.png differ diff --git a/LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png b/LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 0000000..85e63e9 Binary files /dev/null and b/LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png differ diff --git a/LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png b/LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000..e117eff Binary files /dev/null and b/LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png differ diff --git a/LogReceiver/html/css/images/ui-icons_ffffff_256x240.png b/LogReceiver/html/css/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000..42f8f99 Binary files /dev/null and b/LogReceiver/html/css/images/ui-icons_ffffff_256x240.png differ diff --git a/LogReceiver/html/css/jquery-ui-1.8.16.css b/LogReceiver/html/css/jquery-ui-1.8.16.css new file mode 100644 index 0000000..5547c7b --- /dev/null +++ b/LogReceiver/html/css/jquery-ui-1.8.16.css @@ -0,0 +1,568 @@ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* + * jQuery UI Resizable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/LogReceiver/html/js/jquery-1.6.4.min.js b/LogReceiver/html/js/jquery-1.6.4.min.js new file mode 100644 index 0000000..628ed9b --- /dev/null +++ b/LogReceiver/html/js/jquery-1.6.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */ +(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/LogReceiver/html/js/jquery-ui-1.8.16.min.js b/LogReceiver/html/js/jquery-ui-1.8.16.min.js new file mode 100644 index 0000000..14c9064 --- /dev/null +++ b/LogReceiver/html/js/jquery-ui-1.8.16.min.js @@ -0,0 +1,791 @@ +/*! + * jQuery UI 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16", +keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= +this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, +"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": +"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, +outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, +"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& +a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= +false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, +left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= +k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= +m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= +d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= +a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), +g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('
').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options; +this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); +this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, +_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= +false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, +10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| +!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& +a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= +this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), +10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), +10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, +(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= +"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), +10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ +this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& +!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.leftg[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.topg[3])?h:!(h-this.offset.click.topg[2])?e:!(e-this.offset.click.left=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); +var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= +false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); +this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= +{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; +if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, +_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, +{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: +Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(cb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= +null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ +a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ +c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); +b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), +10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- +f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? +e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= +e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; +var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: +a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- +d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, +f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= +e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= +d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== +"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& +!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, +left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= +this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= +d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| +0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", +a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- +f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- +this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, +this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", +a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), +e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| +e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("
    ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, +this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("");e.secondary&&a.append("");if(!this.options.text){d.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")=== +"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); +b.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, +position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; +d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
    ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, +function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", +handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, +originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", +f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): +[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); +if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): +e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= +this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- +b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&& +c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j"); +this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", +g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? +(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- +m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); +return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; +this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- +g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= +d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); +this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ +g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", +function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; +this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= +-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; +d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= +d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, +e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); +j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); +if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, +this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, +load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, +"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k'))}function N(a){return a.bind("mouseout", +function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); +b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, +setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, +"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
    '))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", +function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== +"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): +d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, +b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= +1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ +2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= +a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, +"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== +a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", +a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= +"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); +c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= +true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); +a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& +!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), +h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= +this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); +this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, +_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): +0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? +"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); +this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); +if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? +b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd", +COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: +null)||this._defaults.monthNames;var i=function(o){(o=k+1 +12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& +a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, +g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
    ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
    '+(/all|left/.test(t)&& +x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
    ';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ +r.getDate()+"":''+r.getDate()+"")+"
    "+(l?""+(i[0]>0&&G==i[1]-1?'
    ':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
    ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, +e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
    ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ +(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? +a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, +e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, +"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; +if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== +"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Effects 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", +"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, +0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, +211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, +d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; +f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, +[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), +d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; +if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); +return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, +arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ +2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, +d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, +a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, +d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], +10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/LogReceiver/html/js/nd-functions.js b/LogReceiver/html/js/nd-functions.js new file mode 100644 index 0000000..7480763 --- /dev/null +++ b/LogReceiver/html/js/nd-functions.js @@ -0,0 +1,29 @@ +var updateStatus = function (s){ + +}; + +var updateIfProgressBar = function (i, p){ + if (p >= 0 && p <= 100){ + $("#"+i+"_progress").progressbar({ value: p }); + }else{ + $("#"+i+"_progress").progressbar({ value: 0 }); + } +}; + +var updateIfStatus = function(i, s){ + +}; + +var addInterface = function (i){ + $("#nd_progress_container").append( + "
    "+ + " Interface: " +i+ + " Start DHCP " + + "
    "+ + "
    " + ); + $("#"+i+"_progress").progressbar({ value: 33 }); +}; + + diff --git a/LogReceiver/html/js/test.js b/LogReceiver/html/js/test.js new file mode 100644 index 0000000..be4ec41 --- /dev/null +++ b/LogReceiver/html/js/test.js @@ -0,0 +1,3 @@ +function qrcAlert(){ + alert('Hello qrc'); +} diff --git a/LogReceiver/html/loadsystem.css b/LogReceiver/html/loadsystem.css new file mode 100644 index 0000000..6a6e64f --- /dev/null +++ b/LogReceiver/html/loadsystem.css @@ -0,0 +1,90 @@ +html,body{ + height:100%; +} +body{ + margin:0; + padding:0; + background-color:black; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} +#message{ + position:relative; + font-size:90%; + top:40%; +} +h1, p{ + text-align:center; + color:white; +} +* html{ + height:100%; +} +/* position the bars and balls correctly (rotate them and translate them outward)*/ +.bar1 { + -moz-transform:rotate(0deg) translate(0, -40px); + -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; +} +.bar2 { + -moz-transform:rotate(45deg) translate(0, -40px); + -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; +} +.bar3 { + -moz-transform:rotate(90deg) translate(0, -40px); + -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; +} +.bar4 { + -moz-transform:rotate(135deg) translate(0, -40px); + -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; +} +.bar5 { + -moz-transform:rotate(180deg) translate(0, -40px); + -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; +} +.bar6 { + -moz-transform:rotate(225deg) translate(0, -40px); + -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; +} +.bar7 { + -moz-transform:rotate(270deg) translate(0, -40px); + -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; +} +.bar8 { + -moz-transform:rotate(315deg) translate(0, -40px); + -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; +} +#div4 { + position:absolute; + left:50%; + top:50%; + margin-left:-50px; + margin-top:-50px; + width:100px; + height:100px; + -moz-border-radius:100px; + -webkit-border-radius:100px; + -moz-transform:scale(0.5); + -webkit-transform:scale(0.5); + -webkit-animation-name: rotateThis; + -webkit-animation-duration:2s; + -webkit-animation-iteration-count:infinite; + -webkit-animation-timing-function:linear; +} +#div4 div { + width:20px; + height:20px; + background:#fff; + -moz-border-radius:40px; + -webkit-border-radius:40px; + position:absolute; + left:40px; + top:40px; +} +/* add a shadow to the first */ +#div4 div { + -moz-box-shadow:black 0 0 4px; + -webkit-box-shadow:black 0 0 4px; +} diff --git a/LogReceiver/html/loadsystem.html b/LogReceiver/html/loadsystem.html new file mode 100644 index 0000000..838423e --- /dev/null +++ b/LogReceiver/html/loadsystem.html @@ -0,0 +1,35 @@ + + + + + + + +
    +

    Loading system, please wait...

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + diff --git a/LogReceiver/html/networkdiscovery.css b/LogReceiver/html/networkdiscovery.css new file mode 100644 index 0000000..1b144fa --- /dev/null +++ b/LogReceiver/html/networkdiscovery.css @@ -0,0 +1,105 @@ +html,body{ + height:100%; +} +body{ + margin:0; + padding:0; + /*background-color:blue; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} +#top{ + position:absolute; +} +#message{ + position:absolute; + top:37%; + width:100%; + font-size:90%; +} +h1, p{ + color:#333; + text-align:center; +} +#container{ + min-height:100%; + margin-bottom:-50px; +} +* html #container{ + height:100%; +} +#footer-spacer{ + height:0px; +} +#footer{ + height:30px; +} +/* animation */ +/* position the bars and balls correctly (rotate them and translate them outward)*/ +.bar1 { + -moz-transform:rotate(0deg) translate(0, -40px); + -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; +} +.bar2 { + -moz-transform:rotate(45deg) translate(0, -40px); + -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; +} +.bar3 { + -moz-transform:rotate(90deg) translate(0, -40px); + -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; +} +.bar4 { + -moz-transform:rotate(135deg) translate(0, -40px); + -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; +} +.bar5 { + -moz-transform:rotate(180deg) translate(0, -40px); + -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; +} +.bar6 { + -moz-transform:rotate(225deg) translate(0, -40px); + -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; +} +.bar7 { + -moz-transform:rotate(270deg) translate(0, -40px); + -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; +} +.bar8 { + -moz-transform:rotate(315deg) translate(0, -40px); + -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; +} +#div4 { + position:absolute; + left:50%; + top:50%; + margin-left:-50px; + margin-top:-50px; + width:100px; + height:100px; + -moz-border-radius:100px; + -webkit-border-radius:100px; + -moz-transform:scale(0.5); + -webkit-transform:scale(0.5); + -webkit-animation-name: rotateThis; + -webkit-animation-duration:2s; + -webkit-animation-iteration-count:infinite; + -webkit-animation-timing-function:linear; +} +#div4 div { + width:20px; + height:20px; + background:#fff; + -moz-border-radius:40px; + -webkit-border-radius:40px; + position:absolute; + left:40px; + top:40px; +} +/* add a shadow to the first */ +#div4 div { + -moz-box-shadow:black 0 0 4px; + -webkit-box-shadow:black 0 0 4px; +} diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html new file mode 100644 index 0000000..9ae0c5b --- /dev/null +++ b/LogReceiver/html/networkdiscovery.html @@ -0,0 +1,24 @@ + + + + + + + + + +
    +
    +
    +

    Network Discovery

    +
    + +
    +
    + +
    + + + diff --git a/LogReceiver/html/old.png b/LogReceiver/html/old.png new file mode 100644 index 0000000..84dd7b3 Binary files /dev/null and b/LogReceiver/html/old.png differ diff --git a/LogReceiver/html/preload-debug.html b/LogReceiver/html/preload-debug.html new file mode 100644 index 0000000..29d7391 --- /dev/null +++ b/LogReceiver/html/preload-debug.html @@ -0,0 +1,34 @@ + + + + + + +
    +
    +
    +

    Preboot GUI

    +

    Waiting on internet... + + +

    +
    +
    + +
    + + + diff --git a/LogReceiver/html/preload.css b/LogReceiver/html/preload.css new file mode 100644 index 0000000..e1eff68 --- /dev/null +++ b/LogReceiver/html/preload.css @@ -0,0 +1,105 @@ +html,body{ + height:100%; +} +body{ + margin:0; + padding:0; + background-color:black; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} +#top{ + position:absolute; +} +#message{ + position:absolute; + top:37%; + width:100%; + font-size:90%; +} +h1, p{ + color:white; + text-align:center; +} +#container{ + min-height:100%; + margin-bottom:-50px; +} +* html #container{ + height:100%; +} +#footer-spacer{ + height:0px; +} +#footer{ + height:30px; +} +/* animation */ +/* position the bars and balls correctly (rotate them and translate them outward)*/ +.bar1 { + -moz-transform:rotate(0deg) translate(0, -40px); + -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; +} +.bar2 { + -moz-transform:rotate(45deg) translate(0, -40px); + -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; +} +.bar3 { + -moz-transform:rotate(90deg) translate(0, -40px); + -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; +} +.bar4 { + -moz-transform:rotate(135deg) translate(0, -40px); + -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; +} +.bar5 { + -moz-transform:rotate(180deg) translate(0, -40px); + -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; +} +.bar6 { + -moz-transform:rotate(225deg) translate(0, -40px); + -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; +} +.bar7 { + -moz-transform:rotate(270deg) translate(0, -40px); + -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; +} +.bar8 { + -moz-transform:rotate(315deg) translate(0, -40px); + -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; +} +#div4 { + position:absolute; + left:50%; + top:50%; + margin-left:-50px; + margin-top:-50px; + width:100px; + height:100px; + -moz-border-radius:100px; + -webkit-border-radius:100px; + -moz-transform:scale(0.5); + -webkit-transform:scale(0.5); + -webkit-animation-name: rotateThis; + -webkit-animation-duration:2s; + -webkit-animation-iteration-count:infinite; + -webkit-animation-timing-function:linear; +} +#div4 div { + width:20px; + height:20px; + background:#fff; + -moz-border-radius:40px; + -webkit-border-radius:40px; + position:absolute; + left:40px; + top:40px; +} +/* add a shadow to the first */ +#div4 div { + -moz-box-shadow:black 0 0 4px; + -webkit-box-shadow:black 0 0 4px; +} diff --git a/LogReceiver/html/preload.html b/LogReceiver/html/preload.html new file mode 100644 index 0000000..bc0abd9 --- /dev/null +++ b/LogReceiver/html/preload.html @@ -0,0 +1,42 @@ + + + + + + +
    +
    +
    +

    Waiting for internet...

    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    + + + diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index b034013..7f573bf 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -94,7 +94,7 @@ QList LogReceiver::getListOfNetworkInterfaces() { continue; } result.append(nI.humanReadableName()); - emit addNewInterface(nI.humanReadableName()); + emit addInterface(nI.humanReadableName()); } } else { qDebug() << "no interfaces found!"; @@ -202,7 +202,7 @@ void LogReceiver::checkConnectivity(QString ifName) { qDebug() << "internet: check passed! for interface" << ifName; emit updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(ifName, ifConf.getGateway()); + emit connectionEstablished(&ifConf); } } diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index f5bdae1..172b1ae 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -56,9 +56,9 @@ private slots: void handleClientDisconnect(); signals: - void addNewInterface(QString ifName); - void changeProgressBarValue(QString ifName, int newValue); - void connectionEstablished(QString ifName, QString gateway); + void addInterface(const QString &ifName); + void changeProgressBarValue(const QString & ifName, const int $newValue); + void connectionEstablished(interfaceconfiguration *ifConf); void abortBoot(QString msg); void updateStatusLabel(QString ifName, QString status); void allProcessesFinished(); diff --git a/LogReceiver/nd.qrc b/LogReceiver/nd.qrc new file mode 100644 index 0000000..d9d4921 --- /dev/null +++ b/LogReceiver/nd.qrc @@ -0,0 +1,25 @@ + + + html/css/jquery-ui-1.8.16.css + html/js/jquery-1.6.4.min.js + html/js/jquery-ui-1.8.16.min.js + html/background.png + html/networkdiscovery.css + html/networkdiscovery.html + html/preload-debug.html + html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png + html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png + html/css/images/ui-bg_flat_10_000000_40x100.png + html/css/images/ui-bg_glass_65_ffffff_1x400.png + html/css/images/ui-bg_glass_100_f6f6f6_1x400.png + html/css/images/ui-bg_glass_100_fdf5ce_1x400.png + html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png + html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png + html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png + html/css/images/ui-icons_228ef1_256x240.png + html/css/images/ui-icons_222222_256x240.png + html/css/images/ui-icons_ef8c08_256x240.png + html/css/images/ui-icons_ffd27a_256x240.png + html/css/images/ui-icons_ffffff_256x240.png + + diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 7d638c0..7514d8a 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -1,60 +1,64 @@ #include "ndgui.h" -#include "chooseinterfacedialog.h" -#include "abortbootdialog.h" -ndgui::ndgui(QWidget *parent) - : QWidget(parent) -{ - ui.setupUi(this); +ndgui::ndgui(QMainWindow *parent) : + QMainWindow(parent) { - connect(&logReceiver, SIGNAL(addNewInterface(QString)), this, SLOT(addNewInterface(QString))); - connect(&logReceiver, SIGNAL(changeProgressBarValue(QString , int )), this, SLOT(handleProgress(QString, int))); - connect(&logReceiver, SIGNAL(connectionEstablished(QString, QString)), this, SLOT(handleConnectionEstablished(QString, QString))); - connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); - connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); - connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + connect(&logReceiver, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); + connect(&logReceiver, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); + //connect(&logReceiver, SIGNAL(connectionEstablished(interfaceconfiguration*)), this, SLOT(handleConnectionEstablished(interfaceconfiguration*))); + //connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); + //connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); + //connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); - buildGui(); - logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); - numberOfInterfaces = 0; + _webView = new QWebView(this); + connect(_webView, SIGNAL(loadFinished(bool)), this, + SLOT(loadFinished(bool))); + connect(_webView->page()->mainFrame(), SIGNAL( + javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); + setCentralWidget(_webView); + _webView->load(QUrl("qrc:html/networkdiscovery.html")); + _webView->show(); setWindowTitle(tr("NetD")); + setAttribute(Qt::WA_QuitOnClose, true); + setWindowFlags(Qt::FramelessWindowHint); + + logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); + numberOfInterfaces = 0; + + } -ndgui::~ndgui() -{ +ndgui::~ndgui() { } void ndgui::buildGui() { ndStatusLabel = new QLabel(tr("test")); - ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, - QSizePolicy::Expanding); + ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); ndStatusLabel->setAlignment(Qt::AlignCenter); ndStatusLabel->setMinimumSize(100, 20); // create interface group box createInterfaceGroupBox(); + mainLayout = new QVBoxLayout; + mainLayout->addWidget(ndStatusLabel); + mainLayout->addWidget(interfaceGroupBox); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(ndStatusLabel); - mainLayout->addWidget(interfaceGroupBox); - - setLayout(mainLayout); + setLayout(mainLayout); } -void ndgui::createInterfaceGroupBox(){ - interfaceGroupBox = new QGroupBox(tr("Interfaces")); +void ndgui::createInterfaceGroupBox() { + interfaceGroupBox = new QGroupBox(tr("Interfaces")); - interfaceGroupBoxLayout = new QVBoxLayout; - /* add interfaces via addInterfacesToGroupBox()*/ + interfaceGroupBoxLayout = new QVBoxLayout; + /* add interfaces via addInterfacesToGroupBox()*/ - interfaceGroupBox->setLayout(interfaceGroupBoxLayout); + interfaceGroupBox->setLayout(interfaceGroupBoxLayout); } void ndgui::addNewInterface(QString ifName) { @@ -79,19 +83,18 @@ void ndgui::addNewInterface(QString ifName) { } void ndgui::handleProgress(QString ifName, int newValue) { - qDebug() << "<[---]> SLOT handleProgress activated with: " << ifName << newValue; - QProgressBar * pBar = progressBars.value(ifName); - if(newValue >= pBar->value()) { - pBar->setValue(newValue); - } - else { - qDebug() << "Error: new value is smaller than the old value!"; - } + qDebug() << "<[---]> SLOT handleProgress activated with: " << ifName + << newValue; + QProgressBar * pBar = progressBars.value(ifName); + if (newValue >= pBar->value()) { + pBar->setValue(newValue); + } else { + qDebug() << "Error: new value is smaller than the old value!"; + } } -void ndgui::handleConnectionEstablished(QString ifName, QString gateway) { - finalUsableInterfaces.append(ifName); - // TODO:: Fix this!! use a interfaceconfiguration object instead!!! +void ndgui::handleConnectionEstablished(interfaceconfiguration *ifConf) { + finalUsableIntefacesMap.insert(ifConf->getInterface(), ifConf); } void ndgui::handleAbortBoot(QString msg) { @@ -107,7 +110,7 @@ void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { void ndgui::handleAllProcessesFinished() { qDebug() << "all Processes finished"; - if (finalUsableInterfaces.size() > 0) { + if (finalUsableIntefacesMap.size() > 0) { showChooseInterfaceDialog(); } else { showAbortBootDialog(); @@ -124,7 +127,8 @@ void ndgui::showAbortBootDialog() { } void ndgui::showChooseInterfaceDialog() { - cID = new ChooseInterfaceDialog(finalUsableInterfaces, this); + QStringList list(finalUsableIntefacesMap.keys()); + cID = new ChooseInterfaceDialog(list, this); connect(cID, SIGNAL(continueSignal(QString)), this, SLOT(continueBoot(QString))); connect(cID, SIGNAL(restartSignal()), this, SLOT(restartSystem())); @@ -133,61 +137,115 @@ void ndgui::showChooseInterfaceDialog() { cID->show(); } -void ndgui::restartSystem() -{ - - if(qobject_cast(QObject::sender())>0) - { - qDebug() << "received Signal restart abd"; - aBD->closeDialog(); - } - else if(qobject_cast(QObject::sender())>0) - { - qDebug() << "received Signal restart cid"; - cID->close(); - } - else - { - qDebug() << "unknown sender" << QObject::sender(); - } +void ndgui::restartSystem() { + if (qobject_cast (QObject::sender()) > 0) { + qDebug() << "received Signal restart abd"; + aBD->closeDialog(); + } else if (qobject_cast (QObject::sender()) > 0) { + qDebug() << "received Signal restart cid"; + cID->close(); + } else { + qDebug() << "unknown sender" << QObject::sender(); + } } -void ndgui::shutDownSystem() -{ - if(qobject_cast(QObject::sender())>0) - { +void ndgui::shutDownSystem() { + if (qobject_cast (QObject::sender()) > 0) { - aBD->closeDialog(); - } - else if(qobject_cast(QObject::sender())>0) - { + aBD->closeDialog(); + } else if (qobject_cast (QObject::sender()) > 0) { - cID->close(); - } - else - { - qDebug() << "unknown sender" << QObject::sender(); - } + cID->close(); + } else { + qDebug() << "unknown sender" << QObject::sender(); + } } -void ndgui::continueBoot(QString ifName) -{ - QString text = "continue with interface: " + ifName; - cID->close(); +void ndgui::continueBoot(QString ifName) { + QString text = "continue with interface: " + ifName; + cID->close(); } -void ndgui::showLog() -{ - qDebug() << "show log"; +void ndgui::showLog() { + qDebug() << "show log"; } /*test html gui version*/ /* slots */ -void ndgui::addInterface() { - QWebView *view; - view->page()->mainFrame(); - QWebElement element; + +void ndgui::loadFinished(bool ok) { + qDebug() << "load finished:" << ok; +} + +/************************************************/ +////////////////////////////////////////////////// +/************************************************/ + +void ndgui::attachToDOM(){ + _webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("fbgui"), this); + loadJQuery(); +} +void ndgui::loadJQuery() { + QString js; + QString pathToJsDir(":/html"); + pathToJsDir.append("/js"); + + QDir qrcJSDir(pathToJsDir); + QFileInfoList fiList = qrcJSDir.entryInfoList(); + QFileInfo fi; + foreach(fi, fiList) + { + if (fi.suffix() == "js") { + //qDebug()<< fi.fileName(); + //qxtLog->debug() << fi.fileName(); + if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { + QFile file; + file.setFileName(pathToJsDir + "/" + fi.fileName()); + file.open(QIODevice::ReadOnly); + js = file.readAll(); + file.close(); + + _webView->page()->mainFrame()->evaluateJavaScript(js); + //qxtLog->debug() << "evaluated " + fi.fileName(); + } + } + } +} + +//diese methoden müssen später in die javascriptInterface Klasse eingefügt werden. + +// dieser code muss später in die javascriptInterface klasse der fbgui eingefügt werden +// tausche dazu ndgui zu javascriptinterface +// und _webView->page()->mainFrame() zu _parent +void ndgui::updateStatus(const QString &status) { + if (status == "") + return; + QString code = QString("updateStatus('\%1')").arg(status); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} +void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { + if (percent == 0) + return; + qDebug() << "call updateIfProgressBar"; + QString code = QString("updateIfProgressBar('\%1',\%2)").arg(ifName).arg(percent); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} +void ndgui::updateIfStatus(const QString &ifName, const QString &status) { + if (ifName == "") + return; + QString code = QString("updateIfStatus('\%1','\%2')").arg(ifName).arg(status); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} +void ndgui::addInterface(const QString &ifName) { + if (ifName == "") + return; + qDebug() << "call addInterface"; + QString code = QString("addInterface('\%1')").arg(ifName); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} +void ndgui::notifyCall(){ + qDebug() << "------ called"; } diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index b320770..fd34ec4 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -1,10 +1,8 @@ #ifndef NDGUI_H #define NDGUI_H -#include -#include -#include -#include +#include +#include #include #include #include @@ -16,17 +14,17 @@ #include "ui_ndgui.h" -class ndgui: public QWidget { +class ndgui: public QMainWindow { Q_OBJECT public: - ndgui(QWidget *parent = 0); + ndgui(QMainWindow *parent = 0); ~ndgui(); public slots: void handleProgress(QString ifName, int newValue); void addNewInterface(QString ifName); - void handleConnectionEstablished(QString ifName, QString gateway); + void handleConnectionEstablished(interfaceconfiguration *ifConf); void handleAbortBoot(QString msg); void handleUpdateStatusLabel(QString ifName, QString status); void handleAllProcessesFinished(); @@ -40,15 +38,23 @@ public slots: void showChooseInterfaceDialog(); /*test for html gui version*/ - void addInterface(); + void attachToDOM(); + void loadJQuery(); + void addInterface(const QString &ifName); + void updateIfStatus(const QString &ifName, const QString &status); + void updateStatus(const QString &status); + void updateIfProgressBar(const QString &ifName, const int& percent); + void loadFinished(bool ok); + void notifyCall(); private: Ui::ndguiClass ui; + QWebView * _webView; + LogReceiver logReceiver; - QStringList finalUsableInterfaces; - QMap finalUsableIntefacesMap; // maps interfaceName to its gateway + QMap finalUsableIntefacesMap; // maps interfaceName to its gateway int numberOfInterfaces; diff --git a/src/html/js/jquery-1.4.4.min.js b/src/html/js/jquery-1.4.4.min.js deleted file mode 100644 index 8f3ca2e..0000000 --- a/src/html/js/jquery-1.4.4.min.js +++ /dev/null @@ -1,167 +0,0 @@ -/*! - * jQuery JavaScript Library v1.4.4 - * http://jquery.com/ - * - * Copyright 2010, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2010, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Thu Nov 11 19:04:53 2010 -0500 - */ -(function(E,B){function ka(a,b,d){if(d===B&&a.nodeType===1){d=a.getAttribute("data-"+b);if(typeof d==="string"){try{d=d==="true"?true:d==="false"?false:d==="null"?null:!c.isNaN(d)?parseFloat(d):Ja.test(d)?c.parseJSON(d):d}catch(e){}c.data(a,b,d)}else d=B}return d}function U(){return false}function ca(){return true}function la(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function Ka(a){var b,d,e,f,h,l,k,o,x,r,A,C=[];f=[];h=c.data(this,this.nodeType?"events":"__events__");if(typeof h==="function")h= -h.events;if(!(a.liveFired===this||!h||!h.live||a.button&&a.type==="click")){if(a.namespace)A=RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)");a.liveFired=this;var J=h.live.slice(0);for(k=0;kd)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La, -"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this, -e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a, -"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+ -a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/, -C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j, -s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this, -j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length}, -toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j=== --1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false; -if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload", -b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&& -!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&& -l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H
    a";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"), -k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false, -scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent= -false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom= -1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="
    ";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="
    t
    ";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display= -"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h= -c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando); -else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one"; -if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true}, -attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&& -b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0}; -c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem, -arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid= -d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+ -c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType=== -8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k=== -"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+ -d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired= -B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type=== -"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]=== -0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); -(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3]; -break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr, -q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h= -l;g.sort(w);if(h)for(var i=1;i0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n, -m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== -true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== -g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return in[3]-0},nth:function(g,i,n){return n[3]- -0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== -i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]]; -if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m, -g);else if(typeof g.length==="number")for(var p=g.length;n";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g); -n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&& -function(){var g=k,i=t.createElement("div");i.innerHTML="

    ";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F|| -p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g= -t.createElement("div");g.innerHTML="
    ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition? -function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n0)for(var h=d;h0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h= -h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context): -c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a, -2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a, -b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&& -e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/\s]+\/)>/g,P={option:[1, -""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div
    ","
    "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= -c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, -wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, -prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, -this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); -return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null; -else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append", -prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument|| -b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]===""&&!x?r.childNodes:[];for(o=k.length- -1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script")))); -d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i, -jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true, -zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b), -h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b); -if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f= -d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left; -e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/)<[^<]*)*<\/script>/gi, -ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b=== -"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("
    ").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& -!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, -getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", -script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| -!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache= -false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset; -A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type", -b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& -c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| -c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]= -encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess", -[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"), -e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}}); -if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show", -3),a,b,d);else{d=0;for(var e=this.length;d=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, -d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* -Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)} -var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; -this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| -this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= -c.timers,b=0;b-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a, -e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&& -c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); -c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+ -b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window); -- cgit v1.2.3-55-g7522 From 72df64f423d579bcd2fd156e48007055faf57ca7 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 22 Sep 2011 13:49:46 +0200 Subject: the html gui is working now. problem solved: LogReceiver/NetworkDiscovery started to early. so javascript jquery was not usable. also put the js code into the html file. it seems that qt has a problem using the code if it is not in the html file. also implemented the fast version. if one interface is usable we now go on directly to the continue boot screen --- LogReceiver/html/continueBoot.html | 24 ++++++++++ LogReceiver/html/js/nd-functions.js | 4 +- LogReceiver/html/networkdiscovery.html | 31 ++++++++++++ LogReceiver/logreceiver.cpp | 69 +++++++++++++++++++++----- LogReceiver/logreceiver.h | 5 +- LogReceiver/nd.qrc | 1 + LogReceiver/ndgui.cpp | 88 +++++++--------------------------- LogReceiver/ndgui.h | 30 ++---------- 8 files changed, 143 insertions(+), 109 deletions(-) create mode 100644 LogReceiver/html/continueBoot.html diff --git a/LogReceiver/html/continueBoot.html b/LogReceiver/html/continueBoot.html new file mode 100644 index 0000000..89020b7 --- /dev/null +++ b/LogReceiver/html/continueBoot.html @@ -0,0 +1,24 @@ + + + + + + + + + + + +
    +
    +
    +

    Continue Boot

    +
    +
    + +
    + + + diff --git a/LogReceiver/html/js/nd-functions.js b/LogReceiver/html/js/nd-functions.js index 7480763..ac8f273 100644 --- a/LogReceiver/html/js/nd-functions.js +++ b/LogReceiver/html/js/nd-functions.js @@ -3,6 +3,7 @@ var updateStatus = function (s){ }; var updateIfProgressBar = function (i, p){ + fbgui.notifyCall(); if (p >= 0 && p <= 100){ $("#"+i+"_progress").progressbar({ value: p }); }else{ @@ -11,10 +12,11 @@ var updateIfProgressBar = function (i, p){ }; var updateIfStatus = function(i, s){ - + }; var addInterface = function (i){ + fbgui.notifyCall(); $("#nd_progress_container").append( "
    "+ " Interface: " +i+ diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index 9ae0c5b..5e7aa64 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -5,6 +5,37 @@ + + +
    diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 7f573bf..011d5f3 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -1,4 +1,3 @@ - #include "logreceiver.h" #include "../common/fbgui.h" @@ -15,6 +14,9 @@ LogReceiver::~LogReceiver() { void LogReceiver::initAndRun(QString serverPath, QString pathToExe, QStringList* args) { + _userChoice = false; + _blocked = false; + if (serverPath != DEFAULT_QTSOCKETADDRESS) { dhcpcdArguments.append("-q"); dhcpcdArguments.append(serverPath); @@ -179,7 +181,7 @@ void LogReceiver::runDHCPCD(QString interface) { dhcpcdArguments.removeLast(); } -void LogReceiver::checkConnectivity(QString ifName) { +bool LogReceiver::checkConnectivity(QString ifName) { int metric = 0; // get gateway address @@ -197,16 +199,24 @@ void LogReceiver::checkConnectivity(QString ifName) { if (!tcpSocket->waitForConnected(500)) { qDebug() << "no internet connection with interface" << ifName; qDebug() << tcpSocket->errorString(); - emit updateStatusLabel(ifName, "connection not possible"); + emit + updateStatusLabel(ifName, "connection not possible"); + return false; } else { qDebug() << "internet: check passed! for interface" << ifName; - emit - updateStatusLabel(ifName, "connection possible"); - emit connectionEstablished(&ifConf); + emit updateStatusLabel(ifName, "connection possible"); + if (!_userChoice) { + // blockiere jeden weiteren check + // emite continueBoot + _blocked = true; + emit continueBoot(ifName); + } else { + emit connectionEstablished(&ifConf); + } + return true; } } - /** * */ @@ -346,7 +356,7 @@ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { emit changeProgressBarValue(interface, 80); break; case DHCPCD_EXIT: - //emit changeProgressBarValue(interface, 100); + emit changeProgressBarValue(interface, 100); break; case DHCPCD_LOG: @@ -355,7 +365,7 @@ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { } break; case LOG_ERR: - qDebug() << "received stat_error"; + qDebug() << "received error:" << msg; break; default: //qDebug() << logMsg; @@ -391,6 +401,7 @@ void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { * * @see LogReceiver::getListOfNetworkInterfaces() */ +/* void LogReceiver::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QProcess* p = qobject_cast (QObject::sender()); @@ -412,8 +423,6 @@ void LogReceiver::handleProcessFinished(int exitCode, changeProgressBarValue(ifName, 100); emit updateStatusLabel(ifName, "check connectivity"); - //checkInternetConnection(ifName); - //checkInternetConnectionViaTCP(ifName); checkConnectivity(ifName); } } @@ -426,6 +435,44 @@ void LogReceiver::handleProcessFinished(int exitCode, emit allProcessesFinished(); } } +*/ +void LogReceiver::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + if (!_blocked) { + if (ifName.compare("ifName") == 0) { + qDebug() + << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; + } else { + qDebug() << "process for interface" << ifName << "finished" + << exitCode << exitStatus; + if (exitCode > 0) { + qDebug() << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << "process normal exit"; + emit changeProgressBarValue(ifName, 100); + emit updateStatusLabel(ifName, "check connectivity"); + checkConnectivity(ifName); + } + } + if (!_blocked) { + QLocalSocket *client = ifNameToClient.value(ifName, 0); + if (client != 0) { + handleNewInput(client); + } + numberOfProcesses = numberOfProcesses - 1; + if (numberOfProcesses <= 0 && _userChoice) { + emit allProcessesFinished(); + } + } + } else { + qDebug() << "already blocked"; + emit updateStatusLabel(ifName, "finished DHCP"); + } +} /** * This Method is called when a process is started. * diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index 172b1ae..41cd3c7 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -62,6 +62,7 @@ signals: void abortBoot(QString msg); void updateStatusLabel(QString ifName, QString status); void allProcessesFinished(); + void continueBoot(QString ifName); private: QLocalServer *server; @@ -78,6 +79,8 @@ private: QNetworkAccessManager *accessManager; int numberOfProcesses; routemanager rm; + bool _userChoice; + bool _blocked; void handleNewInput(QLocalSocket * client); @@ -85,7 +88,7 @@ private: void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); bool checkCarrierState(QString interface); - void checkConnectivity(QString ifName); + bool checkConnectivity(QString ifName); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); diff --git a/LogReceiver/nd.qrc b/LogReceiver/nd.qrc index d9d4921..1719e6c 100644 --- a/LogReceiver/nd.qrc +++ b/LogReceiver/nd.qrc @@ -21,5 +21,6 @@ html/css/images/ui-icons_ef8c08_256x240.png html/css/images/ui-icons_ffd27a_256x240.png html/css/images/ui-icons_ffffff_256x240.png + html/continueBoot.html diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 7514d8a..ccd67da 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -7,16 +7,19 @@ ndgui::ndgui(QMainWindow *parent) : connect(&logReceiver, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); //connect(&logReceiver, SIGNAL(connectionEstablished(interfaceconfiguration*)), this, SLOT(handleConnectionEstablished(interfaceconfiguration*))); //connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); - //connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(handleUpdateStatusLabel(QString, QString))); + connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); //connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + connect(&logReceiver, SIGNAL(continueBoot(QString)), this, SLOT(continueBoot(QString))); + _started = false; _webView = new QWebView(this); + connect(_webView->page()->mainFrame(), SIGNAL( + javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); connect(_webView, SIGNAL(loadFinished(bool)), this, - SLOT(loadFinished(bool))); + SLOT(startNetworkDiscovery())); + - connect(_webView->page()->mainFrame(), SIGNAL( - javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); setCentralWidget(_webView); _webView->load(QUrl("qrc:html/networkdiscovery.html")); @@ -25,71 +28,19 @@ ndgui::ndgui(QMainWindow *parent) : setAttribute(Qt::WA_QuitOnClose, true); setWindowFlags(Qt::FramelessWindowHint); - logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); - numberOfInterfaces = 0; - - } ndgui::~ndgui() { } -void ndgui::buildGui() { - - ndStatusLabel = new QLabel(tr("test")); - ndStatusLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); - ndStatusLabel->setAlignment(Qt::AlignCenter); - ndStatusLabel->setMinimumSize(100, 20); - - // create interface group box - createInterfaceGroupBox(); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(ndStatusLabel); - mainLayout->addWidget(interfaceGroupBox); - - setLayout(mainLayout); -} - -void ndgui::createInterfaceGroupBox() { - interfaceGroupBox = new QGroupBox(tr("Interfaces")); - - interfaceGroupBoxLayout = new QVBoxLayout; - /* add interfaces via addInterfacesToGroupBox()*/ - - interfaceGroupBox->setLayout(interfaceGroupBoxLayout); -} - -void ndgui::addNewInterface(QString ifName) { - qDebug() << "receive interface to add:" << ifName; - QHBoxLayout *hBoxLayout = new QHBoxLayout; - QLabel *label = new QLabel(ifName); - QLabel *labelStatus = new QLabel("waiting"); - QProgressBar *pBar = new QProgressBar(this); - pBar->setRange(1, 100); - pBar->setMaximumSize(200, 20); - - statusLabels.insert(ifName, labelStatus); - progressBars.insert(ifName, pBar); - - hBoxLayout->addWidget(label, Qt::AlignLeft); - hBoxLayout->addWidget(labelStatus, Qt::AlignCenter); - hBoxLayout->addWidget(pBar, Qt::AlignRight); - - numberOfInterfaces++; - - interfaceGroupBoxLayout->addLayout(hBoxLayout, 2); -} - -void ndgui::handleProgress(QString ifName, int newValue) { - qDebug() << "<[---]> SLOT handleProgress activated with: " << ifName - << newValue; - QProgressBar * pBar = progressBars.value(ifName); - if (newValue >= pBar->value()) { - pBar->setValue(newValue); - } else { - qDebug() << "Error: new value is smaller than the old value!"; +void ndgui::startNetworkDiscovery(){ + if(!_started) { + _started = true; + logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); + } + else { + qDebug() << "NetworkDiscovery already started"; } } @@ -102,10 +53,6 @@ void ndgui::handleAbortBoot(QString msg) { showAbortBootDialog(); } -void ndgui::handleUpdateStatusLabel(QString ifName, QString status) { - QLabel* label = statusLabels.value(ifName); - label->setText(status); -} void ndgui::handleAllProcessesFinished() { qDebug() << "all Processes finished"; @@ -166,7 +113,9 @@ void ndgui::shutDownSystem() { void ndgui::continueBoot(QString ifName) { QString text = "continue with interface: " + ifName; - cID->close(); + qDebug() << text; + _webView->load(QUrl("qrc:html/continueBoot.html")); + //cID->close(); } void ndgui::showLog() { @@ -176,9 +125,6 @@ void ndgui::showLog() { /*test html gui version*/ /* slots */ -void ndgui::loadFinished(bool ok) { - qDebug() << "load finished:" << ok; -} /************************************************/ ////////////////////////////////////////////////// diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index fd34ec4..d0752e7 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -22,11 +22,8 @@ public: ~ndgui(); public slots: - void handleProgress(QString ifName, int newValue); - void addNewInterface(QString ifName); void handleConnectionEstablished(interfaceconfiguration *ifConf); void handleAbortBoot(QString msg); - void handleUpdateStatusLabel(QString ifName, QString status); void handleAllProcessesFinished(); void restartSystem(); @@ -37,6 +34,8 @@ public slots: void showAbortBootDialog(); void showChooseInterfaceDialog(); + void startNetworkDiscovery(); + /*test for html gui version*/ void attachToDOM(); void loadJQuery(); @@ -44,11 +43,12 @@ public slots: void updateIfStatus(const QString &ifName, const QString &status); void updateStatus(const QString &status); void updateIfProgressBar(const QString &ifName, const int& percent); - void loadFinished(bool ok); void notifyCall(); + private: - Ui::ndguiClass ui; + + bool _started; QWebView * _webView; @@ -56,29 +56,9 @@ private: QMap finalUsableIntefacesMap; // maps interfaceName to its gateway - int numberOfInterfaces; - ChooseInterfaceDialog *cID; AbortBootDialog *aBD; - /*gui elements*/ - QMap progressBars; - QMap statusLabels; - QLabel *ndStatusLabel; - QGroupBox *interfaceGroupBox; - QVBoxLayout *mainLayout; - QVBoxLayout *interfaceGroupBoxLayout; - /**/ - - - - - /*gui functions*/ - void buildGui(); - void createInterfaceGroupBox(); - - - }; #endif // NDGUI_H -- cgit v1.2.3-55-g7522 From 627bcf0ee7e209ed59394dcec85b2cfacd8ada4b Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 22 Sep 2011 16:47:47 +0200 Subject: added some more js functions. abortBootDialog() and chooseInterfaceDialog() --- LogReceiver/html/js/nd-functions.js | 50 +++++++++++++++++++-- LogReceiver/html/networkdiscovery.html | 59 ++++++++++++++++++++++++- LogReceiver/logreceiver.cpp | 10 +++-- LogReceiver/logreceiver.h | 3 +- LogReceiver/ndgui.cpp | 80 +++++++++++----------------------- LogReceiver/ndgui.h | 8 ++-- 6 files changed, 140 insertions(+), 70 deletions(-) diff --git a/LogReceiver/html/js/nd-functions.js b/LogReceiver/html/js/nd-functions.js index ac8f273..e3ee793 100644 --- a/LogReceiver/html/js/nd-functions.js +++ b/LogReceiver/html/js/nd-functions.js @@ -1,9 +1,52 @@ +var abortBootDialog = function (m) { + $("#nd_abort_boot_msg").html(m); + $("#nd_abort_boot_dialog").dialog( + { buttons: { "Show Log": function() {fbgui.showLog(); + $(this).dialog("close");}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +}; + +var chooseInterfaceDialog = function (i) { + var cb = ""+ + ""; + $("#nd_choose_interface_msg").html(cb); + $("#nd_choose_interface_dialog").dialog( + { buttons: { "Show Log": function() {fbgui.showLog(); + $(this).dialog("close");}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); }, + "Continue": function() { fbgui.continueBoot(); + $(this).dialog("close"); } + } , + minWidth: 550, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +} + var updateStatus = function (s){ }; -var updateIfProgressBar = function (i, p){ - fbgui.notifyCall(); +var updateIfProgressBar = function (i, p){ if (p >= 0 && p <= 100){ $("#"+i+"_progress").progressbar({ value: p }); }else{ @@ -12,11 +55,10 @@ var updateIfProgressBar = function (i, p){ }; var updateIfStatus = function(i, s){ - + $("#"+i+"_status").html(s); }; var addInterface = function (i){ - fbgui.notifyCall(); $("#nd_progress_container").append( "
    "+ " Interface: " +i+ diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index 5e7aa64..ff8b587 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -1,5 +1,6 @@ + @@ -7,6 +8,50 @@ @@ -43,7 +90,15 @@ var addInterface = function (i){

    Network Discovery

    - + +
    +

    +

    + +
    +

    +
    +
    diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp index 011d5f3..7f8c7f3 100644 --- a/LogReceiver/logreceiver.cpp +++ b/LogReceiver/logreceiver.cpp @@ -79,6 +79,10 @@ void LogReceiver::initAndRun(QString serverPath, QString pathToExe, } +int LogReceiver::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { + rm.replaceDefaultRoute(ifName, gateway, mss, AF_INET); +} + QList LogReceiver::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); QList result; @@ -209,7 +213,7 @@ bool LogReceiver::checkConnectivity(QString ifName) { // blockiere jeden weiteren check // emite continueBoot _blocked = true; - emit continueBoot(ifName); + emit continueBoot(ifName, _userChoice); } else { emit connectionEstablished(&ifConf); } @@ -441,7 +445,7 @@ void LogReceiver::handleProcessFinished(int exitCode, QProcess* p = qobject_cast (QObject::sender()); QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - if (!_blocked) { + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface if (ifName.compare("ifName") == 0) { qDebug() << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; @@ -458,7 +462,7 @@ void LogReceiver::handleProcessFinished(int exitCode, checkConnectivity(ifName); } } - if (!_blocked) { + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface QLocalSocket *client = ifNameToClient.value(ifName, 0); if (client != 0) { handleNewInput(client); diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h index 41cd3c7..7cd12d8 100644 --- a/LogReceiver/logreceiver.h +++ b/LogReceiver/logreceiver.h @@ -46,6 +46,7 @@ public: void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList* args = NULL); + int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); private slots: void handleNewConnection(); @@ -62,7 +63,7 @@ signals: void abortBoot(QString msg); void updateStatusLabel(QString ifName, QString status); void allProcessesFinished(); - void continueBoot(QString ifName); + void continueBoot(QString ifName, bool userChoice); private: QLocalServer *server; diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index ccd67da..0394926 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -6,10 +6,10 @@ ndgui::ndgui(QMainWindow *parent) : connect(&logReceiver, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); connect(&logReceiver, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); //connect(&logReceiver, SIGNAL(connectionEstablished(interfaceconfiguration*)), this, SLOT(handleConnectionEstablished(interfaceconfiguration*))); - //connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(handleAbortBoot(QString))); + connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); //connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); - connect(&logReceiver, SIGNAL(continueBoot(QString)), this, SLOT(continueBoot(QString))); + connect(&logReceiver, SIGNAL(continueBoot(QString, bool)), this, SLOT(continueBoot(QString, bool))); _started = false; @@ -48,74 +48,33 @@ void ndgui::handleConnectionEstablished(interfaceconfiguration *ifConf) { finalUsableIntefacesMap.insert(ifConf->getInterface(), ifConf); } -void ndgui::handleAbortBoot(QString msg) { - qDebug() << "abort boot. reason:" << msg; - showAbortBootDialog(); -} - - void ndgui::handleAllProcessesFinished() { qDebug() << "all Processes finished"; - - if (finalUsableIntefacesMap.size() > 0) { - showChooseInterfaceDialog(); + if(finalUsableIntefacesMap.size() > 0) { + // chooseInterfaceDialog(); } else { - showAbortBootDialog(); + abortBoot("No usable interfaces found!"); } } -void ndgui::showAbortBootDialog() { - aBD = new AbortBootDialog(this); - connect(aBD, SIGNAL(showLogSignal()), this, SLOT(showLog())); - connect(aBD, SIGNAL(restartSignal()), this, SLOT(restartSystem())); - connect(aBD, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); - aBD->setModal(true); - aBD->show(); -} - -void ndgui::showChooseInterfaceDialog() { - QStringList list(finalUsableIntefacesMap.keys()); - cID = new ChooseInterfaceDialog(list, this); - connect(cID, SIGNAL(continueSignal(QString)), this, - SLOT(continueBoot(QString))); - connect(cID, SIGNAL(restartSignal()), this, SLOT(restartSystem())); - connect(cID, SIGNAL(shutDownSignal()), this, SLOT(shutDownSystem())); - cID->setModal(true); - cID->show(); -} - void ndgui::restartSystem() { - if (qobject_cast (QObject::sender()) > 0) { - qDebug() << "received Signal restart abd"; - aBD->closeDialog(); - } else if (qobject_cast (QObject::sender()) > 0) { - qDebug() << "received Signal restart cid"; - cID->close(); - } else { - qDebug() << "unknown sender" << QObject::sender(); - } - } void ndgui::shutDownSystem() { - if (qobject_cast (QObject::sender()) > 0) { - aBD->closeDialog(); - } else if (qobject_cast (QObject::sender()) > 0) { +} - cID->close(); +void ndgui::continueBoot(QString ifName, bool userChoice) { + if (!userChoice) { + QString text = "continue with interface: " + ifName; + qDebug() << text << "no user choice"; + _webView->load(QUrl("qrc:html/continueBoot.html")); } else { - qDebug() << "unknown sender" << QObject::sender(); + QString text = "continue with interface: " + ifName; + qDebug() << text << "with user choice"; + _webView->load(QUrl("qrc:html/continueBoot.html")); } - -} - -void ndgui::continueBoot(QString ifName) { - QString text = "continue with interface: " + ifName; - qDebug() << text; - _webView->load(QUrl("qrc:html/continueBoot.html")); - //cID->close(); } void ndgui::showLog() { @@ -166,6 +125,17 @@ void ndgui::loadJQuery() { // dieser code muss später in die javascriptInterface klasse der fbgui eingefügt werden // tausche dazu ndgui zu javascriptinterface // und _webView->page()->mainFrame() zu _parent + +void ndgui::abortBoot(const QString msg) { + QString code = QString("abortBootDialog('\%1')").arg(msg); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + +void ndgui::chooseInterfaceDialog(const QString msg) { + QString code = QString("chooseInterfaceDialog('\%1')").arg(msg); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + void ndgui::updateStatus(const QString &status) { if (status == "") return; diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index d0752e7..7cbfb20 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -23,17 +23,15 @@ public: public slots: void handleConnectionEstablished(interfaceconfiguration *ifConf); - void handleAbortBoot(QString msg); + void abortBoot(QString msg); + void chooseInterfaceDialog(QString msg); void handleAllProcessesFinished(); void restartSystem(); void shutDownSystem(); - void continueBoot(QString ifName); + void continueBoot(QString ifName, bool userChoice); void showLog(); - void showAbortBootDialog(); - void showChooseInterfaceDialog(); - void startNetworkDiscovery(); /*test for html gui version*/ -- cgit v1.2.3-55-g7522 From 8f21ea21d83083869a28fea8254d4a0034021335 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 23 Sep 2011 13:31:38 +0200 Subject: changed the css file for the networkdiscovery. now it looks a bit nicer --- LogReceiver/html/networkdiscovery.css | 113 ++++++++------------------------- LogReceiver/html/networkdiscovery.html | 58 +++++++++++------ 2 files changed, 62 insertions(+), 109 deletions(-) diff --git a/LogReceiver/html/networkdiscovery.css b/LogReceiver/html/networkdiscovery.css index 1b144fa..fc1c514 100644 --- a/LogReceiver/html/networkdiscovery.css +++ b/LogReceiver/html/networkdiscovery.css @@ -11,95 +11,32 @@ body{ */ background-size:100%; } -#top{ - position:absolute; -} -#message{ - position:absolute; - top:37%; - width:100%; - font-size:90%; -} + +/* Tell the browser to render HTML 5 elements as block */ +header, footer, aside { + display: block; +} + +#content { + display: table; + width: 100%; +} + +#mainContent { + display: table-cell; + width: 620px; + padding-right: 22px; + padding-left: 22px; +} + +aside { + display: table-cell; + width: 300px; +} + + h1, p{ color:#333; text-align:center; } -#container{ - min-height:100%; - margin-bottom:-50px; -} -* html #container{ - height:100%; -} -#footer-spacer{ - height:0px; -} -#footer{ - height:30px; -} -/* animation */ -/* position the bars and balls correctly (rotate them and translate them outward)*/ -.bar1 { - -moz-transform:rotate(0deg) translate(0, -40px); - -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; -} -.bar2 { - -moz-transform:rotate(45deg) translate(0, -40px); - -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; -} -.bar3 { - -moz-transform:rotate(90deg) translate(0, -40px); - -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; -} -.bar4 { - -moz-transform:rotate(135deg) translate(0, -40px); - -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; -} -.bar5 { - -moz-transform:rotate(180deg) translate(0, -40px); - -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; -} -.bar6 { - -moz-transform:rotate(225deg) translate(0, -40px); - -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; -} -.bar7 { - -moz-transform:rotate(270deg) translate(0, -40px); - -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; -} -.bar8 { - -moz-transform:rotate(315deg) translate(0, -40px); - -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; -} -#div4 { - position:absolute; - left:50%; - top:50%; - margin-left:-50px; - margin-top:-50px; - width:100px; - height:100px; - -moz-border-radius:100px; - -webkit-border-radius:100px; - -moz-transform:scale(0.5); - -webkit-transform:scale(0.5); - -webkit-animation-name: rotateThis; - -webkit-animation-duration:2s; - -webkit-animation-iteration-count:infinite; - -webkit-animation-timing-function:linear; -} -#div4 div { - width:20px; - height:20px; - background:#fff; - -moz-border-radius:40px; - -webkit-border-radius:40px; - position:absolute; - left:40px; - top:40px; -} -/* add a shadow to the first */ -#div4 div { - -moz-box-shadow:black 0 0 4px; - -webkit-box-shadow:black 0 0 4px; -} + diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index ff8b587..600674a 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -85,26 +85,42 @@ var addInterface = function (i){ -
    -
    -
    -

    Network Discovery

    -
    - -
    -

    -

    - -
    -

    -
    - -
    -
    - -
    - +
    +

    Network Discovery

    +
    +
    +

    Welcome to the Network Discovery. We are now looking for usable interfaces and will go on as soon as we found one. This may take a few seconds.

    +
    +
    +
    + +
    +
    +
    + +

    test

    + +
    +

    +

    + +
    +

    +
    + +
    +
    +
    +
    + +
    +
    +
    +

    RZ Uni Freiburg, 2011

    +
    -- cgit v1.2.3-55-g7522 From 0216e9aadb7e794037d3cf553b05474de8322a74 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 23 Sep 2011 14:08:55 +0200 Subject: renamed the logreceiver to networkdiscovery and deleted the abortbootdialog and chooseinterfacedialog since this is now implemented via html/css/jquery --- LogReceiver/LogReceiver.pro | 16 +- LogReceiver/abortbootdialog.cpp | 98 ------- LogReceiver/abortbootdialog.h | 46 --- LogReceiver/chooseinterfacedialog.cpp | 98 ------- LogReceiver/chooseinterfacedialog.h | 44 --- LogReceiver/logreceiver.cpp | 518 ---------------------------------- LogReceiver/logreceiver.h | 98 ------- LogReceiver/ndgui.cpp | 16 +- LogReceiver/ndgui.h | 8 +- LogReceiver/networkdiscovery.cpp | 518 ++++++++++++++++++++++++++++++++++ LogReceiver/networkdiscovery.h | 98 +++++++ 11 files changed, 632 insertions(+), 926 deletions(-) delete mode 100644 LogReceiver/abortbootdialog.cpp delete mode 100644 LogReceiver/abortbootdialog.h delete mode 100644 LogReceiver/chooseinterfacedialog.cpp delete mode 100644 LogReceiver/chooseinterfacedialog.h delete mode 100644 LogReceiver/logreceiver.cpp delete mode 100644 LogReceiver/logreceiver.h create mode 100644 LogReceiver/networkdiscovery.cpp create mode 100644 LogReceiver/networkdiscovery.h diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index 2eea3bd..eaa7001 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -7,18 +7,14 @@ LIBS += -lsysfs \ -L/home/niklas/fbgui/customdhcpcd/src/build \ -llibcustomdhcpcd INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src -HEADERS += routemanager.h \ +HEADERS += networkdiscovery.h \ + routemanager.h \ interfaceconfiguration.h \ - ndgui.h \ - logreceiver.h \ - abortbootdialog.h \ - chooseinterfacedialog.h -SOURCES += routemanager.cpp \ + ndgui.h +SOURCES += networkdiscovery.cpp \ + routemanager.cpp \ interfaceconfiguration.cpp \ ndgui.cpp \ - main.cpp \ - logreceiver.cpp \ - abortbootdialog.cpp \ - chooseinterfacedialog.cpp + main.cpp FORMS += ndgui.ui RESOURCES += nd.qrc diff --git a/LogReceiver/abortbootdialog.cpp b/LogReceiver/abortbootdialog.cpp deleted file mode 100644 index 1614f6b..0000000 --- a/LogReceiver/abortbootdialog.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include - -#include "abortbootdialog.h" - -AbortBootDialog::AbortBootDialog(QWidget *parent) : - QDialog(parent) -{ - oneMinuteCountdown = 60; - - createContentGroupBox(); - createButtonGroupBox(); - - createTimer(); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(contentGroupBox); - mainLayout->addWidget(buttonGroupBox); - - setLayout(mainLayout); - setWindowTitle(tr("Abort Boot")); -} -void AbortBootDialog::createContentGroupBox() -{ - contentGroupBox = new QGroupBox; - timerLabel = new QLabel(QString::number(oneMinuteCountdown)); - QHBoxLayout *layout = new QHBoxLayout; - - - layout->addWidget(new QLabel(tr("test"))); - layout->addWidget(timerLabel); - contentGroupBox->setLayout(layout); -} - -void AbortBootDialog::createButtonGroupBox() -{ - buttonGroupBox = new QGroupBox; - QHBoxLayout *layout = new QHBoxLayout; - - QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); - shutDownButton->setDefault(true); - QPushButton *restartButton = new QPushButton(tr("Restart")); - restartButton->setAutoDefault(false); - QPushButton *showLogButton = new QPushButton(tr("Show Log")); - showLogButton->setAutoDefault(false); - - connect(showLogButton, SIGNAL(clicked()),this, SLOT(showLogButtonClicked())); - connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); - connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); - - layout->addWidget(showLogButton); - layout->addWidget(restartButton); - layout->addWidget(shutDownButton); - buttonGroupBox->setLayout(layout); -} - -void AbortBootDialog::createTimer() -{ - timer = new QTimer(this); - connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); - timer->start(1000); -} - -void AbortBootDialog::showLogButtonClicked() -{ - qDebug() << "show log button clicked"; - emit showLogSignal(); -} - -void AbortBootDialog::shutDownButtonClicked() -{ - qDebug() << "shut down button clicked"; - emit shutDownSignal(); -} - -void AbortBootDialog::restartButtonClicked() -{ - qDebug() << "restart button clicked"; - emit restartSignal(); -} - -void AbortBootDialog::timerLabelUpdate() -{ - oneMinuteCountdown = oneMinuteCountdown -1; - timerLabel->setText(QString::number(oneMinuteCountdown)); - if(oneMinuteCountdown <= 0) - { - timer->stop(); - emit shutDownSignal(); - } - -} - -void AbortBootDialog::closeDialog() -{ - this->hide(); - this->killTimer(timer->timerId()); - this->close(); -} diff --git a/LogReceiver/abortbootdialog.h b/LogReceiver/abortbootdialog.h deleted file mode 100644 index 157331b..0000000 --- a/LogReceiver/abortbootdialog.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef ABORTBOOTDIALOG_H -#define ABORTBOOTDIALOG_H - -#include -#include "qboxlayout.h" -#include "qgroupbox.h" -#include "qcombobox.h" -#include "qlabel.h" - - -class AbortBootDialog : public QDialog -{ - Q_OBJECT -public: - explicit AbortBootDialog(QWidget *parent = 0); - - void closeDialog(); -private slots: - void showLogButtonClicked(); - void shutDownButtonClicked(); - void restartButtonClicked(); - void timerLabelUpdate(); - -private: - QVBoxLayout *mainLayout; - QGroupBox *contentGroupBox; - QGroupBox *buttonGroupBox; - QLabel *timerLabel; - QTimer *timer; - int oneMinuteCountdown; - - void createContentGroupBox(); - void createButtonGroupBox(); - void createTimer(); - - -signals: - void showLogSignal(); - void shutDownSignal(); - void restartSignal(); - -public slots: - -}; - -#endif // ABORTBOOTDIALOG_H diff --git a/LogReceiver/chooseinterfacedialog.cpp b/LogReceiver/chooseinterfacedialog.cpp deleted file mode 100644 index b7a37e8..0000000 --- a/LogReceiver/chooseinterfacedialog.cpp +++ /dev/null @@ -1,98 +0,0 @@ -#include - -#include "chooseinterfacedialog.h" - -ChooseInterfaceDialog::ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent) : - QDialog(parent) -{ - oneMinuteCountdown = 60; - - createContentGroupBox(interfaces); - createButtonGroupBox(); - - createTimer(); - - mainLayout = new QVBoxLayout; - mainLayout->addWidget(contentGroupBox); - mainLayout->addWidget(buttonGroupBox); - - setLayout(mainLayout); - setWindowTitle(tr("Choose Interface")); -} - -void ChooseInterfaceDialog::createContentGroupBox(QStringList &interfaces) -{ - contentGroupBox = new QGroupBox; - timerLabel = new QLabel(QString::number(oneMinuteCountdown)); - QVBoxLayout *groupBoxLayout = new QVBoxLayout; - QHBoxLayout *layout = new QHBoxLayout; - - comboBox = new QComboBox; - comboBox->addItems(interfaces); - - layout->addWidget(new QLabel(tr("test"))); - layout->addWidget(comboBox); - - groupBoxLayout->addWidget(timerLabel); - groupBoxLayout->addLayout(layout); - contentGroupBox->setLayout(groupBoxLayout); -} - -void ChooseInterfaceDialog::createButtonGroupBox() -{ - buttonGroupBox = new QGroupBox; - QHBoxLayout *layout = new QHBoxLayout; - - QPushButton *continueButton = new QPushButton(tr("Continue")); - continueButton->setDefault(true); - QPushButton *shutDownButton = new QPushButton(tr("Shut Down")); - shutDownButton->setAutoDefault(false); - QPushButton *restartButton = new QPushButton(tr("Restart")); - restartButton->setAutoDefault(false); - - connect(continueButton, SIGNAL(clicked()),this, SLOT(continueButtonClicked())); - connect(shutDownButton, SIGNAL(clicked()), this, SLOT(shutDownButtonClicked())); - connect(restartButton, SIGNAL(clicked()), this, SLOT(restartButtonClicked())); - - layout->addWidget(restartButton); - layout->addWidget(shutDownButton); - layout->addWidget(continueButton); - buttonGroupBox->setLayout(layout); -} - -void ChooseInterfaceDialog::createTimer() -{ - timer = new QTimer(this); - connect(timer, SIGNAL(timeout()),this, SLOT(timerLabelUpdate())); - timer->start(1000); -} - -void ChooseInterfaceDialog::continueButtonClicked() -{ - qDebug() << "continue button clicked"; - emit continueSignal(comboBox->currentText()); -} - -void ChooseInterfaceDialog::shutDownButtonClicked() -{ - qDebug() << "shut down button clicked"; - emit shutDownSignal(); -} - -void ChooseInterfaceDialog::restartButtonClicked() -{ - qDebug() << "restart button clicked"; - emit restartSignal(); -} - -void ChooseInterfaceDialog::timerLabelUpdate() -{ - oneMinuteCountdown = oneMinuteCountdown -1; - timerLabel->setText(QString::number(oneMinuteCountdown)); - if(oneMinuteCountdown <= 0) - { - timer->stop(); - emit continueSignal(comboBox->currentText()); - } - -} diff --git a/LogReceiver/chooseinterfacedialog.h b/LogReceiver/chooseinterfacedialog.h deleted file mode 100644 index 48ee038..0000000 --- a/LogReceiver/chooseinterfacedialog.h +++ /dev/null @@ -1,44 +0,0 @@ -#ifndef CHOOSEINTERFACEDIALOG_H -#define CHOOSEINTERFACEDIALOG_H - -#include -#include "qboxlayout.h" -#include "qgroupbox.h" -#include "qcombobox.h" -#include "qlabel.h" - -class ChooseInterfaceDialog : public QDialog -{ - Q_OBJECT -public: - explicit ChooseInterfaceDialog(QStringList &interfaces, QWidget *parent = 0); -private slots: - void continueButtonClicked(); - void shutDownButtonClicked(); - void restartButtonClicked(); - void timerLabelUpdate(); - -private: - QVBoxLayout *mainLayout; - QGroupBox *contentGroupBox; - QGroupBox *buttonGroupBox; - QComboBox *comboBox; - QLabel *timerLabel; - QTimer *timer; - int oneMinuteCountdown; - - void createContentGroupBox(QStringList &interfaces); - void createButtonGroupBox(); - void createTimer(); - -signals: - void continueSignal(QString ifName); - void shutDownSignal(); - void restartSignal(); - - -public slots: - -}; - -#endif // CHOOSEINTERFACEDIALOG_H diff --git a/LogReceiver/logreceiver.cpp b/LogReceiver/logreceiver.cpp deleted file mode 100644 index 7f8c7f3..0000000 --- a/LogReceiver/logreceiver.cpp +++ /dev/null @@ -1,518 +0,0 @@ -#include "logreceiver.h" - -#include "../common/fbgui.h" - -LogReceiver::LogReceiver(QObject *parent) { - - server = new QLocalServer(this); -} - -LogReceiver::~LogReceiver() { - -} - -void LogReceiver::initAndRun(QString serverPath, QString pathToExe, - QStringList* args) { - - _userChoice = false; - _blocked = false; - - if (serverPath != DEFAULT_QTSOCKETADDRESS) { - dhcpcdArguments.append("-q"); - dhcpcdArguments.append(serverPath); - } - if (!server->listen(serverPath)) { - /* - QMessageBox::critical(this, tr("LogReceiver"), tr( - "Unable to start the server: %1.") .arg(server->errorString())); - close(); - */ - // emit signal to the gui that a critial error occoured - QString errorInfo("Unable to start server: "); - qDebug() << "--- \t [LogReceiver::initAndRun] " + errorInfo - << server->errorString(); - emit - abortBoot(errorInfo + server->errorString()); - return; - } - - connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - - pathToDhcpcdExe = pathToExe; - // check if the path to the customdhcpcd file is correct - QFileInfo fInfo(pathToDhcpcdExe); - if (!fInfo.exists()) { - qDebug() - << "couldn't find customdhcpcd exe. Please check the path to this file."; - emit - abortBoot( - "couldn't find customdhcpcd exe. Please check the path to this file."); - return; - } - - if (args != NULL && !args->isEmpty()) { - qDebug() << "--- \t [LogReceiver::initAndRun] added additional args"; - dhcpcdArguments.append(*args); - } - - numberOfProcesses = 0; - - // start the main work: - - QList list = getListOfNetworkInterfaces(); - - if (list.size() > 0) { - - //list = checkCarrierState(list); - - - //dhcpcdArguments.append("-d"); - QString ifName("eth0"); - numberOfProcesses = list.size(); - runDHCPCD(list); - } else { - qDebug() << "list is empty. Haven't found usable interface."; - emit - abortBoot("Haven't found usable interface"); - return; - } - -} - -int LogReceiver::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { - rm.replaceDefaultRoute(ifName, gateway, mss, AF_INET); -} - -QList LogReceiver::getListOfNetworkInterfaces() { - QList nIList = QNetworkInterface::allInterfaces(); - QList result; - - if (nIList.size() > 0) { - foreach(QNetworkInterface nI, nIList) - { - if (((!(nI.flags() & QNetworkInterface::CanBroadcast) - || nI.flags() & QNetworkInterface::IsLoopBack) - || nI.flags() & QNetworkInterface::IsPointToPoint) - || checkBlackList(nI.humanReadableName())) { - continue; - } - if (!checkCarrierState(nI.humanReadableName())) { - continue; - } - result.append(nI.humanReadableName()); - emit addInterface(nI.humanReadableName()); - } - } else { - qDebug() << "no interfaces found!"; - } - return result; -} - -QList LogReceiver::checkCarrierState(QList &interfaces) { - QList result; - foreach(QString nI, interfaces) - { - if (checkCarrierState(nI)) { - // everything is fine, cable is plugged, - // go on with the next interface - //continue; - result.append(nI); - } - } - return result; -} - -bool LogReceiver::checkCarrierState(QString interface) { - - qDebug() << "check carrier state for interface " << interface; - QByteArray ba = interface.toAscii(); - const char * iface = ba.data(); - - struct sysfs_class_device *class_device = sysfs_open_class_device("net", - iface); - struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); - if (attrlist != NULL) { - struct sysfs_attribute *attr = NULL; - dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { - if (strcmp("carrier", attr->name) == 0) { - QString value(attr->value); - bool ok = false; - bool * pok = &ok; - int v = value.toInt(pok); - if (*pok) { - if (v == 1) { - qDebug() - << "carrier is 1. Cable is plugged. return true"; - return true; - } else { - qDebug() - << "carrier is 0. Cable is unplugged. return false"; - return false; - } - } else { - qDebug() << "conversion error"; - } - } - } - } else { - qDebug() << "attrlist is Null"; - } - sysfs_close_class_device(class_device); - - return true; -} - -void LogReceiver::runDHCPCD(QList &interfaces) { - foreach(QString nI, interfaces) - { - runDHCPCD(nI); - } -} - -void LogReceiver::runDHCPCD(QString interface) { - emit updateStatusLabel(interface, "start DHCP"); - dhcpcdArguments.append(interface); - QProcess * p = new QProcess(this); - - qDebug() << dhcpcdArguments; - - clientProcessToIfNameMap.insert(p, interface); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe, dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, - SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); -} - -bool LogReceiver::checkConnectivity(QString ifName) { - int metric = 0; - - // get gateway address - QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); - pathToGatewayFile += ifName; - interfaceconfiguration ifConf; - ifConf.readConfigOutOfFile(pathToGatewayFile); - - // replace default route - qDebug() << rm.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET); - - // check connectivity via tcp connection - QTcpSocket *tcpSocket = new QTcpSocket(this); - tcpSocket->connectToHost(QString("209.85.148.105"), 80); - if (!tcpSocket->waitForConnected(500)) { - qDebug() << "no internet connection with interface" << ifName; - qDebug() << tcpSocket->errorString(); - emit - updateStatusLabel(ifName, "connection not possible"); - return false; - } else { - qDebug() << "internet: check passed! for interface" << ifName; - emit updateStatusLabel(ifName, "connection possible"); - if (!_userChoice) { - // blockiere jeden weiteren check - // emite continueBoot - _blocked = true; - emit continueBoot(ifName, _userChoice); - } else { - emit connectionEstablished(&ifConf); - } - return true; - } -} - -/** - * - */ -void LogReceiver::handleNewConnection() { - qDebug() << "New Connection arrived"; - - /*QLocalSocket **/ - client = server ->nextPendingConnection(); - clients.insert(client, client); - connect(client, SIGNAL(disconnected()), this, - SLOT(handleClientDisconnect())); - connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); -} - -/** - * - */ -void LogReceiver::handleClientDisconnect() { - QLocalSocket* socket = qobject_cast (QObject::sender()); - - QLocalSocket * client = clients.value(socket); - - qDebug() << "disconnect client"; - handleNewInput(client); - client->deleteLater(); -} - -/** - * - */ -void LogReceiver::handleNewInput(QLocalSocket * client) { - qDebug() << "last read before exit"; - while (client->canReadLine()) { - QString data(client->readLine()); - - data = data.trimmed(); - qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } - } -} - -/** - * - * This method is connected to the readyRead Signal of the QLocalSocket - * client. - * send an ACK to the client with every received message. - */ -void LogReceiver::handleNewInput() { - QLocalSocket* socket = qobject_cast (QObject::sender()); - - QLocalSocket * client = clients.value(socket); - QString data(client->read(DHCP_MESSAGE_SIZE)); - client->write("ACK", ACK_SIZE); - client->waitForBytesWritten(); - data = data.trimmed(); - //qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } -} - -/** - * This Method processes the send messages. - * - * This Method processes the send messages. It splits the line - * into several components. Those components are: - * interface: interface name ==> indicates the process who send the message - * s_state: is the number representation of syslog.h LOG levels - * s_subState: is the number representation of the dhcp.c DHCP states (1 - 8) plus - * the status. h states (9 - ..) - * msg: is a message which can contain additional informations - * - * According to the s_state and s_subState we emit the changeProgressBarValue() signal - * with different values. - * - * @param client - * the client who send the message - * - * @param data - * the message. (format ;;; ) - */ -void LogReceiver::handleNewInputLine(QLocalSocket * client, QString data) { - - QString logMsg(data); - QString interface = logMsg.section(";", 0, 0); - QString s_state = logMsg.section(";", 1, 1); - QString s_subState = logMsg.section(";", 2, 2); - QString msg = logMsg.section(";", 3, 3); - int st = s_state.trimmed().toInt(); - int sst = s_subState.trimmed().toInt(); - //qDebug() << logMsg; - - if (ifNameToClient.size() < numberOfProcesses && !ifNameToClient.contains( - interface)) { - ifNameToClient.insert(interface, client); - } - - switch (st) { - case LOG_INFO: - switch (sst) { - case DHCP_DISCOVER: - emit changeProgressBarValue(interface, 10); - break; - case DHCP_OFFER: - emit changeProgressBarValue(interface, 20); - break; - case DHCP_REQUEST: - emit changeProgressBarValue(interface, 30); - break; - case DHCP_ACK: - emit changeProgressBarValue(interface, 40); - break; - case DHCP_NAK: - emit changeProgressBarValue(interface, 40); - break; - case DHCPCD_ARP_TEST: - emit changeProgressBarValue(interface, 50); - break; - case DHCP_DECLINE: - emit changeProgressBarValue(interface, 60); - break; - case DHCP_RELEASE: - - break; - case DHCP_INFORM: - break; - case DHCPCD_CONFIGURE: - emit changeProgressBarValue(interface, 70); - break; - case DHCPCD_WRITE: - emit changeProgressBarValue(interface, 80); - break; - case DHCPCD_EXIT: - emit changeProgressBarValue(interface, 100); - break; - case DHCPCD_LOG: - - default: - break; - } - break; - case LOG_ERR: - qDebug() << "received error:" << msg; - break; - default: - //qDebug() << logMsg; - break; - } -} - -/** - * This Method is called when a process is finished. - * - * This Method is called when a process is finished. This slot is connected - * with the signal finished() of the QProcess class. - * If the process finishes, it will be checked if the process exited normal - * or if an unexpected error occurred. For this, we determine the sender (which is a - * QProcess), get the corresponding interface (which is stored in a map), and check - * the exitCode. Further actions are taken according to the exitCode check. - * Normal exit: - * emit changeProgressBar() to 100% - * emit updateStatusLabel() to check connection - * checkConnectivity() @see LogReceiver::checkConnectivity() - * Unexpected exit: - * emit updateStatusLabel() to process exited unexpected - * TODO:: the reason for the unexpected exit should be presented in the logfile. - * - * @param exitCode - * - * @param exitStatus - * - * @return bool - * returns true: if the interface name i starts with a letter in the blacklist. - * - * returns false: else - * - * @see LogReceiver::getListOfNetworkInterfaces() - */ -/* -void LogReceiver::handleProcessFinished(int exitCode, - QProcess::ExitStatus exitStatus) { - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - - if (ifName.compare("ifName") == 0) { - qDebug() - << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; - } else { - qDebug() << "process for interface" << ifName << "finished" << exitCode - << exitStatus; - if (exitCode > 0) { - qDebug() << "process exited unexpected"; - emit updateStatusLabel(ifName, "process exited unexpected"); - } else { - qDebug() << "process normal exit"; - qDebug() << "check internet connection"; - emit - changeProgressBarValue(ifName, 100); - emit - updateStatusLabel(ifName, "check connectivity"); - checkConnectivity(ifName); - } - } - QLocalSocket *client = ifNameToClient.value(ifName, 0); - if (client != 0) { - handleNewInput(client); - } - numberOfProcesses = numberOfProcesses - 1; - if (numberOfProcesses <= 0) { - emit allProcessesFinished(); - } -} -*/ -void LogReceiver::handleProcessFinished(int exitCode, - QProcess::ExitStatus exitStatus) { - - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface - if (ifName.compare("ifName") == 0) { - qDebug() - << "--- \t [LogReceiver::handleProcessFinished] haven't found process!"; - } else { - qDebug() << "process for interface" << ifName << "finished" - << exitCode << exitStatus; - if (exitCode > 0) { - qDebug() << "process exited unexpected"; - emit updateStatusLabel(ifName, "process exited unexpected"); - } else { - qDebug() << "process normal exit"; - emit changeProgressBarValue(ifName, 100); - emit updateStatusLabel(ifName, "check connectivity"); - checkConnectivity(ifName); - } - } - if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface - QLocalSocket *client = ifNameToClient.value(ifName, 0); - if (client != 0) { - handleNewInput(client); - } - numberOfProcesses = numberOfProcesses - 1; - if (numberOfProcesses <= 0 && _userChoice) { - emit allProcessesFinished(); - } - } - } else { - qDebug() << "already blocked"; - emit updateStatusLabel(ifName, "finished DHCP"); - } -} -/** - * This Method is called when a process is started. - * - * This Method is called when a process is started. - * It prints the message: "process started for interface: ". - */ -void LogReceiver::handleProcessStarted() { - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - qDebug() << "process started for interface:" << ifName; -} - -/** - * This Method implements a blacklist. - * - * This Method implements a blacklist. We check the fist character - * of the interface name. if this letter is in the list, we return true. - * True means, that this interface won't be put into the result list of - * getListOfNetworkInterfaces(). - * - * @param i - * is a interface name. - * - * @return bool - * returns true: if the interface name i starts with a letter in the blacklist. - * - * returns false: else - * - * @see LogReceiver::getListOfNetworkInterfaces() - */ -bool LogReceiver::checkBlackList(QString i) { - if (i.startsWith("v", Qt::CaseInsensitive)) { - return true; - } else if (i.startsWith("d", Qt::CaseInsensitive)) { - return true; - } else { - return false; - } -} diff --git a/LogReceiver/logreceiver.h b/LogReceiver/logreceiver.h deleted file mode 100644 index 7cd12d8..0000000 --- a/LogReceiver/logreceiver.h +++ /dev/null @@ -1,98 +0,0 @@ -#ifndef LOGRECEIVER_H -#define LOGRECEIVER_H - -//#include -#include -#include -//#include - -#include -#include -#include -#include -#include -#include - -#include "interfaceconfiguration.h" -#include "routemanager.h" -//#include -//#include -#include "status.h" -#include "dhcp.h" -#include "interface.h" - -//#include -//#include -//#include -//#include -//#include -#include -//#include -#include - - -#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" -#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" -#define ACK_SIZE 4 - -class LogReceiver: public QObject { -Q_OBJECT - -public: - LogReceiver(QObject *parent=0); - ~LogReceiver(); - - void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, - QString pathToExe = DEFAULT_PATHTODHCPCDEXE, - QStringList* args = NULL); - int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); - -private slots: - void handleNewConnection(); - void handleNewInput(); - void handleNewInputLine(QLocalSocket * client, QString data); - void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); - void handleProcessStarted(); - void handleClientDisconnect(); - -signals: - void addInterface(const QString &ifName); - void changeProgressBarValue(const QString & ifName, const int $newValue); - void connectionEstablished(interfaceconfiguration *ifConf); - void abortBoot(QString msg); - void updateStatusLabel(QString ifName, QString status); - void allProcessesFinished(); - void continueBoot(QString ifName, bool userChoice); - -private: - QLocalServer *server; - quint16 blockSize; - //QMap interfacesMap; - //QMap indexToIfaceNameMap; - QMap clients; - QLocalSocket * client; - QMap ifNameToClient; - QMap clientProcessToIfNameMap; - QString pathToDhcpcdExe; - QStringList dhcpcdArguments; - QNetworkConfigurationManager configurationManager; - QNetworkAccessManager *accessManager; - int numberOfProcesses; - routemanager rm; - bool _userChoice; - bool _blocked; - - void handleNewInput(QLocalSocket * client); - - void runDHCPCD(QList &interfaces); - void runDHCPCD(QString interface); - QListcheckCarrierState(QList &interfaces); - bool checkCarrierState(QString interface); - bool checkConnectivity(QString ifName); - QList getListOfNetworkInterfaces(); - bool checkBlackList(QString i); - -}; - -#endif // LOGRECEIVER_H diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 0394926..624bbde 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -3,13 +3,13 @@ ndgui::ndgui(QMainWindow *parent) : QMainWindow(parent) { - connect(&logReceiver, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); - connect(&logReceiver, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); - //connect(&logReceiver, SIGNAL(connectionEstablished(interfaceconfiguration*)), this, SLOT(handleConnectionEstablished(interfaceconfiguration*))); - connect(&logReceiver, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); - connect(&logReceiver, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); - //connect(&logReceiver, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); - connect(&logReceiver, SIGNAL(continueBoot(QString, bool)), this, SLOT(continueBoot(QString, bool))); + connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); + connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); + //connect(&networkDiscovery, SIGNAL(connectionEstablished(interfaceconfiguration*)), this, SLOT(handleConnectionEstablished(interfaceconfiguration*))); + connect(&networkDiscovery, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); + connect(&networkDiscovery, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); + //connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + connect(&networkDiscovery, SIGNAL(continueBoot(QString, bool)), this, SLOT(continueBoot(QString, bool))); _started = false; @@ -37,7 +37,7 @@ ndgui::~ndgui() { void ndgui::startNetworkDiscovery(){ if(!_started) { _started = true; - logReceiver.initAndRun("/var/tmp/qt_c_socket_custom"); + networkDiscovery.initAndRun("/var/tmp/qt_c_socket_custom"); } else { qDebug() << "NetworkDiscovery already started"; diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index 7cbfb20..21217ec 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -8,9 +8,7 @@ #include #include -#include "logreceiver.h" -#include "chooseinterfacedialog.h" -#include "abortbootdialog.h" +#include "networkdiscovery.h" #include "ui_ndgui.h" @@ -50,12 +48,10 @@ private: QWebView * _webView; - LogReceiver logReceiver; + NetworkDiscovery networkDiscovery; QMap finalUsableIntefacesMap; // maps interfaceName to its gateway - ChooseInterfaceDialog *cID; - AbortBootDialog *aBD; }; diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp new file mode 100644 index 0000000..cd77ee1 --- /dev/null +++ b/LogReceiver/networkdiscovery.cpp @@ -0,0 +1,518 @@ +#include "networkdiscovery.h" + +#include "../common/fbgui.h" + +NetworkDiscovery::NetworkDiscovery(QObject *parent) { + + server = new QLocalServer(this); +} + +NetworkDiscovery::~NetworkDiscovery() { + +} + +void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe, + QStringList* args) { + + _userChoice = false; + _blocked = false; + + if (serverPath != DEFAULT_QTSOCKETADDRESS) { + dhcpcdArguments.append("-q"); + dhcpcdArguments.append(serverPath); + } + if (!server->listen(serverPath)) { + /* + QMessageBox::critical(this, tr("NetworkDiscovery"), tr( + "Unable to start the server: %1.") .arg(server->errorString())); + close(); + */ + // emit signal to the gui that a critial error occoured + QString errorInfo("Unable to start server: "); + qDebug() << "--- \t [NetworkDiscovery::initAndRun] " + errorInfo + << server->errorString(); + emit + abortBoot(errorInfo + server->errorString()); + return; + } + + connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + + pathToDhcpcdExe = pathToExe; + // check if the path to the customdhcpcd file is correct + QFileInfo fInfo(pathToDhcpcdExe); + if (!fInfo.exists()) { + qDebug() + << "couldn't find customdhcpcd exe. Please check the path to this file."; + emit + abortBoot( + "couldn't find customdhcpcd exe. Please check the path to this file."); + return; + } + + if (args != NULL && !args->isEmpty()) { + qDebug() << "--- \t [NetworkDiscovery::initAndRun] added additional args"; + dhcpcdArguments.append(*args); + } + + numberOfProcesses = 0; + + // start the main work: + + QList list = getListOfNetworkInterfaces(); + + if (list.size() > 0) { + + //list = checkCarrierState(list); + + + //dhcpcdArguments.append("-d"); + QString ifName("eth0"); + numberOfProcesses = list.size(); + runDHCPCD(list); + } else { + qDebug() << "list is empty. Haven't found usable interface."; + emit + abortBoot("Haven't found usable interface"); + return; + } + +} + +int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { + rm.replaceDefaultRoute(ifName, gateway, mss, AF_INET); +} + +QList NetworkDiscovery::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + QList result; + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || checkBlackList(nI.humanReadableName())) { + continue; + } + if (!checkCarrierState(nI.humanReadableName())) { + continue; + } + result.append(nI.humanReadableName()); + emit addInterface(nI.humanReadableName()); + } + } else { + qDebug() << "no interfaces found!"; + } + return result; +} + +QList NetworkDiscovery::checkCarrierState(QList &interfaces) { + QList result; + foreach(QString nI, interfaces) + { + if (checkCarrierState(nI)) { + // everything is fine, cable is plugged, + // go on with the next interface + //continue; + result.append(nI); + } + } + return result; +} + +bool NetworkDiscovery::checkCarrierState(QString interface) { + + qDebug() << "check carrier state for interface " << interface; + QByteArray ba = interface.toAscii(); + const char * iface = ba.data(); + + struct sysfs_class_device *class_device = sysfs_open_class_device("net", + iface); + struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); + if (attrlist != NULL) { + struct sysfs_attribute *attr = NULL; + dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { + if (strcmp("carrier", attr->name) == 0) { + QString value(attr->value); + bool ok = false; + bool * pok = &ok; + int v = value.toInt(pok); + if (*pok) { + if (v == 1) { + qDebug() + << "carrier is 1. Cable is plugged. return true"; + return true; + } else { + qDebug() + << "carrier is 0. Cable is unplugged. return false"; + return false; + } + } else { + qDebug() << "conversion error"; + } + } + } + } else { + qDebug() << "attrlist is Null"; + } + sysfs_close_class_device(class_device); + + return true; +} + +void NetworkDiscovery::runDHCPCD(QList &interfaces) { + foreach(QString nI, interfaces) + { + runDHCPCD(nI); + } +} + +void NetworkDiscovery::runDHCPCD(QString interface) { + emit updateStatusLabel(interface, "start DHCP"); + dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + + qDebug() << dhcpcdArguments; + + clientProcessToIfNameMap.insert(p, interface); + qDebug() << clientProcessToIfNameMap; + p->start(pathToDhcpcdExe, dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, + SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + dhcpcdArguments.removeLast(); +} + +bool NetworkDiscovery::checkConnectivity(QString ifName) { + int metric = 0; + + // get gateway address + QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); + pathToGatewayFile += ifName; + interfaceconfiguration ifConf; + ifConf.readConfigOutOfFile(pathToGatewayFile); + + // replace default route + qDebug() << rm.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET); + + // check connectivity via tcp connection + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(QString("209.85.148.105"), 80); + if (!tcpSocket->waitForConnected(500)) { + qDebug() << "no internet connection with interface" << ifName; + qDebug() << tcpSocket->errorString(); + emit + updateStatusLabel(ifName, "connection not possible"); + return false; + } else { + qDebug() << "internet: check passed! for interface" << ifName; + emit updateStatusLabel(ifName, "connection possible"); + if (!_userChoice) { + // blockiere jeden weiteren check + // emite continueBoot + _blocked = true; + emit continueBoot(ifName, _userChoice); + } else { + emit connectionEstablished(&ifConf); + } + return true; + } +} + +/** + * + */ +void NetworkDiscovery::handleNewConnection() { + qDebug() << "New Connection arrived"; + + /*QLocalSocket **/ + client = server ->nextPendingConnection(); + clients.insert(client, client); + connect(client, SIGNAL(disconnected()), this, + SLOT(handleClientDisconnect())); + connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + +/** + * + */ +void NetworkDiscovery::handleClientDisconnect() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = clients.value(socket); + + qDebug() << "disconnect client"; + handleNewInput(client); + client->deleteLater(); +} + +/** + * + */ +void NetworkDiscovery::handleNewInput(QLocalSocket * client) { + qDebug() << "last read before exit"; + while (client->canReadLine()) { + QString data(client->readLine()); + + data = data.trimmed(); + qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + } +} + +/** + * + * This method is connected to the readyRead Signal of the QLocalSocket + * client. + * send an ACK to the client with every received message. + */ +void NetworkDiscovery::handleNewInput() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = clients.value(socket); + QString data(client->read(DHCP_MESSAGE_SIZE)); + client->write("ACK", ACK_SIZE); + client->waitForBytesWritten(); + data = data.trimmed(); + //qDebug() << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } +} + +/** + * This Method processes the send messages. + * + * This Method processes the send messages. It splits the line + * into several components. Those components are: + * interface: interface name ==> indicates the process who send the message + * s_state: is the number representation of syslog.h LOG levels + * s_subState: is the number representation of the dhcp.c DHCP states (1 - 8) plus + * the status. h states (9 - ..) + * msg: is a message which can contain additional informations + * + * According to the s_state and s_subState we emit the changeProgressBarValue() signal + * with different values. + * + * @param client + * the client who send the message + * + * @param data + * the message. (format ;;; ) + */ +void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { + + QString logMsg(data); + QString interface = logMsg.section(";", 0, 0); + QString s_state = logMsg.section(";", 1, 1); + QString s_subState = logMsg.section(";", 2, 2); + QString msg = logMsg.section(";", 3, 3); + int st = s_state.trimmed().toInt(); + int sst = s_subState.trimmed().toInt(); + //qDebug() << logMsg; + + if (ifNameToClient.size() < numberOfProcesses && !ifNameToClient.contains( + interface)) { + ifNameToClient.insert(interface, client); + } + + switch (st) { + case LOG_INFO: + switch (sst) { + case DHCP_DISCOVER: + emit changeProgressBarValue(interface, 10); + break; + case DHCP_OFFER: + emit changeProgressBarValue(interface, 20); + break; + case DHCP_REQUEST: + emit changeProgressBarValue(interface, 30); + break; + case DHCP_ACK: + emit changeProgressBarValue(interface, 40); + break; + case DHCP_NAK: + emit changeProgressBarValue(interface, 40); + break; + case DHCPCD_ARP_TEST: + emit changeProgressBarValue(interface, 50); + break; + case DHCP_DECLINE: + emit changeProgressBarValue(interface, 60); + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + break; + case DHCPCD_CONFIGURE: + emit changeProgressBarValue(interface, 70); + break; + case DHCPCD_WRITE: + emit changeProgressBarValue(interface, 80); + break; + case DHCPCD_EXIT: + emit changeProgressBarValue(interface, 100); + break; + case DHCPCD_LOG: + + default: + break; + } + break; + case LOG_ERR: + qDebug() << "received error:" << msg; + break; + default: + //qDebug() << logMsg; + break; + } +} + +/** + * This Method is called when a process is finished. + * + * This Method is called when a process is finished. This slot is connected + * with the signal finished() of the QProcess class. + * If the process finishes, it will be checked if the process exited normal + * or if an unexpected error occurred. For this, we determine the sender (which is a + * QProcess), get the corresponding interface (which is stored in a map), and check + * the exitCode. Further actions are taken according to the exitCode check. + * Normal exit: + * emit changeProgressBar() to 100% + * emit updateStatusLabel() to check connection + * checkConnectivity() @see NetworkDiscovery::checkConnectivity() + * Unexpected exit: + * emit updateStatusLabel() to process exited unexpected + * TODO:: the reason for the unexpected exit should be presented in the logfile. + * + * @param exitCode + * + * @param exitStatus + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see NetworkDiscovery::getListOfNetworkInterfaces() + */ +/* +void NetworkDiscovery::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + + if (ifName.compare("ifName") == 0) { + qDebug() + << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; + } else { + qDebug() << "process for interface" << ifName << "finished" << exitCode + << exitStatus; + if (exitCode > 0) { + qDebug() << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << "process normal exit"; + qDebug() << "check internet connection"; + emit + changeProgressBarValue(ifName, 100); + emit + updateStatusLabel(ifName, "check connectivity"); + checkConnectivity(ifName); + } + } + QLocalSocket *client = ifNameToClient.value(ifName, 0); + if (client != 0) { + handleNewInput(client); + } + numberOfProcesses = numberOfProcesses - 1; + if (numberOfProcesses <= 0) { + emit allProcessesFinished(); + } +} +*/ +void NetworkDiscovery::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface + if (ifName.compare("ifName") == 0) { + qDebug() + << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; + } else { + qDebug() << "process for interface" << ifName << "finished" + << exitCode << exitStatus; + if (exitCode > 0) { + qDebug() << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << "process normal exit"; + emit changeProgressBarValue(ifName, 100); + emit updateStatusLabel(ifName, "check connectivity"); + checkConnectivity(ifName); + } + } + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface + QLocalSocket *client = ifNameToClient.value(ifName, 0); + if (client != 0) { + handleNewInput(client); + } + numberOfProcesses = numberOfProcesses - 1; + if (numberOfProcesses <= 0 && _userChoice) { + emit allProcessesFinished(); + } + } + } else { + qDebug() << "already blocked"; + emit updateStatusLabel(ifName, "finished DHCP"); + } +} +/** + * This Method is called when a process is started. + * + * This Method is called when a process is started. + * It prints the message: "process started for interface: ". + */ +void NetworkDiscovery::handleProcessStarted() { + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + qDebug() << "process started for interface:" << ifName; +} + +/** + * This Method implements a blacklist. + * + * This Method implements a blacklist. We check the fist character + * of the interface name. if this letter is in the list, we return true. + * True means, that this interface won't be put into the result list of + * getListOfNetworkInterfaces(). + * + * @param i + * is a interface name. + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see NetworkDiscovery::getListOfNetworkInterfaces() + */ +bool NetworkDiscovery::checkBlackList(QString i) { + if (i.startsWith("v", Qt::CaseInsensitive)) { + return true; + } else if (i.startsWith("d", Qt::CaseInsensitive)) { + return true; + } else { + return false; + } +} diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h new file mode 100644 index 0000000..9a1441d --- /dev/null +++ b/LogReceiver/networkdiscovery.h @@ -0,0 +1,98 @@ +#ifndef NetworkDiscovery_H +#define NetworkDiscovery_H + +//#include +#include +#include +//#include + +#include +#include +#include +#include +#include +#include + +#include "interfaceconfiguration.h" +#include "routemanager.h" +//#include +//#include +#include "status.h" +#include "dhcp.h" +#include "interface.h" + +//#include +//#include +//#include +//#include +//#include +#include +//#include +#include + + +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" +#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" +#define ACK_SIZE 4 + +class NetworkDiscovery: public QObject { +Q_OBJECT + +public: + NetworkDiscovery(QObject *parent=0); + ~NetworkDiscovery(); + + void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); + +private slots: + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket * client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + +signals: + void addInterface(const QString &ifName); + void changeProgressBarValue(const QString & ifName, const int $newValue); + void connectionEstablished(interfaceconfiguration *ifConf); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); + void continueBoot(QString ifName, bool userChoice); + +private: + QLocalServer *server; + quint16 blockSize; + //QMap interfacesMap; + //QMap indexToIfaceNameMap; + QMap clients; + QLocalSocket * client; + QMap ifNameToClient; + QMap clientProcessToIfNameMap; + QString pathToDhcpcdExe; + QStringList dhcpcdArguments; + QNetworkConfigurationManager configurationManager; + QNetworkAccessManager *accessManager; + int numberOfProcesses; + routemanager rm; + bool _userChoice; + bool _blocked; + + void handleNewInput(QLocalSocket * client); + + void runDHCPCD(QList &interfaces); + void runDHCPCD(QString interface); + QListcheckCarrierState(QList &interfaces); + bool checkCarrierState(QString interface); + bool checkConnectivity(QString ifName); + QList getListOfNetworkInterfaces(); + bool checkBlackList(QString i); + +}; + +#endif // NetworkDiscovery_H -- cgit v1.2.3-55-g7522 From 3c77242bd1b1849c581263a57c4f7cd96f7dd450 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 23 Sep 2011 14:58:44 +0200 Subject: added a function to the routemanager (which will soon be renamed into networkmanager) to bring up and down interfaces. --- LogReceiver/html/networkdiscovery.css | 7 +++++ LogReceiver/routemanager.cpp | 49 +++++++++++++++++++++++++++++++++-- LogReceiver/routemanager.h | 1 + 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/LogReceiver/html/networkdiscovery.css b/LogReceiver/html/networkdiscovery.css index fc1c514..8e6b364 100644 --- a/LogReceiver/html/networkdiscovery.css +++ b/LogReceiver/html/networkdiscovery.css @@ -17,6 +17,10 @@ header, footer, aside { display: block; } +#intro { + margin: 20px; +} + #content { display: table; width: 100%; @@ -34,6 +38,9 @@ aside { width: 300px; } +h1 { + margin-top: 20px; +} h1, p{ color:#333; diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp index 98ce2ad..ceb9b28 100644 --- a/LogReceiver/routemanager.cpp +++ b/LogReceiver/routemanager.cpp @@ -56,7 +56,7 @@ int routemanager::replaceDefaultRoute(QString ifname, QString gateway, qDebug() << "---doRoute() gwaddr" << gwaddr; if (!(gw = nl_addr_parse(gwaddr, af))) { - printf("Invalid router address given: %s\n", gwaddr); + qDebug() << "Invalid router address given: %s\n", gwaddr; return -1; } @@ -64,7 +64,7 @@ int routemanager::replaceDefaultRoute(QString ifname, QString gateway, nl_connect(rtsock, NETLINK_ROUTE); if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { - printf("error with link cache alloc \n"); + qDebug() << "error with link cache alloc \n"; } iface_idx = rtnl_link_name2i(cache, ifn); @@ -88,6 +88,51 @@ int routemanager::replaceDefaultRoute(QString ifname, QString gateway, return retval; } +int routemanager::bringInterfaceUpDown(QString ifname, bool up) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct rtnl_link* request = NULL; + struct rtnl_link* old = NULL; + int retval; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + if(!(request = rtnl_link_alloc())) { + qDebug() << "error. couldn't allocate a rtnl link"; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if(up) { + rtnl_link_set_flags(request,IFF_UP); + } else { + rtnl_link_unset_flags(request, IFF_UP); + } + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << "error with link cache alloc "; + } + + old = rtnl_link_get_by_name(cache,ifn); + if (old) { + qDebug() << "change link"; + rtnl_link_change(rtsock, old, request, 0); + } else { + qDebug() << "change failed"; + } + + retval = 0; + + rtnl_link_put(old); + rtnl_link_put(request); + nl_handle_destroy(rtsock); + + return retval; +} + /** * This method adds or deletes a route. * This method adds or deletes a route. According to the action, diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h index ee48122..fc26145 100644 --- a/LogReceiver/routemanager.h +++ b/LogReceiver/routemanager.h @@ -31,6 +31,7 @@ public: int action); int replaceDefaultRoute(QString ifname, QString gateway, int metric, int af); + int bringInterfaceUpDown(QString ifname, bool up); private: -- cgit v1.2.3-55-g7522 From aabb0755cc153b9ef987ff5efa8ef05f92f209ce Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 23 Sep 2011 15:03:43 +0200 Subject: added some comments to the new bringInterfaceUpDown function in routemanager(soon networkmanager) --- LogReceiver/routemanager.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp index ceb9b28..aa12fa3 100644 --- a/LogReceiver/routemanager.cpp +++ b/LogReceiver/routemanager.cpp @@ -87,7 +87,19 @@ int routemanager::replaceDefaultRoute(QString ifname, QString gateway, return retval; } - +/** + * This method brings an interface up or down. + * + * @param ifname + * is a string which contains the interface name which is going down or up. + * + * @param up + * is a bool. true means. we bring the interface up. + * false meand. we bring the interface down. + * @return + * 0 if everything is ok + * else an error + */ int routemanager::bringInterfaceUpDown(QString ifname, bool up) { struct nl_cache *cache; struct nl_handle* rtsock; -- cgit v1.2.3-55-g7522 From 5a76512a347f5e728e6c0fa2c34fbd9b46645208 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 26 Sep 2011 12:15:40 +0200 Subject: renamed routemanager to networkmanager --- LogReceiver/LogReceiver.pro | 8 +- LogReceiver/html/networkdiscovery.html | 4 +- LogReceiver/networkdiscovery.cpp | 4 +- LogReceiver/networkdiscovery.h | 4 +- LogReceiver/networkmanager.cpp | 178 +++++++++++++++++++++++++++++++++ LogReceiver/networkmanager.h | 40 ++++++++ LogReceiver/routemanager.cpp | 177 -------------------------------- LogReceiver/routemanager.h | 40 -------- 8 files changed, 229 insertions(+), 226 deletions(-) create mode 100644 LogReceiver/networkmanager.cpp create mode 100644 LogReceiver/networkmanager.h delete mode 100644 LogReceiver/routemanager.cpp delete mode 100644 LogReceiver/routemanager.h diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index eaa7001..1bba39d 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -7,12 +7,12 @@ LIBS += -lsysfs \ -L/home/niklas/fbgui/customdhcpcd/src/build \ -llibcustomdhcpcd INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src -HEADERS += networkdiscovery.h \ - routemanager.h \ +HEADERS += networkmanager.h \ + networkdiscovery.h \ interfaceconfiguration.h \ ndgui.h -SOURCES += networkdiscovery.cpp \ - routemanager.cpp \ +SOURCES += networkmanager.cpp \ + networkdiscovery.cpp \ interfaceconfiguration.cpp \ ndgui.cpp \ main.cpp diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index 600674a..c24c86b 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -11,7 +11,9 @@ var abortBootDialog = function (m) { $("#nd_abort_boot_msg").html(m); $("#nd_abort_boot_dialog").dialog( - { buttons: { "Show Log": function() {fbgui.showLog(); + { buttons: { "Manual Configure": function() { + $(this).dialog("close");}, + "Show Log": function() {fbgui.showLog(); $(this).dialog("close");}, "Restart": function() {fbgui.restartSystem(); $(this).dialog("close"); }, diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index cd77ee1..303ffe7 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -80,7 +80,7 @@ void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe, } int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { - rm.replaceDefaultRoute(ifName, gateway, mss, AF_INET); + networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); } QList NetworkDiscovery::getListOfNetworkInterfaces() { @@ -195,7 +195,7 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { ifConf.readConfigOutOfFile(pathToGatewayFile); // replace default route - qDebug() << rm.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET); + qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET); // check connectivity via tcp connection QTcpSocket *tcpSocket = new QTcpSocket(this); diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index 9a1441d..6efd926 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -14,7 +14,7 @@ #include #include "interfaceconfiguration.h" -#include "routemanager.h" +#include "networkmanager.h" //#include //#include #include "status.h" @@ -79,7 +79,7 @@ private: QNetworkConfigurationManager configurationManager; QNetworkAccessManager *accessManager; int numberOfProcesses; - routemanager rm; + NetworkManager networkManager; bool _userChoice; bool _blocked; diff --git a/LogReceiver/networkmanager.cpp b/LogReceiver/networkmanager.cpp new file mode 100644 index 0000000..9edcf5e --- /dev/null +++ b/LogReceiver/networkmanager.cpp @@ -0,0 +1,178 @@ +/* + * networkmanager.cpp + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#include "networkmanager.h" + +NetworkManager::NetworkManager() { + // TODO Auto-generated constructor stub + +} + +NetworkManager::~NetworkManager() { + // TODO Auto-generated destructor stub +} + +/** + * This method adds /replaces the default route. + * This method adds /replaces the default route. + * To keep it modular, it is possible + * to specify an ip address family. + * + * @param ifName + * the interface name + * + * @param gateway + * the gateway address (e.g: 192.168.0.254) + * @param mss + * the mss. + * @param af + * specify the family type of the ip address. + * possible values are: AF_INET for an IPv4 address + * AF_INET6 for an IPv6 address + * + + * @return + * return -1 if an error happened. + * return 0 if everything was ok. + */ +int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, + int mss, int af) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct nl_addr * gw; + struct rtnl_route * route; + int retval, iface_idx; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + QByteArray ba_gw = gateway.toAscii(); + char * gwaddr = ba_gw.data(); + + qDebug() << "---doRoute() gwaddr" << gwaddr; + + if (!(gw = nl_addr_parse(gwaddr, af))) { + qDebug() << "Invalid router address given: %s\n", gwaddr; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << "error with link cache alloc \n"; + } + + iface_idx = rtnl_link_name2i(cache, ifn); + + route = rtnl_route_alloc(); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + rtnl_route_set_gateway(route, gw); + rtnl_route_set_oif(route, iface_idx); + + if (mss > 0) { + rtnl_route_set_metric(route, RTAX_ADVMSS, mss); + } + + retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); + qDebug() << "return value:" << retval << ":" << strerror(-retval); + + rtnl_route_put(route); + nl_addr_put(gw); + nl_handle_destroy(rtsock); + + return retval; +} +/** + * This method brings an interface up or down. + * + * @param ifname + * is a string which contains the interface name which is going down or up. + * + * @param up + * is a bool. true means. we bring the interface up. + * false meand. we bring the interface down. + * @return + * 0 if everything is ok + * else an error + */ +int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct rtnl_link* request = NULL; + struct rtnl_link* old = NULL; + int retval; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + if(!(request = rtnl_link_alloc())) { + qDebug() << "error. couldn't allocate a rtnl link"; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if(up) { + rtnl_link_set_flags(request,IFF_UP); + } else { + rtnl_link_unset_flags(request, IFF_UP); + } + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << "error with link cache alloc "; + } + + old = rtnl_link_get_by_name(cache,ifn); + if (old) { + qDebug() << "change link"; + retval = rtnl_link_change(rtsock, old, request, 0); + } else { + qDebug() << "change failed"; + retval = -1; + qDebug() << "return value:" << retval << ":" << strerror(-retval); + } + + + rtnl_link_put(old); + rtnl_link_put(request); + nl_handle_destroy(rtsock); + + return retval; +} + +/** + * This method adds or deletes a route. + * This method adds or deletes a route. According to the action, + * you can delete a route or add a route from/to the + * main routing table. In most cases, this method will be used for deleting + * or adding a default rout. To keep it modular, it is possible + * to specify an ip address family. + * + * @param ifName + * the interface name. + * @param destination + * the destination address (e.g: 0.0.0.0) + * + * @param gateway + * the gateway address (e.g: 192.168.0.254) + * + * @param af + * specify the family type of the ip address. + * possible values are: AF_INET for an IPv4 address + * AF_INET6 for an IPv6 address + * + * @param action + * possible values are: 0: perform add route + * 1: perform delete route + * + * @return + * return 1 if an error happened. + * return 0 if everything was ok. + */ +int NetworkManager::doRoute(QString ifName, QString destination, QString gateway, int af, int action) {return 0;} diff --git a/LogReceiver/networkmanager.h b/LogReceiver/networkmanager.h new file mode 100644 index 0000000..edcce28 --- /dev/null +++ b/LogReceiver/networkmanager.h @@ -0,0 +1,40 @@ +/* + * networkmanager.h + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#ifndef NETWORKMANAGER_H_ +#define NETWORKMANAGER_H_ + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +class NetworkManager: public QObject { +Q_OBJECT + +public: + NetworkManager(); + virtual ~NetworkManager(); + + + int doRoute(QString ifName, QString destination, QString gateway, int af, + int action); + int replaceDefaultRoute(QString ifname, QString gateway, int metric, + int af); + int bringInterfaceUpDown(QString ifname, bool up); + +private: + +}; + +#endif /* NETWORKMANAGER_H_ */ diff --git a/LogReceiver/routemanager.cpp b/LogReceiver/routemanager.cpp deleted file mode 100644 index aa12fa3..0000000 --- a/LogReceiver/routemanager.cpp +++ /dev/null @@ -1,177 +0,0 @@ -/* - * routemanager.cpp - * - * Created on: Sep 5, 2011 - * Author: niklas - */ - -#include "routemanager.h" - -routemanager::routemanager() { - // TODO Auto-generated constructor stub - -} - -routemanager::~routemanager() { - // TODO Auto-generated destructor stub -} - -/** - * This method adds /replaces the default route. - * This method adds /replaces the default route. - * To keep it modular, it is possible - * to specify an ip address family. - * - * @param ifName - * the interface name - * - * @param gateway - * the gateway address (e.g: 192.168.0.254) - * @param mss - * the mss. - * @param af - * specify the family type of the ip address. - * possible values are: AF_INET for an IPv4 address - * AF_INET6 for an IPv6 address - * - - * @return - * return -1 if an error happened. - * return 0 if everything was ok. - */ -int routemanager::replaceDefaultRoute(QString ifname, QString gateway, - int mss, int af) { - struct nl_cache *cache; - struct nl_handle* rtsock; - struct nl_addr * gw; - struct rtnl_route * route; - int retval, iface_idx; - - QByteArray ba_ifn = ifname.toAscii(); - char * ifn = ba_ifn.data(); - - QByteArray ba_gw = gateway.toAscii(); - char * gwaddr = ba_gw.data(); - - qDebug() << "---doRoute() gwaddr" << gwaddr; - - if (!(gw = nl_addr_parse(gwaddr, af))) { - qDebug() << "Invalid router address given: %s\n", gwaddr; - return -1; - } - - rtsock = nl_handle_alloc(); - nl_connect(rtsock, NETLINK_ROUTE); - - if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { - qDebug() << "error with link cache alloc \n"; - } - - iface_idx = rtnl_link_name2i(cache, ifn); - - route = rtnl_route_alloc(); - rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); - rtnl_route_set_gateway(route, gw); - rtnl_route_set_oif(route, iface_idx); - - if (mss > 0) { - rtnl_route_set_metric(route, RTAX_ADVMSS, mss); - } - - retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); - qDebug() << "return value:" << retval << ":" << strerror(-retval); - - rtnl_route_put(route); - nl_addr_put(gw); - nl_handle_destroy(rtsock); - - return retval; -} -/** - * This method brings an interface up or down. - * - * @param ifname - * is a string which contains the interface name which is going down or up. - * - * @param up - * is a bool. true means. we bring the interface up. - * false meand. we bring the interface down. - * @return - * 0 if everything is ok - * else an error - */ -int routemanager::bringInterfaceUpDown(QString ifname, bool up) { - struct nl_cache *cache; - struct nl_handle* rtsock; - struct rtnl_link* request = NULL; - struct rtnl_link* old = NULL; - int retval; - - QByteArray ba_ifn = ifname.toAscii(); - char * ifn = ba_ifn.data(); - - if(!(request = rtnl_link_alloc())) { - qDebug() << "error. couldn't allocate a rtnl link"; - return -1; - } - - rtsock = nl_handle_alloc(); - nl_connect(rtsock, NETLINK_ROUTE); - - if(up) { - rtnl_link_set_flags(request,IFF_UP); - } else { - rtnl_link_unset_flags(request, IFF_UP); - } - - if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { - qDebug() << "error with link cache alloc "; - } - - old = rtnl_link_get_by_name(cache,ifn); - if (old) { - qDebug() << "change link"; - rtnl_link_change(rtsock, old, request, 0); - } else { - qDebug() << "change failed"; - } - - retval = 0; - - rtnl_link_put(old); - rtnl_link_put(request); - nl_handle_destroy(rtsock); - - return retval; -} - -/** - * This method adds or deletes a route. - * This method adds or deletes a route. According to the action, - * you can delete a route or add a route from/to the - * main routing table. In most cases, this method will be used for deleting - * or adding a default rout. To keep it modular, it is possible - * to specify an ip address family. - * - * @param ifName - * the interface name. - * @param destination - * the destination address (e.g: 0.0.0.0) - * - * @param gateway - * the gateway address (e.g: 192.168.0.254) - * - * @param af - * specify the family type of the ip address. - * possible values are: AF_INET for an IPv4 address - * AF_INET6 for an IPv6 address - * - * @param action - * possible values are: 0: perform add route - * 1: perform delete route - * - * @return - * return 1 if an error happened. - * return 0 if everything was ok. - */ -int routemanager::doRoute(QString ifName, QString destination, QString gateway, int af, int action) {return 0;} diff --git a/LogReceiver/routemanager.h b/LogReceiver/routemanager.h deleted file mode 100644 index fc26145..0000000 --- a/LogReceiver/routemanager.h +++ /dev/null @@ -1,40 +0,0 @@ -/* - * routemanager.h - * - * Created on: Sep 5, 2011 - * Author: niklas - */ - -#ifndef ROUTEMANAGER_H_ -#define ROUTEMANAGER_H_ - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -class routemanager: public QObject { -Q_OBJECT - -public: - routemanager(); - virtual ~routemanager(); - - - int doRoute(QString ifName, QString destination, QString gateway, int af, - int action); - int replaceDefaultRoute(QString ifname, QString gateway, int metric, - int af); - int bringInterfaceUpDown(QString ifname, bool up); - -private: - -}; - -#endif /* ROUTEMANAGER_H_ */ -- cgit v1.2.3-55-g7522 From c66c1fe54f1fa80ffeea4e28cc2ea2c2117b777c Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 26 Sep 2011 19:41:37 +0200 Subject: added a new function for manual configuration of an interface including a function which writes a resolv.conf --- LogReceiver/networkdiscovery.cpp | 3 + LogReceiver/networkmanager.cpp | 273 +++++++++++++++++++++++++++++++++++++-- LogReceiver/networkmanager.h | 11 ++ 3 files changed, 279 insertions(+), 8 deletions(-) diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index 303ffe7..beca24f 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -96,6 +96,9 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { || checkBlackList(nI.humanReadableName())) { continue; } + if(!(nI.flags() & QNetworkInterface::IsUp)) { + networkManager.bringInterfaceUpDown(nI.humanReadableName(), true); + } if (!checkCarrierState(nI.humanReadableName())) { continue; } diff --git a/LogReceiver/networkmanager.cpp b/LogReceiver/networkmanager.cpp index 9edcf5e..1de0591 100644 --- a/LogReceiver/networkmanager.cpp +++ b/LogReceiver/networkmanager.cpp @@ -79,7 +79,7 @@ int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, } retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); - qDebug() << "return value:" << retval << ":" << strerror(-retval); + qDebug() << "return value:" << retval << ":" << strerror(-retval); rtnl_route_put(route); nl_addr_put(gw); @@ -110,7 +110,7 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { QByteArray ba_ifn = ifname.toAscii(); char * ifn = ba_ifn.data(); - if(!(request = rtnl_link_alloc())) { + if (!(request = rtnl_link_alloc())) { qDebug() << "error. couldn't allocate a rtnl link"; return -1; } @@ -118,8 +118,8 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { rtsock = nl_handle_alloc(); nl_connect(rtsock, NETLINK_ROUTE); - if(up) { - rtnl_link_set_flags(request,IFF_UP); + if (up) { + rtnl_link_set_flags(request, IFF_UP); } else { rtnl_link_unset_flags(request, IFF_UP); } @@ -128,17 +128,16 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { qDebug() << "error with link cache alloc "; } - old = rtnl_link_get_by_name(cache,ifn); + old = rtnl_link_get_by_name(cache, ifn); if (old) { qDebug() << "change link"; retval = rtnl_link_change(rtsock, old, request, 0); } else { qDebug() << "change failed"; retval = -1; - qDebug() << "return value:" << retval << ":" << strerror(-retval); + qDebug() << "return value:" << retval << ":" << strerror(-retval); } - rtnl_link_put(old); rtnl_link_put(request); nl_handle_destroy(rtsock); @@ -146,6 +145,261 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { return retval; } +int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, + QString broadcast, QString gateway, int metric, int af, bool up, QString pathToResolvConf, QList nameServer) { + //bring the interface up + bringInterfaceUpDown(ifname, up); + //set configuration + ip4_configureInterface(ifname, ipAddress, broadcast, netmask,af); + //set default route + replaceDefaultRoute(ifname, gateway, metric, af); + //write resolv.conf + writeResolvConf(pathToResolvConf, ifname, nameServer); + +} + +int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af) { + + struct nl_cache *cache; + struct nl_handle* rtsock; + struct nl_addr * local; + struct rtnl_addr * addr = NULL; + int retval = 0; + int iface_idx, err; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + QByteArray ba_ip = ipAddress.toAscii(); + char * ipaddr = ba_ip.data(); + + QByteArray ba_bc = broadcast.toAscii(); + char * bcaddr = ba_bc.data(); + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << "error with link cache alloc"; + return -1; + } + + iface_idx = rtnl_link_name2i(cache, ifn); + + if (!(addr = rtnl_addr_alloc())) { + qDebug() << "error with addr alloc"; + return -1; + } + + local = nl_addr_parse(ipaddr, af); + err = rtnl_addr_set_local(addr, local); + nl_addr_put(local); + if (err != 0) { + qDebug() << "error with set local addr"; + } + + rtnl_addr_set_prefixlen(addr, ip4_netmaskToPrefix(netmask)); + + local = nl_addr_parse(bcaddr, af); + err = rtnl_addr_set_broadcast(addr, local); + nl_addr_put(local); + if (err != 0) { + qDebug() << "error with set broadcast addr"; + } + + rtnl_addr_set_ifindex(addr, iface_idx); + + retval = sync_address(ifn, iface_idx, af, addr, 1); + if(retval < 0) { + qDebug() << "error in sync_address"; + } + rtnl_addr_put(addr); + + return retval; +} + +int NetworkManager::ip4_netmaskToPrefix(QString netmask) { + int retval = -1; + QNetworkAddressEntry nae; + + if (netmask == "") { + qDebug() << "error: netmask is empty"; + return retval; + } + + nae.setNetmask(QHostAddress(netmask)); + retval = nae.prefixLength(); + + return retval; +} + +/** + * delete all addresses of this interface but not the one we just set + * + * @return + * -1 if something went wrong. else 0 + */ +int NetworkManager::sync_address(const char *iface, int ifindex, int family, + struct rtnl_addr *addr, int num_addrs) { + + struct nl_handle *nlh; + struct nl_cache *addr_cache; + struct rtnl_addr *filter_addr, *match_addr; + struct nl_object *match; + struct nl_addr *nladdr; + int err, retval; + char buf[INET6_ADDRSTRLEN + 1]; + + nlh = nl_handle_alloc(); + nl_connect(nlh, NETLINK_ROUTE); + + if (!nlh) + return -1; + + addr_cache = rtnl_addr_alloc_cache(nlh); + + if (!addr_cache) + return -1; + + filter_addr = rtnl_addr_alloc(); + if (!filter_addr) { + nl_cache_free(addr_cache); + return -1; + } + rtnl_addr_set_ifindex(filter_addr, ifindex); + if (family) + rtnl_addr_set_family(filter_addr, family); + + //nm_log_dbg (log_domain, "(%s): syncing addresses (family %d)", iface, family); + + /* Walk through the cache, comparing the addresses already on + * the interface to the addresses in addrs. + */ + for (match = nl_cache_get_first(addr_cache); match; match + = nl_cache_get_next(match)) { + int buf_valid = -1; + match_addr = (struct rtnl_addr *) match; + + /* Skip addresses not on our interface */ + if (!nl_object_match_filter(match, (struct nl_object *) filter_addr)) + continue; + + if (addr) { + if (addr && nl_object_identical(match, (struct nl_object *) addr)) { + continue; + } + } + + nladdr = rtnl_addr_get_local(match_addr); + + /* Don't delete IPv6 link-local addresses; they don't belong to NM */ + if (rtnl_addr_get_family(match_addr) == AF_INET6) { + struct in6_addr *tmp; + + if (rtnl_addr_get_scope(match_addr) == RT_SCOPE_LINK) { + //nm_log_dbg (log_domain, "(%s): ignoring IPv6 link-local address", iface); + continue; + } + + tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET6, tmp, buf, sizeof(buf))) + buf_valid = 0; + } else if (rtnl_addr_get_family(match_addr) == AF_INET) { + struct in_addr *tmp; + + tmp = (in_addr *) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET, tmp, buf, sizeof(buf))) + buf_valid = 0; + } + + if (buf_valid == 0) { + //nm_log_dbg (log_domain, "(%s): removing address '%s/%d'", + // iface, buf, nl_addr_get_prefixlen (nladdr)); + } + + /* Otherwise, match_addr should be removed from the interface. */ + err = rtnl_addr_delete(nlh, match_addr, 0); + if (err < 0) { + //nm_log_err (log_domain, "(%s): error %d returned from rtnl_addr_delete(): %s", + // iface, err, nl_geterror ()); + qDebug() << "error with delete addr"; + } + } + + rtnl_addr_put(filter_addr); + nl_cache_free(addr_cache); + + /* Now add the remaining new addresses */ + if (!addr) + return -1; + + struct in6_addr *in6tmp; + struct in_addr *in4tmp; + int buf_valid = -1; + + nladdr = rtnl_addr_get_local(addr); + if (rtnl_addr_get_family(addr) == AF_INET6) { + in6tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET6, in6tmp, buf, sizeof(buf))) + buf_valid = 0; + } else if (rtnl_addr_get_family(addr) == AF_INET) { + in4tmp = (in_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET, in4tmp, buf, sizeof(buf))) + buf_valid = 0; + } + + if (buf_valid == 0) { + //nm_log_dbg (log_domain, "(%s): adding address '%s/%d'", + //iface, buf, nl_addr_get_prefixlen (nladdr)); + } + + err = rtnl_addr_add(nlh, addr, 0); + if (err < 0) { + //nm_log_err (log_domain, + // "(%s): error %d returned from rtnl_addr_add():\n%s", + // iface, err, nl_geterror ()); + qDebug() << "error with add addr"; + } + + rtnl_addr_put(addr); + + return err; +} + +/** + * This method writes a resolv.conf file. + * + * @param path + * path to the resolv.conf file. (in most cases: /etc/) + * @param ifname + * name of the interface + * @param + * addresses of the nameserver + * + * @return + * return 0 if success + * else -1 + */ +int NetworkManager::writeResolvConf(QString path, QString ifname, QList nameServer){ + + QFile file(path + "resolv.conf"); + if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + qDebug() << "error couldn't open file:" << path; + return -1; + } + QTextStream out(&file); + out << "# Generated by networkdiscovery manual configuration for interface " + ifname +"\n"; + foreach(QString ns, nameServer ) { + out << "nameserver " + ns +"\n"; + } + + file.close(); + + return 0; +} + + /** * This method adds or deletes a route. * This method adds or deletes a route. According to the action, @@ -175,4 +429,7 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { * return 1 if an error happened. * return 0 if everything was ok. */ -int NetworkManager::doRoute(QString ifName, QString destination, QString gateway, int af, int action) {return 0;} +int NetworkManager::doRoute(QString ifName, QString destination, + QString gateway, int af, int action) { + return 0; +} diff --git a/LogReceiver/networkmanager.h b/LogReceiver/networkmanager.h index edcce28..9834d28 100644 --- a/LogReceiver/networkmanager.h +++ b/LogReceiver/networkmanager.h @@ -12,12 +12,14 @@ #include #include #include +#include #include #include #include #include #include +#include class NetworkManager: public QObject { Q_OBJECT @@ -33,7 +35,16 @@ public: int af); int bringInterfaceUpDown(QString ifname, bool up); + int ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, + QString broadcast, QString gateway, int metric, int af, bool up, QString pathToResolvConf, QList nameServer); + private: + int ip4_netmaskToPrefix(QString netmask); + int ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af); + int sync_address(const char *iface, int ifindex, int family, + struct rtnl_addr *addr, int num_addrs); + int writeResolvConf(QString path, QString ifname, QList nameServer); }; -- cgit v1.2.3-55-g7522 From fcb16100b5aa80934c90ddd4a386acb14317f460 Mon Sep 17 00:00:00 2001 From: Niklas Date: Tue, 27 Sep 2011 17:03:35 +0200 Subject: manual config gui added. put the interfaceconfig map into networkDiscovery and adopted the signals. --- LogReceiver/html/networkdiscovery.css | 26 +++++++ LogReceiver/html/networkdiscovery.html | 130 ++++++++++++++++++++++++++++++--- LogReceiver/interfaceconfiguration.h | 3 + LogReceiver/ndgui.cpp | 25 ++++--- LogReceiver/ndgui.h | 6 +- LogReceiver/networkdiscovery.cpp | 45 ++++++++++-- LogReceiver/networkdiscovery.h | 15 ++-- 7 files changed, 217 insertions(+), 33 deletions(-) diff --git a/LogReceiver/html/networkdiscovery.css b/LogReceiver/html/networkdiscovery.css index 8e6b364..1346810 100644 --- a/LogReceiver/html/networkdiscovery.css +++ b/LogReceiver/html/networkdiscovery.css @@ -1,6 +1,28 @@ html,body{ height:100%; } + +label, input { + display:block +} + +input.text { + margin-bottom:12px; + width:95%; + padding: .4em; +} + +fieldset { + padding:0; + border:0; + margin-top:25px; +} + +.validateTips { + border:1px solid transparent; + padding: 0.3; +} + body{ margin:0; padding:0; @@ -38,6 +60,10 @@ aside { width: 300px; } +#nd_manual_configuration_dialog { + display:none; +} + h1 { margin-top: 20px; } diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index c24c86b..1302071 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -8,10 +8,97 @@ @@ -111,6 +202,27 @@ var addInterface = function (i){

    + +
    +

    +

    All form fields are required.

    +
    +
    + + + + + + + + + + + + +
    + +
    diff --git a/LogReceiver/interfaceconfiguration.h b/LogReceiver/interfaceconfiguration.h index d12bd14..3b0a14d 100644 --- a/LogReceiver/interfaceconfiguration.h +++ b/LogReceiver/interfaceconfiguration.h @@ -15,6 +15,9 @@ Q_OBJECT public: interfaceconfiguration(); + interfaceconfiguration(const interfaceconfiguration &other); + + interfaceconfiguration &operator=(const interfaceconfiguration &other); virtual ~interfaceconfiguration(); bool readConfigOutOfFile(QString pathToConfig); diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 624bbde..e3ddfd4 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -5,11 +5,11 @@ ndgui::ndgui(QMainWindow *parent) : connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); - //connect(&networkDiscovery, SIGNAL(connectionEstablished(interfaceconfiguration*)), this, SLOT(handleConnectionEstablished(interfaceconfiguration*))); + connect(&networkDiscovery, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); connect(&networkDiscovery, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); connect(&networkDiscovery, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); - //connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); - connect(&networkDiscovery, SIGNAL(continueBoot(QString, bool)), this, SLOT(continueBoot(QString, bool))); + connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); _started = false; @@ -44,14 +44,19 @@ void ndgui::startNetworkDiscovery(){ } } -void ndgui::handleConnectionEstablished(interfaceconfiguration *ifConf) { - finalUsableIntefacesMap.insert(ifConf->getInterface(), ifConf); +void ndgui::handleConnectionEstablished(QString ifName) { + _ifNameList.append(ifName); } void ndgui::handleAllProcessesFinished() { qDebug() << "all Processes finished"; - if(finalUsableIntefacesMap.size() > 0) { - // chooseInterfaceDialog(); + if(_ifNameList.size() > 0) { + QString jsonArr = "["; + for(int i = 0; i < _ifNameList.size()-1; i++) { + jsonArr += "\"" + _ifNameList.value(i) + "\","; + } + jsonArr += "\"" + _ifNameList.last() + "\"]"; + chooseInterfaceDialog(jsonArr); } else { abortBoot("No usable interfaces found!"); } @@ -65,7 +70,7 @@ void ndgui::shutDownSystem() { } -void ndgui::continueBoot(QString ifName, bool userChoice) { +void ndgui::continueBoot(QString ifName, int userChoice) { if (!userChoice) { QString text = "continue with interface: " + ifName; qDebug() << text << "no user choice"; @@ -74,6 +79,8 @@ void ndgui::continueBoot(QString ifName, bool userChoice) { QString text = "continue with interface: " + ifName; qDebug() << text << "with user choice"; _webView->load(QUrl("qrc:html/continueBoot.html")); + QString gateway = networkDiscovery.getGatewayForInterface(ifName); + networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); } } @@ -132,7 +139,7 @@ void ndgui::abortBoot(const QString msg) { } void ndgui::chooseInterfaceDialog(const QString msg) { - QString code = QString("chooseInterfaceDialog('\%1')").arg(msg); + QString code = QString("chooseInterfaceDialog(\%1)").arg(msg); _webView->page()->mainFrame()->evaluateJavaScript(code); } diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index 21217ec..c41cecd 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -20,14 +20,14 @@ public: ~ndgui(); public slots: - void handleConnectionEstablished(interfaceconfiguration *ifConf); + void handleConnectionEstablished(QString ifName); void abortBoot(QString msg); void chooseInterfaceDialog(QString msg); void handleAllProcessesFinished(); void restartSystem(); void shutDownSystem(); - void continueBoot(QString ifName, bool userChoice); + void continueBoot(QString ifName, int userChoice); void showLog(); void startNetworkDiscovery(); @@ -50,7 +50,7 @@ private: NetworkDiscovery networkDiscovery; - QMap finalUsableIntefacesMap; // maps interfaceName to its gateway + QList _ifNameList; // maps interfaceName to its gateway }; diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index beca24f..159321d 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -14,7 +14,7 @@ NetworkDiscovery::~NetworkDiscovery() { void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe, QStringList* args) { - _userChoice = false; + _userChoice = true; _blocked = false; if (serverPath != DEFAULT_QTSOCKETADDRESS) { @@ -83,6 +83,38 @@ int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); } +int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) { + networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); +} + +int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { + //QJson::Parser parser; + //bool ok; + + //QVariantMap result = parser.parse(, &ok); + //if(!ok) { + // error + //return -1; + //} + QList dns; + dns.append(result["dns"].toString()); + return networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + result["ipaddr"].toString(), + result["netmask"].toString(), + result["broadcast"].toString(), + result["gateway"].toString(), + 0, + AF_INET, + true, + "/etc/", + dns); +} + +QString NetworkDiscovery::getGatewayForInterface(QString ifName) { + interfaceconfiguration * ifConf = _ifcMap.value(ifName); + return ifConf->getGateway(); +} + QList NetworkDiscovery::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); QList result; @@ -194,11 +226,12 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { // get gateway address QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); pathToGatewayFile += ifName; - interfaceconfiguration ifConf; - ifConf.readConfigOutOfFile(pathToGatewayFile); + interfaceconfiguration *ifConf = new interfaceconfiguration(); + ifConf->readConfigOutOfFile(pathToGatewayFile); + _ifcMap.insert(ifName, ifConf); // replace default route - qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf.getGateway(), 0, AF_INET); + qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf->getGateway(), 0, AF_INET); // check connectivity via tcp connection QTcpSocket *tcpSocket = new QTcpSocket(this); @@ -216,9 +249,9 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { // blockiere jeden weiteren check // emite continueBoot _blocked = true; - emit continueBoot(ifName, _userChoice); + emit continueBoot(ifName, 0); } else { - emit connectionEstablished(&ifConf); + emit connectionEstablished(ifName); } return true; } diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index 6efd926..48a6a7e 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -13,10 +13,10 @@ #include #include + + #include "interfaceconfiguration.h" #include "networkmanager.h" -//#include -//#include #include "status.h" #include "dhcp.h" #include "interface.h" @@ -47,6 +47,9 @@ public: QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList* args = NULL); int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); + int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + int ip4_setManualConfiguration(QVariantMap result); + QString getGatewayForInterface(QString); private slots: void handleNewConnection(); @@ -59,11 +62,11 @@ private slots: signals: void addInterface(const QString &ifName); void changeProgressBarValue(const QString & ifName, const int $newValue); - void connectionEstablished(interfaceconfiguration *ifConf); + void connectionEstablished(QString ifName); void abortBoot(QString msg); void updateStatusLabel(QString ifName, QString status); void allProcessesFinished(); - void continueBoot(QString ifName, bool userChoice); + void continueBoot(QString ifName, int userChoice); private: QLocalServer *server; @@ -76,13 +79,13 @@ private: QMap clientProcessToIfNameMap; QString pathToDhcpcdExe; QStringList dhcpcdArguments; - QNetworkConfigurationManager configurationManager; - QNetworkAccessManager *accessManager; int numberOfProcesses; NetworkManager networkManager; bool _userChoice; bool _blocked; + QMap _ifcMap; + void handleNewInput(QLocalSocket * client); void runDHCPCD(QList &interfaces); -- cgit v1.2.3-55-g7522 From a8087a7c1b83ae7770f2b1c278d0eb5318b7e33e Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 28 Sep 2011 17:44:42 +0200 Subject: added a select field to the manual conf gui. also fixed some bugs in the ip4_manualConf function --- LogReceiver/html/networkdiscovery.html | 50 ++++++++++++++------- LogReceiver/ndgui.cpp | 39 ++++++++++++++-- LogReceiver/ndgui.h | 20 ++++++--- LogReceiver/networkdiscovery.cpp | 81 +++++++++++++++++++++++++--------- LogReceiver/networkdiscovery.h | 5 ++- LogReceiver/networkmanager.cpp | 29 +++++++----- LogReceiver/networkmanager.h | 12 ++--- 7 files changed, 172 insertions(+), 64 deletions(-) diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index 1302071..1f6125a 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -42,14 +42,29 @@ var checkRegexp = function ( o, regexp, n ) { }; var ip4_manualConfigurationDialog = function () { - var ifname = $("#ifname"), + var jsonArr = fbgui.getManualConfInterfaces(); + //jsonArr = eval('(' + jsonArr + ')'); + var c = ""; + $("#nd_mc_ifname").html(c); + + var ifname = $("#nd_mc_ifname_select :selected").text(), ipaddr = $("#ipaddr"), netmask = $("#netmask"), broadcast = $("#broadcast"), gateway = $("#gateway"), dns = $("#dns"), - allFields = $([]).add(ifname).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); + allFields = $([]).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); + $("#nd_manual_configuration_dialog").dialog( { buttons: { "Cancel": function() { $(this).dialog("close");}, @@ -57,8 +72,6 @@ var ip4_manualConfigurationDialog = function () { var bValid = true; allFields.removeClass("ui-state-error"); - //the interface name has to be choosen out of a dropdown menue - //bValid = bValid && checkLength(ifname, "Interface", 2, 15); bValid = bValid && checkLength(ipaddr, "IP-Address", 7, 15); bValid = bValid && checkLength(netmask, "Netmask Address", 7, 15); bValid = bValid && checkLength(broadcast, "Broadcast Address", 7, 15); @@ -75,16 +88,19 @@ var ip4_manualConfigurationDialog = function () { // put variables into a json object // send to qt networkdiscovery var o = {"ifname" : ifname, - "ipaddr" : ipaddr, - "netmask" : netmask, - "broadcast" : broadcast, - "gateway" : gateway, - "dns" : dns } - fbgui.ip4_setManualConfiguraton(o); + "ipaddr" : ipaddr.val(), + "netmask" : netmask.val(), + "broadcast" : broadcast.val(), + "gateway" : gateway.val(), + "dns" : dns.val() } + try { + fbgui.ip4_setManualConfiguration(o); + } catch (e) { + fbgui.notifyCall(e); + } $(this).dialog("close"); } } } , - //autoOpen: false, minWidth: 450, modal: true, resizable: false, @@ -95,11 +111,11 @@ var ip4_manualConfigurationDialog = function () { }; var abortBootDialog = function (m) { + fbgui.notifyCall("abortBootDialog"); $("#nd_abort_boot_msg").html(m); $("#nd_abort_boot_dialog").dialog( { buttons: { "Manual Configure": function() { - ip4_manualConfigurationDialog(); - $(this).dialog("close");}, + ip4_manualConfigurationDialog();}, "Show Log": function() {fbgui.showLog(); $(this).dialog("close");}, "Restart": function() {fbgui.restartSystem(); @@ -126,7 +142,9 @@ var chooseInterfaceDialog = function (i) { $("#nd_choose_interface_msg").html(cb); $("#nd_choose_interface_dialog").dialog( - { buttons: { "Show Log": function() {fbgui.showLog(); + { buttons: { "Manual Configure": function() { + ip4_manualConfigurationDialog();}, + "Show Log": function() {fbgui.showLog(); $(this).dialog("close");}, "Restart": function() {fbgui.restartSystem(); $(this).dialog("close"); }, @@ -208,8 +226,8 @@ var addInterface = function (i){

    All form fields are required.

    - - + + diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index e3ddfd4..26e924c 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -12,6 +12,7 @@ ndgui::ndgui(QMainWindow *parent) : connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); _started = false; + _manualConfInterfaces = "[\"NO INTERFACE\"]"; _webView = new QWebView(this); connect(_webView->page()->mainFrame(), SIGNAL( @@ -74,14 +75,13 @@ void ndgui::continueBoot(QString ifName, int userChoice) { if (!userChoice) { QString text = "continue with interface: " + ifName; qDebug() << text << "no user choice"; - _webView->load(QUrl("qrc:html/continueBoot.html")); } else { QString text = "continue with interface: " + ifName; qDebug() << text << "with user choice"; - _webView->load(QUrl("qrc:html/continueBoot.html")); QString gateway = networkDiscovery.getGatewayForInterface(ifName); networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); } + _webView->load(QUrl("qrc:html/continueBoot.html")); } void ndgui::showLog() { @@ -89,6 +89,35 @@ void ndgui::showLog() { } /*test html gui version*/ + +QVariantList ndgui::getManualConfInterfaces() { + qDebug() << "call getManualConfInterfaces"; + /* + QString jsonArr(""); + if(_manConfList.size() > 0) { + jsonArr = "["; + for(int i = 0; i < _manConfList.size()-1; i++) { + jsonArr += "'" + _manConfList.value(i) + "',"; + } + jsonArr += "'" + _manConfList.last() + "']"; + + } + qDebug() << "value of jsonArr:" << jsonArr; + */ + QVariantList jsonArr; + foreach (QString s, _manConfList) { + QVariant e(s); + jsonArr << e; + } + qDebug() << "value of jsonArr:" << jsonArr; + return jsonArr; +} + +int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { + return networkDiscovery.ip4_setManualConfiguration(jsonArr); + +} + /* slots */ @@ -134,6 +163,7 @@ void ndgui::loadJQuery() { // und _webView->page()->mainFrame() zu _parent void ndgui::abortBoot(const QString msg) { + qDebug() << "call abortBoot:" << msg; QString code = QString("abortBootDialog('\%1')").arg(msg); _webView->page()->mainFrame()->evaluateJavaScript(code); } @@ -166,9 +196,10 @@ void ndgui::addInterface(const QString &ifName) { if (ifName == "") return; qDebug() << "call addInterface"; + _manConfList.append(ifName); QString code = QString("addInterface('\%1')").arg(ifName); _webView->page()->mainFrame()->evaluateJavaScript(code); } -void ndgui::notifyCall(){ - qDebug() << "------ called"; +void ndgui::notifyCall(QString msg){ + qDebug() << "------ called:" << msg; } diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index c41cecd..f841cc9 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -3,10 +3,7 @@ #include #include -#include -#include -#include -#include +#include #include "networkdiscovery.h" @@ -14,10 +11,13 @@ class ndgui: public QMainWindow { Q_OBJECT +Q_PROPERTY(QString manualConfInterfaces READ manualConfInterfaces WRITE setManualConfInterfaces) public: ndgui(QMainWindow *parent = 0); ~ndgui(); + Q_INVOKABLE QVariantList getManualConfInterfaces(); + Q_INVOKABLE int ip4_setManualConfiguration(QVariantMap result); public slots: void handleConnectionEstablished(QString ifName); @@ -39,8 +39,14 @@ public slots: void updateIfStatus(const QString &ifName, const QString &status); void updateStatus(const QString &status); void updateIfProgressBar(const QString &ifName, const int& percent); - void notifyCall(); + void notifyCall(QString msg); + // property functions + void setManualConfInterfaces(QString jsonArray) { + _manualConfInterfaces = jsonArray; + } + QString manualConfInterfaces() const + {return _manualConfInterfaces;} private: @@ -52,6 +58,10 @@ private: QList _ifNameList; // maps interfaceName to its gateway + QList _manConfList; + + QString _manualConfInterfaces; + }; diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index 159321d..7255095 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -43,10 +43,9 @@ void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe, QFileInfo fInfo(pathToDhcpcdExe); if (!fInfo.exists()) { qDebug() - << "couldn't find customdhcpcd exe. Please check the path to this file."; - emit - abortBoot( - "couldn't find customdhcpcd exe. Please check the path to this file."); + << "could not find customdhcpcd exe. Please check the path to this file."; + emit abortBoot( + "could not find customdhcpcd exe. Please check the path to this file."); return; } @@ -71,9 +70,8 @@ void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe, numberOfProcesses = list.size(); runDHCPCD(list); } else { - qDebug() << "list is empty. Haven't found usable interface."; - emit - abortBoot("Haven't found usable interface"); + qDebug() << "list is empty. Have not found usable interface."; + emit abortBoot("Haven not found usable interface"); return; } @@ -98,7 +96,15 @@ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { //} QList dns; dns.append(result["dns"].toString()); - return networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + qDebug() << result["ifname"].toString(); + qDebug() << result["ipaddr"].toString(); + qDebug() << result["netmask"].toString(); + qDebug() << result["broadcast"].toString(); + qDebug() << result["gateway"].toString(); + qDebug() << dns; + + + networkManager.ip4_setManualConfiguration(result["ifname"].toString(), result["ipaddr"].toString(), result["netmask"].toString(), result["broadcast"].toString(), @@ -108,6 +114,30 @@ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { true, "/etc/", dns); + + qDebug() << "set man conf. test connectivity"; + + if (!checkConnectivityViaTcp(QString("74.125.39.99"))) { + qDebug() << "no connectivity. reset conf."; + interfaceconfiguration * ifc = _ifcMap.value(result["ifname"].toString(), NULL); + if(ifc != NULL) { + QList dns = ifc->getDnsservers().trimmed().split(" "); + networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + ifc->getIpAddress(), + ifc->getNetmask(), + ifc->getBroadcast(), + ifc->getGateway(), + 0, + AF_INET, + true, + "/etc/", + dns); + } + + return 0; + } + emit continueBoot(result["ifname"].toString(), 0); + return 0; } QString NetworkDiscovery::getGatewayForInterface(QString ifName) { @@ -231,20 +261,13 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { _ifcMap.insert(ifName, ifConf); // replace default route - qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf->getGateway(), 0, AF_INET); + qDebug() << networkManager.replaceDefaultRoute(ifName, + ifConf->getGateway(), 0, AF_INET); - // check connectivity via tcp connection - QTcpSocket *tcpSocket = new QTcpSocket(this); - tcpSocket->connectToHost(QString("209.85.148.105"), 80); - if (!tcpSocket->waitForConnected(500)) { - qDebug() << "no internet connection with interface" << ifName; - qDebug() << tcpSocket->errorString(); - emit - updateStatusLabel(ifName, "connection not possible"); - return false; - } else { + if (checkConnectivityViaTcp("209.85.148.105")) { qDebug() << "internet: check passed! for interface" << ifName; - emit updateStatusLabel(ifName, "connection possible"); + emit + updateStatusLabel(ifName, "connection possible"); if (!_userChoice) { // blockiere jeden weiteren check // emite continueBoot @@ -253,8 +276,24 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { } else { emit connectionEstablished(ifName); } - return true; + } else { + qDebug() << "no internet connection with interface" << ifName; + emit + updateStatusLabel(ifName, "connection not possible"); } + +} + +bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { + // check connectivity via tcp connection + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(server, 80); + if (!tcpSocket->waitForConnected(500)) { + qDebug() << tcpSocket->errorString(); + return false; + } else { + return true; + } } /** diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index 48a6a7e..5e79887 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -48,8 +48,9 @@ public: QStringList* args = NULL); int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + QString getGatewayForInterface(QString ifName); + int ip4_setManualConfiguration(QVariantMap result); - QString getGatewayForInterface(QString); private slots: void handleNewConnection(); @@ -67,6 +68,7 @@ signals: void updateStatusLabel(QString ifName, QString status); void allProcessesFinished(); void continueBoot(QString ifName, int userChoice); + void setManualConfInterfaces(QString jsonArr); private: QLocalServer *server; @@ -93,6 +95,7 @@ private: QListcheckCarrierState(QList &interfaces); bool checkCarrierState(QString interface); bool checkConnectivity(QString ifName); + bool checkConnectivityViaTcp(QString server); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); diff --git a/LogReceiver/networkmanager.cpp b/LogReceiver/networkmanager.cpp index 1de0591..80aa8a1 100644 --- a/LogReceiver/networkmanager.cpp +++ b/LogReceiver/networkmanager.cpp @@ -147,6 +147,7 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, QString broadcast, QString gateway, int metric, int af, bool up, QString pathToResolvConf, QList nameServer) { + //bring the interface up bringInterfaceUpDown(ifname, up); //set configuration @@ -155,7 +156,7 @@ int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress replaceDefaultRoute(ifname, gateway, metric, af); //write resolv.conf writeResolvConf(pathToResolvConf, ifname, nameServer); - + return 0; } int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, @@ -166,15 +167,15 @@ int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, struct nl_addr * local; struct rtnl_addr * addr = NULL; int retval = 0; - int iface_idx, err; + int iface_idx, err, prefixLength; - QByteArray ba_ifn = ifname.toAscii(); + QByteArray ba_ifn = ifname.trimmed().toAscii(); char * ifn = ba_ifn.data(); - QByteArray ba_ip = ipAddress.toAscii(); + QByteArray ba_ip = ipAddress.trimmed().toAscii(); char * ipaddr = ba_ip.data(); - QByteArray ba_bc = broadcast.toAscii(); + QByteArray ba_bc = broadcast.trimmed().toAscii(); char * bcaddr = ba_bc.data(); rtsock = nl_handle_alloc(); @@ -199,7 +200,9 @@ int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, qDebug() << "error with set local addr"; } - rtnl_addr_set_prefixlen(addr, ip4_netmaskToPrefix(netmask)); + prefixLength = ip4_netmaskToPrefix(ipAddress,netmask); + qDebug() << "prefix length:" << prefixLength; + rtnl_addr_set_prefixlen(addr, prefixLength); local = nl_addr_parse(bcaddr, af); err = rtnl_addr_set_broadcast(addr, local); @@ -210,7 +213,8 @@ int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, rtnl_addr_set_ifindex(addr, iface_idx); - retval = sync_address(ifn, iface_idx, af, addr, 1); + + retval = sync_address(ifn, iface_idx, af, addr); if(retval < 0) { qDebug() << "error in sync_address"; } @@ -219,7 +223,7 @@ int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, return retval; } -int NetworkManager::ip4_netmaskToPrefix(QString netmask) { +int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { int retval = -1; QNetworkAddressEntry nae; @@ -227,8 +231,8 @@ int NetworkManager::ip4_netmaskToPrefix(QString netmask) { qDebug() << "error: netmask is empty"; return retval; } - - nae.setNetmask(QHostAddress(netmask)); + nae.setIp(QHostAddress(ipAddr)); + nae.setNetmask(QHostAddress(netmask.trimmed())); retval = nae.prefixLength(); return retval; @@ -241,7 +245,7 @@ int NetworkManager::ip4_netmaskToPrefix(QString netmask) { * -1 if something went wrong. else 0 */ int NetworkManager::sync_address(const char *iface, int ifindex, int family, - struct rtnl_addr *addr, int num_addrs) { + struct rtnl_addr *addr) { struct nl_handle *nlh; struct nl_cache *addr_cache; @@ -352,6 +356,7 @@ int NetworkManager::sync_address(const char *iface, int ifindex, int family, if (buf_valid == 0) { //nm_log_dbg (log_domain, "(%s): adding address '%s/%d'", //iface, buf, nl_addr_get_prefixlen (nladdr)); + qDebug() << "buf valid adding addr"; } err = rtnl_addr_add(nlh, addr, 0); @@ -359,7 +364,7 @@ int NetworkManager::sync_address(const char *iface, int ifindex, int family, //nm_log_err (log_domain, // "(%s): error %d returned from rtnl_addr_add():\n%s", // iface, err, nl_geterror ()); - qDebug() << "error with add addr"; + qDebug() << "error with add addr"<< strerror(-err); } rtnl_addr_put(addr); diff --git a/LogReceiver/networkmanager.h b/LogReceiver/networkmanager.h index 9834d28..1191ced 100644 --- a/LogReceiver/networkmanager.h +++ b/LogReceiver/networkmanager.h @@ -37,14 +37,16 @@ public: int ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, QString broadcast, QString gateway, int metric, int af, bool up, QString pathToResolvConf, QList nameServer); + int ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af); + int writeResolvConf(QString path, QString ifname, QList nameServer); private: - int ip4_netmaskToPrefix(QString netmask); - int ip4_configureInterface(QString ifname, QString ipAddress, - QString broadcast, QString netmask, int af); + int ip4_netmaskToPrefix(QString ipAddr, QString netmask); + int sync_address(const char *iface, int ifindex, int family, - struct rtnl_addr *addr, int num_addrs); - int writeResolvConf(QString path, QString ifname, QList nameServer); + struct rtnl_addr *addr); + }; -- cgit v1.2.3-55-g7522 From 38b1c442b31c7e8f38d232c30e7941b75b1eebbb Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 28 Sep 2011 17:56:12 +0200 Subject: added some more initial parameters --- LogReceiver/ndgui.cpp | 2 +- LogReceiver/networkdiscovery.cpp | 30 ++++++++---------------------- LogReceiver/networkdiscovery.h | 4 +++- 3 files changed, 12 insertions(+), 24 deletions(-) diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index 26e924c..cb2a2f9 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -38,7 +38,7 @@ ndgui::~ndgui() { void ndgui::startNetworkDiscovery(){ if(!_started) { _started = true; - networkDiscovery.initAndRun("/var/tmp/qt_c_socket_custom"); + networkDiscovery.initAndRun("209.85.148.105", true,"/var/tmp/qt_c_socket_custom"); } else { qDebug() << "NetworkDiscovery already started"; diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index 7255095..1677573 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -11,10 +11,11 @@ NetworkDiscovery::~NetworkDiscovery() { } -void NetworkDiscovery::initAndRun(QString serverPath, QString pathToExe, +void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serverPath, QString pathToExe, QStringList* args) { - _userChoice = true; + _serverIp = serverIp; + _userChoice = userChoice; _blocked = false; if (serverPath != DEFAULT_QTSOCKETADDRESS) { @@ -86,24 +87,8 @@ int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, i } int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { - //QJson::Parser parser; - //bool ok; - - //QVariantMap result = parser.parse(, &ok); - //if(!ok) { - // error - //return -1; - //} QList dns; dns.append(result["dns"].toString()); - qDebug() << result["ifname"].toString(); - qDebug() << result["ipaddr"].toString(); - qDebug() << result["netmask"].toString(); - qDebug() << result["broadcast"].toString(); - qDebug() << result["gateway"].toString(); - qDebug() << dns; - - networkManager.ip4_setManualConfiguration(result["ifname"].toString(), result["ipaddr"].toString(), result["netmask"].toString(), @@ -117,12 +102,13 @@ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { qDebug() << "set man conf. test connectivity"; - if (!checkConnectivityViaTcp(QString("74.125.39.99"))) { + if (!checkConnectivityViaTcp(_serverIp)) { qDebug() << "no connectivity. reset conf."; interfaceconfiguration * ifc = _ifcMap.value(result["ifname"].toString(), NULL); if(ifc != NULL) { - QList dns = ifc->getDnsservers().trimmed().split(" "); - networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + dns.clear(); + dns = ifc->getDnsservers().trimmed().split(" "); + networkManager.ip4_setManualConfiguration(result["ifname"].toString(), ifc->getIpAddress(), ifc->getNetmask(), ifc->getBroadcast(), @@ -264,7 +250,7 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { qDebug() << networkManager.replaceDefaultRoute(ifName, ifConf->getGateway(), 0, AF_INET); - if (checkConnectivityViaTcp("209.85.148.105")) { + if (checkConnectivityViaTcp(_serverIp)) { qDebug() << "internet: check passed! for interface" << ifName; emit updateStatusLabel(ifName, "connection possible"); diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index 5e79887..cf09d58 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -43,7 +43,8 @@ public: NetworkDiscovery(QObject *parent=0); ~NetworkDiscovery(); - void initAndRun(QString serverPath = DEFAULT_QTSOCKETADDRESS, + void initAndRun(QString serverIp, bool userChoice, + QString serverPath = DEFAULT_QTSOCKETADDRESS, QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList* args = NULL); int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); @@ -85,6 +86,7 @@ private: NetworkManager networkManager; bool _userChoice; bool _blocked; + QString _serverIp; QMap _ifcMap; -- cgit v1.2.3-55-g7522 From 46da51f8701747376999dcca8f034e41eeb206e0 Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 29 Sep 2011 14:24:48 +0200 Subject: did some refactoring. added a user choice screen which is shown 2 seconds before the magic begins. (press F5 to get a choice) --- LogReceiver/html/networkdiscovery_userchoice.html | 22 ++++++ LogReceiver/nd.qrc | 1 + LogReceiver/ndgui.cpp | 44 +++++++++--- LogReceiver/ndgui.h | 16 +++-- LogReceiver/networkdiscovery.cpp | 87 ++++++++++++----------- LogReceiver/networkdiscovery.h | 21 +++--- LogReceiver/networkmanager.cpp | 74 ++++++++++++++++++- LogReceiver/networkmanager.h | 7 +- 8 files changed, 199 insertions(+), 73 deletions(-) create mode 100644 LogReceiver/html/networkdiscovery_userchoice.html diff --git a/LogReceiver/html/networkdiscovery_userchoice.html b/LogReceiver/html/networkdiscovery_userchoice.html new file mode 100644 index 0000000..9cf165f --- /dev/null +++ b/LogReceiver/html/networkdiscovery_userchoice.html @@ -0,0 +1,22 @@ + + + + + + + + + + + +
    +

    Network Discovery

    +
    +
    +

    Please press F5 if you want to choose which interface to use.

    +
    +
    +

    RZ Uni Freiburg, 2011

    +
    + + diff --git a/LogReceiver/nd.qrc b/LogReceiver/nd.qrc index 1719e6c..686419e 100644 --- a/LogReceiver/nd.qrc +++ b/LogReceiver/nd.qrc @@ -22,5 +22,6 @@ html/css/images/ui-icons_ffd27a_256x240.png html/css/images/ui-icons_ffffff_256x240.png html/continueBoot.html + html/networkdiscovery_userchoice.html diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index cb2a2f9..be01224 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -3,6 +3,11 @@ ndgui::ndgui(QMainWindow *parent) : QMainWindow(parent) { + _started = false; + _userChoice = false; + + createAction(); + connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); connect(&networkDiscovery, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); @@ -11,34 +16,53 @@ ndgui::ndgui(QMainWindow *parent) : connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); - _started = false; - _manualConfInterfaces = "[\"NO INTERFACE\"]"; + _webView = new QWebView(this); connect(_webView->page()->mainFrame(), SIGNAL( javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); - connect(_webView, SIGNAL(loadFinished(bool)), this, - SLOT(startNetworkDiscovery())); - - - setCentralWidget(_webView); - _webView->load(QUrl("qrc:html/networkdiscovery.html")); - _webView->show(); setWindowTitle(tr("NetD")); setAttribute(Qt::WA_QuitOnClose, true); setWindowFlags(Qt::FramelessWindowHint); + _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); + _webView->show(); + + QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); + } ndgui::~ndgui() { } +void ndgui::createAction() { + _allowUserChoice = new QAction(tr("&quit"), this); + _allowUserChoice->setShortcut(QKeySequence(Qt::Key_F5)); + connect(_allowUserChoice, SIGNAL(triggered()), this, SLOT(setUserChoiceTrue())); + this->addAction(_allowUserChoice); +} + +void ndgui::setUserChoiceTrue() { + _userChoice = true; +} + +void ndgui::prepareNetworkDiscover() { + connect(_webView, SIGNAL(loadFinished(bool)), this, + SLOT(startNetworkDiscovery())); + this->removeAction(_allowUserChoice); + + _webView->load(QUrl("qrc:html/networkdiscovery.html")); + _webView->show(); +} + void ndgui::startNetworkDiscovery(){ + + disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); if(!_started) { _started = true; - networkDiscovery.initAndRun("209.85.148.105", true,"/var/tmp/qt_c_socket_custom"); + networkDiscovery.initAndRun("209.85.148.105", _userChoice,"/var/tmp/qt_c_socket_custom"); } else { qDebug() << "NetworkDiscovery already started"; diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index f841cc9..e0c12d1 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -11,7 +11,6 @@ class ndgui: public QMainWindow { Q_OBJECT -Q_PROPERTY(QString manualConfInterfaces READ manualConfInterfaces WRITE setManualConfInterfaces) public: ndgui(QMainWindow *parent = 0); @@ -30,6 +29,7 @@ public slots: void continueBoot(QString ifName, int userChoice); void showLog(); + void prepareNetworkDiscover(); void startNetworkDiscovery(); /*test for html gui version*/ @@ -41,19 +41,21 @@ public slots: void updateIfProgressBar(const QString &ifName, const int& percent); void notifyCall(QString msg); - // property functions - void setManualConfInterfaces(QString jsonArray) { - _manualConfInterfaces = jsonArray; - } - QString manualConfInterfaces() const - {return _manualConfInterfaces;} +private slots: + void setUserChoiceTrue(); private: + void createAction(); + + bool _userChoice; + bool _started; QWebView * _webView; + QAction * _allowUserChoice; + NetworkDiscovery networkDiscovery; QList _ifNameList; // maps interfaceName to its gateway diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index 1677573..a526a6f 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -4,7 +4,7 @@ NetworkDiscovery::NetworkDiscovery(QObject *parent) { - server = new QLocalServer(this); + _server = new QLocalServer(this); } NetworkDiscovery::~NetworkDiscovery() { @@ -17,12 +17,22 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv _serverIp = serverIp; _userChoice = userChoice; _blocked = false; + _pathToDhcpcdExe = pathToExe; + _numberOfProcesses = 0; if (serverPath != DEFAULT_QTSOCKETADDRESS) { - dhcpcdArguments.append("-q"); - dhcpcdArguments.append(serverPath); + _dhcpcdArguments.append("-q"); + _dhcpcdArguments.append(serverPath); } - if (!server->listen(serverPath)) { + /* delete the file at serverPath. this is necessary since in case the application crashes, the file still + * exists which leads to an error. + */ + + if(QFile::exists(serverPath)) { + QFile::remove(serverPath); + } + + if (!_server->listen(serverPath)) { /* QMessageBox::critical(this, tr("NetworkDiscovery"), tr( "Unable to start the server: %1.") .arg(server->errorString())); @@ -31,17 +41,17 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv // emit signal to the gui that a critial error occoured QString errorInfo("Unable to start server: "); qDebug() << "--- \t [NetworkDiscovery::initAndRun] " + errorInfo - << server->errorString(); + << _server->errorString(); emit - abortBoot(errorInfo + server->errorString()); + abortBoot(errorInfo + _server->errorString()); return; } - connect(server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + - pathToDhcpcdExe = pathToExe; // check if the path to the customdhcpcd file is correct - QFileInfo fInfo(pathToDhcpcdExe); + QFileInfo fInfo(_pathToDhcpcdExe); if (!fInfo.exists()) { qDebug() << "could not find customdhcpcd exe. Please check the path to this file."; @@ -52,10 +62,10 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv if (args != NULL && !args->isEmpty()) { qDebug() << "--- \t [NetworkDiscovery::initAndRun] added additional args"; - dhcpcdArguments.append(*args); + _dhcpcdArguments.append(*args); } - numberOfProcesses = 0; + // start the main work: @@ -67,8 +77,7 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv //dhcpcdArguments.append("-d"); - QString ifName("eth0"); - numberOfProcesses = list.size(); + _numberOfProcesses = list.size(); runDHCPCD(list); } else { qDebug() << "list is empty. Have not found usable interface."; @@ -79,24 +88,23 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv } int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { - networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); + _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); } int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) { - networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); + _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); } int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { QList dns; dns.append(result["dns"].toString()); - networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), result["ipaddr"].toString(), result["netmask"].toString(), result["broadcast"].toString(), result["gateway"].toString(), 0, AF_INET, - true, "/etc/", dns); @@ -108,14 +116,13 @@ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { if(ifc != NULL) { dns.clear(); dns = ifc->getDnsservers().trimmed().split(" "); - networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), ifc->getIpAddress(), ifc->getNetmask(), ifc->getBroadcast(), ifc->getGateway(), 0, AF_INET, - true, "/etc/", dns); } @@ -145,7 +152,7 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { continue; } if(!(nI.flags() & QNetworkInterface::IsUp)) { - networkManager.bringInterfaceUpDown(nI.humanReadableName(), true); + _networkManager.bringInterfaceUP(nI.humanReadableName()); } if (!checkCarrierState(nI.humanReadableName())) { continue; @@ -222,18 +229,18 @@ void NetworkDiscovery::runDHCPCD(QList &interfaces) { void NetworkDiscovery::runDHCPCD(QString interface) { emit updateStatusLabel(interface, "start DHCP"); - dhcpcdArguments.append(interface); + _dhcpcdArguments.append(interface); QProcess * p = new QProcess(this); - qDebug() << dhcpcdArguments; + qDebug() << _dhcpcdArguments; - clientProcessToIfNameMap.insert(p, interface); - qDebug() << clientProcessToIfNameMap; - p->start(pathToDhcpcdExe, dhcpcdArguments); + _clientProcessToIfNameMap.insert(p, interface); + qDebug() << _clientProcessToIfNameMap; + p->start(_pathToDhcpcdExe, _dhcpcdArguments); connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - dhcpcdArguments.removeLast(); + _dhcpcdArguments.removeLast(); } bool NetworkDiscovery::checkConnectivity(QString ifName) { @@ -247,7 +254,7 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { _ifcMap.insert(ifName, ifConf); // replace default route - qDebug() << networkManager.replaceDefaultRoute(ifName, + qDebug() << _networkManager.replaceDefaultRoute(ifName, ifConf->getGateway(), 0, AF_INET); if (checkConnectivityViaTcp(_serverIp)) { @@ -289,11 +296,11 @@ void NetworkDiscovery::handleNewConnection() { qDebug() << "New Connection arrived"; /*QLocalSocket **/ - client = server ->nextPendingConnection(); - clients.insert(client, client); - connect(client, SIGNAL(disconnected()), this, + _client = _server ->nextPendingConnection(); + _clients.insert(_client, _client); + connect(_client, SIGNAL(disconnected()), this, SLOT(handleClientDisconnect())); - connect(client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); + connect(_client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); } /** @@ -302,7 +309,7 @@ void NetworkDiscovery::handleNewConnection() { void NetworkDiscovery::handleClientDisconnect() { QLocalSocket* socket = qobject_cast (QObject::sender()); - QLocalSocket * client = clients.value(socket); + QLocalSocket * client = _clients.value(socket); qDebug() << "disconnect client"; handleNewInput(client); @@ -336,7 +343,7 @@ void NetworkDiscovery::handleNewInput(QLocalSocket * client) { void NetworkDiscovery::handleNewInput() { QLocalSocket* socket = qobject_cast (QObject::sender()); - QLocalSocket * client = clients.value(socket); + QLocalSocket * client = _clients.value(socket); QString data(client->read(DHCP_MESSAGE_SIZE)); client->write("ACK", ACK_SIZE); client->waitForBytesWritten(); @@ -380,9 +387,9 @@ void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { int sst = s_subState.trimmed().toInt(); //qDebug() << logMsg; - if (ifNameToClient.size() < numberOfProcesses && !ifNameToClient.contains( + if (_ifNameToClient.size() < _numberOfProcesses && !_ifNameToClient.contains( interface)) { - ifNameToClient.insert(interface, client); + _ifNameToClient.insert(interface, client); } switch (st) { @@ -505,7 +512,7 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus) { QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface if (ifName.compare("ifName") == 0) { qDebug() @@ -524,12 +531,12 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, } } if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface - QLocalSocket *client = ifNameToClient.value(ifName, 0); + QLocalSocket *client = _ifNameToClient.value(ifName, 0); if (client != 0) { handleNewInput(client); } - numberOfProcesses = numberOfProcesses - 1; - if (numberOfProcesses <= 0 && _userChoice) { + _numberOfProcesses = _numberOfProcesses - 1; + if (_numberOfProcesses <= 0 && _userChoice) { emit allProcessesFinished(); } } @@ -546,7 +553,7 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, */ void NetworkDiscovery::handleProcessStarted() { QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); + QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); qDebug() << "process started for interface:" << ifName; } diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index cf09d58..913a5b4 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -72,18 +72,15 @@ signals: void setManualConfInterfaces(QString jsonArr); private: - QLocalServer *server; - quint16 blockSize; - //QMap interfacesMap; - //QMap indexToIfaceNameMap; - QMap clients; - QLocalSocket * client; - QMap ifNameToClient; - QMap clientProcessToIfNameMap; - QString pathToDhcpcdExe; - QStringList dhcpcdArguments; - int numberOfProcesses; - NetworkManager networkManager; + QLocalServer *_server; + QMap _clients; + QLocalSocket * _client; + QMap _ifNameToClient; + QMap _clientProcessToIfNameMap; + QString _pathToDhcpcdExe; + QStringList _dhcpcdArguments; + int _numberOfProcesses; + NetworkManager _networkManager; bool _userChoice; bool _blocked; QString _serverIp; diff --git a/LogReceiver/networkmanager.cpp b/LogReceiver/networkmanager.cpp index 80aa8a1..55fd475 100644 --- a/LogReceiver/networkmanager.cpp +++ b/LogReceiver/networkmanager.cpp @@ -87,6 +87,34 @@ int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, return retval; } + +/** + * The method brings an interface up. + * + * @param ifname + * the name of the interface + * + * @return + * 0 -> success + * -1 -> error + */ +int NetworkManager::bringInterfaceUP(QString ifname) { + return bringInterfaceUpDown(ifname, true); +} + +/** + * The method brings an interface down. + * + * @param ifname + * the name of the interface + * + * @return + * 0 -> success + * -1 -> error + */ +int NetworkManager::bringInterfaceDown(QString ifname) { + return bringInterfaceUpDown(ifname, false); +} /** * This method brings an interface up or down. * @@ -145,11 +173,42 @@ int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { return retval; } +/** + * This method is used when the manual configuration is needed. + * + * This method is used when the manual configuration is needed. + * First we bring up the interface. Than we configure the interface with + * our manual entered configuration dates. + * After that we replace the old default route with the new and + * write a resolv.conf. + * + * @param ifname + * name of the interface which we are about to configure. + * + * @param ipAddress + * the new IP-Address. + * + * @param netmask + * the netmask of the IP-Address. + * + * @param broadcast + * the broadcast address. + * @param gateway + * the gateway address. + * @param metric + * do not exactly know why we need this. in most cases this should be 0. + * @param af + * the address type. Either AF_INET for IPv4 or AF_INET6 for IPv6. + * @param pathToResolvConf + * the path to the resolf.conf file. in most cases "/etc/". + * @param nameServer + * the name server addresses. + */ int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, - QString broadcast, QString gateway, int metric, int af, bool up, QString pathToResolvConf, QList nameServer) { + QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer) { //bring the interface up - bringInterfaceUpDown(ifname, up); + bringInterfaceUP(ifname); //set configuration ip4_configureInterface(ifname, ipAddress, broadcast, netmask,af); //set default route @@ -223,6 +282,17 @@ int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, return retval; } +/** + * This Method returns the length of the IP-Address netmask prefix. + * + * @param ipAddr + * the IP-address + * + * @param netmask + * the netmask of the IP-address. + * @return + * the length of the IP-Address netmask prefix + */ int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { int retval = -1; QNetworkAddressEntry nae; diff --git a/LogReceiver/networkmanager.h b/LogReceiver/networkmanager.h index 1191ced..0c47e30 100644 --- a/LogReceiver/networkmanager.h +++ b/LogReceiver/networkmanager.h @@ -33,15 +33,18 @@ public: int action); int replaceDefaultRoute(QString ifname, QString gateway, int metric, int af); - int bringInterfaceUpDown(QString ifname, bool up); + + int bringInterfaceUP(QString ifname); + int bringInterfaceDown(QString ifname); int ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, - QString broadcast, QString gateway, int metric, int af, bool up, QString pathToResolvConf, QList nameServer); + QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer); int ip4_configureInterface(QString ifname, QString ipAddress, QString broadcast, QString netmask, int af); int writeResolvConf(QString path, QString ifname, QList nameServer); private: + int bringInterfaceUpDown(QString ifname, bool up); int ip4_netmaskToPrefix(QString ipAddr, QString netmask); int sync_address(const char *iface, int ifindex, int family, -- cgit v1.2.3-55-g7522 From 1a88507a1b7294e6288e64bbd326c9ef923f656e Mon Sep 17 00:00:00 2001 From: Niklas Date: Thu, 29 Sep 2011 15:48:11 +0200 Subject: tried to solve the timing problem. but failed. it is also enough to test for the isRunning flag in order to get informations about pluged state --- LogReceiver/ndgui.cpp | 12 ------------ LogReceiver/networkdiscovery.cpp | 17 +++++++++++++++++ LogReceiver/networkdiscovery.h | 2 ++ 3 files changed, 19 insertions(+), 12 deletions(-) diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index be01224..eafc2f6 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -116,18 +116,6 @@ void ndgui::showLog() { QVariantList ndgui::getManualConfInterfaces() { qDebug() << "call getManualConfInterfaces"; - /* - QString jsonArr(""); - if(_manConfList.size() > 0) { - jsonArr = "["; - for(int i = 0; i < _manConfList.size()-1; i++) { - jsonArr += "'" + _manConfList.value(i) + "',"; - } - jsonArr += "'" + _manConfList.last() + "']"; - - } - qDebug() << "value of jsonArr:" << jsonArr; - */ QVariantList jsonArr; foreach (QString s, _manConfList) { QVariant e(s); diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index a526a6f..ee0b5ad 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -154,6 +154,11 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { if(!(nI.flags() & QNetworkInterface::IsUp)) { _networkManager.bringInterfaceUP(nI.humanReadableName()); } + /* + * if(!checkForIsRunning(nI)) { + continue; + } + */ if (!checkCarrierState(nI.humanReadableName())) { continue; } @@ -166,6 +171,18 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { return result; } +bool NetworkDiscovery::checkForIsRunning(QNetworkInterface networkInterface) { + bool retval = false; + for (int i = 0; i < 4; i++) { + retval = (networkInterface.flags() & QNetworkInterface::IsRunning); + if(retval) { + return retval; + } + sleep(1); + } + return retval; +} + QList NetworkDiscovery::checkCarrierState(QList &interfaces) { QList result; foreach(QString nI, interfaces) diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index 913a5b4..4a9bc3c 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -8,6 +8,7 @@ #include #include +#include #include #include #include @@ -93,6 +94,7 @@ private: void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); bool checkCarrierState(QString interface); + bool checkForIsRunning(QNetworkInterface networkInterface); bool checkConnectivity(QString ifName); bool checkConnectivityViaTcp(QString server); QList getListOfNetworkInterfaces(); -- cgit v1.2.3-55-g7522 From be915d3cfcc639d6303bf8bc0e5ad825e0ef2f95 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 5 Oct 2011 17:39:35 +0200 Subject: modified the check for carrier signal. on autoUp==true: if no interface is in running state, the app will check the state of the interface several times (can be specified by us with the _ifUpCountdown value) --- LogReceiver/LogReceiver.pro | 6 +- LogReceiver/html/networkdiscovery.css | 7 +- LogReceiver/html/networkdiscovery.html | 30 ++++-- LogReceiver/ndgui.cpp | 6 +- LogReceiver/ndgui.h | 3 +- LogReceiver/networkdiscovery.cpp | 163 +++++++++++++++++++++++++++------ LogReceiver/networkdiscovery.h | 42 +++++---- common/fbgui.h | 2 + customdhcpcd/src/dhcpcd.h | 6 +- customdhcpcd/src/logwriter.c | 2 +- 10 files changed, 205 insertions(+), 62 deletions(-) diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro index 1bba39d..8313526 100644 --- a/LogReceiver/LogReceiver.pro +++ b/LogReceiver/LogReceiver.pro @@ -7,11 +7,13 @@ LIBS += -lsysfs \ -L/home/niklas/fbgui/customdhcpcd/src/build \ -llibcustomdhcpcd INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src -HEADERS += networkmanager.h \ +HEADERS += sleeper.h \ + networkmanager.h \ networkdiscovery.h \ interfaceconfiguration.h \ ndgui.h -SOURCES += networkmanager.cpp \ +SOURCES += sleeper.cpp \ + networkmanager.cpp \ networkdiscovery.cpp \ interfaceconfiguration.cpp \ ndgui.cpp \ diff --git a/LogReceiver/html/networkdiscovery.css b/LogReceiver/html/networkdiscovery.css index 1346810..669ad58 100644 --- a/LogReceiver/html/networkdiscovery.css +++ b/LogReceiver/html/networkdiscovery.css @@ -60,10 +60,15 @@ aside { width: 300px; } -#nd_manual_configuration_dialog { +#nd_manual_configuration_dialog, #nd_show_log_dialog { display:none; } +textarea { + width: 400px; + resize: none; +} + h1 { margin-top: 20px; } diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html index 1f6125a..6d370d1 100644 --- a/LogReceiver/html/networkdiscovery.html +++ b/LogReceiver/html/networkdiscovery.html @@ -41,6 +41,17 @@ var checkRegexp = function ( o, regexp, n ) { } }; +var showLog = function (t) { + $("#nd_show_log_msg").val(t); + $("#nd_show_log_msg").attr('readonly','readonly'); + $("#nd_show_log_dialog").dialog( + { minWidth: 450, + modal: true, + resizable: false, + draggable: false + }); +}; + var ip4_manualConfigurationDialog = function () { var jsonArr = fbgui.getManualConfInterfaces(); //jsonArr = eval('(' + jsonArr + ')'); @@ -116,7 +127,9 @@ var abortBootDialog = function (m) { $("#nd_abort_boot_dialog").dialog( { buttons: { "Manual Configure": function() { ip4_manualConfigurationDialog();}, - "Show Log": function() {fbgui.showLog(); + "Show Log": function() { + var text = fbgui.readLogFile(); + showLog(text); $(this).dialog("close");}, "Restart": function() {fbgui.restartSystem(); $(this).dialog("close"); }, @@ -144,8 +157,9 @@ var chooseInterfaceDialog = function (i) { $("#nd_choose_interface_dialog").dialog( { buttons: { "Manual Configure": function() { ip4_manualConfigurationDialog();}, - "Show Log": function() {fbgui.showLog(); - $(this).dialog("close");}, + "Show Log": function() { + var text = fbgui.readLogFile(); + showLog(text);}, "Restart": function() {fbgui.restartSystem(); $(this).dialog("close"); }, "Shut Down": function() { fbgui.shutDownSystem(); @@ -212,16 +226,20 @@ var addInterface = function (i){

    test

    + +
    + +
    -
    +

    -
    +

    -
    +

    All form fields are required.

    diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp index eafc2f6..b77c2a1 100644 --- a/LogReceiver/ndgui.cpp +++ b/LogReceiver/ndgui.cpp @@ -62,7 +62,7 @@ void ndgui::startNetworkDiscovery(){ disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); if(!_started) { _started = true; - networkDiscovery.initAndRun("209.85.148.105", _userChoice,"/var/tmp/qt_c_socket_custom"); + networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom"); } else { qDebug() << "NetworkDiscovery already started"; @@ -108,8 +108,9 @@ void ndgui::continueBoot(QString ifName, int userChoice) { _webView->load(QUrl("qrc:html/continueBoot.html")); } -void ndgui::showLog() { +QString ndgui::readLogFile() { qDebug() << "show log"; + return networkDiscovery.readLogFile(); } /*test html gui version*/ @@ -130,6 +131,7 @@ int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { } + /* slots */ diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h index e0c12d1..3955303 100644 --- a/LogReceiver/ndgui.h +++ b/LogReceiver/ndgui.h @@ -17,6 +17,7 @@ public: ~ndgui(); Q_INVOKABLE QVariantList getManualConfInterfaces(); Q_INVOKABLE int ip4_setManualConfiguration(QVariantMap result); + Q_INVOKABLE QString readLogFile(); public slots: void handleConnectionEstablished(QString ifName); @@ -27,7 +28,7 @@ public slots: void restartSystem(); void shutDownSystem(); void continueBoot(QString ifName, int userChoice); - void showLog(); + void prepareNetworkDiscover(); void startNetworkDiscovery(); diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp index ee0b5ad..052663f 100644 --- a/LogReceiver/networkdiscovery.cpp +++ b/LogReceiver/networkdiscovery.cpp @@ -11,14 +11,18 @@ NetworkDiscovery::~NetworkDiscovery() { } -void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serverPath, QString pathToExe, +void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath, QString pathToExe, QStringList* args) { _serverIp = serverIp; _userChoice = userChoice; - _blocked = false; + _autoUp = autoUp; + _pathToLogFile = pathToLogFile; + _pathToDhcpcdExe = pathToExe; + _blocked = false; _numberOfProcesses = 0; + _ifUpCountdown = 10; if (serverPath != DEFAULT_QTSOCKETADDRESS) { _dhcpcdArguments.append("-q"); @@ -48,6 +52,7 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv } connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); // check if the path to the customdhcpcd file is correct @@ -69,24 +74,90 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice,QString serv // start the main work: - QList list = getListOfNetworkInterfaces(); + // if autoup enabled + // emit ... up + // else get list uped ifs (einmal simpel ohne autoup) + // emit run - if (list.size() > 0) { + if (_autoUp) { + getListOfNetworkInterfacesWithAutoUp(); + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); + _timer->start(1000); - //list = checkCarrierState(list); + } else { + getListOfNetworkInterfaces(); + emit readyForRun(); + } +} - //dhcpcdArguments.append("-d"); - _numberOfProcesses = list.size(); - runDHCPCD(list); +void NetworkDiscovery::slotReadyForRun() { + if (_ifUpList.size() > 0) { + foreach(QString i, _ifUpList) { + emit addInterface(i); + } + _numberOfProcesses = _ifUpList.size(); + runDHCPCD( _ifUpList); } else { qDebug() << "list is empty. Have not found usable interface."; - emit abortBoot("Haven not found usable interface"); + emit + abortBoot("Have not found usable interface"); return; } +} + +void NetworkDiscovery::checkForIsRunning() { + bool isRunning = false; + QList copyOfIfDownList(_ifDownList); + foreach(QString i, _ifDownList) { + QNetworkInterface networkInterface = QNetworkInterface::interfaceFromName(i); + isRunning = (networkInterface.flags() & QNetworkInterface::IsRunning); + if (isRunning) { + _ifUpList.append(i); + _ifDownList.removeAt(_ifDownList.indexOf(i)); + } + } + _ifUpCountdown--; + if ((_ifUpCountdown <= 0 ) || _ifDownList.isEmpty()) { + // shut down timer + _timer->stop(); + emit readyForRun(); + } + /* + for (int ii = 0; ii < copyOfIfDownList.size(); ii++) { + QNetworkInterface networkInterface = + QNetworkInterface::interfaceFromName(_ifDownList.value(ii)); + isRunning = (networkInterface.flags() & QNetworkInterface::IsRunning); + if (isRunning) { + _ifUpList.append(_ifDownList.value(ii)); + _ifDownList.removeAt(ii); + } + } + */ } +// autoup mit qtimer + +/* + if(!(nI.flags() & QNetworkInterface::IsRunning)) { + continue; + } + +// if(!checkForIsRunning(nI)) { +// qDebug() << "--- still down"; +// continue; +// } + /* + if (!checkCarrierState(nI.humanReadableName())) { + continue; + } + */ + + + + int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); } @@ -138,7 +209,27 @@ QString NetworkDiscovery::getGatewayForInterface(QString ifName) { return ifConf->getGateway(); } -QList NetworkDiscovery::getListOfNetworkInterfaces() { +QString NetworkDiscovery::readLogFile() { + // path to log file is in _pathToLogFile. initialized in initAndRun(). + QString retval("the log file"); + QFile logFile(_pathToLogFile); + if (logFile.exists()) { + if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)); + return retval; + } + while (!logFile.atEnd()) { + retval.append(logFile.readLine()); + } + return retval; +} + +/** + * ================================================================================ + ********************************* Private Methods ******************************** + * ================================================================================ + **/ + +QList NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { QList nIList = QNetworkInterface::allInterfaces(); QList result; @@ -151,19 +242,17 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { || checkBlackList(nI.humanReadableName())) { continue; } - if(!(nI.flags() & QNetworkInterface::IsUp)) { - _networkManager.bringInterfaceUP(nI.humanReadableName()); - } - /* - * if(!checkForIsRunning(nI)) { - continue; + if ((nI.flags() & QNetworkInterface::IsRunning)) { + _ifUpList.append(nI.humanReadableName()); + _ifMap.insert(nI.humanReadableName(), true); } - */ - if (!checkCarrierState(nI.humanReadableName())) { - continue; + else if (!(nI.flags() & QNetworkInterface::IsUp)) { + _networkManager.bringInterfaceUP(nI.humanReadableName()); + qDebug() << "--- bring up .."; + _ifDownList.append(nI.humanReadableName()); + _ifMap.insert(nI.humanReadableName(), false); } result.append(nI.humanReadableName()); - emit addInterface(nI.humanReadableName()); } } else { qDebug() << "no interfaces found!"; @@ -171,18 +260,32 @@ QList NetworkDiscovery::getListOfNetworkInterfaces() { return result; } -bool NetworkDiscovery::checkForIsRunning(QNetworkInterface networkInterface) { - bool retval = false; - for (int i = 0; i < 4; i++) { - retval = (networkInterface.flags() & QNetworkInterface::IsRunning); - if(retval) { - return retval; - } - sleep(1); +QList NetworkDiscovery::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + QList result; + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || !(nI.flags() & QNetworkInterface::IsUp) + || !(nI.flags() & QNetworkInterface::IsRunning) + || checkBlackList(nI.humanReadableName())) { + continue; + } + _ifUpList.append(nI.humanReadableName()); + _ifMap.insert(nI.humanReadableName(), true); + result.append(nI.humanReadableName()); + } + } else { + qDebug() << "no interfaces found!"; } - return retval; + return result; } + QList NetworkDiscovery::checkCarrierState(QList &interfaces) { QList result; foreach(QString nI, interfaces) @@ -264,7 +367,7 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { int metric = 0; // get gateway address - QString pathToGatewayFile(DEFAULT_GATEWAY_INFO_LOCATION); + QString pathToGatewayFile(DEFAULT_INTERFACE_CONF_LOCATION); pathToGatewayFile += ifName; interfaceconfiguration *ifConf = new interfaceconfiguration(); ifConf->readConfigOutOfFile(pathToGatewayFile); diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h index 4a9bc3c..8b9359c 100644 --- a/LogReceiver/networkdiscovery.h +++ b/LogReceiver/networkdiscovery.h @@ -1,10 +1,8 @@ #ifndef NetworkDiscovery_H #define NetworkDiscovery_H -//#include #include #include -//#include #include #include @@ -14,28 +12,19 @@ #include #include - - #include "interfaceconfiguration.h" #include "networkmanager.h" +#include "sleeper.h" + +#include "../common/fbgui.h" + #include "status.h" #include "dhcp.h" #include "interface.h" -//#include -//#include -//#include -//#include -//#include -#include -//#include -#include -#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/customdhcpcd" -#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" -#define ACK_SIZE 4 +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" class NetworkDiscovery: public QObject { Q_OBJECT @@ -45,6 +34,8 @@ public: ~NetworkDiscovery(); void initAndRun(QString serverIp, bool userChoice, + bool autoUp, + QString pathToLogFile, QString serverPath = DEFAULT_QTSOCKETADDRESS, QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList* args = NULL); @@ -53,6 +44,7 @@ public: QString getGatewayForInterface(QString ifName); int ip4_setManualConfiguration(QVariantMap result); + QString readLogFile(); private slots: void handleNewConnection(); @@ -62,6 +54,11 @@ private slots: void handleProcessStarted(); void handleClientDisconnect(); + void slotReadyForRun(); + + void checkForIsRunning(); + + signals: void addInterface(const QString &ifName); void changeProgressBarValue(const QString & ifName, const int $newValue); @@ -72,6 +69,8 @@ signals: void continueBoot(QString ifName, int userChoice); void setManualConfInterfaces(QString jsonArr); + void readyForRun(); + private: QLocalServer *_server; QMap _clients; @@ -84,7 +83,14 @@ private: NetworkManager _networkManager; bool _userChoice; bool _blocked; + bool _autoUp; QString _serverIp; + QString _pathToLogFile; + QList _ifUpList; + QList _ifDownList; + QMap _ifMap; + int _ifUpCountdown; + QTimer* _timer; QMap _ifcMap; @@ -94,12 +100,14 @@ private: void runDHCPCD(QString interface); QListcheckCarrierState(QList &interfaces); bool checkCarrierState(QString interface); - bool checkForIsRunning(QNetworkInterface networkInterface); bool checkConnectivity(QString ifName); bool checkConnectivityViaTcp(QString server); QList getListOfNetworkInterfaces(); bool checkBlackList(QString i); + QList getListOfNetworkInterfacesWithAutoUp(); + + }; #endif // NetworkDiscovery_H diff --git a/common/fbgui.h b/common/fbgui.h index 7a0faf5..a785b42 100644 --- a/common/fbgui.h +++ b/common/fbgui.h @@ -1,6 +1,8 @@ #ifndef FBGUI_H #define FBGUI_H +#define DEFAULT_INTERFACE_CONF_LOCATION "/var/tmp/conf_" +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" #define DHCP_MESSAGE_SIZE 2048 #define ACK_SIZE 4 diff --git a/customdhcpcd/src/dhcpcd.h b/customdhcpcd/src/dhcpcd.h index 3f4c085..c8df616 100644 --- a/customdhcpcd/src/dhcpcd.h +++ b/customdhcpcd/src/dhcpcd.h @@ -37,13 +37,15 @@ #include "common.h" +#include "../../common/fbgui.h" + #define DEFAULT_TIMEOUT 20 #define DEFAULT_LEASETIME 3600 /* 1 hour */ /* added by Niklas Goby, additional field, storing the socket address path for * communicating with Qt "server" */ -#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_GATEWAY_INFO_LOCATION "/var/tmp/gateways_" + + #define QTSOCKETADDRESSLENGTH 255 #define CLASS_ID_MAX_LEN 48 diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index d41bbfb..1e34947 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -197,7 +197,7 @@ void logGatewayToFile(const interface_t *iface, const dhcp_t *dhcp) { route_t *route; char path[QTSOCKETADDRESSLENGTH]; - strcpy(path, DEFAULT_GATEWAY_INFO_LOCATION); + strcpy(path, DEFAULT_INTERFACE_CONF_LOCATION); strcat(path, iface->name); syslog(LOG_INFO, "[fbgui] try to open file: %s", path); -- cgit v1.2.3-55-g7522 From 4595eb426c6e22eba62642f4f64b451c43964fc0 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 14:07:39 +0200 Subject: renaming of the projekt form LogReceiver into NetworkDiscovery --- LogReceiver/.gitignore | 2 - .../org.eclipse.ltk.core.refactoring.prefs | 3 - LogReceiver/CMakeLists.txt | 60 -- LogReceiver/LogReceiver.pro | 22 - LogReceiver/html/background.png | Bin 364392 -> 0 bytes LogReceiver/html/continueBoot.html | 24 - .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 260 -> 0 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 251 -> 0 bytes .../css/images/ui-bg_flat_10_000000_40x100.png | Bin 178 -> 0 bytes .../css/images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 104 -> 0 bytes .../css/images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 125 -> 0 bytes .../css/images/ui-bg_glass_65_ffffff_1x400.png | Bin 105 -> 0 bytes .../images/ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 3762 -> 0 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 90 -> 0 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 129 -> 0 bytes .../html/css/images/ui-icons_222222_256x240.png | Bin 4369 -> 0 bytes .../html/css/images/ui-icons_228ef1_256x240.png | Bin 4369 -> 0 bytes .../html/css/images/ui-icons_ef8c08_256x240.png | Bin 4369 -> 0 bytes .../html/css/images/ui-icons_ffd27a_256x240.png | Bin 4369 -> 0 bytes .../html/css/images/ui-icons_ffffff_256x240.png | Bin 4369 -> 0 bytes LogReceiver/html/css/jquery-ui-1.8.16.css | 568 --------------- LogReceiver/html/js/jquery-1.6.4.min.js | 4 - LogReceiver/html/js/jquery-ui-1.8.16.min.js | 791 --------------------- LogReceiver/html/js/nd-functions.js | 73 -- LogReceiver/html/js/test.js | 3 - LogReceiver/html/loadsystem.css | 90 --- LogReceiver/html/loadsystem.html | 35 - LogReceiver/html/networkdiscovery.css | 80 --- LogReceiver/html/networkdiscovery.html | 276 ------- LogReceiver/html/networkdiscovery_userchoice.html | 22 - LogReceiver/html/old.png | Bin 316905 -> 0 bytes LogReceiver/html/preload-debug.html | 34 - LogReceiver/html/preload.css | 105 --- LogReceiver/html/preload.html | 42 -- LogReceiver/interfaceconfiguration.cpp | 133 ---- LogReceiver/interfaceconfiguration.h | 56 -- LogReceiver/main.cpp | 12 - LogReceiver/nd.qrc | 27 - LogReceiver/ndgui.cpp | 219 ------ LogReceiver/ndgui.h | 71 -- LogReceiver/ndgui.ui | 19 - LogReceiver/networkdiscovery.cpp | 706 ------------------ LogReceiver/networkdiscovery.h | 113 --- LogReceiver/networkmanager.cpp | 510 ------------- LogReceiver/networkmanager.h | 56 -- common/fbgui.h | 6 + customdhcpcd/src/client.c | 1 - customdhcpcd/src/configure.c | 1 - customdhcpcd/src/customdhcpcd | Bin 179744 -> 0 bytes customdhcpcd/src/dhcpcd.c | 1 - customdhcpcd/src/logwriter.c | 1 - customdhcpcd/src/status.h | 19 - 52 files changed, 6 insertions(+), 4179 deletions(-) delete mode 100644 LogReceiver/.gitignore delete mode 100644 LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs delete mode 100644 LogReceiver/CMakeLists.txt delete mode 100644 LogReceiver/LogReceiver.pro delete mode 100644 LogReceiver/html/background.png delete mode 100644 LogReceiver/html/continueBoot.html delete mode 100644 LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png delete mode 100644 LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png delete mode 100644 LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png delete mode 100644 LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png delete mode 100644 LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png delete mode 100644 LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png delete mode 100644 LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png delete mode 100644 LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png delete mode 100644 LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png delete mode 100644 LogReceiver/html/css/images/ui-icons_222222_256x240.png delete mode 100644 LogReceiver/html/css/images/ui-icons_228ef1_256x240.png delete mode 100644 LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png delete mode 100644 LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png delete mode 100644 LogReceiver/html/css/images/ui-icons_ffffff_256x240.png delete mode 100644 LogReceiver/html/css/jquery-ui-1.8.16.css delete mode 100644 LogReceiver/html/js/jquery-1.6.4.min.js delete mode 100644 LogReceiver/html/js/jquery-ui-1.8.16.min.js delete mode 100644 LogReceiver/html/js/nd-functions.js delete mode 100644 LogReceiver/html/js/test.js delete mode 100644 LogReceiver/html/loadsystem.css delete mode 100644 LogReceiver/html/loadsystem.html delete mode 100644 LogReceiver/html/networkdiscovery.css delete mode 100644 LogReceiver/html/networkdiscovery.html delete mode 100644 LogReceiver/html/networkdiscovery_userchoice.html delete mode 100644 LogReceiver/html/old.png delete mode 100644 LogReceiver/html/preload-debug.html delete mode 100644 LogReceiver/html/preload.css delete mode 100644 LogReceiver/html/preload.html delete mode 100644 LogReceiver/interfaceconfiguration.cpp delete mode 100644 LogReceiver/interfaceconfiguration.h delete mode 100644 LogReceiver/main.cpp delete mode 100644 LogReceiver/nd.qrc delete mode 100644 LogReceiver/ndgui.cpp delete mode 100644 LogReceiver/ndgui.h delete mode 100644 LogReceiver/ndgui.ui delete mode 100644 LogReceiver/networkdiscovery.cpp delete mode 100644 LogReceiver/networkdiscovery.h delete mode 100644 LogReceiver/networkmanager.cpp delete mode 100644 LogReceiver/networkmanager.h delete mode 100755 customdhcpcd/src/customdhcpcd delete mode 100644 customdhcpcd/src/status.h diff --git a/LogReceiver/.gitignore b/LogReceiver/.gitignore deleted file mode 100644 index dd5959f..0000000 --- a/LogReceiver/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -build -Makefile diff --git a/LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs b/LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs deleted file mode 100644 index e58f4e1..0000000 --- a/LogReceiver/.settings/org.eclipse.ltk.core.refactoring.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Mon Sep 05 16:49:17 CEST 2011 -eclipse.preferences.version=1 -org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/LogReceiver/CMakeLists.txt b/LogReceiver/CMakeLists.txt deleted file mode 100644 index c108a6f..0000000 --- a/LogReceiver/CMakeLists.txt +++ /dev/null @@ -1,60 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -project(LogReceiver) - -set(QT_MIN_VERSION "4.7.0") -find_package(Qt4 REQUIRED) -if (QT4_FOUND) - message(STATUS "QT4 found.") -else(QT4_FOUND) - message(FATAL_ERROR "QT4 not found!") -endif(QT4_FOUND) - -#find_package(Qxt REQUIRED) - -set(QT_USE_QTCORE TRUE) -set(QT_USE_QTGUI TRUE) -set(QT_USE_QTNETWORK TRUE) -set(QT_USE_QTWEBKIT TRUE) - -file(GLOB LOGRECEIVER_SOURCES ./*.cpp) -file(GLOB LOGRECEIVER_MOC_HEADERS ./*.h) -file(GLOB LOGRECEIVER_UIS ./*.ui) -file(GLOB LOGRECEIVER_RCS ./*.qrc) - -include_directories(${CMAKE_CURRENT_BINARY_DIR} - /usr/include/ - /usr/include/netlink/ - /usr/include/netlink/route/ - ./../customdhcpcd/src/ - ./build - ${QT_INCLUDES} - ) - -include(${QT_USE_FILE}) -add_definitions(${QT_DEFINITIONS}) - -link_directories(/usr/lib - /home/niklas/fbgui/customdhcpcd/src/build) - -#add_library( -# /usr/local/Qxt/lib/libQxtCore.so -# /usr/lib/libqjson.so -# /usr/lib/libusb-1.0.a -# ) - -QT4_ADD_RESOURCES(LOGRECEIVER_RC_SOURCES ${LOGRECEIVER_RCS}) -QT4_WRAP_CPP(LOGRECEIVER_MOC_SOURCES ${LOGRECEIVER_MOC_HEADERS}) -QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) - - -add_executable(LogReceiver - ${QT_INCLUDES} - ${LOGRECEIVER_SOURCES} - ${LOGRECEIVER_MOC_SOURCES} - ${LOGRECEIVER_UI_HEADERS} - ${LOGRECEIVER_RC_SOURCES}) - -target_link_libraries(LogReceiver - ${QT_LIBRARIES} - sysfs customdhcpcd nl) diff --git a/LogReceiver/LogReceiver.pro b/LogReceiver/LogReceiver.pro deleted file mode 100644 index 8313526..0000000 --- a/LogReceiver/LogReceiver.pro +++ /dev/null @@ -1,22 +0,0 @@ -TEMPLATE = app -TARGET = LogReceiver -QT += core \ - gui \ - network -LIBS += -lsysfs \ - -L/home/niklas/fbgui/customdhcpcd/src/build \ - -llibcustomdhcpcd -INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src -HEADERS += sleeper.h \ - networkmanager.h \ - networkdiscovery.h \ - interfaceconfiguration.h \ - ndgui.h -SOURCES += sleeper.cpp \ - networkmanager.cpp \ - networkdiscovery.cpp \ - interfaceconfiguration.cpp \ - ndgui.cpp \ - main.cpp -FORMS += ndgui.ui -RESOURCES += nd.qrc diff --git a/LogReceiver/html/background.png b/LogReceiver/html/background.png deleted file mode 100644 index 7e374f9..0000000 Binary files a/LogReceiver/html/background.png and /dev/null differ diff --git a/LogReceiver/html/continueBoot.html b/LogReceiver/html/continueBoot.html deleted file mode 100644 index 89020b7..0000000 --- a/LogReceiver/html/continueBoot.html +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - -
    -
    -
    -

    Continue Boot

    -
    -
    - -
    - - - diff --git a/LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png deleted file mode 100644 index 954e22d..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png deleted file mode 100644 index 64ece57..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png b/LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png deleted file mode 100644 index abdc010..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_flat_10_000000_40x100.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png b/LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png deleted file mode 100644 index 9b383f4..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png b/LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png deleted file mode 100644 index a23baad..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png b/LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png deleted file mode 100644 index 42ccba2..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_glass_65_ffffff_1x400.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png deleted file mode 100644 index 39d5824..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png deleted file mode 100644 index f127367..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png deleted file mode 100644 index 359397a..0000000 Binary files a/LogReceiver/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-icons_222222_256x240.png b/LogReceiver/html/css/images/ui-icons_222222_256x240.png deleted file mode 100644 index b273ff1..0000000 Binary files a/LogReceiver/html/css/images/ui-icons_222222_256x240.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-icons_228ef1_256x240.png b/LogReceiver/html/css/images/ui-icons_228ef1_256x240.png deleted file mode 100644 index a641a37..0000000 Binary files a/LogReceiver/html/css/images/ui-icons_228ef1_256x240.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png b/LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png deleted file mode 100644 index 85e63e9..0000000 Binary files a/LogReceiver/html/css/images/ui-icons_ef8c08_256x240.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png b/LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png deleted file mode 100644 index e117eff..0000000 Binary files a/LogReceiver/html/css/images/ui-icons_ffd27a_256x240.png and /dev/null differ diff --git a/LogReceiver/html/css/images/ui-icons_ffffff_256x240.png b/LogReceiver/html/css/images/ui-icons_ffffff_256x240.png deleted file mode 100644 index 42f8f99..0000000 Binary files a/LogReceiver/html/css/images/ui-icons_ffffff_256x240.png and /dev/null differ diff --git a/LogReceiver/html/css/jquery-ui-1.8.16.css b/LogReceiver/html/css/jquery-ui-1.8.16.css deleted file mode 100644 index 5547c7b..0000000 --- a/LogReceiver/html/css/jquery-ui-1.8.16.css +++ /dev/null @@ -1,568 +0,0 @@ -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - */ - -/* Layout helpers -----------------------------------*/ -.ui-helper-hidden { display: none; } -.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } -.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } -.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } -.ui-helper-clearfix { display: inline-block; } -/* required comment for clearfix to work in Opera \*/ -* html .ui-helper-clearfix { height:1%; } -.ui-helper-clearfix { display:block; } -/* end clearfix */ -.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } - - -/* Interaction Cues -----------------------------------*/ -.ui-state-disabled { cursor: default !important; } - - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } - - -/* Misc visuals -----------------------------------*/ - -/* Overlays */ -.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } - - -/* - * jQuery UI CSS Framework 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Theming/API - * - * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px - */ - - -/* Component containers -----------------------------------*/ -.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } -.ui-widget .ui-widget { font-size: 1em; } -.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } -.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } -.ui-widget-content a { color: #333333; } -.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } -.ui-widget-header a { color: #ffffff; } - -/* Interaction states -----------------------------------*/ -.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } -.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } -.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } -.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } -.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } -.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } -.ui-widget :active { outline: none; } - -/* Interaction Cues -----------------------------------*/ -.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } -.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } -.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } -.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } -.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } -.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } -.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } - -/* Icons -----------------------------------*/ - -/* states and images */ -.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } -.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } -.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } -.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } -.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } - -/* positioning */ -.ui-icon-carat-1-n { background-position: 0 0; } -.ui-icon-carat-1-ne { background-position: -16px 0; } -.ui-icon-carat-1-e { background-position: -32px 0; } -.ui-icon-carat-1-se { background-position: -48px 0; } -.ui-icon-carat-1-s { background-position: -64px 0; } -.ui-icon-carat-1-sw { background-position: -80px 0; } -.ui-icon-carat-1-w { background-position: -96px 0; } -.ui-icon-carat-1-nw { background-position: -112px 0; } -.ui-icon-carat-2-n-s { background-position: -128px 0; } -.ui-icon-carat-2-e-w { background-position: -144px 0; } -.ui-icon-triangle-1-n { background-position: 0 -16px; } -.ui-icon-triangle-1-ne { background-position: -16px -16px; } -.ui-icon-triangle-1-e { background-position: -32px -16px; } -.ui-icon-triangle-1-se { background-position: -48px -16px; } -.ui-icon-triangle-1-s { background-position: -64px -16px; } -.ui-icon-triangle-1-sw { background-position: -80px -16px; } -.ui-icon-triangle-1-w { background-position: -96px -16px; } -.ui-icon-triangle-1-nw { background-position: -112px -16px; } -.ui-icon-triangle-2-n-s { background-position: -128px -16px; } -.ui-icon-triangle-2-e-w { background-position: -144px -16px; } -.ui-icon-arrow-1-n { background-position: 0 -32px; } -.ui-icon-arrow-1-ne { background-position: -16px -32px; } -.ui-icon-arrow-1-e { background-position: -32px -32px; } -.ui-icon-arrow-1-se { background-position: -48px -32px; } -.ui-icon-arrow-1-s { background-position: -64px -32px; } -.ui-icon-arrow-1-sw { background-position: -80px -32px; } -.ui-icon-arrow-1-w { background-position: -96px -32px; } -.ui-icon-arrow-1-nw { background-position: -112px -32px; } -.ui-icon-arrow-2-n-s { background-position: -128px -32px; } -.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } -.ui-icon-arrow-2-e-w { background-position: -160px -32px; } -.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } -.ui-icon-arrowstop-1-n { background-position: -192px -32px; } -.ui-icon-arrowstop-1-e { background-position: -208px -32px; } -.ui-icon-arrowstop-1-s { background-position: -224px -32px; } -.ui-icon-arrowstop-1-w { background-position: -240px -32px; } -.ui-icon-arrowthick-1-n { background-position: 0 -48px; } -.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } -.ui-icon-arrowthick-1-e { background-position: -32px -48px; } -.ui-icon-arrowthick-1-se { background-position: -48px -48px; } -.ui-icon-arrowthick-1-s { background-position: -64px -48px; } -.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } -.ui-icon-arrowthick-1-w { background-position: -96px -48px; } -.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } -.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } -.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } -.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } -.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } -.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } -.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } -.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } -.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } -.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } -.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } -.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } -.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } -.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } -.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } -.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } -.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } -.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } -.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } -.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } -.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } -.ui-icon-arrow-4 { background-position: 0 -80px; } -.ui-icon-arrow-4-diag { background-position: -16px -80px; } -.ui-icon-extlink { background-position: -32px -80px; } -.ui-icon-newwin { background-position: -48px -80px; } -.ui-icon-refresh { background-position: -64px -80px; } -.ui-icon-shuffle { background-position: -80px -80px; } -.ui-icon-transfer-e-w { background-position: -96px -80px; } -.ui-icon-transferthick-e-w { background-position: -112px -80px; } -.ui-icon-folder-collapsed { background-position: 0 -96px; } -.ui-icon-folder-open { background-position: -16px -96px; } -.ui-icon-document { background-position: -32px -96px; } -.ui-icon-document-b { background-position: -48px -96px; } -.ui-icon-note { background-position: -64px -96px; } -.ui-icon-mail-closed { background-position: -80px -96px; } -.ui-icon-mail-open { background-position: -96px -96px; } -.ui-icon-suitcase { background-position: -112px -96px; } -.ui-icon-comment { background-position: -128px -96px; } -.ui-icon-person { background-position: -144px -96px; } -.ui-icon-print { background-position: -160px -96px; } -.ui-icon-trash { background-position: -176px -96px; } -.ui-icon-locked { background-position: -192px -96px; } -.ui-icon-unlocked { background-position: -208px -96px; } -.ui-icon-bookmark { background-position: -224px -96px; } -.ui-icon-tag { background-position: -240px -96px; } -.ui-icon-home { background-position: 0 -112px; } -.ui-icon-flag { background-position: -16px -112px; } -.ui-icon-calendar { background-position: -32px -112px; } -.ui-icon-cart { background-position: -48px -112px; } -.ui-icon-pencil { background-position: -64px -112px; } -.ui-icon-clock { background-position: -80px -112px; } -.ui-icon-disk { background-position: -96px -112px; } -.ui-icon-calculator { background-position: -112px -112px; } -.ui-icon-zoomin { background-position: -128px -112px; } -.ui-icon-zoomout { background-position: -144px -112px; } -.ui-icon-search { background-position: -160px -112px; } -.ui-icon-wrench { background-position: -176px -112px; } -.ui-icon-gear { background-position: -192px -112px; } -.ui-icon-heart { background-position: -208px -112px; } -.ui-icon-star { background-position: -224px -112px; } -.ui-icon-link { background-position: -240px -112px; } -.ui-icon-cancel { background-position: 0 -128px; } -.ui-icon-plus { background-position: -16px -128px; } -.ui-icon-plusthick { background-position: -32px -128px; } -.ui-icon-minus { background-position: -48px -128px; } -.ui-icon-minusthick { background-position: -64px -128px; } -.ui-icon-close { background-position: -80px -128px; } -.ui-icon-closethick { background-position: -96px -128px; } -.ui-icon-key { background-position: -112px -128px; } -.ui-icon-lightbulb { background-position: -128px -128px; } -.ui-icon-scissors { background-position: -144px -128px; } -.ui-icon-clipboard { background-position: -160px -128px; } -.ui-icon-copy { background-position: -176px -128px; } -.ui-icon-contact { background-position: -192px -128px; } -.ui-icon-image { background-position: -208px -128px; } -.ui-icon-video { background-position: -224px -128px; } -.ui-icon-script { background-position: -240px -128px; } -.ui-icon-alert { background-position: 0 -144px; } -.ui-icon-info { background-position: -16px -144px; } -.ui-icon-notice { background-position: -32px -144px; } -.ui-icon-help { background-position: -48px -144px; } -.ui-icon-check { background-position: -64px -144px; } -.ui-icon-bullet { background-position: -80px -144px; } -.ui-icon-radio-off { background-position: -96px -144px; } -.ui-icon-radio-on { background-position: -112px -144px; } -.ui-icon-pin-w { background-position: -128px -144px; } -.ui-icon-pin-s { background-position: -144px -144px; } -.ui-icon-play { background-position: 0 -160px; } -.ui-icon-pause { background-position: -16px -160px; } -.ui-icon-seek-next { background-position: -32px -160px; } -.ui-icon-seek-prev { background-position: -48px -160px; } -.ui-icon-seek-end { background-position: -64px -160px; } -.ui-icon-seek-start { background-position: -80px -160px; } -/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ -.ui-icon-seek-first { background-position: -80px -160px; } -.ui-icon-stop { background-position: -96px -160px; } -.ui-icon-eject { background-position: -112px -160px; } -.ui-icon-volume-off { background-position: -128px -160px; } -.ui-icon-volume-on { background-position: -144px -160px; } -.ui-icon-power { background-position: 0 -176px; } -.ui-icon-signal-diag { background-position: -16px -176px; } -.ui-icon-signal { background-position: -32px -176px; } -.ui-icon-battery-0 { background-position: -48px -176px; } -.ui-icon-battery-1 { background-position: -64px -176px; } -.ui-icon-battery-2 { background-position: -80px -176px; } -.ui-icon-battery-3 { background-position: -96px -176px; } -.ui-icon-circle-plus { background-position: 0 -192px; } -.ui-icon-circle-minus { background-position: -16px -192px; } -.ui-icon-circle-close { background-position: -32px -192px; } -.ui-icon-circle-triangle-e { background-position: -48px -192px; } -.ui-icon-circle-triangle-s { background-position: -64px -192px; } -.ui-icon-circle-triangle-w { background-position: -80px -192px; } -.ui-icon-circle-triangle-n { background-position: -96px -192px; } -.ui-icon-circle-arrow-e { background-position: -112px -192px; } -.ui-icon-circle-arrow-s { background-position: -128px -192px; } -.ui-icon-circle-arrow-w { background-position: -144px -192px; } -.ui-icon-circle-arrow-n { background-position: -160px -192px; } -.ui-icon-circle-zoomin { background-position: -176px -192px; } -.ui-icon-circle-zoomout { background-position: -192px -192px; } -.ui-icon-circle-check { background-position: -208px -192px; } -.ui-icon-circlesmall-plus { background-position: 0 -208px; } -.ui-icon-circlesmall-minus { background-position: -16px -208px; } -.ui-icon-circlesmall-close { background-position: -32px -208px; } -.ui-icon-squaresmall-plus { background-position: -48px -208px; } -.ui-icon-squaresmall-minus { background-position: -64px -208px; } -.ui-icon-squaresmall-close { background-position: -80px -208px; } -.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } -.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } -.ui-icon-grip-solid-vertical { background-position: -32px -224px; } -.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } -.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } -.ui-icon-grip-diagonal-se { background-position: -80px -224px; } - - -/* Misc visuals -----------------------------------*/ - -/* Corner radius */ -.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } -.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } -.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } - -/* Overlays */ -.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } -.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* - * jQuery UI Resizable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Resizable#theming - */ -.ui-resizable { position: relative;} -.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } -.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } -.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } -.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } -.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } -.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } -.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } -.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } -.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } -.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectable#theming - */ -.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } -/* - * jQuery UI Accordion 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Accordion#theming - */ -/* IE/Win - Fix animation bug - #4615 */ -.ui-accordion { width: 100%; } -.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } -.ui-accordion .ui-accordion-li-fix { display: inline; } -.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } -.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } -.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } -.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } -.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } -.ui-accordion .ui-accordion-content-active { display: block; } -/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete#theming - */ -.ui-autocomplete { position: absolute; cursor: default; } - -/* workarounds */ -* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ - -/* - * jQuery UI Menu 1.8.16 - * - * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Menu#theming - */ -.ui-menu { - list-style:none; - padding: 2px; - margin: 0; - display:block; - float: left; -} -.ui-menu .ui-menu { - margin-top: -3px; -} -.ui-menu .ui-menu-item { - margin:0; - padding: 0; - zoom: 1; - float: left; - clear: left; - width: 100%; -} -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; -} -.ui-menu .ui-menu-item a.ui-state-hover, -.ui-menu .ui-menu-item a.ui-state-active { - font-weight: normal; - margin: -1px; -} -/* - * jQuery UI Button 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Button#theming - */ -.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ -.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ -button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ -.ui-button-icons-only { width: 3.4em; } -button.ui-button-icons-only { width: 3.7em; } - -/*button text element */ -.ui-button .ui-button-text { display: block; line-height: 1.4; } -.ui-button-text-only .ui-button-text { padding: .4em 1em; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } -.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } -.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } -.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } -/* no icon support for input elements, provide padding by default */ -input.ui-button { padding: .4em 1em; } - -/*button icon element(s) */ -.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } -.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } -.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } -.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } -.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } - -/*button sets*/ -.ui-buttonset { margin-right: 7px; } -.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } - -/* workarounds */ -button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ -/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog#theming - */ -.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } -.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } -.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } -.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } -.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } -.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } -.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } -.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } -.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } -.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } -.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } -.ui-draggable .ui-dialog-titlebar { cursor: move; } -/* - * jQuery UI Slider 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Slider#theming - */ -.ui-slider { position: relative; text-align: left; } -.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } -.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } - -.ui-slider-horizontal { height: .8em; } -.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } -.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } -.ui-slider-horizontal .ui-slider-range-min { left: 0; } -.ui-slider-horizontal .ui-slider-range-max { right: 0; } - -.ui-slider-vertical { width: .8em; height: 100px; } -.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } -.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } -.ui-slider-vertical .ui-slider-range-min { bottom: 0; } -.ui-slider-vertical .ui-slider-range-max { top: 0; }/* - * jQuery UI Tabs 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs#theming - */ -.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ -.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } -.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } -.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } -.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } -.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ -.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } -.ui-tabs .ui-tabs-hide { display: none !important; } -/* - * jQuery UI Datepicker 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Datepicker#theming - */ -.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } -.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } -.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } -.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } -.ui-datepicker .ui-datepicker-prev { left:2px; } -.ui-datepicker .ui-datepicker-next { right:2px; } -.ui-datepicker .ui-datepicker-prev-hover { left:1px; } -.ui-datepicker .ui-datepicker-next-hover { right:1px; } -.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } -.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } -.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } -.ui-datepicker select.ui-datepicker-month-year {width: 100%;} -.ui-datepicker select.ui-datepicker-month, -.ui-datepicker select.ui-datepicker-year { width: 49%;} -.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } -.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } -.ui-datepicker td { border: 0; padding: 1px; } -.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } -.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } -.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } -.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } - -/* with multiple calendars */ -.ui-datepicker.ui-datepicker-multi { width:auto; } -.ui-datepicker-multi .ui-datepicker-group { float:left; } -.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } -.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } -.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } -.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } -.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } -.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } -.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } - -/* RTL support */ -.ui-datepicker-rtl { direction: rtl; } -.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } -.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } -.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } -.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } -.ui-datepicker-rtl .ui-datepicker-group { float:right; } -.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } -.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } - -/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ -.ui-datepicker-cover { - display: none; /*sorry for IE5*/ - display/**/: block; /*sorry for IE5*/ - position: absolute; /*must have*/ - z-index: -1; /*must have*/ - filter: mask(); /*must have*/ - top: -4px; /*must have*/ - left: -4px; /*must have*/ - width: 200px; /*must have*/ - height: 200px; /*must have*/ -}/* - * jQuery UI Progressbar 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar#theming - */ -.ui-progressbar { height:2em; text-align: left; } -.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/LogReceiver/html/js/jquery-1.6.4.min.js b/LogReceiver/html/js/jquery-1.6.4.min.js deleted file mode 100644 index 628ed9b..0000000 --- a/LogReceiver/html/js/jquery-1.6.4.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */ -(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
    a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
    ",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
    t
    ",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

    ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
    ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
    ","
    "],thead:[1,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
    ","
    "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
    ").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
    ";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/LogReceiver/html/js/jquery-ui-1.8.16.min.js b/LogReceiver/html/js/jquery-ui-1.8.16.min.js deleted file mode 100644 index 14c9064..0000000 --- a/LogReceiver/html/js/jquery-ui-1.8.16.min.js +++ /dev/null @@ -1,791 +0,0 @@ -/*! - * jQuery UI 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16", -keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= -this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, -"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": -"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, -outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, -"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& -a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= -false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); -;/* - * jQuery UI Position 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Position - */ -(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, -left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= -k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= -m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= -d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= -a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), -g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); -;/* - * jQuery UI Draggable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Draggables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== -"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= -this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('
    ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options; -this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); -this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, -_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= -false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, -10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| -!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& -a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= -this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), -10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), -10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, -(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= -"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), -10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ -this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& -!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.leftg[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.topg[3])?h:!(h-this.offset.click.topg[2])?e:!(e-this.offset.click.left=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= -i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), -top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= -this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", -nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== -String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); -this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); -var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= -false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); -this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= -{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; -if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, -_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, -{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: -Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(cb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= -null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ -a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ -c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); -b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), -10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- -f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? -e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= -e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, -step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= -e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; -var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: -a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- -d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, -f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, -display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= -e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= -d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); -;/* - * jQuery UI Selectable 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Selectables - * - * Depends: - * jquery.ui.core.js - * jquery.ui.mouse.js - * jquery.ui.widget.js - */ -(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), -selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
    ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, -c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", -c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= -this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); -this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== -"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& -!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, -left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; -this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= -document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); -return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], -e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); -c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): -this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, -dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, -toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); -if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), -this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= -this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= -d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| -0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", -a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- -f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- -this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, -this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", -a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); -a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); -if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", -function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= -this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); -this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); -b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); -a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ -c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; -if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); -if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), -e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| -e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", -"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16", -animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); -f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", -paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); -;/* - * jQuery UI Autocomplete 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Autocomplete - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - * jquery.ui.position.js - */ -(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= -false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= -a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; -this.menu=d("
      ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& -a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); -d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& -b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= -this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, -"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); -(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", --1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); -this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, -this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| -this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| -this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("");e.secondary&&a.append("");if(!this.options.text){d.push(f?"ui-button-icons-only": -"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")=== -"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); -b.Widget.prototype.destroy.call(this)}})})(jQuery); -;/* - * jQuery UI Dialog 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Dialog - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - * jquery.ui.button.js - * jquery.ui.draggable.js - * jquery.ui.mouse.js - * jquery.ui.position.js - * jquery.ui.resizable.js - */ -(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, -position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
      ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ -b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
      ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), -h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", -e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); -a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== -b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; -d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== -f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
      ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
      ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, -function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", -handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, -originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", -f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): -[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); -if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): -e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= -this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- -b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), -create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&& -c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j"); -this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", -g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? -(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- -m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); -return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; -this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= -this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= -this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); -c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= -this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- -g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, -b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery); -;/* - * jQuery UI Tabs 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Tabs - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - */ -(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
      ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
    • #{label}
    • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& -e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= -d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| -(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); -this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= -this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); -if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); -this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ -g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", -function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; -this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= --1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; -d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= -d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, -e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); -j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); -if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, -this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, -load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, -"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, -url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k'))}function N(a){return a.bind("mouseout", -function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); -b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, -setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, -"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
      '))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", -function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== -"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): -d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, -b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= -1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ -2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= -d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= -a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, -"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== -a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", -a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= -"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); -c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= -true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); -a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& -!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), -h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= -this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); -this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, -_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): -0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? -"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); -this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); -if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? -b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd", -COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: -null)||this._defaults.monthNames;var i=function(o){(o=k+1 -12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& -a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? -new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); -n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, -g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& -a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
      '+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
      ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
      '+(/all|left/.test(t)&& -x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
      ';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, -z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
      '+this._get(a,"weekHeader")+"
      '+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ -r.getDate()+"":''+r.getDate()+"")+"
      "+(l?""+(i[0]>0&&G==i[1]-1?'
      ':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': -"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
      ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, -e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
      ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ -(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? -a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, -e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, -"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; -if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== -"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); -;/* - * jQuery UI Progressbar 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Progressbar - * - * Depends: - * jquery.ui.core.js - * jquery.ui.widget.js - */ -(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
      ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); -this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* -this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery); -;/* - * jQuery UI Effects 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/ - */ -jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], -16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, -a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= -a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", -"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, -0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, -211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, -d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; -f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, -[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), -d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; -if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); -return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, -arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ -2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, -d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, -a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, -d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ -e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); -;/* - * jQuery UI Effects Fade 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Fade - * - * Depends: - * jquery.effects.core.js - */ -(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); -;/* - * jQuery UI Effects Fold 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Fold - * - * Depends: - * jquery.effects.core.js - */ -(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], -10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); -;/* - * jQuery UI Effects Highlight 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Highlight - * - * Depends: - * jquery.effects.core.js - */ -(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& -this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); -;/* - * jQuery UI Effects Pulsate 1.8.16 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI/Effects/Pulsate - * - * Depends: - * jquery.effects.core.js - */ -(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); -b.dequeue()})})}})(jQuery); -; \ No newline at end of file diff --git a/LogReceiver/html/js/nd-functions.js b/LogReceiver/html/js/nd-functions.js deleted file mode 100644 index e3ee793..0000000 --- a/LogReceiver/html/js/nd-functions.js +++ /dev/null @@ -1,73 +0,0 @@ -var abortBootDialog = function (m) { - $("#nd_abort_boot_msg").html(m); - $("#nd_abort_boot_dialog").dialog( - { buttons: { "Show Log": function() {fbgui.showLog(); - $(this).dialog("close");}, - "Restart": function() {fbgui.restartSystem(); - $(this).dialog("close"); }, - "Shut Down": function() { fbgui.shutDownSystem(); - $(this).dialog("close"); } - } , - minWidth: 450, - modal: true, - resizable: false, - draggable: false, - open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} - }); -}; - -var chooseInterfaceDialog = function (i) { - var cb = ""+ - ""; - $("#nd_choose_interface_msg").html(cb); - $("#nd_choose_interface_dialog").dialog( - { buttons: { "Show Log": function() {fbgui.showLog(); - $(this).dialog("close");}, - "Restart": function() {fbgui.restartSystem(); - $(this).dialog("close"); }, - "Shut Down": function() { fbgui.shutDownSystem(); - $(this).dialog("close"); }, - "Continue": function() { fbgui.continueBoot(); - $(this).dialog("close"); } - } , - minWidth: 550, - modal: true, - resizable: false, - draggable: false, - open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} - }); -} - -var updateStatus = function (s){ - -}; - -var updateIfProgressBar = function (i, p){ - if (p >= 0 && p <= 100){ - $("#"+i+"_progress").progressbar({ value: p }); - }else{ - $("#"+i+"_progress").progressbar({ value: 0 }); - } -}; - -var updateIfStatus = function(i, s){ - $("#"+i+"_status").html(s); -}; - -var addInterface = function (i){ - $("#nd_progress_container").append( - "
      "+ - " Interface: " +i+ - " Start DHCP " + - "
      "+ - "
      " - ); - $("#"+i+"_progress").progressbar({ value: 33 }); -}; - - diff --git a/LogReceiver/html/js/test.js b/LogReceiver/html/js/test.js deleted file mode 100644 index be4ec41..0000000 --- a/LogReceiver/html/js/test.js +++ /dev/null @@ -1,3 +0,0 @@ -function qrcAlert(){ - alert('Hello qrc'); -} diff --git a/LogReceiver/html/loadsystem.css b/LogReceiver/html/loadsystem.css deleted file mode 100644 index 6a6e64f..0000000 --- a/LogReceiver/html/loadsystem.css +++ /dev/null @@ -1,90 +0,0 @@ -html,body{ - height:100%; -} -body{ - margin:0; - padding:0; - background-color:black; - /* - background-image:url('background.png'); - background-repeat:no-repeat; - */ - background-size:100%; -} -#message{ - position:relative; - font-size:90%; - top:40%; -} -h1, p{ - text-align:center; - color:white; -} -* html{ - height:100%; -} -/* position the bars and balls correctly (rotate them and translate them outward)*/ -.bar1 { - -moz-transform:rotate(0deg) translate(0, -40px); - -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; -} -.bar2 { - -moz-transform:rotate(45deg) translate(0, -40px); - -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; -} -.bar3 { - -moz-transform:rotate(90deg) translate(0, -40px); - -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; -} -.bar4 { - -moz-transform:rotate(135deg) translate(0, -40px); - -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; -} -.bar5 { - -moz-transform:rotate(180deg) translate(0, -40px); - -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; -} -.bar6 { - -moz-transform:rotate(225deg) translate(0, -40px); - -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; -} -.bar7 { - -moz-transform:rotate(270deg) translate(0, -40px); - -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; -} -.bar8 { - -moz-transform:rotate(315deg) translate(0, -40px); - -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; -} -#div4 { - position:absolute; - left:50%; - top:50%; - margin-left:-50px; - margin-top:-50px; - width:100px; - height:100px; - -moz-border-radius:100px; - -webkit-border-radius:100px; - -moz-transform:scale(0.5); - -webkit-transform:scale(0.5); - -webkit-animation-name: rotateThis; - -webkit-animation-duration:2s; - -webkit-animation-iteration-count:infinite; - -webkit-animation-timing-function:linear; -} -#div4 div { - width:20px; - height:20px; - background:#fff; - -moz-border-radius:40px; - -webkit-border-radius:40px; - position:absolute; - left:40px; - top:40px; -} -/* add a shadow to the first */ -#div4 div { - -moz-box-shadow:black 0 0 4px; - -webkit-box-shadow:black 0 0 4px; -} diff --git a/LogReceiver/html/loadsystem.html b/LogReceiver/html/loadsystem.html deleted file mode 100644 index 838423e..0000000 --- a/LogReceiver/html/loadsystem.html +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - -
      -

      Loading system, please wait...

      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      - - diff --git a/LogReceiver/html/networkdiscovery.css b/LogReceiver/html/networkdiscovery.css deleted file mode 100644 index 669ad58..0000000 --- a/LogReceiver/html/networkdiscovery.css +++ /dev/null @@ -1,80 +0,0 @@ -html,body{ - height:100%; -} - -label, input { - display:block -} - -input.text { - margin-bottom:12px; - width:95%; - padding: .4em; -} - -fieldset { - padding:0; - border:0; - margin-top:25px; -} - -.validateTips { - border:1px solid transparent; - padding: 0.3; -} - -body{ - margin:0; - padding:0; - /*background-color:blue; - /* - background-image:url('background.png'); - background-repeat:no-repeat; - */ - background-size:100%; -} - -/* Tell the browser to render HTML 5 elements as block */ -header, footer, aside { - display: block; -} - -#intro { - margin: 20px; -} - -#content { - display: table; - width: 100%; -} - -#mainContent { - display: table-cell; - width: 620px; - padding-right: 22px; - padding-left: 22px; -} - -aside { - display: table-cell; - width: 300px; -} - -#nd_manual_configuration_dialog, #nd_show_log_dialog { - display:none; -} - -textarea { - width: 400px; - resize: none; -} - -h1 { - margin-top: 20px; -} - -h1, p{ - color:#333; - text-align:center; -} - diff --git a/LogReceiver/html/networkdiscovery.html b/LogReceiver/html/networkdiscovery.html deleted file mode 100644 index 6d370d1..0000000 --- a/LogReceiver/html/networkdiscovery.html +++ /dev/null @@ -1,276 +0,0 @@ - - - - - - - - - - - - - -
      -

      Network Discovery

      -
      -
      -

      Welcome to the Network Discovery. We are now looking for usable interfaces and will go on as soon as we found one. This may take a few seconds.

      -
      -
      -
      - -
      -
      -
      - -

      test

      - -
      - -
      - -
      -

      -

      - -
      -

      -
      - -
      -

      -

      All form fields are required.

      - -
      - - - - - - - - - - - - -
      - -
      - -
      -
      -
      -
      - -
      -
      -
      -

      RZ Uni Freiburg, 2011

      -
      - - diff --git a/LogReceiver/html/networkdiscovery_userchoice.html b/LogReceiver/html/networkdiscovery_userchoice.html deleted file mode 100644 index 9cf165f..0000000 --- a/LogReceiver/html/networkdiscovery_userchoice.html +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - -
      -

      Network Discovery

      -
      -
      -

      Please press F5 if you want to choose which interface to use.

      -
      -
      -

      RZ Uni Freiburg, 2011

      -
      - - diff --git a/LogReceiver/html/old.png b/LogReceiver/html/old.png deleted file mode 100644 index 84dd7b3..0000000 Binary files a/LogReceiver/html/old.png and /dev/null differ diff --git a/LogReceiver/html/preload-debug.html b/LogReceiver/html/preload-debug.html deleted file mode 100644 index 29d7391..0000000 --- a/LogReceiver/html/preload-debug.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - -
      -
      -
      -

      Preboot GUI

      -

      Waiting on internet... - - -

      -
      -
      - -
      - - - diff --git a/LogReceiver/html/preload.css b/LogReceiver/html/preload.css deleted file mode 100644 index e1eff68..0000000 --- a/LogReceiver/html/preload.css +++ /dev/null @@ -1,105 +0,0 @@ -html,body{ - height:100%; -} -body{ - margin:0; - padding:0; - background-color:black; - /* - background-image:url('background.png'); - background-repeat:no-repeat; - */ - background-size:100%; -} -#top{ - position:absolute; -} -#message{ - position:absolute; - top:37%; - width:100%; - font-size:90%; -} -h1, p{ - color:white; - text-align:center; -} -#container{ - min-height:100%; - margin-bottom:-50px; -} -* html #container{ - height:100%; -} -#footer-spacer{ - height:0px; -} -#footer{ - height:30px; -} -/* animation */ -/* position the bars and balls correctly (rotate them and translate them outward)*/ -.bar1 { - -moz-transform:rotate(0deg) translate(0, -40px); - -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; -} -.bar2 { - -moz-transform:rotate(45deg) translate(0, -40px); - -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; -} -.bar3 { - -moz-transform:rotate(90deg) translate(0, -40px); - -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; -} -.bar4 { - -moz-transform:rotate(135deg) translate(0, -40px); - -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; -} -.bar5 { - -moz-transform:rotate(180deg) translate(0, -40px); - -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; -} -.bar6 { - -moz-transform:rotate(225deg) translate(0, -40px); - -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; -} -.bar7 { - -moz-transform:rotate(270deg) translate(0, -40px); - -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; -} -.bar8 { - -moz-transform:rotate(315deg) translate(0, -40px); - -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; -} -#div4 { - position:absolute; - left:50%; - top:50%; - margin-left:-50px; - margin-top:-50px; - width:100px; - height:100px; - -moz-border-radius:100px; - -webkit-border-radius:100px; - -moz-transform:scale(0.5); - -webkit-transform:scale(0.5); - -webkit-animation-name: rotateThis; - -webkit-animation-duration:2s; - -webkit-animation-iteration-count:infinite; - -webkit-animation-timing-function:linear; -} -#div4 div { - width:20px; - height:20px; - background:#fff; - -moz-border-radius:40px; - -webkit-border-radius:40px; - position:absolute; - left:40px; - top:40px; -} -/* add a shadow to the first */ -#div4 div { - -moz-box-shadow:black 0 0 4px; - -webkit-box-shadow:black 0 0 4px; -} diff --git a/LogReceiver/html/preload.html b/LogReceiver/html/preload.html deleted file mode 100644 index bc0abd9..0000000 --- a/LogReceiver/html/preload.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - -
      -
      -
      -

      Waiting for internet...

      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      -
      - -
      - - - diff --git a/LogReceiver/interfaceconfiguration.cpp b/LogReceiver/interfaceconfiguration.cpp deleted file mode 100644 index 8ab7cbb..0000000 --- a/LogReceiver/interfaceconfiguration.cpp +++ /dev/null @@ -1,133 +0,0 @@ -/* - * interfaceconfiguration.cpp - * - * Created on: Sep 2, 2011 - * Author: niklas - */ -#include "interfaceconfiguration.h" - -interfaceconfiguration::interfaceconfiguration() { - -} - -interfaceconfiguration::~interfaceconfiguration() { - // TODO Auto-generated destructor stub -} - -/** - * This method reads the configuration values out of a file. - * - * This method reads the configuration values out of a file. - * The file has to be created before by the customdhcpcd QProcess. - * (Overwrites the old values if they are already present.) - * - * @param pathToConfig - * contains the path to the configuration file. - */ -bool interfaceconfiguration::readConfigOutOfFile(QString pathToConfig) { - QFile file(pathToConfig); - if (file.exists()) { - if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - qDebug() << "couldn't open file:" << pathToConfig; - return false; - } - while (!file.atEnd()) { - QString line(file.readLine()); - QStringList splitedLine = line.split("="); - QString name = splitedLine.first().trimmed(); - splitedLine.removeFirst(); - QString values = splitedLine.first().trimmed(); - values.remove(QChar('\'')); - qDebug() << "read config file:" << name << values; - if (name.compare("IPADDR") == 0) { - this->ipAddress = values; - } else if (name.compare("NETMASK") == 0) { - this->netmask = values; - } else if (name.compare("NETWORK") == 0) { - this->network = values; - } else if (name.compare("BROADCAST") == 0) { - this->broadcast = values; - } else if (name.compare("ROUTES") == 0) { - this->routes = values; - } else if (name.compare("GATEWAYS") == 0) { - this->gateways = values; - this->gateway = this->gateways.split(" ").first().trimmed(); - } else if (name.compare("HOSTNAME") == 0) { - this->hostname = values; - } else if (name.compare("DNSSEARCH") == 0) { - this->dnssearch = values; - } else if (name.compare("DNSSERVERS") == 0) { - this->dnsservers = values; - } else if (name.compare("DHCPSID") == 0) { - this->dhcpsid = values; - } else if (name.compare("INTERFACE") == 0) { - this->interface = values; - } else if (name.compare("CLIENTID") == 0) { - this->clientid = values; - } else if (name.compare("DHCPCHADDR") == 0) { - this->dhcpchaddr = values; - } else { - qDebug() << "read unknown name" << name << values; - } - } - } else { - qDebug() << "file doesn't exist:" << pathToConfig; - return false; - } - return true; -} - -QString interfaceconfiguration::getBroadcast() { - return broadcast; -} - -QString interfaceconfiguration::getClientid() { - return clientid; -} - -QString interfaceconfiguration::getDhcpchaddr() { - return dhcpchaddr; -} - -QString interfaceconfiguration::getDhcpsid() { - return dhcpsid; -} -QString interfaceconfiguration::getDnssearch() { - return dnssearch; -} - -QString interfaceconfiguration::getDnsservers() { - return dnsservers; -} - -QString interfaceconfiguration::getGateways() { - return gateways; -} - -QString interfaceconfiguration::getGateway() { - return gateway; -} - -QString interfaceconfiguration::getHostname() { - return hostname; -} - -QString interfaceconfiguration::getInterface() { - return interface; -} - -QString interfaceconfiguration::getIpAddress() { - return ipAddress; -} - -QString interfaceconfiguration::getNetmask() { - return netmask; -} - -QString interfaceconfiguration::getNetwork() { - return network; -} - -QString interfaceconfiguration::getRoutes() { - return routes; -} diff --git a/LogReceiver/interfaceconfiguration.h b/LogReceiver/interfaceconfiguration.h deleted file mode 100644 index 3b0a14d..0000000 --- a/LogReceiver/interfaceconfiguration.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * interfaceconfiguration.h - * - * Created on: Sep 2, 2011 - * Author: niklas - */ - -#ifndef INTERFACECONFIGURATION_H_ -#define INTERFACECONFIGURATION_H_ - -#include - -class interfaceconfiguration: public QObject { -Q_OBJECT - -public: - interfaceconfiguration(); - interfaceconfiguration(const interfaceconfiguration &other); - - interfaceconfiguration &operator=(const interfaceconfiguration &other); - virtual ~interfaceconfiguration(); - - bool readConfigOutOfFile(QString pathToConfig); - QString getBroadcast(); - QString getClientid(); - QString getDhcpchaddr(); - QString getDhcpsid(); - QString getDnssearch(); - QString getDnsservers(); - QString getGateways(); - QString getGateway(); - QString getHostname(); - QString getInterface(); - QString getIpAddress(); - QString getNetmask(); - QString getNetwork(); - QString getRoutes(); - -private: - QString ipAddress; - QString netmask; - QString network; - QString broadcast; - QString routes; - QString gateway; - QString gateways; - QString hostname; - QString dnssearch; - QString dnsservers; - QString dhcpsid; - QString interface; - QString clientid; - QString dhcpchaddr; -}; - -#endif /* INTERFACECONFIGURATION_H_ */ diff --git a/LogReceiver/main.cpp b/LogReceiver/main.cpp deleted file mode 100644 index a8cd960..0000000 --- a/LogReceiver/main.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "ndgui.h" - -#include -#include - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - ndgui w; - w.show(); - return a.exec(); -} diff --git a/LogReceiver/nd.qrc b/LogReceiver/nd.qrc deleted file mode 100644 index 686419e..0000000 --- a/LogReceiver/nd.qrc +++ /dev/null @@ -1,27 +0,0 @@ - - - html/css/jquery-ui-1.8.16.css - html/js/jquery-1.6.4.min.js - html/js/jquery-ui-1.8.16.min.js - html/background.png - html/networkdiscovery.css - html/networkdiscovery.html - html/preload-debug.html - html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png - html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png - html/css/images/ui-bg_flat_10_000000_40x100.png - html/css/images/ui-bg_glass_65_ffffff_1x400.png - html/css/images/ui-bg_glass_100_f6f6f6_1x400.png - html/css/images/ui-bg_glass_100_fdf5ce_1x400.png - html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png - html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png - html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png - html/css/images/ui-icons_228ef1_256x240.png - html/css/images/ui-icons_222222_256x240.png - html/css/images/ui-icons_ef8c08_256x240.png - html/css/images/ui-icons_ffd27a_256x240.png - html/css/images/ui-icons_ffffff_256x240.png - html/continueBoot.html - html/networkdiscovery_userchoice.html - - diff --git a/LogReceiver/ndgui.cpp b/LogReceiver/ndgui.cpp deleted file mode 100644 index b77c2a1..0000000 --- a/LogReceiver/ndgui.cpp +++ /dev/null @@ -1,219 +0,0 @@ -#include "ndgui.h" - -ndgui::ndgui(QMainWindow *parent) : - QMainWindow(parent) { - - _started = false; - _userChoice = false; - - createAction(); - - connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); - connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); - connect(&networkDiscovery, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); - connect(&networkDiscovery, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); - connect(&networkDiscovery, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); - connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); - connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); - - - - _webView = new QWebView(this); - connect(_webView->page()->mainFrame(), SIGNAL( - javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); - setCentralWidget(_webView); - setWindowTitle(tr("NetD")); - setAttribute(Qt::WA_QuitOnClose, true); - setWindowFlags(Qt::FramelessWindowHint); - - _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); - _webView->show(); - - QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); - -} - -ndgui::~ndgui() { - -} - -void ndgui::createAction() { - _allowUserChoice = new QAction(tr("&quit"), this); - _allowUserChoice->setShortcut(QKeySequence(Qt::Key_F5)); - connect(_allowUserChoice, SIGNAL(triggered()), this, SLOT(setUserChoiceTrue())); - this->addAction(_allowUserChoice); -} - -void ndgui::setUserChoiceTrue() { - _userChoice = true; -} - -void ndgui::prepareNetworkDiscover() { - connect(_webView, SIGNAL(loadFinished(bool)), this, - SLOT(startNetworkDiscovery())); - this->removeAction(_allowUserChoice); - - _webView->load(QUrl("qrc:html/networkdiscovery.html")); - _webView->show(); -} - -void ndgui::startNetworkDiscovery(){ - - disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); - if(!_started) { - _started = true; - networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom"); - } - else { - qDebug() << "NetworkDiscovery already started"; - } -} - -void ndgui::handleConnectionEstablished(QString ifName) { - _ifNameList.append(ifName); -} - -void ndgui::handleAllProcessesFinished() { - qDebug() << "all Processes finished"; - if(_ifNameList.size() > 0) { - QString jsonArr = "["; - for(int i = 0; i < _ifNameList.size()-1; i++) { - jsonArr += "\"" + _ifNameList.value(i) + "\","; - } - jsonArr += "\"" + _ifNameList.last() + "\"]"; - chooseInterfaceDialog(jsonArr); - } else { - abortBoot("No usable interfaces found!"); - } -} - -void ndgui::restartSystem() { - -} - -void ndgui::shutDownSystem() { - -} - -void ndgui::continueBoot(QString ifName, int userChoice) { - if (!userChoice) { - QString text = "continue with interface: " + ifName; - qDebug() << text << "no user choice"; - } else { - QString text = "continue with interface: " + ifName; - qDebug() << text << "with user choice"; - QString gateway = networkDiscovery.getGatewayForInterface(ifName); - networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); - } - _webView->load(QUrl("qrc:html/continueBoot.html")); -} - -QString ndgui::readLogFile() { - qDebug() << "show log"; - return networkDiscovery.readLogFile(); -} - -/*test html gui version*/ - -QVariantList ndgui::getManualConfInterfaces() { - qDebug() << "call getManualConfInterfaces"; - QVariantList jsonArr; - foreach (QString s, _manConfList) { - QVariant e(s); - jsonArr << e; - } - qDebug() << "value of jsonArr:" << jsonArr; - return jsonArr; -} - -int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { - return networkDiscovery.ip4_setManualConfiguration(jsonArr); - -} - - -/* slots */ - - -/************************************************/ -////////////////////////////////////////////////// -/************************************************/ - -void ndgui::attachToDOM(){ - _webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("fbgui"), this); - loadJQuery(); -} -void ndgui::loadJQuery() { - QString js; - QString pathToJsDir(":/html"); - pathToJsDir.append("/js"); - - QDir qrcJSDir(pathToJsDir); - QFileInfoList fiList = qrcJSDir.entryInfoList(); - QFileInfo fi; - foreach(fi, fiList) - { - if (fi.suffix() == "js") { - //qDebug()<< fi.fileName(); - //qxtLog->debug() << fi.fileName(); - if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { - QFile file; - file.setFileName(pathToJsDir + "/" + fi.fileName()); - file.open(QIODevice::ReadOnly); - js = file.readAll(); - file.close(); - - _webView->page()->mainFrame()->evaluateJavaScript(js); - //qxtLog->debug() << "evaluated " + fi.fileName(); - } - } - } -} - -//diese methoden müssen später in die javascriptInterface Klasse eingefügt werden. - -// dieser code muss später in die javascriptInterface klasse der fbgui eingefügt werden -// tausche dazu ndgui zu javascriptinterface -// und _webView->page()->mainFrame() zu _parent - -void ndgui::abortBoot(const QString msg) { - qDebug() << "call abortBoot:" << msg; - QString code = QString("abortBootDialog('\%1')").arg(msg); - _webView->page()->mainFrame()->evaluateJavaScript(code); -} - -void ndgui::chooseInterfaceDialog(const QString msg) { - QString code = QString("chooseInterfaceDialog(\%1)").arg(msg); - _webView->page()->mainFrame()->evaluateJavaScript(code); -} - -void ndgui::updateStatus(const QString &status) { - if (status == "") - return; - QString code = QString("updateStatus('\%1')").arg(status); - _webView->page()->mainFrame()->evaluateJavaScript(code); -} -void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { - if (percent == 0) - return; - qDebug() << "call updateIfProgressBar"; - QString code = QString("updateIfProgressBar('\%1',\%2)").arg(ifName).arg(percent); - _webView->page()->mainFrame()->evaluateJavaScript(code); -} -void ndgui::updateIfStatus(const QString &ifName, const QString &status) { - if (ifName == "") - return; - QString code = QString("updateIfStatus('\%1','\%2')").arg(ifName).arg(status); - _webView->page()->mainFrame()->evaluateJavaScript(code); -} -void ndgui::addInterface(const QString &ifName) { - if (ifName == "") - return; - qDebug() << "call addInterface"; - _manConfList.append(ifName); - QString code = QString("addInterface('\%1')").arg(ifName); - _webView->page()->mainFrame()->evaluateJavaScript(code); -} -void ndgui::notifyCall(QString msg){ - qDebug() << "------ called:" << msg; -} diff --git a/LogReceiver/ndgui.h b/LogReceiver/ndgui.h deleted file mode 100644 index 3955303..0000000 --- a/LogReceiver/ndgui.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef NDGUI_H -#define NDGUI_H - -#include -#include -#include - -#include "networkdiscovery.h" - -#include "ui_ndgui.h" - -class ndgui: public QMainWindow { -Q_OBJECT - -public: - ndgui(QMainWindow *parent = 0); - ~ndgui(); - Q_INVOKABLE QVariantList getManualConfInterfaces(); - Q_INVOKABLE int ip4_setManualConfiguration(QVariantMap result); - Q_INVOKABLE QString readLogFile(); - -public slots: - void handleConnectionEstablished(QString ifName); - void abortBoot(QString msg); - void chooseInterfaceDialog(QString msg); - void handleAllProcessesFinished(); - - void restartSystem(); - void shutDownSystem(); - void continueBoot(QString ifName, int userChoice); - - - void prepareNetworkDiscover(); - void startNetworkDiscovery(); - - /*test for html gui version*/ - void attachToDOM(); - void loadJQuery(); - void addInterface(const QString &ifName); - void updateIfStatus(const QString &ifName, const QString &status); - void updateStatus(const QString &status); - void updateIfProgressBar(const QString &ifName, const int& percent); - void notifyCall(QString msg); - - -private slots: - void setUserChoiceTrue(); -private: - - void createAction(); - - bool _userChoice; - - bool _started; - - QWebView * _webView; - - QAction * _allowUserChoice; - - NetworkDiscovery networkDiscovery; - - QList _ifNameList; // maps interfaceName to its gateway - - QList _manConfList; - - QString _manualConfInterfaces; - - -}; - -#endif // NDGUI_H diff --git a/LogReceiver/ndgui.ui b/LogReceiver/ndgui.ui deleted file mode 100644 index 4a4c466..0000000 --- a/LogReceiver/ndgui.ui +++ /dev/null @@ -1,19 +0,0 @@ - - ndguiClass - - - - 0 - 0 - 400 - 300 - - - - ndgui - - - - - - diff --git a/LogReceiver/networkdiscovery.cpp b/LogReceiver/networkdiscovery.cpp deleted file mode 100644 index 052663f..0000000 --- a/LogReceiver/networkdiscovery.cpp +++ /dev/null @@ -1,706 +0,0 @@ -#include "networkdiscovery.h" - -#include "../common/fbgui.h" - -NetworkDiscovery::NetworkDiscovery(QObject *parent) { - - _server = new QLocalServer(this); -} - -NetworkDiscovery::~NetworkDiscovery() { - -} - -void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath, QString pathToExe, - QStringList* args) { - - _serverIp = serverIp; - _userChoice = userChoice; - _autoUp = autoUp; - _pathToLogFile = pathToLogFile; - - _pathToDhcpcdExe = pathToExe; - _blocked = false; - _numberOfProcesses = 0; - _ifUpCountdown = 10; - - if (serverPath != DEFAULT_QTSOCKETADDRESS) { - _dhcpcdArguments.append("-q"); - _dhcpcdArguments.append(serverPath); - } - /* delete the file at serverPath. this is necessary since in case the application crashes, the file still - * exists which leads to an error. - */ - - if(QFile::exists(serverPath)) { - QFile::remove(serverPath); - } - - if (!_server->listen(serverPath)) { - /* - QMessageBox::critical(this, tr("NetworkDiscovery"), tr( - "Unable to start the server: %1.") .arg(server->errorString())); - close(); - */ - // emit signal to the gui that a critial error occoured - QString errorInfo("Unable to start server: "); - qDebug() << "--- \t [NetworkDiscovery::initAndRun] " + errorInfo - << _server->errorString(); - emit - abortBoot(errorInfo + _server->errorString()); - return; - } - - connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); - - - // check if the path to the customdhcpcd file is correct - QFileInfo fInfo(_pathToDhcpcdExe); - if (!fInfo.exists()) { - qDebug() - << "could not find customdhcpcd exe. Please check the path to this file."; - emit abortBoot( - "could not find customdhcpcd exe. Please check the path to this file."); - return; - } - - if (args != NULL && !args->isEmpty()) { - qDebug() << "--- \t [NetworkDiscovery::initAndRun] added additional args"; - _dhcpcdArguments.append(*args); - } - - - - // start the main work: - - // if autoup enabled - // emit ... up - // else get list uped ifs (einmal simpel ohne autoup) - // emit run - - if (_autoUp) { - getListOfNetworkInterfacesWithAutoUp(); - _timer = new QTimer(this); - connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); - _timer->start(1000); - - } else { - getListOfNetworkInterfaces(); - emit readyForRun(); - } - -} - -void NetworkDiscovery::slotReadyForRun() { - if (_ifUpList.size() > 0) { - foreach(QString i, _ifUpList) { - emit addInterface(i); - } - _numberOfProcesses = _ifUpList.size(); - runDHCPCD( _ifUpList); - } else { - qDebug() << "list is empty. Have not found usable interface."; - emit - abortBoot("Have not found usable interface"); - return; - } -} - - -void NetworkDiscovery::checkForIsRunning() { - bool isRunning = false; - QList copyOfIfDownList(_ifDownList); - foreach(QString i, _ifDownList) { - QNetworkInterface networkInterface = QNetworkInterface::interfaceFromName(i); - isRunning = (networkInterface.flags() & QNetworkInterface::IsRunning); - if (isRunning) { - _ifUpList.append(i); - _ifDownList.removeAt(_ifDownList.indexOf(i)); - } - } - _ifUpCountdown--; - if ((_ifUpCountdown <= 0 ) || _ifDownList.isEmpty()) { - // shut down timer - _timer->stop(); - emit readyForRun(); - } - /* - for (int ii = 0; ii < copyOfIfDownList.size(); ii++) { - QNetworkInterface networkInterface = - QNetworkInterface::interfaceFromName(_ifDownList.value(ii)); - isRunning = (networkInterface.flags() & QNetworkInterface::IsRunning); - if (isRunning) { - _ifUpList.append(_ifDownList.value(ii)); - _ifDownList.removeAt(ii); - } - } - */ -} - -// autoup mit qtimer - -/* - if(!(nI.flags() & QNetworkInterface::IsRunning)) { - continue; - } - -// if(!checkForIsRunning(nI)) { -// qDebug() << "--- still down"; -// continue; -// } - /* - if (!checkCarrierState(nI.humanReadableName())) { - continue; - } - */ - - - - -int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { - _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); -} - -int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) { - _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); -} - -int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { - QList dns; - dns.append(result["dns"].toString()); - _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), - result["ipaddr"].toString(), - result["netmask"].toString(), - result["broadcast"].toString(), - result["gateway"].toString(), - 0, - AF_INET, - "/etc/", - dns); - - qDebug() << "set man conf. test connectivity"; - - if (!checkConnectivityViaTcp(_serverIp)) { - qDebug() << "no connectivity. reset conf."; - interfaceconfiguration * ifc = _ifcMap.value(result["ifname"].toString(), NULL); - if(ifc != NULL) { - dns.clear(); - dns = ifc->getDnsservers().trimmed().split(" "); - _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), - ifc->getIpAddress(), - ifc->getNetmask(), - ifc->getBroadcast(), - ifc->getGateway(), - 0, - AF_INET, - "/etc/", - dns); - } - - return 0; - } - emit continueBoot(result["ifname"].toString(), 0); - return 0; -} - -QString NetworkDiscovery::getGatewayForInterface(QString ifName) { - interfaceconfiguration * ifConf = _ifcMap.value(ifName); - return ifConf->getGateway(); -} - -QString NetworkDiscovery::readLogFile() { - // path to log file is in _pathToLogFile. initialized in initAndRun(). - QString retval("the log file"); - QFile logFile(_pathToLogFile); - if (logFile.exists()) { - if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)); - return retval; - } - while (!logFile.atEnd()) { - retval.append(logFile.readLine()); - } - return retval; -} - -/** - * ================================================================================ - ********************************* Private Methods ******************************** - * ================================================================================ - **/ - -QList NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { - QList nIList = QNetworkInterface::allInterfaces(); - QList result; - - if (nIList.size() > 0) { - foreach(QNetworkInterface nI, nIList) - { - if (((!(nI.flags() & QNetworkInterface::CanBroadcast) - || nI.flags() & QNetworkInterface::IsLoopBack) - || nI.flags() & QNetworkInterface::IsPointToPoint) - || checkBlackList(nI.humanReadableName())) { - continue; - } - if ((nI.flags() & QNetworkInterface::IsRunning)) { - _ifUpList.append(nI.humanReadableName()); - _ifMap.insert(nI.humanReadableName(), true); - } - else if (!(nI.flags() & QNetworkInterface::IsUp)) { - _networkManager.bringInterfaceUP(nI.humanReadableName()); - qDebug() << "--- bring up .."; - _ifDownList.append(nI.humanReadableName()); - _ifMap.insert(nI.humanReadableName(), false); - } - result.append(nI.humanReadableName()); - } - } else { - qDebug() << "no interfaces found!"; - } - return result; -} - -QList NetworkDiscovery::getListOfNetworkInterfaces() { - QList nIList = QNetworkInterface::allInterfaces(); - QList result; - - if (nIList.size() > 0) { - foreach(QNetworkInterface nI, nIList) - { - if (((!(nI.flags() & QNetworkInterface::CanBroadcast) - || nI.flags() & QNetworkInterface::IsLoopBack) - || nI.flags() & QNetworkInterface::IsPointToPoint) - || !(nI.flags() & QNetworkInterface::IsUp) - || !(nI.flags() & QNetworkInterface::IsRunning) - || checkBlackList(nI.humanReadableName())) { - continue; - } - _ifUpList.append(nI.humanReadableName()); - _ifMap.insert(nI.humanReadableName(), true); - result.append(nI.humanReadableName()); - } - } else { - qDebug() << "no interfaces found!"; - } - return result; -} - - -QList NetworkDiscovery::checkCarrierState(QList &interfaces) { - QList result; - foreach(QString nI, interfaces) - { - if (checkCarrierState(nI)) { - // everything is fine, cable is plugged, - // go on with the next interface - //continue; - result.append(nI); - } - } - return result; -} - -bool NetworkDiscovery::checkCarrierState(QString interface) { - - qDebug() << "check carrier state for interface " << interface; - QByteArray ba = interface.toAscii(); - const char * iface = ba.data(); - - struct sysfs_class_device *class_device = sysfs_open_class_device("net", - iface); - struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); - if (attrlist != NULL) { - struct sysfs_attribute *attr = NULL; - dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { - if (strcmp("carrier", attr->name) == 0) { - QString value(attr->value); - bool ok = false; - bool * pok = &ok; - int v = value.toInt(pok); - if (*pok) { - if (v == 1) { - qDebug() - << "carrier is 1. Cable is plugged. return true"; - return true; - } else { - qDebug() - << "carrier is 0. Cable is unplugged. return false"; - return false; - } - } else { - qDebug() << "conversion error"; - } - } - } - } else { - qDebug() << "attrlist is Null"; - } - sysfs_close_class_device(class_device); - - return true; -} - -void NetworkDiscovery::runDHCPCD(QList &interfaces) { - foreach(QString nI, interfaces) - { - runDHCPCD(nI); - } -} - -void NetworkDiscovery::runDHCPCD(QString interface) { - emit updateStatusLabel(interface, "start DHCP"); - _dhcpcdArguments.append(interface); - QProcess * p = new QProcess(this); - - qDebug() << _dhcpcdArguments; - - _clientProcessToIfNameMap.insert(p, interface); - qDebug() << _clientProcessToIfNameMap; - p->start(_pathToDhcpcdExe, _dhcpcdArguments); - connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); - connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, - SLOT(handleProcessFinished(int, QProcess::ExitStatus))); - _dhcpcdArguments.removeLast(); -} - -bool NetworkDiscovery::checkConnectivity(QString ifName) { - int metric = 0; - - // get gateway address - QString pathToGatewayFile(DEFAULT_INTERFACE_CONF_LOCATION); - pathToGatewayFile += ifName; - interfaceconfiguration *ifConf = new interfaceconfiguration(); - ifConf->readConfigOutOfFile(pathToGatewayFile); - _ifcMap.insert(ifName, ifConf); - - // replace default route - qDebug() << _networkManager.replaceDefaultRoute(ifName, - ifConf->getGateway(), 0, AF_INET); - - if (checkConnectivityViaTcp(_serverIp)) { - qDebug() << "internet: check passed! for interface" << ifName; - emit - updateStatusLabel(ifName, "connection possible"); - if (!_userChoice) { - // blockiere jeden weiteren check - // emite continueBoot - _blocked = true; - emit continueBoot(ifName, 0); - } else { - emit connectionEstablished(ifName); - } - } else { - qDebug() << "no internet connection with interface" << ifName; - emit - updateStatusLabel(ifName, "connection not possible"); - } - -} - -bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { - // check connectivity via tcp connection - QTcpSocket *tcpSocket = new QTcpSocket(this); - tcpSocket->connectToHost(server, 80); - if (!tcpSocket->waitForConnected(500)) { - qDebug() << tcpSocket->errorString(); - return false; - } else { - return true; - } -} - -/** - * - */ -void NetworkDiscovery::handleNewConnection() { - qDebug() << "New Connection arrived"; - - /*QLocalSocket **/ - _client = _server ->nextPendingConnection(); - _clients.insert(_client, _client); - connect(_client, SIGNAL(disconnected()), this, - SLOT(handleClientDisconnect())); - connect(_client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); -} - -/** - * - */ -void NetworkDiscovery::handleClientDisconnect() { - QLocalSocket* socket = qobject_cast (QObject::sender()); - - QLocalSocket * client = _clients.value(socket); - - qDebug() << "disconnect client"; - handleNewInput(client); - client->deleteLater(); -} - -/** - * - */ -void NetworkDiscovery::handleNewInput(QLocalSocket * client) { - qDebug() << "last read before exit"; - while (client->canReadLine()) { - QString data(client->readLine()); - - data = data.trimmed(); - qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } - } -} - -/** - * - * This method is connected to the readyRead Signal of the QLocalSocket - * client. - * send an ACK to the client with every received message. - */ -void NetworkDiscovery::handleNewInput() { - QLocalSocket* socket = qobject_cast (QObject::sender()); - - QLocalSocket * client = _clients.value(socket); - QString data(client->read(DHCP_MESSAGE_SIZE)); - client->write("ACK", ACK_SIZE); - client->waitForBytesWritten(); - data = data.trimmed(); - //qDebug() << data; - QStringList lines = data.split("\n"); - - for (int i = 0; i < lines.length(); i++) { - handleNewInputLine(client, lines.at(i)); - } -} - -/** - * This Method processes the send messages. - * - * This Method processes the send messages. It splits the line - * into several components. Those components are: - * interface: interface name ==> indicates the process who send the message - * s_state: is the number representation of syslog.h LOG levels - * s_subState: is the number representation of the dhcp.c DHCP states (1 - 8) plus - * the status. h states (9 - ..) - * msg: is a message which can contain additional informations - * - * According to the s_state and s_subState we emit the changeProgressBarValue() signal - * with different values. - * - * @param client - * the client who send the message - * - * @param data - * the message. (format ;;; ) - */ -void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { - - QString logMsg(data); - QString interface = logMsg.section(";", 0, 0); - QString s_state = logMsg.section(";", 1, 1); - QString s_subState = logMsg.section(";", 2, 2); - QString msg = logMsg.section(";", 3, 3); - int st = s_state.trimmed().toInt(); - int sst = s_subState.trimmed().toInt(); - //qDebug() << logMsg; - - if (_ifNameToClient.size() < _numberOfProcesses && !_ifNameToClient.contains( - interface)) { - _ifNameToClient.insert(interface, client); - } - - switch (st) { - case LOG_INFO: - switch (sst) { - case DHCP_DISCOVER: - emit changeProgressBarValue(interface, 10); - break; - case DHCP_OFFER: - emit changeProgressBarValue(interface, 20); - break; - case DHCP_REQUEST: - emit changeProgressBarValue(interface, 30); - break; - case DHCP_ACK: - emit changeProgressBarValue(interface, 40); - break; - case DHCP_NAK: - emit changeProgressBarValue(interface, 40); - break; - case DHCPCD_ARP_TEST: - emit changeProgressBarValue(interface, 50); - break; - case DHCP_DECLINE: - emit changeProgressBarValue(interface, 60); - break; - case DHCP_RELEASE: - - break; - case DHCP_INFORM: - break; - case DHCPCD_CONFIGURE: - emit changeProgressBarValue(interface, 70); - break; - case DHCPCD_WRITE: - emit changeProgressBarValue(interface, 80); - break; - case DHCPCD_EXIT: - emit changeProgressBarValue(interface, 100); - break; - case DHCPCD_LOG: - - default: - break; - } - break; - case LOG_ERR: - qDebug() << "received error:" << msg; - break; - default: - //qDebug() << logMsg; - break; - } -} - -/** - * This Method is called when a process is finished. - * - * This Method is called when a process is finished. This slot is connected - * with the signal finished() of the QProcess class. - * If the process finishes, it will be checked if the process exited normal - * or if an unexpected error occurred. For this, we determine the sender (which is a - * QProcess), get the corresponding interface (which is stored in a map), and check - * the exitCode. Further actions are taken according to the exitCode check. - * Normal exit: - * emit changeProgressBar() to 100% - * emit updateStatusLabel() to check connection - * checkConnectivity() @see NetworkDiscovery::checkConnectivity() - * Unexpected exit: - * emit updateStatusLabel() to process exited unexpected - * TODO:: the reason for the unexpected exit should be presented in the logfile. - * - * @param exitCode - * - * @param exitStatus - * - * @return bool - * returns true: if the interface name i starts with a letter in the blacklist. - * - * returns false: else - * - * @see NetworkDiscovery::getListOfNetworkInterfaces() - */ -/* -void NetworkDiscovery::handleProcessFinished(int exitCode, - QProcess::ExitStatus exitStatus) { - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = clientProcessToIfNameMap.value(p, "ifName"); - - if (ifName.compare("ifName") == 0) { - qDebug() - << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; - } else { - qDebug() << "process for interface" << ifName << "finished" << exitCode - << exitStatus; - if (exitCode > 0) { - qDebug() << "process exited unexpected"; - emit updateStatusLabel(ifName, "process exited unexpected"); - } else { - qDebug() << "process normal exit"; - qDebug() << "check internet connection"; - emit - changeProgressBarValue(ifName, 100); - emit - updateStatusLabel(ifName, "check connectivity"); - checkConnectivity(ifName); - } - } - QLocalSocket *client = ifNameToClient.value(ifName, 0); - if (client != 0) { - handleNewInput(client); - } - numberOfProcesses = numberOfProcesses - 1; - if (numberOfProcesses <= 0) { - emit allProcessesFinished(); - } -} -*/ -void NetworkDiscovery::handleProcessFinished(int exitCode, - QProcess::ExitStatus exitStatus) { - - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); - if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface - if (ifName.compare("ifName") == 0) { - qDebug() - << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; - } else { - qDebug() << "process for interface" << ifName << "finished" - << exitCode << exitStatus; - if (exitCode > 0) { - qDebug() << "process exited unexpected"; - emit updateStatusLabel(ifName, "process exited unexpected"); - } else { - qDebug() << "process normal exit"; - emit changeProgressBarValue(ifName, 100); - emit updateStatusLabel(ifName, "check connectivity"); - checkConnectivity(ifName); - } - } - if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface - QLocalSocket *client = _ifNameToClient.value(ifName, 0); - if (client != 0) { - handleNewInput(client); - } - _numberOfProcesses = _numberOfProcesses - 1; - if (_numberOfProcesses <= 0 && _userChoice) { - emit allProcessesFinished(); - } - } - } else { - qDebug() << "already blocked"; - emit updateStatusLabel(ifName, "finished DHCP"); - } -} -/** - * This Method is called when a process is started. - * - * This Method is called when a process is started. - * It prints the message: "process started for interface: ". - */ -void NetworkDiscovery::handleProcessStarted() { - QProcess* p = qobject_cast (QObject::sender()); - QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); - qDebug() << "process started for interface:" << ifName; -} - -/** - * This Method implements a blacklist. - * - * This Method implements a blacklist. We check the fist character - * of the interface name. if this letter is in the list, we return true. - * True means, that this interface won't be put into the result list of - * getListOfNetworkInterfaces(). - * - * @param i - * is a interface name. - * - * @return bool - * returns true: if the interface name i starts with a letter in the blacklist. - * - * returns false: else - * - * @see NetworkDiscovery::getListOfNetworkInterfaces() - */ -bool NetworkDiscovery::checkBlackList(QString i) { - if (i.startsWith("v", Qt::CaseInsensitive)) { - return true; - } else if (i.startsWith("d", Qt::CaseInsensitive)) { - return true; - } else { - return false; - } -} diff --git a/LogReceiver/networkdiscovery.h b/LogReceiver/networkdiscovery.h deleted file mode 100644 index 8b9359c..0000000 --- a/LogReceiver/networkdiscovery.h +++ /dev/null @@ -1,113 +0,0 @@ -#ifndef NetworkDiscovery_H -#define NetworkDiscovery_H - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include "interfaceconfiguration.h" -#include "networkmanager.h" -#include "sleeper.h" - -#include "../common/fbgui.h" - -#include "status.h" -#include "dhcp.h" -#include "interface.h" - - - -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" - -class NetworkDiscovery: public QObject { -Q_OBJECT - -public: - NetworkDiscovery(QObject *parent=0); - ~NetworkDiscovery(); - - void initAndRun(QString serverIp, bool userChoice, - bool autoUp, - QString pathToLogFile, - QString serverPath = DEFAULT_QTSOCKETADDRESS, - QString pathToExe = DEFAULT_PATHTODHCPCDEXE, - QStringList* args = NULL); - int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); - int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); - QString getGatewayForInterface(QString ifName); - - int ip4_setManualConfiguration(QVariantMap result); - QString readLogFile(); - -private slots: - void handleNewConnection(); - void handleNewInput(); - void handleNewInputLine(QLocalSocket * client, QString data); - void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); - void handleProcessStarted(); - void handleClientDisconnect(); - - void slotReadyForRun(); - - void checkForIsRunning(); - - -signals: - void addInterface(const QString &ifName); - void changeProgressBarValue(const QString & ifName, const int $newValue); - void connectionEstablished(QString ifName); - void abortBoot(QString msg); - void updateStatusLabel(QString ifName, QString status); - void allProcessesFinished(); - void continueBoot(QString ifName, int userChoice); - void setManualConfInterfaces(QString jsonArr); - - void readyForRun(); - -private: - QLocalServer *_server; - QMap _clients; - QLocalSocket * _client; - QMap _ifNameToClient; - QMap _clientProcessToIfNameMap; - QString _pathToDhcpcdExe; - QStringList _dhcpcdArguments; - int _numberOfProcesses; - NetworkManager _networkManager; - bool _userChoice; - bool _blocked; - bool _autoUp; - QString _serverIp; - QString _pathToLogFile; - QList _ifUpList; - QList _ifDownList; - QMap _ifMap; - int _ifUpCountdown; - QTimer* _timer; - - QMap _ifcMap; - - void handleNewInput(QLocalSocket * client); - - void runDHCPCD(QList &interfaces); - void runDHCPCD(QString interface); - QListcheckCarrierState(QList &interfaces); - bool checkCarrierState(QString interface); - bool checkConnectivity(QString ifName); - bool checkConnectivityViaTcp(QString server); - QList getListOfNetworkInterfaces(); - bool checkBlackList(QString i); - - QList getListOfNetworkInterfacesWithAutoUp(); - - -}; - -#endif // NetworkDiscovery_H diff --git a/LogReceiver/networkmanager.cpp b/LogReceiver/networkmanager.cpp deleted file mode 100644 index 55fd475..0000000 --- a/LogReceiver/networkmanager.cpp +++ /dev/null @@ -1,510 +0,0 @@ -/* - * networkmanager.cpp - * - * Created on: Sep 5, 2011 - * Author: niklas - */ - -#include "networkmanager.h" - -NetworkManager::NetworkManager() { - // TODO Auto-generated constructor stub - -} - -NetworkManager::~NetworkManager() { - // TODO Auto-generated destructor stub -} - -/** - * This method adds /replaces the default route. - * This method adds /replaces the default route. - * To keep it modular, it is possible - * to specify an ip address family. - * - * @param ifName - * the interface name - * - * @param gateway - * the gateway address (e.g: 192.168.0.254) - * @param mss - * the mss. - * @param af - * specify the family type of the ip address. - * possible values are: AF_INET for an IPv4 address - * AF_INET6 for an IPv6 address - * - - * @return - * return -1 if an error happened. - * return 0 if everything was ok. - */ -int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, - int mss, int af) { - struct nl_cache *cache; - struct nl_handle* rtsock; - struct nl_addr * gw; - struct rtnl_route * route; - int retval, iface_idx; - - QByteArray ba_ifn = ifname.toAscii(); - char * ifn = ba_ifn.data(); - - QByteArray ba_gw = gateway.toAscii(); - char * gwaddr = ba_gw.data(); - - qDebug() << "---doRoute() gwaddr" << gwaddr; - - if (!(gw = nl_addr_parse(gwaddr, af))) { - qDebug() << "Invalid router address given: %s\n", gwaddr; - return -1; - } - - rtsock = nl_handle_alloc(); - nl_connect(rtsock, NETLINK_ROUTE); - - if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { - qDebug() << "error with link cache alloc \n"; - } - - iface_idx = rtnl_link_name2i(cache, ifn); - - route = rtnl_route_alloc(); - rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); - rtnl_route_set_gateway(route, gw); - rtnl_route_set_oif(route, iface_idx); - - if (mss > 0) { - rtnl_route_set_metric(route, RTAX_ADVMSS, mss); - } - - retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); - qDebug() << "return value:" << retval << ":" << strerror(-retval); - - rtnl_route_put(route); - nl_addr_put(gw); - nl_handle_destroy(rtsock); - - return retval; -} - -/** - * The method brings an interface up. - * - * @param ifname - * the name of the interface - * - * @return - * 0 -> success - * -1 -> error - */ -int NetworkManager::bringInterfaceUP(QString ifname) { - return bringInterfaceUpDown(ifname, true); -} - -/** - * The method brings an interface down. - * - * @param ifname - * the name of the interface - * - * @return - * 0 -> success - * -1 -> error - */ -int NetworkManager::bringInterfaceDown(QString ifname) { - return bringInterfaceUpDown(ifname, false); -} -/** - * This method brings an interface up or down. - * - * @param ifname - * is a string which contains the interface name which is going down or up. - * - * @param up - * is a bool. true means. we bring the interface up. - * false meand. we bring the interface down. - * @return - * 0 if everything is ok - * else an error - */ -int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { - struct nl_cache *cache; - struct nl_handle* rtsock; - struct rtnl_link* request = NULL; - struct rtnl_link* old = NULL; - int retval; - - QByteArray ba_ifn = ifname.toAscii(); - char * ifn = ba_ifn.data(); - - if (!(request = rtnl_link_alloc())) { - qDebug() << "error. couldn't allocate a rtnl link"; - return -1; - } - - rtsock = nl_handle_alloc(); - nl_connect(rtsock, NETLINK_ROUTE); - - if (up) { - rtnl_link_set_flags(request, IFF_UP); - } else { - rtnl_link_unset_flags(request, IFF_UP); - } - - if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { - qDebug() << "error with link cache alloc "; - } - - old = rtnl_link_get_by_name(cache, ifn); - if (old) { - qDebug() << "change link"; - retval = rtnl_link_change(rtsock, old, request, 0); - } else { - qDebug() << "change failed"; - retval = -1; - qDebug() << "return value:" << retval << ":" << strerror(-retval); - } - - rtnl_link_put(old); - rtnl_link_put(request); - nl_handle_destroy(rtsock); - - return retval; -} - -/** - * This method is used when the manual configuration is needed. - * - * This method is used when the manual configuration is needed. - * First we bring up the interface. Than we configure the interface with - * our manual entered configuration dates. - * After that we replace the old default route with the new and - * write a resolv.conf. - * - * @param ifname - * name of the interface which we are about to configure. - * - * @param ipAddress - * the new IP-Address. - * - * @param netmask - * the netmask of the IP-Address. - * - * @param broadcast - * the broadcast address. - * @param gateway - * the gateway address. - * @param metric - * do not exactly know why we need this. in most cases this should be 0. - * @param af - * the address type. Either AF_INET for IPv4 or AF_INET6 for IPv6. - * @param pathToResolvConf - * the path to the resolf.conf file. in most cases "/etc/". - * @param nameServer - * the name server addresses. - */ -int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, - QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer) { - - //bring the interface up - bringInterfaceUP(ifname); - //set configuration - ip4_configureInterface(ifname, ipAddress, broadcast, netmask,af); - //set default route - replaceDefaultRoute(ifname, gateway, metric, af); - //write resolv.conf - writeResolvConf(pathToResolvConf, ifname, nameServer); - return 0; -} - -int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, - QString broadcast, QString netmask, int af) { - - struct nl_cache *cache; - struct nl_handle* rtsock; - struct nl_addr * local; - struct rtnl_addr * addr = NULL; - int retval = 0; - int iface_idx, err, prefixLength; - - QByteArray ba_ifn = ifname.trimmed().toAscii(); - char * ifn = ba_ifn.data(); - - QByteArray ba_ip = ipAddress.trimmed().toAscii(); - char * ipaddr = ba_ip.data(); - - QByteArray ba_bc = broadcast.trimmed().toAscii(); - char * bcaddr = ba_bc.data(); - - rtsock = nl_handle_alloc(); - nl_connect(rtsock, NETLINK_ROUTE); - - if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { - qDebug() << "error with link cache alloc"; - return -1; - } - - iface_idx = rtnl_link_name2i(cache, ifn); - - if (!(addr = rtnl_addr_alloc())) { - qDebug() << "error with addr alloc"; - return -1; - } - - local = nl_addr_parse(ipaddr, af); - err = rtnl_addr_set_local(addr, local); - nl_addr_put(local); - if (err != 0) { - qDebug() << "error with set local addr"; - } - - prefixLength = ip4_netmaskToPrefix(ipAddress,netmask); - qDebug() << "prefix length:" << prefixLength; - rtnl_addr_set_prefixlen(addr, prefixLength); - - local = nl_addr_parse(bcaddr, af); - err = rtnl_addr_set_broadcast(addr, local); - nl_addr_put(local); - if (err != 0) { - qDebug() << "error with set broadcast addr"; - } - - rtnl_addr_set_ifindex(addr, iface_idx); - - - retval = sync_address(ifn, iface_idx, af, addr); - if(retval < 0) { - qDebug() << "error in sync_address"; - } - rtnl_addr_put(addr); - - return retval; -} - -/** - * This Method returns the length of the IP-Address netmask prefix. - * - * @param ipAddr - * the IP-address - * - * @param netmask - * the netmask of the IP-address. - * @return - * the length of the IP-Address netmask prefix - */ -int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { - int retval = -1; - QNetworkAddressEntry nae; - - if (netmask == "") { - qDebug() << "error: netmask is empty"; - return retval; - } - nae.setIp(QHostAddress(ipAddr)); - nae.setNetmask(QHostAddress(netmask.trimmed())); - retval = nae.prefixLength(); - - return retval; -} - -/** - * delete all addresses of this interface but not the one we just set - * - * @return - * -1 if something went wrong. else 0 - */ -int NetworkManager::sync_address(const char *iface, int ifindex, int family, - struct rtnl_addr *addr) { - - struct nl_handle *nlh; - struct nl_cache *addr_cache; - struct rtnl_addr *filter_addr, *match_addr; - struct nl_object *match; - struct nl_addr *nladdr; - int err, retval; - char buf[INET6_ADDRSTRLEN + 1]; - - nlh = nl_handle_alloc(); - nl_connect(nlh, NETLINK_ROUTE); - - if (!nlh) - return -1; - - addr_cache = rtnl_addr_alloc_cache(nlh); - - if (!addr_cache) - return -1; - - filter_addr = rtnl_addr_alloc(); - if (!filter_addr) { - nl_cache_free(addr_cache); - return -1; - } - rtnl_addr_set_ifindex(filter_addr, ifindex); - if (family) - rtnl_addr_set_family(filter_addr, family); - - //nm_log_dbg (log_domain, "(%s): syncing addresses (family %d)", iface, family); - - /* Walk through the cache, comparing the addresses already on - * the interface to the addresses in addrs. - */ - for (match = nl_cache_get_first(addr_cache); match; match - = nl_cache_get_next(match)) { - int buf_valid = -1; - match_addr = (struct rtnl_addr *) match; - - /* Skip addresses not on our interface */ - if (!nl_object_match_filter(match, (struct nl_object *) filter_addr)) - continue; - - if (addr) { - if (addr && nl_object_identical(match, (struct nl_object *) addr)) { - continue; - } - } - - nladdr = rtnl_addr_get_local(match_addr); - - /* Don't delete IPv6 link-local addresses; they don't belong to NM */ - if (rtnl_addr_get_family(match_addr) == AF_INET6) { - struct in6_addr *tmp; - - if (rtnl_addr_get_scope(match_addr) == RT_SCOPE_LINK) { - //nm_log_dbg (log_domain, "(%s): ignoring IPv6 link-local address", iface); - continue; - } - - tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); - if (inet_ntop(AF_INET6, tmp, buf, sizeof(buf))) - buf_valid = 0; - } else if (rtnl_addr_get_family(match_addr) == AF_INET) { - struct in_addr *tmp; - - tmp = (in_addr *) nl_addr_get_binary_addr(nladdr); - if (inet_ntop(AF_INET, tmp, buf, sizeof(buf))) - buf_valid = 0; - } - - if (buf_valid == 0) { - //nm_log_dbg (log_domain, "(%s): removing address '%s/%d'", - // iface, buf, nl_addr_get_prefixlen (nladdr)); - } - - /* Otherwise, match_addr should be removed from the interface. */ - err = rtnl_addr_delete(nlh, match_addr, 0); - if (err < 0) { - //nm_log_err (log_domain, "(%s): error %d returned from rtnl_addr_delete(): %s", - // iface, err, nl_geterror ()); - qDebug() << "error with delete addr"; - } - } - - rtnl_addr_put(filter_addr); - nl_cache_free(addr_cache); - - /* Now add the remaining new addresses */ - if (!addr) - return -1; - - struct in6_addr *in6tmp; - struct in_addr *in4tmp; - int buf_valid = -1; - - nladdr = rtnl_addr_get_local(addr); - if (rtnl_addr_get_family(addr) == AF_INET6) { - in6tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); - if (inet_ntop(AF_INET6, in6tmp, buf, sizeof(buf))) - buf_valid = 0; - } else if (rtnl_addr_get_family(addr) == AF_INET) { - in4tmp = (in_addr*) nl_addr_get_binary_addr(nladdr); - if (inet_ntop(AF_INET, in4tmp, buf, sizeof(buf))) - buf_valid = 0; - } - - if (buf_valid == 0) { - //nm_log_dbg (log_domain, "(%s): adding address '%s/%d'", - //iface, buf, nl_addr_get_prefixlen (nladdr)); - qDebug() << "buf valid adding addr"; - } - - err = rtnl_addr_add(nlh, addr, 0); - if (err < 0) { - //nm_log_err (log_domain, - // "(%s): error %d returned from rtnl_addr_add():\n%s", - // iface, err, nl_geterror ()); - qDebug() << "error with add addr"<< strerror(-err); - } - - rtnl_addr_put(addr); - - return err; -} - -/** - * This method writes a resolv.conf file. - * - * @param path - * path to the resolv.conf file. (in most cases: /etc/) - * @param ifname - * name of the interface - * @param - * addresses of the nameserver - * - * @return - * return 0 if success - * else -1 - */ -int NetworkManager::writeResolvConf(QString path, QString ifname, QList nameServer){ - - QFile file(path + "resolv.conf"); - if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { - qDebug() << "error couldn't open file:" << path; - return -1; - } - QTextStream out(&file); - out << "# Generated by networkdiscovery manual configuration for interface " + ifname +"\n"; - foreach(QString ns, nameServer ) { - out << "nameserver " + ns +"\n"; - } - - file.close(); - - return 0; -} - - -/** - * This method adds or deletes a route. - * This method adds or deletes a route. According to the action, - * you can delete a route or add a route from/to the - * main routing table. In most cases, this method will be used for deleting - * or adding a default rout. To keep it modular, it is possible - * to specify an ip address family. - * - * @param ifName - * the interface name. - * @param destination - * the destination address (e.g: 0.0.0.0) - * - * @param gateway - * the gateway address (e.g: 192.168.0.254) - * - * @param af - * specify the family type of the ip address. - * possible values are: AF_INET for an IPv4 address - * AF_INET6 for an IPv6 address - * - * @param action - * possible values are: 0: perform add route - * 1: perform delete route - * - * @return - * return 1 if an error happened. - * return 0 if everything was ok. - */ -int NetworkManager::doRoute(QString ifName, QString destination, - QString gateway, int af, int action) { - return 0; -} diff --git a/LogReceiver/networkmanager.h b/LogReceiver/networkmanager.h deleted file mode 100644 index 0c47e30..0000000 --- a/LogReceiver/networkmanager.h +++ /dev/null @@ -1,56 +0,0 @@ -/* - * networkmanager.h - * - * Created on: Sep 5, 2011 - * Author: niklas - */ - -#ifndef NETWORKMANAGER_H_ -#define NETWORKMANAGER_H_ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -class NetworkManager: public QObject { -Q_OBJECT - -public: - NetworkManager(); - virtual ~NetworkManager(); - - - int doRoute(QString ifName, QString destination, QString gateway, int af, - int action); - int replaceDefaultRoute(QString ifname, QString gateway, int metric, - int af); - - int bringInterfaceUP(QString ifname); - int bringInterfaceDown(QString ifname); - - int ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, - QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer); - int ip4_configureInterface(QString ifname, QString ipAddress, - QString broadcast, QString netmask, int af); - int writeResolvConf(QString path, QString ifname, QList nameServer); - -private: - int bringInterfaceUpDown(QString ifname, bool up); - int ip4_netmaskToPrefix(QString ipAddr, QString netmask); - - int sync_address(const char *iface, int ifindex, int family, - struct rtnl_addr *addr); - - -}; - -#endif /* NETWORKMANAGER_H_ */ diff --git a/common/fbgui.h b/common/fbgui.h index a785b42..75f9b7b 100644 --- a/common/fbgui.h +++ b/common/fbgui.h @@ -6,4 +6,10 @@ #define DHCP_MESSAGE_SIZE 2048 #define ACK_SIZE 4 +#define DHCPCD_EXIT 9 +#define DHCPCD_ARP_TEST 10 +#define DHCPCD_CONFIGURE 11 +#define DHCPCD_WRITE 12 +#define DHCPCD_LOG 13 + #endif // FBGUI_H diff --git a/customdhcpcd/src/client.c b/customdhcpcd/src/client.c index ba71ba4..b007fd6 100644 --- a/customdhcpcd/src/client.c +++ b/customdhcpcd/src/client.c @@ -61,7 +61,6 @@ #include "socket.h" #include "logwriter.h" -#include "status.h" #ifdef ENABLE_DUID # include "duid.h" diff --git a/customdhcpcd/src/configure.c b/customdhcpcd/src/configure.c index 1eaf8f6..b69ccdc 100644 --- a/customdhcpcd/src/configure.c +++ b/customdhcpcd/src/configure.c @@ -59,7 +59,6 @@ #include "signal.h" #include "socket.h" -#include "status.h" #include "logwriter.h" static int file_in_path (const char *file) diff --git a/customdhcpcd/src/customdhcpcd b/customdhcpcd/src/customdhcpcd deleted file mode 100755 index 1b80a4d..0000000 Binary files a/customdhcpcd/src/customdhcpcd and /dev/null differ diff --git a/customdhcpcd/src/dhcpcd.c b/customdhcpcd/src/dhcpcd.c index 9f91239..c200211 100644 --- a/customdhcpcd/src/dhcpcd.c +++ b/customdhcpcd/src/dhcpcd.c @@ -52,7 +52,6 @@ const char copyright[] = "Copyright (c) 2006-2008 Roy Marples"; #include "version.h" #include "logwriter.h" -#include "status.h" static int doversion = 0; static int dohelp = 0; diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index 1e34947..d8c3537 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -17,7 +17,6 @@ #include "info.h" #include "logger.h" #include "logwriter.h" -#include "status.h" #include "../../common/fbgui.h" // for constants /*sockets for the logger and the qt-reader */ diff --git a/customdhcpcd/src/status.h b/customdhcpcd/src/status.h deleted file mode 100644 index 0a1dc8a..0000000 --- a/customdhcpcd/src/status.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * status.h - * - * Created on: Jul 11, 2011 - * Author: niklas - */ - -#ifndef STATUS_H_ -#define STATUS_H_ - -#define DHCPCD_EXIT 9 -#define DHCPCD_ARP_TEST 10 -#define DHCPCD_CONFIGURE 11 -#define DHCPCD_WRITE 12 -#define DHCPCD_LOG 13 - - - -#endif /* STATUS_H_ */ -- cgit v1.2.3-55-g7522 From b8fbb02240da7ce471f5b62fdb46c581d94b5335 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 14:10:55 +0200 Subject: adding files of the renamed directory --- NetworkDiscovery/.gitignore | 2 + .../org.eclipse.ltk.core.refactoring.prefs | 3 + NetworkDiscovery/CMakeLists.txt | 60 ++ NetworkDiscovery/LogReceiver.pro | 20 + NetworkDiscovery/Makefile.Debug | 264 +++++++ NetworkDiscovery/Makefile.Release | 264 +++++++ NetworkDiscovery/html/background.png | Bin 0 -> 364392 bytes NetworkDiscovery/html/continueBoot.html | 24 + .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../css/images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../css/images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../css/images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../css/images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes .../html/css/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../html/css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes NetworkDiscovery/html/css/jquery-ui-1.8.16.css | 568 +++++++++++++++ NetworkDiscovery/html/js/jquery-1.6.4.min.js | 4 + NetworkDiscovery/html/js/jquery-ui-1.8.16.min.js | 791 +++++++++++++++++++++ NetworkDiscovery/html/js/nd-functions.js | 73 ++ NetworkDiscovery/html/js/test.js | 3 + NetworkDiscovery/html/loadsystem.css | 90 +++ NetworkDiscovery/html/loadsystem.html | 35 + NetworkDiscovery/html/networkdiscovery.css | 80 +++ NetworkDiscovery/html/networkdiscovery.html | 276 +++++++ .../html/networkdiscovery_userchoice.html | 22 + NetworkDiscovery/html/old.png | Bin 0 -> 316905 bytes NetworkDiscovery/html/old.txt | 19 + NetworkDiscovery/html/preload-debug.html | 34 + NetworkDiscovery/html/preload.css | 105 +++ NetworkDiscovery/html/preload.html | 42 ++ NetworkDiscovery/html/test.css | 19 + NetworkDiscovery/html/test.html | 39 + NetworkDiscovery/interfaceconfiguration.cpp | 134 ++++ NetworkDiscovery/interfaceconfiguration.h | 58 ++ NetworkDiscovery/main.cpp | 12 + NetworkDiscovery/nd.qrc | 27 + NetworkDiscovery/ndgui.cpp | 267 +++++++ NetworkDiscovery/ndgui.h | 71 ++ NetworkDiscovery/ndgui.ui | 19 + NetworkDiscovery/networkdiscovery.cpp | 648 +++++++++++++++++ NetworkDiscovery/networkdiscovery.h | 110 +++ NetworkDiscovery/networkmanager.cpp | 497 +++++++++++++ NetworkDiscovery/networkmanager.h | 54 ++ 50 files changed, 4734 insertions(+) create mode 100644 NetworkDiscovery/.gitignore create mode 100644 NetworkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs create mode 100644 NetworkDiscovery/CMakeLists.txt create mode 100644 NetworkDiscovery/LogReceiver.pro create mode 100644 NetworkDiscovery/Makefile.Debug create mode 100644 NetworkDiscovery/Makefile.Release create mode 100644 NetworkDiscovery/html/background.png create mode 100644 NetworkDiscovery/html/continueBoot.html create mode 100644 NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_flat_10_000000_40x100.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 NetworkDiscovery/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 NetworkDiscovery/html/css/images/ui-icons_222222_256x240.png create mode 100644 NetworkDiscovery/html/css/images/ui-icons_228ef1_256x240.png create mode 100644 NetworkDiscovery/html/css/images/ui-icons_ef8c08_256x240.png create mode 100644 NetworkDiscovery/html/css/images/ui-icons_ffd27a_256x240.png create mode 100644 NetworkDiscovery/html/css/images/ui-icons_ffffff_256x240.png create mode 100644 NetworkDiscovery/html/css/jquery-ui-1.8.16.css create mode 100644 NetworkDiscovery/html/js/jquery-1.6.4.min.js create mode 100644 NetworkDiscovery/html/js/jquery-ui-1.8.16.min.js create mode 100644 NetworkDiscovery/html/js/nd-functions.js create mode 100644 NetworkDiscovery/html/js/test.js create mode 100644 NetworkDiscovery/html/loadsystem.css create mode 100644 NetworkDiscovery/html/loadsystem.html create mode 100644 NetworkDiscovery/html/networkdiscovery.css create mode 100644 NetworkDiscovery/html/networkdiscovery.html create mode 100644 NetworkDiscovery/html/networkdiscovery_userchoice.html create mode 100644 NetworkDiscovery/html/old.png create mode 100644 NetworkDiscovery/html/old.txt create mode 100644 NetworkDiscovery/html/preload-debug.html create mode 100644 NetworkDiscovery/html/preload.css create mode 100644 NetworkDiscovery/html/preload.html create mode 100644 NetworkDiscovery/html/test.css create mode 100644 NetworkDiscovery/html/test.html create mode 100644 NetworkDiscovery/interfaceconfiguration.cpp create mode 100644 NetworkDiscovery/interfaceconfiguration.h create mode 100644 NetworkDiscovery/main.cpp create mode 100644 NetworkDiscovery/nd.qrc create mode 100644 NetworkDiscovery/ndgui.cpp create mode 100644 NetworkDiscovery/ndgui.h create mode 100644 NetworkDiscovery/ndgui.ui create mode 100644 NetworkDiscovery/networkdiscovery.cpp create mode 100644 NetworkDiscovery/networkdiscovery.h create mode 100644 NetworkDiscovery/networkmanager.cpp create mode 100644 NetworkDiscovery/networkmanager.h diff --git a/NetworkDiscovery/.gitignore b/NetworkDiscovery/.gitignore new file mode 100644 index 0000000..dd5959f --- /dev/null +++ b/NetworkDiscovery/.gitignore @@ -0,0 +1,2 @@ +build +Makefile diff --git a/NetworkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs b/NetworkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs new file mode 100644 index 0000000..e58f4e1 --- /dev/null +++ b/NetworkDiscovery/.settings/org.eclipse.ltk.core.refactoring.prefs @@ -0,0 +1,3 @@ +#Mon Sep 05 16:49:17 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.ltk.core.refactoring.enable.project.refactoring.history=false diff --git a/NetworkDiscovery/CMakeLists.txt b/NetworkDiscovery/CMakeLists.txt new file mode 100644 index 0000000..a802c86 --- /dev/null +++ b/NetworkDiscovery/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 2.8) + +project(NetworkDiscovery) + +set(QT_MIN_VERSION "4.7.0") +find_package(Qt4 REQUIRED) +if (QT4_FOUND) + message(STATUS "QT4 found.") +else(QT4_FOUND) + message(FATAL_ERROR "QT4 not found!") +endif(QT4_FOUND) + +#find_package(Qxt REQUIRED) + +set(QT_USE_QTCORE TRUE) +set(QT_USE_QTGUI TRUE) +set(QT_USE_QTNETWORK TRUE) +set(QT_USE_QTWEBKIT TRUE) + +file(GLOB LOGRECEIVER_SOURCES ./*.cpp) +file(GLOB LOGRECEIVER_MOC_HEADERS ./*.h) +file(GLOB LOGRECEIVER_UIS ./*.ui) +file(GLOB LOGRECEIVER_RCS ./*.qrc) + +include_directories(${CMAKE_CURRENT_BINARY_DIR} + /usr/include/ + /usr/include/netlink/ + /usr/include/netlink/route/ + ./../customdhcpcd/src/ + ./build + ${QT_INCLUDES} + ) + +include(${QT_USE_FILE}) +add_definitions(${QT_DEFINITIONS}) + +link_directories(/usr/lib + /home/niklas/fbgui/customdhcpcd/src/build) + +#add_library( +# /usr/local/Qxt/lib/libQxtCore.so +# /usr/lib/libqjson.so +# /usr/lib/libusb-1.0.a +# ) + +QT4_ADD_RESOURCES(LOGRECEIVER_RC_SOURCES ${LOGRECEIVER_RCS}) +QT4_WRAP_CPP(LOGRECEIVER_MOC_SOURCES ${LOGRECEIVER_MOC_HEADERS}) +QT4_WRAP_UI(LOGRECEIVER_UI_HEADERS ${LOGRECEIVER_UIS}) + + +add_executable(NetworkDiscovery + ${QT_INCLUDES} + ${LOGRECEIVER_SOURCES} + ${LOGRECEIVER_MOC_SOURCES} + ${LOGRECEIVER_UI_HEADERS} + ${LOGRECEIVER_RC_SOURCES}) + +target_link_libraries(NetworkDiscovery + ${QT_LIBRARIES} + sysfs customdhcpcd nl) diff --git a/NetworkDiscovery/LogReceiver.pro b/NetworkDiscovery/LogReceiver.pro new file mode 100644 index 0000000..802bfeb --- /dev/null +++ b/NetworkDiscovery/LogReceiver.pro @@ -0,0 +1,20 @@ +TEMPLATE = app +TARGET = LogReceiver +QT += core \ + gui \ + network +LIBS += -lsysfs \ + -L/home/niklas/fbgui/customdhcpcd/src/build \ + -llibcustomdhcpcd +INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src +HEADERS += networkmanager.h \ + networkdiscovery.h \ + interfaceconfiguration.h \ + ndgui.h +SOURCES += interfaceconfiguration.cpp \ + main.cpp \ + ndgui.cpp \ + networkdiscovery.cpp \ + networkmanager.cpp +FORMS += ndgui.ui +RESOURCES += nd.qrc diff --git a/NetworkDiscovery/Makefile.Debug b/NetworkDiscovery/Makefile.Debug new file mode 100644 index 0000000..f838703 --- /dev/null +++ b/NetworkDiscovery/Makefile.Debug @@ -0,0 +1,264 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Fri Oct 7 13:36:07 2011 +# Project: LogReceiver.pro +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -g -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -I../customdhcpcd/src -Idebug -I. +LINK = g++ +LFLAGS = -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lsysfs -L/home/niklas/fbgui/customdhcpcd/src/build -llibcustomdhcpcd -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = debug/ + +####### Files + +SOURCES = networkmanager.cpp \ + networkdiscovery.cpp \ + interfaceconfiguration.cpp \ + ndgui.cpp \ + main.cpp debug/moc_networkmanager.cpp \ + debug/moc_networkdiscovery.cpp \ + debug/moc_interfaceconfiguration.cpp \ + debug/moc_ndgui.cpp \ + debug/qrc_nd.cpp +OBJECTS = debug/networkmanager.o \ + debug/networkdiscovery.o \ + debug/interfaceconfiguration.o \ + debug/ndgui.o \ + debug/main.o \ + debug/moc_networkmanager.o \ + debug/moc_networkdiscovery.o \ + debug/moc_interfaceconfiguration.o \ + debug/moc_ndgui.o \ + debug/qrc_nd.o +DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile.Debug $(TARGET) + +$(TARGET): ui_ndgui.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +qmake: FORCE + @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Debug LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) debug/LogReceiver1.0.0 || $(MKDIR) debug/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents networkmanager.h networkdiscovery.h interfaceconfiguration.h ndgui.h debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents nd.qrc debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents networkmanager.cpp networkdiscovery.cpp interfaceconfiguration.cpp ndgui.cpp main.cpp debug/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui debug/LogReceiver1.0.0/ && (cd `dirname debug/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname debug/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r debug/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile.Debug + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: debug/moc_networkmanager.cpp debug/moc_networkdiscovery.cpp debug/moc_interfaceconfiguration.cpp debug/moc_ndgui.cpp +compiler_moc_header_clean: + -$(DEL_FILE) debug/moc_networkmanager.cpp debug/moc_networkdiscovery.cpp debug/moc_interfaceconfiguration.cpp debug/moc_ndgui.cpp +debug/moc_networkmanager.cpp: networkmanager.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) networkmanager.h -o debug/moc_networkmanager.cpp + +debug/moc_networkdiscovery.cpp: interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h \ + networkdiscovery.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) networkdiscovery.h -o debug/moc_networkdiscovery.cpp + +debug/moc_interfaceconfiguration.cpp: interfaceconfiguration.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) interfaceconfiguration.h -o debug/moc_interfaceconfiguration.cpp + +debug/moc_ndgui.cpp: networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h \ + ndgui.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o debug/moc_ndgui.cpp + +compiler_rcc_make_all: debug/qrc_nd.cpp +compiler_rcc_clean: + -$(DEL_FILE) debug/qrc_nd.cpp +debug/qrc_nd.cpp: nd.qrc \ + html/networkdiscovery_userchoice.html \ + html/networkdiscovery.css \ + html/continueBoot.html \ + html/preload-debug.html \ + html/networkdiscovery.html \ + html/background.png \ + html/css/jquery-ui-1.8.16.css \ + html/css/images/ui-icons_228ef1_256x240.png \ + html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png \ + html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png \ + html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png \ + html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png \ + html/css/images/ui-icons_222222_256x240.png \ + html/css/images/ui-icons_ffd27a_256x240.png \ + html/css/images/ui-bg_glass_65_ffffff_1x400.png \ + html/css/images/ui-icons_ef8c08_256x240.png \ + html/css/images/ui-bg_glass_100_f6f6f6_1x400.png \ + html/css/images/ui-bg_glass_100_fdf5ce_1x400.png \ + html/css/images/ui-bg_flat_10_000000_40x100.png \ + html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png \ + html/css/images/ui-icons_ffffff_256x240.png \ + html/js/jquery-ui-1.8.16.min.js \ + html/js/jquery-1.6.4.min.js + /usr/local/Trolltech/Qt-4.7.2/bin/rcc -name nd nd.qrc -o debug/qrc_nd.cpp + +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_ndgui.h +compiler_uic_clean: + -$(DEL_FILE) ui_ndgui.h +ui_ndgui.h: ndgui.ui + /usr/local/Trolltech/Qt-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean + +####### Compile + +debug/networkmanager.o: networkmanager.cpp networkmanager.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/networkmanager.o networkmanager.cpp + +debug/networkdiscovery.o: networkdiscovery.cpp networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/networkdiscovery.o networkdiscovery.cpp + +debug/interfaceconfiguration.o: interfaceconfiguration.cpp interfaceconfiguration.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/interfaceconfiguration.o interfaceconfiguration.cpp + +debug/ndgui.o: ndgui.cpp ndgui.h \ + networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/ndgui.o ndgui.cpp + +debug/main.o: main.cpp ndgui.h \ + networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/main.o main.cpp + +debug/moc_networkmanager.o: debug/moc_networkmanager.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_networkmanager.o debug/moc_networkmanager.cpp + +debug/moc_networkdiscovery.o: debug/moc_networkdiscovery.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_networkdiscovery.o debug/moc_networkdiscovery.cpp + +debug/moc_interfaceconfiguration.o: debug/moc_interfaceconfiguration.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_interfaceconfiguration.o debug/moc_interfaceconfiguration.cpp + +debug/moc_ndgui.o: debug/moc_ndgui.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/moc_ndgui.o debug/moc_ndgui.cpp + +debug/qrc_nd.o: debug/qrc_nd.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o debug/qrc_nd.o debug/qrc_nd.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/NetworkDiscovery/Makefile.Release b/NetworkDiscovery/Makefile.Release new file mode 100644 index 0000000..d6c9cee --- /dev/null +++ b/NetworkDiscovery/Makefile.Release @@ -0,0 +1,264 @@ +############################################################################# +# Makefile for building: LogReceiver +# Generated by qmake (2.01a) (Qt 4.7.2) on: Fri Oct 7 13:36:07 2011 +# Project: LogReceiver.pro +# Template: app +############################################################################# + +####### Compiler, tools and options + +CC = gcc +CXX = g++ +DEFINES = -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED +CFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +CXXFLAGS = -pipe -O2 -Wall -W -D_REENTRANT $(DEFINES) +INCPATH = -I/usr/local/Trolltech/Qt-4.7.2/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.7.2/include/QtCore -I/usr/local/Trolltech/Qt-4.7.2/include/QtNetwork -I/usr/local/Trolltech/Qt-4.7.2/include/QtGui -I/usr/local/Trolltech/Qt-4.7.2/include -I../customdhcpcd/src -Irelease -I. +LINK = g++ +LFLAGS = -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.7.2/lib +LIBS = $(SUBLIBS) -L/usr/local/Trolltech/Qt-4.7.2/lib -lsysfs -L/home/niklas/fbgui/customdhcpcd/src/build -llibcustomdhcpcd -lQtGui -L/usr/local/Trolltech/Qt-4.7.2/lib -L/usr/X11R6/lib -lQtNetwork -lQtCore -lpthread +AR = ar cqs +RANLIB = +QMAKE = /usr/local/Trolltech/Qt-4.7.2/bin/qmake +TAR = tar -cf +COMPRESS = gzip -9f +COPY = cp -f +SED = sed +COPY_FILE = $(COPY) +COPY_DIR = $(COPY) -r +STRIP = strip +INSTALL_FILE = install -m 644 -p +INSTALL_DIR = $(COPY_DIR) +INSTALL_PROGRAM = install -m 755 -p +DEL_FILE = rm -f +SYMLINK = ln -f -s +DEL_DIR = rmdir +MOVE = mv -f +CHK_DIR_EXISTS= test -d +MKDIR = mkdir -p + +####### Output directory + +OBJECTS_DIR = release/ + +####### Files + +SOURCES = networkmanager.cpp \ + networkdiscovery.cpp \ + interfaceconfiguration.cpp \ + ndgui.cpp \ + main.cpp release/moc_networkmanager.cpp \ + release/moc_networkdiscovery.cpp \ + release/moc_interfaceconfiguration.cpp \ + release/moc_ndgui.cpp \ + release/qrc_nd.cpp +OBJECTS = release/networkmanager.o \ + release/networkdiscovery.o \ + release/interfaceconfiguration.o \ + release/ndgui.o \ + release/main.o \ + release/moc_networkmanager.o \ + release/moc_networkdiscovery.o \ + release/moc_interfaceconfiguration.o \ + release/moc_ndgui.o \ + release/qrc_nd.o +DIST = /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/g++.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/unix.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/common/linux.conf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/qconfig.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/modules/qt_webkit_version.pri \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_functions.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt_config.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/exclusive_builds.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_pre.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/debug_and_release.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/default_post.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/build_pass.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/warn_on.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/qt.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/unix/thread.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/moc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/resources.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/uic.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/yacc.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/lex.prf \ + /usr/local/Trolltech/Qt-4.7.2/mkspecs/features/include_source_dir.prf \ + LogReceiver.pro +QMAKE_TARGET = LogReceiver +DESTDIR = +TARGET = LogReceiver + +first: all +####### Implicit rules + +.SUFFIXES: .o .c .cpp .cc .cxx .C + +.cpp.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cc.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.cxx.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.C.o: + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o "$@" "$<" + +.c.o: + $(CC) -c $(CFLAGS) $(INCPATH) -o "$@" "$<" + +####### Build rules + +all: Makefile.Release $(TARGET) + +$(TARGET): ui_ndgui.h $(OBJECTS) + $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS) + +qmake: FORCE + @$(QMAKE) CONFIG+=debug_and_release -o Makefile.Release LogReceiver.pro + +dist: + @$(CHK_DIR_EXISTS) release/LogReceiver1.0.0 || $(MKDIR) release/LogReceiver1.0.0 + $(COPY_FILE) --parents $(SOURCES) $(DIST) release/LogReceiver1.0.0/ && $(COPY_FILE) --parents networkmanager.h networkdiscovery.h interfaceconfiguration.h ndgui.h release/LogReceiver1.0.0/ && $(COPY_FILE) --parents nd.qrc release/LogReceiver1.0.0/ && $(COPY_FILE) --parents networkmanager.cpp networkdiscovery.cpp interfaceconfiguration.cpp ndgui.cpp main.cpp release/LogReceiver1.0.0/ && $(COPY_FILE) --parents ndgui.ui release/LogReceiver1.0.0/ && (cd `dirname release/LogReceiver1.0.0` && $(TAR) LogReceiver1.0.0.tar LogReceiver1.0.0 && $(COMPRESS) LogReceiver1.0.0.tar) && $(MOVE) `dirname release/LogReceiver1.0.0`/LogReceiver1.0.0.tar.gz . && $(DEL_FILE) -r release/LogReceiver1.0.0 + + +clean:compiler_clean + -$(DEL_FILE) $(OBJECTS) + -$(DEL_FILE) *~ core *.core + + +####### Sub-libraries + +distclean: clean + -$(DEL_FILE) $(TARGET) + -$(DEL_FILE) Makefile.Release + + +check: first + +mocclean: compiler_moc_header_clean compiler_moc_source_clean + +mocables: compiler_moc_header_make_all compiler_moc_source_make_all + +compiler_moc_header_make_all: release/moc_networkmanager.cpp release/moc_networkdiscovery.cpp release/moc_interfaceconfiguration.cpp release/moc_ndgui.cpp +compiler_moc_header_clean: + -$(DEL_FILE) release/moc_networkmanager.cpp release/moc_networkdiscovery.cpp release/moc_interfaceconfiguration.cpp release/moc_ndgui.cpp +release/moc_networkmanager.cpp: networkmanager.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) networkmanager.h -o release/moc_networkmanager.cpp + +release/moc_networkdiscovery.cpp: interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h \ + networkdiscovery.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) networkdiscovery.h -o release/moc_networkdiscovery.cpp + +release/moc_interfaceconfiguration.cpp: interfaceconfiguration.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) interfaceconfiguration.h -o release/moc_interfaceconfiguration.cpp + +release/moc_ndgui.cpp: networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h \ + ndgui.h + /usr/local/Trolltech/Qt-4.7.2/bin/moc $(DEFINES) $(INCPATH) ndgui.h -o release/moc_ndgui.cpp + +compiler_rcc_make_all: release/qrc_nd.cpp +compiler_rcc_clean: + -$(DEL_FILE) release/qrc_nd.cpp +release/qrc_nd.cpp: nd.qrc \ + html/networkdiscovery_userchoice.html \ + html/networkdiscovery.css \ + html/continueBoot.html \ + html/preload-debug.html \ + html/networkdiscovery.html \ + html/background.png \ + html/css/jquery-ui-1.8.16.css \ + html/css/images/ui-icons_228ef1_256x240.png \ + html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png \ + html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png \ + html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png \ + html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png \ + html/css/images/ui-icons_222222_256x240.png \ + html/css/images/ui-icons_ffd27a_256x240.png \ + html/css/images/ui-bg_glass_65_ffffff_1x400.png \ + html/css/images/ui-icons_ef8c08_256x240.png \ + html/css/images/ui-bg_glass_100_f6f6f6_1x400.png \ + html/css/images/ui-bg_glass_100_fdf5ce_1x400.png \ + html/css/images/ui-bg_flat_10_000000_40x100.png \ + html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png \ + html/css/images/ui-icons_ffffff_256x240.png \ + html/js/jquery-ui-1.8.16.min.js \ + html/js/jquery-1.6.4.min.js + /usr/local/Trolltech/Qt-4.7.2/bin/rcc -name nd nd.qrc -o release/qrc_nd.cpp + +compiler_image_collection_make_all: qmake_image_collection.cpp +compiler_image_collection_clean: + -$(DEL_FILE) qmake_image_collection.cpp +compiler_moc_source_make_all: +compiler_moc_source_clean: +compiler_uic_make_all: ui_ndgui.h +compiler_uic_clean: + -$(DEL_FILE) ui_ndgui.h +ui_ndgui.h: ndgui.ui + /usr/local/Trolltech/Qt-4.7.2/bin/uic ndgui.ui -o ui_ndgui.h + +compiler_yacc_decl_make_all: +compiler_yacc_decl_clean: +compiler_yacc_impl_make_all: +compiler_yacc_impl_clean: +compiler_lex_make_all: +compiler_lex_clean: +compiler_clean: compiler_moc_header_clean compiler_rcc_clean compiler_uic_clean + +####### Compile + +release/networkmanager.o: networkmanager.cpp networkmanager.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/networkmanager.o networkmanager.cpp + +release/networkdiscovery.o: networkdiscovery.cpp networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/networkdiscovery.o networkdiscovery.cpp + +release/interfaceconfiguration.o: interfaceconfiguration.cpp interfaceconfiguration.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/interfaceconfiguration.o interfaceconfiguration.cpp + +release/ndgui.o: ndgui.cpp ndgui.h \ + networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/ndgui.o ndgui.cpp + +release/main.o: main.cpp ndgui.h \ + networkdiscovery.h \ + interfaceconfiguration.h \ + networkmanager.h \ + ../common/fbgui.h + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/main.o main.cpp + +release/moc_networkmanager.o: release/moc_networkmanager.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_networkmanager.o release/moc_networkmanager.cpp + +release/moc_networkdiscovery.o: release/moc_networkdiscovery.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_networkdiscovery.o release/moc_networkdiscovery.cpp + +release/moc_interfaceconfiguration.o: release/moc_interfaceconfiguration.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_interfaceconfiguration.o release/moc_interfaceconfiguration.cpp + +release/moc_ndgui.o: release/moc_ndgui.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/moc_ndgui.o release/moc_ndgui.cpp + +release/qrc_nd.o: release/qrc_nd.cpp + $(CXX) -c $(CXXFLAGS) $(INCPATH) -o release/qrc_nd.o release/qrc_nd.cpp + +####### Install + +install: FORCE + +uninstall: FORCE + +FORCE: + diff --git a/NetworkDiscovery/html/background.png b/NetworkDiscovery/html/background.png new file mode 100644 index 0000000..7e374f9 Binary files /dev/null and b/NetworkDiscovery/html/background.png differ diff --git a/NetworkDiscovery/html/continueBoot.html b/NetworkDiscovery/html/continueBoot.html new file mode 100644 index 0000000..89020b7 --- /dev/null +++ b/NetworkDiscovery/html/continueBoot.html @@ -0,0 +1,24 @@ + + + + + + + + + + + +
      +
      +
      +

      Continue Boot

      +
      +
      + +
      + + + diff --git a/NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000..954e22d Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 0000000..64ece57 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_flat_10_000000_40x100.png b/NetworkDiscovery/html/css/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000..abdc010 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_flat_10_000000_40x100.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png b/NetworkDiscovery/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000..9b383f4 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png b/NetworkDiscovery/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100644 index 0000000..a23baad Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_glass_65_ffffff_1x400.png b/NetworkDiscovery/html/css/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..42ccba2 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/NetworkDiscovery/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 0000000..39d5824 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/NetworkDiscovery/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000..f127367 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png differ diff --git a/NetworkDiscovery/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/NetworkDiscovery/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png new file mode 100644 index 0000000..359397a Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png differ diff --git a/NetworkDiscovery/html/css/images/ui-icons_222222_256x240.png b/NetworkDiscovery/html/css/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..b273ff1 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-icons_222222_256x240.png differ diff --git a/NetworkDiscovery/html/css/images/ui-icons_228ef1_256x240.png b/NetworkDiscovery/html/css/images/ui-icons_228ef1_256x240.png new file mode 100644 index 0000000..a641a37 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-icons_228ef1_256x240.png differ diff --git a/NetworkDiscovery/html/css/images/ui-icons_ef8c08_256x240.png b/NetworkDiscovery/html/css/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 0000000..85e63e9 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-icons_ef8c08_256x240.png differ diff --git a/NetworkDiscovery/html/css/images/ui-icons_ffd27a_256x240.png b/NetworkDiscovery/html/css/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000..e117eff Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-icons_ffd27a_256x240.png differ diff --git a/NetworkDiscovery/html/css/images/ui-icons_ffffff_256x240.png b/NetworkDiscovery/html/css/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000..42f8f99 Binary files /dev/null and b/NetworkDiscovery/html/css/images/ui-icons_ffffff_256x240.png differ diff --git a/NetworkDiscovery/html/css/jquery-ui-1.8.16.css b/NetworkDiscovery/html/css/jquery-ui-1.8.16.css new file mode 100644 index 0000000..5547c7b --- /dev/null +++ b/NetworkDiscovery/html/css/jquery-ui-1.8.16.css @@ -0,0 +1,568 @@ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* + * jQuery UI Resizable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/NetworkDiscovery/html/js/jquery-1.6.4.min.js b/NetworkDiscovery/html/js/jquery-1.6.4.min.js new file mode 100644 index 0000000..628ed9b --- /dev/null +++ b/NetworkDiscovery/html/js/jquery-1.6.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */ +(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
      a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
      ",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
      t
      ",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

      ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
      ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
      ","
      "],thead:[1,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],col:[2,"","
      "],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
      ","
      "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
      ").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
      ";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/NetworkDiscovery/html/js/jquery-ui-1.8.16.min.js b/NetworkDiscovery/html/js/jquery-ui-1.8.16.min.js new file mode 100644 index 0000000..14c9064 --- /dev/null +++ b/NetworkDiscovery/html/js/jquery-ui-1.8.16.min.js @@ -0,0 +1,791 @@ +/*! + * jQuery UI 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16", +keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= +this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, +"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": +"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, +outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, +"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& +a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= +false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, +left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= +k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= +m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= +d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= +a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), +g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('
      ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options; +this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); +this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, +_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= +false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, +10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| +!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& +a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= +this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), +10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), +10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, +(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= +"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), +10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ +this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& +!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.leftg[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.topg[3])?h:!(h-this.offset.click.topg[2])?e:!(e-this.offset.click.left=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); +var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= +false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); +this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= +{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; +if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, +_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, +{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: +Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(cb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= +null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ +a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ +c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); +b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), +10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- +f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? +e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= +e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; +var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: +a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- +d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, +f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= +e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= +d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
      ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== +"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& +!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, +left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= +this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= +d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| +0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", +a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- +f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- +this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, +this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", +a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), +e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| +e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("
        ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, +this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("");e.secondary&&a.append("");if(!this.options.text){d.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")=== +"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); +b.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, +position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
        ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
        ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; +d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
        ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
        ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, +function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", +handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, +originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", +f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): +[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); +if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): +e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= +this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- +b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&& +c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j"); +this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", +g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? +(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- +m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); +return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; +this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- +g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
        ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
      • #{label}
      • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= +d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); +this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ +g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", +function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; +this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= +-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; +d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= +d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, +e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); +j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); +if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, +this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, +load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, +"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k'))}function N(a){return a.bind("mouseout", +function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); +b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, +setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, +"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
        '))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", +function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== +"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): +d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, +b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= +1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ +2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= +a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, +"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== +a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", +a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= +"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); +c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= +true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); +a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& +!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), +h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= +this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); +this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, +_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): +0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? +"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); +this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); +if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? +b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd", +COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: +null)||this._defaults.monthNames;var i=function(o){(o=k+1 +12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& +a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, +g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
        '+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
        ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
        '+(/all|left/.test(t)&& +x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
        ';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
        '+this._get(a,"weekHeader")+"
        '+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ +r.getDate()+"":''+r.getDate()+"")+"
        "+(l?""+(i[0]>0&&G==i[1]-1?'
        ':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
        ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, +e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
        ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ +(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? +a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, +e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, +"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; +if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== +"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
        ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Effects 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", +"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, +0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, +211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, +d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; +f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, +[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), +d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; +if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); +return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, +arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ +2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, +d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, +a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, +d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], +10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/NetworkDiscovery/html/js/nd-functions.js b/NetworkDiscovery/html/js/nd-functions.js new file mode 100644 index 0000000..e3ee793 --- /dev/null +++ b/NetworkDiscovery/html/js/nd-functions.js @@ -0,0 +1,73 @@ +var abortBootDialog = function (m) { + $("#nd_abort_boot_msg").html(m); + $("#nd_abort_boot_dialog").dialog( + { buttons: { "Show Log": function() {fbgui.showLog(); + $(this).dialog("close");}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +}; + +var chooseInterfaceDialog = function (i) { + var cb = ""+ + ""; + $("#nd_choose_interface_msg").html(cb); + $("#nd_choose_interface_dialog").dialog( + { buttons: { "Show Log": function() {fbgui.showLog(); + $(this).dialog("close");}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); }, + "Continue": function() { fbgui.continueBoot(); + $(this).dialog("close"); } + } , + minWidth: 550, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +} + +var updateStatus = function (s){ + +}; + +var updateIfProgressBar = function (i, p){ + if (p >= 0 && p <= 100){ + $("#"+i+"_progress").progressbar({ value: p }); + }else{ + $("#"+i+"_progress").progressbar({ value: 0 }); + } +}; + +var updateIfStatus = function(i, s){ + $("#"+i+"_status").html(s); +}; + +var addInterface = function (i){ + $("#nd_progress_container").append( + "
        "+ + " Interface: " +i+ + " Start DHCP " + + "
        "+ + "
        " + ); + $("#"+i+"_progress").progressbar({ value: 33 }); +}; + + diff --git a/NetworkDiscovery/html/js/test.js b/NetworkDiscovery/html/js/test.js new file mode 100644 index 0000000..be4ec41 --- /dev/null +++ b/NetworkDiscovery/html/js/test.js @@ -0,0 +1,3 @@ +function qrcAlert(){ + alert('Hello qrc'); +} diff --git a/NetworkDiscovery/html/loadsystem.css b/NetworkDiscovery/html/loadsystem.css new file mode 100644 index 0000000..6a6e64f --- /dev/null +++ b/NetworkDiscovery/html/loadsystem.css @@ -0,0 +1,90 @@ +html,body{ + height:100%; +} +body{ + margin:0; + padding:0; + background-color:black; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} +#message{ + position:relative; + font-size:90%; + top:40%; +} +h1, p{ + text-align:center; + color:white; +} +* html{ + height:100%; +} +/* position the bars and balls correctly (rotate them and translate them outward)*/ +.bar1 { + -moz-transform:rotate(0deg) translate(0, -40px); + -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; +} +.bar2 { + -moz-transform:rotate(45deg) translate(0, -40px); + -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; +} +.bar3 { + -moz-transform:rotate(90deg) translate(0, -40px); + -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; +} +.bar4 { + -moz-transform:rotate(135deg) translate(0, -40px); + -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; +} +.bar5 { + -moz-transform:rotate(180deg) translate(0, -40px); + -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; +} +.bar6 { + -moz-transform:rotate(225deg) translate(0, -40px); + -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; +} +.bar7 { + -moz-transform:rotate(270deg) translate(0, -40px); + -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; +} +.bar8 { + -moz-transform:rotate(315deg) translate(0, -40px); + -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; +} +#div4 { + position:absolute; + left:50%; + top:50%; + margin-left:-50px; + margin-top:-50px; + width:100px; + height:100px; + -moz-border-radius:100px; + -webkit-border-radius:100px; + -moz-transform:scale(0.5); + -webkit-transform:scale(0.5); + -webkit-animation-name: rotateThis; + -webkit-animation-duration:2s; + -webkit-animation-iteration-count:infinite; + -webkit-animation-timing-function:linear; +} +#div4 div { + width:20px; + height:20px; + background:#fff; + -moz-border-radius:40px; + -webkit-border-radius:40px; + position:absolute; + left:40px; + top:40px; +} +/* add a shadow to the first */ +#div4 div { + -moz-box-shadow:black 0 0 4px; + -webkit-box-shadow:black 0 0 4px; +} diff --git a/NetworkDiscovery/html/loadsystem.html b/NetworkDiscovery/html/loadsystem.html new file mode 100644 index 0000000..838423e --- /dev/null +++ b/NetworkDiscovery/html/loadsystem.html @@ -0,0 +1,35 @@ + + + + + + + +
        +

        Loading system, please wait...

        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + diff --git a/NetworkDiscovery/html/networkdiscovery.css b/NetworkDiscovery/html/networkdiscovery.css new file mode 100644 index 0000000..669ad58 --- /dev/null +++ b/NetworkDiscovery/html/networkdiscovery.css @@ -0,0 +1,80 @@ +html,body{ + height:100%; +} + +label, input { + display:block +} + +input.text { + margin-bottom:12px; + width:95%; + padding: .4em; +} + +fieldset { + padding:0; + border:0; + margin-top:25px; +} + +.validateTips { + border:1px solid transparent; + padding: 0.3; +} + +body{ + margin:0; + padding:0; + /*background-color:blue; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} + +/* Tell the browser to render HTML 5 elements as block */ +header, footer, aside { + display: block; +} + +#intro { + margin: 20px; +} + +#content { + display: table; + width: 100%; +} + +#mainContent { + display: table-cell; + width: 620px; + padding-right: 22px; + padding-left: 22px; +} + +aside { + display: table-cell; + width: 300px; +} + +#nd_manual_configuration_dialog, #nd_show_log_dialog { + display:none; +} + +textarea { + width: 400px; + resize: none; +} + +h1 { + margin-top: 20px; +} + +h1, p{ + color:#333; + text-align:center; +} + diff --git a/NetworkDiscovery/html/networkdiscovery.html b/NetworkDiscovery/html/networkdiscovery.html new file mode 100644 index 0000000..6d370d1 --- /dev/null +++ b/NetworkDiscovery/html/networkdiscovery.html @@ -0,0 +1,276 @@ + + + + + + + + + + + + + +
        +

        Network Discovery

        +
        +
        +

        Welcome to the Network Discovery. We are now looking for usable interfaces and will go on as soon as we found one. This may take a few seconds.

        +
        +
        +
        + +
        +
        +
        + +

        test

        + +
        + +
        + +
        +

        +

        + +
        +

        +
        + +
        +

        +

        All form fields are required.

        +
        +
        + + + + + + + + + + + + +
        +
        +
        + +
        +
        +
        +
        + +
        +
        +
        +

        RZ Uni Freiburg, 2011

        +
        + + diff --git a/NetworkDiscovery/html/networkdiscovery_userchoice.html b/NetworkDiscovery/html/networkdiscovery_userchoice.html new file mode 100644 index 0000000..9cf165f --- /dev/null +++ b/NetworkDiscovery/html/networkdiscovery_userchoice.html @@ -0,0 +1,22 @@ + + + + + + + + + + + +
        +

        Network Discovery

        +
        +
        +

        Please press F5 if you want to choose which interface to use.

        +
        +
        +

        RZ Uni Freiburg, 2011

        +
        + + diff --git a/NetworkDiscovery/html/old.png b/NetworkDiscovery/html/old.png new file mode 100644 index 0000000..84dd7b3 Binary files /dev/null and b/NetworkDiscovery/html/old.png differ diff --git a/NetworkDiscovery/html/old.txt b/NetworkDiscovery/html/old.txt new file mode 100644 index 0000000..5679b55 --- /dev/null +++ b/NetworkDiscovery/html/old.txt @@ -0,0 +1,19 @@ +/* Tell the browser to render HTML 5 elements as block */ +header, footer, aside { + display: block; +} + +#content { + display: table; +} + +#mainContent { + display: table-cell; + width: 620px; + padding-right: 22px; +} + +aside { + display: table-cell; + width: 300px; +} diff --git a/NetworkDiscovery/html/preload-debug.html b/NetworkDiscovery/html/preload-debug.html new file mode 100644 index 0000000..29d7391 --- /dev/null +++ b/NetworkDiscovery/html/preload-debug.html @@ -0,0 +1,34 @@ + + + + + + +
        +
        +
        +

        Preboot GUI

        +

        Waiting on internet... + + +

        +
        +
        + +
        + + + diff --git a/NetworkDiscovery/html/preload.css b/NetworkDiscovery/html/preload.css new file mode 100644 index 0000000..e1eff68 --- /dev/null +++ b/NetworkDiscovery/html/preload.css @@ -0,0 +1,105 @@ +html,body{ + height:100%; +} +body{ + margin:0; + padding:0; + background-color:black; + /* + background-image:url('background.png'); + background-repeat:no-repeat; + */ + background-size:100%; +} +#top{ + position:absolute; +} +#message{ + position:absolute; + top:37%; + width:100%; + font-size:90%; +} +h1, p{ + color:white; + text-align:center; +} +#container{ + min-height:100%; + margin-bottom:-50px; +} +* html #container{ + height:100%; +} +#footer-spacer{ + height:0px; +} +#footer{ + height:30px; +} +/* animation */ +/* position the bars and balls correctly (rotate them and translate them outward)*/ +.bar1 { + -moz-transform:rotate(0deg) translate(0, -40px); + -webkit-transform:rotate(0deg) translate(0, -40px);opacity:0.12; +} +.bar2 { + -moz-transform:rotate(45deg) translate(0, -40px); + -webkit-transform:rotate(45deg) translate(0, -40px);opacity:0.25; +} +.bar3 { + -moz-transform:rotate(90deg) translate(0, -40px); + -webkit-transform:rotate(90deg) translate(0, -40px);opacity:0.37; +} +.bar4 { + -moz-transform:rotate(135deg) translate(0, -40px); + -webkit-transform:rotate(135deg) translate(0, -40px);opacity:0.50; +} +.bar5 { + -moz-transform:rotate(180deg) translate(0, -40px); + -webkit-transform:rotate(180deg) translate(0, -40px);opacity:0.62; +} +.bar6 { + -moz-transform:rotate(225deg) translate(0, -40px); + -webkit-transform:rotate(225deg) translate(0, -40px);opacity:0.75; +} +.bar7 { + -moz-transform:rotate(270deg) translate(0, -40px); + -webkit-transform:rotate(270deg) translate(0, -40px);opacity:0.87; +} +.bar8 { + -moz-transform:rotate(315deg) translate(0, -40px); + -webkit-transform:rotate(315deg) translate(0, -40px);opacity:1; +} +#div4 { + position:absolute; + left:50%; + top:50%; + margin-left:-50px; + margin-top:-50px; + width:100px; + height:100px; + -moz-border-radius:100px; + -webkit-border-radius:100px; + -moz-transform:scale(0.5); + -webkit-transform:scale(0.5); + -webkit-animation-name: rotateThis; + -webkit-animation-duration:2s; + -webkit-animation-iteration-count:infinite; + -webkit-animation-timing-function:linear; +} +#div4 div { + width:20px; + height:20px; + background:#fff; + -moz-border-radius:40px; + -webkit-border-radius:40px; + position:absolute; + left:40px; + top:40px; +} +/* add a shadow to the first */ +#div4 div { + -moz-box-shadow:black 0 0 4px; + -webkit-box-shadow:black 0 0 4px; +} diff --git a/NetworkDiscovery/html/preload.html b/NetworkDiscovery/html/preload.html new file mode 100644 index 0000000..bc0abd9 --- /dev/null +++ b/NetworkDiscovery/html/preload.html @@ -0,0 +1,42 @@ + + + + + + +
        +
        +
        +

        Waiting for internet...

        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + +
        + + + diff --git a/NetworkDiscovery/html/test.css b/NetworkDiscovery/html/test.css new file mode 100644 index 0000000..5679b55 --- /dev/null +++ b/NetworkDiscovery/html/test.css @@ -0,0 +1,19 @@ +/* Tell the browser to render HTML 5 elements as block */ +header, footer, aside { + display: block; +} + +#content { + display: table; +} + +#mainContent { + display: table-cell; + width: 620px; + padding-right: 22px; +} + +aside { + display: table-cell; + width: 300px; +} diff --git a/NetworkDiscovery/html/test.html b/NetworkDiscovery/html/test.html new file mode 100644 index 0000000..c5132b1 --- /dev/null +++ b/NetworkDiscovery/html/test.html @@ -0,0 +1,39 @@ + + + + Network Discovery + + + +
        +

        Network Discovery

        +
        +
        +

        Welcome to the Network Discovery. We are now looking for usable interfaces and will go on as soon as we found one. This may take a few seconds.

        +
        +
        +
        + +
        +
        +
        + +

        +
        +
        +
        + +
        +
        +
        + + RZ Uni Freiburg, 2011 +
        + + + + diff --git a/NetworkDiscovery/interfaceconfiguration.cpp b/NetworkDiscovery/interfaceconfiguration.cpp new file mode 100644 index 0000000..e1eb1d8 --- /dev/null +++ b/NetworkDiscovery/interfaceconfiguration.cpp @@ -0,0 +1,134 @@ +/* + * interfaceconfiguration.cpp + * + * Created on: Sep 2, 2011 + * Author: niklas + */ +#include "interfaceconfiguration.h" + +interfaceconfiguration::interfaceconfiguration() { + _tag = "[nd:InterfaceConfiguration]"; +} + +interfaceconfiguration::~interfaceconfiguration() { + // TODO Auto-generated destructor stub +} + +/** + * This method reads the configuration values out of a file. + * + * This method reads the configuration values out of a file. + * The file has to be created before by the customdhcpcd QProcess. + * (Overwrites the old values if they are already present.) + * + * @param pathToConfig + * contains the path to the configuration file. + */ +bool interfaceconfiguration::readConfigOutOfFile(QString pathToConfig) { + QFile file(pathToConfig); + if (file.exists()) { + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + qDebug() << _tag << "couldn't open file:" << pathToConfig; + return false; + } + qDebug() << _tag << "read config file"; + while (!file.atEnd()) { + QString line(file.readLine()); + QStringList splitedLine = line.split("="); + QString name = splitedLine.first().trimmed(); + splitedLine.removeFirst(); + QString values = splitedLine.first().trimmed(); + values.remove(QChar('\'')); + + if (name.compare("IPADDR") == 0) { + this->ipAddress = values; + } else if (name.compare("NETMASK") == 0) { + this->netmask = values; + } else if (name.compare("NETWORK") == 0) { + this->network = values; + } else if (name.compare("BROADCAST") == 0) { + this->broadcast = values; + } else if (name.compare("ROUTES") == 0) { + this->routes = values; + } else if (name.compare("GATEWAYS") == 0) { + this->gateways = values; + this->gateway = this->gateways.split(" ").first().trimmed(); + } else if (name.compare("HOSTNAME") == 0) { + this->hostname = values; + } else if (name.compare("DNSSEARCH") == 0) { + this->dnssearch = values; + } else if (name.compare("DNSSERVERS") == 0) { + this->dnsservers = values; + } else if (name.compare("DHCPSID") == 0) { + this->dhcpsid = values; + } else if (name.compare("INTERFACE") == 0) { + this->interface = values; + } else if (name.compare("CLIENTID") == 0) { + this->clientid = values; + } else if (name.compare("DHCPCHADDR") == 0) { + this->dhcpchaddr = values; + } else { + qDebug() << _tag << "read unknown name" << name << values; + } + } + } else { + qDebug() << _tag << "file doesn't exist:" << pathToConfig; + return false; + } + return true; +} + +QString interfaceconfiguration::getBroadcast() { + return broadcast; +} + +QString interfaceconfiguration::getClientid() { + return clientid; +} + +QString interfaceconfiguration::getDhcpchaddr() { + return dhcpchaddr; +} + +QString interfaceconfiguration::getDhcpsid() { + return dhcpsid; +} +QString interfaceconfiguration::getDnssearch() { + return dnssearch; +} + +QString interfaceconfiguration::getDnsservers() { + return dnsservers; +} + +QString interfaceconfiguration::getGateways() { + return gateways; +} + +QString interfaceconfiguration::getGateway() { + return gateway; +} + +QString interfaceconfiguration::getHostname() { + return hostname; +} + +QString interfaceconfiguration::getInterface() { + return interface; +} + +QString interfaceconfiguration::getIpAddress() { + return ipAddress; +} + +QString interfaceconfiguration::getNetmask() { + return netmask; +} + +QString interfaceconfiguration::getNetwork() { + return network; +} + +QString interfaceconfiguration::getRoutes() { + return routes; +} diff --git a/NetworkDiscovery/interfaceconfiguration.h b/NetworkDiscovery/interfaceconfiguration.h new file mode 100644 index 0000000..2656b3f --- /dev/null +++ b/NetworkDiscovery/interfaceconfiguration.h @@ -0,0 +1,58 @@ +/* + * interfaceconfiguration.h + * + * Created on: Sep 2, 2011 + * Author: niklas + */ + +#ifndef INTERFACECONFIGURATION_H_ +#define INTERFACECONFIGURATION_H_ + +#include + +class interfaceconfiguration: public QObject { +Q_OBJECT + +public: + interfaceconfiguration(); + interfaceconfiguration(const interfaceconfiguration &other); + + interfaceconfiguration &operator=(const interfaceconfiguration &other); + virtual ~interfaceconfiguration(); + + bool readConfigOutOfFile(QString pathToConfig); + QString getBroadcast(); + QString getClientid(); + QString getDhcpchaddr(); + QString getDhcpsid(); + QString getDnssearch(); + QString getDnsservers(); + QString getGateways(); + QString getGateway(); + QString getHostname(); + QString getInterface(); + QString getIpAddress(); + QString getNetmask(); + QString getNetwork(); + QString getRoutes(); + +private: + QString _tag; + + QString ipAddress; + QString netmask; + QString network; + QString broadcast; + QString routes; + QString gateway; + QString gateways; + QString hostname; + QString dnssearch; + QString dnsservers; + QString dhcpsid; + QString interface; + QString clientid; + QString dhcpchaddr; +}; + +#endif /* INTERFACECONFIGURATION_H_ */ diff --git a/NetworkDiscovery/main.cpp b/NetworkDiscovery/main.cpp new file mode 100644 index 0000000..a8cd960 --- /dev/null +++ b/NetworkDiscovery/main.cpp @@ -0,0 +1,12 @@ +#include "ndgui.h" + +#include +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + ndgui w; + w.show(); + return a.exec(); +} diff --git a/NetworkDiscovery/nd.qrc b/NetworkDiscovery/nd.qrc new file mode 100644 index 0000000..686419e --- /dev/null +++ b/NetworkDiscovery/nd.qrc @@ -0,0 +1,27 @@ + + + html/css/jquery-ui-1.8.16.css + html/js/jquery-1.6.4.min.js + html/js/jquery-ui-1.8.16.min.js + html/background.png + html/networkdiscovery.css + html/networkdiscovery.html + html/preload-debug.html + html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png + html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png + html/css/images/ui-bg_flat_10_000000_40x100.png + html/css/images/ui-bg_glass_65_ffffff_1x400.png + html/css/images/ui-bg_glass_100_f6f6f6_1x400.png + html/css/images/ui-bg_glass_100_fdf5ce_1x400.png + html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png + html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png + html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png + html/css/images/ui-icons_228ef1_256x240.png + html/css/images/ui-icons_222222_256x240.png + html/css/images/ui-icons_ef8c08_256x240.png + html/css/images/ui-icons_ffd27a_256x240.png + html/css/images/ui-icons_ffffff_256x240.png + html/continueBoot.html + html/networkdiscovery_userchoice.html + + diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp new file mode 100644 index 0000000..bf3b05e --- /dev/null +++ b/NetworkDiscovery/ndgui.cpp @@ -0,0 +1,267 @@ +#include "ndgui.h" + +ndgui::ndgui(QMainWindow *parent) : + QMainWindow(parent) { + + _tag = "[nd:ndgui]"; + + _started = false; + _userChoice = false; + + createAction(); + + connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); + connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); + connect(&networkDiscovery, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); + connect(&networkDiscovery, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); + connect(&networkDiscovery, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); + connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); + + + + _webView = new QWebView(this); + connect(_webView->page()->mainFrame(), SIGNAL( + javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); + setCentralWidget(_webView); + setWindowTitle(tr("NetD")); + setAttribute(Qt::WA_QuitOnClose, true); + setWindowFlags(Qt::FramelessWindowHint); + + _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); + _webView->show(); + + QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); + +} + + + +ndgui::~ndgui() { + +} + + + +void ndgui::createAction() { + _allowUserChoice = new QAction(tr("&quit"), this); + _allowUserChoice->setShortcut(QKeySequence(Qt::Key_F5)); + connect(_allowUserChoice, SIGNAL(triggered()), this, SLOT(setUserChoiceTrue())); + this->addAction(_allowUserChoice); +} + + + +void ndgui::setUserChoiceTrue() { + _userChoice = true; +} + + + +void ndgui::prepareNetworkDiscover() { + connect(_webView, SIGNAL(loadFinished(bool)), this, + SLOT(startNetworkDiscovery())); + this->removeAction(_allowUserChoice); + + _webView->load(QUrl("qrc:html/networkdiscovery.html")); + _webView->show(); +} + + + +void ndgui::startNetworkDiscovery(){ + + disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); + if(!_started) { + _started = true; + networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom"); + } + else { + qDebug() << _tag << "NetworkDiscovery already started"; + } +} + + + +void ndgui::handleConnectionEstablished(QString ifName) { + _ifNameList.append(ifName); +} + + + +void ndgui::handleAllProcessesFinished() { + qDebug() << _tag << "all Processes finished"; + if(_ifNameList.size() > 0) { + QString jsonArr = "["; + for(int i = 0; i < _ifNameList.size()-1; i++) { + jsonArr += "\"" + _ifNameList.value(i) + "\","; + } + jsonArr += "\"" + _ifNameList.last() + "\"]"; + chooseInterfaceDialog(jsonArr); + } else { + abortBoot("No usable interfaces found!"); + } +} + + + +void ndgui::restartSystem() { + +} + + + +void ndgui::shutDownSystem() { + +} + + + +void ndgui::continueBoot(QString ifName, int userChoice) { + if (!userChoice) { + QString text = "continue with interface: " + ifName; + qDebug() << _tag << text << "no user choice"; + } else { + QString text = "continue with interface: " + ifName; + qDebug() << _tag << text << "with user choice"; + QString gateway = networkDiscovery.getGatewayForInterface(ifName); + networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); + } + _webView->load(QUrl("qrc:html/continueBoot.html")); +} + + + +QString ndgui::readLogFile() { + qDebug() << _tag << "show log"; + return networkDiscovery.readLogFile(); +} + + + +/*test html gui version*/ + +QVariantList ndgui::getManualConfInterfaces() { + qDebug() << _tag << "call getManualConfInterfaces"; + QVariantList jsonArr; + foreach (QString s, _manConfList) { + QVariant e(s); + jsonArr << e; + } + qDebug() << _tag << "value of jsonArr:" << jsonArr; + return jsonArr; +} + + + +int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { + return networkDiscovery.ip4_setManualConfiguration(jsonArr); + +} + + + +/* slots */ +/************************************************/ +////////////////////////////////////////////////// +/************************************************/ + +void ndgui::attachToDOM(){ + _webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("fbgui"), this); + loadJQuery(); +} + + + +void ndgui::loadJQuery() { + QString js; + QString pathToJsDir(":/html"); + pathToJsDir.append("/js"); + + QDir qrcJSDir(pathToJsDir); + QFileInfoList fiList = qrcJSDir.entryInfoList(); + QFileInfo fi; + foreach(fi, fiList) + { + if (fi.suffix() == "js") { + //qDebug()<< fi.fileName(); + //qxtLog->debug() << fi.fileName(); + if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { + QFile file; + file.setFileName(pathToJsDir + "/" + fi.fileName()); + file.open(QIODevice::ReadOnly); + js = file.readAll(); + file.close(); + + _webView->page()->mainFrame()->evaluateJavaScript(js); + //qxtLog->debug() << "evaluated " + fi.fileName(); + } + } + } +} + + + +//diese methoden müssen später in die javascriptInterface Klasse eingefügt werden. + +// dieser code muss später in die javascriptInterface klasse der fbgui eingefügt werden +// tausche dazu ndgui zu javascriptinterface +// und _webView->page()->mainFrame() zu _parent + +void ndgui::abortBoot(const QString msg) { + qDebug() << _tag << "call abortBoot:" << msg; + QString code = QString("abortBootDialog('\%1')").arg(msg); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +void ndgui::chooseInterfaceDialog(const QString msg) { + QString code = QString("chooseInterfaceDialog(\%1)").arg(msg); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +void ndgui::updateStatus(const QString &status) { + if (status == "") + return; + QString code = QString("updateStatus('\%1')").arg(status); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { + if (percent == 0) + return; + qDebug() << _tag << "call updateIfProgressBar"; + QString code = QString("updateIfProgressBar('\%1',\%2)").arg(ifName).arg(percent); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +void ndgui::updateIfStatus(const QString &ifName, const QString &status) { + if (ifName == "") + return; + QString code = QString("updateIfStatus('\%1','\%2')").arg(ifName).arg(status); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +void ndgui::addInterface(const QString &ifName) { + if (ifName == "") + return; + qDebug() << _tag << "call addInterface"; + _manConfList.append(ifName); + QString code = QString("addInterface('\%1')").arg(ifName); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +void ndgui::notifyCall(QString msg){ + qDebug() << _tag << "------ called:" << msg; +} diff --git a/NetworkDiscovery/ndgui.h b/NetworkDiscovery/ndgui.h new file mode 100644 index 0000000..a3d40cc --- /dev/null +++ b/NetworkDiscovery/ndgui.h @@ -0,0 +1,71 @@ +#ifndef NDGUI_H +#define NDGUI_H + +#include +#include +#include + +#include "networkdiscovery.h" + +class ndgui: public QMainWindow { +Q_OBJECT + +public: + ndgui(QMainWindow *parent = 0); + ~ndgui(); + Q_INVOKABLE QVariantList getManualConfInterfaces(); + Q_INVOKABLE int ip4_setManualConfiguration(QVariantMap result); + Q_INVOKABLE QString readLogFile(); + +public slots: + void handleConnectionEstablished(QString ifName); + void abortBoot(QString msg); + void chooseInterfaceDialog(QString msg); + void handleAllProcessesFinished(); + + void restartSystem(); + void shutDownSystem(); + void continueBoot(QString ifName, int userChoice); + + + void prepareNetworkDiscover(); + void startNetworkDiscovery(); + + /*test for html gui version*/ + void attachToDOM(); + void loadJQuery(); + void addInterface(const QString &ifName); + void updateIfStatus(const QString &ifName, const QString &status); + void updateStatus(const QString &status); + void updateIfProgressBar(const QString &ifName, const int& percent); + void notifyCall(QString msg); + + +private slots: + void setUserChoiceTrue(); +private: + + QString _tag; + + void createAction(); + + bool _userChoice; + + bool _started; + + QWebView * _webView; + + QAction * _allowUserChoice; + + NetworkDiscovery networkDiscovery; + + QList _ifNameList; // maps interfaceName to its gateway + + QList _manConfList; + + QString _manualConfInterfaces; + + +}; + +#endif // NDGUI_H diff --git a/NetworkDiscovery/ndgui.ui b/NetworkDiscovery/ndgui.ui new file mode 100644 index 0000000..4a4c466 --- /dev/null +++ b/NetworkDiscovery/ndgui.ui @@ -0,0 +1,19 @@ + + ndguiClass + + + + 0 + 0 + 400 + 300 + + + + ndgui + + + + + + diff --git a/NetworkDiscovery/networkdiscovery.cpp b/NetworkDiscovery/networkdiscovery.cpp new file mode 100644 index 0000000..0b21738 --- /dev/null +++ b/NetworkDiscovery/networkdiscovery.cpp @@ -0,0 +1,648 @@ +#include "networkdiscovery.h" + +#include "../common/fbgui.h" + +NetworkDiscovery::NetworkDiscovery(QObject *parent) { + _tag = "[nd:NetworkDiscovery]"; + _server = new QLocalServer(this); +} + + + +NetworkDiscovery::~NetworkDiscovery() { + +} + + + +void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath, QString pathToExe, + QStringList* args) { + + _serverIp = serverIp; + _userChoice = userChoice; + _autoUp = autoUp; + _pathToLogFile = pathToLogFile; + + _pathToDhcpcdExe = pathToExe; + _blocked = false; + _numberOfProcesses = 0; + _ifUpCountdown = 10; + + if (serverPath != DEFAULT_QTSOCKETADDRESS) { + _dhcpcdArguments.append("-q"); + _dhcpcdArguments.append(serverPath); + } + /* delete the file at serverPath. this is necessary since in case the application crashes, the file still + * exists which leads to an error. + */ + + if(QFile::exists(serverPath)) { + QFile::remove(serverPath); + } + + if (!_server->listen(serverPath)) { + // emit signal to the gui that a critial error occoured + qDebug() << _tag << "Unable to start server: " + << _server->errorString(); + emit + abortBoot("Unable to start server: " + _server->errorString()); + return; + } + + // check if the path to the customdhcpcd file is correct + QFileInfo fInfo(_pathToDhcpcdExe); + if (!fInfo.exists()) { + qDebug() << _tag + << "could not find customdhcpcd exe. Please check the path to this file."; + emit abortBoot( + "could not find customdhcpcd exe. Please check the path to this file."); + return; + } + + connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); + + if (args != NULL && !args->isEmpty()) { + qDebug() << _tag << "added additional args"; + _dhcpcdArguments.append(*args); + } + + // start the main work: + if (_autoUp) { + getListOfNetworkInterfacesWithAutoUp(); + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); + _timer->start(1000); + + } else { + getListOfNetworkInterfaces(); + emit readyForRun(); + } +} + + + +void NetworkDiscovery::slotReadyForRun() { + if (_ifUpList.size() > 0) { + foreach(QString i, _ifUpList) { + emit addInterface(i); + } + _numberOfProcesses = _ifUpList.size(); + runDHCPCD( _ifUpList); + } else { + qDebug() << _tag << "list is empty. Have not found usable interface."; + emit + abortBoot("Have not found usable interface"); + return; + } +} + + + +void NetworkDiscovery::checkForIsRunning() { + bool isRunning = false; + QList copyOfIfDownList(_ifDownList); + foreach(QString i, _ifDownList) { + QNetworkInterface networkInterface = QNetworkInterface::interfaceFromName(i); + isRunning = (networkInterface.flags() & QNetworkInterface::IsRunning); + if (isRunning) { + _ifUpList.append(i); + _ifDownList.removeAt(_ifDownList.indexOf(i)); + } + } + _ifUpCountdown--; + if ((_ifUpCountdown <= 0 ) || _ifDownList.isEmpty()) { + // shut down timer + _timer->stop(); + emit readyForRun(); + } +} + + + +int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { + return _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); +} + + + +int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) { + return _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); +} + + + +int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { + QList dns; + dns.append(result["dns"].toString()); + _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + result["ipaddr"].toString(), + result["netmask"].toString(), + result["broadcast"].toString(), + result["gateway"].toString(), + 0, + AF_INET, + "/etc/", + dns); + + qDebug() << _tag << "set man conf. and check connectivity"; + + if (!checkConnectivityViaTcp(_serverIp)) { + qDebug() << _tag << "no connectivity. reset conf."; + interfaceconfiguration * ifc = _ifcMap.value(result["ifname"].toString(), NULL); + if(ifc != NULL) { + dns.clear(); + dns = ifc->getDnsservers().trimmed().split(" "); + _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + ifc->getIpAddress(), + ifc->getNetmask(), + ifc->getBroadcast(), + ifc->getGateway(), + 0, + AF_INET, + "/etc/", + dns); + } + + return 0; + } + emit continueBoot(result["ifname"].toString(), 0); + return 0; +} + + + +QString NetworkDiscovery::getGatewayForInterface(QString ifName) { + interfaceconfiguration * ifConf = _ifcMap.value(ifName); + return ifConf->getGateway(); +} + + + +QString NetworkDiscovery::readLogFile() { + // path to log file is in _pathToLogFile. initialized in initAndRun(). + QString retval("the log file"); + QFile logFile(_pathToLogFile); + if (logFile.exists()) { + if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)) + return retval; + } + while (!logFile.atEnd()) { + retval.append(logFile.readLine()); + } + return retval; +} + + + +/** + * ================================================================================ + ********************************* Private Methods ******************************** + * ================================================================================ + **/ + +void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { + QList nIList = QNetworkInterface::allInterfaces(); + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || checkBlackList(nI.humanReadableName())) { + continue; + } + if ((nI.flags() & QNetworkInterface::IsRunning)) { + _ifUpList.append(nI.humanReadableName()); + } + else if (!(nI.flags() & QNetworkInterface::IsUp)) { + _networkManager.bringInterfaceUP(nI.humanReadableName()); + qDebug() << _tag << " bring up .."; + _ifDownList.append(nI.humanReadableName()); + } + } + } else { + qDebug() << _tag << "no interfaces found!"; + } +} + + + +void NetworkDiscovery::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || !(nI.flags() & QNetworkInterface::IsUp) + || !(nI.flags() & QNetworkInterface::IsRunning) + || checkBlackList(nI.humanReadableName())) { + continue; + } + _ifUpList.append(nI.humanReadableName()); + } + } else { + qDebug() << _tag << "no interfaces found!"; + } +} + + + +bool NetworkDiscovery::checkCarrierState(QString interface) { + + qDebug() << _tag << "check carrier state for interface " << interface; + QByteArray ba = interface.toAscii(); + const char * iface = ba.data(); + + struct sysfs_class_device *class_device = sysfs_open_class_device("net", + iface); + struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); + if (attrlist != NULL) { + struct sysfs_attribute *attr = NULL; + dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { + if (strcmp("carrier", attr->name) == 0) { + QString value(attr->value); + bool ok = false; + bool * pok = &ok; + int v = value.toInt(pok); + if (*pok) { + if (v == 1) { + qDebug() + << "carrier is 1. Cable is plugged. return true"; + return true; + } else { + qDebug() + << "carrier is 0. Cable is unplugged. return false"; + return false; + } + } else { + qDebug() << _tag << "conversion error"; + } + } + } + } else { + qDebug() << _tag << "attrlist is Null"; + } + sysfs_close_class_device(class_device); + + return true; +} + + + +void NetworkDiscovery::runDHCPCD(QList &interfaces) { + foreach(QString nI, interfaces) + { + runDHCPCD(nI); + } +} + + + +void NetworkDiscovery::runDHCPCD(QString interface) { + emit updateStatusLabel(interface, "start DHCP"); + _dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + + qDebug() << _tag << _dhcpcdArguments; + + _clientProcessToIfNameMap.insert(p, interface); + p->start(_pathToDhcpcdExe, _dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, + SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + _dhcpcdArguments.removeLast(); +} + + + +bool NetworkDiscovery::checkConnectivity(QString ifName) { + int mss = 0; + + // get gateway address + QString pathToGatewayFile(DEFAULT_INTERFACE_CONF_LOCATION); + pathToGatewayFile += ifName; + interfaceconfiguration *ifConf = new interfaceconfiguration(); + ifConf->readConfigOutOfFile(pathToGatewayFile); + _ifcMap.insert(ifName, ifConf); + + // replace default route + qDebug() << _tag << "replace default route"; + _networkManager.replaceDefaultRoute(ifName, + ifConf->getGateway(), mss, AF_INET); + + if (checkConnectivityViaTcp(_serverIp)) { + qDebug() << _tag << "internet: check passed! for interface" << ifName; + emit + updateStatusLabel(ifName, "connection possible"); + if (!_userChoice) { + // blockiere jeden weiteren check + // emite continueBoot + _blocked = true; + emit continueBoot(ifName, 0); + } else { + emit connectionEstablished(ifName); + } + return true; + } else { + qDebug() << _tag << "no internet connection with interface" << ifName; + emit + updateStatusLabel(ifName, "connection not possible"); + return false; + } +} + + + +bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { + // check connectivity via tcp connection + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(server, 80); + if (!tcpSocket->waitForConnected(500)) { + qDebug() << _tag << tcpSocket->errorString(); + return false; + } else { + return true; + } +} + + + +/** + * + */ +void NetworkDiscovery::handleNewConnection() { + qDebug() << _tag << "New Connection arrived"; + + /*QLocalSocket **/ + _client = _server ->nextPendingConnection(); + _clients.insert(_client, _client); + connect(_client, SIGNAL(disconnected()), this, + SLOT(handleClientDisconnect())); + connect(_client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + + + +/** + * + */ +void NetworkDiscovery::handleClientDisconnect() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = _clients.value(socket); + + qDebug() << _tag << "disconnect client"; + handleNewInput(client); + client->deleteLater(); +} + + + +/** + * + */ +void NetworkDiscovery::handleNewInput(QLocalSocket * client) { + qDebug() << _tag << "last read before exit"; + while (client->canReadLine()) { + QString data(client->readLine()); + + data = data.trimmed(); + qDebug() << _tag << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + } +} + + + +/** + * + * This method is connected to the readyRead Signal of the QLocalSocket + * client. + * send an ACK to the client with every received message. + */ +void NetworkDiscovery::handleNewInput() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = _clients.value(socket); + QString data(client->read(DHCP_MESSAGE_SIZE)); + client->write("ACK", ACK_SIZE); + client->waitForBytesWritten(); + data = data.trimmed(); + //qDebug() << _tag << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } +} + + + +/** + * This Method processes the send messages. + * + * This Method processes the send messages. It splits the line + * into several components. Those components are: + * interface: interface name ==> indicates the process who send the message + * s_state: is the number representation of syslog.h LOG levels + * s_subState: is the number representation of the dhcp.c DHCP states (1 - 8) plus + * the status. h states (9 - ..) + * msg: is a message which can contain additional informations + * + * According to the s_state and s_subState we emit the changeProgressBarValue() signal + * with different values. + * + * @param client + * the client who send the message + * + * @param data + * the message. (format ;;; ) + */ +void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { + + QString logMsg(data); + QString interface = logMsg.section(";", 0, 0); + QString s_state = logMsg.section(";", 1, 1); + QString s_subState = logMsg.section(";", 2, 2); + QString msg = logMsg.section(";", 3, 3); + int st = s_state.trimmed().toInt(); + int sst = s_subState.trimmed().toInt(); + //qDebug() << _tag << logMsg; + + if (_ifNameToClient.size() < _numberOfProcesses && !_ifNameToClient.contains( + interface)) { + _ifNameToClient.insert(interface, client); + } + + switch (st) { + case LOG_INFO: + switch (sst) { + case DHCP_DISCOVER: + emit changeProgressBarValue(interface, 10); + break; + case DHCP_OFFER: + emit changeProgressBarValue(interface, 20); + break; + case DHCP_REQUEST: + emit changeProgressBarValue(interface, 30); + break; + case DHCP_ACK: + emit changeProgressBarValue(interface, 40); + break; + case DHCP_NAK: + emit changeProgressBarValue(interface, 40); + break; + case DHCPCD_ARP_TEST: + emit changeProgressBarValue(interface, 50); + break; + case DHCP_DECLINE: + emit changeProgressBarValue(interface, 60); + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + break; + case DHCPCD_CONFIGURE: + emit changeProgressBarValue(interface, 70); + break; + case DHCPCD_WRITE: + emit changeProgressBarValue(interface, 80); + break; + case DHCPCD_EXIT: + emit changeProgressBarValue(interface, 100); + break; + case DHCPCD_LOG: + + default: + break; + } + break; + case LOG_ERR: + qDebug() << _tag << "received error:" << msg; + break; + default: + //qDebug() << _tag << logMsg; + break; + } +} + + + +/** + * This Method is called when a process is finished. + * + * This Method is called when a process is finished. This slot is connected + * with the signal finished() of the QProcess class. + * If the process finishes, it will be checked if the process exited normal + * or if an unexpected error occurred. For this, we determine the sender (which is a + * QProcess), get the corresponding interface (which is stored in a map), and check + * the exitCode. Further actions are taken according to the exitCode check. + * Normal exit: + * emit changeProgressBar() to 100% + * emit updateStatusLabel() to check connection + * checkConnectivity() @see NetworkDiscovery::checkConnectivity() + * Unexpected exit: + * emit updateStatusLabel() to process exited unexpected + * TODO:: the reason for the unexpected exit should be presented in the logfile. + * + * @param exitCode + * + * @param exitStatus + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see NetworkDiscovery::getListOfNetworkInterfaces() + */ +void NetworkDiscovery::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we already found a usable interface + if (ifName.compare("ifName") == 0) { + qDebug() << _tag << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; + } else { + qDebug() << _tag << "process for interface" << ifName << "finished" + << exitCode << exitStatus; + if (exitCode > 0) { + qDebug() << _tag << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << _tag << "process normal exit"; + emit changeProgressBarValue(ifName, 100); + emit updateStatusLabel(ifName, "check connectivity"); + checkConnectivity(ifName); + } + } + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface + QLocalSocket *client = _ifNameToClient.value(ifName, 0); + if (client != 0) { + handleNewInput(client); + } + _numberOfProcesses = _numberOfProcesses - 1; + if (_numberOfProcesses <= 0 && _userChoice) { + emit allProcessesFinished(); + } + } + } else { + qDebug() << _tag << "already blocked"; + emit updateStatusLabel(ifName, "finished DHCP"); + } +} + + + +/** + * This Method is called when a process is started. + * + * This Method is called when a process is started. + * It prints the message: "process started for interface: ". + */ +void NetworkDiscovery::handleProcessStarted() { + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); + qDebug() << _tag << "process started for interface:" << ifName; +} + + + +/** + * This Method implements a blacklist. + * + * This Method implements a blacklist. We check the fist character + * of the interface name. if this letter is in the list, we return true. + * True means, that this interface won't be put into the result list of + * getListOfNetworkInterfaces(). + * + * @param i + * is a interface name. + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see NetworkDiscovery::getListOfNetworkInterfaces() + */ +bool NetworkDiscovery::checkBlackList(QString i) { + if (i.startsWith("v", Qt::CaseInsensitive)) { + return true; + } else if (i.startsWith("d", Qt::CaseInsensitive)) { + return true; + } else { + return false; + } +} diff --git a/NetworkDiscovery/networkdiscovery.h b/NetworkDiscovery/networkdiscovery.h new file mode 100644 index 0000000..8b1c70f --- /dev/null +++ b/NetworkDiscovery/networkdiscovery.h @@ -0,0 +1,110 @@ +#ifndef NetworkDiscovery_H +#define NetworkDiscovery_H + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "interfaceconfiguration.h" +#include "networkmanager.h" + +#include "../common/fbgui.h" + +#include "dhcp.h" + + + +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" + +class NetworkDiscovery: public QObject { +Q_OBJECT + +public: + NetworkDiscovery(QObject *parent=0); + ~NetworkDiscovery(); + + void initAndRun(QString serverIp, bool userChoice, + bool autoUp, + QString pathToLogFile, + QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); + int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + QString getGatewayForInterface(QString ifName); + + int ip4_setManualConfiguration(QVariantMap result); + QString readLogFile(); + +private slots: + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket * client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + + void slotReadyForRun(); + + void checkForIsRunning(); + + +signals: + void addInterface(const QString &ifName); + void changeProgressBarValue(const QString & ifName, const int $newValue); + void connectionEstablished(QString ifName); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); + void continueBoot(QString ifName, int userChoice); + void setManualConfInterfaces(QString jsonArr); + + void readyForRun(); + +private: + QString _tag; + QLocalServer *_server; + QMap _clients; + QLocalSocket * _client; + QMap _ifNameToClient; + QMap _clientProcessToIfNameMap; + QString _pathToDhcpcdExe; + QStringList _dhcpcdArguments; + int _numberOfProcesses; + NetworkManager _networkManager; + bool _userChoice; + bool _blocked; + bool _autoUp; + QString _serverIp; + QString _pathToLogFile; + QList _ifUpList; + QList _ifDownList; + int _ifUpCountdown; + QTimer* _timer; + + QMap _ifcMap; + + void handleNewInput(QLocalSocket * client); + + void runDHCPCD(QList &interfaces); + void runDHCPCD(QString interface); + + bool checkCarrierState(QString interface); + bool checkConnectivity(QString ifName); + bool checkConnectivityViaTcp(QString server); + bool checkBlackList(QString i); + + void getListOfNetworkInterfaces(); + void getListOfNetworkInterfacesWithAutoUp(); + + +}; + +#endif // NetworkDiscovery_H diff --git a/NetworkDiscovery/networkmanager.cpp b/NetworkDiscovery/networkmanager.cpp new file mode 100644 index 0000000..da5f045 --- /dev/null +++ b/NetworkDiscovery/networkmanager.cpp @@ -0,0 +1,497 @@ +/* + * networkmanager.cpp + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#include "networkmanager.h" + +NetworkManager::NetworkManager() { + // TODO Auto-generated constructor stub + _tag = "[nd:NetworkManager]"; +} + + + +NetworkManager::~NetworkManager() { + // TODO Auto-generated destructor stub +} + + + +/** + * This method adds /replaces the default route. + * This method adds /replaces the default route. + * To keep it modular, it is possible + * to specify an ip address family. + * + * @param ifName + * the interface name + * + * @param gateway + * the gateway address (e.g: 192.168.0.254) + * @param mss + * the mss. + * @param af + * specify the family type of the ip address. + * possible values are: AF_INET for an IPv4 address + * AF_INET6 for an IPv6 address + * + + * @return + * return -1 if an error happened. + * return 0 if everything was ok. + */ +int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, + int mss, int af) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct nl_addr * gw; + struct rtnl_route * route; + int retval, iface_idx; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + QByteArray ba_gw = gateway.toAscii(); + char * gwaddr = ba_gw.data(); + + qDebug() << _tag << "---doRoute() gwaddr" << gwaddr; + + if (!(gw = nl_addr_parse(gwaddr, af))) { + qDebug() << _tag << "Invalid router address given:" << gwaddr; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc \n"; + } + + iface_idx = rtnl_link_name2i(cache, ifn); + + route = rtnl_route_alloc(); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + rtnl_route_set_gateway(route, gw); + rtnl_route_set_oif(route, iface_idx); + + if (mss > 0) { + rtnl_route_set_metric(route, RTAX_ADVMSS, mss); + } + + retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); + qDebug() << _tag << "return value:" << retval << ":" << strerror(-retval); + + rtnl_route_put(route); + nl_addr_put(gw); + nl_handle_destroy(rtsock); + + return retval; +} + + + +/** + * The method brings an interface up. + * + * @param ifname + * the name of the interface + * + * @return + * 0 -> success + * -1 -> error + */ +int NetworkManager::bringInterfaceUP(QString ifname) { + return bringInterfaceUpDown(ifname, true); +} + + + +/** + * The method brings an interface down. + * + * @param ifname + * the name of the interface + * + * @return + * 0 -> success + * -1 -> error + */ +int NetworkManager::bringInterfaceDown(QString ifname) { + return bringInterfaceUpDown(ifname, false); +} + + + +/** + * This method brings an interface up or down. + * + * @param ifname + * is a string which contains the interface name which is going down or up. + * + * @param up + * is a bool. true means. we bring the interface up. + * false meand. we bring the interface down. + * @return + * 0 if everything is ok + * else an error + */ +int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct rtnl_link* request = NULL; + struct rtnl_link* old = NULL; + int retval; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + if (!(request = rtnl_link_alloc())) { + qDebug() << _tag << "error. couldn't allocate a rtnl link"; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if (up) { + rtnl_link_set_flags(request, IFF_UP); + } else { + rtnl_link_unset_flags(request, IFF_UP); + } + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc "; + } + + old = rtnl_link_get_by_name(cache, ifn); + if (old) { + qDebug() << _tag << "change link"; + retval = rtnl_link_change(rtsock, old, request, 0); + } else { + qDebug() << _tag << "change failed"; + retval = -1; + qDebug() << _tag << "return value:" << retval << ":" << strerror(-retval); + } + + rtnl_link_put(old); + rtnl_link_put(request); + nl_handle_destroy(rtsock); + + return retval; +} + + + +/** + * This method is used when the manual configuration is needed. + * + * This method is used when the manual configuration is needed. + * First we bring up the interface. Than we configure the interface with + * our manual entered configuration dates. + * After that we replace the old default route with the new and + * write a resolv.conf. + * + * @param ifname + * name of the interface which we are about to configure. + * + * @param ipAddress + * the new IP-Address. + * + * @param netmask + * the netmask of the IP-Address. + * + * @param broadcast + * the broadcast address. + * @param gateway + * the gateway address. + * @param metric + * do not exactly know why we need this. in most cases this should be 0. + * @param af + * the address type. Either AF_INET for IPv4 or AF_INET6 for IPv6. + * @param pathToResolvConf + * the path to the resolf.conf file. in most cases "/etc/". + * @param nameServer + * the name server addresses. + */ +int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, + QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer) { + + //bring the interface up + bringInterfaceUP(ifname); + //set configuration + ip4_configureInterface(ifname, ipAddress, broadcast, netmask,af); + //set default route + replaceDefaultRoute(ifname, gateway, metric, af); + //write resolv.conf + writeResolvConf(pathToResolvConf, ifname, nameServer); + return 0; +} + + + +int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af) { + + struct nl_cache *cache; + struct nl_handle* rtsock; + struct nl_addr * local; + struct rtnl_addr * addr = NULL; + int retval = 0; + int iface_idx, err, prefixLength; + + QByteArray ba_ifn = ifname.trimmed().toAscii(); + char * ifn = ba_ifn.data(); + + QByteArray ba_ip = ipAddress.trimmed().toAscii(); + char * ipaddr = ba_ip.data(); + + QByteArray ba_bc = broadcast.trimmed().toAscii(); + char * bcaddr = ba_bc.data(); + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc"; + return -1; + } + + iface_idx = rtnl_link_name2i(cache, ifn); + + if (!(addr = rtnl_addr_alloc())) { + qDebug() << _tag << "error with addr alloc"; + return -1; + } + + local = nl_addr_parse(ipaddr, af); + err = rtnl_addr_set_local(addr, local); + nl_addr_put(local); + if (err != 0) { + qDebug() << _tag << "error with set local addr"; + } + + prefixLength = ip4_netmaskToPrefix(ipAddress,netmask); + qDebug() << _tag << "prefix length:" << prefixLength; + rtnl_addr_set_prefixlen(addr, prefixLength); + + local = nl_addr_parse(bcaddr, af); + err = rtnl_addr_set_broadcast(addr, local); + nl_addr_put(local); + if (err != 0) { + qDebug() << _tag << "error with set broadcast addr"; + } + + rtnl_addr_set_ifindex(addr, iface_idx); + + + retval = sync_address(ifn, iface_idx, af, addr); + if(retval < 0) { + qDebug() << _tag << "error in sync_address"; + } + rtnl_addr_put(addr); + + return retval; +} + + + +/** + * This Method returns the length of the IP-Address netmask prefix. + * + * @param ipAddr + * the IP-address + * + * @param netmask + * the netmask of the IP-address. + * @return + * the length of the IP-Address netmask prefix + */ +int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { + int retval = -1; + QNetworkAddressEntry nae; + + if (netmask == "") { + qDebug() << _tag << "error: netmask is empty"; + return retval; + } + nae.setIp(QHostAddress(ipAddr)); + nae.setNetmask(QHostAddress(netmask.trimmed())); + retval = nae.prefixLength(); + + return retval; +} + + + +/** + * delete all addresses of this interface but not the one we just set + * + * @return + * -1 if something went wrong. else 0 + */ +int NetworkManager::sync_address(const char *iface, int ifindex, int family, + struct rtnl_addr *addr) { + + struct nl_handle *nlh; + struct nl_cache *addr_cache; + struct rtnl_addr *filter_addr, *match_addr; + struct nl_object *match; + struct nl_addr *nladdr; + int err; + char buf[INET6_ADDRSTRLEN + 1]; + + nlh = nl_handle_alloc(); + nl_connect(nlh, NETLINK_ROUTE); + + if (!nlh) + return -1; + + addr_cache = rtnl_addr_alloc_cache(nlh); + + if (!addr_cache) + return -1; + + filter_addr = rtnl_addr_alloc(); + if (!filter_addr) { + nl_cache_free(addr_cache); + return -1; + } + rtnl_addr_set_ifindex(filter_addr, ifindex); + if (family) + rtnl_addr_set_family(filter_addr, family); + + //nm_log_dbg (log_domain, "(%s): syncing addresses (family %d)", iface, family); + + /* Walk through the cache, comparing the addresses already on + * the interface to the addresses in addrs. + */ + for (match = nl_cache_get_first(addr_cache); match; match + = nl_cache_get_next(match)) { + int buf_valid = -1; + match_addr = (struct rtnl_addr *) match; + + /* Skip addresses not on our interface */ + if (!nl_object_match_filter(match, (struct nl_object *) filter_addr)) + continue; + + if (addr) { + if (addr && nl_object_identical(match, (struct nl_object *) addr)) { + continue; + } + } + + nladdr = rtnl_addr_get_local(match_addr); + + /* Don't delete IPv6 link-local addresses; they don't belong to NM */ + if (rtnl_addr_get_family(match_addr) == AF_INET6) { + struct in6_addr *tmp; + + if (rtnl_addr_get_scope(match_addr) == RT_SCOPE_LINK) { + //nm_log_dbg (log_domain, "(%s): ignoring IPv6 link-local address", iface); + continue; + } + + tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET6, tmp, buf, sizeof(buf))) + buf_valid = 0; + } else if (rtnl_addr_get_family(match_addr) == AF_INET) { + struct in_addr *tmp; + + tmp = (in_addr *) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET, tmp, buf, sizeof(buf))) + buf_valid = 0; + } + + if (buf_valid == 0) { + //nm_log_dbg (log_domain, "(%s): removing address '%s/%d'", + // iface, buf, nl_addr_get_prefixlen (nladdr)); + } + + /* Otherwise, match_addr should be removed from the interface. */ + err = rtnl_addr_delete(nlh, match_addr, 0); + if (err < 0) { + //nm_log_err (log_domain, "(%s): error %d returned from rtnl_addr_delete(): %s", + // iface, err, nl_geterror ()); + qDebug() << _tag << "error with delete addr"; + } + } + + rtnl_addr_put(filter_addr); + nl_cache_free(addr_cache); + + /* Now add the remaining new addresses */ + if (!addr) + return -1; + + struct in6_addr *in6tmp; + struct in_addr *in4tmp; + int buf_valid = -1; + + nladdr = rtnl_addr_get_local(addr); + if (rtnl_addr_get_family(addr) == AF_INET6) { + in6tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET6, in6tmp, buf, sizeof(buf))) + buf_valid = 0; + } else if (rtnl_addr_get_family(addr) == AF_INET) { + in4tmp = (in_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET, in4tmp, buf, sizeof(buf))) + buf_valid = 0; + } + + if (buf_valid == 0) { + //nm_log_dbg (log_domain, "(%s): adding address '%s/%d'", + //iface, buf, nl_addr_get_prefixlen (nladdr)); + qDebug() << _tag << "buf valid adding addr"; + } + + err = rtnl_addr_add(nlh, addr, 0); + if (err < 0) { + //nm_log_err (log_domain, + // "(%s): error %d returned from rtnl_addr_add():\n%s", + // iface, err, nl_geterror ()); + qDebug() << _tag << "error with add addr"<< strerror(-err); + } + + rtnl_addr_put(addr); + + return err; +} + + + +/** + * This method writes a resolv.conf file. + * + * @param path + * path to the resolv.conf file. (in most cases: /etc/) + * @param ifname + * name of the interface + * @param + * addresses of the nameserver + * + * @return + * return 0 if success + * else -1 + */ +int NetworkManager::writeResolvConf(QString path, QString ifname, QList nameServer){ + + QFile file(path + "resolv.conf"); + if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + qDebug() << _tag << "error couldn't open file:" << path; + return -1; + } + QTextStream out(&file); + out << "# Generated by networkdiscovery manual configuration for interface " + ifname +"\n"; + foreach(QString ns, nameServer ) { + out << "nameserver " + ns +"\n"; + } + + file.close(); + + return 0; +} + diff --git a/NetworkDiscovery/networkmanager.h b/NetworkDiscovery/networkmanager.h new file mode 100644 index 0000000..b6068a8 --- /dev/null +++ b/NetworkDiscovery/networkmanager.h @@ -0,0 +1,54 @@ +/* + * networkmanager.h + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#ifndef NETWORKMANAGER_H_ +#define NETWORKMANAGER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +class NetworkManager: public QObject { +Q_OBJECT + +public: + NetworkManager(); + virtual ~NetworkManager(); + + int replaceDefaultRoute(QString ifname, QString gateway, int metric, + int af); + + int bringInterfaceUP(QString ifname); + int bringInterfaceDown(QString ifname); + + int ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, + QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer); + int ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af); + int writeResolvConf(QString path, QString ifname, QList nameServer); + +private: + QString _tag; + int bringInterfaceUpDown(QString ifname, bool up); + int ip4_netmaskToPrefix(QString ipAddr, QString netmask); + + int sync_address(const char *iface, int ifindex, int family, + struct rtnl_addr *addr); + + +}; + +#endif /* NETWORKMANAGER_H_ */ -- cgit v1.2.3-55-g7522 From 4ffa4d80d53f35452605202f657b7228b76735d6 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 14:14:31 +0200 Subject: renamed LogReceiver.pro into NetworkDiscovery.pro --- NetworkDiscovery/LogReceiver.pro | 20 -------------------- NetworkDiscovery/NetworkDiscovery.pro | 20 ++++++++++++++++++++ NetworkDiscovery/networkdiscovery.cpp | 3 ++- 3 files changed, 22 insertions(+), 21 deletions(-) delete mode 100644 NetworkDiscovery/LogReceiver.pro create mode 100644 NetworkDiscovery/NetworkDiscovery.pro diff --git a/NetworkDiscovery/LogReceiver.pro b/NetworkDiscovery/LogReceiver.pro deleted file mode 100644 index 802bfeb..0000000 --- a/NetworkDiscovery/LogReceiver.pro +++ /dev/null @@ -1,20 +0,0 @@ -TEMPLATE = app -TARGET = LogReceiver -QT += core \ - gui \ - network -LIBS += -lsysfs \ - -L/home/niklas/fbgui/customdhcpcd/src/build \ - -llibcustomdhcpcd -INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src -HEADERS += networkmanager.h \ - networkdiscovery.h \ - interfaceconfiguration.h \ - ndgui.h -SOURCES += interfaceconfiguration.cpp \ - main.cpp \ - ndgui.cpp \ - networkdiscovery.cpp \ - networkmanager.cpp -FORMS += ndgui.ui -RESOURCES += nd.qrc diff --git a/NetworkDiscovery/NetworkDiscovery.pro b/NetworkDiscovery/NetworkDiscovery.pro new file mode 100644 index 0000000..802bfeb --- /dev/null +++ b/NetworkDiscovery/NetworkDiscovery.pro @@ -0,0 +1,20 @@ +TEMPLATE = app +TARGET = LogReceiver +QT += core \ + gui \ + network +LIBS += -lsysfs \ + -L/home/niklas/fbgui/customdhcpcd/src/build \ + -llibcustomdhcpcd +INCLUDEPATH += /home/niklas/fbgui/customdhcpcd/src +HEADERS += networkmanager.h \ + networkdiscovery.h \ + interfaceconfiguration.h \ + ndgui.h +SOURCES += interfaceconfiguration.cpp \ + main.cpp \ + ndgui.cpp \ + networkdiscovery.cpp \ + networkmanager.cpp +FORMS += ndgui.ui +RESOURCES += nd.qrc diff --git a/NetworkDiscovery/networkdiscovery.cpp b/NetworkDiscovery/networkdiscovery.cpp index 0b21738..e9710fd 100644 --- a/NetworkDiscovery/networkdiscovery.cpp +++ b/NetworkDiscovery/networkdiscovery.cpp @@ -184,8 +184,9 @@ QString NetworkDiscovery::readLogFile() { QString retval("the log file"); QFile logFile(_pathToLogFile); if (logFile.exists()) { - if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)) + if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)) { return retval; + } } while (!logFile.atEnd()) { retval.append(logFile.readLine()); -- cgit v1.2.3-55-g7522 From 2b446698ea1fef0094f1123d9f216890d6ec8782 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 14:25:57 +0200 Subject: renamed nd-functions into networkDiscovery.js --- NetworkDiscovery/html/js/nd-functions.js | 73 ---------- NetworkDiscovery/html/js/networkDiscovery.js | 198 +++++++++++++++++++++++++++ NetworkDiscovery/html/js/test.js | 3 - NetworkDiscovery/html/networkdiscovery.html | 4 +- NetworkDiscovery/ndgui.cpp | 7 +- 5 files changed, 203 insertions(+), 82 deletions(-) delete mode 100644 NetworkDiscovery/html/js/nd-functions.js create mode 100644 NetworkDiscovery/html/js/networkDiscovery.js delete mode 100644 NetworkDiscovery/html/js/test.js diff --git a/NetworkDiscovery/html/js/nd-functions.js b/NetworkDiscovery/html/js/nd-functions.js deleted file mode 100644 index e3ee793..0000000 --- a/NetworkDiscovery/html/js/nd-functions.js +++ /dev/null @@ -1,73 +0,0 @@ -var abortBootDialog = function (m) { - $("#nd_abort_boot_msg").html(m); - $("#nd_abort_boot_dialog").dialog( - { buttons: { "Show Log": function() {fbgui.showLog(); - $(this).dialog("close");}, - "Restart": function() {fbgui.restartSystem(); - $(this).dialog("close"); }, - "Shut Down": function() { fbgui.shutDownSystem(); - $(this).dialog("close"); } - } , - minWidth: 450, - modal: true, - resizable: false, - draggable: false, - open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} - }); -}; - -var chooseInterfaceDialog = function (i) { - var cb = ""+ - ""; - $("#nd_choose_interface_msg").html(cb); - $("#nd_choose_interface_dialog").dialog( - { buttons: { "Show Log": function() {fbgui.showLog(); - $(this).dialog("close");}, - "Restart": function() {fbgui.restartSystem(); - $(this).dialog("close"); }, - "Shut Down": function() { fbgui.shutDownSystem(); - $(this).dialog("close"); }, - "Continue": function() { fbgui.continueBoot(); - $(this).dialog("close"); } - } , - minWidth: 550, - modal: true, - resizable: false, - draggable: false, - open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} - }); -} - -var updateStatus = function (s){ - -}; - -var updateIfProgressBar = function (i, p){ - if (p >= 0 && p <= 100){ - $("#"+i+"_progress").progressbar({ value: p }); - }else{ - $("#"+i+"_progress").progressbar({ value: 0 }); - } -}; - -var updateIfStatus = function(i, s){ - $("#"+i+"_status").html(s); -}; - -var addInterface = function (i){ - $("#nd_progress_container").append( - "
        "+ - " Interface: " +i+ - " Start DHCP " + - "
        "+ - "
        " - ); - $("#"+i+"_progress").progressbar({ value: 33 }); -}; - - diff --git a/NetworkDiscovery/html/js/networkDiscovery.js b/NetworkDiscovery/html/js/networkDiscovery.js new file mode 100644 index 0000000..2200d82 --- /dev/null +++ b/NetworkDiscovery/html/js/networkDiscovery.js @@ -0,0 +1,198 @@ +var updateTips = function ( t ) { + $( ".validateTips" ) + .text( t ) + .addClass( "ui-state-highlight" ); + setTimeout( + function() { + $( ".validateTips" ).removeClass( "ui-state-highlight", 1500 ); + }, + 500 ); +}; + +var checkLength = function ( o, n, min, max ) { + if ( o.val().length > max || o.val().length < min ) { + o.addClass( "ui-state-error" ); + updateTips( "Length of " + n + " must be between " + + min + " and " + max + "." ); + return false; + } else { + return true; + } +}; + +var checkRegexp = function ( o, regexp, n ) { + if ( !( regexp.test( o.val() ) ) ) { + o.addClass( "ui-state-error" ); + updateTips( n ); + return false; + } else { + return true; + } +}; + +var showLog = function (t) { + $("#nd_show_log_msg").val(t); + $("#nd_show_log_msg").attr('readonly','readonly'); + $("#nd_show_log_dialog").dialog( + { minWidth: 450, + modal: true, + resizable: false, + draggable: false + }); +}; + +var ip4_manualConfigurationDialog = function () { + var jsonArr = fbgui.getManualConfInterfaces(); + //jsonArr = eval('(' + jsonArr + ')'); + var c = ""; + $("#nd_mc_ifname").html(c); + + var ifname = $("#nd_mc_ifname_select :selected").text(), + ipaddr = $("#ipaddr"), + netmask = $("#netmask"), + broadcast = $("#broadcast"), + gateway = $("#gateway"), + dns = $("#dns"), + allFields = $([]).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); + + + $("#nd_manual_configuration_dialog").dialog( + { buttons: { "Cancel": function() { + $(this).dialog("close");}, + "Ok": function() { + var bValid = true; + allFields.removeClass("ui-state-error"); + + bValid = bValid && checkLength(ipaddr, "IP-Address", 7, 15); + bValid = bValid && checkLength(netmask, "Netmask Address", 7, 15); + bValid = bValid && checkLength(broadcast, "Broadcast Address", 7, 15); + bValid = bValid && checkLength(gateway, "Gateway Address", 7, 15); + bValid = bValid && checkLength(dns, "DNS Address", 7, 15); + + bValid = bValid && checkRegexp(ipaddr, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.2 (max value is 255)"); + bValid = bValid && checkRegexp(netmask, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 255.255.255.0 (max value is 255)"); + bValid = bValid && checkRegexp(broadcast, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.255 (max value is 255)"); + bValid = bValid && checkRegexp(gateway, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.254 (max value is 255)"); + bValid = bValid && checkRegexp(dns, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.111 (max value is 255)"); + + if (bValid) { + // put variables into a json object + // send to qt networkdiscovery + var o = {"ifname" : ifname, + "ipaddr" : ipaddr.val(), + "netmask" : netmask.val(), + "broadcast" : broadcast.val(), + "gateway" : gateway.val(), + "dns" : dns.val() } + try { + fbgui.ip4_setManualConfiguration(o); + } catch (e) { + fbgui.notifyCall(e); + } + $(this).dialog("close"); + } } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + close: function() {allFields.val("").removeClass("ui-state-error");}, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +}; + +var abortBootDialog = function (m) { + fbgui.notifyCall("abortBootDialog"); + $("#nd_abort_boot_msg").html(m); + $("#nd_abort_boot_dialog").dialog( + { buttons: { "Manual Configure": function() { + ip4_manualConfigurationDialog();}, + "Show Log": function() { + var text = fbgui.readLogFile(); + showLog(text); + $(this).dialog("close");}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +}; + +var chooseInterfaceDialog = function (i) { + var cb = ""+ + ""; + + $("#nd_choose_interface_msg").html(cb); + $("#nd_choose_interface_dialog").dialog( + { buttons: { "Manual Configure": function() { + ip4_manualConfigurationDialog();}, + "Show Log": function() { + var text = fbgui.readLogFile(); + showLog(text);}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); }, + "Continue": function() { + var ifName = $("#nd_ifName_select :selected").text(); + fbgui.continueBoot(ifName,1); + $(this).dialog("close"); + } + } , + minWidth: 550, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +} + +var updateStatus = function (s){ + +}; + +var updateIfProgressBar = function (i, p){ + if (p >= 0 && p <= 100){ + $("#"+i+"_progress").progressbar({ value: p }); + }else{ + $("#"+i+"_progress").progressbar({ value: 0 }); + } +}; + +var updateIfStatus = function(i, s){ + $("#"+i+"_status").html(s); +}; + +var addInterface = function (i){ + $("#nd_progress_container").append( + "
        "+ + " Interface: " +i+ + " Start DHCP " + + "
        "+ + "
        " + ); + $("#"+i+"_progress").progressbar({ value: 33 }); +}; + + diff --git a/NetworkDiscovery/html/js/test.js b/NetworkDiscovery/html/js/test.js deleted file mode 100644 index be4ec41..0000000 --- a/NetworkDiscovery/html/js/test.js +++ /dev/null @@ -1,3 +0,0 @@ -function qrcAlert(){ - alert('Hello qrc'); -} diff --git a/NetworkDiscovery/html/networkdiscovery.html b/NetworkDiscovery/html/networkdiscovery.html index 6d370d1..66c571e 100644 --- a/NetworkDiscovery/html/networkdiscovery.html +++ b/NetworkDiscovery/html/networkdiscovery.html @@ -5,8 +5,9 @@ - + + diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp index bf3b05e..6132079 100644 --- a/NetworkDiscovery/ndgui.cpp +++ b/NetworkDiscovery/ndgui.cpp @@ -186,7 +186,7 @@ void ndgui::loadJQuery() { if (fi.suffix() == "js") { //qDebug()<< fi.fileName(); //qxtLog->debug() << fi.fileName(); - if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { + //if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { QFile file; file.setFileName(pathToJsDir + "/" + fi.fileName()); file.open(QIODevice::ReadOnly); @@ -195,7 +195,7 @@ void ndgui::loadJQuery() { _webView->page()->mainFrame()->evaluateJavaScript(js); //qxtLog->debug() << "evaluated " + fi.fileName(); - } + //} } } } @@ -209,7 +209,6 @@ void ndgui::loadJQuery() { // und _webView->page()->mainFrame() zu _parent void ndgui::abortBoot(const QString msg) { - qDebug() << _tag << "call abortBoot:" << msg; QString code = QString("abortBootDialog('\%1')").arg(msg); _webView->page()->mainFrame()->evaluateJavaScript(code); } @@ -235,7 +234,6 @@ void ndgui::updateStatus(const QString &status) { void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { if (percent == 0) return; - qDebug() << _tag << "call updateIfProgressBar"; QString code = QString("updateIfProgressBar('\%1',\%2)").arg(ifName).arg(percent); _webView->page()->mainFrame()->evaluateJavaScript(code); } @@ -254,7 +252,6 @@ void ndgui::updateIfStatus(const QString &ifName, const QString &status) { void ndgui::addInterface(const QString &ifName) { if (ifName == "") return; - qDebug() << _tag << "call addInterface"; _manConfList.append(ifName); QString code = QString("addInterface('\%1')").arg(ifName); _webView->page()->mainFrame()->evaluateJavaScript(code); -- cgit v1.2.3-55-g7522 From 6566a847b6966b1d220e2e8e5b6eb70f75ee8aa9 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 14:45:16 +0200 Subject: tried to exclude the javascript functions. but eigther i make something wrong or it is not possible --- NetworkDiscovery/html/networkdiscovery.html | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/NetworkDiscovery/html/networkdiscovery.html b/NetworkDiscovery/html/networkdiscovery.html index 66c571e..f6f50e4 100644 --- a/NetworkDiscovery/html/networkdiscovery.html +++ b/NetworkDiscovery/html/networkdiscovery.html @@ -5,9 +5,9 @@ - + + - -- cgit v1.2.3-55-g7522 From 2e39515091cd5047dddfb436c85b8991eb2415e7 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 7 Oct 2011 15:26:48 +0200 Subject: added some commtents to the ndgui --- NetworkDiscovery/ndgui.cpp | 60 ++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp index 6132079..bbd6798 100644 --- a/NetworkDiscovery/ndgui.cpp +++ b/NetworkDiscovery/ndgui.cpp @@ -18,8 +18,6 @@ ndgui::ndgui(QMainWindow *parent) : connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); - - _webView = new QWebView(this); connect(_webView->page()->mainFrame(), SIGNAL( javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); @@ -43,6 +41,10 @@ ndgui::~ndgui() { +/** + * creates an action which you can trigger with the F5 Button during the first + * seconds. + */ void ndgui::createAction() { _allowUserChoice = new QAction(tr("&quit"), this); _allowUserChoice->setShortcut(QKeySequence(Qt::Key_F5)); @@ -52,12 +54,23 @@ void ndgui::createAction() { +/** + * is the connected to the triggered action pressing the F5 button. + * set the _userChoice member true + */ void ndgui::setUserChoiceTrue() { _userChoice = true; } +/** + * is connected to the singleShot event. Triggering this method means + * that we go on with the main NetworkDiscovery screen. + * connects the loadFinished signal of the _webView with the + * startNetworkDiscovery slot and removes the + * action. + */ void ndgui::prepareNetworkDiscover() { connect(_webView, SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); @@ -69,6 +82,11 @@ void ndgui::prepareNetworkDiscover() { +/** + * main starting point of the whole procedure. + * disconnect the loadFinished signal with the startNetworkDiscovery + * and starts the networkDiscovery. + */ void ndgui::startNetworkDiscovery(){ disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); @@ -83,12 +101,26 @@ void ndgui::startNetworkDiscovery(){ +/** + * if we have a user choice (_userChoice = true) than networkDiscovery will + * emit connectionEstablished signals. + * Add the interface name to a _ifNameList. This list holds all interfaces + * the user can choose out of. + */ void ndgui::handleConnectionEstablished(QString ifName) { _ifNameList.append(ifName); } +/** + * if we have a user choice (_userChoice = true) than networkDiscovery will + * emit a allProcessesFinished signal if all processes are done. + * This method determines if user will see an abort boot dialog (no interface names in + * the ifNameList list) or an + * choose interface dialog (one or more interface names in the list (add with + * handleConnectionEstablished)). + */ void ndgui::handleAllProcessesFinished() { qDebug() << _tag << "all Processes finished"; if(_ifNameList.size() > 0) { @@ -105,18 +137,31 @@ void ndgui::handleAllProcessesFinished() { +/** + * this method will restart the system. + * triggered through a button click in the gui. + */ void ndgui::restartSystem() { } +/** + * this method will restart the system. + * triggered through a button click in the gui. + */ void ndgui::shutDownSystem() { } +/** + * represents the end of the NetworkDiscovery life time. + * will start the fbgui screen. All networkDiscovery signals + * will be ignored after this point. + */ void ndgui::continueBoot(QString ifName, int userChoice) { if (!userChoice) { QString text = "continue with interface: " + ifName; @@ -132,6 +177,9 @@ void ndgui::continueBoot(QString ifName, int userChoice) { +/** + * read the log file. Log File will be presented inside of a dialog. + */ QString ndgui::readLogFile() { qDebug() << _tag << "show log"; return networkDiscovery.readLogFile(); @@ -141,6 +189,10 @@ QString ndgui::readLogFile() { /*test html gui version*/ +/** + * fills the drop down box of the manual interface configuration + * dialog. + */ QVariantList ndgui::getManualConfInterfaces() { qDebug() << _tag << "call getManualConfInterfaces"; QVariantList jsonArr; @@ -154,6 +206,10 @@ QVariantList ndgui::getManualConfInterfaces() { +/** + * takes the entered manual configuration dates and delivers it + * to the networkDiscovery for further actions. + */ int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { return networkDiscovery.ip4_setManualConfiguration(jsonArr); -- cgit v1.2.3-55-g7522 From 8fbc0a431cc25292978323edc2f53bfa9f2c3c96 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 10 Oct 2011 17:07:14 +0200 Subject: corrected some errors --- NetworkDiscovery/html/networkdiscovery.html | 6 +- NetworkDiscovery/nd.qrc | 1 + NetworkDiscovery/ndgui.cpp | 36 +++ NetworkDiscovery/networkdiscovery.cpp | 158 ++++++++++- NetworkDiscovery/networkdiscovery.h | 1 - NetworkDiscovery/networkmanager.h | 2 +- src/downloadmanager.cpp | 2 +- src/fbgui.cpp | 112 ++++---- src/fbgui.h | 3 + src/fbgui.pro | 17 +- src/fbgui.qrc | 31 ++- src/html/js/jquery-1.5.1.min.js | 16 -- src/html/js/jquery-ui-1.8.11.min.js | 406 ---------------------------- src/html/js/test.js | 3 - src/html/networkdiscovery.css | 155 +++++------ src/html/networkdiscovery.html | 283 ++++++++++++++++++- src/javascriptinterface.cpp | 75 +++-- src/javascriptinterface.h | 6 +- src/main.cpp | 15 +- src/sysinfo.cpp | 167 +----------- src/sysinfo.h | 11 +- src/sysinfolibsysfs.cpp | 145 ---------- src/sysinfolibsysfs.h | 54 ---- src/testApp.sh | 41 --- 24 files changed, 684 insertions(+), 1062 deletions(-) delete mode 100644 src/html/js/jquery-1.5.1.min.js delete mode 100644 src/html/js/jquery-ui-1.8.11.min.js delete mode 100644 src/html/js/test.js delete mode 100644 src/sysinfolibsysfs.cpp delete mode 100644 src/sysinfolibsysfs.h delete mode 100755 src/testApp.sh diff --git a/NetworkDiscovery/html/networkdiscovery.html b/NetworkDiscovery/html/networkdiscovery.html index f6f50e4..84e88b3 100644 --- a/NetworkDiscovery/html/networkdiscovery.html +++ b/NetworkDiscovery/html/networkdiscovery.html @@ -5,9 +5,9 @@ - - + +
        diff --git a/NetworkDiscovery/nd.qrc b/NetworkDiscovery/nd.qrc index 686419e..bf3aa8d 100644 --- a/NetworkDiscovery/nd.qrc +++ b/NetworkDiscovery/nd.qrc @@ -23,5 +23,6 @@ html/css/images/ui-icons_ffffff_256x240.png html/continueBoot.html html/networkdiscovery_userchoice.html + html/js/networkDiscovery.js diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp index bbd6798..c1da989 100644 --- a/NetworkDiscovery/ndgui.cpp +++ b/NetworkDiscovery/ndgui.cpp @@ -222,6 +222,9 @@ int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { ////////////////////////////////////////////////// /************************************************/ +/** + * stellt ein ndgui/fbgui Objekt zur verwendung durch die html bereit. + */ void ndgui::attachToDOM(){ _webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("fbgui"), this); loadJQuery(); @@ -271,6 +274,9 @@ void ndgui::abortBoot(const QString msg) { +/** + * opens ths chooseInterfaceDialog + */ void ndgui::chooseInterfaceDialog(const QString msg) { QString code = QString("chooseInterfaceDialog(\%1)").arg(msg); _webView->page()->mainFrame()->evaluateJavaScript(code); @@ -278,6 +284,9 @@ void ndgui::chooseInterfaceDialog(const QString msg) { +/** + * updates the over all status + */ void ndgui::updateStatus(const QString &status) { if (status == "") return; @@ -287,6 +296,15 @@ void ndgui::updateStatus(const QString &status) { +/** + * updates the progress bar for each interface. + * + * @param ifname + * the name ot the interface to update + * + * @param percent + * the progress in percent + */ void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { if (percent == 0) return; @@ -296,6 +314,15 @@ void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { +/** + * update the status for each interface + * + * @param ifName + * the name ot the interface to update + * + * @param status + * the new status of the interface. + */ void ndgui::updateIfStatus(const QString &ifName, const QString &status) { if (ifName == "") return; @@ -305,6 +332,12 @@ void ndgui::updateIfStatus(const QString &ifName, const QString &status) { +/** + * adds an interface to the DOM tree. Creates its progress bar and it's status label. + * + * @param ifName + * name of the new interface. + */ void ndgui::addInterface(const QString &ifName) { if (ifName == "") return; @@ -315,6 +348,9 @@ void ndgui::addInterface(const QString &ifName) { +/** + * just for debugging. + */ void ndgui::notifyCall(QString msg){ qDebug() << _tag << "------ called:" << msg; } diff --git a/NetworkDiscovery/networkdiscovery.cpp b/NetworkDiscovery/networkdiscovery.cpp index e9710fd..da2cb1d 100644 --- a/NetworkDiscovery/networkdiscovery.cpp +++ b/NetworkDiscovery/networkdiscovery.cpp @@ -2,6 +2,10 @@ #include "../common/fbgui.h" + +/** + * constructor + */ NetworkDiscovery::NetworkDiscovery(QObject *parent) { _tag = "[nd:NetworkDiscovery]"; _server = new QLocalServer(this); @@ -9,12 +13,39 @@ NetworkDiscovery::NetworkDiscovery(QObject *parent) { +/** + * destructor + */ NetworkDiscovery::~NetworkDiscovery() { } +/** + * initialize all important class members and start the main work. + * + * @param serverIp + * the ip of the server with which we are testing the connectivity. + * + * @param userChoice + * true if the user wishes to have a user choice. true: the chooseInterfaceDialog will be showed. + * + * @param autoUp + * true if we want to "auto Up" all down interfaces. + * + * @param pathToLogFile + * the path to the log file. + * + * @param serverPath + * the path to the server socket (default value: DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default") + * + * @param pathToExe + * the path to the customdhcpcd exe. (default value: #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default") + * + * @param args + * additional arguments for the customdhcpcd client. (default value: NULL) + */ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath, QString pathToExe, QStringList* args) { @@ -82,6 +113,12 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp +/** + * emits the addInterface signal for each interface name in _ifUpList + * and calls the runDHCPCD method. + * if the _ifUpList is empty, this method emits an abortBoot signal. + * connected to the readyForRun signal. + */ void NetworkDiscovery::slotReadyForRun() { if (_ifUpList.size() > 0) { foreach(QString i, _ifUpList) { @@ -99,6 +136,11 @@ void NetworkDiscovery::slotReadyForRun() { +/** + * only called if autoUp == true. + * check the IsRunning flag of each interface in the _ifDownList. + * connected to the timeout signal of the timer. + */ void NetworkDiscovery::checkForIsRunning() { bool isRunning = false; QList copyOfIfDownList(_ifDownList); @@ -120,18 +162,35 @@ void NetworkDiscovery::checkForIsRunning() { -int NetworkDiscovery::replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss) { - return _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); -} - - - +/** + * replace the default route. sets af automatically to AF_INET + * + * @param ifName + * interface name + * + * @param gateway + * gateway address + * + * @param mss + * mss value (i think this is the metric. in most cases this value is 0) + */ int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) { return _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); } +/** + * replace the dhcp configuration with the manual config, entered by the user. + * if we can not establish a connection with the entered values, reset to the old + * dhcp values. + * + * @param result + * a json object formated string. + * + * @return + * 0 if everything ok + */ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { QList dns; dns.append(result["dns"].toString()); @@ -172,6 +231,15 @@ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { +/** + * returns the gateway address, written into the dhcp config file. + * + * @param ifName + * name of the interface. + * + * @return + * gateway address as string. + */ QString NetworkDiscovery::getGatewayForInterface(QString ifName) { interfaceconfiguration * ifConf = _ifcMap.value(ifName); return ifConf->getGateway(); @@ -179,19 +247,24 @@ QString NetworkDiscovery::getGatewayForInterface(QString ifName) { +/** + * reads the log file. + * + * @return the log file as one string. + */ QString NetworkDiscovery::readLogFile() { // path to log file is in _pathToLogFile. initialized in initAndRun(). QString retval("the log file"); QFile logFile(_pathToLogFile); if (logFile.exists()) { if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + while (!logFile.atEnd()) { + retval.append(logFile.readLine()); + } return retval; } } - while (!logFile.atEnd()) { - retval.append(logFile.readLine()); - } - return retval; + } @@ -202,6 +275,14 @@ QString NetworkDiscovery::readLogFile() { * ================================================================================ **/ + + +/** + * searches for usable interfaces and puts them into a list. + * if the interface is down, put it in the _ifDownList, try to bring it up. + * else put it in the _ifUpList. + * usable interfaces are: can Broadcast, no loopback, no point to point, name is not in the BlackList, + */ void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { QList nIList = QNetworkInterface::allInterfaces(); @@ -230,6 +311,10 @@ void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { +/** + * searches for usable interfaces which are up and running and put them into a list. + * usable interfaces are: can Broadcast, no loopback, no point to point, name is not in the BlackList, + */ void NetworkDiscovery::getListOfNetworkInterfaces() { QList nIList = QNetworkInterface::allInterfaces(); @@ -253,6 +338,14 @@ void NetworkDiscovery::getListOfNetworkInterfaces() { +/** + * not used so far. checks the carrier state using the sysfs library. + * if carrier = 1 ==> the interface is running. + * interfaces have to be up in order to get right results. + * + * @param interface + * name of the interface + */ bool NetworkDiscovery::checkCarrierState(QString interface) { qDebug() << _tag << "check carrier state for interface " << interface; @@ -295,6 +388,12 @@ bool NetworkDiscovery::checkCarrierState(QString interface) { +/** + * call for every interface in the list the runDHCPCD method. + * + * @param interfaces + * list of interface names. + */ void NetworkDiscovery::runDHCPCD(QList &interfaces) { foreach(QString nI, interfaces) { @@ -304,6 +403,12 @@ void NetworkDiscovery::runDHCPCD(QList &interfaces) { +/** + * start a cdhcpcd process with the interface name as last argument. + * + * @param interface + * name of an interface. + */ void NetworkDiscovery::runDHCPCD(QString interface) { emit updateStatusLabel(interface, "start DHCP"); _dhcpcdArguments.append(interface); @@ -321,6 +426,20 @@ void NetworkDiscovery::runDHCPCD(QString interface) { +/** + * checks the connectivity. tries to open a TCP connection to the + * server (see _serverIp). For this it adjusts the routing table. + * (sets the gateway of the interface as default gateway) + * Gateway is written into the dhcpcd config file of this interface. + * (see DEFAULT_INTERFACE_CONF_LOCATION "/var/tmp/conf_") + * + * @param ifName + * name of a interface. + * + * @return + * true: connection is possible + * false: connection not possible + */ bool NetworkDiscovery::checkConnectivity(QString ifName) { int mss = 0; @@ -359,6 +478,16 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { +/** + * try to open a tcp connection to the server + * + * @param server + * a ip address. + * + * @return + * true: connection is possible + * false: connection not possible + */ bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { // check connectivity via tcp connection QTcpSocket *tcpSocket = new QTcpSocket(this); @@ -374,7 +503,8 @@ bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { /** - * + * connected to the new client arrived signal. + * connects the client readyRead signal with the handleNewInput slot. */ void NetworkDiscovery::handleNewConnection() { qDebug() << _tag << "New Connection arrived"; @@ -390,7 +520,7 @@ void NetworkDiscovery::handleNewConnection() { /** - * + * called when a client disconnects. */ void NetworkDiscovery::handleClientDisconnect() { QLocalSocket* socket = qobject_cast (QObject::sender()); @@ -405,7 +535,10 @@ void NetworkDiscovery::handleClientDisconnect() { /** + * same function as handleNewInput() but with a client as parameter. * + * @param cleint + * a client */ void NetworkDiscovery::handleNewInput(QLocalSocket * client) { qDebug() << _tag << "last read before exit"; @@ -425,7 +558,6 @@ void NetworkDiscovery::handleNewInput(QLocalSocket * client) { /** - * * This method is connected to the readyRead Signal of the QLocalSocket * client. * send an ACK to the client with every received message. diff --git a/NetworkDiscovery/networkdiscovery.h b/NetworkDiscovery/networkdiscovery.h index 8b1c70f..b4c4ef7 100644 --- a/NetworkDiscovery/networkdiscovery.h +++ b/NetworkDiscovery/networkdiscovery.h @@ -36,7 +36,6 @@ public: QString serverPath = DEFAULT_QTSOCKETADDRESS, QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList* args = NULL); - int replaceDefaultRoute(QString &ifName, QString &gateway, int af, int mss); int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); QString getGatewayForInterface(QString ifName); diff --git a/NetworkDiscovery/networkmanager.h b/NetworkDiscovery/networkmanager.h index b6068a8..3fb1587 100644 --- a/NetworkDiscovery/networkmanager.h +++ b/NetworkDiscovery/networkmanager.h @@ -9,7 +9,7 @@ #define NETWORKMANAGER_H_ #include -#include +#include #include #include #include diff --git a/src/downloadmanager.cpp b/src/downloadmanager.cpp index 5bada3a..653bc7b 100644 --- a/src/downloadmanager.cpp +++ b/src/downloadmanager.cpp @@ -87,7 +87,7 @@ void DownloadManager::processDownloadRequest(const QUrl& url) { } // ------------------------------------------------------------------------------------------------------- void DownloadManager::startNextDownload() { - QWSServer::instance()->setCursorVisible(false); + //QWSServer::instance()->setCursorVisible(false); if (_downloadQueue.isEmpty()) { emit downloadQueueEmpty(); qxtLog->debug() << "[dm] Download manager ready. (1)"; diff --git a/src/fbgui.cpp b/src/fbgui.cpp index 9e3dba5..021a9e3 100644 --- a/src/fbgui.cpp +++ b/src/fbgui.cpp @@ -3,7 +3,6 @@ #include "loggerengine.h" #include "downloadmanager.h" #include "javascriptinterface.h" -#include "sysinfolibsysfs.h" #include #include @@ -34,59 +33,71 @@ int debugMode = -1; * @see DownloadManager */ fbgui::fbgui() { +} +fbgui::~fbgui() { + dmThread.quit(); +} - // test for libsys function - //SysInfo si; - //qxtLog->debug() << si.getInfo("mbserial"); - //si.getInfo("usb"); - setupLayout(); - createActions(); - // initialize javascript interface - JavascriptInterface* jsi = new JavascriptInterface( - _webView->page()->mainFrame()); - QObject::connect(jsi, SIGNAL(quitFbgui()), this, SLOT(close())); - QObject::connect(jsi, SIGNAL(shutDownClient()), this, - SLOT(performShutDown())); - QObject::connect(_webView->page()->mainFrame(), SIGNAL( - javaScriptWindowObjectCleared()), jsi, SLOT(attachToDOM())); +/** + * init function. + */ +void fbgui::init() { + // start fbgui + qxtLog->debug() << "Initializing fbgui..."; - // initialize download manager - DownloadManager* dm = new DownloadManager(); - QObject::connect(dm, SIGNAL(downloadInfo(const QString&, const double&)), jsi, - SLOT(downloadInfo(const QString&, const double&))); - QObject::connect(dm, SIGNAL(notify(const QString&)), jsi, SLOT(notify(const QString&))); - QObject::connect(jsi, SIGNAL(requestFile(const QString&)), dm, - SLOT(downloadFile(const QString&))); - QObject::connect(dm, SIGNAL(updateProgress(const int&, const double&, const QString&)), jsi, - SLOT(updateProgressBar(const int&, const double&, const QString&))); - QObject::connect(dm, SIGNAL(downloadQueueEmpty()), jsi, SLOT( - callbackOnFinished())); - QObject::connect(dm, SIGNAL(downloadQueueEmpty()), this, SLOT(loadSystem())); + setupLayout(); + createActions(); - // move download manager to its own thread - dm->moveToThread(&dmThread); - dmThread.start(); + // initialize javascript interface + JavascriptInterface* jsi = new JavascriptInterface( + _webView->page()->mainFrame()); + QObject::connect(jsi, SIGNAL(quitFbgui()), this, SLOT(close())); + QObject::connect(jsi, SIGNAL(shutDownClient()), this, + SLOT(performShutDown())); + QObject::connect(_webView->page()->mainFrame(), SIGNAL( + javaScriptWindowObjectCleared()), jsi, SLOT(attachToDOM())); - // show "waiting for internet" page until triggered. - if (debugMode > -1) { - _webView->load(QUrl("qrc:/html/preload-debug.html")); - } else { - _webView->load(QUrl("qrc:/html/preload.html")); - } + // initialize download manager + DownloadManager* dm = new DownloadManager(); + QObject::connect(dm, SIGNAL(downloadInfo(const QString&, const double&)), + jsi, SLOT(downloadInfo(const QString&, const double&))); + QObject::connect(dm, SIGNAL(notify(const QString&)), jsi, + SLOT(notify(const QString&))); + QObject::connect(jsi, SIGNAL(requestFile(const QString&)), dm, + SLOT(downloadFile(const QString&))); + QObject::connect( + dm, + SIGNAL(updateProgress(const int&, const double&, const QString&)), + jsi, + SLOT(updateProgressBar(const int&, const double&, const QString&))); + QObject::connect(dm, SIGNAL(downloadQueueEmpty()), jsi, SLOT( + callbackOnFinished())); + QObject::connect(dm, SIGNAL(downloadQueueEmpty()), this, SLOT(loadSystem())); - // start watching for fileToTriggerURL - watchForTrigger(); + // move download manager to its own thread + dm->moveToThread(&dmThread); + dmThread.start(); - // set properties - setWindowTitle("fbgui"); - setAttribute(Qt::WA_QuitOnClose, true); - setWindowFlags(Qt::FramelessWindowHint); - showFullScreen(); -} -fbgui::~fbgui() { - dmThread.quit(); + // show "waiting for internet" page until triggered. + if (debugMode > -1) { + _webView->load(QUrl("qrc:/html/preload-debug.html")); + } else { + _webView->load(QUrl("qrc:/html/preload.html")); + } + + // watcher is not needed anymore since we guarantee internet connection with the networkDiscovery. + // start watching for fileToTriggerURL + //watchForTrigger(); + loadURL(); + + // set properties + setWindowTitle("fbgui"); + setAttribute(Qt::WA_QuitOnClose, true); + setWindowFlags(Qt::FramelessWindowHint); +// showFullScreen(); + this->show(); } //------------------------------------------------------------------------------------------- // Layout / actions setup @@ -220,7 +231,7 @@ void fbgui::loadURL() { QNetworkRequest req(baseURL); // show cursor again since user is about to interact. - QWSServer::instance()->setCursorVisible(true); + //QWSServer::instance()->setCursorVisible(true); QObject::connect(_webView, SIGNAL(loadFinished(bool)), this, SLOT(loadURLDone(bool))); _webView->load(req, QNetworkAccessManager::PostOperation, postData); } @@ -262,7 +273,8 @@ QByteArray fbgui::generatePOSTData() { if (!mbserial.isEmpty()) data.append(mbserial); else { - qxtLog->debug() << "[gui] Mainboard serial was empty. Not appending to base hash data."; + qxtLog->debug() + << "[gui] Mainboard serial was empty. Not appending to base hash data."; } qxtLog->debug() << "[post] Hashing: " << data; // generate MD5 hash of data @@ -478,7 +490,3 @@ void fbgui::createDebugConsole() { void fbgui::toggleDebugConsole() { (_debugConsole->isVisible()) ? _debugConsole->hide() : _debugConsole->show(); } -//------------------------------------------------------------------------------------------- -// - -//------------------------------------------------------------------------------------------- diff --git a/src/fbgui.h b/src/fbgui.h index 35197d8..ee42469 100644 --- a/src/fbgui.h +++ b/src/fbgui.h @@ -53,6 +53,9 @@ public: fbgui(); ~fbgui(); +public slots: + void init(); + private: //------------------- // layout setup: diff --git a/src/fbgui.pro b/src/fbgui.pro index d1c6bf7..c18e022 100644 --- a/src/fbgui.pro +++ b/src/fbgui.pro @@ -18,14 +18,17 @@ INCLUDEPATH += /usr/local/qjson/include \ /usr/local/Qxt/include/QxtCore \ /usr/include/sysfs \ /usr/include/libusb-1.0 -HEADERS += sysinfolibsysfs.h \ - sysinfo.h \ - loggerengine.h \ - javascriptinterface.h \ +HEADERS += ../common/fbgui.h \ downloadmanager.h \ - fbgui.h -SOURCES += sysinfolibsysfs.cpp \ - sysinfo.cpp \ + fbgui.h \ + interfaceconfiguration.h \ + javascriptinterface.h \ + loggerengine.h \ + ndgui.h \ + networkdiscovery.h \ + networkmanager.h \ + sysinfo.h \ +SOURCES += sysinfo.cpp \ loggerengine.cpp \ javascriptinterface.cpp \ downloadmanager.cpp \ diff --git a/src/fbgui.qrc b/src/fbgui.qrc index e378bed..77d852a 100644 --- a/src/fbgui.qrc +++ b/src/fbgui.qrc @@ -1,14 +1,33 @@ - html/js/jquery-1.4.4.min.js - html/js/jquery-1.5.1.min.js - html/js/jquery-ui-1.8.11.min.js - html/js/test.js html/background.png + html/continueBoot.html + html/loadsystem.css + html/loadsystem.html + html/networkdiscovery.css + html/networkdiscovery.html + html/networkdiscovery_userchoice.html + html/old.png html/preload.css html/preload.html html/preload-debug.html - html/loadsystem.css - html/loadsystem.html + html/js/jquery-1.6.4.min.js + html/js/jquery-ui-1.8.16.min.js + html/js/networkDiscovery.js + html/css/jquery-ui-1.8.16.css + html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png + html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png + html/css/images/ui-bg_flat_10_000000_40x100.png + html/css/images/ui-bg_glass_65_ffffff_1x400.png + html/css/images/ui-bg_glass_100_f6f6f6_1x400.png + html/css/images/ui-bg_glass_100_fdf5ce_1x400.png + html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png + html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png + html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png + html/css/images/ui-icons_228ef1_256x240.png + html/css/images/ui-icons_222222_256x240.png + html/css/images/ui-icons_ef8c08_256x240.png + html/css/images/ui-icons_ffd27a_256x240.png + html/css/images/ui-icons_ffffff_256x240.png diff --git a/src/html/js/jquery-1.5.1.min.js b/src/html/js/jquery-1.5.1.min.js deleted file mode 100644 index 6437874..0000000 --- a/src/html/js/jquery-1.5.1.min.js +++ /dev/null @@ -1,16 +0,0 @@ -/*! - * jQuery JavaScript Library v1.5.1 - * http://jquery.com/ - * - * Copyright 2011, John Resig - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * Includes Sizzle.js - * http://sizzlejs.com/ - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * - * Date: Wed Feb 23 13:55:29 2011 -0500 - */ -(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
        a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
        ",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
        t
        ";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

        ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
        ";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
        ","
        "],thead:[1,"","
        "],tr:[2,"","
        "],td:[3,"","
        "],col:[2,"","
        "],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
        ","
        "]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
        ").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
        ";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/src/html/js/jquery-ui-1.8.11.min.js b/src/html/js/jquery-ui-1.8.11.min.js deleted file mode 100644 index e3badaa..0000000 --- a/src/html/js/jquery-ui-1.8.11.min.js +++ /dev/null @@ -1,406 +0,0 @@ -/*! - * jQuery UI 1.8.11 - * - * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) - * Dual licensed under the MIT or GPL Version 2 licenses. - * http://jquery.org/license - * - * http://docs.jquery.com/UI - */ -(function(b,d){function e(g){return!b(g).parents().andSelf().filter(function(){return b.curCSS(this,"visibility")==="hidden"||b.expr.filters.hidden(this)}).length}b.ui=b.ui||{};if(!b.ui.version){b.extend(b.ui,{version:"1.8.11",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, -NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});b.fn.extend({_focus:b.fn.focus,focus:function(g,f){return typeof g==="number"?this.each(function(){var a=this;setTimeout(function(){b(a).focus();f&&f.call(a)},g)}):this._focus.apply(this,arguments)},scrollParent:function(){var g;g=b.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(b.curCSS(this, -"position",1))&&/(auto|scroll)/.test(b.curCSS(this,"overflow",1)+b.curCSS(this,"overflow-y",1)+b.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(b.curCSS(this,"overflow",1)+b.curCSS(this,"overflow-y",1)+b.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!g.length?b(document):g},zIndex:function(g){if(g!==d)return this.css("zIndex",g);if(this.length){g=b(this[0]);for(var f;g.length&&g[0]!==document;){f=g.css("position"); -if(f==="absolute"||f==="relative"||f==="fixed"){f=parseInt(g.css("zIndex"),10);if(!isNaN(f)&&f!==0)return f}g=g.parent()}}return 0},disableSelection:function(){return this.bind((b.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(g){g.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});b.each(["Width","Height"],function(g,f){function a(j,n,p,l){b.each(c,function(){n-=parseFloat(b.curCSS(j,"padding"+this,true))||0;if(p)n-=parseFloat(b.curCSS(j, -"border"+this+"Width",true))||0;if(l)n-=parseFloat(b.curCSS(j,"margin"+this,true))||0});return n}var c=f==="Width"?["Left","Right"]:["Top","Bottom"],h=f.toLowerCase(),i={innerWidth:b.fn.innerWidth,innerHeight:b.fn.innerHeight,outerWidth:b.fn.outerWidth,outerHeight:b.fn.outerHeight};b.fn["inner"+f]=function(j){if(j===d)return i["inner"+f].call(this);return this.each(function(){b(this).css(h,a(this,j)+"px")})};b.fn["outer"+f]=function(j,n){if(typeof j!=="number")return i["outer"+f].call(this,j);return this.each(function(){b(this).css(h, -a(this,j,true,n)+"px")})}});b.extend(b.expr[":"],{data:function(g,f,a){return!!b.data(g,a[3])},focusable:function(g){var f=g.nodeName.toLowerCase(),a=b.attr(g,"tabindex");if("area"===f){f=g.parentNode;a=f.name;if(!g.href||!a||f.nodeName.toLowerCase()!=="map")return false;g=b("img[usemap=#"+a+"]")[0];return!!g&&e(g)}return(/input|select|textarea|button|object/.test(f)?!g.disabled:"a"==f?g.href||!isNaN(a):!isNaN(a))&&e(g)},tabbable:function(g){var f=b.attr(g,"tabindex");return(isNaN(f)||f>=0)&&b(g).is(":focusable")}}); -b(function(){var g=document.body,f=g.appendChild(f=document.createElement("div"));b.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});b.support.minHeight=f.offsetHeight===100;b.support.selectstart="onselectstart"in f;g.removeChild(f).style.display="none"});b.extend(b.ui,{plugin:{add:function(g,f,a){g=b.ui[g].prototype;for(var c in a){g.plugins[c]=g.plugins[c]||[];g.plugins[c].push([f,a[c]])}},call:function(g,f,a){if((f=g.plugins[f])&&g.element[0].parentNode)for(var c=0;c0)return true;g[f]=1;a=g[f]>0;g[f]=0;return a},isOverAxis:function(g,f,a){return g>f&&g=9)&&!d.button)return this._mouseUp(d);if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,d)!==false)?this._mouseDrag(d):this._mouseUp(d);return!this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate); -if(this._mouseStarted){this._mouseStarted=false;d.target==this._mouseDownEvent.target&&b.data(d.target,this.widgetName+".preventClickEvent",true);this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); -(function(b){b.widget("ui.draggable",b.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== -"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(d){var e= -this.options;if(this.helper||e.disabled||b(d.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(d);if(!this.handle)return false;return true},_mouseStart:function(d){var e=this.options;this.helper=this._createHelper(d);this._cacheHelperProportions();if(b.ui.ddmanager)b.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- -this.margins.top,left:this.offset.left-this.margins.left};b.extend(this.offset,{click:{left:d.pageX-this.offset.left,top:d.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(d);this.originalPageX=d.pageX;this.originalPageY=d.pageY;e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt);e.containment&&this._setContainment();if(this._trigger("start",d)===false){this._clear();return false}this._cacheHelperProportions(); -b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,d);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(d,true);return true},_mouseDrag:function(d,e){this.position=this._generatePosition(d);this.positionAbs=this._convertPositionTo("absolute");if(!e){e=this._uiHash();if(this._trigger("drag",d,e)===false){this._mouseUp({});return false}this.position=e.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| -this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";b.ui.ddmanager&&b.ui.ddmanager.drag(this,d);return false},_mouseStop:function(d){var e=false;if(b.ui.ddmanager&&!this.options.dropBehaviour)e=b.ui.ddmanager.drop(this,d);if(this.dropped){e=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!e||this.options.revert=="valid"&&e||this.options.revert===true||b.isFunction(this.options.revert)&& -this.options.revert.call(this.element,e)){var g=this;b(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){g._trigger("stop",d)!==false&&g._clear()})}else this._trigger("stop",d)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(d){var e=!this.options.handle||!b(this.options.handle,this.element).length?true:false;b(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== -d.target)e=true});return e},_createHelper:function(d){var e=this.options;d=b.isFunction(e.helper)?b(e.helper.apply(this.element[0],[d])):e.helper=="clone"?this.element.clone():this.element;d.parents("body").length||d.appendTo(e.appendTo=="parent"?this.element[0].parentNode:e.appendTo);d[0]!=this.element[0]&&!/(fixed|absolute)/.test(d.css("position"))&&d.css("position","absolute");return d},_adjustOffsetFromHelper:function(d){if(typeof d=="string")d=d.split(" ");if(b.isArray(d))d={left:+d[0],top:+d[1]|| -0};if("left"in d)this.offset.click.left=d.left+this.margins.left;if("right"in d)this.offset.click.left=this.helperProportions.width-d.right+this.margins.left;if("top"in d)this.offset.click.top=d.top+this.margins.top;if("bottom"in d)this.offset.click.top=this.helperProportions.height-d.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var d=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0], -this.offsetParent[0])){d.left+=this.scrollParent.scrollLeft();d.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&b.browser.msie)d={top:0,left:0};return{top:d.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:d.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var d=this.element.position();return{top:d.top- -(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:d.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(), -height:this.helper.outerHeight()}},_setContainment:function(){var d=this.options;if(d.containment=="parent")d.containment=this.helper[0].parentNode;if(d.containment=="document"||d.containment=="window")this.containment=[(d.containment=="document"?0:b(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(d.containment=="document"?0:b(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(d.containment=="document"?0:b(window).scrollLeft())+b(d.containment=="document"? -document:window).width()-this.helperProportions.width-this.margins.left,(d.containment=="document"?0:b(window).scrollTop())+(b(d.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(d.containment)&&d.containment.constructor!=Array){var e=b(d.containment)[0];if(e){d=b(d.containment).offset();var g=b(e).css("overflow")!="hidden";this.containment=[d.left+(parseInt(b(e).css("borderLeftWidth"), -10)||0)+(parseInt(b(e).css("paddingLeft"),10)||0),d.top+(parseInt(b(e).css("borderTopWidth"),10)||0)+(parseInt(b(e).css("paddingTop"),10)||0),d.left+(g?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(b(e).css("borderLeftWidth"),10)||0)-(parseInt(b(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,d.top+(g?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(b(e).css("borderTopWidth"),10)||0)-(parseInt(b(e).css("paddingBottom"), -10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom]}}else if(d.containment.constructor==Array)this.containment=d.containment},_convertPositionTo:function(d,e){if(!e)e=this.position;d=d=="absolute"?1:-1;var g=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(g[0].tagName);return{top:e.top+this.offset.relative.top*d+this.offset.parent.top*d-(b.browser.safari&& -b.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:g.scrollTop())*d),left:e.left+this.offset.relative.left*d+this.offset.parent.left*d-(b.browser.safari&&b.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:g.scrollLeft())*d)}},_generatePosition:function(d){var e=this.options,g=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&b.ui.contains(this.scrollParent[0], -this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(g[0].tagName),a=d.pageX,c=d.pageY;if(this.originalPosition){if(this.containment){if(d.pageX-this.offset.click.leftthis.containment[2])a=this.containment[2]+this.offset.click.left;if(d.pageY-this.offset.click.top>this.containment[3])c= -this.containment[3]+this.offset.click.top}if(e.grid){c=this.originalPageY+Math.round((c-this.originalPageY)/e.grid[1])*e.grid[1];c=this.containment?!(c-this.offset.click.topthis.containment[3])?c:!(c-this.offset.click.topthis.containment[2])? -a:!(a-this.offset.click.left').css({width:this.offsetWidth+ -"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(b(this).offset()).appendTo("body")})},stop:function(){b("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});b.ui.plugin.add("draggable","opacity",{start:function(d,e){d=b(e.helper);e=b(this).data("draggable").options;if(d.css("opacity"))e._opacity=d.css("opacity");d.css("opacity",e.opacity)},stop:function(d,e){d=b(this).data("draggable").options;d._opacity&&b(e.helper).css("opacity", -d._opacity)}});b.ui.plugin.add("draggable","scroll",{start:function(){var d=b(this).data("draggable");if(d.scrollParent[0]!=document&&d.scrollParent[0].tagName!="HTML")d.overflowOffset=d.scrollParent.offset()},drag:function(d){var e=b(this).data("draggable"),g=e.options,f=false;if(e.scrollParent[0]!=document&&e.scrollParent[0].tagName!="HTML"){if(!g.axis||g.axis!="x")if(e.overflowOffset.top+e.scrollParent[0].offsetHeight-d.pageY=0;n--){var p=g.snapElements[n].left,l=p+g.snapElements[n].width,k=g.snapElements[n].top,m=k+g.snapElements[n].height;if(p-a=n&&c<=p||h>=n&&h<=p||cp)&&(f>= -i&&f<=j||a>=i&&a<=j||fj);default:return false}};b.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(d,e){var g=b.ui.ddmanager.droppables[d.options.scope]||[],f=e?e.type:null,a=(d.currentItem||d.element).find(":data(droppable)").andSelf(),c=0;a:for(;c').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), -top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= -this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=f.handles||(!b(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", -nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var a=this.handles.split(",");this.handles={};for(var c=0;c');/sw|se|ne|nw/.test(h)&&i.css({zIndex:++f.zIndex});"se"==h&&i.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[h]=".ui-resizable-"+h;this.element.append(i)}}this._renderAxis=function(j){j=j||this.element;for(var n in this.handles){if(this.handles[n].constructor== -String)this.handles[n]=b(this.handles[n],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var p=b(this.handles[n],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(n)?p.outerHeight():p.outerWidth();p=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");j.css(p,l);this._proportionallyResize()}b(this.handles[n])}};this._renderAxis(this.element);this._handles=b(".ui-resizable-handle",this.element).disableSelection(); -this._handles.mouseover(function(){if(!g.resizing){if(this.className)var j=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);g.axis=j&&j[1]?j[1]:"se"}});if(f.autoHide){this._handles.hide();b(this.element).addClass("ui-resizable-autohide").hover(function(){b(this).removeClass("ui-resizable-autohide");g._handles.show()},function(){if(!g.resizing){b(this).addClass("ui-resizable-autohide");g._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var g=function(a){b(a).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; -if(this.elementIsWrapper){g(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);g(this.originalElement);return this},_mouseCapture:function(g){var f=false;for(var a in this.handles)if(b(this.handles[a])[0]==g.target)f=true;return!this.options.disabled&&f},_mouseStart:function(g){var f=this.options,a=this.element.position(), -c=this.element;this.resizing=true;this.documentScroll={top:b(document).scrollTop(),left:b(document).scrollLeft()};if(c.is(".ui-draggable")||/absolute/.test(c.css("position")))c.css({position:"absolute",top:a.top,left:a.left});b.browser.opera&&/relative/.test(c.css("position"))&&c.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();a=d(this.helper.css("left"));var h=d(this.helper.css("top"));if(f.containment){a+=b(f.containment).scrollLeft()||0;h+=b(f.containment).scrollTop()||0}this.offset= -this.helper.offset();this.position={left:a,top:h};this.size=this._helper?{width:c.outerWidth(),height:c.outerHeight()}:{width:c.width(),height:c.height()};this.originalSize=this._helper?{width:c.outerWidth(),height:c.outerHeight()}:{width:c.width(),height:c.height()};this.originalPosition={left:a,top:h};this.sizeDiff={width:c.outerWidth()-c.width(),height:c.outerHeight()-c.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=typeof f.aspectRatio=="number"?f.aspectRatio: -this.originalSize.width/this.originalSize.height||1;f=b(".ui-resizable-"+this.axis).css("cursor");b("body").css("cursor",f=="auto"?this.axis+"-resize":f);c.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(g){var f=this.helper,a=this.originalMousePosition,c=this._change[this.axis];if(!c)return false;a=c.apply(this,[g,g.pageX-a.left||0,g.pageY-a.top||0]);if(this._aspectRatio||g.shiftKey)a=this._updateRatio(a,g);a=this._respectSize(a,g);this._propagate("resize", -g);f.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(a);this._trigger("resize",g,this.ui());return false},_mouseStop:function(g){this.resizing=false;var f=this.options,a=this;if(this._helper){var c=this._proportionallyResizeElements,h=c.length&&/textarea/i.test(c[0].nodeName);c=h&&b.ui.hasScroll(c[0],"left")?0:a.sizeDiff.height; -h=h?0:a.sizeDiff.width;h={width:a.helper.width()-h,height:a.helper.height()-c};c=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var i=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;f.animate||this.element.css(b.extend(h,{top:i,left:c}));a.helper.height(a.size.height);a.helper.width(a.size.width);this._helper&&!f.animate&&this._proportionallyResize()}b("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing"); -this._propagate("stop",g);this._helper&&this.helper.remove();return false},_updateCache:function(g){this.offset=this.helper.offset();if(e(g.left))this.position.left=g.left;if(e(g.top))this.position.top=g.top;if(e(g.height))this.size.height=g.height;if(e(g.width))this.size.width=g.width},_updateRatio:function(g){var f=this.position,a=this.size,c=this.axis;if(g.height)g.width=a.height*this.aspectRatio;else if(g.width)g.height=a.width/this.aspectRatio;if(c=="sw"){g.left=f.left+(a.width-g.width);g.top= -null}if(c=="nw"){g.top=f.top+(a.height-g.height);g.left=f.left+(a.width-g.width)}return g},_respectSize:function(g){var f=this.options,a=this.axis,c=e(g.width)&&f.maxWidth&&f.maxWidthg.width,j=e(g.height)&&f.minHeight&&f.minHeight>g.height;if(i)g.width=f.minWidth;if(j)g.height=f.minHeight;if(c)g.width=f.maxWidth;if(h)g.height=f.maxHeight;var n=this.originalPosition.left+this.originalSize.width,p=this.position.top+ -this.size.height,l=/sw|nw|w/.test(a);a=/nw|ne|n/.test(a);if(i&&l)g.left=n-f.minWidth;if(c&&l)g.left=n-f.maxWidth;if(j&&a)g.top=p-f.minHeight;if(h&&a)g.top=p-f.maxHeight;if((f=!g.width&&!g.height)&&!g.left&&g.top)g.top=null;else if(f&&!g.top&&g.left)g.left=null;return g},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var g=this.helper||this.element,f=0;f');var f=b.browser.msie&&b.browser.version<7,a=f?1:0;f=f?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+f,height:this.element.outerHeight()+f,position:"absolute",left:this.elementOffset.left-a+"px",top:this.elementOffset.top-a+"px",zIndex:++g.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(g, -f){return{width:this.originalSize.width+f}},w:function(g,f){return{left:this.originalPosition.left+f,width:this.originalSize.width-f}},n:function(g,f,a){return{top:this.originalPosition.top+a,height:this.originalSize.height-a}},s:function(g,f,a){return{height:this.originalSize.height+a}},se:function(g,f,a){return b.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,a]))},sw:function(g,f,a){return b.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f, -a]))},ne:function(g,f,a){return b.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,a]))},nw:function(g,f,a){return b.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,a]))}},_propagate:function(g,f){b.ui.plugin.call(this,g,[f,this.ui()]);g!="resize"&&this._trigger(g,f,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize, -originalPosition:this.originalPosition}}});b.extend(b.ui.resizable,{version:"1.8.11"});b.ui.plugin.add("resizable","alsoResize",{start:function(){var g=b(this).data("resizable").options,f=function(a){b(a).each(function(){var c=b(this);c.data("resizable-alsoresize",{width:parseInt(c.width(),10),height:parseInt(c.height(),10),left:parseInt(c.css("left"),10),top:parseInt(c.css("top"),10),position:c.css("position")})})};if(typeof g.alsoResize=="object"&&!g.alsoResize.parentNode)if(g.alsoResize.length){g.alsoResize= -g.alsoResize[0];f(g.alsoResize)}else b.each(g.alsoResize,function(a){f(a)});else f(g.alsoResize)},resize:function(g,f){var a=b(this).data("resizable");g=a.options;var c=a.originalSize,h=a.originalPosition,i={height:a.size.height-c.height||0,width:a.size.width-c.width||0,top:a.position.top-h.top||0,left:a.position.left-h.left||0},j=function(n,p){b(n).each(function(){var l=b(this),k=b(this).data("resizable-alsoresize"),m={},o=p&&p.length?p:l.parents(f.originalElement[0]).length?["width","height"]:["width", -"height","top","left"];b.each(o,function(q,s){if((q=(k[s]||0)+(i[s]||0))&&q>=0)m[s]=q||null});if(b.browser.opera&&/relative/.test(l.css("position"))){a._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(m)})};typeof g.alsoResize=="object"&&!g.alsoResize.nodeType?b.each(g.alsoResize,function(n,p){j(n,p)}):j(g.alsoResize)},stop:function(){var g=b(this).data("resizable"),f=g.options,a=function(c){b(c).each(function(){var h=b(this);h.css({position:h.data("resizable-alsoresize").position})})}; -if(g._revertToRelativePosition){g._revertToRelativePosition=false;typeof f.alsoResize=="object"&&!f.alsoResize.nodeType?b.each(f.alsoResize,function(c){a(c)}):a(f.alsoResize)}b(this).removeData("resizable-alsoresize")}});b.ui.plugin.add("resizable","animate",{stop:function(g){var f=b(this).data("resizable"),a=f.options,c=f._proportionallyResizeElements,h=c.length&&/textarea/i.test(c[0].nodeName),i=h&&b.ui.hasScroll(c[0],"left")?0:f.sizeDiff.height;h={width:f.size.width-(h?0:f.sizeDiff.width),height:f.size.height- -i};i=parseInt(f.element.css("left"),10)+(f.position.left-f.originalPosition.left)||null;var j=parseInt(f.element.css("top"),10)+(f.position.top-f.originalPosition.top)||null;f.element.animate(b.extend(h,j&&i?{top:j,left:i}:{}),{duration:a.animateDuration,easing:a.animateEasing,step:function(){var n={width:parseInt(f.element.css("width"),10),height:parseInt(f.element.css("height"),10),top:parseInt(f.element.css("top"),10),left:parseInt(f.element.css("left"),10)};c&&c.length&&b(c[0]).css({width:n.width, -height:n.height});f._updateCache(n);f._propagate("resize",g)}})}});b.ui.plugin.add("resizable","containment",{start:function(){var g=b(this).data("resizable"),f=g.element,a=g.options.containment;if(f=a instanceof b?a.get(0):/parent/.test(a)?f.parent().get(0):a){g.containerElement=b(f);if(/document/.test(a)||a==document){g.containerOffset={left:0,top:0};g.containerPosition={left:0,top:0};g.parentData={element:b(document),left:0,top:0,width:b(document).width(),height:b(document).height()||document.body.parentNode.scrollHeight}}else{var c= -b(f),h=[];b(["Top","Right","Left","Bottom"]).each(function(n,p){h[n]=d(c.css("padding"+p))});g.containerOffset=c.offset();g.containerPosition=c.position();g.containerSize={height:c.innerHeight()-h[3],width:c.innerWidth()-h[1]};a=g.containerOffset;var i=g.containerSize.height,j=g.containerSize.width;j=b.ui.hasScroll(f,"left")?f.scrollWidth:j;i=b.ui.hasScroll(f)?f.scrollHeight:i;g.parentData={element:f,left:a.left,top:a.top,width:j,height:i}}}},resize:function(g){var f=b(this).data("resizable"),a=f.options, -c=f.containerOffset,h=f.position;g=f._aspectRatio||g.shiftKey;var i={top:0,left:0},j=f.containerElement;if(j[0]!=document&&/static/.test(j.css("position")))i=c;if(h.left<(f._helper?c.left:0)){f.size.width+=f._helper?f.position.left-c.left:f.position.left-i.left;if(g)f.size.height=f.size.width/a.aspectRatio;f.position.left=a.helper?c.left:0}if(h.top<(f._helper?c.top:0)){f.size.height+=f._helper?f.position.top-c.top:f.position.top;if(g)f.size.width=f.size.height*a.aspectRatio;f.position.top=f._helper? -c.top:0}f.offset.left=f.parentData.left+f.position.left;f.offset.top=f.parentData.top+f.position.top;a=Math.abs((f._helper?f.offset.left-i.left:f.offset.left-i.left)+f.sizeDiff.width);c=Math.abs((f._helper?f.offset.top-i.top:f.offset.top-c.top)+f.sizeDiff.height);h=f.containerElement.get(0)==f.element.parent().get(0);i=/relative|absolute/.test(f.containerElement.css("position"));if(h&&i)a-=f.parentData.left;if(a+f.size.width>=f.parentData.width){f.size.width=f.parentData.width-a;if(g)f.size.height= -f.size.width/f.aspectRatio}if(c+f.size.height>=f.parentData.height){f.size.height=f.parentData.height-c;if(g)f.size.width=f.size.height*f.aspectRatio}},stop:function(){var g=b(this).data("resizable"),f=g.options,a=g.containerOffset,c=g.containerPosition,h=g.containerElement,i=b(g.helper),j=i.offset(),n=i.outerWidth()-g.sizeDiff.width;i=i.outerHeight()-g.sizeDiff.height;g._helper&&!f.animate&&/relative/.test(h.css("position"))&&b(this).css({left:j.left-c.left-a.left,width:n,height:i});g._helper&&!f.animate&& -/static/.test(h.css("position"))&&b(this).css({left:j.left-c.left-a.left,width:n,height:i})}});b.ui.plugin.add("resizable","ghost",{start:function(){var g=b(this).data("resizable"),f=g.options,a=g.size;g.ghost=g.originalElement.clone();g.ghost.css({opacity:0.25,display:"block",position:"relative",height:a.height,width:a.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof f.ghost=="string"?f.ghost:"");g.ghost.appendTo(g.helper)},resize:function(){var g=b(this).data("resizable"); -g.ghost&&g.ghost.css({position:"relative",height:g.size.height,width:g.size.width})},stop:function(){var g=b(this).data("resizable");g.ghost&&g.helper&&g.helper.get(0).removeChild(g.ghost.get(0))}});b.ui.plugin.add("resizable","grid",{resize:function(){var g=b(this).data("resizable"),f=g.options,a=g.size,c=g.originalSize,h=g.originalPosition,i=g.axis;f.grid=typeof f.grid=="number"?[f.grid,f.grid]:f.grid;var j=Math.round((a.width-c.width)/(f.grid[0]||1))*(f.grid[0]||1);f=Math.round((a.height-c.height)/ -(f.grid[1]||1))*(f.grid[1]||1);if(/^(se|s|e)$/.test(i)){g.size.width=c.width+j;g.size.height=c.height+f}else if(/^(ne)$/.test(i)){g.size.width=c.width+j;g.size.height=c.height+f;g.position.top=h.top-f}else{if(/^(sw)$/.test(i)){g.size.width=c.width+j;g.size.height=c.height+f}else{g.size.width=c.width+j;g.size.height=c.height+f;g.position.top=h.top-f}g.position.left=h.left-j}}});var d=function(g){return parseInt(g,10)||0},e=function(g){return!isNaN(parseInt(g,10))}})(jQuery); -(function(b){b.widget("ui.selectable",b.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var d=this;this.element.addClass("ui-selectable");this.dragged=false;var e;this.refresh=function(){e=b(d.options.filter,d.element[0]);e.each(function(){var g=b(this),f=g.offset();b.data(this,"selectable-item",{element:this,$element:g,left:f.left,top:f.top,right:f.left+g.outerWidth(),bottom:f.top+g.outerHeight(),startselected:false,selected:g.hasClass("ui-selected"), -selecting:g.hasClass("ui-selecting"),unselecting:g.hasClass("ui-unselecting")})})};this.refresh();this.selectees=e.addClass("ui-selectee");this._mouseInit();this.helper=b("
        ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(d){var e=this;this.opos=[d.pageX, -d.pageY];if(!this.options.disabled){var g=this.options;this.selectees=b(g.filter,this.element[0]);this._trigger("start",d);b(g.appendTo).append(this.helper);this.helper.css({left:d.clientX,top:d.clientY,width:0,height:0});g.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var f=b.data(this,"selectable-item");f.startselected=true;if(!d.metaKey){f.$element.removeClass("ui-selected");f.selected=false;f.$element.addClass("ui-unselecting");f.unselecting=true;e._trigger("unselecting", -d,{unselecting:f.element})}});b(d.target).parents().andSelf().each(function(){var f=b.data(this,"selectable-item");if(f){var a=!d.metaKey||!f.$element.hasClass("ui-selected");f.$element.removeClass(a?"ui-unselecting":"ui-selected").addClass(a?"ui-selecting":"ui-unselecting");f.unselecting=!a;f.selecting=a;(f.selected=a)?e._trigger("selecting",d,{selecting:f.element}):e._trigger("unselecting",d,{unselecting:f.element});return false}})}},_mouseDrag:function(d){var e=this;this.dragged=true;if(!this.options.disabled){var g= -this.options,f=this.opos[0],a=this.opos[1],c=d.pageX,h=d.pageY;if(f>c){var i=c;c=f;f=i}if(a>h){i=h;h=a;a=i}this.helper.css({left:f,top:a,width:c-f,height:h-a});this.selectees.each(function(){var j=b.data(this,"selectable-item");if(!(!j||j.element==e.element[0])){var n=false;if(g.tolerance=="touch")n=!(j.left>c||j.righth||j.bottomf&&j.righta&&j.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); -this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var d=this.items.length-1;d>=0;d--)this.items[d].item.removeData("sortable-item");return this},_setOption:function(d,e){if(d==="disabled"){this.options[d]= -e;this.widget()[e?"addClass":"removeClass"]("ui-sortable-disabled")}else b.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(d,e){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(d);var g=null,f=this;b(d.target).parents().each(function(){if(b.data(this,"sortable-item")==f){g=b(this);return false}});if(b.data(d.target,"sortable-item")==f)g=b(d.target);if(!g)return false;if(this.options.handle&&!e){var a=false; -b(this.options.handle,g).find("*").andSelf().each(function(){if(this==d.target)a=true});if(!a)return false}this.currentItem=g;this._removeCurrentsFromItems();return true},_mouseStart:function(d,e,g){e=this.options;var f=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(d);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left- -this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");b.extend(this.offset,{click:{left:d.pageX-this.offset.left,top:d.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(d);this.originalPageX=d.pageX;this.originalPageY=d.pageY;e.cursorAt&&this._adjustOffsetFromHelper(e.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; -this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();e.containment&&this._setContainment();if(e.cursor){if(b("body").css("cursor"))this._storedCursor=b("body").css("cursor");b("body").css("cursor",e.cursor)}if(e.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",e.opacity)}if(e.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",e.zIndex)}if(this.scrollParent[0]!= -document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",d,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!g)for(g=this.containers.length-1;g>=0;g--)this.containers[g]._trigger("activate",d,f._uiHash(this));if(b.ui.ddmanager)b.ui.ddmanager.current=this;b.ui.ddmanager&&!e.dropBehaviour&&b.ui.ddmanager.prepareOffsets(this,d);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(d); -return true},_mouseDrag:function(d){this.position=this._generatePosition(d);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var e=this.options,g=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-d.pageY=0;e--){g=this.items[e];var f=g.item[0],a=this._intersectsWithPointer(g);if(a)if(f!=this.currentItem[0]&&this.placeholder[a==1?"next":"prev"]()[0]!=f&&!b.ui.contains(this.placeholder[0],f)&&(this.options.type=="semi-dynamic"?!b.ui.contains(this.element[0], -f):true)){this.direction=a==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(g))this._rearrange(d,g);else break;this._trigger("change",d,this._uiHash());break}}this._contactContainers(d);b.ui.ddmanager&&b.ui.ddmanager.drag(this,d);this._trigger("sort",d,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(d,e){if(d){b.ui.ddmanager&&!this.options.dropBehaviour&&b.ui.ddmanager.drop(this,d);if(this.options.revert){var g=this;e=g.placeholder.offset(); -g.reverting=true;b(this.helper).animate({left:e.left-this.offset.parent.left-g.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:e.top-this.offset.parent.top-g.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){g._clear(d)})}else this._clear(d,e);return false}},cancel:function(){var d=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): -this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--){this.containers[e]._trigger("deactivate",null,d._uiHash(this));if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",null,d._uiHash(this));this.containers[e].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();b.extend(this,{helper:null, -dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?b(this.domPosition.prev).after(this.currentItem):b(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(d){var e=this._getItemsAsjQuery(d&&d.connected),g=[];d=d||{};b(e).each(function(){var f=(b(d.item||this).attr(d.attribute||"id")||"").match(d.expression||/(.+)[-=_](.+)/);if(f)g.push((d.key||f[1]+"[]")+"="+(d.key&&d.expression?f[1]:f[2]))});!g.length&&d.key&&g.push(d.key+"=");return g.join("&")}, -toArray:function(d){var e=this._getItemsAsjQuery(d&&d.connected),g=[];d=d||{};e.each(function(){g.push(b(d.item||this).attr(d.attribute||"id")||"")});return g},_intersectsWith:function(d){var e=this.positionAbs.left,g=e+this.helperProportions.width,f=this.positionAbs.top,a=f+this.helperProportions.height,c=d.left,h=c+d.width,i=d.top,j=i+d.height,n=this.offset.click.top,p=this.offset.click.left;n=f+n>i&&f+nc&&e+pd[this.floating?"width":"height"]?n:c0?"down":"up")},_getDragHorizontalDirection:function(){var d=this.positionAbs.left-this.lastPositionAbs.left;return d!=0&&(d>0?"right":"left")},refresh:function(d){this._refreshItems(d);this.refreshPositions();return this},_connectWith:function(){var d=this.options;return d.connectWith.constructor==String?[d.connectWith]:d.connectWith},_getItemsAsjQuery:function(d){var e=[],g=[],f=this._connectWith(); -if(f&&d)for(d=f.length-1;d>=0;d--)for(var a=b(f[d]),c=a.length-1;c>=0;c--){var h=b.data(a[c],"sortable");if(h&&h!=this&&!h.options.disabled)g.push([b.isFunction(h.options.items)?h.options.items.call(h.element):b(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}g.push([b.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):b(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), -this]);for(d=g.length-1;d>=0;d--)g[d][0].each(function(){e.push(this)});return b(e)},_removeCurrentsFromItems:function(){for(var d=this.currentItem.find(":data(sortable-item)"),e=0;e=0;a--)for(var c=b(f[a]),h=c.length-1;h>=0;h--){var i=b.data(c[h],"sortable");if(i&&i!=this&&!i.options.disabled){g.push([b.isFunction(i.options.items)?i.options.items.call(i.element[0],d,{item:this.currentItem}):b(i.options.items,i.element),i]);this.containers.push(i)}}for(a=g.length-1;a>=0;a--){d=g[a][1];f=g[a][0];h=0;for(c=f.length;h=0;e--){var g=this.items[e],f=this.options.toleranceElement?b(this.options.toleranceElement,g.item):g.item;if(!d){g.width=f.outerWidth();g.height=f.outerHeight()}f=f.offset();g.left=f.left;g.top=f.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(e=this.containers.length-1;e>=0;e--){f=this.containers[e].element.offset();this.containers[e].containerCache.left= -f.left;this.containers[e].containerCache.top=f.top;this.containers[e].containerCache.width=this.containers[e].element.outerWidth();this.containers[e].containerCache.height=this.containers[e].element.outerHeight()}return this},_createPlaceholder:function(d){var e=d||this,g=e.options;if(!g.placeholder||g.placeholder.constructor==String){var f=g.placeholder;g.placeholder={element:function(){var a=b(document.createElement(e.currentItem[0].nodeName)).addClass(f||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; -if(!f)a.style.visibility="hidden";return a},update:function(a,c){if(!(f&&!g.forcePlaceholderSize)){c.height()||c.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10));c.width()||c.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10))}}}}e.placeholder=b(g.placeholder.element.call(e.element,e.currentItem));e.currentItem.after(e.placeholder); -g.placeholder.update(e,e.placeholder)},_contactContainers:function(d){for(var e=null,g=null,f=this.containers.length-1;f>=0;f--)if(!b.ui.contains(this.currentItem[0],this.containers[f].element[0]))if(this._intersectsWith(this.containers[f].containerCache)){if(!(e&&b.ui.contains(this.containers[f].element[0],e.element[0]))){e=this.containers[f];g=f}}else if(this.containers[f].containerCache.over){this.containers[f]._trigger("out",d,this._uiHash(this));this.containers[f].containerCache.over=0}if(e)if(this.containers.length=== -1){this.containers[g]._trigger("over",d,this._uiHash(this));this.containers[g].containerCache.over=1}else if(this.currentContainer!=this.containers[g]){e=1E4;f=null;for(var a=this.positionAbs[this.containers[g].floating?"left":"top"],c=this.items.length-1;c>=0;c--)if(b.ui.contains(this.containers[g].element[0],this.items[c].item[0])){var h=this.items[c][this.containers[g].floating?"left":"top"];if(Math.abs(h-a)this.containment[2])a=this.containment[2]+this.offset.click.left;if(d.pageY-this.offset.click.top>this.containment[3])c=this.containment[3]+this.offset.click.top}if(e.grid){c=this.originalPageY+Math.round((c-this.originalPageY)/e.grid[1])*e.grid[1];c=this.containment?!(c-this.offset.click.top< -this.containment[1]||c-this.offset.click.top>this.containment[3])?c:!(c-this.offset.click.topthis.containment[2])?a:!(a-this.offset.click.left=0;f--)if(b.ui.contains(this.containers[f].element[0], -this.currentItem[0])&&!e){g.push(function(a){return function(c){a._trigger("receive",c,this._uiHash(this))}}.call(this,this.containers[f]));g.push(function(a){return function(c){a._trigger("update",c,this._uiHash(this))}}.call(this,this.containers[f]))}}for(f=this.containers.length-1;f>=0;f--){e||g.push(function(a){return function(c){a._trigger("deactivate",c,this._uiHash(this))}}.call(this,this.containers[f]));if(this.containers[f].containerCache.over){g.push(function(a){return function(c){a._trigger("out", -c,this._uiHash(this))}}.call(this,this.containers[f]));this.containers[f].containerCache.over=0}}this._storedCursor&&b("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!e){this._trigger("beforeStop",d,this._uiHash());for(f=0;f").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent", -border:"none",margin:0,padding:0});l.wrap(m);m=l.parent();if(l.css("position")=="static"){m.css({position:"relative"});l.css({position:"relative"})}else{b.extend(k,{position:l.css("position"),zIndex:l.css("z-index")});b.each(["top","left","bottom","right"],function(o,q){k[q]=l.css(q);if(isNaN(parseInt(k[q],10)))k[q]="auto"});l.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return m.css(k).show()},removeWrapper:function(l){if(l.parent().is(".ui-effects-wrapper"))return l.parent().replaceWith(l); -return l},setTransition:function(l,k,m,o){o=o||{};b.each(k,function(q,s){unit=l.cssUnit(s);if(unit[0]>0)o[s]=unit[0]*m+unit[1]});return o}});b.fn.extend({effect:function(l){var k=h.apply(this,arguments),m={options:k[1],duration:k[2],callback:k[3]};k=m.options.mode;var o=b.effects[l];if(b.fx.off||!o)return k?this[k](m.duration,m.callback):this.each(function(){m.callback&&m.callback.call(this)});return o.call(this,m)},_show:b.fn.show,show:function(l){if(i(l))return this._show.apply(this,arguments); -else{var k=h.apply(this,arguments);k[1].mode="show";return this.effect.apply(this,k)}},_hide:b.fn.hide,hide:function(l){if(i(l))return this._hide.apply(this,arguments);else{var k=h.apply(this,arguments);k[1].mode="hide";return this.effect.apply(this,k)}},__toggle:b.fn.toggle,toggle:function(l){if(i(l)||typeof l==="boolean"||b.isFunction(l))return this.__toggle.apply(this,arguments);else{var k=h.apply(this,arguments);k[1].mode="toggle";return this.effect.apply(this,k)}},cssUnit:function(l){var k=this.css(l), -m=[];b.each(["em","px","%","pt"],function(o,q){if(k.indexOf(q)>0)m=[parseFloat(k),q]});return m}});b.easing.jswing=b.easing.swing;b.extend(b.easing,{def:"easeOutQuad",swing:function(l,k,m,o,q){return b.easing[b.easing.def](l,k,m,o,q)},easeInQuad:function(l,k,m,o,q){return o*(k/=q)*k+m},easeOutQuad:function(l,k,m,o,q){return-o*(k/=q)*(k-2)+m},easeInOutQuad:function(l,k,m,o,q){if((k/=q/2)<1)return o/2*k*k+m;return-o/2*(--k*(k-2)-1)+m},easeInCubic:function(l,k,m,o,q){return o*(k/=q)*k*k+m},easeOutCubic:function(l, -k,m,o,q){return o*((k=k/q-1)*k*k+1)+m},easeInOutCubic:function(l,k,m,o,q){if((k/=q/2)<1)return o/2*k*k*k+m;return o/2*((k-=2)*k*k+2)+m},easeInQuart:function(l,k,m,o,q){return o*(k/=q)*k*k*k+m},easeOutQuart:function(l,k,m,o,q){return-o*((k=k/q-1)*k*k*k-1)+m},easeInOutQuart:function(l,k,m,o,q){if((k/=q/2)<1)return o/2*k*k*k*k+m;return-o/2*((k-=2)*k*k*k-2)+m},easeInQuint:function(l,k,m,o,q){return o*(k/=q)*k*k*k*k+m},easeOutQuint:function(l,k,m,o,q){return o*((k=k/q-1)*k*k*k*k+1)+m},easeInOutQuint:function(l, -k,m,o,q){if((k/=q/2)<1)return o/2*k*k*k*k*k+m;return o/2*((k-=2)*k*k*k*k+2)+m},easeInSine:function(l,k,m,o,q){return-o*Math.cos(k/q*(Math.PI/2))+o+m},easeOutSine:function(l,k,m,o,q){return o*Math.sin(k/q*(Math.PI/2))+m},easeInOutSine:function(l,k,m,o,q){return-o/2*(Math.cos(Math.PI*k/q)-1)+m},easeInExpo:function(l,k,m,o,q){return k==0?m:o*Math.pow(2,10*(k/q-1))+m},easeOutExpo:function(l,k,m,o,q){return k==q?m+o:o*(-Math.pow(2,-10*k/q)+1)+m},easeInOutExpo:function(l,k,m,o,q){if(k==0)return m;if(k== -q)return m+o;if((k/=q/2)<1)return o/2*Math.pow(2,10*(k-1))+m;return o/2*(-Math.pow(2,-10*--k)+2)+m},easeInCirc:function(l,k,m,o,q){return-o*(Math.sqrt(1-(k/=q)*k)-1)+m},easeOutCirc:function(l,k,m,o,q){return o*Math.sqrt(1-(k=k/q-1)*k)+m},easeInOutCirc:function(l,k,m,o,q){if((k/=q/2)<1)return-o/2*(Math.sqrt(1-k*k)-1)+m;return o/2*(Math.sqrt(1-(k-=2)*k)+1)+m},easeInElastic:function(l,k,m,o,q){l=1.70158;var s=0,r=o;if(k==0)return m;if((k/=q)==1)return m+o;s||(s=q*0.3);if(r").css({position:"absolute",visibility:"visible",left:-j*(c/g),top:-i*(h/e)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:c/g,height:h/e,left:a.left+j*(c/g)+(d.options.mode=="show"?(j-Math.floor(g/2))*(c/g):0),top:a.top+i*(h/e)+(d.options.mode=="show"?(i-Math.floor(e/2))*(h/e):0),opacity:d.options.mode=="show"?0:1}).animate({left:a.left+j*(c/g)+(d.options.mode=="show"?0:(j-Math.floor(g/2))*(c/g)),top:a.top+ -i*(h/e)+(d.options.mode=="show"?0:(i-Math.floor(e/2))*(h/e)),opacity:d.options.mode=="show"?1:0},d.duration||500);setTimeout(function(){d.options.mode=="show"?f.css({visibility:"visible"}):f.css({visibility:"visible"}).hide();d.callback&&d.callback.apply(f[0]);f.dequeue();b("div.ui-effects-explode").remove()},d.duration||500)})}})(jQuery); -(function(b){b.effects.fade=function(d){return this.queue(function(){var e=b(this),g=b.effects.setMode(e,d.options.mode||"hide");e.animate({opacity:g},{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){d.callback&&d.callback.apply(this,arguments);e.dequeue()}})})}})(jQuery); -(function(b){b.effects.fold=function(d){return this.queue(function(){var e=b(this),g=["position","top","bottom","left","right"],f=b.effects.setMode(e,d.options.mode||"hide"),a=d.options.size||15,c=!!d.options.horizFirst,h=d.duration?d.duration/2:b.fx.speeds._default/2;b.effects.save(e,g);e.show();var i=b.effects.createWrapper(e).css({overflow:"hidden"}),j=f=="show"!=c,n=j?["width","height"]:["height","width"];j=j?[i.width(),i.height()]:[i.height(),i.width()];var p=/([0-9]+)%/.exec(a);if(p)a=parseInt(p[1], -10)/100*j[f=="hide"?0:1];if(f=="show")i.css(c?{height:0,width:a}:{height:a,width:0});c={};p={};c[n[0]]=f=="show"?j[0]:a;p[n[1]]=f=="show"?j[1]:0;i.animate(c,h,d.options.easing).animate(p,h,d.options.easing,function(){f=="hide"&&e.hide();b.effects.restore(e,g);b.effects.removeWrapper(e);d.callback&&d.callback.apply(e[0],arguments);e.dequeue()})})}})(jQuery); -(function(b){b.effects.highlight=function(d){return this.queue(function(){var e=b(this),g=["backgroundImage","backgroundColor","opacity"],f=b.effects.setMode(e,d.options.mode||"show"),a={backgroundColor:e.css("backgroundColor")};if(f=="hide")a.opacity=0;b.effects.save(e,g);e.show().css({backgroundImage:"none",backgroundColor:d.options.color||"#ffff99"}).animate(a,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){f=="hide"&&e.hide();b.effects.restore(e,g);f=="show"&&!b.support.opacity&& -this.style.removeAttribute("filter");d.callback&&d.callback.apply(this,arguments);e.dequeue()}})})}})(jQuery); -(function(b){b.effects.pulsate=function(d){return this.queue(function(){var e=b(this),g=b.effects.setMode(e,d.options.mode||"show");times=(d.options.times||5)*2-1;duration=d.duration?d.duration/2:b.fx.speeds._default/2;isVisible=e.is(":visible");animateTo=0;if(!isVisible){e.css("opacity",0).show();animateTo=1}if(g=="hide"&&isVisible||g=="show"&&!isVisible)times--;for(g=0;g').appendTo(document.body).addClass(d.options.className).css({top:f.top,left:f.left,height:e.innerHeight(),width:e.innerWidth(),position:"absolute"}).animate(g,d.duration,d.options.easing,function(){a.remove();d.callback&&d.callback.apply(e[0],arguments); -e.dequeue()})})}})(jQuery); -(function(b){b.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var d=this,e=d.options;d.running=0;d.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");d.headers= -d.element.find(e.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){e.disabled||b(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){e.disabled||b(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){e.disabled||b(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){e.disabled||b(this).removeClass("ui-state-focus")});d.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); -if(e.navigation){var g=d.element.find("a").filter(e.navigationFilter).eq(0);if(g.length){var f=g.closest(".ui-accordion-header");d.active=f.length?f:g.closest(".ui-accordion-content").prev()}}d.active=d._findActive(d.active||e.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");d.active.next().addClass("ui-accordion-content-active");d._createIcons();d.resize();d.element.attr("role","tablist");d.headers.attr("role","tab").bind("keydown.accordion", -function(a){return d._keydown(a)}).next().attr("role","tabpanel");d.headers.not(d.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();d.active.length?d.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):d.headers.eq(0).attr("tabIndex",0);b.browser.safari||d.headers.find("a").attr("tabIndex",-1);e.event&&d.headers.bind(e.event.split(" ").join(".accordion ")+".accordion",function(a){d._clickHandler.call(d,a,this);a.preventDefault()})},_createIcons:function(){var d= -this.options;if(d.icons){b("").addClass("ui-icon "+d.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(d.icons.header).toggleClass(d.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var d=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); -this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var e=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(d.autoHeight||d.fillHeight)e.css("height","");return b.Widget.prototype.destroy.call(this)},_setOption:function(d,e){b.Widget.prototype._setOption.apply(this,arguments);d=="active"&&this.activate(e);if(d=="icons"){this._destroyIcons(); -e&&this._createIcons()}if(d=="disabled")this.headers.add(this.headers.next())[e?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(d){if(!(this.options.disabled||d.altKey||d.ctrlKey)){var e=b.ui.keyCode,g=this.headers.length,f=this.headers.index(d.target),a=false;switch(d.keyCode){case e.RIGHT:case e.DOWN:a=this.headers[(f+1)%g];break;case e.LEFT:case e.UP:a=this.headers[(f-1+g)%g];break;case e.SPACE:case e.ENTER:this._clickHandler({target:d.target},d.target); -d.preventDefault()}if(a){b(d.target).attr("tabIndex",-1);b(a).attr("tabIndex",0);a.focus();return false}return true}},resize:function(){var d=this.options,e;if(d.fillSpace){if(b.browser.msie){var g=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}e=this.element.parent().height();b.browser.msie&&this.element.parent().css("overflow",g);this.headers.each(function(){e-=b(this).outerHeight(true)});this.headers.next().each(function(){b(this).height(Math.max(0,e-b(this).innerHeight()+ -b(this).height()))}).css("overflow","auto")}else if(d.autoHeight){e=0;this.headers.next().each(function(){e=Math.max(e,b(this).height("").height())}).height(e)}return this},activate:function(d){this.options.active=d;d=this._findActive(d)[0];this._clickHandler({target:d},d);return this},_findActive:function(d){return d?typeof d==="number"?this.headers.filter(":eq("+d+")"):this.headers.not(this.headers.not(d)):d===false?b([]):this.headers.filter(":eq(0)")},_clickHandler:function(d,e){var g=this.options; -if(!g.disabled)if(d.target){d=b(d.currentTarget||e);e=d[0]===this.active[0];g.active=g.collapsible&&e?false:this.headers.index(d);if(!(this.running||!g.collapsible&&e)){var f=this.active;i=d.next();c=this.active.next();h={options:g,newHeader:e&&g.collapsible?b([]):d,oldHeader:this.active,newContent:e&&g.collapsible?b([]):i,oldContent:c};var a=this.headers.index(this.active[0])>this.headers.index(d[0]);this.active=e?b([]):d;this._toggle(i,c,h,e,a);f.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(g.icons.headerSelected).addClass(g.icons.header); -if(!e){d.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(g.icons.header).addClass(g.icons.headerSelected);d.next().addClass("ui-accordion-content-active")}}}else if(g.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(g.icons.headerSelected).addClass(g.icons.header);this.active.next().addClass("ui-accordion-content-active");var c=this.active.next(), -h={options:g,newHeader:b([]),oldHeader:g.active,newContent:b([]),oldContent:c},i=this.active=b([]);this._toggle(i,c,h)}},_toggle:function(d,e,g,f,a){var c=this,h=c.options;c.toShow=d;c.toHide=e;c.data=g;var i=function(){if(c)return c._completed.apply(c,arguments)};c._trigger("changestart",null,c.data);c.running=e.size()===0?d.size():e.size();if(h.animated){g={};g=h.collapsible&&f?{toShow:b([]),toHide:e,complete:i,down:a,autoHeight:h.autoHeight||h.fillSpace}:{toShow:d,toHide:e,complete:i,down:a,autoHeight:h.autoHeight|| -h.fillSpace};if(!h.proxied)h.proxied=h.animated;if(!h.proxiedDuration)h.proxiedDuration=h.duration;h.animated=b.isFunction(h.proxied)?h.proxied(g):h.proxied;h.duration=b.isFunction(h.proxiedDuration)?h.proxiedDuration(g):h.proxiedDuration;f=b.ui.accordion.animations;var j=h.duration,n=h.animated;if(n&&!f[n]&&!b.easing[n])n="slide";f[n]||(f[n]=function(p){this.slide(p,{easing:n,duration:j||700})});f[n](g)}else{if(h.collapsible&&f)d.toggle();else{e.hide();d.show()}i(true)}e.prev().attr({"aria-expanded":"false", -"aria-selected":"false",tabIndex:-1}).blur();d.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(d){this.running=d?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});b.extend(b.ui.accordion,{version:"1.8.11", -animations:{slide:function(d,e){d=b.extend({easing:"swing",duration:300},d,e);if(d.toHide.size())if(d.toShow.size()){var g=d.toShow.css("overflow"),f=0,a={},c={},h;e=d.toShow;h=e[0].style.width;e.width(parseInt(e.parent().width(),10)-parseInt(e.css("paddingLeft"),10)-parseInt(e.css("paddingRight"),10)-(parseInt(e.css("borderLeftWidth"),10)||0)-(parseInt(e.css("borderRightWidth"),10)||0));b.each(["height","paddingTop","paddingBottom"],function(i,j){c[j]="hide";i=(""+b.css(d.toShow[0],j)).match(/^([\d+-.]+)(.*)$/); -a[j]={value:i[1],unit:i[2]||"px"}});d.toShow.css({height:0,overflow:"hidden"}).show();d.toHide.filter(":hidden").each(d.complete).end().filter(":visible").animate(c,{step:function(i,j){if(j.prop=="height")f=j.end-j.start===0?0:(j.now-j.start)/(j.end-j.start);d.toShow[0].style[j.prop]=f*a[j.prop].value+a[j.prop].unit},duration:d.duration,easing:d.easing,complete:function(){d.autoHeight||d.toShow.css("height","");d.toShow.css({width:h,overflow:g});d.complete()}})}else d.toHide.animate({height:"hide", -paddingTop:"hide",paddingBottom:"hide"},d);else d.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},d)},bounceslide:function(d){this.slide(d,{easing:d.down?"easeOutBounce":"swing",duration:d.down?1E3:200})}}})})(jQuery); -(function(b){var d=0;b.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var e=this,g=this.element[0].ownerDocument,f;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(a){if(!(e.options.disabled||e.element.attr("readonly"))){f= -false;var c=b.ui.keyCode;switch(a.keyCode){case c.PAGE_UP:e._move("previousPage",a);break;case c.PAGE_DOWN:e._move("nextPage",a);break;case c.UP:e._move("previous",a);a.preventDefault();break;case c.DOWN:e._move("next",a);a.preventDefault();break;case c.ENTER:case c.NUMPAD_ENTER:if(e.menu.active){f=true;a.preventDefault()}case c.TAB:if(!e.menu.active)return;e.menu.select(a);break;case c.ESCAPE:e.element.val(e.term);e.close(a);break;default:clearTimeout(e.searching);e.searching=setTimeout(function(){if(e.term!= -e.element.val()){e.selectedItem=null;e.search(null,a)}},e.options.delay);break}}}).bind("keypress.autocomplete",function(a){if(f){f=false;a.preventDefault()}}).bind("focus.autocomplete",function(){if(!e.options.disabled){e.selectedItem=null;e.previous=e.element.val()}}).bind("blur.autocomplete",function(a){if(!e.options.disabled){clearTimeout(e.searching);e.closing=setTimeout(function(){e.close(a);e._change(a)},150)}});this._initSource();this.response=function(){return e._response.apply(e,arguments)}; -this.menu=b("
          ").addClass("ui-autocomplete").appendTo(b(this.options.appendTo||"body",g)[0]).mousedown(function(a){var c=e.menu.element[0];b(a.target).closest(".ui-menu-item").length||setTimeout(function(){b(document).one("mousedown",function(h){h.target!==e.element[0]&&h.target!==c&&!b.ui.contains(c,h.target)&&e.close()})},1);setTimeout(function(){clearTimeout(e.closing)},13)}).menu({focus:function(a,c){c=c.item.data("item.autocomplete");false!==e._trigger("focus",a,{item:c})&&/^key/.test(a.originalEvent.type)&& -e.element.val(c.value)},selected:function(a,c){var h=c.item.data("item.autocomplete"),i=e.previous;if(e.element[0]!==g.activeElement){e.element.focus();e.previous=i;setTimeout(function(){e.previous=i;e.selectedItem=h},1)}false!==e._trigger("select",a,{item:h})&&e.element.val(h.value);e.term=e.element.val();e.close(a);e.selectedItem=h},blur:function(){e.menu.element.is(":visible")&&e.element.val()!==e.term&&e.element.val(e.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); -b.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();b.Widget.prototype.destroy.call(this)},_setOption:function(e,g){b.Widget.prototype._setOption.apply(this,arguments);e==="source"&&this._initSource();if(e==="appendTo")this.menu.element.appendTo(b(g||"body",this.element[0].ownerDocument)[0]);e==="disabled"&& -g&&this.xhr&&this.xhr.abort()},_initSource:function(){var e=this,g,f;if(b.isArray(this.options.source)){g=this.options.source;this.source=function(a,c){c(b.ui.autocomplete.filter(g,a.term))}}else if(typeof this.options.source==="string"){f=this.options.source;this.source=function(a,c){e.xhr&&e.xhr.abort();e.xhr=b.ajax({url:f,data:a,dataType:"json",autocompleteRequest:++d,success:function(h){this.autocompleteRequest===d&&c(h)},error:function(){this.autocompleteRequest===d&&c([])}})}}else this.source= -this.options.source},search:function(e,g){e=e!=null?e:this.element.val();this.term=this.element.val();if(e.length").data("item.autocomplete",g).append(b("").text(g.label)).appendTo(e)},_move:function(e,g){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(e)||this.menu.last()&&/^next/.test(e)){this.element.val(this.term);this.menu.deactivate()}else this.menu[e](g);else this.search(null,g)},widget:function(){return this.menu.element}});b.extend(b.ui.autocomplete,{escapeRegex:function(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, -"\\$&")},filter:function(e,g){var f=new RegExp(b.ui.autocomplete.escapeRegex(g),"i");return b.grep(e,function(a){return f.test(a.label||a.value||a)})}})})(jQuery); -(function(b){b.widget("ui.menu",{_create:function(){var d=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(e){if(b(e.target).closest(".ui-menu-item a").length){e.preventDefault();d.select(e)}});this.refresh()},refresh:function(){var d=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", --1).mouseenter(function(e){d.activate(e,b(this).parent())}).mouseleave(function(){d.deactivate()})},activate:function(d,e){this.deactivate();if(this.hasScroll()){var g=e.offset().top-this.element.offset().top,f=this.element.attr("scrollTop"),a=this.element.height();if(g<0)this.element.attr("scrollTop",f+g);else g>=a&&this.element.attr("scrollTop",f+g-a+e.height())}this.active=e.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",d,{item:e})}, -deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(d){this.move("next",".ui-menu-item:first",d)},previous:function(d){this.move("prev",".ui-menu-item:last",d)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(d,e,g){if(this.active){d=this.active[d+"All"](".ui-menu-item").eq(0); -d.length?this.activate(g,d):this.activate(g,this.element.children(e))}else this.activate(g,this.element.children(e))},nextPage:function(d){if(this.hasScroll())if(!this.active||this.last())this.activate(d,this.element.children(".ui-menu-item:first"));else{var e=this.active.offset().top,g=this.element.height(),f=this.element.children(".ui-menu-item").filter(function(){var a=b(this).offset().top-e-g+b(this).height();return a<10&&a>-10});f.length||(f=this.element.children(".ui-menu-item:last"));this.activate(d, -f)}else this.activate(d,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(d){if(this.hasScroll())if(!this.active||this.first())this.activate(d,this.element.children(".ui-menu-item:last"));else{var e=this.active.offset().top,g=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var f=b(this).offset().top-e+g-b(this).height();return f<10&&f>-10});result.length||(result=this.element.children(".ui-menu-item:first")); -this.activate(d,result)}else this.activate(d,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(f.empty()).text(),c=this.options.icons,h=c.primary&&c.secondary,i=[];if(c.primary||c.secondary){if(this.options.text)i.push("ui-button-text-icon"+(h?"s":c.primary?"-primary":"-secondary"));c.primary&&f.prepend("");c.secondary&&f.append("");if(!this.options.text){i.push(h?"ui-button-icons-only": -"ui-button-icon-only");this.hasTitle||f.attr("title",a)}}else i.push("ui-button-text-only");f.addClass(i.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(f,a){f==="disabled"&&this.buttons.button("option",f,a);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, -destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");b.Widget.prototype.destroy.call(this)}})})(jQuery); -(function(b,d){function e(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass= -"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su", -"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10", -minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};b.extend(this._defaults,this.regional[""]);this.dpDiv=b('
          ')}function g(a,c){b.extend(a,c);for(var h in c)if(c[h]== -null||c[h]==d)a[h]=c[h];return a}b.extend(b.ui,{datepicker:{version:"1.8.11"}});var f=(new Date).getTime();b.extend(e.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){g(this._defaults,a||{});return this},_attachDatepicker:function(a,c){var h=null;for(var i in this._defaults){var j=a.getAttribute("date:"+i);if(j){h=h||{};try{h[i]=eval(j)}catch(n){h[i]=j}}}i=a.nodeName.toLowerCase(); -j=i=="div"||i=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var p=this._newInst(b(a),j);p.settings=b.extend({},c||{},h||{});if(i=="input")this._connectDatepicker(a,p);else j&&this._inlineDatepicker(a,p)},_newInst:function(a,c){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:c,dpDiv:!c?this.dpDiv:b('
          ')}}, -_connectDatepicker:function(a,c){var h=b(a);c.append=b([]);c.trigger=b([]);if(!h.hasClass(this.markerClassName)){this._attachments(h,c);h.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(i,j,n){c.settings[j]=n}).bind("getData.datepicker",function(i,j){return this._get(c,j)});this._autoSize(c);b.data(a,"datepicker",c)}},_attachments:function(a,c){var h=this._get(c,"appendText"),i=this._get(c,"isRTL");c.append&& -c.append.remove();if(h){c.append=b(''+h+"");a[i?"before":"after"](c.append)}a.unbind("focus",this._showDatepicker);c.trigger&&c.trigger.remove();h=this._get(c,"showOn");if(h=="focus"||h=="both")a.focus(this._showDatepicker);if(h=="button"||h=="both"){h=this._get(c,"buttonText");var j=this._get(c,"buttonImage");c.trigger=b(this._get(c,"buttonImageOnly")?b("").addClass(this._triggerClass).attr({src:j,alt:h,title:h}):b('').addClass(this._triggerClass).html(j== -""?h:b("").attr({src:j,alt:h,title:h})));a[i?"before":"after"](c.trigger);c.trigger.click(function(){b.datepicker._datepickerShowing&&b.datepicker._lastInput==a[0]?b.datepicker._hideDatepicker():b.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var c=new Date(2009,11,20),h=this._get(a,"dateFormat");if(h.match(/[DM]/)){var i=function(j){for(var n=0,p=0,l=0;ln){n=j[l].length;p=l}return p};c.setMonth(i(this._get(a, -h.match(/MM/)?"monthNames":"monthNamesShort")));c.setDate(i(this._get(a,h.match(/DD/)?"dayNames":"dayNamesShort"))+20-c.getDay())}a.input.attr("size",this._formatDate(a,c).length)}},_inlineDatepicker:function(a,c){var h=b(a);if(!h.hasClass(this.markerClassName)){h.addClass(this.markerClassName).append(c.dpDiv).bind("setData.datepicker",function(i,j,n){c.settings[j]=n}).bind("getData.datepicker",function(i,j){return this._get(c,j)});b.data(a,"datepicker",c);this._setDate(c,this._getDefaultDate(c), -true);this._updateDatepicker(c);this._updateAlternate(c);c.dpDiv.show()}},_dialogDatepicker:function(a,c,h,i,j){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=b('');this._dialogInput.keydown(this._doKeyDown);b("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};b.data(this._dialogInput[0],"datepicker",a)}g(a.settings,i||{}); -c=c&&c.constructor==Date?this._formatDate(a,c):c;this._dialogInput.val(c);this._pos=j?j.length?j:[j.pageX,j.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=h;this._inDialog=true;this.dpDiv.addClass(this._dialogClass); -this._showDatepicker(this._dialogInput[0]);b.blockUI&&b.blockUI(this.dpDiv);b.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var c=b(a),h=b.data(a,"datepicker");if(c.hasClass(this.markerClassName)){var i=a.nodeName.toLowerCase();b.removeData(a,"datepicker");if(i=="input"){h.append.remove();h.trigger.remove();c.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup", -this._doKeyUp)}else if(i=="div"||i=="span")c.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var c=b(a),h=b.data(a,"datepicker");if(c.hasClass(this.markerClassName)){var i=a.nodeName.toLowerCase();if(i=="input"){a.disabled=false;h.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(i=="div"||i=="span")c.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=b.map(this._disabledInputs, -function(j){return j==a?null:j})}},_disableDatepicker:function(a){var c=b(a),h=b.data(a,"datepicker");if(c.hasClass(this.markerClassName)){var i=a.nodeName.toLowerCase();if(i=="input"){a.disabled=true;h.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(i=="div"||i=="span")c.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=b.map(this._disabledInputs,function(j){return j==a?null: -j});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var c=0;c-1}},_doKeyUp:function(a){a=b.datepicker._getInst(a.target); -if(a.input.val()!=a.lastVal)try{if(b.datepicker.parseDate(b.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,b.datepicker._getFormatConfig(a))){b.datepicker._setDateFromField(a);b.datepicker._updateAlternate(a);b.datepicker._updateDatepicker(a)}}catch(c){b.datepicker.log(c)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=b("input",a.parentNode)[0];if(!(b.datepicker._isDisabledDatepicker(a)||b.datepicker._lastInput==a)){var c=b.datepicker._getInst(a); -b.datepicker._curInst&&b.datepicker._curInst!=c&&b.datepicker._curInst.dpDiv.stop(true,true);var h=b.datepicker._get(c,"beforeShow");g(c.settings,h?h.apply(a,[a,c]):{});c.lastVal=null;b.datepicker._lastInput=a;b.datepicker._setDateFromField(c);if(b.datepicker._inDialog)a.value="";if(!b.datepicker._pos){b.datepicker._pos=b.datepicker._findPos(a);b.datepicker._pos[1]+=a.offsetHeight}var i=false;b(a).parents().each(function(){i|=b(this).css("position")=="fixed";return!i});if(i&&b.browser.opera){b.datepicker._pos[0]-= -document.documentElement.scrollLeft;b.datepicker._pos[1]-=document.documentElement.scrollTop}h={left:b.datepicker._pos[0],top:b.datepicker._pos[1]};b.datepicker._pos=null;c.dpDiv.empty();c.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});b.datepicker._updateDatepicker(c);h=b.datepicker._checkOffset(c,h,i);c.dpDiv.css({position:b.datepicker._inDialog&&b.blockUI?"static":i?"fixed":"absolute",display:"none",left:h.left+"px",top:h.top+"px"});if(!c.inline){h=b.datepicker._get(c,"showAnim"); -var j=b.datepicker._get(c,"duration"),n=function(){b.datepicker._datepickerShowing=true;var p=c.dpDiv.find("iframe.ui-datepicker-cover");if(p.length){var l=b.datepicker._getBorders(c.dpDiv);p.css({left:-l[0],top:-l[1],width:c.dpDiv.outerWidth(),height:c.dpDiv.outerHeight()})}};c.dpDiv.zIndex(b(a).zIndex()+1);b.effects&&b.effects[h]?c.dpDiv.show(h,b.datepicker._get(c,"showOptions"),j,n):c.dpDiv[h||"show"](h?j:null,n);if(!h||!j)n();c.input.is(":visible")&&!c.input.is(":disabled")&&c.input.focus();b.datepicker._curInst= -c}}},_updateDatepicker:function(a){var c=this,h=b.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a));var i=a.dpDiv.find("iframe.ui-datepicker-cover");i.length&&i.css({left:-h[0],top:-h[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){b(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&b(this).removeClass("ui-datepicker-prev-hover"); -this.className.indexOf("ui-datepicker-next")!=-1&&b(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!c._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){b(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");b(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&b(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&b(this).addClass("ui-datepicker-next-hover")}}).end().find("."+ -this._dayOverClass+" a").trigger("mouseover").end();h=this._getNumberOfMonths(a);i=h[1];i>1?a.dpDiv.addClass("ui-datepicker-multi-"+i).css("width",17*i+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(h[0]!=1||h[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==b.datepicker._curInst&&b.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&& -a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var j=a.yearshtml;setTimeout(function(){j===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);j=a.yearshtml=null},0)}},_getBorders:function(a){var c=function(h){return{thin:1,medium:2,thick:3}[h]||h};return[parseFloat(c(a.css("border-left-width"))),parseFloat(c(a.css("border-top-width")))]},_checkOffset:function(a,c,h){var i=a.dpDiv.outerWidth(),j=a.dpDiv.outerHeight(),n=a.input?a.input.outerWidth(): -0,p=a.input?a.input.outerHeight():0,l=document.documentElement.clientWidth+b(document).scrollLeft(),k=document.documentElement.clientHeight+b(document).scrollTop();c.left-=this._get(a,"isRTL")?i-n:0;c.left-=h&&c.left==a.input.offset().left?b(document).scrollLeft():0;c.top-=h&&c.top==a.input.offset().top+p?b(document).scrollTop():0;c.left-=Math.min(c.left,c.left+i>l&&l>i?Math.abs(c.left+i-l):0);c.top-=Math.min(c.top,c.top+j>k&&k>j?Math.abs(j+p):0);return c},_findPos:function(a){for(var c=this._get(this._getInst(a), -"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||b.expr.filters.hidden(a));)a=a[c?"previousSibling":"nextSibling"];a=b(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var c=this._curInst;if(!(!c||a&&c!=b.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(c,"showAnim");var h=this._get(c,"duration"),i=function(){b.datepicker._tidyDialog(c);this._curInst=null};b.effects&&b.effects[a]?c.dpDiv.hide(a,b.datepicker._get(c,"showOptions"),h,i):c.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"? -"fadeOut":"hide"](a?h:null,i);a||i();if(a=this._get(c,"onClose"))a.apply(c.input?c.input[0]:null,[c.input?c.input.val():"",c]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(b.blockUI){b.unblockUI();b("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(b.datepicker._curInst){a= -b(a.target);a[0].id!=b.datepicker._mainDivId&&a.parents("#"+b.datepicker._mainDivId).length==0&&!a.hasClass(b.datepicker.markerClassName)&&!a.hasClass(b.datepicker._triggerClass)&&b.datepicker._datepickerShowing&&!(b.datepicker._inDialog&&b.blockUI)&&b.datepicker._hideDatepicker()}},_adjustDate:function(a,c,h){a=b(a);var i=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(i,c+(h=="M"?this._get(i,"showCurrentAtPos"):0),h);this._updateDatepicker(i)}},_gotoToday:function(a){a= -b(a);var c=this._getInst(a[0]);if(this._get(c,"gotoCurrent")&&c.currentDay){c.selectedDay=c.currentDay;c.drawMonth=c.selectedMonth=c.currentMonth;c.drawYear=c.selectedYear=c.currentYear}else{var h=new Date;c.selectedDay=h.getDate();c.drawMonth=c.selectedMonth=h.getMonth();c.drawYear=c.selectedYear=h.getFullYear()}this._notifyChange(c);this._adjustDate(a)},_selectMonthYear:function(a,c,h){a=b(a);var i=this._getInst(a[0]);i._selectingMonthYear=false;i["selected"+(h=="M"?"Month":"Year")]=i["draw"+(h== -"M"?"Month":"Year")]=parseInt(c.options[c.selectedIndex].value,10);this._notifyChange(i);this._adjustDate(a)},_clickMonthYear:function(a){var c=this._getInst(b(a)[0]);c.input&&c._selectingMonthYear&&setTimeout(function(){c.input.focus()},0);c._selectingMonthYear=!c._selectingMonthYear},_selectDay:function(a,c,h,i){var j=b(a);if(!(b(i).hasClass(this._unselectableClass)||this._isDisabledDatepicker(j[0]))){j=this._getInst(j[0]);j.selectedDay=j.currentDay=b("a",i).html();j.selectedMonth=j.currentMonth= -c;j.selectedYear=j.currentYear=h;this._selectDate(a,this._formatDate(j,j.currentDay,j.currentMonth,j.currentYear))}},_clearDate:function(a){a=b(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,c){a=this._getInst(b(a)[0]);c=c!=null?c:this._formatDate(a);a.input&&a.input.val(c);this._updateAlternate(a);var h=this._get(a,"onSelect");if(h)h.apply(a.input?a.input[0]:null,[c,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker(); -this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var c=this._get(a,"altField");if(c){var h=this._get(a,"altFormat")||this._get(a,"dateFormat"),i=this._getDate(a),j=this.formatDate(h,i,this._getFormatConfig(a));b(c).each(function(){b(this).val(j)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var c=a.getTime();a.setMonth(0); -a.setDate(1);return Math.floor(Math.round((c-a)/864E5)/7)+1},parseDate:function(a,c,h){if(a==null||c==null)throw"Invalid arguments";c=typeof c=="object"?c.toString():c+"";if(c=="")return null;var i=(h?h.shortYearCutoff:null)||this._defaults.shortYearCutoff;i=typeof i!="string"?i:(new Date).getFullYear()%100+parseInt(i,10);for(var j=(h?h.dayNamesShort:null)||this._defaults.dayNamesShort,n=(h?h.dayNames:null)||this._defaults.dayNames,p=(h?h.monthNamesShort:null)||this._defaults.monthNamesShort,l=(h? -h.monthNames:null)||this._defaults.monthNames,k=h=-1,m=-1,o=-1,q=false,s=function(x){(x=y+1-1){k=1;m=o;do{i=this._getDaysInMonth(h,k-1);if(m<=i)break;k++;m-=i}while(1)}B=this._daylightSavingAdjust(new Date(h,k-1,m));if(B.getFullYear()!=h||B.getMonth()+1!=k||B.getDate()!=m)throw"Invalid date";return B},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y", -RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,c,h){if(!c)return"";var i=(h?h.dayNamesShort:null)||this._defaults.dayNamesShort,j=(h?h.dayNames:null)||this._defaults.dayNames,n=(h?h.monthNamesShort:null)||this._defaults.monthNamesShort;h=(h?h.monthNames:null)||this._defaults.monthNames;var p=function(s){(s=q+112?a.getHours()+2:0);return a},_setDate:function(a,c,h){var i=!c,j=a.selectedMonth,n=a.selectedYear;c=this._restrictMinMax(a,this._determineDate(a,c,new Date));a.selectedDay= -a.currentDay=c.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=c.getMonth();a.drawYear=a.selectedYear=a.currentYear=c.getFullYear();if((j!=a.selectedMonth||n!=a.selectedYear)&&!h)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(i?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var c=new Date;c=this._daylightSavingAdjust(new Date(c.getFullYear(), -c.getMonth(),c.getDate()));var h=this._get(a,"isRTL"),i=this._get(a,"showButtonPanel"),j=this._get(a,"hideIfNoPrevNext"),n=this._get(a,"navigationAsDateFormat"),p=this._getNumberOfMonths(a),l=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),m=p[0]!=1||p[1]!=1,o=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),q=this._getMinMaxDate(a,"min"),s=this._getMinMaxDate(a,"max");l=a.drawMonth-l;var r=a.drawYear;if(l<0){l+=12;r--}if(s){var u= -this._daylightSavingAdjust(new Date(s.getFullYear(),s.getMonth()-p[0]*p[1]+1,s.getDate()));for(u=q&&uu;){l--;if(l<0){l=11;r--}}}a.drawMonth=l;a.drawYear=r;u=this._get(a,"prevText");u=!n?u:this.formatDate(u,this._daylightSavingAdjust(new Date(r,l-k,1)),this._getFormatConfig(a));u=this._canAdjustMonth(a,-1,r,l)?''+u+"":j?"":''+u+"";var v=this._get(a,"nextText");v=!n?v:this.formatDate(v,this._daylightSavingAdjust(new Date(r,l+k,1)),this._getFormatConfig(a));j=this._canAdjustMonth(a,+1,r,l)?''+v+"":j?"":''+v+"";k=this._get(a,"currentText");v=this._get(a,"gotoCurrent")&&a.currentDay?o:c;k=!n?k:this.formatDate(k,v,this._getFormatConfig(a));n=!a.inline?'":"";i=i?'
          '+(h?n:"")+(this._isInRange(a,v)?'":"")+(h?"":n)+"
          ":"";n=parseInt(this._get(a,"firstDay"),10);n=isNaN(n)?0:n;k=this._get(a,"showWeek");v=this._get(a,"dayNames");this._get(a,"dayNamesShort");var w=this._get(a,"dayNamesMin"),y= -this._get(a,"monthNames"),B=this._get(a,"monthNamesShort"),x=this._get(a,"beforeShowDay"),C=this._get(a,"showOtherMonths"),J=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var M=this._getDefaultDate(a),K="",G=0;G1)switch(H){case 0:D+=" ui-datepicker-group-first";A=" ui-corner-"+(h?"right":"left");break;case p[1]- -1:D+=" ui-datepicker-group-last";A=" ui-corner-"+(h?"left":"right");break;default:D+=" ui-datepicker-group-middle";A="";break}D+='">'}D+='
          '+(/all|left/.test(A)&&G==0?h?j:u:"")+(/all|right/.test(A)&&G==0?h?u:j:"")+this._generateMonthYearHeader(a,l,r,q,s,G>0||H>0,y,B)+'
          ';var E=k?'":"";for(A=0;A<7;A++){var z= -(A+n)%7;E+="=5?' class="ui-datepicker-week-end"':"")+'>'+w[z]+""}D+=E+"";E=this._getDaysInMonth(r,l);if(r==a.selectedYear&&l==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,E);A=(this._getFirstDayOfMonth(r,l)-n+7)%7;E=m?6:Math.ceil((A+E)/7);z=this._daylightSavingAdjust(new Date(r,l,1-A));for(var P=0;P";var Q=!k?"":'";for(A=0;A<7;A++){var I= -x?x.apply(a.input?a.input[0]:null,[z]):[true,""],F=z.getMonth()!=l,L=F&&!J||!I[0]||q&&zs;Q+='";z.setDate(z.getDate()+1);z=this._daylightSavingAdjust(z)}D+= -Q+""}l++;if(l>11){l=0;r++}D+="
          '+this._get(a,"weekHeader")+"
          '+this._get(a,"calculateWeek")(z)+""+(F&&!C?" ":L?''+z.getDate()+"":''+z.getDate()+"")+"
          "+(m?""+(p[0]>0&&H==p[1]-1?'
          ':""):"");N+=D}K+=N}K+=i+(b.browser.msie&&parseInt(b.browser.version,10)<7&&!a.inline?'':"");a._keyEvent=false;return K},_generateMonthYearHeader:function(a,c,h,i,j,n,p,l){var k=this._get(a,"changeMonth"),m=this._get(a,"changeYear"),o=this._get(a,"showMonthAfterYear"),q='
          ', -s="";if(n||!k)s+=''+p[c]+"";else{p=i&&i.getFullYear()==h;var r=j&&j.getFullYear()==h;s+='"}o||(q+=s+(n||!(k&& -m)?" ":""));a.yearshtml="";if(n||!m)q+=''+h+"";else{l=this._get(a,"yearRange").split(":");var v=(new Date).getFullYear();p=function(w){w=w.match(/c[+-].*/)?h+parseInt(w.substring(1),10):w.match(/[+-].*/)?v+parseInt(w,10):parseInt(w,10);return isNaN(w)?v:w};c=p(l[0]);l=Math.max(c,p(l[1]||""));c=i?Math.max(c,i.getFullYear()):c;l=j?Math.min(l,j.getFullYear()):l;for(a.yearshtml+='";if(b.browser.mozilla)q+='";else{q+=a.yearshtml;a.yearshtml=null}}q+=this._get(a,"yearSuffix");if(o)q+=(n||!(k&&m)?" ":"")+s;q+="
          ";return q},_adjustInstDate:function(a,c,h){var i= -a.drawYear+(h=="Y"?c:0),j=a.drawMonth+(h=="M"?c:0);c=Math.min(a.selectedDay,this._getDaysInMonth(i,j))+(h=="D"?c:0);i=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(i,j,c)));a.selectedDay=i.getDate();a.drawMonth=a.selectedMonth=i.getMonth();a.drawYear=a.selectedYear=i.getFullYear();if(h=="M"||h=="Y")this._notifyChange(a)},_restrictMinMax:function(a,c){var h=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");c=h&&ca?a:c},_notifyChange:function(a){var c=this._get(a, -"onChangeMonthYear");if(c)c.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,c){return this._determineDate(a,this._get(a,c+"Date"),null)},_getDaysInMonth:function(a,c){return 32-this._daylightSavingAdjust(new Date(a,c,32)).getDate()},_getFirstDayOfMonth:function(a,c){return(new Date(a,c,1)).getDay()},_canAdjustMonth:function(a,c,h,i){var j=this._getNumberOfMonths(a); -h=this._daylightSavingAdjust(new Date(h,i+(c<0?c:j[0]*j[1]),1));c<0&&h.setDate(this._getDaysInMonth(h.getFullYear(),h.getMonth()));return this._isInRange(a,h)},_isInRange:function(a,c){var h=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!h||c.getTime()>=h.getTime())&&(!a||c.getTime()<=a.getTime())},_getFormatConfig:function(a){var c=this._get(a,"shortYearCutoff");c=typeof c!="string"?c:(new Date).getFullYear()%100+parseInt(c,10);return{shortYearCutoff:c,dayNamesShort:this._get(a, -"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,c,h,i){if(!c){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}c=c?typeof c=="object"?c:this._daylightSavingAdjust(new Date(i,h,c)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),c,this._getFormatConfig(a))}});b.fn.datepicker= -function(a){if(!this.length)return this;if(!b.datepicker.initialized){b(document).mousedown(b.datepicker._checkExternalClick).find("body").append(b.datepicker.dpDiv);b.datepicker.initialized=true}var c=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return b.datepicker["_"+a+"Datepicker"].apply(b.datepicker,[this[0]].concat(c));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return b.datepicker["_"+a+"Datepicker"].apply(b.datepicker, -[this[0]].concat(c));return this.each(function(){typeof a=="string"?b.datepicker["_"+a+"Datepicker"].apply(b.datepicker,[this].concat(c)):b.datepicker._attachDatepicker(this,a)})};b.datepicker=new e;b.datepicker.initialized=false;b.datepicker.uuid=(new Date).getTime();b.datepicker.version="1.8.11";window["DP_jQuery_"+f]=b})(jQuery); -(function(b,d){var e={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},g={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true};b.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",collision:"fit",using:function(f){var a=b(this).css(f).offset().top;a<0&& -b(this).css("top",f.top-a)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var f=this,a=f.options,c=a.title||" ",h=b.ui.dialog.getTitleId(f.element),i=(f.uiDialog=b("
          ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+a.dialogClass).css({zIndex:a.zIndex}).attr("tabIndex", --1).css("outline",0).keydown(function(p){if(a.closeOnEscape&&p.keyCode&&p.keyCode===b.ui.keyCode.ESCAPE){f.close(p);p.preventDefault()}}).attr({role:"dialog","aria-labelledby":h}).mousedown(function(p){f.moveToTop(false,p)});f.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(i);var j=(f.uiDialogTitlebar=b("
          ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(i),n=b('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", -"button").hover(function(){n.addClass("ui-state-hover")},function(){n.removeClass("ui-state-hover")}).focus(function(){n.addClass("ui-state-focus")}).blur(function(){n.removeClass("ui-state-focus")}).click(function(p){f.close(p);return false}).appendTo(j);(f.uiDialogTitlebarCloseText=b("")).addClass("ui-icon ui-icon-closethick").text(a.closeText).appendTo(n);b("").addClass("ui-dialog-title").attr("id",h).html(c).prependTo(j);if(b.isFunction(a.beforeclose)&&!b.isFunction(a.beforeClose))a.beforeClose= -a.beforeclose;j.find("*").add(j).disableSelection();a.draggable&&b.fn.draggable&&f._makeDraggable();a.resizable&&b.fn.resizable&&f._makeResizable();f._createButtons(a.buttons);f._isOpen=false;b.fn.bgiframe&&i.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var f=this;f.overlay&&f.overlay.destroy();f.uiDialog.hide();f.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");f.uiDialog.remove();f.originalTitle&& -f.element.attr("title",f.originalTitle);return f},widget:function(){return this.uiDialog},close:function(f){var a=this,c,h;if(false!==a._trigger("beforeClose",f)){a.overlay&&a.overlay.destroy();a.uiDialog.unbind("keypress.ui-dialog");a._isOpen=false;if(a.options.hide)a.uiDialog.hide(a.options.hide,function(){a._trigger("close",f)});else{a.uiDialog.hide();a._trigger("close",f)}b.ui.dialog.overlay.resize();if(a.options.modal){c=0;b(".ui-dialog").each(function(){if(this!==a.uiDialog[0]){h=b(this).css("z-index"); -isNaN(h)||(c=Math.max(c,h))}});b.ui.dialog.maxZ=c}return a}},isOpen:function(){return this._isOpen},moveToTop:function(f,a){var c=this,h=c.options;if(h.modal&&!f||!h.stack&&!h.modal)return c._trigger("focus",a);if(h.zIndex>b.ui.dialog.maxZ)b.ui.dialog.maxZ=h.zIndex;if(c.overlay){b.ui.dialog.maxZ+=1;c.overlay.$el.css("z-index",b.ui.dialog.overlay.maxZ=b.ui.dialog.maxZ)}f={scrollTop:c.element.attr("scrollTop"),scrollLeft:c.element.attr("scrollLeft")};b.ui.dialog.maxZ+=1;c.uiDialog.css("z-index",b.ui.dialog.maxZ); -c.element.attr(f);c._trigger("focus",a);return c},open:function(){if(!this._isOpen){var f=this,a=f.options,c=f.uiDialog;f.overlay=a.modal?new b.ui.dialog.overlay(f):null;f._size();f._position(a.position);c.show(a.show);f.moveToTop(true);a.modal&&c.bind("keypress.ui-dialog",function(h){if(h.keyCode===b.ui.keyCode.TAB){var i=b(":tabbable",this),j=i.filter(":first");i=i.filter(":last");if(h.target===i[0]&&!h.shiftKey){j.focus(1);return false}else if(h.target===j[0]&&h.shiftKey){i.focus(1);return false}}}); -b(f.element.find(":tabbable").get().concat(c.find(".ui-dialog-buttonpane :tabbable").get().concat(c.get()))).eq(0).focus();f._isOpen=true;f._trigger("open");return f}},_createButtons:function(f){var a=this,c=false,h=b("
          ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),i=b("
          ").addClass("ui-dialog-buttonset").appendTo(h);a.uiDialog.find(".ui-dialog-buttonpane").remove();typeof f==="object"&&f!==null&&b.each(f,function(){return!(c=true)});if(c){b.each(f,function(j, -n){n=b.isFunction(n)?{click:n,text:j}:n;j=b('').attr(n,true).unbind("click").click(function(){n.click.apply(a.element[0],arguments)}).appendTo(i);b.fn.button&&j.button()});h.appendTo(a.uiDialog)}},_makeDraggable:function(){function f(j){return{position:j.position,offset:j.offset}}var a=this,c=a.options,h=b(document),i;a.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(j,n){i= -c.height==="auto"?"auto":b(this).height();b(this).height(b(this).height()).addClass("ui-dialog-dragging");a._trigger("dragStart",j,f(n))},drag:function(j,n){a._trigger("drag",j,f(n))},stop:function(j,n){c.position=[n.position.left-h.scrollLeft(),n.position.top-h.scrollTop()];b(this).removeClass("ui-dialog-dragging").height(i);a._trigger("dragStop",j,f(n));b.ui.dialog.overlay.resize()}})},_makeResizable:function(f){function a(j){return{originalPosition:j.originalPosition,originalSize:j.originalSize, -position:j.position,size:j.size}}f=f===d?this.options.resizable:f;var c=this,h=c.options,i=c.uiDialog.css("position");f=typeof f==="string"?f:"n,e,s,w,se,sw,ne,nw";c.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:c.element,maxWidth:h.maxWidth,maxHeight:h.maxHeight,minWidth:h.minWidth,minHeight:c._minHeight(),handles:f,start:function(j,n){b(this).addClass("ui-dialog-resizing");c._trigger("resizeStart",j,a(n))},resize:function(j,n){c._trigger("resize",j,a(n))},stop:function(j, -n){b(this).removeClass("ui-dialog-resizing");h.height=b(this).height();h.width=b(this).width();c._trigger("resizeStop",j,a(n));b.ui.dialog.overlay.resize()}}).css("position",i).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var f=this.options;return f.height==="auto"?f.minHeight:Math.min(f.minHeight,f.height)},_position:function(f){var a=[],c=[0,0],h;if(f){if(typeof f==="string"||typeof f==="object"&&"0"in f){a=f.split?f.split(" "):[f[0],f[1]];if(a.length=== -1)a[1]=a[0];b.each(["left","top"],function(i,j){if(+a[i]===a[i]){c[i]=a[i];a[i]=j}});f={my:a.join(" "),at:a.join(" "),offset:c.join(" ")}}f=b.extend({},b.ui.dialog.prototype.options.position,f)}else f=b.ui.dialog.prototype.options.position;(h=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(b.extend({of:window},f));h||this.uiDialog.hide()},_setOptions:function(f){var a=this,c={},h=false;b.each(f,function(i,j){a._setOption(i,j);if(i in e)h=true;if(i in -g)c[i]=j});h&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",c)},_setOption:function(f,a){var c=this,h=c.uiDialog;switch(f){case "beforeclose":f="beforeClose";break;case "buttons":c._createButtons(a);break;case "closeText":c.uiDialogTitlebarCloseText.text(""+a);break;case "dialogClass":h.removeClass(c.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+a);break;case "disabled":a?h.addClass("ui-dialog-disabled"):h.removeClass("ui-dialog-disabled"); -break;case "draggable":var i=h.is(":data(draggable)");i&&!a&&h.draggable("destroy");!i&&a&&c._makeDraggable();break;case "position":c._position(a);break;case "resizable":(i=h.is(":data(resizable)"))&&!a&&h.resizable("destroy");i&&typeof a==="string"&&h.resizable("option","handles",a);!i&&a!==false&&c._makeResizable(a);break;case "title":b(".ui-dialog-title",c.uiDialogTitlebar).html(""+(a||" "));break}b.Widget.prototype._setOption.apply(c,arguments)},_size:function(){var f=this.options,a,c,h= -this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(f.minWidth>f.width)f.width=f.minWidth;a=this.uiDialog.css({height:"auto",width:f.width}).height();c=Math.max(0,f.minHeight-a);if(f.height==="auto")if(b.support.minHeight)this.element.css({minHeight:c,height:"auto"});else{this.uiDialog.show();f=this.element.css("height","auto").height();h||this.uiDialog.hide();this.element.height(Math.max(f,c))}else this.element.height(Math.max(f.height-a,0));this.uiDialog.is(":data(resizable)")&& -this.uiDialog.resizable("option","minHeight",this._minHeight())}});b.extend(b.ui.dialog,{version:"1.8.11",uuid:0,maxZ:0,getTitleId:function(f){f=f.attr("id");if(!f){this.uuid+=1;f=this.uuid}return"ui-dialog-title-"+f},overlay:function(f){this.$el=b.ui.dialog.overlay.create(f)}});b.extend(b.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:b.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(f){return f+".dialog-overlay"}).join(" "),create:function(f){if(this.instances.length=== -0){setTimeout(function(){b.ui.dialog.overlay.instances.length&&b(document).bind(b.ui.dialog.overlay.events,function(c){if(b(c.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), -height:this.height()});b.fn.bgiframe&&a.bgiframe();this.instances.push(a);return a},destroy:function(f){var a=b.inArray(f,this.instances);a!=-1&&this.oldInstances.push(this.instances.splice(a,1)[0]);this.instances.length===0&&b([document,window]).unbind(".dialog-overlay");f.remove();var c=0;b.each(this.instances,function(){c=Math.max(c,this.css("z-index"))});this.maxZ=c},height:function(){var f,a;if(b.browser.msie&&b.browser.version<7){f=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); -a=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return f0?a.left-h:Math.max(a.left-c.collisionPosition.left,a.left)},top:function(a,c){var h=b(window);h=c.collisionPosition.top+c.collisionHeight-h.height()-h.scrollTop();a.top=h>0?a.top-h:Math.max(a.top-c.collisionPosition.top,a.top)}},flip:{left:function(a,c){if(c.at[0]!=="center"){var h=b(window);h=c.collisionPosition.left+c.collisionWidth-h.width()-h.scrollLeft();var i=c.my[0]==="left"?-c.elemWidth:c.my[0]==="right"?c.elemWidth:0,j=c.at[0]==="left"?c.targetWidth:-c.targetWidth,n=-2*c.offset[0];a.left+= -c.collisionPosition.left<0?i+j+n:h>0?i+j+n:0}},top:function(a,c){if(c.at[1]!=="center"){var h=b(window);h=c.collisionPosition.top+c.collisionHeight-h.height()-h.scrollTop();var i=c.my[1]==="top"?-c.elemHeight:c.my[1]==="bottom"?c.elemHeight:0,j=c.at[1]==="top"?c.targetHeight:-c.targetHeight,n=-2*c.offset[1];a.top+=c.collisionPosition.top<0?i+j+n:h>0?i+j+n:0}}}};if(!b.offset.setOffset){b.offset.setOffset=function(a,c){if(/static/.test(b.curCSS(a,"position")))a.style.position="relative";var h=b(a), -i=h.offset(),j=parseInt(b.curCSS(a,"top",true),10)||0,n=parseInt(b.curCSS(a,"left",true),10)||0;i={top:c.top-i.top+j,left:c.left-i.left+n};"using"in c?c.using.call(a,i):h.css(i)};b.fn.offset=function(a){var c=this[0];if(!c||!c.ownerDocument)return null;if(a)return this.each(function(){b.offset.setOffset(this,a)});return f.call(this)}}})(jQuery); -(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
          ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); -this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(e){if(e===d)return this._value();this._setOption("value",e);return this},_setOption:function(e,g){if(e==="value"){this.options.value=g;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var e=this.options.value;if(typeof e!=="number")e=0;return Math.min(this.options.max,Math.max(this.min,e))},_percentage:function(){return 100* -this._value()/this.options.max},_refreshValue:function(){var e=this.value(),g=this._percentage();if(this.oldValue!==e){this.oldValue=e;this._trigger("change")}this.valueDiv.toggleClass("ui-corner-right",e===this.options.max).width(g.toFixed(0)+"%");this.element.attr("aria-valuenow",e)}});b.extend(b.ui.progressbar,{version:"1.8.11"})})(jQuery); -(function(b){b.widget("ui.slider",b.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var d=this,e=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");e.disabled&&this.element.addClass("ui-slider-disabled ui-disabled"); -this.range=b([]);if(e.range){if(e.range===true){this.range=b("
          ");if(!e.values)e.values=[this._valueMin(),this._valueMin()];if(e.values.length&&e.values.length!==2)e.values=[e.values[0],e.values[0]]}else this.range=b("
          ");this.range.appendTo(this.element).addClass("ui-slider-range");if(e.range==="min"||e.range==="max")this.range.addClass("ui-slider-range-"+e.range);this.range.addClass("ui-widget-header")}b(".ui-slider-handle",this.element).length===0&&b("").appendTo(this.element).addClass("ui-slider-handle"); -if(e.values&&e.values.length)for(;b(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle");this.handles=b(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){e.disabled||b(this).addClass("ui-state-hover")},function(){b(this).removeClass("ui-state-hover")}).focus(function(){if(e.disabled)b(this).blur(); -else{b(".ui-slider .ui-state-focus").removeClass("ui-state-focus");b(this).addClass("ui-state-focus")}}).blur(function(){b(this).removeClass("ui-state-focus")});this.handles.each(function(g){b(this).data("index.ui-slider-handle",g)});this.handles.keydown(function(g){var f=true,a=b(this).data("index.ui-slider-handle"),c,h,i;if(!d.options.disabled){switch(g.keyCode){case b.ui.keyCode.HOME:case b.ui.keyCode.END:case b.ui.keyCode.PAGE_UP:case b.ui.keyCode.PAGE_DOWN:case b.ui.keyCode.UP:case b.ui.keyCode.RIGHT:case b.ui.keyCode.DOWN:case b.ui.keyCode.LEFT:f= -false;if(!d._keySliding){d._keySliding=true;b(this).addClass("ui-state-active");c=d._start(g,a);if(c===false)return}break}i=d.options.step;c=d.options.values&&d.options.values.length?(h=d.values(a)):(h=d.value());switch(g.keyCode){case b.ui.keyCode.HOME:h=d._valueMin();break;case b.ui.keyCode.END:h=d._valueMax();break;case b.ui.keyCode.PAGE_UP:h=d._trimAlignValue(c+(d._valueMax()-d._valueMin())/5);break;case b.ui.keyCode.PAGE_DOWN:h=d._trimAlignValue(c-(d._valueMax()-d._valueMin())/5);break;case b.ui.keyCode.UP:case b.ui.keyCode.RIGHT:if(c=== -d._valueMax())return;h=d._trimAlignValue(c+i);break;case b.ui.keyCode.DOWN:case b.ui.keyCode.LEFT:if(c===d._valueMin())return;h=d._trimAlignValue(c-i);break}d._slide(g,a,h);return f}}).keyup(function(g){var f=b(this).data("index.ui-slider-handle");if(d._keySliding){d._keySliding=false;d._stop(g,f);d._change(g,f);b(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); -this._mouseDestroy();return this},_mouseCapture:function(d){var e=this.options,g,f,a,c,h;if(e.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();g=this._normValueFromMouse({x:d.pageX,y:d.pageY});f=this._valueMax()-this._valueMin()+1;c=this;this.handles.each(function(i){var j=Math.abs(g-c.values(i));if(f>j){f=j;a=b(this);h=i}});if(e.range===true&&this.values(1)===e.min){h+=1;a=b(this.handles[h])}if(this._start(d, -h)===false)return false;this._mouseSliding=true;c._handleIndex=h;a.addClass("ui-state-active").focus();e=a.offset();this._clickOffset=!b(d.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:d.pageX-e.left-a.width()/2,top:d.pageY-e.top-a.height()/2-(parseInt(a.css("borderTopWidth"),10)||0)-(parseInt(a.css("borderBottomWidth"),10)||0)+(parseInt(a.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(d,h,g);return this._animateOff=true},_mouseStart:function(){return true}, -_mouseDrag:function(d){var e=this._normValueFromMouse({x:d.pageX,y:d.pageY});this._slide(d,this._handleIndex,e);return false},_mouseStop:function(d){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(d,this._handleIndex);this._change(d,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(d){var e; -if(this.orientation==="horizontal"){e=this.elementSize.width;d=d.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{e=this.elementSize.height;d=d.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}e=d/e;if(e>1)e=1;if(e<0)e=0;if(this.orientation==="vertical")e=1-e;d=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+e*d)},_start:function(d,e){var g={handle:this.handles[e],value:this.value()};if(this.options.values&&this.options.values.length){g.value= -this.values(e);g.values=this.values()}return this._trigger("start",d,g)},_slide:function(d,e,g){var f;if(this.options.values&&this.options.values.length){f=this.values(e?0:1);if(this.options.values.length===2&&this.options.range===true&&(e===0&&g>f||e===1&&g1){this.options.values[d]=this._trimAlignValue(e);this._refreshValue();this._change(null,d)}if(arguments.length)if(b.isArray(arguments[0])){g=this.options.values;f=arguments[0];for(a=0;a=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,g=(d-this._valueMin())%e;alignValue=d-g;if(Math.abs(g)*2>=e)alignValue+=g>0?e:-e;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max}, -_refreshValue:function(){var d=this.options.range,e=this.options,g=this,f=!this._animateOff?e.animate:false,a,c={},h,i,j,n;if(this.options.values&&this.options.values.length)this.handles.each(function(p){a=(g.values(p)-g._valueMin())/(g._valueMax()-g._valueMin())*100;c[g.orientation==="horizontal"?"left":"bottom"]=a+"%";b(this).stop(1,1)[f?"animate":"css"](c,e.animate);if(g.options.range===true)if(g.orientation==="horizontal"){if(p===0)g.range.stop(1,1)[f?"animate":"css"]({left:a+"%"},e.animate); -if(p===1)g.range[f?"animate":"css"]({width:a-h+"%"},{queue:false,duration:e.animate})}else{if(p===0)g.range.stop(1,1)[f?"animate":"css"]({bottom:a+"%"},e.animate);if(p===1)g.range[f?"animate":"css"]({height:a-h+"%"},{queue:false,duration:e.animate})}h=a});else{i=this.value();j=this._valueMin();n=this._valueMax();a=n!==j?(i-j)/(n-j)*100:0;c[g.orientation==="horizontal"?"left":"bottom"]=a+"%";this.handle.stop(1,1)[f?"animate":"css"](c,e.animate);if(d==="min"&&this.orientation==="horizontal")this.range.stop(1, -1)[f?"animate":"css"]({width:a+"%"},e.animate);if(d==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-a+"%"},{queue:false,duration:e.animate});if(d==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:a+"%"},e.animate);if(d==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-a+"%"},{queue:false,duration:e.animate})}}});b.extend(b.ui.slider,{version:"1.8.11"})})(jQuery); -(function(b,d){function e(){return++f}function g(){return++a}var f=0,a=0;b.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
          ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
        • #{label}
        • "},_create:function(){this._tabify(true)},_setOption:function(c,h){if(c=="selected")this.options.collapsible&& -h==this.options.selected||this.select(h);else{this.options[c]=h;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+e()},_sanitizeSelector:function(c){return c.replace(/:/g,"\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+g());return b.cookie.apply(null,[c].concat(b.makeArray(arguments)))},_ui:function(c,h){return{tab:c,panel:h,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c= -b(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function h(r,u){r.css("display","");!b.support.opacity&&u.opacity&&r[0].style.removeAttribute("filter")}var i=this,j=this.options,n=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=b(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return b("a",this)[0]});this.panels=b([]);this.anchors.each(function(r,u){var v=b(u).attr("href"),w=v.split("#")[0],y;if(w&&(w===location.toString().split("#")[0]|| -(y=b("base")[0])&&w===y.href)){v=u.hash;u.href=v}if(n.test(v))i.panels=i.panels.add(i.element.find(i._sanitizeSelector(v)));else if(v&&v!=="#"){b.data(u,"href.tabs",v);b.data(u,"load.tabs",v.replace(/#.*$/,""));v=i._tabId(u);u.href="#"+v;u=i.element.find("#"+v);if(!u.length){u=b(j.panelTemplate).attr("id",v).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(i.panels[r-1]||i.list);u.data("destroy.tabs",true)}i.panels=i.panels.add(u)}else j.disabled.push(r)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); -this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(j.selected===d){location.hash&&this.anchors.each(function(r,u){if(u.hash==location.hash){j.selected=r;return false}});if(typeof j.selected!=="number"&&j.cookie)j.selected=parseInt(i._cookie(),10);if(typeof j.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)j.selected= -this.lis.index(this.lis.filter(".ui-tabs-selected"));j.selected=j.selected||(this.lis.length?0:-1)}else if(j.selected===null)j.selected=-1;j.selected=j.selected>=0&&this.anchors[j.selected]||j.selected<0?j.selected:0;j.disabled=b.unique(j.disabled.concat(b.map(this.lis.filter(".ui-state-disabled"),function(r){return i.lis.index(r)}))).sort();b.inArray(j.selected,j.disabled)!=-1&&j.disabled.splice(b.inArray(j.selected,j.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); -if(j.selected>=0&&this.anchors.length){i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(j.selected).addClass("ui-tabs-selected ui-state-active");i.element.queue("tabs",function(){i._trigger("show",null,i._ui(i.anchors[j.selected],i.element.find(i._sanitizeSelector(i.anchors[j.selected].hash))[0]))});this.load(j.selected)}b(window).bind("unload",function(){i.lis.add(i.anchors).unbind(".tabs");i.lis=i.anchors=i.panels=null})}else j.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); -this.element[j.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");j.cookie&&this._cookie(j.selected,j.cookie);c=0;for(var p;p=this.lis[c];c++)b(p)[b.inArray(c,j.disabled)!=-1&&!b(p).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");j.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(j.event!=="mouseover"){var l=function(r,u){u.is(":not(.ui-state-disabled)")&&u.addClass("ui-state-"+r)},k=function(r,u){u.removeClass("ui-state-"+ -r)};this.lis.bind("mouseover.tabs",function(){l("hover",b(this))});this.lis.bind("mouseout.tabs",function(){k("hover",b(this))});this.anchors.bind("focus.tabs",function(){l("focus",b(this).closest("li"))});this.anchors.bind("blur.tabs",function(){k("focus",b(this).closest("li"))})}var m,o;if(j.fx)if(b.isArray(j.fx)){m=j.fx[0];o=j.fx[1]}else m=o=j.fx;var q=o?function(r,u){b(r).closest("li").addClass("ui-tabs-selected ui-state-active");u.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", -function(){h(u,o);i._trigger("show",null,i._ui(r,u[0]))})}:function(r,u){b(r).closest("li").addClass("ui-tabs-selected ui-state-active");u.removeClass("ui-tabs-hide");i._trigger("show",null,i._ui(r,u[0]))},s=m?function(r,u){u.animate(m,m.duration||"normal",function(){i.lis.removeClass("ui-tabs-selected ui-state-active");u.addClass("ui-tabs-hide");h(u,m);i.element.dequeue("tabs")})}:function(r,u){i.lis.removeClass("ui-tabs-selected ui-state-active");u.addClass("ui-tabs-hide");i.element.dequeue("tabs")}; -this.anchors.bind(j.event+".tabs",function(){var r=this,u=b(r).closest("li"),v=i.panels.filter(":not(.ui-tabs-hide)"),w=i.element.find(i._sanitizeSelector(r.hash));if(u.hasClass("ui-tabs-selected")&&!j.collapsible||u.hasClass("ui-state-disabled")||u.hasClass("ui-state-processing")||i.panels.filter(":animated").length||i._trigger("select",null,i._ui(this,w[0]))===false){this.blur();return false}j.selected=i.anchors.index(this);i.abort();if(j.collapsible)if(u.hasClass("ui-tabs-selected")){j.selected= --1;j.cookie&&i._cookie(j.selected,j.cookie);i.element.queue("tabs",function(){s(r,v)}).dequeue("tabs");this.blur();return false}else if(!v.length){j.cookie&&i._cookie(j.selected,j.cookie);i.element.queue("tabs",function(){q(r,w)});i.load(i.anchors.index(this));this.blur();return false}j.cookie&&i._cookie(j.selected,j.cookie);if(w.length){v.length&&i.element.queue("tabs",function(){s(r,v)});i.element.queue("tabs",function(){q(r,w)});i.load(i.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; -b.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));return c},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var h= -b.data(this,"href.tabs");if(h)this.href=h;var i=b(this).unbind(".tabs");b.each(["href","load","cache"],function(j,n){i.removeData(n+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){b.data(this,"destroy.tabs")?b(this).remove():b(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c, -h,i){if(i===d)i=this.anchors.length;var j=this,n=this.options;h=b(n.tabTemplate.replace(/#\{href\}/g,c).replace(/#\{label\}/g,h));c=!c.indexOf("#")?c.replace("#",""):this._tabId(b("a",h)[0]);h.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var p=j.element.find("#"+c);p.length||(p=b(n.panelTemplate).attr("id",c).data("destroy.tabs",true));p.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(i>=this.lis.length){h.appendTo(this.list);p.appendTo(this.list[0].parentNode)}else{h.insertBefore(this.lis[i]); -p.insertBefore(this.panels[i])}n.disabled=b.map(n.disabled,function(l){return l>=i?++l:l});this._tabify();if(this.anchors.length==1){n.selected=0;h.addClass("ui-tabs-selected ui-state-active");p.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){j._trigger("show",null,j._ui(j.anchors[0],j.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[i],this.panels[i]));return this},remove:function(c){c=this._getIndex(c);var h=this.options,i=this.lis.eq(c).remove(),j=this.panels.eq(c).remove(); -if(i.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1=c?--n:n});this._tabify();this._trigger("remove",null,this._ui(i.find("a")[0],j[0]));return this},enable:function(c){c=this._getIndex(c);var h=this.options;if(b.inArray(c,h.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");h.disabled=b.grep(h.disabled,function(i){return i!=c});this._trigger("enable",null, -this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){c=this._getIndex(c);var h=this.options;if(c!=h.selected){this.lis.eq(c).addClass("ui-state-disabled");h.disabled.push(c);h.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this},select:function(c){c=this._getIndex(c);if(c==-1)if(this.options.collapsible&&this.options.selected!=-1)c=this.options.selected;else return this;this.anchors.eq(c).trigger(this.options.event+".tabs");return this}, -load:function(c){c=this._getIndex(c);var h=this,i=this.options,j=this.anchors.eq(c)[0],n=b.data(j,"load.tabs");this.abort();if(!n||this.element.queue("tabs").length!==0&&b.data(j,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing");if(i.spinner){var p=b("span",j);p.data("label.tabs",p.html()).html(i.spinner)}this.xhr=b.ajax(b.extend({},i.ajaxOptions,{url:n,success:function(l,k){h.element.find(h._sanitizeSelector(j.hash)).html(l);h._cleanup();i.cache&&b.data(j, -"cache.tabs",true);h._trigger("load",null,h._ui(h.anchors[c],h.panels[c]));try{i.ajaxOptions.success(l,k)}catch(m){}},error:function(l,k){h._cleanup();h._trigger("load",null,h._ui(h.anchors[c],h.panels[c]));try{i.ajaxOptions.error(l,k,c,j)}catch(m){}}}));h.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, -url:function(c,h){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",h);return this},length:function(){return this.anchors.length}});b.extend(b.ui.tabs,{version:"1.8.11"});b.extend(b.ui.tabs.prototype,{rotation:null,rotate:function(c,h){var i=this,j=this.options,n=i._rotate||(i._rotate=function(p){clearTimeout(i.rotation);i.rotation=setTimeout(function(){var l=j.selected;i.select(++l - + + + + + + + + + + -
          -
          -
          -

          Network Discovery

          -
          -
          - -
          - +
          +

          Network Discovery

          +
          +
          +

          Welcome to the Network Discovery. We are now looking for usable interfaces and will go on as soon as we found one. This may take a few seconds.

          +
          +
          +
          + +
          +
          +
          + +

          test

          + +
          + +
          + +
          +

          +

          + +
          +

          +
          + +
          +

          +

          All form fields are required.

          +
          +
          + + + + + + + + + + + + +
          +
          +
          + +
          +
          +
          +
          + +
          +
          +
          +

          RZ Uni Freiburg, 2011

          +
          diff --git a/src/javascriptinterface.cpp b/src/javascriptinterface.cpp index b480635..b45a2f9 100644 --- a/src/javascriptinterface.cpp +++ b/src/javascriptinterface.cpp @@ -49,6 +49,7 @@ void JavascriptInterface::attachToDOM() { * @see JavascriptInterface::attachToDOM() */ void JavascriptInterface::loadJQuery() { + // to test if this actually works... QString js; QString pathToJsDir(DEFAULT_QRC_HTML_DIR); pathToJsDir.append("/js"); @@ -56,23 +57,23 @@ void JavascriptInterface::loadJQuery() { QDir qrcJSDir(pathToJsDir); QFileInfoList fiList = qrcJSDir.entryInfoList(); QFileInfo fi; - foreach(fi, fiList) - { - if (fi.suffix() == "js") { - //qDebug()<< fi.fileName(); - //qxtLog->debug() << fi.fileName(); - if (fi.fileName() != "test.js") { - QFile file; - file.setFileName(pathToJsDir + "/" + fi.fileName()); - file.open(QIODevice::ReadOnly); - js = file.readAll(); - file.close(); +foreach(fi, fiList) +{ + if (fi.suffix() == "js") { + //qDebug()<< fi.fileName(); + //qxtLog->debug() << fi.fileName(); + if (fi.fileName() != "test.js") { + QFile file; + file.setFileName(pathToJsDir + "/" + fi.fileName()); + file.open(QIODevice::ReadOnly); + js = file.readAll(); + file.close(); - _parent->evaluateJavaScript(js); - //qxtLog->debug() << "evaluated " + fi.fileName(); - } - } + _parent->evaluateJavaScript(js); + //qxtLog->debug() << "evaluated " + fi.fileName(); } + } +} } //------------------------------------------------------------------------------------------------------- // Javascript functions for webpage @@ -178,31 +179,33 @@ void JavascriptInterface::reboot() { * * @todo add some more informations */ -void JavascriptInterface::downloadInfo(const QString& filename, const double& filesize) { - QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg(filesize); +void JavascriptInterface::downloadInfo(const QString& filename, + const double& filesize) { + QString code = QString("downloadInfo('\%1', \%2)").arg(filename).arg( + filesize); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- /** * This method updates the progress bar. * - * This method updates the progress bar of the HTML page when an download - * happens. + * This method calls a Javascript function to update the progress bar of the download. + * Javascript must have a function called "updateProgress" to receive this information. * * @todo add some more informations */ -void JavascriptInterface::updateProgressBar(const int& percent, const double& speed, - const QString& unit) { +void JavascriptInterface::updateProgressBar(const int& percent, + const double& speed, const QString& unit) { if (percent == 0) return; - QString code = QString("updateProgress(\%1, \%2, '\%3')").arg(percent).arg(speed).arg(unit); + QString code = QString("updateProgress(\%1, \%2, '\%3')").arg(percent).arg( + speed).arg(unit); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- /** - * This method sends notifications. - * - * @todo add some more informations. + * This method sends out messages to Javascript. A corresponding function must be implemented + * on the webpage to receive these. */ void JavascriptInterface::notify(const QString& msg) { qxtLog->debug() << "[jsi] Notifying: " << msg; @@ -211,27 +214,16 @@ void JavascriptInterface::notify(const QString& msg) { } //------------------------------------------------------------------------------------------------------- /** - * @todo add some more informations + * Sets a callback function for when downloads are finished (will be called when the queue is empty). */ void JavascriptInterface::callbackOnFinished() { QString code = QString("\%1").arg(_callbackOnDownloadsFinished); _parent->evaluateJavaScript(code); } //------------------------------------------------------------------------------------------------------- -//------------------------------------------------------------------------------------------------------- /** - * This method triggers the arriving of the IP address *FOR TESTING PURPOSES* - * - * Used for testing. This method triggers the arriving of the IP address. - * Not needed in the final version since the here simulated event will be - * fired automaticali by the udhcpc command. - * This methods writes some data into a specific file. This file is watched by an - * other process which will fire an event as soon as the file changes. - * - * @see fbgui::watchForTrigger() - * @see fbgui::checkForTrigger(const QString& dirname) - * @see bool fbgui::checkHost() - * @see void fbgui::loadURL() + * This method triggers the URL load *FOR DEBUGGING/TESTING PURPOSES* + */ void JavascriptInterface::trigger() { QFile file(fileToTriggerURL); @@ -241,8 +233,3 @@ void JavascriptInterface::trigger() { } file.close(); } -//------------------------------------------------------------------------------------------------------- -void JavascriptInterface::alert(const QString& message) { - // expects a formatted message. - _parent->evaluateJavaScript(QString("alert(").append(message)); -} diff --git a/src/javascriptinterface.h b/src/javascriptinterface.h index 8826e46..cf2ec5b 100644 --- a/src/javascriptinterface.h +++ b/src/javascriptinterface.h @@ -34,7 +34,7 @@ private: // loads jQuery code void loadJQuery(); -signals: + signals: // request the file from download manager void requestFile(const QString& filename); // quit the application @@ -60,13 +60,13 @@ public slots: void callbackOnFinished(); // slots for information exchange with the download manager. - void updateProgressBar(const int& percent, const double& speed, const QString& unit); + void updateProgressBar(const int& percent, const double& speed, + const QString& unit); void downloadInfo(const QString& filename, const double& filesize); void notify(const QString& msg); // functions to help test functionality void trigger(); - void alert(const QString& message); }; #endif // JAVASCRIPTINTERFACE_H_ diff --git a/src/main.cpp b/src/main.cpp index f3d4201..21983ca 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,6 +6,9 @@ #include #include "loggerengine.h" #include "fbgui.h" +#include "ndgui.h" + +#include "../common/fbgui.h" void printHelp() { QTextStream qout(stdout); @@ -191,15 +194,19 @@ int main(int argc, char *argv[]) { qxtLog->debug() << "*******************************************"; // set invisible cursor - QWSServer::instance()->setCursorVisible(false); + //QWSServer::instance()->setCursorVisible(false); // set default keyboard / mouse drivers. TODO: fix this, doesn't work... //QWSServer::instance()->setDefaultKeyboard("TTY:/dev/tty0"); //QWSServer::instance()->setDefaultMouse("IntelliMouse:/dev/mice"); - // start fbgui - qxtLog->debug() << "Initializing fbgui..."; + + // start ndgui + qxtLog->debug() << "Initializing ndgui..."; + ndgui ngui; fbgui gui; - gui.show(); + + QObject::connect(&ngui, SIGNAL(initFbgui()), &gui, SLOT(init())); + ngui.show(); return app.exec(); } diff --git a/src/sysinfo.cpp b/src/sysinfo.cpp index 4797a86..7d6ac92 100644 --- a/src/sysinfo.cpp +++ b/src/sysinfo.cpp @@ -22,8 +22,6 @@ SysInfo::~SysInfo() { * * @param infoName * Is of type QString. Defines which method will be called. Possible values are: - * - mac - * - ip * - mbserial * - usb * @@ -35,121 +33,17 @@ SysInfo::~SysInfo() { */ const QString SysInfo::getInfo(const QString& infoName) { qxtLog->debug() << "[sysinfo] requested " << infoName; - if (infoName == QString("mac")) - return getMACAddress(); - else if (infoName == QString("ip")) - return getIPAddress(); - else if (infoName == QString("all")) - return getAllInfos(); - else if (infoName == QString("mbserial")) + if (infoName == QString("mbserial")) return getMainboardSerial(); else if (infoName == QString("usb")) return getUsbVendorIdProductIdSerialNumber(); - else if (infoName == QString("json")) - return getNames(); /* unknown code */ qxtLog->debug() << "[sysinfo] unknown requested"; return "info_error"; } -// ------------------------------------------------------------------------------------------------ -/** - * This method returns the clients MAC-Address. - * - * This method returns the clients MAC-Address of the "eth0" interface. - * The MAC-Address is used as part of the data to compute the - * hardwarehash of the client machine. To call this method use the - * SysInfo::getInfo(const QString& infoName) method with - * the parameter "mac" - * - * @return QString - * the MAC-Address or "no_eth0" if an error occurred. - * - * @see fbgui::generatePOSTData() - * @see SysInfo::getInfo(const QString& infoName) - */ -const QString SysInfo::getMACAddress() { - // Returns MAC address of eth0 for now - QNetworkInterface qni = QNetworkInterface::interfaceFromName(QString("eth0")); - if (!qni.isValid()) { - qxtLog->debug() << "[sysinfo] MAC Address: No interface matching \"eth0\" found."; - return "no_eth0"; - } - //eth0_index = qni.index(); - return qni.hardwareAddress(); -} -// ------------------------------------------------------------------------------------------------ -/** - * This method returns the clients IP-Address. - * - * This method returns the clients IP-Address of the "eth0" interface. - * To call this method use the - * SysInfo::getInfo(const QString& infoName) method with - * the parameter "ip" - * - * @return QString - * the IP-Address or "ip_error" if an error occurred. - * - * @see SysInfo::getInfo(const QString& infoName) - */ -const QString SysInfo::getIPAddress() { - // Again for eth0 only at the moment. - // TODO: this doesn't quite work yet... - QNetworkInterface qni = QNetworkInterface::interfaceFromName(QString("eth0")); - QList addrlist = qni.allAddresses(); - // This is does not return the right IP atm... - foreach(QHostAddress addr, addrlist) - { - if (addr.protocol() == QAbstractSocket::IPv4Protocol && addr != QHostAddress::LocalHost) { - return addr.toString(); - } - } - // still here? - qxtLog->debug() << "[sysinfo] IP Address: ip_error"; - return "ip_error"; -} -// ------------------------------------------------------------------------------------------------ -/** - * just a test method for json. - */ -const QByteArray SysInfo::getNames() { - - QVariantMap foo; - foo.insert("name", "foo"); - foo.insert("type", 123); - - QVariantMap fooo; - fooo.insert("name", "boo"); - fooo.insert("type", 321); - - QVariantList jsonV; - jsonV << foo << fooo; - - QJson::Serializer serializer; - QByteArray json = serializer.serialize(jsonV); - - qxtLog->debug() << json; - return json; - -} -// ------------------------------------------------------------------------------------------------ -/** - * just a test method for json. - */ -QString SysInfo::getAllInfos() { - QVariantMap infos; - infos.insert("mac", getMACAddress()); - infos.insert("ip", getIPAddress()); - infos.insert("whoami", getScriptOutput("whoami")); - //infos.insert("pwd", getScriptOutput("pwd")); - - //QJson::Serializer serializer; - QByteArray json = serializer.serialize(infos); - - qxtLog->debug() << json; - return json; -} -// ------------------------------------------------------------------------------------------------ - +// ----------------------------------------------------------------------------------------------- +// Mainboard / USB Infos using libsysfs +// ----------------------------------------------------------------------------------------------- /** * This method returns the Mainboard Serial Number. * @@ -167,7 +61,8 @@ QString SysInfo::getAllInfos() { */ const QString SysInfo::getMainboardSerial() { QString out = ""; - struct sysfs_class_device *class_device = sysfs_open_class_device("dmi", "id"); + struct sysfs_class_device *class_device = sysfs_open_class_device("dmi", + "id"); struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); struct sysfs_device *device = sysfs_get_classdev_device(class_device); @@ -210,6 +105,7 @@ const QString SysInfo::getMainboardSerial() { * @see SysInfo::getInfo(const QString& infoName) */ const QString SysInfo::getUsbVendorIdProductIdSerialNumber() { + QString tag = "[sysinfo] Usb Serial:"; QString out = ""; QVariantList list; @@ -248,19 +144,22 @@ const QString SysInfo::getUsbVendorIdProductIdSerialNumber() { qxtLog->debug() << tag + "failed to get handler / fail to open device"; return "error"; } - re = libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, string, sizeof(string)); + re = libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, + string, sizeof(string)); if (re < 0) { qxtLog->debug() << tag + "failed to get SerialNumber"; return "error"; } infos.insert("serialnumber", QString((const char *) string)); - re = libusb_get_string_descriptor_ascii(handle, desc.iProduct, string, sizeof(string)); + re = libusb_get_string_descriptor_ascii(handle, desc.iProduct, string, + sizeof(string)); if (re < 0) { qxtLog->debug() << tag + "failed to get Product"; return "error"; } infos.insert("product", QString((const char *) string)); - re = libusb_get_string_descriptor_ascii(handle, desc.iManufacturer, string, sizeof(string)); + re = libusb_get_string_descriptor_ascii(handle, desc.iManufacturer, + string, sizeof(string)); if (re < 0) { qxtLog->debug() << tag + "failed to get Product"; return "error"; @@ -273,45 +172,9 @@ const QString SysInfo::getUsbVendorIdProductIdSerialNumber() { libusb_free_device_list(devs, 1); //free the list, unref the devices in it libusb_exit(ctx); //close the session + /* QByteArray json = serializer.serialize(list); qxtLog->debug() << tag + "json object: " + json; return json; + */ } - -// ------------------------------------------------------------------------------------------------ -/** - * This method returns the output of the provided script. - * - * This method returns the output of the provided script. - * Script could be any command. - * This method is not used so far. - * - * @param cmd - * Is of type QString. The command which will be executed - * - * @return QString - * output of the script. - */ -QString SysInfo::getScriptOutput(QString cmd) { - QProcess *process = new QProcess(); - qxtLog->debug() << "[sysinfo] Script Output: try to open: " << cmd; - process->start(cmd, QIODevice::ReadOnly); - - if (!process->waitForStarted()) - qxtLog->debug() << "[sysinfo] Script Output: process couldn't get opened"; - - QString output; - process->waitForFinished(); - - QTextStream *txt_stream = new QTextStream(process); - - while (!txt_stream->atEnd()) { - qxtLog->debug() << "[sysinfo] Script Output: read output: "; - QString tmp_str = txt_stream->readLine(); - output += tmp_str; - qxtLog->debug() << "[sysinfo] Script Output: " << tmp_str; - } - qxtLog->debug() << "[sysinfo] Script Output: process finished: "; - return output; -} - diff --git a/src/sysinfo.h b/src/sysinfo.h index 131b369..c860cca 100644 --- a/src/sysinfo.h +++ b/src/sysinfo.h @@ -29,27 +29,22 @@ extern "C" { #endif #include "fbgui.h" -#include +//#include class SysInfo { public: SysInfo(); ~SysInfo(); - // public access, valid infoName: "mac", "ip", ... + // public access, valid infoName: "mbserial", "usb" const QString getInfo(const QString& infoName); private: // private system information readers - const QString getMACAddress(); - const QString getIPAddress(); const QString getMainboardSerial(); const QString getUsbVendorIdProductIdSerialNumber(); - QString getAllInfos(); - QString getScriptOutput(QString cmd); // JSon testing - QJson::Serializer serializer; - const QByteArray getNames(); + //QJson::Serializer serializer; }; #endif // SYSTINFO_H diff --git a/src/sysinfolibsysfs.cpp b/src/sysinfolibsysfs.cpp deleted file mode 100644 index 6dcbcd2..0000000 --- a/src/sysinfolibsysfs.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* - * sysinfolibsysfs.cpp - * - * This class uses the libsysfs library to collect informations about - * the hardware devices of the client machine. - * - * Created on: Mar 23, 2011 - * Author: niklas - */ - -#include "sysinfolibsysfs.h" - -//------------------------------------------------------------------------------------------------------- -// Initialisation -//------------------------------------------------------------------------------------------------------- -SysInfoLibsysfs::SysInfoLibsysfs() { - // TODO Auto-generated constructor stub - -} - -SysInfoLibsysfs::~SysInfoLibsysfs() { - // TODO Auto-generated destructor stub -} - -void SysInfoLibsysfs::getInfoAboutNetworkInterface() { - struct sysfs_class_device *class_device = sysfs_open_class_device("net", "eth0"); - //struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); - struct sysfs_device *device = sysfs_get_classdev_device(class_device); - //struct sysfs_driver *driver = sysfs_get_classdev_driver(class_device); - if (device == NULL) { - //qxtLog->debug() << "[libsysfs] device is NULL!"; - } else { - qDebug() << "--- print eth0 device path:"; - qDebug() << QString(device->path); - } - - sysfs_close_class_device(class_device); -} - -void SysInfoLibsysfs::getInfoMbSerial() { - QJson::Serializer serializer; - QVariantList listOfDevices; - - struct sysfs_class_device *class_device = sysfs_open_class_device("dmi", "id"); - struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); - //struct sysfs_device *device = sysfs_get_classdev_device(class_device); - - if (attrlist != NULL) { - struct sysfs_attribute *attr = NULL; - QVariantList list; - dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { - QVariantMap a; - if(QString(attr->name) == QString("board_serial")) { - a.insert("name", QString(attr->name)); - a.insert("value", QString(attr->value)); - a.insert("len", QString(attr->len)); - a.insert("path", QString(attr->path)); - a.insert("method", QString(attr->method)); - list << a; - } - } - QByteArray json = serializer.serialize(list); - - qDebug() << json; - return; - } - qDebug() << "attrlist is null!"; - sysfs_close_class_device(class_device); -} - -QString SysInfoLibsysfs::getInfoMainboardSerial() { - QString out = ""; - struct sysfs_class_device *class_device = sysfs_open_class_device("dmi", "id"); - struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); - //struct sysfs_device *device = sysfs_get_classdev_device(class_device); - - if (attrlist != NULL) { - struct sysfs_attribute *attr = NULL; - dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { - QVariantMap a; - if(QString(attr->name) == QString("board_serial")) { - out = QString(attr->value); - } - } - - qDebug() << out; - return out; - } - qDebug() << "attrlist is null!"; - sysfs_close_class_device(class_device); - return NULL; -} - -void SysInfoLibsysfs::getInfoAboutClassNet() { - QJson::Serializer serializer; - QVariantList listOfDevices; - - struct sysfs_class *sysfsclass = sysfs_open_class("net"); - struct dlist *devices = sysfs_get_class_devices(sysfsclass); - struct sysfs_device *dev = NULL; - dlist_for_each_data(devices,dev, struct sysfs_device) { - if(dev == NULL) { - qDebug() << "device is NULL!"; - //qxtLog->debug() << "[libsysfs] device is NULL!"; - } - else { - - qDebug() << "--- print device:"; - - QVariantMap infos; - infos.insert("name", QString(dev->name)); - infos.insert("bus", QString(dev->bus)); - infos.insert("bus_id", QString(dev->bus_id)); - infos.insert("driver_name", QString(dev->driver_name)); - infos.insert("path", QString(dev->path)); - infos.insert("subsystem", QString(dev->subsystem)); - struct dlist *attrlist = dev->attrlist; - if (attrlist != NULL) { - struct sysfs_attribute *attr = NULL; - QVariantList list; - dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { - QVariantMap a; - a.insert("name", QString(attr->name)); - a.insert("value", QString(attr->value)); - a.insert("len", QString(attr->len)); - a.insert("path", QString(attr->path)); - a.insert("method", QString(attr->method)); - list << a; - } - QByteArray json = serializer.serialize(list); - - qDebug() << json; - infos.insert("attrlist", list); - } - listOfDevices << infos; - } - - } - - sysfs_close_class(sysfsclass); - - QByteArray json = serializer.serialize(listOfDevices); - - qDebug() << json; -} diff --git a/src/sysinfolibsysfs.h b/src/sysinfolibsysfs.h deleted file mode 100644 index c933efa..0000000 --- a/src/sysinfolibsysfs.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2010,2011 - RZ Uni Freiburg - * Copyright (c) 2010,2011 - OpenSLX Project - * - * This program/file is free software distributed under the GPL version 2. - * See http://openslx.org/COPYING - * - * If you have any feedback please consult http://openslx.org/feedback and - * send your feedback to feedback@openslx.org - * - * General information about OpenSLX can be found under http://openslx.org - * - * - * Class collects informations about hardware devices of the client: - * - ip address - * - mac address - * - * - * All methods return the collected informations as json- parsable object. - - * sysinfolibsysfs.h - * - * Created on: Mar 23, 2011 - * Author: niklas - */ - -#ifndef SYSINFOLIBSYSFS_H_ -#define SYSINFOLIBSYSFS_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "sysfs/libsysfs.h" -#ifdef __cplusplus -} -#endif - -#include "fbgui.h" -#include - -class SysInfoLibsysfs: public QObject { -Q_OBJECT -public: - SysInfoLibsysfs(); - virtual ~SysInfoLibsysfs(); - void getInfoAboutNetworkInterface(); - void getInfoAboutClassNet(); - void getInfoMbSerial(); - QString getInfoMainboardSerial(); - -}; - -#endif /* SYSINFOLIBSYSFS_H_ */ diff --git a/src/testApp.sh b/src/testApp.sh deleted file mode 100755 index 9b46385..0000000 --- a/src/testApp.sh +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# Script now simply passes all arguments to the fbgui call. -# Use: ./testApp.sh [OPTIONS] -# OPTIONS: -# -h, --help prints help -# -D , --debug= sets debug level [0,1] -# -u , --url= sets URL to load -# -d , --download= sets download directory -# -c , --config= sets path to config file -# -t , --trigger= sets path to file triggering URL load -# -s , --serial= sets path to serial number file -# -# Note: all path are expected to be absolute. - -# clean /tmp/fbgui -rm -rf /tmp/fbgui -rm /tmp/fbgui_trigger - -# path to script (including script name) -script_path="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" - -# to get the path only: use dirname which strips the filename from a path -working_path=`dirname "$script_path"` - -# construct unique display_id based on user, needed for multi-user qvfb usage -display_id=$(grep -n $(whoami) /etc/passwd| head -n 1|awk -F : '{print $1}') - -# Start QT's virtual framebuffer with proper display_id -/usr/local/Trolltech/Qt-4.7.2/bin/qvfb -width 1024 -height 768 -qwsdisplay :$display_id & -# quick sleep to wait for qvfb loading -sleep 0.2 -# Start fbgui connecting to QVFb with display_id from above. -$working_path/fbgui -display QVFb:$display_id $@ -# Check if fbbrowser is not running, if so kill the qvfb. -if [ $(ps aux | grep -v grep | grep -c fbgui) -eq 1 ] -then - echo "fbgui is still running ..." -else - echo "fbgui stopped running, killing qvfb ..." - killall qvfb -fi -- cgit v1.2.3-55-g7522 From 5aa568daae23daa7ac190e56df469e9566075257 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 10 Oct 2011 17:08:35 +0200 Subject: new veriosn of the fbgui src (same as in fbgui-ng) combined with my networkDiscovery in front. --- src/html/continueBoot.html | 24 + .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../css/images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../css/images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../css/images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../css/images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../images/ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes src/html/css/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes src/html/css/images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes src/html/css/images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes src/html/css/images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes src/html/css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes src/html/css/jquery-ui-1.8.16.css | 568 +++++++++++++++ src/html/js/jquery-1.6.4.min.js | 4 + src/html/js/jquery-ui-1.8.16.min.js | 791 +++++++++++++++++++++ src/html/js/networkDiscovery.js | 198 ++++++ src/html/networkdiscovery_userchoice.html | 22 + src/interfaceconfiguration.cpp | 134 ++++ src/interfaceconfiguration.h | 58 ++ src/ndgui.cpp | 370 ++++++++++ src/ndgui.h | 75 ++ src/networkdiscovery.cpp | 781 ++++++++++++++++++++ src/networkdiscovery.h | 110 +++ src/networkmanager.cpp | 497 +++++++++++++ src/networkmanager.h | 54 ++ 28 files changed, 3686 insertions(+) create mode 100644 src/html/continueBoot.html create mode 100644 src/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 src/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 src/html/css/images/ui-bg_flat_10_000000_40x100.png create mode 100644 src/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 src/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 src/html/css/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 src/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 src/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 src/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 src/html/css/images/ui-icons_222222_256x240.png create mode 100644 src/html/css/images/ui-icons_228ef1_256x240.png create mode 100644 src/html/css/images/ui-icons_ef8c08_256x240.png create mode 100644 src/html/css/images/ui-icons_ffd27a_256x240.png create mode 100644 src/html/css/images/ui-icons_ffffff_256x240.png create mode 100644 src/html/css/jquery-ui-1.8.16.css create mode 100644 src/html/js/jquery-1.6.4.min.js create mode 100644 src/html/js/jquery-ui-1.8.16.min.js create mode 100644 src/html/js/networkDiscovery.js create mode 100644 src/html/networkdiscovery_userchoice.html create mode 100644 src/interfaceconfiguration.cpp create mode 100644 src/interfaceconfiguration.h create mode 100644 src/ndgui.cpp create mode 100644 src/ndgui.h create mode 100644 src/networkdiscovery.cpp create mode 100644 src/networkdiscovery.h create mode 100644 src/networkmanager.cpp create mode 100644 src/networkmanager.h diff --git a/src/html/continueBoot.html b/src/html/continueBoot.html new file mode 100644 index 0000000..89020b7 --- /dev/null +++ b/src/html/continueBoot.html @@ -0,0 +1,24 @@ + + + + + + + + + + + +
          +
          +
          +

          Continue Boot

          +
          +
          + +
          + + + diff --git a/src/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/src/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000..954e22d Binary files /dev/null and b/src/html/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png differ diff --git a/src/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png b/src/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 0000000..64ece57 Binary files /dev/null and b/src/html/css/images/ui-bg_diagonals-thick_20_666666_40x40.png differ diff --git a/src/html/css/images/ui-bg_flat_10_000000_40x100.png b/src/html/css/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000..abdc010 Binary files /dev/null and b/src/html/css/images/ui-bg_flat_10_000000_40x100.png differ diff --git a/src/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png b/src/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000..9b383f4 Binary files /dev/null and b/src/html/css/images/ui-bg_glass_100_f6f6f6_1x400.png differ diff --git a/src/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png b/src/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100644 index 0000000..a23baad Binary files /dev/null and b/src/html/css/images/ui-bg_glass_100_fdf5ce_1x400.png differ diff --git a/src/html/css/images/ui-bg_glass_65_ffffff_1x400.png b/src/html/css/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..42ccba2 Binary files /dev/null and b/src/html/css/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/src/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/src/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 0000000..39d5824 Binary files /dev/null and b/src/html/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png differ diff --git a/src/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/src/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000..f127367 Binary files /dev/null and b/src/html/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png differ diff --git a/src/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/src/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png new file mode 100644 index 0000000..359397a Binary files /dev/null and b/src/html/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png differ diff --git a/src/html/css/images/ui-icons_222222_256x240.png b/src/html/css/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..b273ff1 Binary files /dev/null and b/src/html/css/images/ui-icons_222222_256x240.png differ diff --git a/src/html/css/images/ui-icons_228ef1_256x240.png b/src/html/css/images/ui-icons_228ef1_256x240.png new file mode 100644 index 0000000..a641a37 Binary files /dev/null and b/src/html/css/images/ui-icons_228ef1_256x240.png differ diff --git a/src/html/css/images/ui-icons_ef8c08_256x240.png b/src/html/css/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 0000000..85e63e9 Binary files /dev/null and b/src/html/css/images/ui-icons_ef8c08_256x240.png differ diff --git a/src/html/css/images/ui-icons_ffd27a_256x240.png b/src/html/css/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000..e117eff Binary files /dev/null and b/src/html/css/images/ui-icons_ffd27a_256x240.png differ diff --git a/src/html/css/images/ui-icons_ffffff_256x240.png b/src/html/css/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000..42f8f99 Binary files /dev/null and b/src/html/css/images/ui-icons_ffffff_256x240.png differ diff --git a/src/html/css/jquery-ui-1.8.16.css b/src/html/css/jquery-ui-1.8.16.css new file mode 100644 index 0000000..5547c7b --- /dev/null +++ b/src/html/css/jquery-ui-1.8.16.css @@ -0,0 +1,568 @@ +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + + +/* + * jQuery UI CSS Framework 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1.1em; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; font-size: 1em; } +.ui-widget-content { border: 1px solid #dddddd; background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; color: #333333; } +.ui-widget-content a { color: #333333; } +.ui-widget-header { border: 1px solid #e78f08; background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; color: #ffffff; font-weight: bold; } +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #cccccc; background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #1c94c4; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #1c94c4; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #fbcb09; background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #c77405; } +.ui-state-hover a, .ui-state-hover a:hover { color: #c77405; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #fbd850; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: bold; color: #eb8f00; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #eb8f00; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fed22f; background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; color: #363636; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; color: #ffffff; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_ffffff_256x240.png); } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_ef8c08_256x240.png); } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_228ef1_256x240.png); } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; } +.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; } +.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; } + +/* Overlays */ +.ui-widget-overlay { background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; opacity: .50;filter:Alpha(Opacity=50); } +.ui-widget-shadow { margin: -5px 0 0 -5px; padding: 5px; background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; opacity: .20;filter:Alpha(Opacity=20); -moz-border-radius: 5px; -khtml-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; }/* + * jQuery UI Resizable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block; } +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;}/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } +/* + * jQuery UI Accordion 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } +/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * jQuery UI Menu 1.8.16 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} +/* + * jQuery UI Button 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ +/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } +/* + * jQuery UI Slider 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; }/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } +/* + * jQuery UI Datepicker 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; font-size:0em; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +}/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/src/html/js/jquery-1.6.4.min.js b/src/html/js/jquery-1.6.4.min.js new file mode 100644 index 0000000..628ed9b --- /dev/null +++ b/src/html/js/jquery-1.6.4.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.6.4 http://jquery.com/ | http://jquery.org/license */ +(function(a,b){function cu(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cr(a){if(!cg[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ch||(ch=c.createElement("iframe"),ch.frameBorder=ch.width=ch.height=0),b.appendChild(ch);if(!ci||!ch.createElement)ci=(ch.contentWindow||ch.contentDocument).document,ci.write((c.compatMode==="CSS1Compat"?"":"")+""),ci.close();d=ci.createElement(a),ci.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ch)}cg[a]=e}return cg[a]}function cq(a,b){var c={};f.each(cm.concat.apply([],cm.slice(0,b)),function(){c[this]=a});return c}function cp(){cn=b}function co(){setTimeout(cp,0);return cn=f.now()}function cf(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ce(){try{return new a.XMLHttpRequest}catch(b){}}function b$(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){c!=="border"&&f.each(e,function(){c||(d-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?d+=parseFloat(f.css(a,c+this))||0:d-=parseFloat(f.css(a,"border"+this+"Width"))||0});return d+"px"}d=bv(a,b,b);if(d<0||d==null)d=a.style[b]||0;d=parseFloat(d)||0,c&&f.each(e,function(){d+=parseFloat(f.css(a,"padding"+this))||0,c!=="padding"&&(d+=parseFloat(f.css(a,"border"+this+"Width"))||0),c==="margin"&&(d+=parseFloat(f.css(a,c+this))||0)});return d+"px"}function bl(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bd,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bk(a){f.nodeName(a,"input")?bj(a):"getElementsByTagName"in a&&f.grep(a.getElementsByTagName("input"),bj)}function bj(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bi(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bh(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bg(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i=0===c})}function U(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function M(a,b){return(a&&a!=="*"?a+".":"")+b.replace(y,"`").replace(z,"&")}function L(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function J(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function D(){return!0}function C(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function K(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(K,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,x=/^-ms-/,y=function(a,b){return(b+"").toUpperCase()},z=d.userAgent,A,B,C,D=Object.prototype.toString,E=Object.prototype.hasOwnProperty,F=Array.prototype.push,G=Array.prototype.slice,H=String.prototype.trim,I=Array.prototype.indexOf,J={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.4",length:0,size:function(){return this.length},toArray:function(){return G.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?F.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),B.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(G.apply(this,arguments),"slice",G.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:F,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;B.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!B){B=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",C,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",C),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&K()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):J[D.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!E.call(a,"constructor")&&!E.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||E.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(x,"ms-").replace(w,y)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
          a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=a.getElementsByTagName("input")[0],k={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,k.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,k.optDisabled=!h.disabled;try{delete a.test}catch(v){k.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function(){k.noCloneEvent=!1}),a.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),k.radioValue=i.value==="t",i.setAttribute("checked","checked"),a.appendChild(i),l=c.createDocumentFragment(),l.appendChild(a.firstChild),k.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",m=c.getElementsByTagName("body")[0],o=c.createElement(m?"div":"body"),p={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},m&&f.extend(p,{position:"absolute",left:"-1000px",top:"-1000px"});for(t in p)o.style[t]=p[t];o.appendChild(a),n=m||b,n.insertBefore(o,n.firstChild),k.appendChecked=i.checked,k.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,k.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
          ",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
          t
          ",q=a.getElementsByTagName("td"),u=q[0].offsetHeight===0,q[0].style.display="",q[1].style.display="none",k.reliableHiddenOffsets=u&&q[0].offsetHeight===0,a.innerHTML="",c.defaultView&&c.defaultView.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",a.appendChild(j),k.reliableMarginRight=(parseInt((c.defaultView.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0),o.innerHTML="",n.removeChild(o);if(a.attachEvent)for(t in{submit:1,change:1,focusin:1})s="on"+t,u=s in a,u||(a.setAttribute(s,"return;"),u=typeof a[s]=="function"),k[t+"Bubbles"]=u;o=l=g=h=m=j=a=i=null;return k}(),f.boxModel=f.support.boxModel;var i=/^(?:\{.*\}|\[.*\])$/,j=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!l(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i=f.expando,j=typeof c=="string",k=a.nodeType,l=k?f.cache:a,m=k?a[f.expando]:a[f.expando]&&f.expando;if((!m||e&&m&&l[m]&&!l[m][i])&&j&&d===b)return;m||(k?a[f.expando]=m=++f.uuid:m=f.expando),l[m]||(l[m]={},k||(l[m].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?l[m][i]=f.extend(l[m][i],c):l[m]=f.extend(l[m],c);g=l[m],e&&(g[i]||(g[i]={}),g=g[i]),d!==b&&(g[f.camelCase(c)]=d);if(c==="events"&&!g[c])return g[i]&&g[i].events;j?(h=g[c],h==null&&(h=g[f.camelCase(c)])):h=g;return h}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e=f.expando,g=a.nodeType,h=g?f.cache:a,i=g?a[f.expando]:f.expando;if(!h[i])return;if(b){d=c?h[i][e]:h[i];if(d){d[b]||(b=f.camelCase(b)),delete d[b];if(!l(d))return}}if(c){delete h[i][e];if(!l(h[i]))return}var j=h[i][e];f.support.deleteExpando||!h.setInterval?delete h[i]:h[i]=null,j?(h[i]={},g||(h[i].toJSON=f.noop),h[i][e]=j):g&&(f.support.deleteExpando?delete a[f.expando]:a.removeAttribute?a.removeAttribute(f.expando):a[f.expando]=null)}},_data:function(a,b,c){return f.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=f.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),f.fn.extend({data:function(a,c){var d=null;if(typeof a=="undefined"){if(this.length){d=f.data(this[0]);if(this[0].nodeType===1){var e=this[0].attributes,g;for(var h=0,i=e.length;h-1)return!0;return!1},val:function(a){var c,d,e=this[0];if(!arguments.length){if(e){c=f.valHooks[e.nodeName.toLowerCase()]||f.valHooks[e.type];if(c&&"get"in c&&(d=c.get(e,"value"))!==b)return d;d=e.value;return typeof d=="string"?d.replace(p,""):d==null?"":d}return b}var g=f.isFunction(a);return this.each(function(d){var e=f(this),h;if(this.nodeType===1){g?h=a.call(this,d,e.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c=a.selectedIndex,d=[],e=a.options,g=a.type==="select-one";if(c<0)return null;for(var h=g?c:0,i=g?c+1:e.length;h=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attrFix:{tabindex:"tabIndex"},attr:function(a,c,d,e){var g=a.nodeType;if(!a||g===3||g===8||g===2)return b;if(e&&c in f.attrFn)return f(a)[c](d);if(!("getAttribute"in a))return f.prop(a,c,d);var h,i,j=g!==1||!f.isXMLDoc(a);j&&(c=f.attrFix[c]||c,i=f.attrHooks[c],i||(t.test(c)?i=v:u&&(i=u)));if(d!==b){if(d===null){f.removeAttr(a,c);return b}if(i&&"set"in i&&j&&(h=i.set(a,d,c))!==b)return h;a.setAttribute(c,""+d);return d}if(i&&"get"in i&&j&&(h=i.get(a,c))!==null)return h;h=a.getAttribute(c);return h===null?b:h},removeAttr:function(a,b){var c;a.nodeType===1&&(b=f.attrFix[b]||b,f.attr(a,b,""),a.removeAttribute(b),t.test(b)&&(c=f.propFix[b]||b)in a&&(a[c]=!1))},attrHooks:{type:{set:function(a,b){if(q.test(a.nodeName)&&a.parentNode)f.error("type property can't be changed");else if(!f.support.radioValue&&b==="radio"&&f.nodeName(a,"input")){var c=a.value;a.setAttribute("type",b),c&&(a.value=c);return b}}},value:{get:function(a,b){if(u&&f.nodeName(a,"button"))return u.get(a,b);return b in a?a.value:null},set:function(a,b,c){if(u&&f.nodeName(a,"button"))return u.set(a,b,c);a.value=b}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(a,c,d){var e=a.nodeType;if(!a||e===3||e===8||e===2)return b;var g,h,i=e!==1||!f.isXMLDoc(a);i&&(c=f.propFix[c]||c,h=f.propHooks[c]);return d!==b?h&&"set"in h&&(g=h.set(a,d,c))!==b?g:a[c]=d:h&&"get"in h&&(g=h.get(a,c))!==null?g:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode("tabindex");return c&&c.specified?parseInt(c.value,10):r.test(a.nodeName)||s.test(a.nodeName)&&a.href?0:b}}}}),f.attrHooks.tabIndex=f.propHooks.tabIndex,v={get:function(a,c){var d;return f.prop(a,c)===!0||(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;b===!1?f.removeAttr(a,c):(d=f.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase()));return c}},f.support.getSetAttribute||(u=f.valHooks.button={get:function(a,c){var d;d=a.getAttributeNode(c);return d&&d.nodeValue!==""?d.nodeValue:b},set:function(a,b,d){var e=a.getAttributeNode(d);e||(e=c.createAttribute(d),a.setAttributeNode(e));return e.nodeValue=b+""}},f.each(["width","height"],function(a,b){f.attrHooks[b]=f.extend(f.attrHooks[b],{set:function(a,c){if(c===""){a.setAttribute(b,"auto");return c}}})})),f.support.hrefNormalized||f.each(["href","src","width","height"],function(a,c){f.attrHooks[c]=f.extend(f.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),f.support.style||(f.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=""+b}}),f.support.optSelected||(f.propHooks.selected=f.extend(f.propHooks.selected,{get:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex);return null}})),f.support.checkOn||f.each(["radio","checkbox"],function(){f.valHooks[this]={get:function(a){return a.getAttribute("value")===null?"on":a.value}}}),f.each(["radio","checkbox"],function(){f.valHooks[this]=f.extend(f.valHooks[this],{set:function(a,b){if(f.isArray(b))return a.checked=f.inArray(f(a).val(),b)>=0}})});var w=/\.(.*)$/,x=/^(?:textarea|input|select)$/i,y=/\./g,z=/ /g,A=/[^\w\s.|`]/g,B=function(a){return a.replace(A,"\\$&")};f.event={add:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){if(d===!1)d=C;else if(!d)return;var g,h;d.handler&&(g=d,d=g.handler),d.guid||(d.guid=f.guid++);var i=f._data(a);if(!i)return;var j=i.events,k=i.handle;j||(i.events=j={}),k||(i.handle=k=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.handle.apply(k.elem,arguments):b}),k.elem=a,c=c.split(" ");var l,m=0,n;while(l=c[m++]){h=g?f.extend({},g):{handler:d,data:e},l.indexOf(".")>-1?(n=l.split("."),l=n.shift(),h.namespace=n.slice(0).sort().join(".")):(n=[],h.namespace=""),h.type=l,h.guid||(h.guid=d.guid);var o=j[l],p=f.event.special[l]||{};if(!o){o=j[l]=[];if(!p.setup||p.setup.call(a,e,n,k)===!1)a.addEventListener?a.addEventListener(l,k,!1):a.attachEvent&&a.attachEvent("on"+l,k)}p.add&&(p.add.call(a,h),h.handler.guid||(h.handler.guid=d.guid)),o.push(h),f.event.global[l]=!0}a=null}},global:{},remove:function(a,c,d,e){if(a.nodeType!==3&&a.nodeType!==8){d===!1&&(d=C);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=f.hasData(a)&&f._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(d=c.handler,c=c.type);if(!c||typeof c=="string"&&c.charAt(0)==="."){c=c||"";for(h in t)f.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+f.map(m.slice(0).sort(),B).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!d){for(j=0;j=0&&(h=h.slice(0,-1),j=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if(!!e&&!f.event.customEvent[h]||!!f.event.global[h]){c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.exclusive=j,c.namespace=i.join("."),c.namespace_re=new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)");if(g||!e)c.preventDefault(),c.stopPropagation();if(!e){f.each(f.cache,function(){var a=f.expando,b=this[a];b&&b.events&&b.events[h]&&f.event.trigger(c,d,b.handle.elem)});return}if(e.nodeType===3||e.nodeType===8)return;c.result=b,c.target=e,d=d!=null?f.makeArray(d):[],d.unshift(c);var k=e,l=h.indexOf(":")<0?"on"+h:"";do{var m=f._data(k,"handle");c.currentTarget=k,m&&m.apply(k,d),l&&f.acceptData(k)&&k[l]&&k[l].apply(k,d)===!1&&(c.result=!1,c.preventDefault()),k=k.parentNode||k.ownerDocument||k===c.target.ownerDocument&&a}while(k&&!c.isPropagationStopped());if(!c.isDefaultPrevented()){var n,o=f.event.special[h]||{};if((!o._default||o._default.call(e.ownerDocument,c)===!1)&&(h!=="click"||!f.nodeName(e,"a"))&&f.acceptData(e)){try{l&&e[h]&&(n=e[l],n&&(e[l]=null),f.event.triggered=h,e[h]())}catch(p){}n&&(e[l]=n),f.event.triggered=b}}return c.result}},handle:function(c){c=f.event.fix(c||a.event);var d=((f._data(this,"events")||{})[c.type]||[]).slice(0),e=!c.exclusive&&!c.namespace,g=Array.prototype.slice.call(arguments,0);g[0]=c,c.currentTarget=this;for(var h=0,i=d.length;h-1?f.map(a.options,function(a){return a.selected}).join("-"):"":f.nodeName(a,"select")&&(c=a.selectedIndex);return c},I=function(c){var d=c.target,e,g;if(!!x.test(d.nodeName)&&!d.readOnly){e=f._data(d,"_change_data"),g=H(d),(c.type!=="focusout"||d.type!=="radio")&&f._data(d,"_change_data",g);if(e===b||g===e)return;if(e!=null||g)c.type="change",c.liveFired=b,f.event.trigger(c,arguments[1],d)}};f.event.special.change={filters:{focusout:I,beforedeactivate:I,click:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(c==="radio"||c==="checkbox"||f.nodeName(b,"select"))&&I.call(this,a)},keydown:function(a){var b=a.target,c=f.nodeName(b,"input")?b.type:"";(a.keyCode===13&&!f.nodeName(b,"textarea")||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&I.call(this,a)},beforeactivate:function(a){var b=a.target;f._data(b,"_change_data",H(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in G)f.event.add(this,c+".specialChange",G[c]);return x.test(this.nodeName)},teardown:function(a){f.event.remove(this,".specialChange");return x.test(this.nodeName)}},G=f.event.special.change.filters,G.focus=G.beforeactivate}f.support.focusinBubbles||f.each({focus:"focusin",blur:"focusout"},function(a,b){function e(a){var c=f.event.fix(a);c.type=b,c.originalEvent={},f.event.trigger(c,null,c.target),c.isDefaultPrevented()&&a.preventDefault()}var d=0;f.event.special[b]={setup:function(){d++===0&&c.addEventListener(a,e,!0)},teardown:function(){--d===0&&c.removeEventListener(a,e,!0)}}}),f.each(["bind","one"],function(a,c){f.fn[c]=function(a,d,e){var g;if(typeof a=="object"){for(var h in a)this[c](h,d,a[h],e);return this}if(arguments.length===2||d===!1)e=d,d=b;c==="one"?(g=function(a){f(this).unbind(a,g);return e.apply(this,arguments)},g.guid=e.guid||f.guid++):g=e;if(a==="unload"&&c!=="one")this.one(a,d,e);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d=0,e=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,f,g){f=f||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return f;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(e.call(n)==="[object Array]")if(!u)f.push.apply(f,n);else if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&f.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&f.push(j[t]);else p(n,f);o&&(k(o,h,f,g),k.uniqueSort(f));return f};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=d++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(e.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var f=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

          ";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(e||!l.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return k(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
          ";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(h=g;h0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(d=0,e=a.length;d-1:f(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=S.test(a)||typeof a!="string"?f(a,b||this.context):0;for(d=0,e=this.length;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(U(c[0])||U(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c),g=R.call(arguments);N.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!T[a]?f.unique(e):e,(this.length>1||P.test(d))&&O.test(a)&&(e=e.reverse());return this.pushStack(e,a,g.join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
          ","
          "],thead:[1,"","
          "],tr:[2,"","
          "],td:[3,"","
          "],col:[2,"","
          "],area:[1,"",""],_default:[0,"",""]};be.optgroup=be.option,be.tbody=be.tfoot=be.colgroup=be.caption=be.thead,be.th=be.td,f.support.htmlSerialize||(be._default=[1,"div
          ","
          "]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){f(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!be[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d=a.cloneNode(!0),e,g,h;if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bh(a,d),e=bi(a),g=bi(d);for(h=0;e[h];++h)g[h]&&bh(e[h],g[h])}if(b){bg(a,d);if(c){e=bi(a),g=bi(d);for(h=0;e[h];++h)bg(e[h],g[h])}}e=g=null;return d},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=be[l]||be._default,n=m[0],o=b.createElement("div");o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bn.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNaN(b)?"":"alpha(opacity="+b*100+")",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bm,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bm.test(g)?g.replace(bm,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bv(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bw=function(a,c){var d,e,g;c=c.replace(bo,"-$1").toLowerCase();if(!(e=a.ownerDocument.defaultView))return b;if(g=e.getComputedStyle(a,null))d=g.getPropertyValue(c),d===""&&!f.contains(a.ownerDocument.documentElement,a)&&(d=f.style(a,c));return d}),c.documentElement.currentStyle&&(bx=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bp.test(d)&&bq.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bv=bw||bx,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bz=/%20/g,bA=/\[\]$/,bB=/\r?\n/g,bC=/#.*$/,bD=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bE=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bF=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bG=/^(?:GET|HEAD)$/,bH=/^\/\//,bI=/\?/,bJ=/)<[^<]*)*<\/script>/gi,bK=/^(?:select|textarea)/i,bL=/\s+/,bM=/([?&])_=[^&]*/,bN=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bO=f.fn.load,bP={},bQ={},bR,bS,bT=["*/"]+["*"];try{bR=e.href}catch(bU){bR=c.createElement("a"),bR.href="",bR=bR.href}bS=bN.exec(bR.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bO)return bO.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
          ").append(c.replace(bJ,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bK.test(this.nodeName)||bE.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bB,"\r\n")}}):{name:b.name,value:c.replace(bB,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.bind(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?bX(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),bX(a,b);return a},ajaxSettings:{url:bR,isLocal:bF.test(bS[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bT},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bV(bP),ajaxTransport:bV(bQ),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?bZ(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=b$(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.resolveWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f._Deferred(),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bD.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.done,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bC,"").replace(bH,bS[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bL),d.crossDomain==null&&(r=bN.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bS[1]&&r[2]==bS[2]&&(r[3]||(r[1]==="http:"?80:443))==(bS[3]||(bS[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bW(bP,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bG.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bI.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bM,"$1_="+x);d.url=y+(y===d.url?(bI.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bT+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bW(bQ,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){s<2?w(-1,z):f.error(z)}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)bY(g,a[g],c,e);return d.join("&").replace(bz,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var b_=f.now(),ca=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+b_++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ca.test(b.url)||e&&ca.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ca,l),b.url===j&&(e&&(k=k.replace(ca,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cb=a.ActiveXObject?function(){for(var a in cd)cd[a](0,1)}:!1,cc=0,cd;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ce()||cf()}:ce,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cb&&delete cd[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cc,cb&&(cd||(cd={},f(a).unload(cb)),cd[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cg={},ch,ci,cj=/^(?:toggle|show|hide)$/,ck=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cl,cm=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cn;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cq("show",3),a,b,c);for(var g=0,h=this.length;g=e.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),e.animatedProperties[this.prop]=!0;for(g in e.animatedProperties)e.animatedProperties[g]!==!0&&(c=!1);if(c){e.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){d.style["overflow"+b]=e.overflow[a]}),e.hide&&f(d).hide();if(e.hide||e.show)for(var i in e.animatedProperties)f.style(d,i,e.orig[i]);e.complete.call(d)}return!1}e.duration==Infinity?this.now=b:(h=b-this.startTime,this.state=h/e.duration,this.pos=f.easing[e.animatedProperties[this.prop]](this.state,h,0,1,e.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){for(var a=f.timers,b=0;b
          ";f.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),d=b.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,this.doesNotAddBorder=e.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,e.style.position="fixed",e.style.top="20px",this.supportsFixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",this.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),f.offset.initialize=f.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;f.offset.initialize(),f.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(f.css(a,"marginTop"))||0,c+=parseFloat(f.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var d=f.css(a,"position");d==="static"&&(a.style.position="relative");var e=f(a),g=e.offset(),h=f.css(a,"top"),i=f.css(a,"left"),j=(d==="absolute"||d==="fixed")&&f.inArray("auto",[h,i])>-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=ct.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!ct.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cu(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cu(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a&&a.style?parseFloat(f.css(a,d,"padding")):null},f.fn["outer"+c]=function(a){var b=this[0];return b&&b.style?parseFloat(f.css(b,d,a?"margin":"border")):null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNaN(j)?i:j}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f})(window); \ No newline at end of file diff --git a/src/html/js/jquery-ui-1.8.16.min.js b/src/html/js/jquery-ui-1.8.16.min.js new file mode 100644 index 0000000..14c9064 --- /dev/null +++ b/src/html/js/jquery-ui-1.8.16.min.js @@ -0,0 +1,791 @@ +/*! + * jQuery UI 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a,b){var d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function l(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16", +keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d= +this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this, +"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart": +"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight, +outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a, +"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&& +a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted= +false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, +left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= +k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= +m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= +d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= +a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), +g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('
          ').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return true},_mouseStart:function(a){var b=this.options; +this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}); +this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return true}, +_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b= +false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration, +10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle|| +!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&& +a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent= +this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"), +10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"), +10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top, +(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var b=a[0];if(b){a.offset();var c=d(b).css("overflow")!= +"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"), +10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+ +this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&& +!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else g=this.containment;if(a.pageX-this.offset.click.leftg[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.topg[3])?h:!(h-this.offset.click.topg[2])?e:!(e-this.offset.click.left=0;i--){var j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){if(!a.disabled){e(this).removeClass("ui-resizable-autohide");b._handles.show()}},function(){if(!a.disabled)if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy(); +var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a= +false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"}); +this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff= +{width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis]; +if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);this._updateVirtualBoundaries(b.shiftKey);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false}, +_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height;f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f, +{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateVirtualBoundaries:function(b){var a=this.options,c,d,f;a={minWidth:k(a.minWidth)?a.minWidth:0,maxWidth:k(a.maxWidth)?a.maxWidth:Infinity,minHeight:k(a.minHeight)?a.minHeight:0,maxHeight:k(a.maxHeight)?a.maxHeight: +Infinity};if(this._aspectRatio||b){b=a.minHeight*this.aspectRatio;d=a.minWidth/this.aspectRatio;c=a.maxHeight*this.aspectRatio;f=a.maxWidth/this.aspectRatio;if(b>a.minWidth)a.minWidth=b;if(d>a.minHeight)a.minHeight=d;if(cb.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&l)b.left=i-a.minWidth;if(d&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left= +null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+ +a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+ +c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]); +b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.16"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(), +10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top- +f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var l=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:l.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(l.css("position"))){c._revertToRelativePosition=true;l.css({position:"absolute",top:"auto",left:"auto"})}l.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType? +e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a= +e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing, +step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement= +e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset; +var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left: +a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top- +d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition, +f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25, +display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b= +e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height= +d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
          ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){var a=this.options;this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?a.axis==="x"||/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a=== +"disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&& +!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top, +left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b];if(!(c.instance!=this.currentContainer&&this.currentContainer&&c.item[0]!=this.currentItem[0])){var e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b= +this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f= +d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")|| +0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out", +a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h- +f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g- +this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this, +this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop", +a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), +e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| +e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.16", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.propAttr("readOnly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("
            ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.scrollTop(),c=this.element.height();if(b<0)this.element.scrollTop(g+b);else b>=c&&this.element.scrollTop(g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id"); +this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0);e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b, +this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e,g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first"));this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active|| +this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(a.empty()).text(),e=this.options.icons,f=e.primary&&e.secondary,d=[];if(e.primary||e.secondary){if(this.options.text)d.push("ui-button-text-icon"+(f?"s":e.primary?"-primary":"-secondary"));e.primary&&a.prepend("");e.secondary&&a.append("");if(!this.options.text){d.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||a.attr("title",c)}}else d.push("ui-button-text-only");a.addClass(d.join(" "))}}});b.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(a,c){a==="disabled"&&this.buttons.button("option",a,c);b.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){var a=this.element.css("direction")=== +"ltr";this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(a?"ui-corner-left":"ui-corner-right").end().filter(":last").addClass(a?"ui-corner-right":"ui-corner-left").end().end()},destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return b(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy"); +b.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,l){var m={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},n={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true},o=c.attrFn||{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true,click:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false, +position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
            ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ +b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&!i.isDefaultPrevented()&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
            ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g), +h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id", +e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body"); +a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!== +b.uiDialog[0]){e=c(this).css("z-index");isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.scrollTop(),scrollLeft:d.element.scrollLeft()};c.ui.dialog.maxZ+=1; +d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target=== +f[0]&&e.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
            ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
            ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a, +function(){return!(d=true)});if(d){c.each(a,function(f,h){h=c.isFunction(h)?{click:h,text:f}:h;var i=c('').click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.each(h,function(j,k){if(j!=="click")j in o?i[j](k):i.attr(j,k)});c.fn.button&&i.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close", +handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition, +originalSize:f.originalSize,position:f.position,size:f.size}}a=a===l?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize", +f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "): +[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f); +if(g in m)e=true;if(g in n)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"): +e.removeClass("ui-dialog-disabled");break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a= +this.options,b,d,e=this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height- +b,0));this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.16",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "), +create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&& +c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a").appendTo(this.element).addClass("ui-slider-range ui-widget-header"+(b.range==="min"||b.range==="max"?" ui-slider-range-"+b.range:""))}for(var j=c.length;j"); +this.handles=c.add(d(e.join("")).appendTo(a.element));this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(g){g.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur();else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(g){d(this).data("index.ui-slider-handle", +g)});this.handles.keydown(function(g){var k=true,l=d(this).data("index.ui-slider-handle"),i,h,m;if(!a.options.disabled){switch(g.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:k=false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");i=a._start(g,l);if(i===false)return}break}m=a.options.step;i=a.options.values&&a.options.values.length? +(h=a.values(l)):(h=a.value());switch(g.keyCode){case d.ui.keyCode.HOME:h=a._valueMin();break;case d.ui.keyCode.END:h=a._valueMax();break;case d.ui.keyCode.PAGE_UP:h=a._trimAlignValue(i+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:h=a._trimAlignValue(i-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(i===a._valueMax())return;h=a._trimAlignValue(i+m);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(i===a._valueMin())return;h=a._trimAlignValue(i- +m);break}a._slide(g,l,h);return k}}).keyup(function(g){var k=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(g,k);a._change(g,k);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy(); +return this},_mouseCapture:function(a){var b=this.options,c,f,e,j,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});f=this._valueMax()-this._valueMin()+1;j=this;this.handles.each(function(k){var l=Math.abs(c-j.values(k));if(f>l){f=l;e=d(this);g=k}});if(b.range===true&&this.values(1)===b.min){g+=1;e=d(this.handles[g])}if(this._start(a,g)===false)return false; +this._mouseSliding=true;j._handleIndex=g;e.addClass("ui-state-active").focus();b=e.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-e.width()/2,top:a.pageY-b.top-e.height()/2-(parseInt(e.css("borderTopWidth"),10)||0)-(parseInt(e.css("borderBottomWidth"),10)||0)+(parseInt(e.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var f;if(this.options.values&&this.options.values.length){f=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>f||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}else if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;f=arguments[0];for(e=0;e=this._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=(a-this._valueMin())%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,f=!this._animateOff?b.animate:false,e,j={},g,k,l,i;if(this.options.values&&this.options.values.length)this.handles.each(function(h){e=(c.values(h)-c._valueMin())/(c._valueMax()-c._valueMin())*100;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";d(this).stop(1,1)[f?"animate":"css"](j,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(h===0)c.range.stop(1,1)[f?"animate":"css"]({left:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({width:e- +g+"%"},{queue:false,duration:b.animate})}else{if(h===0)c.range.stop(1,1)[f?"animate":"css"]({bottom:e+"%"},b.animate);if(h===1)c.range[f?"animate":"css"]({height:e-g+"%"},{queue:false,duration:b.animate})}g=e});else{k=this.value();l=this._valueMin();i=this._valueMax();e=i!==l?(k-l)/(i-l)*100:0;j[c.orientation==="horizontal"?"left":"bottom"]=e+"%";this.handle.stop(1,1)[f?"animate":"css"](j,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[f?"animate":"css"]({width:e+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[f?"animate":"css"]({width:100-e+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[f?"animate":"css"]({height:e+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[f?"animate":"css"]({height:100-e+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
            ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
          • #{label}
          • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= +d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); +this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ +g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", +function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; +this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= +-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; +d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= +d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, +e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); +j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); +if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, +this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, +load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, +"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.16"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k'))}function N(a){return a.bind("mouseout", +function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"); +b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv}, +setDefaults:function(a){H(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g, +"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('
            '))}},_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker", +function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c== +"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f==""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker(): +d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a, +b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+= +1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/ +2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e= +a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a, +"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month, select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return f== +a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input", +a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value= +"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b); +c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing= +true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}); +a.dpDiv.find("."+this._dayOverClass+" a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&& +!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(), +h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b= +this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b); +this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")}, +_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"): +0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e["selected"+(c=="M"? +"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a); +this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField"); +if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"? +b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd", +COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames: +null)||this._defaults.monthNames;var i=function(o){(o=k+1 +12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&& +a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay? +new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a)); +n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new Date(m, +g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+s+"":f?"":''+s+"";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&& +a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
            '+(c?h:"")+(this._isInRange(a,s)?'":"")+(c?"":h)+"
            ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var E=this._getDefaultDate(a),w="",x=0;x1)switch(G){case 0:y+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:y+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:y+=" ui-datepicker-group-middle";t="";break}y+='">'}y+='
            '+(/all|left/.test(t)&& +x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'
            ';var z=j?'":"";for(t=0;t<7;t++){var r=(t+h)%7;z+="=5?' class="ui-datepicker-week-end"':"")+'>'+q[r]+""}y+=z+"";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new Date(m,g,1-t));for(var Q=0;Q";var R=!j?"":'";for(t=0;t<7;t++){var I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&ro;R+='";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+""}g++;if(g>11){g=0;m++}y+="
            '+this._get(a,"weekHeader")+"
            '+this._get(a,"calculateWeek")(r)+""+(F&&!D?" ":L?''+ +r.getDate()+"":''+r.getDate()+"")+"
            "+(l?""+(i[0]>0&&G==i[1]-1?'
            ':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
            ',o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&&l)?" ":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var s=(new Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b, +e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
            ";return k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+ +(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input? +a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c, +e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a, +"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return this; +if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return this.each(function(){typeof a== +"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new M;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
            ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggle(a>this.min).toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.16"})})(jQuery); +;/* + * jQuery UI Effects 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function m(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return n.transparent;return n[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return m(b)}function o(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function p(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function l(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", +"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=m(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var n={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, +0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, +211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},q=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, +d){if(f.isFunction(b)){d=b;b=null}return this.queue(function(){var e=f(this),g=e.attr("style")||" ",h=p(o.call(this)),r,v=e.attr("class");f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});r=p(o.call(this));e.attr("class",v);e.animate(u(h,r),{queue:false,duration:a,easing:b,complete:function(){f.each(q,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments);f.dequeue(this)}})})}; +f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this, +[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.16",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}), +d=document.activeElement;c.wrap(b);if(c[0]===d||f.contains(c[0],d))f(d).focus();b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(e,g){a[g]=c.css(g);if(isNaN(parseInt(a[g],10)))a[g]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){var a,b=document.activeElement; +if(c.parent().is(".ui-effects-wrapper")){a=c.parent().replaceWith(c);if(c[0]===b||f.contains(c[0],b))f(b).focus();return a}return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)}); +return d.call(this,b)},_show:f.fn.show,show:function(c){if(l(c))return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(l(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(l(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this, +arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/ +2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b, +d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c, +a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b, +d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], +10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.16 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/src/html/js/networkDiscovery.js b/src/html/js/networkDiscovery.js new file mode 100644 index 0000000..2200d82 --- /dev/null +++ b/src/html/js/networkDiscovery.js @@ -0,0 +1,198 @@ +var updateTips = function ( t ) { + $( ".validateTips" ) + .text( t ) + .addClass( "ui-state-highlight" ); + setTimeout( + function() { + $( ".validateTips" ).removeClass( "ui-state-highlight", 1500 ); + }, + 500 ); +}; + +var checkLength = function ( o, n, min, max ) { + if ( o.val().length > max || o.val().length < min ) { + o.addClass( "ui-state-error" ); + updateTips( "Length of " + n + " must be between " + + min + " and " + max + "." ); + return false; + } else { + return true; + } +}; + +var checkRegexp = function ( o, regexp, n ) { + if ( !( regexp.test( o.val() ) ) ) { + o.addClass( "ui-state-error" ); + updateTips( n ); + return false; + } else { + return true; + } +}; + +var showLog = function (t) { + $("#nd_show_log_msg").val(t); + $("#nd_show_log_msg").attr('readonly','readonly'); + $("#nd_show_log_dialog").dialog( + { minWidth: 450, + modal: true, + resizable: false, + draggable: false + }); +}; + +var ip4_manualConfigurationDialog = function () { + var jsonArr = fbgui.getManualConfInterfaces(); + //jsonArr = eval('(' + jsonArr + ')'); + var c = ""; + $("#nd_mc_ifname").html(c); + + var ifname = $("#nd_mc_ifname_select :selected").text(), + ipaddr = $("#ipaddr"), + netmask = $("#netmask"), + broadcast = $("#broadcast"), + gateway = $("#gateway"), + dns = $("#dns"), + allFields = $([]).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); + + + $("#nd_manual_configuration_dialog").dialog( + { buttons: { "Cancel": function() { + $(this).dialog("close");}, + "Ok": function() { + var bValid = true; + allFields.removeClass("ui-state-error"); + + bValid = bValid && checkLength(ipaddr, "IP-Address", 7, 15); + bValid = bValid && checkLength(netmask, "Netmask Address", 7, 15); + bValid = bValid && checkLength(broadcast, "Broadcast Address", 7, 15); + bValid = bValid && checkLength(gateway, "Gateway Address", 7, 15); + bValid = bValid && checkLength(dns, "DNS Address", 7, 15); + + bValid = bValid && checkRegexp(ipaddr, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.2 (max value is 255)"); + bValid = bValid && checkRegexp(netmask, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 255.255.255.0 (max value is 255)"); + bValid = bValid && checkRegexp(broadcast, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.255 (max value is 255)"); + bValid = bValid && checkRegexp(gateway, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.254 (max value is 255)"); + bValid = bValid && checkRegexp(dns, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.111 (max value is 255)"); + + if (bValid) { + // put variables into a json object + // send to qt networkdiscovery + var o = {"ifname" : ifname, + "ipaddr" : ipaddr.val(), + "netmask" : netmask.val(), + "broadcast" : broadcast.val(), + "gateway" : gateway.val(), + "dns" : dns.val() } + try { + fbgui.ip4_setManualConfiguration(o); + } catch (e) { + fbgui.notifyCall(e); + } + $(this).dialog("close"); + } } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + close: function() {allFields.val("").removeClass("ui-state-error");}, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +}; + +var abortBootDialog = function (m) { + fbgui.notifyCall("abortBootDialog"); + $("#nd_abort_boot_msg").html(m); + $("#nd_abort_boot_dialog").dialog( + { buttons: { "Manual Configure": function() { + ip4_manualConfigurationDialog();}, + "Show Log": function() { + var text = fbgui.readLogFile(); + showLog(text); + $(this).dialog("close");}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +}; + +var chooseInterfaceDialog = function (i) { + var cb = ""+ + ""; + + $("#nd_choose_interface_msg").html(cb); + $("#nd_choose_interface_dialog").dialog( + { buttons: { "Manual Configure": function() { + ip4_manualConfigurationDialog();}, + "Show Log": function() { + var text = fbgui.readLogFile(); + showLog(text);}, + "Restart": function() {fbgui.restartSystem(); + $(this).dialog("close"); }, + "Shut Down": function() { fbgui.shutDownSystem(); + $(this).dialog("close"); }, + "Continue": function() { + var ifName = $("#nd_ifName_select :selected").text(); + fbgui.continueBoot(ifName,1); + $(this).dialog("close"); + } + } , + minWidth: 550, + modal: true, + resizable: false, + draggable: false, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); +} + +var updateStatus = function (s){ + +}; + +var updateIfProgressBar = function (i, p){ + if (p >= 0 && p <= 100){ + $("#"+i+"_progress").progressbar({ value: p }); + }else{ + $("#"+i+"_progress").progressbar({ value: 0 }); + } +}; + +var updateIfStatus = function(i, s){ + $("#"+i+"_status").html(s); +}; + +var addInterface = function (i){ + $("#nd_progress_container").append( + "
            "+ + " Interface: " +i+ + " Start DHCP " + + "
            "+ + "
            " + ); + $("#"+i+"_progress").progressbar({ value: 33 }); +}; + + diff --git a/src/html/networkdiscovery_userchoice.html b/src/html/networkdiscovery_userchoice.html new file mode 100644 index 0000000..9cf165f --- /dev/null +++ b/src/html/networkdiscovery_userchoice.html @@ -0,0 +1,22 @@ + + + + + + + + + + + +
            +

            Network Discovery

            +
            +
            +

            Please press F5 if you want to choose which interface to use.

            +
            +
            +

            RZ Uni Freiburg, 2011

            +
            + + diff --git a/src/interfaceconfiguration.cpp b/src/interfaceconfiguration.cpp new file mode 100644 index 0000000..e1eb1d8 --- /dev/null +++ b/src/interfaceconfiguration.cpp @@ -0,0 +1,134 @@ +/* + * interfaceconfiguration.cpp + * + * Created on: Sep 2, 2011 + * Author: niklas + */ +#include "interfaceconfiguration.h" + +interfaceconfiguration::interfaceconfiguration() { + _tag = "[nd:InterfaceConfiguration]"; +} + +interfaceconfiguration::~interfaceconfiguration() { + // TODO Auto-generated destructor stub +} + +/** + * This method reads the configuration values out of a file. + * + * This method reads the configuration values out of a file. + * The file has to be created before by the customdhcpcd QProcess. + * (Overwrites the old values if they are already present.) + * + * @param pathToConfig + * contains the path to the configuration file. + */ +bool interfaceconfiguration::readConfigOutOfFile(QString pathToConfig) { + QFile file(pathToConfig); + if (file.exists()) { + if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { + qDebug() << _tag << "couldn't open file:" << pathToConfig; + return false; + } + qDebug() << _tag << "read config file"; + while (!file.atEnd()) { + QString line(file.readLine()); + QStringList splitedLine = line.split("="); + QString name = splitedLine.first().trimmed(); + splitedLine.removeFirst(); + QString values = splitedLine.first().trimmed(); + values.remove(QChar('\'')); + + if (name.compare("IPADDR") == 0) { + this->ipAddress = values; + } else if (name.compare("NETMASK") == 0) { + this->netmask = values; + } else if (name.compare("NETWORK") == 0) { + this->network = values; + } else if (name.compare("BROADCAST") == 0) { + this->broadcast = values; + } else if (name.compare("ROUTES") == 0) { + this->routes = values; + } else if (name.compare("GATEWAYS") == 0) { + this->gateways = values; + this->gateway = this->gateways.split(" ").first().trimmed(); + } else if (name.compare("HOSTNAME") == 0) { + this->hostname = values; + } else if (name.compare("DNSSEARCH") == 0) { + this->dnssearch = values; + } else if (name.compare("DNSSERVERS") == 0) { + this->dnsservers = values; + } else if (name.compare("DHCPSID") == 0) { + this->dhcpsid = values; + } else if (name.compare("INTERFACE") == 0) { + this->interface = values; + } else if (name.compare("CLIENTID") == 0) { + this->clientid = values; + } else if (name.compare("DHCPCHADDR") == 0) { + this->dhcpchaddr = values; + } else { + qDebug() << _tag << "read unknown name" << name << values; + } + } + } else { + qDebug() << _tag << "file doesn't exist:" << pathToConfig; + return false; + } + return true; +} + +QString interfaceconfiguration::getBroadcast() { + return broadcast; +} + +QString interfaceconfiguration::getClientid() { + return clientid; +} + +QString interfaceconfiguration::getDhcpchaddr() { + return dhcpchaddr; +} + +QString interfaceconfiguration::getDhcpsid() { + return dhcpsid; +} +QString interfaceconfiguration::getDnssearch() { + return dnssearch; +} + +QString interfaceconfiguration::getDnsservers() { + return dnsservers; +} + +QString interfaceconfiguration::getGateways() { + return gateways; +} + +QString interfaceconfiguration::getGateway() { + return gateway; +} + +QString interfaceconfiguration::getHostname() { + return hostname; +} + +QString interfaceconfiguration::getInterface() { + return interface; +} + +QString interfaceconfiguration::getIpAddress() { + return ipAddress; +} + +QString interfaceconfiguration::getNetmask() { + return netmask; +} + +QString interfaceconfiguration::getNetwork() { + return network; +} + +QString interfaceconfiguration::getRoutes() { + return routes; +} diff --git a/src/interfaceconfiguration.h b/src/interfaceconfiguration.h new file mode 100644 index 0000000..2656b3f --- /dev/null +++ b/src/interfaceconfiguration.h @@ -0,0 +1,58 @@ +/* + * interfaceconfiguration.h + * + * Created on: Sep 2, 2011 + * Author: niklas + */ + +#ifndef INTERFACECONFIGURATION_H_ +#define INTERFACECONFIGURATION_H_ + +#include + +class interfaceconfiguration: public QObject { +Q_OBJECT + +public: + interfaceconfiguration(); + interfaceconfiguration(const interfaceconfiguration &other); + + interfaceconfiguration &operator=(const interfaceconfiguration &other); + virtual ~interfaceconfiguration(); + + bool readConfigOutOfFile(QString pathToConfig); + QString getBroadcast(); + QString getClientid(); + QString getDhcpchaddr(); + QString getDhcpsid(); + QString getDnssearch(); + QString getDnsservers(); + QString getGateways(); + QString getGateway(); + QString getHostname(); + QString getInterface(); + QString getIpAddress(); + QString getNetmask(); + QString getNetwork(); + QString getRoutes(); + +private: + QString _tag; + + QString ipAddress; + QString netmask; + QString network; + QString broadcast; + QString routes; + QString gateway; + QString gateways; + QString hostname; + QString dnssearch; + QString dnsservers; + QString dhcpsid; + QString interface; + QString clientid; + QString dhcpchaddr; +}; + +#endif /* INTERFACECONFIGURATION_H_ */ diff --git a/src/ndgui.cpp b/src/ndgui.cpp new file mode 100644 index 0000000..80a64bc --- /dev/null +++ b/src/ndgui.cpp @@ -0,0 +1,370 @@ +#include "ndgui.h" + +ndgui::ndgui(QMainWindow *parent) : + QMainWindow(parent) { + + _tag = "[nd:ndgui]"; + + _started = false; + _userChoice = false; + + createAction(); + + connect(&networkDiscovery, SIGNAL(addInterface(const QString &)), this, SLOT(addInterface( const QString &))); + connect(&networkDiscovery, SIGNAL(changeProgressBarValue(const QString & , const int& )), this, SLOT(updateIfProgressBar(const QString & , const int&))); + connect(&networkDiscovery, SIGNAL(connectionEstablished(QString)), this, SLOT(handleConnectionEstablished(QString))); + connect(&networkDiscovery, SIGNAL(abortBoot(QString)), this, SLOT(abortBoot(const QString))); + connect(&networkDiscovery, SIGNAL(updateStatusLabel(QString,QString)), this, SLOT(updateIfStatus(const QString &, const QString &))); + connect(&networkDiscovery, SIGNAL(allProcessesFinished()), this, SLOT(handleAllProcessesFinished())); + connect(&networkDiscovery, SIGNAL(continueBoot(QString, int)), this, SLOT(continueBoot(QString, int))); + + _webView = new QWebView(this); + connect(_webView->page()->mainFrame(), SIGNAL( + javaScriptWindowObjectCleared()), this, SLOT(attachToDOM())); + setCentralWidget(_webView); + setWindowTitle(tr("NetD")); + setAttribute(Qt::WA_QuitOnClose, true); + setWindowFlags(Qt::FramelessWindowHint); + + _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); + _webView->show(); + + QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); + +} + + + +ndgui::~ndgui() { + +} + + + +/** + * creates an action which you can trigger with the F5 Button during the first + * seconds. + */ +void ndgui::createAction() { + _allowUserChoice = new QAction(tr("&quit"), this); + _allowUserChoice->setShortcut(QKeySequence(Qt::Key_F5)); + connect(_allowUserChoice, SIGNAL(triggered()), this, SLOT(setUserChoiceTrue())); + this->addAction(_allowUserChoice); +} + + + +/** + * is the connected to the triggered action pressing the F5 button. + * set the _userChoice member true + */ +void ndgui::setUserChoiceTrue() { + _userChoice = true; +} + + + +/** + * is connected to the singleShot event. Triggering this method means + * that we go on with the main NetworkDiscovery screen. + * connects the loadFinished signal of the _webView with the + * startNetworkDiscovery slot and removes the + * action. + */ +void ndgui::prepareNetworkDiscover() { + connect(_webView, SIGNAL(loadFinished(bool)), this, + SLOT(startNetworkDiscovery())); + this->removeAction(_allowUserChoice); + + _webView->load(QUrl("qrc:html/networkdiscovery.html")); + _webView->show(); +} + + + +/** + * main starting point of the whole procedure. + * disconnect the loadFinished signal with the startNetworkDiscovery + * and starts the networkDiscovery. + */ +void ndgui::startNetworkDiscovery(){ + + disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); + if(!_started) { + _started = true; + networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom"); + } + else { + qDebug() << _tag << "NetworkDiscovery already started"; + } +} + + + +/** + * if we have a user choice (_userChoice = true) than networkDiscovery will + * emit connectionEstablished signals. + * Add the interface name to a _ifNameList. This list holds all interfaces + * the user can choose out of. + */ +void ndgui::handleConnectionEstablished(QString ifName) { + _ifNameList.append(ifName); +} + + + +/** + * if we have a user choice (_userChoice = true) than networkDiscovery will + * emit a allProcessesFinished signal if all processes are done. + * This method determines if user will see an abort boot dialog (no interface names in + * the ifNameList list) or an + * choose interface dialog (one or more interface names in the list (add with + * handleConnectionEstablished)). + */ +void ndgui::handleAllProcessesFinished() { + qDebug() << _tag << "all Processes finished"; + if(_ifNameList.size() > 0) { + QString jsonArr = "["; + for(int i = 0; i < _ifNameList.size()-1; i++) { + jsonArr += "\"" + _ifNameList.value(i) + "\","; + } + jsonArr += "\"" + _ifNameList.last() + "\"]"; + chooseInterfaceDialog(jsonArr); + } else { + abortBoot("No usable interfaces found!"); + } +} + + + +/** + * this method will restart the system. + * triggered through a button click in the gui. + */ +void ndgui::restartSystem() { + QFile file("/proc/sysrq-trigger"); + if (file.open(QIODevice::WriteOnly)) { + file.write("b"); + file.close(); + } else { + qxtLog->debug() << _tag << "Could not open /proc/sysrq-trigger"; + } +} + + + +/** + * this method will restart the system. + * triggered through a button click in the gui. + */ +void ndgui::shutDownSystem() { + QFile file("/proc/sysrq-trigger"); + if (file.open(QIODevice::WriteOnly)) { + file.write("o"); + file.close(); + } else { + qxtLog->debug() << _tag << "Could not open /proc/sysrq-trigger"; + } +} + + + +/** + * represents the end of the NetworkDiscovery life time. + * will start the fbgui screen. All networkDiscovery signals + * will be ignored after this point. + */ +void ndgui::continueBoot(QString ifName, int userChoice) { + if (!userChoice) { + QString text = "continue with interface: " + ifName; + qDebug() << _tag << text << "no user choice"; + } else { + QString text = "continue with interface: " + ifName; + qDebug() << _tag << text << "with user choice"; + QString gateway = networkDiscovery.getGatewayForInterface(ifName); + networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); + } + //_webView->load(QUrl("qrc:html/continueBoot.html")); + emit initFbgui(); + this->hide(); +} + + + +/** + * read the log file. Log File will be presented inside of a dialog. + */ +QString ndgui::readLogFile() { + qDebug() << _tag << "show log"; + return networkDiscovery.readLogFile(); +} + + + +/*test html gui version*/ + +/** + * fills the drop down box of the manual interface configuration + * dialog. + */ +QVariantList ndgui::getManualConfInterfaces() { + qDebug() << _tag << "call getManualConfInterfaces"; + QVariantList jsonArr; + foreach (QString s, _manConfList) { + QVariant e(s); + jsonArr << e; + } + qDebug() << _tag << "value of jsonArr:" << jsonArr; + return jsonArr; +} + + + +/** + * takes the entered manual configuration dates and delivers it + * to the networkDiscovery for further actions. + */ +int ndgui::ip4_setManualConfiguration(QVariantMap jsonArr) { + return networkDiscovery.ip4_setManualConfiguration(jsonArr); + +} + + + +/* slots */ +/************************************************/ +////////////////////////////////////////////////// +/************************************************/ + +/** + * stellt ein ndgui/fbgui Objekt zur verwendung durch die html bereit. + */ +void ndgui::attachToDOM(){ + _webView->page()->mainFrame()->addToJavaScriptWindowObject(QString("fbgui"), this); + loadJQuery(); +} + + + +void ndgui::loadJQuery() { + QString js; + QString pathToJsDir(":/html"); + pathToJsDir.append("/js"); + + QDir qrcJSDir(pathToJsDir); + QFileInfoList fiList = qrcJSDir.entryInfoList(); + QFileInfo fi; + foreach(fi, fiList) + { + if (fi.suffix() == "js") { + //qDebug()<< fi.fileName(); + //qxtLog->debug() << fi.fileName(); + //if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { + QFile file; + file.setFileName(pathToJsDir + "/" + fi.fileName()); + file.open(QIODevice::ReadOnly); + js = file.readAll(); + file.close(); + + _webView->page()->mainFrame()->evaluateJavaScript(js); + //qxtLog->debug() << "evaluated " + fi.fileName(); + //} + } + } +} + + + +//diese methoden müssen später in die javascriptInterface Klasse eingefügt werden. + +// dieser code muss später in die javascriptInterface klasse der fbgui eingefügt werden +// tausche dazu ndgui zu javascriptinterface +// und _webView->page()->mainFrame() zu _parent + +void ndgui::abortBoot(const QString msg) { + QString code = QString("abortBootDialog('\%1')").arg(msg); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +/** + * opens ths chooseInterfaceDialog + */ +void ndgui::chooseInterfaceDialog(const QString msg) { + QString code = QString("chooseInterfaceDialog(\%1)").arg(msg); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +/** + * updates the over all status + */ +void ndgui::updateStatus(const QString &status) { + if (status == "") + return; + QString code = QString("updateStatus('\%1')").arg(status); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +/** + * updates the progress bar for each interface. + * + * @param ifname + * the name ot the interface to update + * + * @param percent + * the progress in percent + */ +void ndgui::updateIfProgressBar(const QString &ifName, const int& percent) { + if (percent == 0) + return; + QString code = QString("updateIfProgressBar('\%1',\%2)").arg(ifName).arg(percent); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +/** + * update the status for each interface + * + * @param ifName + * the name ot the interface to update + * + * @param status + * the new status of the interface. + */ +void ndgui::updateIfStatus(const QString &ifName, const QString &status) { + if (ifName == "") + return; + QString code = QString("updateIfStatus('\%1','\%2')").arg(ifName).arg(status); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +/** + * adds an interface to the DOM tree. Creates its progress bar and it's status label. + * + * @param ifName + * name of the new interface. + */ +void ndgui::addInterface(const QString &ifName) { + if (ifName == "") + return; + _manConfList.append(ifName); + QString code = QString("addInterface('\%1')").arg(ifName); + _webView->page()->mainFrame()->evaluateJavaScript(code); +} + + + +/** + * just for debugging. + */ +void ndgui::notifyCall(QString msg){ + qDebug() << _tag << "------ called:" << msg; +} diff --git a/src/ndgui.h b/src/ndgui.h new file mode 100644 index 0000000..eb30d7a --- /dev/null +++ b/src/ndgui.h @@ -0,0 +1,75 @@ +#ifndef NDGUI_H +#define NDGUI_H + +#include +#include +#include + +#include "loggerengine.h" +#include "networkdiscovery.h" + +class ndgui: public QMainWindow { +Q_OBJECT + +public: + ndgui(QMainWindow *parent = 0); + ~ndgui(); + Q_INVOKABLE QVariantList getManualConfInterfaces(); + Q_INVOKABLE int ip4_setManualConfiguration(QVariantMap result); + Q_INVOKABLE QString readLogFile(); + +public slots: + void handleConnectionEstablished(QString ifName); + void abortBoot(QString msg); + void chooseInterfaceDialog(QString msg); + void handleAllProcessesFinished(); + + void restartSystem(); + void shutDownSystem(); + void continueBoot(QString ifName, int userChoice); + + + void prepareNetworkDiscover(); + void startNetworkDiscovery(); + + /*test for html gui version*/ + void attachToDOM(); + void loadJQuery(); + void addInterface(const QString &ifName); + void updateIfStatus(const QString &ifName, const QString &status); + void updateStatus(const QString &status); + void updateIfProgressBar(const QString &ifName, const int& percent); + void notifyCall(QString msg); + + signals: + void initFbgui(); + +private slots: + void setUserChoiceTrue(); + +private: + + QString _tag; + + void createAction(); + + bool _userChoice; + + bool _started; + + QWebView * _webView; + + QAction * _allowUserChoice; + + NetworkDiscovery networkDiscovery; + + QList _ifNameList; // maps interfaceName to its gateway + + QList _manConfList; + + QString _manualConfInterfaces; + + +}; + +#endif // NDGUI_H diff --git a/src/networkdiscovery.cpp b/src/networkdiscovery.cpp new file mode 100644 index 0000000..da2cb1d --- /dev/null +++ b/src/networkdiscovery.cpp @@ -0,0 +1,781 @@ +#include "networkdiscovery.h" + +#include "../common/fbgui.h" + + +/** + * constructor + */ +NetworkDiscovery::NetworkDiscovery(QObject *parent) { + _tag = "[nd:NetworkDiscovery]"; + _server = new QLocalServer(this); +} + + + +/** + * destructor + */ +NetworkDiscovery::~NetworkDiscovery() { + +} + + + +/** + * initialize all important class members and start the main work. + * + * @param serverIp + * the ip of the server with which we are testing the connectivity. + * + * @param userChoice + * true if the user wishes to have a user choice. true: the chooseInterfaceDialog will be showed. + * + * @param autoUp + * true if we want to "auto Up" all down interfaces. + * + * @param pathToLogFile + * the path to the log file. + * + * @param serverPath + * the path to the server socket (default value: DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default") + * + * @param pathToExe + * the path to the customdhcpcd exe. (default value: #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default") + * + * @param args + * additional arguments for the customdhcpcd client. (default value: NULL) + */ +void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath, QString pathToExe, + QStringList* args) { + + _serverIp = serverIp; + _userChoice = userChoice; + _autoUp = autoUp; + _pathToLogFile = pathToLogFile; + + _pathToDhcpcdExe = pathToExe; + _blocked = false; + _numberOfProcesses = 0; + _ifUpCountdown = 10; + + if (serverPath != DEFAULT_QTSOCKETADDRESS) { + _dhcpcdArguments.append("-q"); + _dhcpcdArguments.append(serverPath); + } + /* delete the file at serverPath. this is necessary since in case the application crashes, the file still + * exists which leads to an error. + */ + + if(QFile::exists(serverPath)) { + QFile::remove(serverPath); + } + + if (!_server->listen(serverPath)) { + // emit signal to the gui that a critial error occoured + qDebug() << _tag << "Unable to start server: " + << _server->errorString(); + emit + abortBoot("Unable to start server: " + _server->errorString()); + return; + } + + // check if the path to the customdhcpcd file is correct + QFileInfo fInfo(_pathToDhcpcdExe); + if (!fInfo.exists()) { + qDebug() << _tag + << "could not find customdhcpcd exe. Please check the path to this file."; + emit abortBoot( + "could not find customdhcpcd exe. Please check the path to this file."); + return; + } + + connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); + + if (args != NULL && !args->isEmpty()) { + qDebug() << _tag << "added additional args"; + _dhcpcdArguments.append(*args); + } + + // start the main work: + if (_autoUp) { + getListOfNetworkInterfacesWithAutoUp(); + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); + _timer->start(1000); + + } else { + getListOfNetworkInterfaces(); + emit readyForRun(); + } +} + + + +/** + * emits the addInterface signal for each interface name in _ifUpList + * and calls the runDHCPCD method. + * if the _ifUpList is empty, this method emits an abortBoot signal. + * connected to the readyForRun signal. + */ +void NetworkDiscovery::slotReadyForRun() { + if (_ifUpList.size() > 0) { + foreach(QString i, _ifUpList) { + emit addInterface(i); + } + _numberOfProcesses = _ifUpList.size(); + runDHCPCD( _ifUpList); + } else { + qDebug() << _tag << "list is empty. Have not found usable interface."; + emit + abortBoot("Have not found usable interface"); + return; + } +} + + + +/** + * only called if autoUp == true. + * check the IsRunning flag of each interface in the _ifDownList. + * connected to the timeout signal of the timer. + */ +void NetworkDiscovery::checkForIsRunning() { + bool isRunning = false; + QList copyOfIfDownList(_ifDownList); + foreach(QString i, _ifDownList) { + QNetworkInterface networkInterface = QNetworkInterface::interfaceFromName(i); + isRunning = (networkInterface.flags() & QNetworkInterface::IsRunning); + if (isRunning) { + _ifUpList.append(i); + _ifDownList.removeAt(_ifDownList.indexOf(i)); + } + } + _ifUpCountdown--; + if ((_ifUpCountdown <= 0 ) || _ifDownList.isEmpty()) { + // shut down timer + _timer->stop(); + emit readyForRun(); + } +} + + + +/** + * replace the default route. sets af automatically to AF_INET + * + * @param ifName + * interface name + * + * @param gateway + * gateway address + * + * @param mss + * mss value (i think this is the metric. in most cases this value is 0) + */ +int NetworkDiscovery::ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss) { + return _networkManager.replaceDefaultRoute(ifName, gateway, mss, AF_INET); +} + + + +/** + * replace the dhcp configuration with the manual config, entered by the user. + * if we can not establish a connection with the entered values, reset to the old + * dhcp values. + * + * @param result + * a json object formated string. + * + * @return + * 0 if everything ok + */ +int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { + QList dns; + dns.append(result["dns"].toString()); + _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + result["ipaddr"].toString(), + result["netmask"].toString(), + result["broadcast"].toString(), + result["gateway"].toString(), + 0, + AF_INET, + "/etc/", + dns); + + qDebug() << _tag << "set man conf. and check connectivity"; + + if (!checkConnectivityViaTcp(_serverIp)) { + qDebug() << _tag << "no connectivity. reset conf."; + interfaceconfiguration * ifc = _ifcMap.value(result["ifname"].toString(), NULL); + if(ifc != NULL) { + dns.clear(); + dns = ifc->getDnsservers().trimmed().split(" "); + _networkManager.ip4_setManualConfiguration(result["ifname"].toString(), + ifc->getIpAddress(), + ifc->getNetmask(), + ifc->getBroadcast(), + ifc->getGateway(), + 0, + AF_INET, + "/etc/", + dns); + } + + return 0; + } + emit continueBoot(result["ifname"].toString(), 0); + return 0; +} + + + +/** + * returns the gateway address, written into the dhcp config file. + * + * @param ifName + * name of the interface. + * + * @return + * gateway address as string. + */ +QString NetworkDiscovery::getGatewayForInterface(QString ifName) { + interfaceconfiguration * ifConf = _ifcMap.value(ifName); + return ifConf->getGateway(); +} + + + +/** + * reads the log file. + * + * @return the log file as one string. + */ +QString NetworkDiscovery::readLogFile() { + // path to log file is in _pathToLogFile. initialized in initAndRun(). + QString retval("the log file"); + QFile logFile(_pathToLogFile); + if (logFile.exists()) { + if (logFile.open(QIODevice::ReadOnly | QIODevice::Text)) { + while (!logFile.atEnd()) { + retval.append(logFile.readLine()); + } + return retval; + } + } + +} + + + +/** + * ================================================================================ + ********************************* Private Methods ******************************** + * ================================================================================ + **/ + + + +/** + * searches for usable interfaces and puts them into a list. + * if the interface is down, put it in the _ifDownList, try to bring it up. + * else put it in the _ifUpList. + * usable interfaces are: can Broadcast, no loopback, no point to point, name is not in the BlackList, + */ +void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { + QList nIList = QNetworkInterface::allInterfaces(); + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || checkBlackList(nI.humanReadableName())) { + continue; + } + if ((nI.flags() & QNetworkInterface::IsRunning)) { + _ifUpList.append(nI.humanReadableName()); + } + else if (!(nI.flags() & QNetworkInterface::IsUp)) { + _networkManager.bringInterfaceUP(nI.humanReadableName()); + qDebug() << _tag << " bring up .."; + _ifDownList.append(nI.humanReadableName()); + } + } + } else { + qDebug() << _tag << "no interfaces found!"; + } +} + + + +/** + * searches for usable interfaces which are up and running and put them into a list. + * usable interfaces are: can Broadcast, no loopback, no point to point, name is not in the BlackList, + */ +void NetworkDiscovery::getListOfNetworkInterfaces() { + QList nIList = QNetworkInterface::allInterfaces(); + + if (nIList.size() > 0) { + foreach(QNetworkInterface nI, nIList) + { + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) + || nI.flags() & QNetworkInterface::IsLoopBack) + || nI.flags() & QNetworkInterface::IsPointToPoint) + || !(nI.flags() & QNetworkInterface::IsUp) + || !(nI.flags() & QNetworkInterface::IsRunning) + || checkBlackList(nI.humanReadableName())) { + continue; + } + _ifUpList.append(nI.humanReadableName()); + } + } else { + qDebug() << _tag << "no interfaces found!"; + } +} + + + +/** + * not used so far. checks the carrier state using the sysfs library. + * if carrier = 1 ==> the interface is running. + * interfaces have to be up in order to get right results. + * + * @param interface + * name of the interface + */ +bool NetworkDiscovery::checkCarrierState(QString interface) { + + qDebug() << _tag << "check carrier state for interface " << interface; + QByteArray ba = interface.toAscii(); + const char * iface = ba.data(); + + struct sysfs_class_device *class_device = sysfs_open_class_device("net", + iface); + struct dlist *attrlist = sysfs_get_classdev_attributes(class_device); + if (attrlist != NULL) { + struct sysfs_attribute *attr = NULL; + dlist_for_each_data(attrlist, attr, struct sysfs_attribute) { + if (strcmp("carrier", attr->name) == 0) { + QString value(attr->value); + bool ok = false; + bool * pok = &ok; + int v = value.toInt(pok); + if (*pok) { + if (v == 1) { + qDebug() + << "carrier is 1. Cable is plugged. return true"; + return true; + } else { + qDebug() + << "carrier is 0. Cable is unplugged. return false"; + return false; + } + } else { + qDebug() << _tag << "conversion error"; + } + } + } + } else { + qDebug() << _tag << "attrlist is Null"; + } + sysfs_close_class_device(class_device); + + return true; +} + + + +/** + * call for every interface in the list the runDHCPCD method. + * + * @param interfaces + * list of interface names. + */ +void NetworkDiscovery::runDHCPCD(QList &interfaces) { + foreach(QString nI, interfaces) + { + runDHCPCD(nI); + } +} + + + +/** + * start a cdhcpcd process with the interface name as last argument. + * + * @param interface + * name of an interface. + */ +void NetworkDiscovery::runDHCPCD(QString interface) { + emit updateStatusLabel(interface, "start DHCP"); + _dhcpcdArguments.append(interface); + QProcess * p = new QProcess(this); + + qDebug() << _tag << _dhcpcdArguments; + + _clientProcessToIfNameMap.insert(p, interface); + p->start(_pathToDhcpcdExe, _dhcpcdArguments); + connect(p, SIGNAL(started()), this, SLOT(handleProcessStarted())); + connect(p, SIGNAL(finished(int, QProcess::ExitStatus)), this, + SLOT(handleProcessFinished(int, QProcess::ExitStatus))); + _dhcpcdArguments.removeLast(); +} + + + +/** + * checks the connectivity. tries to open a TCP connection to the + * server (see _serverIp). For this it adjusts the routing table. + * (sets the gateway of the interface as default gateway) + * Gateway is written into the dhcpcd config file of this interface. + * (see DEFAULT_INTERFACE_CONF_LOCATION "/var/tmp/conf_") + * + * @param ifName + * name of a interface. + * + * @return + * true: connection is possible + * false: connection not possible + */ +bool NetworkDiscovery::checkConnectivity(QString ifName) { + int mss = 0; + + // get gateway address + QString pathToGatewayFile(DEFAULT_INTERFACE_CONF_LOCATION); + pathToGatewayFile += ifName; + interfaceconfiguration *ifConf = new interfaceconfiguration(); + ifConf->readConfigOutOfFile(pathToGatewayFile); + _ifcMap.insert(ifName, ifConf); + + // replace default route + qDebug() << _tag << "replace default route"; + _networkManager.replaceDefaultRoute(ifName, + ifConf->getGateway(), mss, AF_INET); + + if (checkConnectivityViaTcp(_serverIp)) { + qDebug() << _tag << "internet: check passed! for interface" << ifName; + emit + updateStatusLabel(ifName, "connection possible"); + if (!_userChoice) { + // blockiere jeden weiteren check + // emite continueBoot + _blocked = true; + emit continueBoot(ifName, 0); + } else { + emit connectionEstablished(ifName); + } + return true; + } else { + qDebug() << _tag << "no internet connection with interface" << ifName; + emit + updateStatusLabel(ifName, "connection not possible"); + return false; + } +} + + + +/** + * try to open a tcp connection to the server + * + * @param server + * a ip address. + * + * @return + * true: connection is possible + * false: connection not possible + */ +bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { + // check connectivity via tcp connection + QTcpSocket *tcpSocket = new QTcpSocket(this); + tcpSocket->connectToHost(server, 80); + if (!tcpSocket->waitForConnected(500)) { + qDebug() << _tag << tcpSocket->errorString(); + return false; + } else { + return true; + } +} + + + +/** + * connected to the new client arrived signal. + * connects the client readyRead signal with the handleNewInput slot. + */ +void NetworkDiscovery::handleNewConnection() { + qDebug() << _tag << "New Connection arrived"; + + /*QLocalSocket **/ + _client = _server ->nextPendingConnection(); + _clients.insert(_client, _client); + connect(_client, SIGNAL(disconnected()), this, + SLOT(handleClientDisconnect())); + connect(_client, SIGNAL(readyRead()), this, SLOT(handleNewInput())); +} + + + +/** + * called when a client disconnects. + */ +void NetworkDiscovery::handleClientDisconnect() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = _clients.value(socket); + + qDebug() << _tag << "disconnect client"; + handleNewInput(client); + client->deleteLater(); +} + + + +/** + * same function as handleNewInput() but with a client as parameter. + * + * @param cleint + * a client + */ +void NetworkDiscovery::handleNewInput(QLocalSocket * client) { + qDebug() << _tag << "last read before exit"; + while (client->canReadLine()) { + QString data(client->readLine()); + + data = data.trimmed(); + qDebug() << _tag << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } + } +} + + + +/** + * This method is connected to the readyRead Signal of the QLocalSocket + * client. + * send an ACK to the client with every received message. + */ +void NetworkDiscovery::handleNewInput() { + QLocalSocket* socket = qobject_cast (QObject::sender()); + + QLocalSocket * client = _clients.value(socket); + QString data(client->read(DHCP_MESSAGE_SIZE)); + client->write("ACK", ACK_SIZE); + client->waitForBytesWritten(); + data = data.trimmed(); + //qDebug() << _tag << data; + QStringList lines = data.split("\n"); + + for (int i = 0; i < lines.length(); i++) { + handleNewInputLine(client, lines.at(i)); + } +} + + + +/** + * This Method processes the send messages. + * + * This Method processes the send messages. It splits the line + * into several components. Those components are: + * interface: interface name ==> indicates the process who send the message + * s_state: is the number representation of syslog.h LOG levels + * s_subState: is the number representation of the dhcp.c DHCP states (1 - 8) plus + * the status. h states (9 - ..) + * msg: is a message which can contain additional informations + * + * According to the s_state and s_subState we emit the changeProgressBarValue() signal + * with different values. + * + * @param client + * the client who send the message + * + * @param data + * the message. (format ;;; ) + */ +void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { + + QString logMsg(data); + QString interface = logMsg.section(";", 0, 0); + QString s_state = logMsg.section(";", 1, 1); + QString s_subState = logMsg.section(";", 2, 2); + QString msg = logMsg.section(";", 3, 3); + int st = s_state.trimmed().toInt(); + int sst = s_subState.trimmed().toInt(); + //qDebug() << _tag << logMsg; + + if (_ifNameToClient.size() < _numberOfProcesses && !_ifNameToClient.contains( + interface)) { + _ifNameToClient.insert(interface, client); + } + + switch (st) { + case LOG_INFO: + switch (sst) { + case DHCP_DISCOVER: + emit changeProgressBarValue(interface, 10); + break; + case DHCP_OFFER: + emit changeProgressBarValue(interface, 20); + break; + case DHCP_REQUEST: + emit changeProgressBarValue(interface, 30); + break; + case DHCP_ACK: + emit changeProgressBarValue(interface, 40); + break; + case DHCP_NAK: + emit changeProgressBarValue(interface, 40); + break; + case DHCPCD_ARP_TEST: + emit changeProgressBarValue(interface, 50); + break; + case DHCP_DECLINE: + emit changeProgressBarValue(interface, 60); + break; + case DHCP_RELEASE: + + break; + case DHCP_INFORM: + break; + case DHCPCD_CONFIGURE: + emit changeProgressBarValue(interface, 70); + break; + case DHCPCD_WRITE: + emit changeProgressBarValue(interface, 80); + break; + case DHCPCD_EXIT: + emit changeProgressBarValue(interface, 100); + break; + case DHCPCD_LOG: + + default: + break; + } + break; + case LOG_ERR: + qDebug() << _tag << "received error:" << msg; + break; + default: + //qDebug() << _tag << logMsg; + break; + } +} + + + +/** + * This Method is called when a process is finished. + * + * This Method is called when a process is finished. This slot is connected + * with the signal finished() of the QProcess class. + * If the process finishes, it will be checked if the process exited normal + * or if an unexpected error occurred. For this, we determine the sender (which is a + * QProcess), get the corresponding interface (which is stored in a map), and check + * the exitCode. Further actions are taken according to the exitCode check. + * Normal exit: + * emit changeProgressBar() to 100% + * emit updateStatusLabel() to check connection + * checkConnectivity() @see NetworkDiscovery::checkConnectivity() + * Unexpected exit: + * emit updateStatusLabel() to process exited unexpected + * TODO:: the reason for the unexpected exit should be presented in the logfile. + * + * @param exitCode + * + * @param exitStatus + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see NetworkDiscovery::getListOfNetworkInterfaces() + */ +void NetworkDiscovery::handleProcessFinished(int exitCode, + QProcess::ExitStatus exitStatus) { + + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we already found a usable interface + if (ifName.compare("ifName") == 0) { + qDebug() << _tag << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; + } else { + qDebug() << _tag << "process for interface" << ifName << "finished" + << exitCode << exitStatus; + if (exitCode > 0) { + qDebug() << _tag << "process exited unexpected"; + emit updateStatusLabel(ifName, "process exited unexpected"); + } else { + qDebug() << _tag << "process normal exit"; + emit changeProgressBarValue(ifName, 100); + emit updateStatusLabel(ifName, "check connectivity"); + checkConnectivity(ifName); + } + } + if (!_blocked) { //_blocked becomes true, if _userChoice is false and we found a usable interface + QLocalSocket *client = _ifNameToClient.value(ifName, 0); + if (client != 0) { + handleNewInput(client); + } + _numberOfProcesses = _numberOfProcesses - 1; + if (_numberOfProcesses <= 0 && _userChoice) { + emit allProcessesFinished(); + } + } + } else { + qDebug() << _tag << "already blocked"; + emit updateStatusLabel(ifName, "finished DHCP"); + } +} + + + +/** + * This Method is called when a process is started. + * + * This Method is called when a process is started. + * It prints the message: "process started for interface: ". + */ +void NetworkDiscovery::handleProcessStarted() { + QProcess* p = qobject_cast (QObject::sender()); + QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); + qDebug() << _tag << "process started for interface:" << ifName; +} + + + +/** + * This Method implements a blacklist. + * + * This Method implements a blacklist. We check the fist character + * of the interface name. if this letter is in the list, we return true. + * True means, that this interface won't be put into the result list of + * getListOfNetworkInterfaces(). + * + * @param i + * is a interface name. + * + * @return bool + * returns true: if the interface name i starts with a letter in the blacklist. + * + * returns false: else + * + * @see NetworkDiscovery::getListOfNetworkInterfaces() + */ +bool NetworkDiscovery::checkBlackList(QString i) { + if (i.startsWith("v", Qt::CaseInsensitive)) { + return true; + } else if (i.startsWith("d", Qt::CaseInsensitive)) { + return true; + } else { + return false; + } +} diff --git a/src/networkdiscovery.h b/src/networkdiscovery.h new file mode 100644 index 0000000..49ac731 --- /dev/null +++ b/src/networkdiscovery.h @@ -0,0 +1,110 @@ +#ifndef NetworkDiscovery_H +#define NetworkDiscovery_H + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "loggerengine.h" +#include "interfaceconfiguration.h" +#include "networkmanager.h" + +#include "../common/fbgui.h" + +#include "dhcp.h" + + +#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" +#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" + +class NetworkDiscovery: public QObject { +Q_OBJECT + +public: + NetworkDiscovery(QObject *parent=0); + ~NetworkDiscovery(); + + void initAndRun(QString serverIp, bool userChoice, + bool autoUp, + QString pathToLogFile, + QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + QString getGatewayForInterface(QString ifName); + + int ip4_setManualConfiguration(QVariantMap result); + QString readLogFile(); + +private slots: + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket * client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + + void slotReadyForRun(); + + void checkForIsRunning(); + + +signals: + void addInterface(const QString &ifName); + void changeProgressBarValue(const QString & ifName, const int $newValue); + void connectionEstablished(QString ifName); + void abortBoot(QString msg); + void updateStatusLabel(QString ifName, QString status); + void allProcessesFinished(); + void continueBoot(QString ifName, int userChoice); + void setManualConfInterfaces(QString jsonArr); + + void readyForRun(); + +private: + QString _tag; + QLocalServer *_server; + QMap _clients; + QLocalSocket * _client; + QMap _ifNameToClient; + QMap _clientProcessToIfNameMap; + QString _pathToDhcpcdExe; + QStringList _dhcpcdArguments; + int _numberOfProcesses; + NetworkManager _networkManager; + bool _userChoice; + bool _blocked; + bool _autoUp; + QString _serverIp; + QString _pathToLogFile; + QList _ifUpList; + QList _ifDownList; + int _ifUpCountdown; + QTimer* _timer; + + QMap _ifcMap; + + void handleNewInput(QLocalSocket * client); + + void runDHCPCD(QList &interfaces); + void runDHCPCD(QString interface); + + bool checkCarrierState(QString interface); + bool checkConnectivity(QString ifName); + bool checkConnectivityViaTcp(QString server); + bool checkBlackList(QString i); + + void getListOfNetworkInterfaces(); + void getListOfNetworkInterfacesWithAutoUp(); + + +}; + +#endif // NetworkDiscovery_H diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp new file mode 100644 index 0000000..da5f045 --- /dev/null +++ b/src/networkmanager.cpp @@ -0,0 +1,497 @@ +/* + * networkmanager.cpp + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#include "networkmanager.h" + +NetworkManager::NetworkManager() { + // TODO Auto-generated constructor stub + _tag = "[nd:NetworkManager]"; +} + + + +NetworkManager::~NetworkManager() { + // TODO Auto-generated destructor stub +} + + + +/** + * This method adds /replaces the default route. + * This method adds /replaces the default route. + * To keep it modular, it is possible + * to specify an ip address family. + * + * @param ifName + * the interface name + * + * @param gateway + * the gateway address (e.g: 192.168.0.254) + * @param mss + * the mss. + * @param af + * specify the family type of the ip address. + * possible values are: AF_INET for an IPv4 address + * AF_INET6 for an IPv6 address + * + + * @return + * return -1 if an error happened. + * return 0 if everything was ok. + */ +int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, + int mss, int af) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct nl_addr * gw; + struct rtnl_route * route; + int retval, iface_idx; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + QByteArray ba_gw = gateway.toAscii(); + char * gwaddr = ba_gw.data(); + + qDebug() << _tag << "---doRoute() gwaddr" << gwaddr; + + if (!(gw = nl_addr_parse(gwaddr, af))) { + qDebug() << _tag << "Invalid router address given:" << gwaddr; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc \n"; + } + + iface_idx = rtnl_link_name2i(cache, ifn); + + route = rtnl_route_alloc(); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + rtnl_route_set_gateway(route, gw); + rtnl_route_set_oif(route, iface_idx); + + if (mss > 0) { + rtnl_route_set_metric(route, RTAX_ADVMSS, mss); + } + + retval = rtnl_route_add(rtsock, route, NLM_F_REPLACE); + qDebug() << _tag << "return value:" << retval << ":" << strerror(-retval); + + rtnl_route_put(route); + nl_addr_put(gw); + nl_handle_destroy(rtsock); + + return retval; +} + + + +/** + * The method brings an interface up. + * + * @param ifname + * the name of the interface + * + * @return + * 0 -> success + * -1 -> error + */ +int NetworkManager::bringInterfaceUP(QString ifname) { + return bringInterfaceUpDown(ifname, true); +} + + + +/** + * The method brings an interface down. + * + * @param ifname + * the name of the interface + * + * @return + * 0 -> success + * -1 -> error + */ +int NetworkManager::bringInterfaceDown(QString ifname) { + return bringInterfaceUpDown(ifname, false); +} + + + +/** + * This method brings an interface up or down. + * + * @param ifname + * is a string which contains the interface name which is going down or up. + * + * @param up + * is a bool. true means. we bring the interface up. + * false meand. we bring the interface down. + * @return + * 0 if everything is ok + * else an error + */ +int NetworkManager::bringInterfaceUpDown(QString ifname, bool up) { + struct nl_cache *cache; + struct nl_handle* rtsock; + struct rtnl_link* request = NULL; + struct rtnl_link* old = NULL; + int retval; + + QByteArray ba_ifn = ifname.toAscii(); + char * ifn = ba_ifn.data(); + + if (!(request = rtnl_link_alloc())) { + qDebug() << _tag << "error. couldn't allocate a rtnl link"; + return -1; + } + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if (up) { + rtnl_link_set_flags(request, IFF_UP); + } else { + rtnl_link_unset_flags(request, IFF_UP); + } + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc "; + } + + old = rtnl_link_get_by_name(cache, ifn); + if (old) { + qDebug() << _tag << "change link"; + retval = rtnl_link_change(rtsock, old, request, 0); + } else { + qDebug() << _tag << "change failed"; + retval = -1; + qDebug() << _tag << "return value:" << retval << ":" << strerror(-retval); + } + + rtnl_link_put(old); + rtnl_link_put(request); + nl_handle_destroy(rtsock); + + return retval; +} + + + +/** + * This method is used when the manual configuration is needed. + * + * This method is used when the manual configuration is needed. + * First we bring up the interface. Than we configure the interface with + * our manual entered configuration dates. + * After that we replace the old default route with the new and + * write a resolv.conf. + * + * @param ifname + * name of the interface which we are about to configure. + * + * @param ipAddress + * the new IP-Address. + * + * @param netmask + * the netmask of the IP-Address. + * + * @param broadcast + * the broadcast address. + * @param gateway + * the gateway address. + * @param metric + * do not exactly know why we need this. in most cases this should be 0. + * @param af + * the address type. Either AF_INET for IPv4 or AF_INET6 for IPv6. + * @param pathToResolvConf + * the path to the resolf.conf file. in most cases "/etc/". + * @param nameServer + * the name server addresses. + */ +int NetworkManager::ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, + QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer) { + + //bring the interface up + bringInterfaceUP(ifname); + //set configuration + ip4_configureInterface(ifname, ipAddress, broadcast, netmask,af); + //set default route + replaceDefaultRoute(ifname, gateway, metric, af); + //write resolv.conf + writeResolvConf(pathToResolvConf, ifname, nameServer); + return 0; +} + + + +int NetworkManager::ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af) { + + struct nl_cache *cache; + struct nl_handle* rtsock; + struct nl_addr * local; + struct rtnl_addr * addr = NULL; + int retval = 0; + int iface_idx, err, prefixLength; + + QByteArray ba_ifn = ifname.trimmed().toAscii(); + char * ifn = ba_ifn.data(); + + QByteArray ba_ip = ipAddress.trimmed().toAscii(); + char * ipaddr = ba_ip.data(); + + QByteArray ba_bc = broadcast.trimmed().toAscii(); + char * bcaddr = ba_bc.data(); + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc"; + return -1; + } + + iface_idx = rtnl_link_name2i(cache, ifn); + + if (!(addr = rtnl_addr_alloc())) { + qDebug() << _tag << "error with addr alloc"; + return -1; + } + + local = nl_addr_parse(ipaddr, af); + err = rtnl_addr_set_local(addr, local); + nl_addr_put(local); + if (err != 0) { + qDebug() << _tag << "error with set local addr"; + } + + prefixLength = ip4_netmaskToPrefix(ipAddress,netmask); + qDebug() << _tag << "prefix length:" << prefixLength; + rtnl_addr_set_prefixlen(addr, prefixLength); + + local = nl_addr_parse(bcaddr, af); + err = rtnl_addr_set_broadcast(addr, local); + nl_addr_put(local); + if (err != 0) { + qDebug() << _tag << "error with set broadcast addr"; + } + + rtnl_addr_set_ifindex(addr, iface_idx); + + + retval = sync_address(ifn, iface_idx, af, addr); + if(retval < 0) { + qDebug() << _tag << "error in sync_address"; + } + rtnl_addr_put(addr); + + return retval; +} + + + +/** + * This Method returns the length of the IP-Address netmask prefix. + * + * @param ipAddr + * the IP-address + * + * @param netmask + * the netmask of the IP-address. + * @return + * the length of the IP-Address netmask prefix + */ +int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { + int retval = -1; + QNetworkAddressEntry nae; + + if (netmask == "") { + qDebug() << _tag << "error: netmask is empty"; + return retval; + } + nae.setIp(QHostAddress(ipAddr)); + nae.setNetmask(QHostAddress(netmask.trimmed())); + retval = nae.prefixLength(); + + return retval; +} + + + +/** + * delete all addresses of this interface but not the one we just set + * + * @return + * -1 if something went wrong. else 0 + */ +int NetworkManager::sync_address(const char *iface, int ifindex, int family, + struct rtnl_addr *addr) { + + struct nl_handle *nlh; + struct nl_cache *addr_cache; + struct rtnl_addr *filter_addr, *match_addr; + struct nl_object *match; + struct nl_addr *nladdr; + int err; + char buf[INET6_ADDRSTRLEN + 1]; + + nlh = nl_handle_alloc(); + nl_connect(nlh, NETLINK_ROUTE); + + if (!nlh) + return -1; + + addr_cache = rtnl_addr_alloc_cache(nlh); + + if (!addr_cache) + return -1; + + filter_addr = rtnl_addr_alloc(); + if (!filter_addr) { + nl_cache_free(addr_cache); + return -1; + } + rtnl_addr_set_ifindex(filter_addr, ifindex); + if (family) + rtnl_addr_set_family(filter_addr, family); + + //nm_log_dbg (log_domain, "(%s): syncing addresses (family %d)", iface, family); + + /* Walk through the cache, comparing the addresses already on + * the interface to the addresses in addrs. + */ + for (match = nl_cache_get_first(addr_cache); match; match + = nl_cache_get_next(match)) { + int buf_valid = -1; + match_addr = (struct rtnl_addr *) match; + + /* Skip addresses not on our interface */ + if (!nl_object_match_filter(match, (struct nl_object *) filter_addr)) + continue; + + if (addr) { + if (addr && nl_object_identical(match, (struct nl_object *) addr)) { + continue; + } + } + + nladdr = rtnl_addr_get_local(match_addr); + + /* Don't delete IPv6 link-local addresses; they don't belong to NM */ + if (rtnl_addr_get_family(match_addr) == AF_INET6) { + struct in6_addr *tmp; + + if (rtnl_addr_get_scope(match_addr) == RT_SCOPE_LINK) { + //nm_log_dbg (log_domain, "(%s): ignoring IPv6 link-local address", iface); + continue; + } + + tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET6, tmp, buf, sizeof(buf))) + buf_valid = 0; + } else if (rtnl_addr_get_family(match_addr) == AF_INET) { + struct in_addr *tmp; + + tmp = (in_addr *) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET, tmp, buf, sizeof(buf))) + buf_valid = 0; + } + + if (buf_valid == 0) { + //nm_log_dbg (log_domain, "(%s): removing address '%s/%d'", + // iface, buf, nl_addr_get_prefixlen (nladdr)); + } + + /* Otherwise, match_addr should be removed from the interface. */ + err = rtnl_addr_delete(nlh, match_addr, 0); + if (err < 0) { + //nm_log_err (log_domain, "(%s): error %d returned from rtnl_addr_delete(): %s", + // iface, err, nl_geterror ()); + qDebug() << _tag << "error with delete addr"; + } + } + + rtnl_addr_put(filter_addr); + nl_cache_free(addr_cache); + + /* Now add the remaining new addresses */ + if (!addr) + return -1; + + struct in6_addr *in6tmp; + struct in_addr *in4tmp; + int buf_valid = -1; + + nladdr = rtnl_addr_get_local(addr); + if (rtnl_addr_get_family(addr) == AF_INET6) { + in6tmp = (in6_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET6, in6tmp, buf, sizeof(buf))) + buf_valid = 0; + } else if (rtnl_addr_get_family(addr) == AF_INET) { + in4tmp = (in_addr*) nl_addr_get_binary_addr(nladdr); + if (inet_ntop(AF_INET, in4tmp, buf, sizeof(buf))) + buf_valid = 0; + } + + if (buf_valid == 0) { + //nm_log_dbg (log_domain, "(%s): adding address '%s/%d'", + //iface, buf, nl_addr_get_prefixlen (nladdr)); + qDebug() << _tag << "buf valid adding addr"; + } + + err = rtnl_addr_add(nlh, addr, 0); + if (err < 0) { + //nm_log_err (log_domain, + // "(%s): error %d returned from rtnl_addr_add():\n%s", + // iface, err, nl_geterror ()); + qDebug() << _tag << "error with add addr"<< strerror(-err); + } + + rtnl_addr_put(addr); + + return err; +} + + + +/** + * This method writes a resolv.conf file. + * + * @param path + * path to the resolv.conf file. (in most cases: /etc/) + * @param ifname + * name of the interface + * @param + * addresses of the nameserver + * + * @return + * return 0 if success + * else -1 + */ +int NetworkManager::writeResolvConf(QString path, QString ifname, QList nameServer){ + + QFile file(path + "resolv.conf"); + if(!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + qDebug() << _tag << "error couldn't open file:" << path; + return -1; + } + QTextStream out(&file); + out << "# Generated by networkdiscovery manual configuration for interface " + ifname +"\n"; + foreach(QString ns, nameServer ) { + out << "nameserver " + ns +"\n"; + } + + file.close(); + + return 0; +} + diff --git a/src/networkmanager.h b/src/networkmanager.h new file mode 100644 index 0000000..3fb1587 --- /dev/null +++ b/src/networkmanager.h @@ -0,0 +1,54 @@ +/* + * networkmanager.h + * + * Created on: Sep 5, 2011 + * Author: niklas + */ + +#ifndef NETWORKMANAGER_H_ +#define NETWORKMANAGER_H_ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +class NetworkManager: public QObject { +Q_OBJECT + +public: + NetworkManager(); + virtual ~NetworkManager(); + + int replaceDefaultRoute(QString ifname, QString gateway, int metric, + int af); + + int bringInterfaceUP(QString ifname); + int bringInterfaceDown(QString ifname); + + int ip4_setManualConfiguration(QString ifname, QString ipAddress, QString netmask, + QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer); + int ip4_configureInterface(QString ifname, QString ipAddress, + QString broadcast, QString netmask, int af); + int writeResolvConf(QString path, QString ifname, QList nameServer); + +private: + QString _tag; + int bringInterfaceUpDown(QString ifname, bool up); + int ip4_netmaskToPrefix(QString ipAddr, QString netmask); + + int sync_address(const char *iface, int ifindex, int family, + struct rtnl_addr *addr); + + +}; + +#endif /* NETWORKMANAGER_H_ */ -- cgit v1.2.3-55-g7522 From c131ea55120adc0efe6d3b8f84f142a9e4cabf67 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 10 Oct 2011 17:26:17 +0200 Subject: added new files --- CMakeLists.txt | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ README | 8 ++++++- build-pkg.sh | 4 ++-- build.sh | 32 ++++++++++++++++++++++++-- lib/libcustomdhcpcd.so | Bin 0 -> 81333 bytes testApp.sh | 36 +++++++++++++++++++++++++++++ 6 files changed, 135 insertions(+), 5 deletions(-) create mode 100644 CMakeLists.txt mode change 100644 => 100755 build.sh create mode 100755 lib/libcustomdhcpcd.so create mode 100755 testApp.sh diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f4a0c1f --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 2.8) + +project(fbgui) + +set(QT_MIN_VERSION "4.7.0") +find_package(Qt4 REQUIRED) +if (QT4_FOUND) + message(STATUS "QT4 found.") +else(QT4_FOUND) + message(FATAL_ERROR "QT4 not found!") +endif(QT4_FOUND) + +#find_package(Qxt REQUIRED) + +set(QT_USE_QTNETWORK TRUE) +set(QT_USE_QTWEBKIT TRUE) + +file(GLOB FBGUI_SOURCES src/*.cpp) +file(GLOB FBGUI_MOC_HEADERS src/*.h) +file(GLOB FBGUI_UIS src/*.ui) +file(GLOB FBGUI_RCS src/*.qrc) + +include_directories(${CMAKE_CURRENT_BINARY_DIR} + /usr/include/ + /usr/include/netlink/ + /usr/include/netlink/route/ + ./customdhcpcd/src/ + ./common/ + ./build + ${QT_INCLUDES} + /usr/local/Qxt/include/QxtCore + /usr/include/sysfs + /usr/include/libusb-1.0) + +include(${QT_USE_FILE}) +add_definitions(${QT_DEFINITIONS}) + +link_directories(/usr/local/Qxt/lib /usr/lib + /home/niklas/workspace/fbgui-ng/lib) + +#add_library( +# /usr/local/Qxt/lib/libQxtCore.so +# /usr/lib/libqjson.so +# /usr/lib/libusb-1.0.a +# ) + +QT4_ADD_RESOURCES(FBGUI_RC_SOURCES ${FBGUI_RCS}) +QT4_WRAP_UI(FBGUI_UI_HEADERS ${FBGUI_UIS}) +QT4_WRAP_CPP(FBGUI_MOC_SOURCES ${FBGUI_MOC_HEADERS}) + +add_executable(fbgui + ${QT_INCLUDES} + ${FBGUI_SOURCES} + ${FBGUI_MOC_SOURCES} + ${FBGUI_UI_HEADERS} + ${FBGUI_RC_SOURCES}) + +target_link_libraries(fbgui + ${QT_LIBRARIES} + QxtCore qjson sysfs usb-1.0 customdhcpcd nl) diff --git a/README b/README index 8c226d1..9cf6ab1 100644 --- a/README +++ b/README @@ -17,7 +17,13 @@ What does this do excatly? (Note: The website content is crucial to the successfull execution of this program!) How to build/use it? - Simply run ./build.sh to create a package of fbgui (including all the required libs). + + First compile the source code using: + ./build.sh + + To build the package first compile then use: + ./build.pkg.sh + To integrate into a Preboot-Media, follow instructions on the wiki. Dependancies: diff --git a/build-pkg.sh b/build-pkg.sh index f3f3c36..4e7a77b 100755 --- a/build-pkg.sh +++ b/build-pkg.sh @@ -12,13 +12,13 @@ mkdir -p pkg cd pkg mkdir -p bin -cp ../src/fbgui bin +cp ../build/fbgui bin mkdir -p usr/local/Trolltech/${QT_VERSION}/lib cp -r /usr/local/Trolltech/${QT_VERSION}/lib/fonts \ usr/local/Trolltech/${QT_VERSION}/lib/ -for SHARED_LIBRARY in `ldd ../src/fbgui | awk '{print $3}' |grep ^/` +for SHARED_LIBRARY in `ldd ../build/fbgui | awk '{print $3}' |grep ^/` do #echo "$SHARED_LIBRARY" DIR=`dirname $SHARED_LIBRARY | cut -c2-` diff --git a/build.sh b/build.sh old mode 100644 new mode 100755 index 4ed283b..0d6f4eb --- a/build.sh +++ b/build.sh @@ -1,2 +1,30 @@ -#!/bin/bash -# TODO auto-compiler with cmake +#!/bin/sh +# fbsplash builder script for cmake +DIR=$(pwd) +BUILDDIR=build + +# if --clean, remove build dir +if [ "$1" = "--clean" ] +then + rm -rf $BUILDDIR + echo "$BUILDDIR removed." +fi + +if [ ! -f CMakeLists.txt ] +then + echo "No CMakeLists.txt found." + echo "Run this script from the folder containing CMakeLists.txt." + exit 1 +fi + +# make build dir if its not there +[ ! -d $BUILDDIR ] && mkdir -p $BUILDDIR + +cd $BUILDDIR +# use cmake to create Makefile +echo "Invoking cmake ..." +cmake "$DIR" +echo "Invoking make ..." +make + +cd $DIR diff --git a/lib/libcustomdhcpcd.so b/lib/libcustomdhcpcd.so new file mode 100755 index 0000000..b4894ce Binary files /dev/null and b/lib/libcustomdhcpcd.so differ diff --git a/testApp.sh b/testApp.sh new file mode 100755 index 0000000..054169d --- /dev/null +++ b/testApp.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# Script now simply passes all arguments to the fbgui call. +# Use: ./testApp.sh [OPTIONS] +# OPTIONS: +# -h, --help prints help +# -D , --debug= sets debug level [0,1] +# -u , --url= sets URL to load +# -d , --download= sets download directory +# -c , --config= sets path to config file +# -t , --trigger= sets path to file triggering URL load +# -s , --serial= sets path to serial number file +# +# Note: all path are expected to be absolute. +QT_VERSION=Qt-4.7.2 + +# clean /tmp/fbgui +rm -rf /tmp/fbgui +rm /tmp/fbgui_trigger + +# path to script (including script name) +script_path="$(cd "${0%/*}" 2>/dev/null; echo "$PWD"/"${0##*/}")" + +# to get the path only: use dirname which strips the filename from a path +working_path=`dirname "$script_path"` + +# construct unique display_id based on user, needed for multi-user qvfb usage +display_id=$(grep -n $(whoami) /etc/passwd| head -n 1|awk -F : '{print $1}') + +# Start QT's virtual framebuffer with proper display_id +/usr/local/Trolltech/$QT_VERSION/bin/qvfb -width 1024 -height 768 -qwsdisplay :$display_id & +# quick sleep to wait for qvfb loading +sleep 0.2 +# Start fbgui connecting to QVFb with display_id from above. +$working_path/build/fbgui -display QVFb:$display_id $@ +# kill qvfb since fbgui stopped +killall qvfb -- cgit v1.2.3-55-g7522 From 91f8c9826f7c67c4e8e92d6f6460aa58622f2ee5 Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 12 Oct 2011 17:05:12 +0200 Subject: small changes in the networkmanager. added some ipv6 methods for adding a route and a address to an interface --- NetworkDiscovery/networkmanager.cpp | 179 ++++++++++++++++++++++++++++++++++++ NetworkDiscovery/networkmanager.h | 11 +++ 2 files changed, 190 insertions(+) diff --git a/NetworkDiscovery/networkmanager.cpp b/NetworkDiscovery/networkmanager.cpp index da5f045..c40c83d 100644 --- a/NetworkDiscovery/networkmanager.cpp +++ b/NetworkDiscovery/networkmanager.cpp @@ -94,6 +94,108 @@ int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, +/**/ +int NetworkManager::ip6_addRoute(const char *iface, + const struct in6_addr *ip6_dest, int ip6_prefix, + const struct in6_addr *ip6_gateway, int metric, int mss) { + struct nl_cache *cache; + struct nl_handle *nlh; + struct rtnl_route *route; + struct nl_addr *dest_addr; + struct nl_addr *gw_addr = NULL; + int err, iface_idx; + + nlh = nl_handle_alloc(); + nl_connect(nlh, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(nlh)) == NULL) { + //qDebug() << _tag << "error with link cache alloc \n"; + printf("error with link cache alloc \n"); + } + + iface_idx = rtnl_link_name2i(cache, iface); + + route = rtnl_route_alloc(); + + /* Destination */ + dest_addr = nl_addr_build(AF_INET6, (struct in6_addr *) ip6_dest, + sizeof(*ip6_dest)); + nl_addr_set_prefixlen(dest_addr, (int) ip6_prefix); + + rtnl_route_set_dst(route, dest_addr); + nl_addr_put(dest_addr); + + /* Gateway */ + if (ip6_gateway && !IN6_IS_ADDR_UNSPECIFIED (ip6_gateway)) { + gw_addr = nl_addr_build(AF_INET6, (struct in6_addr *) ip6_gateway, + sizeof(*ip6_gateway)); + if (gw_addr) { + rtnl_route_set_gateway(route, gw_addr); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + } else { + rtnl_route_put(route); + return -1; + } + } + + /* Metric */ + if (metric) + rtnl_route_set_prio(route, metric); + + /* Add the route */ + err = rtnl_route_add(nlh, route, 0); + if (err == -ESRCH && ip6_gateway) { + /* Gateway might be over a bridge; try adding a route to gateway first */ + struct rtnl_route *route2; + + route2 = create_route(iface_idx, mss); + if (route2) { + /* Add route to gateway over bridge */ + rtnl_route_set_dst(route2, gw_addr); + err = rtnl_route_add(nlh, route2, 0); + if (!err) { + /* Try adding the route again */ + err = rtnl_route_add(nlh, route, 0); + if (err) + rtnl_route_del(nlh, route2, 0); + } + rtnl_route_put(route2); + } + } + + if (gw_addr) + nl_addr_put(gw_addr); + + if (err) { + //nm_warning ("Failed to set IPv6 route on '%s': %s", iface, nl_geterror ()); + rtnl_route_put(route); + route = NULL; + } + + return 0; +} + + + +struct rtnl_route * NetworkManager::create_route (int iface_idx, int mss) +{ + struct rtnl_route *route; + + route = rtnl_route_alloc (); + if (route) { + rtnl_route_set_oif (route, iface_idx); + + if (mss && rtnl_route_set_metric (route, RTAX_ADVMSS, mss) < 0) { + //nm_warning ("Could not set mss"); + } + } else + //nm_warning ("Could not allocate route"); + + return route; +} + + + /** * The method brings an interface up. * @@ -327,6 +429,83 @@ int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { +int NetworkManager::ip6_addAddress(struct ip6_addr* ip6Addr, const char *iface) { + int num_addrs, i, iface_idx; + struct rtnl_addr* addr = NULL; + struct nl_cache *cache; + struct nl_handle* rtsock; + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc"; + return -1; + } + + iface_idx = rtnl_link_name2i(cache, iface); + + addr = ip6AddrToRtnlAddr(ip6Addr); + if (!addr) { + //nm_warning("couldn't create rtnl address!\n"); + return -1; + } + rtnl_addr_set_ifindex(addr, iface_idx); + + return sync_address(iface, iface_idx, AF_INET6, addr); +} + + + +/**/ +struct rtnl_addr* NetworkManager::ip6AddrToRtnlAddr(struct ip6_addr* ip6Addr) { + struct rtnl_addr *addr; + bool success = true; + + if (!(addr = rtnl_addr_alloc())) + return NULL; + + success = (nlAddrToRtnlAddr(ip6Addr, addr) >= 0); + + if (!success) { + rtnl_addr_put(addr); + addr = NULL; + } + + return addr; +} + + + +/**/ +struct nl_addr* NetworkManager::ip6AddrToNlAddr(const struct ip6_addr *ip6Addr) { + struct nl_addr * nla = NULL; + + if (!(nla = nl_addr_alloc(sizeof(struct in6_addr)))) + return NULL; + nl_addr_set_family(nla, AF_INET6); + nl_addr_set_binary_addr(nla, (struct in6_addr *) ip6Addr, sizeof(struct in6_addr)); + + return nla; +} + + + +/**/ +int NetworkManager::nlAddrToRtnlAddr( + const struct ip6_addr* ip6Addr, struct rtnl_addr* addr) { + struct nl_addr * local = NULL; + int err = 0; + + local = ip6AddrToNlAddr(ip6Addr); + err = rtnl_addr_set_local(addr, local); + nl_addr_put(local); + + return -err; +} + + + /** * delete all addresses of this interface but not the one we just set * diff --git a/NetworkDiscovery/networkmanager.h b/NetworkDiscovery/networkmanager.h index 3fb1587..f332f9e 100644 --- a/NetworkDiscovery/networkmanager.h +++ b/NetworkDiscovery/networkmanager.h @@ -38,6 +38,12 @@ public: QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer); int ip4_configureInterface(QString ifname, QString ipAddress, QString broadcast, QString netmask, int af); + + int ip6_addRoute(const char *iface, + const struct in6_addr *ip6_dest, int ip6_prefix, + const struct in6_addr *ip6_gateway, int metric, int mss); + int ip6_addAddress(struct ip6_addr* ip6Addr, const char *iface); + int writeResolvConf(QString path, QString ifname, QList nameServer); private: @@ -48,6 +54,11 @@ private: int sync_address(const char *iface, int ifindex, int family, struct rtnl_addr *addr); + struct rtnl_route* create_route (int iface_idx, int mss); + struct nl_addr* ip6AddrToNlAddr (const struct ip6_addr* ip6Addr); + int nlAddrToRtnlAddr (const struct ip6_addr* ip6Addr, struct rtnl_addr* addr); + struct rtnl_addr* ip6AddrToRtnlAddr(struct ip6_addr* ip6Addr); + }; -- cgit v1.2.3-55-g7522 From 54e31640362a7a995dd49f100eee9550d745e58f Mon Sep 17 00:00:00 2001 From: Niklas Date: Wed, 19 Oct 2011 17:00:58 +0200 Subject: put the NetworkDiscovery code into the src folder of the fbgui. made some test, building a usb stick iso and running it on a maschine. did some bug fixes --- CMakeLists.txt | 2 +- NetworkDiscovery/CMakeLists.txt | 2 + NetworkDiscovery/html/js/networkDiscovery.js | 16 ++- NetworkDiscovery/html/networkdiscovery.html | 2 +- NetworkDiscovery/ndgui.cpp | 36 ++++- NetworkDiscovery/ndgui.h | 5 +- NetworkDiscovery/networkdiscovery.cpp | 156 ++++++++++++++------- NetworkDiscovery/networkdiscovery.h | 88 ++++++------ .../Debug/UnixDomainSocketServer | Bin 54133 -> 54333 bytes customdhcpcd/src/dhcpcd.c | 3 +- customdhcpcd/src/logger.c | 86 +++++++----- customdhcpcd/src/logwriter.c | 9 +- src/fbgui.pro | 20 ++- src/html/js/networkDiscovery.js | 19 ++- src/html/networkdiscovery.css | 3 +- src/html/networkdiscovery.html | 8 +- src/main.cpp | 7 +- src/ndgui.cpp | 35 +++-- src/ndgui.h | 1 + src/networkdiscovery.cpp | 135 ++++++++++++------ src/networkdiscovery.h | 4 +- 21 files changed, 413 insertions(+), 224 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f4a0c1f..78176a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,7 +36,7 @@ include(${QT_USE_FILE}) add_definitions(${QT_DEFINITIONS}) link_directories(/usr/local/Qxt/lib /usr/lib - /home/niklas/workspace/fbgui-ng/lib) + /usr/local/lib) #add_library( # /usr/local/Qxt/lib/libQxtCore.so diff --git a/NetworkDiscovery/CMakeLists.txt b/NetworkDiscovery/CMakeLists.txt index a802c86..78af80b 100644 --- a/NetworkDiscovery/CMakeLists.txt +++ b/NetworkDiscovery/CMakeLists.txt @@ -3,6 +3,8 @@ cmake_minimum_required(VERSION 2.8) project(NetworkDiscovery) set(QT_MIN_VERSION "4.7.0") +#set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") + find_package(Qt4 REQUIRED) if (QT4_FOUND) message(STATUS "QT4 found.") diff --git a/NetworkDiscovery/html/js/networkDiscovery.js b/NetworkDiscovery/html/js/networkDiscovery.js index 2200d82..3fcde38 100644 --- a/NetworkDiscovery/html/js/networkDiscovery.js +++ b/NetworkDiscovery/html/js/networkDiscovery.js @@ -31,10 +31,11 @@ var checkRegexp = function ( o, regexp, n ) { }; var showLog = function (t) { - $("#nd_show_log_msg").val(t); - $("#nd_show_log_msg").attr('readonly','readonly'); + $("#nd_show_log_msg").html(t); + //$("#nd_show_log_msg").val(t); + //$("#nd_show_log_msg").attr('readonly','readonly'); $("#nd_show_log_dialog").dialog( - { minWidth: 450, + { minWidth: 600, modal: true, resizable: false, draggable: false @@ -123,9 +124,11 @@ var abortBootDialog = function (m) { "Restart": function() {fbgui.restartSystem(); $(this).dialog("close"); }, "Shut Down": function() { fbgui.shutDownSystem(); - $(this).dialog("close"); } + $(this).dialog("close"); }, + "Try Again": function() {fbgui.tryAgain(); + $(this).dialog("close"); } } , - minWidth: 450, + minWidth: 600, modal: true, resizable: false, draggable: false, @@ -137,6 +140,7 @@ var chooseInterfaceDialog = function (i) { var cb = ""+ " +
            
                          
                         
                         
            diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp index c1da989..87fda02 100644 --- a/NetworkDiscovery/ndgui.cpp +++ b/NetworkDiscovery/ndgui.cpp @@ -7,6 +7,7 @@ ndgui::ndgui(QMainWindow *parent) : _started = false; _userChoice = false; + _tryAgain = false; createAction(); @@ -91,8 +92,15 @@ void ndgui::startNetworkDiscovery(){ disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); if(!_started) { - _started = true; - networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom"); + if (!_tryAgain) { + _started = true; + QStringList l; + l << "-d"; + networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom", DEFAULT_PATHTODHCPCDEXE, &l); + } else { + _tryAgain = false; + networkDiscovery.tryAgain(); + } } else { qDebug() << _tag << "NetworkDiscovery already started"; @@ -172,7 +180,11 @@ void ndgui::continueBoot(QString ifName, int userChoice) { QString gateway = networkDiscovery.getGatewayForInterface(ifName); networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); } - _webView->load(QUrl("qrc:html/continueBoot.html")); + if (networkDiscovery.checkConnectivityViaTcp()) { + _webView->load(QUrl("qrc:html/continueBoot.html")); + } else { + abortBoot("Interface was suddenly made unusable "); + } } @@ -181,12 +193,28 @@ void ndgui::continueBoot(QString ifName, int userChoice) { * read the log file. Log File will be presented inside of a dialog. */ QString ndgui::readLogFile() { - qDebug() << _tag << "show log"; + qDebug() << _tag << " show log "; return networkDiscovery.readLogFile(); } +/**/ +void ndgui::tryAgain() { + qDebug() << _tag << " try again "; + _tryAgain = true; + _started = false; + _ifNameList.clear(); + _manConfList.clear(); + createAction(); + _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); + _webView->show(); + + QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); +} + + + /*test html gui version*/ /** diff --git a/NetworkDiscovery/ndgui.h b/NetworkDiscovery/ndgui.h index a3d40cc..6235e84 100644 --- a/NetworkDiscovery/ndgui.h +++ b/NetworkDiscovery/ndgui.h @@ -26,6 +26,7 @@ public slots: void restartSystem(); void shutDownSystem(); void continueBoot(QString ifName, int userChoice); + void tryAgain(); void prepareNetworkDiscover(); @@ -53,6 +54,8 @@ private: bool _started; + bool _tryAgain; + QWebView * _webView; QAction * _allowUserChoice; @@ -63,8 +66,6 @@ private: QList _manConfList; - QString _manualConfInterfaces; - }; diff --git a/NetworkDiscovery/networkdiscovery.cpp b/NetworkDiscovery/networkdiscovery.cpp index da2cb1d..bac824a 100644 --- a/NetworkDiscovery/networkdiscovery.cpp +++ b/NetworkDiscovery/networkdiscovery.cpp @@ -1,3 +1,6 @@ +#include +#include + #include "networkdiscovery.h" #include "../common/fbgui.h" @@ -63,52 +66,27 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp _dhcpcdArguments.append("-q"); _dhcpcdArguments.append(serverPath); } - /* delete the file at serverPath. this is necessary since in case the application crashes, the file still - * exists which leads to an error. - */ - - if(QFile::exists(serverPath)) { - QFile::remove(serverPath); - } - - if (!_server->listen(serverPath)) { - // emit signal to the gui that a critial error occoured - qDebug() << _tag << "Unable to start server: " - << _server->errorString(); - emit - abortBoot("Unable to start server: " + _server->errorString()); - return; - } - - // check if the path to the customdhcpcd file is correct - QFileInfo fInfo(_pathToDhcpcdExe); - if (!fInfo.exists()) { - qDebug() << _tag - << "could not find customdhcpcd exe. Please check the path to this file."; - emit abortBoot( - "could not find customdhcpcd exe. Please check the path to this file."); - return; - } - - connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); - - if (args != NULL && !args->isEmpty()) { + if(QFile::exists(serverPath)){ + QFile::remove(serverPath); + } + if(!_server->listen(serverPath)){ + qDebug() << _tag << "Unable to start server: " << _server->errorString(); + abortBoot("Unable to start server: " + _server->errorString()); + return; + } + QFileInfo fInfo(_pathToDhcpcdExe); + if(!fInfo.exists()){ + qDebug() << _tag << "could not find customdhcpcd exe. Please check the path to this file."; + emit emit emit emit abortBoot("could not find customdhcpcd exe. Please check the path to this file."); + return; + } + connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); + if (args != NULL && !args->isEmpty()) { qDebug() << _tag << "added additional args"; _dhcpcdArguments.append(*args); } - - // start the main work: - if (_autoUp) { - getListOfNetworkInterfacesWithAutoUp(); - _timer = new QTimer(this); - connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); - _timer->start(1000); - - } else { - getListOfNetworkInterfaces(); - emit readyForRun(); - } + mainWork(); } @@ -125,6 +103,7 @@ void NetworkDiscovery::slotReadyForRun() { emit addInterface(i); } _numberOfProcesses = _ifUpList.size(); + qDebug() << _tag << "number of processes:" << _numberOfProcesses ; runDHCPCD( _ifUpList); } else { qDebug() << _tag << "list is empty. Have not found usable interface."; @@ -269,6 +248,61 @@ QString NetworkDiscovery::readLogFile() { +/* + *TODO: to be bug fixed + *TODO: do it with kill and not QProcess("killall cdhcpcd") + *TODO: still some bugs. if you press tryAgain it can happen that the app stops with the mainscreen. + *TODO: reproducible: start normal with user choice. plug out the cable. press continue. abort screen should appear. + *TODO: press tryAgain. + */ +void NetworkDiscovery::tryAgain() { + // kill all cdhcpcd processes + qDebug() << " kill cdhcpcd processes"; + QProcess * p = new QProcess(this); + p->start("killall cdhcpcd"); + p->waitForFinished(); + qDebug() << _tag << "[tryAgain]" << p->errorString(); + /* + foreach(Q_PID pid , _pidsList) { + if (kill(pid,SIGKILL) <= -1) + qDebug() << _tag << " error: trying to kill process: " << pid << " error: " << strerror(errno); + } + */ + // reset everything + _clients.clear(); + _clientProcessToIfNameMap.clear(); + _ifNameToClient.clear(); + _numberOfProcesses = 0; + _blocked = false; + _ifUpCountdown = 10; + _ifUpList.clear(); + _ifDownList.clear(); + _pidsList.clear(); + _ifcMap.clear(); + + // start again + mainWork(); + + //SIGK + //kill(); +} + + +/**/ +QVariantMap NetworkDiscovery::getInterfaceConfig(QString ifName) { + QList dns; + interfaceconfiguration * ifc = _ifcMap.value(ifName, NULL); + if (ifc != NULL) { + dns.clear(); + dns = ifc->getDnsservers().trimmed().split(" "); + + //ifc->getIpAddress(), ifc->getNetmask(), ifc->getBroadcast(), + //ifc->getGateway(), 0, AF_INET, "/etc/", dns); + } +} + + + /** * ================================================================================ ********************************* Private Methods ******************************** @@ -276,6 +310,22 @@ QString NetworkDiscovery::readLogFile() { **/ +/**/ +void NetworkDiscovery::mainWork() +{ + if (_autoUp) { + getListOfNetworkInterfacesWithAutoUp(); + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); + _timer->start(1000); + + } else { + getListOfNetworkInterfaces(); + emit readyForRun(); + } +} + + /** * searches for usable interfaces and puts them into a list. @@ -478,6 +528,13 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { +/**/ +bool NetworkDiscovery::checkConnectivityViaTcp() { + return checkConnectivityViaTcp(_serverIp); +} + + + /** * try to open a tcp connection to the server * @@ -567,8 +624,8 @@ void NetworkDiscovery::handleNewInput() { QLocalSocket * client = _clients.value(socket); QString data(client->read(DHCP_MESSAGE_SIZE)); - client->write("ACK", ACK_SIZE); - client->waitForBytesWritten(); + //client->write("ACK", ACK_SIZE); + //client->waitForBytesWritten(); data = data.trimmed(); //qDebug() << _tag << data; QStringList lines = data.split("\n"); @@ -657,6 +714,7 @@ void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { case DHCPCD_LOG: default: + qDebug() << _tag << "default" << msg; break; } break; @@ -704,6 +762,7 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, QProcess* p = qobject_cast (QObject::sender()); QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); + _numberOfProcesses = _numberOfProcesses - 1; if (!_blocked) { //_blocked becomes true, if _userChoice is false and we already found a usable interface if (ifName.compare("ifName") == 0) { qDebug() << _tag << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; @@ -725,8 +784,8 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, if (client != 0) { handleNewInput(client); } - _numberOfProcesses = _numberOfProcesses - 1; - if (_numberOfProcesses <= 0 && _userChoice) { + //_numberOfProcesses = _numberOfProcesses - 1; && _userChoice + if (_numberOfProcesses <= 0 ) { emit allProcessesFinished(); } } @@ -747,7 +806,8 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, void NetworkDiscovery::handleProcessStarted() { QProcess* p = qobject_cast (QObject::sender()); QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); - qDebug() << _tag << "process started for interface:" << ifName; + qDebug() << _tag << "process started for interface:" << ifName << "with pid:" << p->pid(); + _pidsList.append(p->pid()); } diff --git a/NetworkDiscovery/networkdiscovery.h b/NetworkDiscovery/networkdiscovery.h index b4c4ef7..2291a7c 100644 --- a/NetworkDiscovery/networkdiscovery.h +++ b/NetworkDiscovery/networkdiscovery.h @@ -27,36 +27,31 @@ class NetworkDiscovery: public QObject { Q_OBJECT public: - NetworkDiscovery(QObject *parent=0); - ~NetworkDiscovery(); - - void initAndRun(QString serverIp, bool userChoice, - bool autoUp, - QString pathToLogFile, - QString serverPath = DEFAULT_QTSOCKETADDRESS, - QString pathToExe = DEFAULT_PATHTODHCPCDEXE, - QStringList* args = NULL); - int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); - QString getGatewayForInterface(QString ifName); - - int ip4_setManualConfiguration(QVariantMap result); - QString readLogFile(); + NetworkDiscovery(QObject *parent = 0); + ~NetworkDiscovery(); + void initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath = DEFAULT_QTSOCKETADDRESS, QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList *args = NULL); + int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + QString getGatewayForInterface(QString ifName); + int ip4_setManualConfiguration(QVariantMap result); + QString readLogFile(); + void tryAgain(); + bool checkConnectivityViaTcp(); + bool checkConnectivityViaTcp(QString server); + QVariantMap getInterfaceConfig(QString ifName); private slots: - void handleNewConnection(); - void handleNewInput(); - void handleNewInputLine(QLocalSocket * client, QString data); - void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); - void handleProcessStarted(); - void handleClientDisconnect(); - - void slotReadyForRun(); - - void checkForIsRunning(); + void handleNewConnection(); + void handleNewInput(); + void handleNewInputLine(QLocalSocket *client, QString data); + void handleProcessFinished(int exitCode, QProcess::ExitStatus exitStatus); + void handleProcessStarted(); + void handleClientDisconnect(); + void slotReadyForRun(); + void checkForIsRunning(); signals: - void addInterface(const QString &ifName); + void addInterface(const QString & ifName); void changeProgressBarValue(const QString & ifName, const int $newValue); void connectionEstablished(QString ifName); void abortBoot(QString msg); @@ -64,31 +59,31 @@ signals: void allProcessesFinished(); void continueBoot(QString ifName, int userChoice); void setManualConfInterfaces(QString jsonArr); - void readyForRun(); private: QString _tag; - QLocalServer *_server; - QMap _clients; - QLocalSocket * _client; - QMap _ifNameToClient; - QMap _clientProcessToIfNameMap; - QString _pathToDhcpcdExe; - QStringList _dhcpcdArguments; - int _numberOfProcesses; - NetworkManager _networkManager; - bool _userChoice; - bool _blocked; - bool _autoUp; - QString _serverIp; - QString _pathToLogFile; - QList _ifUpList; - QList _ifDownList; - int _ifUpCountdown; - QTimer* _timer; - - QMap _ifcMap; + QLocalServer *_server; + QMap _clients; + QLocalSocket *_client; + QMap _ifNameToClient; + QMap _clientProcessToIfNameMap; + QString _pathToDhcpcdExe; + QStringList _dhcpcdArguments; + int _numberOfProcesses; + NetworkManager _networkManager; + bool _userChoice; + bool _blocked; + bool _autoUp; + QString _serverIp; + QString _pathToLogFile; + QList _ifUpList; + QList _ifDownList; + int _ifUpCountdown; + QTimer *_timer; + QList _pidsList; + QMap _ifcMap; + void mainWork(); void handleNewInput(QLocalSocket * client); @@ -97,7 +92,6 @@ private: bool checkCarrierState(QString interface); bool checkConnectivity(QString ifName); - bool checkConnectivityViaTcp(QString server); bool checkBlackList(QString i); void getListOfNetworkInterfaces(); diff --git a/UnixDomainSocketServer/Debug/UnixDomainSocketServer b/UnixDomainSocketServer/Debug/UnixDomainSocketServer index bdab448..a7fbc06 100755 Binary files a/UnixDomainSocketServer/Debug/UnixDomainSocketServer and b/UnixDomainSocketServer/Debug/UnixDomainSocketServer differ diff --git a/customdhcpcd/src/dhcpcd.c b/customdhcpcd/src/dhcpcd.c index c200211..d0ad5e7 100644 --- a/customdhcpcd/src/dhcpcd.c +++ b/customdhcpcd/src/dhcpcd.c @@ -1,5 +1,4 @@ -/* - * dhcpcd - DHCP client daemon + /* dhcpcd - DHCP client daemon * Copyright 2006-2008 Roy Marples * All rights reserved diff --git a/customdhcpcd/src/logger.c b/customdhcpcd/src/logger.c index 91d6cc0..70c693a 100644 --- a/customdhcpcd/src/logger.c +++ b/customdhcpcd/src/logger.c @@ -80,47 +80,59 @@ void setlogprefix(const char *prefix) { void logger(int level, const char *fmt, ...) { va_list p; va_list p2; - FILE *f = stderr; +// FILE *f = stderr; + FILE *f; + char* path = "/tmp/cdhcpcd.log"; + + f = fopen(path,"a"); va_start (p, fmt); va_copy (p2, p); - if (level <= LOG_ERR || level <= loglevel) { - - /* new function by Niklas Goby - * send the log message also to our Qt programm. - * implemented in logwriter.c - * */ - logLoggerToQt(level, fmt, p); - - if (level == LOG_DEBUG || level == LOG_INFO) - f = stdout; - fprintf(f, "%s, %s", leveltolog(level), logprefix); - vfprintf(f, fmt, p); - fputc('\n', f); - - /* stdout, stderr may be re-directed to some kind of buffer. - * So we always flush to ensure it's written. */ - fflush(f); - } - - if (level < LOG_DEBUG || level <= loglevel) { - size_t len = strlen(logprefix); - size_t fmt2len = strlen(fmt) + len + 1; - char *fmt2 = malloc(sizeof(char) * fmt2len); - char *pf = fmt2; - if (fmt2) { - memcpy(pf, logprefix, len); - pf += len; - strlcpy(pf, fmt, fmt2len - len); - vsyslog(level, fmt2, p2); - free(fmt2); - } else { - vsyslog(level, fmt, p2); - syslog(LOG_ERR, "logger: memory exhausted"); - exit(EXIT_FAILURE); - } - } + fprintf(f, "%s, %s", leveltolog(level), logprefix); + vfprintf(f, fmt, p); + fputc('\n', f); + + /* stdout, stderr may be re-directed to some kind of buffer. + * So we always flush to ensure it's written. */ + fflush(f); + +// //logLoggerToQt(level, fmt, p); +// if (level <= LOG_ERR || level <= loglevel) { +// +// /* new function by Niklas Goby +// * send the log message also to our Qt programm. +// * implemented in logwriter.c +// * */ +// //logLoggerToQt(level, fmt, p); +// +// if (level == LOG_DEBUG || level == LOG_INFO) +// f = stdout; +// fprintf(f, "%s, %s", leveltolog(level), logprefix); +// vfprintf(f, fmt, p); +// fputc('\n', f); +// +// /* stdout, stderr may be re-directed to some kind of buffer. +// * So we always flush to ensure it's written. */ +// fflush(f); +// } +// if (level < LOG_DEBUG || level <= loglevel) { +// size_t len = strlen(logprefix); +// size_t fmt2len = strlen(fmt) + len + 1; +// char *fmt2 = malloc(sizeof(char) * fmt2len); +// char *pf = fmt2; +// if (fmt2) { +// memcpy(pf, logprefix, len); +// pf += len; +// strlcpy(pf, fmt, fmt2len - len); +// vsyslog(level, fmt2, p2); +// free(fmt2); +// } else { +// vsyslog(level, fmt, p2); +// syslog(LOG_ERR, "logger: memory exhausted"); +// exit(EXIT_FAILURE); +// } +// } va_end (p2); va_end (p); diff --git a/customdhcpcd/src/logwriter.c b/customdhcpcd/src/logwriter.c index d8c3537..e407bc2 100644 --- a/customdhcpcd/src/logwriter.c +++ b/customdhcpcd/src/logwriter.c @@ -83,7 +83,8 @@ void sendToQt(log_msg * msg) { ret = snprintf(outbuf, DHCP_MESSAGE_SIZE, tpl, msg->device, msg->status, msg->substatus, msg->msg); if (ret < 1) { - syslog(LOG_INFO, "[fbgui] ERROR filling message buffer"); + logger(LOG_INFO, "[fbgui] ERROR filling message buffer"); + //syslog(LOG_INFO, "[fbgui] ERROR filling message buffer"); return; } if (outbuf != NULL) { @@ -93,9 +94,12 @@ void sendToQt(log_msg * msg) { msg->status, msg->substatus, msg->msg, msg->device); if (n <= 0) { - syslog(LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", + logger(LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", msg->status, msg->substatus, msg->msg, msg->device); + //syslog(LOG_ERR, "[fbgui] ERROR writing to socket: [%d:%d] %s (%s)", + // msg->status, msg->substatus, msg->msg, msg->device); } + /* memset(ack, 0, ACK_SIZE); if ((t = recv(sockfd, ack, ACK_SIZE, 0)) > 0) { syslog(LOG_ERR, "[fbgui] recv ack echo> %s", ack); @@ -106,6 +110,7 @@ void sendToQt(log_msg * msg) { else syslog(LOG_ERR, "[fbgui] ERROR Server closed"); } + */ } void logToQt(int status, int substatus, const char * msg) { diff --git a/src/fbgui.pro b/src/fbgui.pro index c18e022..701402b 100644 --- a/src/fbgui.pro +++ b/src/fbgui.pro @@ -12,12 +12,20 @@ LIBS += -L/usr/local/qjson/lib \ -lQxtCore \ -L/usr/lib \ -lsysfs \ - -lusb-1.0 + -lnl \ + -lusb-1.0 \ + -L/usr/local/lib \ + -lcustomdhcpcd INCLUDEPATH += /usr/local/qjson/include \ /usr/local/Qxt/include \ /usr/local/Qxt/include/QxtCore \ /usr/include/sysfs \ - /usr/include/libusb-1.0 + /usr/include/libusb-1.0 \ + /usr/include/net \ + /usr/include/netlink \ + /usr/include/netlink/route \ + /usr/include/arpa \ + ./../customdhcpcd/src HEADERS += ../common/fbgui.h \ downloadmanager.h \ fbgui.h \ @@ -27,8 +35,12 @@ HEADERS += ../common/fbgui.h \ ndgui.h \ networkdiscovery.h \ networkmanager.h \ - sysinfo.h \ -SOURCES += sysinfo.cpp \ + sysinfo.h +SOURCES += networkdiscovery.cpp \ + networkmanager.cpp \ + ndgui.cpp \ + interfaceconfiguration.cpp \ + sysinfo.cpp \ loggerengine.cpp \ javascriptinterface.cpp \ downloadmanager.cpp \ diff --git a/src/html/js/networkDiscovery.js b/src/html/js/networkDiscovery.js index 2200d82..1d67eac 100644 --- a/src/html/js/networkDiscovery.js +++ b/src/html/js/networkDiscovery.js @@ -31,20 +31,23 @@ var checkRegexp = function ( o, regexp, n ) { }; var showLog = function (t) { - $("#nd_show_log_msg").val(t); - $("#nd_show_log_msg").attr('readonly','readonly'); + $("#nd_show_log_msg").html(t); + //$("#nd_show_log_msg").attr('readonly','readonly'); $("#nd_show_log_dialog").dialog( { minWidth: 450, modal: true, - resizable: false, draggable: false }); }; +var getInterfaceConf = function (i) { + var n = i.options[i.selectedIndex].text(); +}; + var ip4_manualConfigurationDialog = function () { var jsonArr = fbgui.getManualConfInterfaces(); //jsonArr = eval('(' + jsonArr + ')'); - var c = ""; if(jsonArr == "") { c += ""; } else { @@ -118,12 +121,13 @@ var abortBootDialog = function (m) { ip4_manualConfigurationDialog();}, "Show Log": function() { var text = fbgui.readLogFile(); - showLog(text); - $(this).dialog("close");}, + showLog(text);}, "Restart": function() {fbgui.restartSystem(); $(this).dialog("close"); }, "Shut Down": function() { fbgui.shutDownSystem(); - $(this).dialog("close"); } + $(this).dialog("close"); }, + "Try Again": function() {fbgui.tryAgain(); + $(this).dialog("close"); } } , minWidth: 450, modal: true, @@ -137,6 +141,7 @@ var chooseInterfaceDialog = function (i) { var cb = ""+ " +
            
                         
            diff --git a/src/main.cpp b/src/main.cpp index 21983ca..e408a33 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -175,12 +175,13 @@ int main(int argc, char *argv[]) { else logFilePath = DEFAULT_LOG_FILE_PATH; - // activate file logger if debug mode activated. - if (debugMode > -1) { + // write always a log file + // // activate file logger if debug mode activated. + // if (debugMode > -1) { // start debug logging to file. qxtLog->addLoggerEngine("file_logger", new LoggerEngine_file(logFilePath)); qxtLog->setMinimumLevel("file_logger", QxtLogger::DebugLevel); - } + // } // print config qxtLog->debug() << "************* CONFIG INFO *************"; diff --git a/src/ndgui.cpp b/src/ndgui.cpp index 80a64bc..8daef9e 100644 --- a/src/ndgui.cpp +++ b/src/ndgui.cpp @@ -25,10 +25,12 @@ ndgui::ndgui(QMainWindow *parent) : setWindowTitle(tr("NetD")); setAttribute(Qt::WA_QuitOnClose, true); setWindowFlags(Qt::FramelessWindowHint); + showFullScreen(); _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); _webView->show(); - + + qxtLog->debug() << _tag << "start singel shot"; QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); } @@ -92,10 +94,13 @@ void ndgui::startNetworkDiscovery(){ disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); if(!_started) { _started = true; - networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom"); + qxtLog->debug() << _tag << "Initializing networkDiscovery ..."; + QStringList l; + l << "-d"; + networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/tmp/fbgui.log","/var/tmp/qt_c_socket_custom", "/bin/cdhcpcd", &l); } else { - qDebug() << _tag << "NetworkDiscovery already started"; + qxtLog->debug() << _tag << "NetworkDiscovery already started"; } } @@ -122,7 +127,7 @@ void ndgui::handleConnectionEstablished(QString ifName) { * handleConnectionEstablished)). */ void ndgui::handleAllProcessesFinished() { - qDebug() << _tag << "all Processes finished"; + qxtLog->debug() << _tag << "all Processes finished"; if(_ifNameList.size() > 0) { QString jsonArr = "["; for(int i = 0; i < _ifNameList.size()-1; i++) { @@ -177,10 +182,10 @@ void ndgui::shutDownSystem() { void ndgui::continueBoot(QString ifName, int userChoice) { if (!userChoice) { QString text = "continue with interface: " + ifName; - qDebug() << _tag << text << "no user choice"; + qxtLog->debug() << _tag << text << "no user choice"; } else { QString text = "continue with interface: " + ifName; - qDebug() << _tag << text << "with user choice"; + qxtLog->debug() << _tag << text << "with user choice"; QString gateway = networkDiscovery.getGatewayForInterface(ifName); networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); } @@ -195,12 +200,20 @@ void ndgui::continueBoot(QString ifName, int userChoice) { * read the log file. Log File will be presented inside of a dialog. */ QString ndgui::readLogFile() { - qDebug() << _tag << "show log"; + qxtLog->debug() << _tag << "show log"; return networkDiscovery.readLogFile(); } +/**/ +void ndgui::tryAgain() { + qxtLog->debug() << _tag << "try again"; + +} + + + /*test html gui version*/ /** @@ -208,13 +221,13 @@ QString ndgui::readLogFile() { * dialog. */ QVariantList ndgui::getManualConfInterfaces() { - qDebug() << _tag << "call getManualConfInterfaces"; + qxtLog->debug() << _tag << "call getManualConfInterfaces"; QVariantList jsonArr; foreach (QString s, _manConfList) { QVariant e(s); jsonArr << e; } - qDebug() << _tag << "value of jsonArr:" << jsonArr; + qxtLog->debug() << _tag << "value of jsonArr:" << jsonArr; return jsonArr; } @@ -257,7 +270,7 @@ void ndgui::loadJQuery() { foreach(fi, fiList) { if (fi.suffix() == "js") { - //qDebug()<< fi.fileName(); + //qxtLog->debug()<< fi.fileName(); //qxtLog->debug() << fi.fileName(); //if (fi.fileName() != "test.js" && fi.fileName() != "nd-functions.js") { QFile file; @@ -366,5 +379,5 @@ void ndgui::addInterface(const QString &ifName) { * just for debugging. */ void ndgui::notifyCall(QString msg){ - qDebug() << _tag << "------ called:" << msg; + qxtLog->debug() << _tag << "------ called:" << msg; } diff --git a/src/ndgui.h b/src/ndgui.h index eb30d7a..ab1f82b 100644 --- a/src/ndgui.h +++ b/src/ndgui.h @@ -27,6 +27,7 @@ public slots: void restartSystem(); void shutDownSystem(); void continueBoot(QString ifName, int userChoice); + void tryAgain(); void prepareNetworkDiscover(); diff --git a/src/networkdiscovery.cpp b/src/networkdiscovery.cpp index da2cb1d..94d1f63 100644 --- a/src/networkdiscovery.cpp +++ b/src/networkdiscovery.cpp @@ -73,7 +73,7 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp if (!_server->listen(serverPath)) { // emit signal to the gui that a critial error occoured - qDebug() << _tag << "Unable to start server: " + qxtLog->debug() << _tag << "Unable to start server: " << _server->errorString(); emit abortBoot("Unable to start server: " + _server->errorString()); @@ -83,8 +83,8 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp // check if the path to the customdhcpcd file is correct QFileInfo fInfo(_pathToDhcpcdExe); if (!fInfo.exists()) { - qDebug() << _tag - << "could not find customdhcpcd exe. Please check the path to this file."; + qxtLog->debug() << _tag + << " could not find customdhcpcd exe. Please check the path to this file."; emit abortBoot( "could not find customdhcpcd exe. Please check the path to this file."); return; @@ -94,21 +94,27 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); if (args != NULL && !args->isEmpty()) { - qDebug() << _tag << "added additional args"; + qxtLog->debug() << _tag << "added additional args"; _dhcpcdArguments.append(*args); } // start the main work: if (_autoUp) { + qxtLog->debug() << _tag << " call getListOfNetworkInterfacesWithAutoUp ..."; getListOfNetworkInterfacesWithAutoUp(); - _timer = new QTimer(this); - connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); - _timer->start(1000); + qxtLog->debug() << _tag << " ifUpList size: " << _ifUpList.size(); + qxtLog->debug() << _tag << " ifDownList size: " << _ifDownList.size(); } else { + qxtLog->debug() << _tag << " call getListOfNetworkInterfaces ..."; getListOfNetworkInterfaces(); - emit readyForRun(); } + + qxtLog->debug() << _tag << " init timer ..."; + _timer = new QTimer(this); + qxtLog->debug() << _tag << " call checkForIsRunning ..."; + connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); + _timer->start(1000); } @@ -122,12 +128,13 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp void NetworkDiscovery::slotReadyForRun() { if (_ifUpList.size() > 0) { foreach(QString i, _ifUpList) { + qxtLog->debug() << _tag << "emit addInterface: " << i; emit addInterface(i); } _numberOfProcesses = _ifUpList.size(); runDHCPCD( _ifUpList); } else { - qDebug() << _tag << "list is empty. Have not found usable interface."; + qxtLog->debug() << _tag << "list is empty. Have not found usable interface."; emit abortBoot("Have not found usable interface"); return; @@ -204,10 +211,10 @@ int NetworkDiscovery::ip4_setManualConfiguration(QVariantMap result) { "/etc/", dns); - qDebug() << _tag << "set man conf. and check connectivity"; + qxtLog->debug() << _tag << "set man conf. and check connectivity"; if (!checkConnectivityViaTcp(_serverIp)) { - qDebug() << _tag << "no connectivity. reset conf."; + qxtLog->debug() << _tag << "no connectivity. reset conf."; interfaceconfiguration * ifc = _ifcMap.value(result["ifname"].toString(), NULL); if(ifc != NULL) { dns.clear(); @@ -269,6 +276,13 @@ QString NetworkDiscovery::readLogFile() { +/**/ +void NetworkDiscovery::tryAgain() { + +} + + + /** * ================================================================================ ********************************* Private Methods ******************************** @@ -289,6 +303,23 @@ void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { if (nIList.size() > 0) { foreach(QNetworkInterface nI, nIList) { + qxtLog->debug() << _tag << "found Interface:" << nI.humanReadableName(); + if ((nI.flags() & QNetworkInterface::CanBroadcast)) { + qxtLog->debug() << _tag << "flags: can broadcast"; + } + if ((nI.flags() & QNetworkInterface::IsLoopBack)) { + qxtLog->debug() << _tag << "flags: is LoopBack"; + } + if ((nI.flags() & QNetworkInterface::IsPointToPoint)) { + qxtLog->debug() << _tag << "flags: is Point to Point"; + } + if ((nI.flags() & QNetworkInterface::IsRunning)) { + qxtLog->debug() << _tag << "flags: is Running"; + } + if ((nI.flags() & QNetworkInterface::IsUp)) { + qxtLog->debug() << _tag << "flags: is Up"; + } + if (((!(nI.flags() & QNetworkInterface::CanBroadcast) || nI.flags() & QNetworkInterface::IsLoopBack) || nI.flags() & QNetworkInterface::IsPointToPoint) @@ -300,12 +331,15 @@ void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { } else if (!(nI.flags() & QNetworkInterface::IsUp)) { _networkManager.bringInterfaceUP(nI.humanReadableName()); - qDebug() << _tag << " bring up .."; + qxtLog->debug() << _tag << " bring up .."; + _ifDownList.append(nI.humanReadableName()); + } + else if (!(nI.flags() & QNetworkInterface::IsRunning)) { _ifDownList.append(nI.humanReadableName()); } } } else { - qDebug() << _tag << "no interfaces found!"; + qxtLog->debug() << _tag << "no interfaces found!"; } } @@ -321,18 +355,22 @@ void NetworkDiscovery::getListOfNetworkInterfaces() { if (nIList.size() > 0) { foreach(QNetworkInterface nI, nIList) { + qxtLog->debug() << _tag << "found Interface:" << nI.humanReadableName(); if (((!(nI.flags() & QNetworkInterface::CanBroadcast) || nI.flags() & QNetworkInterface::IsLoopBack) || nI.flags() & QNetworkInterface::IsPointToPoint) || !(nI.flags() & QNetworkInterface::IsUp) - || !(nI.flags() & QNetworkInterface::IsRunning) || checkBlackList(nI.humanReadableName())) { continue; } - _ifUpList.append(nI.humanReadableName()); + if (!(nI.flags() & QNetworkInterface::IsRunning)) { + _ifDownList.append(nI.humanReadableName()) + } else { + _ifUpList.append(nI.humanReadableName()); + } } } else { - qDebug() << _tag << "no interfaces found!"; + qxtLog->debug() << _tag << "no interfaces found!"; } } @@ -348,7 +386,7 @@ void NetworkDiscovery::getListOfNetworkInterfaces() { */ bool NetworkDiscovery::checkCarrierState(QString interface) { - qDebug() << _tag << "check carrier state for interface " << interface; + qxtLog->debug() << _tag << "check carrier state for interface " << interface; QByteArray ba = interface.toAscii(); const char * iface = ba.data(); @@ -365,21 +403,21 @@ bool NetworkDiscovery::checkCarrierState(QString interface) { int v = value.toInt(pok); if (*pok) { if (v == 1) { - qDebug() + qxtLog->debug() << "carrier is 1. Cable is plugged. return true"; return true; } else { - qDebug() + qxtLog->debug() << "carrier is 0. Cable is unplugged. return false"; return false; } } else { - qDebug() << _tag << "conversion error"; + qxtLog->debug() << _tag << "conversion error"; } } } } else { - qDebug() << _tag << "attrlist is Null"; + qxtLog->debug() << _tag << "attrlist is Null"; } sysfs_close_class_device(class_device); @@ -414,7 +452,7 @@ void NetworkDiscovery::runDHCPCD(QString interface) { _dhcpcdArguments.append(interface); QProcess * p = new QProcess(this); - qDebug() << _tag << _dhcpcdArguments; + qxtLog->debug() << _tag << _dhcpcdArguments; _clientProcessToIfNameMap.insert(p, interface); p->start(_pathToDhcpcdExe, _dhcpcdArguments); @@ -451,12 +489,12 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { _ifcMap.insert(ifName, ifConf); // replace default route - qDebug() << _tag << "replace default route"; + qxtLog->debug() << _tag << "replace default route"; _networkManager.replaceDefaultRoute(ifName, ifConf->getGateway(), mss, AF_INET); if (checkConnectivityViaTcp(_serverIp)) { - qDebug() << _tag << "internet: check passed! for interface" << ifName; + qxtLog->debug() << _tag << "internet: check passed! for interface" << ifName; emit updateStatusLabel(ifName, "connection possible"); if (!_userChoice) { @@ -469,7 +507,7 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { } return true; } else { - qDebug() << _tag << "no internet connection with interface" << ifName; + qxtLog->debug() << _tag << "no internet connection with interface" << ifName; emit updateStatusLabel(ifName, "connection not possible"); return false; @@ -493,7 +531,7 @@ bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { QTcpSocket *tcpSocket = new QTcpSocket(this); tcpSocket->connectToHost(server, 80); if (!tcpSocket->waitForConnected(500)) { - qDebug() << _tag << tcpSocket->errorString(); + qxtLog->debug() << _tag << tcpSocket->errorString(); return false; } else { return true; @@ -507,7 +545,7 @@ bool NetworkDiscovery::checkConnectivityViaTcp(QString server) { * connects the client readyRead signal with the handleNewInput slot. */ void NetworkDiscovery::handleNewConnection() { - qDebug() << _tag << "New Connection arrived"; + qxtLog->debug() << _tag << "New Connection arrived"; /*QLocalSocket **/ _client = _server ->nextPendingConnection(); @@ -527,7 +565,7 @@ void NetworkDiscovery::handleClientDisconnect() { QLocalSocket * client = _clients.value(socket); - qDebug() << _tag << "disconnect client"; + qxtLog->debug() << _tag << "disconnect client"; handleNewInput(client); client->deleteLater(); } @@ -541,12 +579,12 @@ void NetworkDiscovery::handleClientDisconnect() { * a client */ void NetworkDiscovery::handleNewInput(QLocalSocket * client) { - qDebug() << _tag << "last read before exit"; + qxtLog->debug() << _tag << "last read before exit"; while (client->canReadLine()) { QString data(client->readLine()); data = data.trimmed(); - qDebug() << _tag << data; + qxtLog->debug() << _tag << data; QStringList lines = data.split("\n"); for (int i = 0; i < lines.length(); i++) { @@ -570,7 +608,7 @@ void NetworkDiscovery::handleNewInput() { client->write("ACK", ACK_SIZE); client->waitForBytesWritten(); data = data.trimmed(); - //qDebug() << _tag << data; + //qxtLog->debug() << _tag << data; QStringList lines = data.split("\n"); for (int i = 0; i < lines.length(); i++) { @@ -609,7 +647,7 @@ void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { QString msg = logMsg.section(";", 3, 3); int st = s_state.trimmed().toInt(); int sst = s_subState.trimmed().toInt(); - //qDebug() << _tag << logMsg; + //qxtLog->debug() << _tag << logMsg; if (_ifNameToClient.size() < _numberOfProcesses && !_ifNameToClient.contains( interface)) { @@ -621,21 +659,27 @@ void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { switch (sst) { case DHCP_DISCOVER: emit changeProgressBarValue(interface, 10); + qxtLog->debug() << _tag << " " << interface << " send discover"; break; case DHCP_OFFER: emit changeProgressBarValue(interface, 20); + qxtLog->debug() << _tag << " " << interface << " got offer"; break; case DHCP_REQUEST: emit changeProgressBarValue(interface, 30); + qxtLog->debug() << _tag << " " << interface << " send request"; break; case DHCP_ACK: emit changeProgressBarValue(interface, 40); + qxtLog->debug() << _tag << " " << interface << " ack"; break; case DHCP_NAK: emit changeProgressBarValue(interface, 40); + qxtLog->debug() << _tag << " " << interface << " nak"; break; case DHCPCD_ARP_TEST: emit changeProgressBarValue(interface, 50); + qxtLog->debug() << _tag << " " << interface << " do arp test"; break; case DHCP_DECLINE: emit changeProgressBarValue(interface, 60); @@ -647,24 +691,28 @@ void NetworkDiscovery::handleNewInputLine(QLocalSocket * client, QString data) { break; case DHCPCD_CONFIGURE: emit changeProgressBarValue(interface, 70); + qxtLog->debug() << _tag << " " << interface << " do configure interface"; break; case DHCPCD_WRITE: emit changeProgressBarValue(interface, 80); + qxtLog->debug() << _tag << " " << interface << " write conf file"; break; case DHCPCD_EXIT: emit changeProgressBarValue(interface, 100); + qxtLog->debug() << _tag << " " << interface << " exiting"; break; case DHCPCD_LOG: default: + qxtLog->debug() << _tag << " received error:" << msg; break; } break; case LOG_ERR: - qDebug() << _tag << "received error:" << msg; + qxtLog->debug() << _tag << " received error:" << msg; break; default: - //qDebug() << _tag << logMsg; + qxtLog->debug() << _tag << logMsg; break; } } @@ -704,17 +752,18 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, QProcess* p = qobject_cast (QObject::sender()); QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); + _numberOfProcesses = _numberOfProcesses - 1; if (!_blocked) { //_blocked becomes true, if _userChoice is false and we already found a usable interface if (ifName.compare("ifName") == 0) { - qDebug() << _tag << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; + qxtLog->debug() << _tag << "--- \t [NetworkDiscovery::handleProcessFinished] haven't found process!"; } else { - qDebug() << _tag << "process for interface" << ifName << "finished" - << exitCode << exitStatus; + qxtLog->debug() << _tag << " process for interface " << ifName << " finished " + << " exit code: " << exitCode << " exit status " << exitStatus; if (exitCode > 0) { - qDebug() << _tag << "process exited unexpected"; + qxtLog->debug() << _tag << "process exited unexpected"; emit updateStatusLabel(ifName, "process exited unexpected"); } else { - qDebug() << _tag << "process normal exit"; + qxtLog->debug() << _tag << "process normal exit"; emit changeProgressBarValue(ifName, 100); emit updateStatusLabel(ifName, "check connectivity"); checkConnectivity(ifName); @@ -725,13 +774,13 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, if (client != 0) { handleNewInput(client); } - _numberOfProcesses = _numberOfProcesses - 1; - if (_numberOfProcesses <= 0 && _userChoice) { + //_numberOfProcesses = _numberOfProcesses - 1; && _userChoice + if (_numberOfProcesses <= 0 ) { emit allProcessesFinished(); } } } else { - qDebug() << _tag << "already blocked"; + qxtLog->debug() << _tag << "already blocked"; emit updateStatusLabel(ifName, "finished DHCP"); } } @@ -747,7 +796,7 @@ void NetworkDiscovery::handleProcessFinished(int exitCode, void NetworkDiscovery::handleProcessStarted() { QProcess* p = qobject_cast (QObject::sender()); QString ifName = _clientProcessToIfNameMap.value(p, "ifName"); - qDebug() << _tag << "process started for interface:" << ifName; + qxtLog->debug() << _tag << "process started for interface:" << ifName; } diff --git a/src/networkdiscovery.h b/src/networkdiscovery.h index 49ac731..c45b5aa 100644 --- a/src/networkdiscovery.h +++ b/src/networkdiscovery.h @@ -22,7 +22,8 @@ #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" -#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" +//#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" +#define DEFAULT_PATHTODHCPCDEXE "/bin/cdhcpcd" class NetworkDiscovery: public QObject { Q_OBJECT @@ -42,6 +43,7 @@ public: int ip4_setManualConfiguration(QVariantMap result); QString readLogFile(); + void tryAgain(); private slots: void handleNewConnection(); -- cgit v1.2.3-55-g7522 From 951db8ebf3f95ec6252f170bef7d3294b7bd6bc8 Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 21 Oct 2011 13:11:40 +0200 Subject: now the two versions of the NetworkDiscovery code should be the same (except for the qDebug...) --- CMakeLists.txt | 2 +- NetworkDiscovery/ndgui.cpp | 3 +- NetworkDiscovery/networkdiscovery.cpp | 58 +++++++---- NetworkDiscovery/networkdiscovery.h | 27 +++-- src/ndgui.cpp | 33 +++++-- src/ndgui.h | 2 + src/networkdiscovery.cpp | 103 ++++++++++++++----- src/networkdiscovery.h | 45 +++++---- src/networkmanager.cpp | 179 ++++++++++++++++++++++++++++++++++ src/networkmanager.h | 11 +++ 10 files changed, 381 insertions(+), 82 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 78176a4..89139eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR} /usr/include/netlink/ /usr/include/netlink/route/ ./customdhcpcd/src/ - ./common/ + ./common ./build ${QT_INCLUDES} /usr/local/Qxt/include/QxtCore diff --git a/NetworkDiscovery/ndgui.cpp b/NetworkDiscovery/ndgui.cpp index 87fda02..c6b1a6d 100644 --- a/NetworkDiscovery/ndgui.cpp +++ b/NetworkDiscovery/ndgui.cpp @@ -29,7 +29,8 @@ ndgui::ndgui(QMainWindow *parent) : _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); _webView->show(); - + + qDebug() << _tag << "start singel shot"; QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); } diff --git a/NetworkDiscovery/networkdiscovery.cpp b/NetworkDiscovery/networkdiscovery.cpp index bac824a..397ea43 100644 --- a/NetworkDiscovery/networkdiscovery.cpp +++ b/NetworkDiscovery/networkdiscovery.cpp @@ -66,23 +66,37 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp _dhcpcdArguments.append("-q"); _dhcpcdArguments.append(serverPath); } - if(QFile::exists(serverPath)){ - QFile::remove(serverPath); - } - if(!_server->listen(serverPath)){ - qDebug() << _tag << "Unable to start server: " << _server->errorString(); - abortBoot("Unable to start server: " + _server->errorString()); - return; - } - QFileInfo fInfo(_pathToDhcpcdExe); - if(!fInfo.exists()){ - qDebug() << _tag << "could not find customdhcpcd exe. Please check the path to this file."; - emit emit emit emit abortBoot("could not find customdhcpcd exe. Please check the path to this file."); - return; - } - connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); - connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); - if (args != NULL && !args->isEmpty()) { + /* delete the file at serverPath. this is necessary since in case the application crashes, the file still + * exists which leads to an error. + */ + + if(QFile::exists(serverPath)) { + QFile::remove(serverPath); + } + + if (!_server->listen(serverPath)) { + // emit signal to the gui that a critial error occoured + qDebug() << _tag << "Unable to start server: " + << _server->errorString(); + emit + abortBoot("Unable to start server: " + _server->errorString()); + return; + } + + // check if the path to the customdhcpcd file is correct + QFileInfo fInfo(_pathToDhcpcdExe); + if (!fInfo.exists()) { + qDebug() << _tag + << " could not find customdhcpcd exe. Please check the path to this file."; + emit abortBoot( + "could not find customdhcpcd exe. Please check the path to this file."); + return; + } + + connect(_server, SIGNAL(newConnection()), this, SLOT(handleNewConnection())); + connect(this, SIGNAL(readyForRun()), this, SLOT(slotReadyForRun())); + + if (args != NULL && !args->isEmpty()) { qDebug() << _tag << "added additional args"; _dhcpcdArguments.append(*args); } @@ -353,6 +367,9 @@ void NetworkDiscovery::getListOfNetworkInterfacesWithAutoUp() { qDebug() << _tag << " bring up .."; _ifDownList.append(nI.humanReadableName()); } + else if (!(nI.flags() & QNetworkInterface::IsRunning)) { + _ifDownList.append(nI.humanReadableName()); + } } } else { qDebug() << _tag << "no interfaces found!"; @@ -375,11 +392,14 @@ void NetworkDiscovery::getListOfNetworkInterfaces() { || nI.flags() & QNetworkInterface::IsLoopBack) || nI.flags() & QNetworkInterface::IsPointToPoint) || !(nI.flags() & QNetworkInterface::IsUp) - || !(nI.flags() & QNetworkInterface::IsRunning) || checkBlackList(nI.humanReadableName())) { continue; } - _ifUpList.append(nI.humanReadableName()); + if (!(nI.flags() & QNetworkInterface::IsRunning)) { + _ifDownList.append(nI.humanReadableName()); + } else { + _ifUpList.append(nI.humanReadableName()); + } } } else { qDebug() << _tag << "no interfaces found!"; diff --git a/NetworkDiscovery/networkdiscovery.h b/NetworkDiscovery/networkdiscovery.h index 2291a7c..cc79c36 100644 --- a/NetworkDiscovery/networkdiscovery.h +++ b/NetworkDiscovery/networkdiscovery.h @@ -27,16 +27,22 @@ class NetworkDiscovery: public QObject { Q_OBJECT public: - NetworkDiscovery(QObject *parent = 0); - ~NetworkDiscovery(); - void initAndRun(QString serverIp, bool userChoice, bool autoUp, QString pathToLogFile, QString serverPath = DEFAULT_QTSOCKETADDRESS, QString pathToExe = DEFAULT_PATHTODHCPCDEXE, QStringList *args = NULL); - int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); - QString getGatewayForInterface(QString ifName); - int ip4_setManualConfiguration(QVariantMap result); - QString readLogFile(); - void tryAgain(); - bool checkConnectivityViaTcp(); - bool checkConnectivityViaTcp(QString server); + NetworkDiscovery(QObject *parent=0); + ~NetworkDiscovery(); + + void initAndRun(QString serverIp, bool userChoice, + bool autoUp, + QString pathToLogFile, + QString serverPath = DEFAULT_QTSOCKETADDRESS, + QString pathToExe = DEFAULT_PATHTODHCPCDEXE, + QStringList* args = NULL); + int ip4_replaceDefaultRoute(QString ifName, QString gateway, int mss); + QString getGatewayForInterface(QString ifName); + + int ip4_setManualConfiguration(QVariantMap result); + QString readLogFile(); + void tryAgain(); + bool checkConnectivityViaTcp(); QVariantMap getInterfaceConfig(QString ifName); private slots: @@ -92,6 +98,7 @@ private: bool checkCarrierState(QString interface); bool checkConnectivity(QString ifName); + bool checkConnectivityViaTcp(QString server); bool checkBlackList(QString i); void getListOfNetworkInterfaces(); diff --git a/src/ndgui.cpp b/src/ndgui.cpp index 8daef9e..c0a390f 100644 --- a/src/ndgui.cpp +++ b/src/ndgui.cpp @@ -7,6 +7,7 @@ ndgui::ndgui(QMainWindow *parent) : _started = false; _userChoice = false; + _tryAgain = false; createAction(); @@ -93,11 +94,15 @@ void ndgui::startNetworkDiscovery(){ disconnect(_webView,SIGNAL(loadFinished(bool)), this, SLOT(startNetworkDiscovery())); if(!_started) { - _started = true; - qxtLog->debug() << _tag << "Initializing networkDiscovery ..."; - QStringList l; - l << "-d"; - networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/tmp/fbgui.log","/var/tmp/qt_c_socket_custom", "/bin/cdhcpcd", &l); + if (!_tryAgain) { + _started = true; + QStringList l; + l << "-d"; + networkDiscovery.initAndRun("209.85.148.105", _userChoice, true, "/var/tmp/logfile","/var/tmp/qt_c_socket_custom", DEFAULT_PATHTODHCPCDEXE, &l); + } else { + _tryAgain = false; + networkDiscovery.tryAgain(); + } } else { qxtLog->debug() << _tag << "NetworkDiscovery already started"; @@ -189,9 +194,11 @@ void ndgui::continueBoot(QString ifName, int userChoice) { QString gateway = networkDiscovery.getGatewayForInterface(ifName); networkDiscovery.ip4_replaceDefaultRoute(ifName,gateway,0); } - //_webView->load(QUrl("qrc:html/continueBoot.html")); - emit initFbgui(); - this->hide(); + if (networkDiscovery.checkConnectivityViaTcp()) { + emit initFbgui(); + } else { + abortBoot("Interface was suddenly made unusable "); + } } @@ -208,8 +215,16 @@ QString ndgui::readLogFile() { /**/ void ndgui::tryAgain() { - qxtLog->debug() << _tag << "try again"; + qxtLog->debug()<< _tag << " try again "; + _tryAgain = true; + _started = false; + _ifNameList.clear(); + _manConfList.clear(); + createAction(); + _webView->load(QUrl("qrc:html/networkdiscovery_userchoice.html")); + _webView->show(); + QTimer::singleShot(2000, this, SLOT(prepareNetworkDiscover())); } diff --git a/src/ndgui.h b/src/ndgui.h index ab1f82b..96dac7a 100644 --- a/src/ndgui.h +++ b/src/ndgui.h @@ -58,6 +58,8 @@ private: bool _started; + bool _tryAgain; + QWebView * _webView; QAction * _allowUserChoice; diff --git a/src/networkdiscovery.cpp b/src/networkdiscovery.cpp index 94d1f63..938c504 100644 --- a/src/networkdiscovery.cpp +++ b/src/networkdiscovery.cpp @@ -1,3 +1,6 @@ +#include +#include + #include "networkdiscovery.h" #include "../common/fbgui.h" @@ -97,24 +100,7 @@ void NetworkDiscovery::initAndRun(QString serverIp, bool userChoice, bool autoUp qxtLog->debug() << _tag << "added additional args"; _dhcpcdArguments.append(*args); } - - // start the main work: - if (_autoUp) { - qxtLog->debug() << _tag << " call getListOfNetworkInterfacesWithAutoUp ..."; - getListOfNetworkInterfacesWithAutoUp(); - qxtLog->debug() << _tag << " ifUpList size: " << _ifUpList.size(); - qxtLog->debug() << _tag << " ifDownList size: " << _ifDownList.size(); - - } else { - qxtLog->debug() << _tag << " call getListOfNetworkInterfaces ..."; - getListOfNetworkInterfaces(); - } - - qxtLog->debug() << _tag << " init timer ..."; - _timer = new QTimer(this); - qxtLog->debug() << _tag << " call checkForIsRunning ..."; - connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); - _timer->start(1000); + mainWork(); } @@ -276,9 +262,59 @@ QString NetworkDiscovery::readLogFile() { -/**/ +/* + *TODO: to be bug fixed + *TODO: do it with kill and not QProcess("killall cdhcpcd") + *TODO: still some bugs. if you press tryAgain it can happen that the app stops with the mainscreen. + *TODO: reproducible: start normal with user choice. plug out the cable. press continue. abort screen should appear. + *TODO: press tryAgain. + */ void NetworkDiscovery::tryAgain() { + // kill all cdhcpcd processes + qDebug() << " kill cdhcpcd processes"; + QProcess * p = new QProcess(this); + p->start("killall cdhcpcd"); + p->waitForFinished(); + qDebug() << _tag << "[tryAgain]" << p->errorString(); + /* + foreach(Q_PID pid , _pidsList) { + if (kill(pid,SIGKILL) <= -1) + qDebug() << _tag << " error: trying to kill process: " << pid << " error: " << strerror(errno); + } + */ + // reset everything + _clients.clear(); + _clientProcessToIfNameMap.clear(); + _ifNameToClient.clear(); + _numberOfProcesses = 0; + _blocked = false; + _ifUpCountdown = 10; + _ifUpList.clear(); + _ifDownList.clear(); + _pidsList.clear(); + _ifcMap.clear(); + + // start again + mainWork(); + //SIGK + //kill(); +} + + +/**/ +QVariantMap NetworkDiscovery::getInterfaceConfig(QString ifName) { + QList dns; + interfaceconfiguration * ifc = _ifcMap.value(ifName, NULL); + if (ifc != NULL) { +// +// dns.clear(); +// dns = ifc->getDnsservers().trimmed().split(" "); +// +// //ifc->getIpAddress(), ifc->getNetmask(), ifc->getBroadcast(), +// //ifc->getGateway(), 0, AF_INET, "/etc/", dns); +// + } } @@ -290,6 +326,22 @@ void NetworkDiscovery::tryAgain() { **/ +/**/ +void NetworkDiscovery::mainWork() +{ + if (_autoUp) { + getListOfNetworkInterfacesWithAutoUp(); + _timer = new QTimer(this); + connect(_timer, SIGNAL(timeout()), this, SLOT(checkForIsRunning())); + _timer->start(1000); + + } else { + getListOfNetworkInterfaces(); + emit readyForRun(); + } +} + + /** * searches for usable interfaces and puts them into a list. @@ -364,7 +416,7 @@ void NetworkDiscovery::getListOfNetworkInterfaces() { continue; } if (!(nI.flags() & QNetworkInterface::IsRunning)) { - _ifDownList.append(nI.humanReadableName()) + _ifDownList.append(nI.humanReadableName()); } else { _ifUpList.append(nI.humanReadableName()); } @@ -516,6 +568,13 @@ bool NetworkDiscovery::checkConnectivity(QString ifName) { +/**/ +bool NetworkDiscovery::checkConnectivityViaTcp() { + return checkConnectivityViaTcp(_serverIp); +} + + + /** * try to open a tcp connection to the server * @@ -605,8 +664,8 @@ void NetworkDiscovery::handleNewInput() { QLocalSocket * client = _clients.value(socket); QString data(client->read(DHCP_MESSAGE_SIZE)); - client->write("ACK", ACK_SIZE); - client->waitForBytesWritten(); + //client->write("ACK", ACK_SIZE); + //client->waitForBytesWritten(); data = data.trimmed(); //qxtLog->debug() << _tag << data; QStringList lines = data.split("\n"); diff --git a/src/networkdiscovery.h b/src/networkdiscovery.h index c45b5aa..1f7bd9d 100644 --- a/src/networkdiscovery.h +++ b/src/networkdiscovery.h @@ -21,6 +21,7 @@ #include "dhcp.h" + #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" //#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" #define DEFAULT_PATHTODHCPCDEXE "/bin/cdhcpcd" @@ -44,6 +45,8 @@ public: int ip4_setManualConfiguration(QVariantMap result); QString readLogFile(); void tryAgain(); + bool checkConnectivityViaTcp(); + QVariantMap getInterfaceConfig(QString ifName); private slots: void handleNewConnection(); @@ -72,26 +75,27 @@ signals: private: QString _tag; - QLocalServer *_server; - QMap _clients; - QLocalSocket * _client; - QMap _ifNameToClient; - QMap _clientProcessToIfNameMap; - QString _pathToDhcpcdExe; - QStringList _dhcpcdArguments; - int _numberOfProcesses; - NetworkManager _networkManager; - bool _userChoice; - bool _blocked; - bool _autoUp; - QString _serverIp; - QString _pathToLogFile; - QList _ifUpList; - QList _ifDownList; - int _ifUpCountdown; - QTimer* _timer; - - QMap _ifcMap; + QLocalServer *_server; + QMap _clients; + QLocalSocket *_client; + QMap _ifNameToClient; + QMap _clientProcessToIfNameMap; + QString _pathToDhcpcdExe; + QStringList _dhcpcdArguments; + int _numberOfProcesses; + NetworkManager _networkManager; + bool _userChoice; + bool _blocked; + bool _autoUp; + QString _serverIp; + QString _pathToLogFile; + QList _ifUpList; + QList _ifDownList; + int _ifUpCountdown; + QTimer *_timer; + QList _pidsList; + QMap _ifcMap; + void mainWork(); void handleNewInput(QLocalSocket * client); @@ -101,6 +105,7 @@ private: bool checkCarrierState(QString interface); bool checkConnectivity(QString ifName); bool checkConnectivityViaTcp(QString server); + bool checkBlackList(QString i); void getListOfNetworkInterfaces(); diff --git a/src/networkmanager.cpp b/src/networkmanager.cpp index da5f045..c40c83d 100644 --- a/src/networkmanager.cpp +++ b/src/networkmanager.cpp @@ -94,6 +94,108 @@ int NetworkManager::replaceDefaultRoute(QString ifname, QString gateway, +/**/ +int NetworkManager::ip6_addRoute(const char *iface, + const struct in6_addr *ip6_dest, int ip6_prefix, + const struct in6_addr *ip6_gateway, int metric, int mss) { + struct nl_cache *cache; + struct nl_handle *nlh; + struct rtnl_route *route; + struct nl_addr *dest_addr; + struct nl_addr *gw_addr = NULL; + int err, iface_idx; + + nlh = nl_handle_alloc(); + nl_connect(nlh, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(nlh)) == NULL) { + //qDebug() << _tag << "error with link cache alloc \n"; + printf("error with link cache alloc \n"); + } + + iface_idx = rtnl_link_name2i(cache, iface); + + route = rtnl_route_alloc(); + + /* Destination */ + dest_addr = nl_addr_build(AF_INET6, (struct in6_addr *) ip6_dest, + sizeof(*ip6_dest)); + nl_addr_set_prefixlen(dest_addr, (int) ip6_prefix); + + rtnl_route_set_dst(route, dest_addr); + nl_addr_put(dest_addr); + + /* Gateway */ + if (ip6_gateway && !IN6_IS_ADDR_UNSPECIFIED (ip6_gateway)) { + gw_addr = nl_addr_build(AF_INET6, (struct in6_addr *) ip6_gateway, + sizeof(*ip6_gateway)); + if (gw_addr) { + rtnl_route_set_gateway(route, gw_addr); + rtnl_route_set_scope(route, RT_SCOPE_UNIVERSE); + } else { + rtnl_route_put(route); + return -1; + } + } + + /* Metric */ + if (metric) + rtnl_route_set_prio(route, metric); + + /* Add the route */ + err = rtnl_route_add(nlh, route, 0); + if (err == -ESRCH && ip6_gateway) { + /* Gateway might be over a bridge; try adding a route to gateway first */ + struct rtnl_route *route2; + + route2 = create_route(iface_idx, mss); + if (route2) { + /* Add route to gateway over bridge */ + rtnl_route_set_dst(route2, gw_addr); + err = rtnl_route_add(nlh, route2, 0); + if (!err) { + /* Try adding the route again */ + err = rtnl_route_add(nlh, route, 0); + if (err) + rtnl_route_del(nlh, route2, 0); + } + rtnl_route_put(route2); + } + } + + if (gw_addr) + nl_addr_put(gw_addr); + + if (err) { + //nm_warning ("Failed to set IPv6 route on '%s': %s", iface, nl_geterror ()); + rtnl_route_put(route); + route = NULL; + } + + return 0; +} + + + +struct rtnl_route * NetworkManager::create_route (int iface_idx, int mss) +{ + struct rtnl_route *route; + + route = rtnl_route_alloc (); + if (route) { + rtnl_route_set_oif (route, iface_idx); + + if (mss && rtnl_route_set_metric (route, RTAX_ADVMSS, mss) < 0) { + //nm_warning ("Could not set mss"); + } + } else + //nm_warning ("Could not allocate route"); + + return route; +} + + + /** * The method brings an interface up. * @@ -327,6 +429,83 @@ int NetworkManager::ip4_netmaskToPrefix(QString ipAddr, QString netmask) { +int NetworkManager::ip6_addAddress(struct ip6_addr* ip6Addr, const char *iface) { + int num_addrs, i, iface_idx; + struct rtnl_addr* addr = NULL; + struct nl_cache *cache; + struct nl_handle* rtsock; + + rtsock = nl_handle_alloc(); + nl_connect(rtsock, NETLINK_ROUTE); + + if ((cache = rtnl_link_alloc_cache(rtsock)) == NULL) { + qDebug() << _tag << "error with link cache alloc"; + return -1; + } + + iface_idx = rtnl_link_name2i(cache, iface); + + addr = ip6AddrToRtnlAddr(ip6Addr); + if (!addr) { + //nm_warning("couldn't create rtnl address!\n"); + return -1; + } + rtnl_addr_set_ifindex(addr, iface_idx); + + return sync_address(iface, iface_idx, AF_INET6, addr); +} + + + +/**/ +struct rtnl_addr* NetworkManager::ip6AddrToRtnlAddr(struct ip6_addr* ip6Addr) { + struct rtnl_addr *addr; + bool success = true; + + if (!(addr = rtnl_addr_alloc())) + return NULL; + + success = (nlAddrToRtnlAddr(ip6Addr, addr) >= 0); + + if (!success) { + rtnl_addr_put(addr); + addr = NULL; + } + + return addr; +} + + + +/**/ +struct nl_addr* NetworkManager::ip6AddrToNlAddr(const struct ip6_addr *ip6Addr) { + struct nl_addr * nla = NULL; + + if (!(nla = nl_addr_alloc(sizeof(struct in6_addr)))) + return NULL; + nl_addr_set_family(nla, AF_INET6); + nl_addr_set_binary_addr(nla, (struct in6_addr *) ip6Addr, sizeof(struct in6_addr)); + + return nla; +} + + + +/**/ +int NetworkManager::nlAddrToRtnlAddr( + const struct ip6_addr* ip6Addr, struct rtnl_addr* addr) { + struct nl_addr * local = NULL; + int err = 0; + + local = ip6AddrToNlAddr(ip6Addr); + err = rtnl_addr_set_local(addr, local); + nl_addr_put(local); + + return -err; +} + + + /** * delete all addresses of this interface but not the one we just set * diff --git a/src/networkmanager.h b/src/networkmanager.h index 3fb1587..f332f9e 100644 --- a/src/networkmanager.h +++ b/src/networkmanager.h @@ -38,6 +38,12 @@ public: QString broadcast, QString gateway, int metric, int af, QString pathToResolvConf, QList nameServer); int ip4_configureInterface(QString ifname, QString ipAddress, QString broadcast, QString netmask, int af); + + int ip6_addRoute(const char *iface, + const struct in6_addr *ip6_dest, int ip6_prefix, + const struct in6_addr *ip6_gateway, int metric, int mss); + int ip6_addAddress(struct ip6_addr* ip6Addr, const char *iface); + int writeResolvConf(QString path, QString ifname, QList nameServer); private: @@ -48,6 +54,11 @@ private: int sync_address(const char *iface, int ifindex, int family, struct rtnl_addr *addr); + struct rtnl_route* create_route (int iface_idx, int mss); + struct nl_addr* ip6AddrToNlAddr (const struct ip6_addr* ip6Addr); + int nlAddrToRtnlAddr (const struct ip6_addr* ip6Addr, struct rtnl_addr* addr); + struct rtnl_addr* ip6AddrToRtnlAddr(struct ip6_addr* ip6Addr); + }; -- cgit v1.2.3-55-g7522 From d3981804f31fb842d37607c7db58f9b977ba366e Mon Sep 17 00:00:00 2001 From: Niklas Date: Fri, 21 Oct 2011 14:30:36 +0200 Subject: added some config possibilities --- CMakeLists.txt | 2 +- common/fbgui.h | 6 +++--- src/main.cpp | 45 ++++++++++++++++++++++++++++++++++++++++++++- src/ndgui.cpp | 8 ++++++++ src/ndgui.h | 6 ++++++ src/networkdiscovery.cpp | 2 +- src/networkdiscovery.h | 3 +-- 7 files changed, 64 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 89139eb..6383b26 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,7 @@ set(QT_USE_QTNETWORK TRUE) set(QT_USE_QTWEBKIT TRUE) file(GLOB FBGUI_SOURCES src/*.cpp) -file(GLOB FBGUI_MOC_HEADERS src/*.h) +file(GLOB FBGUI_MOC_HEADERS src/*.h common/*.h) file(GLOB FBGUI_UIS src/*.ui) file(GLOB FBGUI_RCS src/*.qrc) diff --git a/common/fbgui.h b/common/fbgui.h index 75f9b7b..acbda66 100644 --- a/common/fbgui.h +++ b/common/fbgui.h @@ -1,5 +1,5 @@ -#ifndef FBGUI_H -#define FBGUI_H +#ifndef COMMON_FBGUI_H +#define COMMON_FBGUI_H #define DEFAULT_INTERFACE_CONF_LOCATION "/var/tmp/conf_" #define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" @@ -12,4 +12,4 @@ #define DHCPCD_WRITE 12 #define DHCPCD_LOG 13 -#endif // FBGUI_H +#endif // COMMON_FBGUI_H diff --git a/src/main.cpp b/src/main.cpp index e408a33..2df76a6 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -53,7 +53,12 @@ int main(int argc, char *argv[]) { required_argument, NULL, 'u' }, { "download", required_argument, NULL, 'd' }, { "serial", required_argument, NULL, 's' }, { "trigger", required_argument, NULL, 't' }, { "debug", required_argument, NULL, 'D' }, { "help", no_argument, NULL, 'h' }, { "log", - required_argument, NULL, 'l' } }; + required_argument, NULL, 'l' }, + { "server", required_argument, NULL, 'S' }, + { "autoup", no_argument, NULL, 'a' }, + { "socketserverpath", required_argument, NULL, 'p' }, + { "pathtoexe", required_argument, NULL, 'e' } + }; int opt = getopt_long(argc, argv, optString, longOpts, &longIndex); while (opt != -1) { switch (opt) { @@ -81,6 +86,18 @@ int main(int argc, char *argv[]) { case 'h': clOpts.insert("help", "help"); break; + case 'S': + clOpts.insert("server", optarg); + break; + case 'a': + clOpts.insert("autoup", "autoup"); + break; + case 'p': + clOpts.insert("socketserverpath", optarg); + break; + case 'e': + clOpts.insert("pathtoexe", optarg); + break; } opt = getopt_long(argc, argv, optString, longOpts, &longIndex); } @@ -175,6 +192,32 @@ int main(int argc, char *argv[]) { else logFilePath = DEFAULT_LOG_FILE_PATH; + // + if (clOpts.contains("server")) + gServerIp = clOpts.value("server"); + else + gServerIp = "209.85.148.105"; //that is a google server. change this to a proper default address + + // + if (clOpts.contains("autoup")) + gAutoUp = true; + else + gAutoUp = false; + + // + if (clOpts.contains("socketserverpath")) + gSocketServerPath = clOpts.value("socketserverpath"); + else + gSocketServerPath = DEFAULT_QTSOCKETADDRESS; + + // + if (clOpts.contains("pathtoexe")) + gPathToDhcpExe = clOpts.value("pathtoexe"); + else + gPathToDhcpExe = DEFAULT_PATHTODHCPCDEXE; + + + // write always a log file // // activate file logger if debug mode activated. // if (debugMode > -1) { diff --git a/src/ndgui.cpp b/src/ndgui.cpp index c0a390f..6e358b8 100644 --- a/src/ndgui.cpp +++ b/src/ndgui.cpp @@ -1,5 +1,13 @@ #include "ndgui.h" +QString gServerIp(""); +bool gAutoUp = true; +QString gSocketServerPath(""); +QString gPathToDhcpExe(""); + + + +/*constructor*/ ndgui::ndgui(QMainWindow *parent) : QMainWindow(parent) { diff --git a/src/ndgui.h b/src/ndgui.h index 96dac7a..f95e42d 100644 --- a/src/ndgui.h +++ b/src/ndgui.h @@ -8,6 +8,12 @@ #include "loggerengine.h" #include "networkdiscovery.h" + +extern QString gServerIp; +extern bool gAutoUp; +extern QString gSocketServerPath; +extern QString gPathToDhcpExe; + class ndgui: public QMainWindow { Q_OBJECT diff --git a/src/networkdiscovery.cpp b/src/networkdiscovery.cpp index 938c504..df1ae3c 100644 --- a/src/networkdiscovery.cpp +++ b/src/networkdiscovery.cpp @@ -3,7 +3,7 @@ #include "networkdiscovery.h" -#include "../common/fbgui.h" + /** diff --git a/src/networkdiscovery.h b/src/networkdiscovery.h index 1f7bd9d..3e34e7d 100644 --- a/src/networkdiscovery.h +++ b/src/networkdiscovery.h @@ -16,13 +16,12 @@ #include "interfaceconfiguration.h" #include "networkmanager.h" -#include "../common/fbgui.h" #include "dhcp.h" +#include "../common/fbgui.h" -#define DEFAULT_QTSOCKETADDRESS "/var/tmp/qt_c_socket_default" //#define DEFAULT_PATHTODHCPCDEXE "/home/niklas/fbgui/customdhcpcd/src/build/cdhcpcd" #define DEFAULT_PATHTODHCPCDEXE "/bin/cdhcpcd" -- cgit v1.2.3-55-g7522 From ce5d32ce282160fa152eb701afad2949fb3f2534 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 24 Oct 2011 14:52:29 +0200 Subject: manual conf shows now a no interfaces found message without any form fields. --- src/html/js/networkDiscovery.js | 131 ++++++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 59 deletions(-) diff --git a/src/html/js/networkDiscovery.js b/src/html/js/networkDiscovery.js index 1d67eac..7f065d0 100644 --- a/src/html/js/networkDiscovery.js +++ b/src/html/js/networkDiscovery.js @@ -44,73 +44,86 @@ var getInterfaceConf = function (i) { var n = i.options[i.selectedIndex].text(); }; + + var ip4_manualConfigurationDialog = function () { var jsonArr = fbgui.getManualConfInterfaces(); - //jsonArr = eval('(' + jsonArr + ')'); - var c = ""; + jQuery.each(jsonArr, function() { c += " "; - } - ); - } - c += ""; - $("#nd_mc_ifname").html(c); + } + ); + + c += ""; + $("#nd_mc_ifname").html(c); - var ifname = $("#nd_mc_ifname_select :selected").text(), - ipaddr = $("#ipaddr"), - netmask = $("#netmask"), - broadcast = $("#broadcast"), - gateway = $("#gateway"), - dns = $("#dns"), - allFields = $([]).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); + var ifname = $("#nd_mc_ifname_select :selected").text(), + ipaddr = $("#ipaddr"), + netmask = $("#netmask"), + broadcast = $("#broadcast"), + gateway = $("#gateway"), + dns = $("#dns"), + allFields = $([]).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); - $("#nd_manual_configuration_dialog").dialog( - { buttons: { "Cancel": function() { - $(this).dialog("close");}, - "Ok": function() { - var bValid = true; - allFields.removeClass("ui-state-error"); - - bValid = bValid && checkLength(ipaddr, "IP-Address", 7, 15); - bValid = bValid && checkLength(netmask, "Netmask Address", 7, 15); - bValid = bValid && checkLength(broadcast, "Broadcast Address", 7, 15); - bValid = bValid && checkLength(gateway, "Gateway Address", 7, 15); - bValid = bValid && checkLength(dns, "DNS Address", 7, 15); - - bValid = bValid && checkRegexp(ipaddr, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.2 (max value is 255)"); - bValid = bValid && checkRegexp(netmask, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 255.255.255.0 (max value is 255)"); - bValid = bValid && checkRegexp(broadcast, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.255 (max value is 255)"); - bValid = bValid && checkRegexp(gateway, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.254 (max value is 255)"); - bValid = bValid && checkRegexp(dns, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.111 (max value is 255)"); - - if (bValid) { - // put variables into a json object - // send to qt networkdiscovery - var o = {"ifname" : ifname, - "ipaddr" : ipaddr.val(), - "netmask" : netmask.val(), - "broadcast" : broadcast.val(), - "gateway" : gateway.val(), - "dns" : dns.val() } - try { - fbgui.ip4_setManualConfiguration(o); - } catch (e) { - fbgui.notifyCall(e); - } - $(this).dialog("close"); - } } - } , - minWidth: 450, - modal: true, - resizable: false, - draggable: false, - close: function() {allFields.val("").removeClass("ui-state-error");}, - open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} - }); + $("#nd_manual_configuration_dialog").dialog( + { buttons: { "Cancel": function() { + $(this).dialog("close");}, + "Ok": function() { + var bValid = true; + allFields.removeClass("ui-state-error"); + + bValid = bValid && checkLength(ipaddr, "IP-Address", 7, 15); + bValid = bValid && checkLength(netmask, "Netmask Address", 7, 15); + bValid = bValid && checkLength(broadcast, "Broadcast Address", 7, 15); + bValid = bValid && checkLength(gateway, "Gateway Address", 7, 15); + bValid = bValid && checkLength(dns, "DNS Address", 7, 15); + + bValid = bValid && checkRegexp(ipaddr, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.2 (max value is 255)"); + bValid = bValid && checkRegexp(netmask, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 255.255.255.0 (max value is 255)"); + bValid = bValid && checkRegexp(broadcast, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.255 (max value is 255)"); + bValid = bValid && checkRegexp(gateway, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.254 (max value is 255)"); + bValid = bValid && checkRegexp(dns, /\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/, "Is not a valid IP-Address! Format has to be e.g.: 192.168.1.111 (max value is 255)"); + + if (bValid) { + // put variables into a json object + // send to qt networkdiscovery + var o = {"ifname" : ifname, + "ipaddr" : ipaddr.val(), + "netmask" : netmask.val(), + "broadcast" : broadcast.val(), + "gateway" : gateway.val(), + "dns" : dns.val() } + try { + fbgui.ip4_setManualConfiguration(o); + } catch (e) { + fbgui.notifyCall(e); + } + $(this).dialog("close"); + } } + } , + minWidth: 450, + modal: true, + resizable: false, + draggable: false, + close: function() {allFields.val("").removeClass("ui-state-error");}, + open: function(event, ui) { $(".ui-dialog-titlebar-close").hide();} + }); + } }; var abortBootDialog = function (m) { -- cgit v1.2.3-55-g7522 From 658ae710964c6d8f4c157cc36f42940563781d09 Mon Sep 17 00:00:00 2001 From: Niklas Date: Mon, 24 Oct 2011 16:05:51 +0200 Subject: manual conf. onchange interface, present the already collected infos --- src/html/js/networkDiscovery.js | 52 +++++++++++++++++++++++++++++++++++++---- src/ndgui.cpp | 6 +++++ src/ndgui.h | 1 + 3 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/html/js/networkDiscovery.js b/src/html/js/networkDiscovery.js index 7f065d0..ec7fff6 100644 --- a/src/html/js/networkDiscovery.js +++ b/src/html/js/networkDiscovery.js @@ -9,6 +9,8 @@ var updateTips = function ( t ) { 500 ); }; + + var checkLength = function ( o, n, min, max ) { if ( o.val().length > max || o.val().length < min ) { o.addClass( "ui-state-error" ); @@ -20,6 +22,8 @@ var checkLength = function ( o, n, min, max ) { } }; + + var checkRegexp = function ( o, regexp, n ) { if ( !( regexp.test( o.val() ) ) ) { o.addClass( "ui-state-error" ); @@ -30,6 +34,8 @@ var checkRegexp = function ( o, regexp, n ) { } }; + + var showLog = function (t) { $("#nd_show_log_msg").html(t); //$("#nd_show_log_msg").attr('readonly','readonly'); @@ -40,14 +46,39 @@ var showLog = function (t) { }); }; + + +var getInterfaceConfOnChange = function (i) { + var n = i.options[i.selectedIndex].text; + var jsonObj = fbgui.getInterfaceConf(n); + if (!jQuery.isEmptyObject(jsonObj)) { + $("#ipaddr").val(jsonObj.ipaddr); + $("#netmask").val(jsonObj.netmask); + $("#broadcast").val(jsonObj.broadcast); + $("#gateway").val(jsonObj.gateway); + $("#dns").val(jsonObj.dns); + } + +}; + + + var getInterfaceConf = function (i) { - var n = i.options[i.selectedIndex].text(); + var jsonObj = fbgui.getInterfaceConf(i); + if (!jQuery.isEmptyObject(jsonObj)) { + $("#ipaddr").val(jsonObj.ipaddr); + $("#netmask").val(jsonObj.netmask); + $("#broadcast").val(jsonObj.broadcast); + $("#gateway").val(jsonObj.gateway); + $("#dns").val(jsonObj.dns); + } + }; var ip4_manualConfigurationDialog = function () { - var jsonArr = fbgui.getManualConfInterfaces(); + var jsonArr = "eth0";// fbgui.getManualConfInterfaces(); if(jsonArr == "") { var c = "

            Have not found usable interfaces for manual configuration

            "; $("#nd_manual_configuration_dialog").html(c); @@ -62,7 +93,7 @@ var ip4_manualConfigurationDialog = function () { }); } else { - var c = ""; jQuery.each(jsonArr, function() { c += " "; } @@ -79,7 +110,8 @@ var ip4_manualConfigurationDialog = function () { dns = $("#dns"), allFields = $([]).add(ipaddr).add(netmask).add(broadcast).add(gateway).add(dns); - + getInterfaceConf(ifname); + $("#nd_manual_configuration_dialog").dialog( { buttons: { "Cancel": function() { $(this).dialog("close");}, @@ -126,6 +158,8 @@ var ip4_manualConfigurationDialog = function () { } }; + + var abortBootDialog = function (m) { fbgui.notifyCall("abortBootDialog"); $("#nd_abort_boot_msg").html(m); @@ -150,6 +184,8 @@ var abortBootDialog = function (m) { }); }; + + var chooseInterfaceDialog = function (i) { var cb = ""+ " + + + + + + + + + + +
            + +
            + + +
            + +
            + +
            +

            RZ Uni Freiburg, 2011

            +
            + + diff --git a/src/html/networkdiscovery_userchoice.html b/src/html/networkdiscovery_userchoice.html index 9cf165f..3625fe0 100644 --- a/src/html/networkdiscovery_userchoice.html +++ b/src/html/networkdiscovery_userchoice.html @@ -5,7 +5,17 @@ - + + + + @@ -14,6 +24,7 @@

            Please press F5 if you want to choose which interface to use.

            +