diff --git a/jabber.c b/jabber.c index 7c6fb26c..3c6746ed 100644 --- a/jabber.c +++ b/jabber.c @@ -9,7 +9,6 @@ extern FILE *logp; extern WINDOW *main_win; - int in_message_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, void * const userdata) { @@ -57,7 +56,26 @@ void conn_handler(xmpp_conn_t * const conn, const xmpp_conn_event_t status, } } - +void prof_send(char *msg, xmpp_ctx_t *ctx, xmpp_conn_t *conn) +{ + xmpp_stanza_t *reply, *body, *text; + + reply = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(reply, "message"); + xmpp_stanza_set_type(reply, "chat"); + xmpp_stanza_set_attribute(reply, "to", "boothj5@localhost"); + + body = xmpp_stanza_new(ctx); + xmpp_stanza_set_name(body, "body"); + + text = xmpp_stanza_new(ctx); + xmpp_stanza_set_text(text, msg); + xmpp_stanza_add_child(body, text); + xmpp_stanza_add_child(reply, body); + + xmpp_send(conn, reply); + xmpp_stanza_release(reply); +} diff --git a/jabber.h b/jabber.h index d9238051..f83cb128 100644 --- a/jabber.h +++ b/jabber.h @@ -3,13 +3,13 @@ #include -// message handlers int in_message_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza, void * const userdata); -// connection handler void conn_handler(xmpp_conn_t * const conn, const xmpp_conn_event_t status, const int error, xmpp_stream_error_t * const stream_error, void * const userdata); +void prof_send(char *msg, xmpp_ctx_t *ctx, xmpp_conn_t *conn); + #endif diff --git a/profanity.c b/profanity.c index b8575cc8..c13dfb9c 100644 --- a/profanity.c +++ b/profanity.c @@ -134,24 +134,8 @@ void event_loop(xmpp_ctx_t *ctx, xmpp_conn_t *conn) break; } else { // send the message - xmpp_stanza_t *reply, *body, *text; - - reply = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(reply, "message"); - xmpp_stanza_set_type(reply, "chat"); - xmpp_stanza_set_attribute(reply, "to", "boothj5@localhost"); - - body = xmpp_stanza_new(ctx); - xmpp_stanza_set_name(body, "body"); - - text = xmpp_stanza_new(ctx); - xmpp_stanza_set_text(text, command); - xmpp_stanza_add_child(body, text); - xmpp_stanza_add_child(reply, body); - - xmpp_send(conn, reply); - xmpp_stanza_release(reply); - + prof_send(command, ctx, conn); + // show it in the main window wprintw(main_win, "me: %s\n", command); wrefresh(main_win);