about summary refs log tree commit diff stats
path: root/src/xmpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/xmpp')
-rw-r--r--src/xmpp/capabilities.c1
-rw-r--r--src/xmpp/connection.c1
-rw-r--r--src/xmpp/iq.c1
-rw-r--r--src/xmpp/message.c1
-rw-r--r--src/xmpp/presence.c1
-rw-r--r--src/xmpp/stanza.c2
-rw-r--r--src/xmpp/stanza.h152
-rw-r--r--src/xmpp/xmpp.h125
8 files changed, 158 insertions, 126 deletions
diff --git a/src/xmpp/capabilities.c b/src/xmpp/capabilities.c
index 7b3e06e5..535849e5 100644
--- a/src/xmpp/capabilities.c
+++ b/src/xmpp/capabilities.c
@@ -30,6 +30,7 @@
 #include "config.h"
 #include "common.h"
 #include "xmpp.h"
+#include "stanza.h"
 
 static GHashTable *capabilities;
 
diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c
index 3fdfd1c6..18f54183 100644
--- a/src/xmpp/connection.c
+++ b/src/xmpp/connection.c
@@ -35,6 +35,7 @@
 #include "profanity.h"
 #include "muc.h"
 #include "xmpp.h"
+#include "stanza.h"
 
 static struct _jabber_conn_t {
     xmpp_log_t *log;
diff --git a/src/xmpp/iq.c b/src/xmpp/iq.c
index 267a31c7..3618b24d 100644
--- a/src/xmpp/iq.c
+++ b/src/xmpp/iq.c
@@ -30,6 +30,7 @@
 #include "contact_list.h"
 #include "log.h"
 #include "xmpp.h"
+#include "stanza.h"
 
 #define HANDLE(ns, type, func) xmpp_handler_add(conn, func, ns, STANZA_NAME_IQ, type, ctx)
 
diff --git a/src/xmpp/message.c b/src/xmpp/message.c
index cf5b552e..2851bde4 100644
--- a/src/xmpp/message.c
+++ b/src/xmpp/message.c
@@ -31,6 +31,7 @@
 #include "preferences.h"
 #include "profanity.h"
 #include "xmpp.h"
+#include "stanza.h"
 
 #define HANDLE(ns, type, func) xmpp_handler_add(conn, func, ns, STANZA_NAME_MESSAGE, type, ctx)
 
diff --git a/src/xmpp/presence.c b/src/xmpp/presence.c
index b29b9122..2046845f 100644
--- a/src/xmpp/presence.c
+++ b/src/xmpp/presence.c
@@ -31,6 +31,7 @@
 #include "preferences.h"
 #include "profanity.h"
 #include "xmpp.h"
+#include "stanza.h"
 
 static GHashTable *sub_requests;
 
diff --git a/src/xmpp/stanza.c b/src/xmpp/stanza.c
index 90501ffe..554dfc1c 100644
--- a/src/xmpp/stanza.c
+++ b/src/xmpp/stanza.c
@@ -27,7 +27,7 @@
 #include <strophe.h>
 
 #include "common.h"
-#include "xmpp.h"
+#include "stanza.h"
 
 static int _field_compare(FormField *f1, FormField *f2);
 
diff --git a/src/xmpp/stanza.h b/src/xmpp/stanza.h
new file mode 100644
index 00000000..ab5f79a5
--- /dev/null
+++ b/src/xmpp/stanza.h
@@ -0,0 +1,152 @@
+/*
+ * stanza.h
+ *
+ * Copyright (C) 2012, 2013 James Booth <boothj5@gmail.com>
+ *
+ * This file is part of Profanity.
+ *
+ * Profanity is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Profanity is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Profanity.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#ifndef STANZA_H
+#define STANZA_H
+
+#include <strophe.h>
+
+#define STANZA_NAME_ACTIVE "active"
+#define STANZA_NAME_INACTIVE "inactive"
+#define STANZA_NAME_COMPOSING "composing"
+#define STANZA_NAME_PAUSED "paused"
+#define STANZA_NAME_GONE "gone"
+
+#define STANZA_NAME_MESSAGE "message"
+#define STANZA_NAME_BODY "body"
+#define STANZA_NAME_PRESENCE "presence"
+#define STANZA_NAME_PRIORITY "priority"
+#define STANZA_NAME_X "x"
+#define STANZA_NAME_SHOW "show"
+#define STANZA_NAME_STATUS "status"
+#define STANZA_NAME_IQ "iq"
+#define STANZA_NAME_QUERY "query"
+#define STANZA_NAME_DELAY "delay"
+#define STANZA_NAME_ERROR "error"
+#define STANZA_NAME_PING "ping"
+#define STANZA_NAME_TEXT "text"
+#define STANZA_NAME_SUBJECT "subject"
+#define STANZA_NAME_ITEM "item"
+#define STANZA_NAME_C "c"
+#define STANZA_NAME_IDENTITY "identity"
+#define STANZA_NAME_FEATURE "feature"
+
+#define STANZA_TYPE_CHAT "chat"
+#define STANZA_TYPE_GROUPCHAT "groupchat"
+#define STANZA_TYPE_UNAVAILABLE "unavailable"
+#define STANZA_TYPE_SUBSCRIBE "subscribe"
+#define STANZA_TYPE_SUBSCRIBED "subscribed"
+#define STANZA_TYPE_UNSUBSCRIBED "unsubscribed"
+#define STANZA_TYPE_GET "get"
+#define STANZA_TYPE_SET "set"
+#define STANZA_TYPE_ERROR "error"
+#define STANZA_TYPE_RESULT "result"
+
+#define STANZA_ATTR_TO "to"
+#define STANZA_ATTR_FROM "from"
+#define STANZA_ATTR_STAMP "stamp"
+#define STANZA_ATTR_TYPE "type"
+#define STANZA_ATTR_CODE "code"
+#define STANZA_ATTR_JID "jid"
+#define STANZA_ATTR_NAME "name"
+#define STANZA_ATTR_SUBSCRIPTION "subscription"
+#define STANZA_ATTR_XMLNS "xmlns"
+#define STANZA_ATTR_NICK "nick"
+#define STANZA_ATTR_ASK "ask"
+#define STANZA_ATTR_ID "id"
+#define STANZA_ATTR_SECONDS "seconds"
+#define STANZA_ATTR_NODE "node"
+#define STANZA_ATTR_VER "ver"
+#define STANZA_ATTR_VAR "var"
+#define STANZA_ATTR_HASH "hash"
+
+#define STANZA_TEXT_AWAY "away"
+#define STANZA_TEXT_DND "dnd"
+#define STANZA_TEXT_CHAT "chat"
+#define STANZA_TEXT_XA "xa"
+#define STANZA_TEXT_ONLINE "online"
+
+#define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates"
+#define STANZA_NS_MUC "http://jabber.org/protocol/muc"
+#define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user"
+#define STANZA_NS_CAPS "http://jabber.org/protocol/caps"
+#define STANZA_NS_PING "urn:xmpp:ping"
+#define STANZA_NS_LASTACTIVITY "jabber:iq:last"
+#define STANZA_NS_DATA "jabber:x:data"
+#define STANZA_NS_VERSION "jabber:iq:version"
+
+typedef struct form_field_t {
+    char *var;
+    GSList *values;
+} FormField;
+
+typedef struct data_form_t {
+    char *form_type;
+    GSList *fields;
+} DataForm;
+
+xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx,
+    const char * const recipient, const char * const state);
+
+xmpp_stanza_t* stanza_create_message(xmpp_ctx_t *ctx,
+    const char * const recipient, const char * const type,
+    const char * const message, const char * const state);
+
+xmpp_stanza_t* stanza_create_room_join_presence(xmpp_ctx_t *ctx,
+    const char * const full_room_jid);
+
+xmpp_stanza_t* stanza_create_room_newnick_presence(xmpp_ctx_t *ctx,
+    const char * const full_room_jid);
+
+xmpp_stanza_t* stanza_create_room_leave_presence(xmpp_ctx_t *ctx,
+    const char * const room, const char * const nick);
+
+xmpp_stanza_t* stanza_create_presence(xmpp_ctx_t *ctx, const char * const show,
+    const char * const status);
+
+xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx);
+xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx);
+xmpp_stanza_t* stanza_create_disco_iq(xmpp_ctx_t *ctx, const char * const id,
+    const char * const to, const char * const node);
+
+gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza);
+
+gboolean stanza_get_delay(xmpp_stanza_t * const stanza, GTimeVal *tv_stamp);
+
+gboolean stanza_is_muc_self_presence(xmpp_stanza_t * const stanza,
+    const char * const self_jid);
+gboolean stanza_is_room_nick_change(xmpp_stanza_t * const stanza);
+
+char * stanza_get_new_nick(xmpp_stanza_t * const stanza);
+
+int stanza_get_idle_time(xmpp_stanza_t * const stanza);
+char * stanza_get_caps_str(xmpp_stanza_t * const stanza);
+gboolean stanza_contains_caps(xmpp_stanza_t * const stanza);
+char * stanza_caps_get_hash(xmpp_stanza_t * const stanza);
+gboolean stanza_is_caps_request(xmpp_stanza_t * const stanza);
+
+gboolean stanza_is_version_request(xmpp_stanza_t * const stanza);
+
+DataForm * stanza_create_form(xmpp_stanza_t * const stanza);
+void stanza_destroy_form(DataForm *form);
+
+#endif
diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h
index 18fb9a3f..94db67de 100644
--- a/src/xmpp/xmpp.h
+++ b/src/xmpp/xmpp.h
@@ -31,75 +31,6 @@
 #define JABBER_PRIORITY_MIN -128
 #define JABBER_PRIORITY_MAX 127
 
-#define STANZA_NAME_ACTIVE "active"
-#define STANZA_NAME_INACTIVE "inactive"
-#define STANZA_NAME_COMPOSING "composing"
-#define STANZA_NAME_PAUSED "paused"
-#define STANZA_NAME_GONE "gone"
-
-#define STANZA_NAME_MESSAGE "message"
-#define STANZA_NAME_BODY "body"
-#define STANZA_NAME_PRESENCE "presence"
-#define STANZA_NAME_PRIORITY "priority"
-#define STANZA_NAME_X "x"
-#define STANZA_NAME_SHOW "show"
-#define STANZA_NAME_STATUS "status"
-#define STANZA_NAME_IQ "iq"
-#define STANZA_NAME_QUERY "query"
-#define STANZA_NAME_DELAY "delay"
-#define STANZA_NAME_ERROR "error"
-#define STANZA_NAME_PING "ping"
-#define STANZA_NAME_TEXT "text"
-#define STANZA_NAME_SUBJECT "subject"
-#define STANZA_NAME_ITEM "item"
-#define STANZA_NAME_C "c"
-#define STANZA_NAME_IDENTITY "identity"
-#define STANZA_NAME_FEATURE "feature"
-
-#define STANZA_TYPE_CHAT "chat"
-#define STANZA_TYPE_GROUPCHAT "groupchat"
-#define STANZA_TYPE_UNAVAILABLE "unavailable"
-#define STANZA_TYPE_SUBSCRIBE "subscribe"
-#define STANZA_TYPE_SUBSCRIBED "subscribed"
-#define STANZA_TYPE_UNSUBSCRIBED "unsubscribed"
-#define STANZA_TYPE_GET "get"
-#define STANZA_TYPE_SET "set"
-#define STANZA_TYPE_ERROR "error"
-#define STANZA_TYPE_RESULT "result"
-
-#define STANZA_ATTR_TO "to"
-#define STANZA_ATTR_FROM "from"
-#define STANZA_ATTR_STAMP "stamp"
-#define STANZA_ATTR_TYPE "type"
-#define STANZA_ATTR_CODE "code"
-#define STANZA_ATTR_JID "jid"
-#define STANZA_ATTR_NAME "name"
-#define STANZA_ATTR_SUBSCRIPTION "subscription"
-#define STANZA_ATTR_XMLNS "xmlns"
-#define STANZA_ATTR_NICK "nick"
-#define STANZA_ATTR_ASK "ask"
-#define STANZA_ATTR_ID "id"
-#define STANZA_ATTR_SECONDS "seconds"
-#define STANZA_ATTR_NODE "node"
-#define STANZA_ATTR_VER "ver"
-#define STANZA_ATTR_VAR "var"
-#define STANZA_ATTR_HASH "hash"
-
-#define STANZA_TEXT_AWAY "away"
-#define STANZA_TEXT_DND "dnd"
-#define STANZA_TEXT_CHAT "chat"
-#define STANZA_TEXT_XA "xa"
-#define STANZA_TEXT_ONLINE "online"
-
-#define STANZA_NS_CHATSTATES "http://jabber.org/protocol/chatstates"
-#define STANZA_NS_MUC "http://jabber.org/protocol/muc"
-#define STANZA_NS_MUC_USER "http://jabber.org/protocol/muc#user"
-#define STANZA_NS_CAPS "http://jabber.org/protocol/caps"
-#define STANZA_NS_PING "urn:xmpp:ping"
-#define STANZA_NS_LASTACTIVITY "jabber:iq:last"
-#define STANZA_NS_DATA "jabber:x:data"
-#define STANZA_NS_VERSION "jabber:iq:version"
-
 typedef enum {
     JABBER_UNDEFINED,
     JABBER_STARTED,
@@ -119,16 +50,6 @@ typedef struct capabilities_t {
     char *client;
 } Capabilities;
 
-typedef struct form_field_t {
-    char *var;
-    GSList *values;
-} FormField;
-
-typedef struct data_form_t {
-    char *form_type;
-    GSList *fields;
-} DataForm;
-
 // connection functions
 void jabber_init(const int disable_tls);
 jabber_conn_status_t jabber_connect_with_details(const char * const jid,
@@ -186,50 +107,4 @@ char* caps_create_sha1_str(xmpp_stanza_t * const query);
 xmpp_stanza_t* caps_create_query_response_stanza(xmpp_ctx_t * const ctx);
 void caps_close(void);
 
-// stanza related functions
-xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx,
-    const char * const recipient, const char * const state);
-
-xmpp_stanza_t* stanza_create_message(xmpp_ctx_t *ctx,
-    const char * const recipient, const char * const type,
-    const char * const message, const char * const state);
-
-xmpp_stanza_t* stanza_create_room_join_presence(xmpp_ctx_t *ctx,
-    const char * const full_room_jid);
-
-xmpp_stanza_t* stanza_create_room_newnick_presence(xmpp_ctx_t *ctx,
-    const char * const full_room_jid);
-
-xmpp_stanza_t* stanza_create_room_leave_presence(xmpp_ctx_t *ctx,
-    const char * const room, const char * const nick);
-
-xmpp_stanza_t* stanza_create_presence(xmpp_ctx_t *ctx, const char * const show,
-    const char * const status);
-
-xmpp_stanza_t* stanza_create_roster_iq(xmpp_ctx_t *ctx);
-xmpp_stanza_t* stanza_create_ping_iq(xmpp_ctx_t *ctx);
-xmpp_stanza_t* stanza_create_disco_iq(xmpp_ctx_t *ctx, const char * const id,
-    const char * const to, const char * const node);
-
-gboolean stanza_contains_chat_state(xmpp_stanza_t *stanza);
-
-gboolean stanza_get_delay(xmpp_stanza_t * const stanza, GTimeVal *tv_stamp);
-
-gboolean stanza_is_muc_self_presence(xmpp_stanza_t * const stanza,
-    const char * const self_jid);
-gboolean stanza_is_room_nick_change(xmpp_stanza_t * const stanza);
-
-char * stanza_get_new_nick(xmpp_stanza_t * const stanza);
-
-int stanza_get_idle_time(xmpp_stanza_t * const stanza);
-char * stanza_get_caps_str(xmpp_stanza_t * const stanza);
-gboolean stanza_contains_caps(xmpp_stanza_t * const stanza);
-char * stanza_caps_get_hash(xmpp_stanza_t * const stanza);
-gboolean stanza_is_caps_request(xmpp_stanza_t * const stanza);
-
-gboolean stanza_is_version_request(xmpp_stanza_t * const stanza);
-
-DataForm * stanza_create_form(xmpp_stanza_t * const stanza);
-void stanza_destroy_form(DataForm *form);
-
 #endif