diff options
| author | Niklas | 2011-07-21 17:29:53 +0200 |
|---|---|---|
| committer | Niklas | 2011-07-21 17:29:53 +0200 |
| commit | ddac93a94b860c94e6fb893ed5a9c508c19231f1 (patch) | |
| tree | fc37d45829e2d94f9fbcfe08531fdb3a10750009 /workspace/customdhcpcd/src | |
| parent | configuration of more than one interface is working. Both progressbars are up... (diff) | |
| download | fbgui-ddac93a94b860c94e6fb893ed5a9c508c19231f1.tar.gz fbgui-ddac93a94b860c94e6fb893ed5a9c508c19231f1.tar.xz fbgui-ddac93a94b860c94e6fb893ed5a9c508c19231f1.zip | |
log messages are delivered to qt app.
Diffstat (limited to 'workspace/customdhcpcd/src')
| -rw-r--r-- | workspace/customdhcpcd/src/client.c | 2 | ||||
| -rw-r--r-- | workspace/customdhcpcd/src/dhcpcd.c | 4 | ||||
| -rw-r--r-- | workspace/customdhcpcd/src/logger.c | 7 | ||||
| -rw-r--r-- | workspace/customdhcpcd/src/logwriter.c | 28 | ||||
| -rw-r--r-- | workspace/customdhcpcd/src/logwriter.h | 1 |
5 files changed, 30 insertions, 12 deletions
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); |
