1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-07-21 18:24:14 -04:00

Moved incoming display message

This commit is contained in:
James Booth 2012-02-06 22:29:05 +00:00
parent 14f4478bea
commit bbb0fbed4f
6 changed files with 29 additions and 20 deletions

View File

@ -12,24 +12,18 @@ extern WINDOW *main_win;
int in_message_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
void * const userdata)
{
char *intext;
char *message;
if(!xmpp_stanza_get_child_by_name(stanza, "body"))
return 1;
if(!strcmp(xmpp_stanza_get_attribute(stanza, "type"), "error"))
return 1;
intext = xmpp_stanza_get_text(xmpp_stanza_get_child_by_name(stanza, "body"));
message = xmpp_stanza_get_text(xmpp_stanza_get_child_by_name(stanza, "body"));
char in_line[200];
char *from = xmpp_stanza_get_attribute(stanza, "from");
char *short_from = strtok(from, "@");
sprintf(in_line, "%s: %s\n", short_from, intext);
wprintw(main_win, in_line);
wrefresh(main_win);
show_incomming_msg(short_from, message);
return 1;
}
@ -42,7 +36,7 @@ void conn_handler(xmpp_conn_t * const conn, const xmpp_conn_event_t status,
if (status == XMPP_CONN_CONNECT) {
xmpp_stanza_t* pres;
fprintf(logp, "DEBUG: connected\n");
logmsg(CONN, "connected");
xmpp_handler_add(conn,in_message_handler, NULL, "message", NULL, ctx);
pres = xmpp_stanza_new(ctx);
@ -51,7 +45,7 @@ void conn_handler(xmpp_conn_t * const conn, const xmpp_conn_event_t status,
xmpp_stanza_release(pres);
}
else {
fprintf(logp, "DEBUG: disconnected\n");
logmsg(CONN, "disconnected");
xmpp_stop(ctx);
}
}

7
log.c
View File

@ -23,6 +23,11 @@ void xmpp_file_logger(void * const userdata, const xmpp_log_level_t level,
void logmsg(const char * const area, const char * const msg)
{
fprintf(logp, "%s DEBUG %s\n", area, msg);
fprintf(logp, "%s DEBUG: %s\n", area, msg);
}
void start_log(void)
{
logp = fopen("profanity.log", "a");
logmsg(PROF, "Starting Profanity...");
}

6
log.h
View File

@ -1,9 +1,13 @@
#ifndef LOG_H
#define LOG_H
FILE *logp;
#define PROF "prof"
#define CONN "conn"
FILE *logp;
xmpp_log_t *xmpp_get_file_logger();
void logmsg(const char * const area, const char * const msg);
void start_log(void);
#endif

View File

@ -9,12 +9,9 @@
#include "windows.h"
#include "jabber.h"
// refernce to log
// reference to log
extern FILE *logp;
// area for log message in profanity
static const char *prof = "prof";
// window references
extern WINDOW *title_bar;
extern WINDOW *cmd_bar;
@ -32,8 +29,7 @@ int main(void)
xmpp_conn_t *conn;
xmpp_log_t *log;
logp = fopen("profanity.log", "a");
logmsg(prof, "Starting Profanity...");
start_log();
// initialise curses, and create windows
initgui();
@ -70,7 +66,7 @@ int main(void)
char loginmsg[100];
sprintf(loginmsg, "User <%s> logged in", user);
logmsg(prof, loginmsg);
logmsg(PROF, loginmsg);
xmpp_initialize();

View File

@ -80,3 +80,12 @@ static void create_main_window(void)
main_win = newwin(rows-3, cols, 1, 0);
scrollok(main_win, TRUE);
}
void show_incomming_msg(char *from, char *message)
{
char line[100];
sprintf(line, "%s: %s\n", from, message);
wprintw(main_win, line);
wrefresh(main_win);
}

View File

@ -9,5 +9,6 @@ WINDOW *main_win;
// window creation
void initgui(void);
void show_incomming_msg(char *from, char *message);
#endif