mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-28 04:36:22 +00:00
Use resource in chat sessions
This commit is contained in:
@@ -149,23 +149,22 @@ message_send_invite(const char * const roomjid, const char * const contact,
|
||||
}
|
||||
|
||||
void
|
||||
message_send_composing(const char * const barejid)
|
||||
message_send_composing(const char * const fulljid)
|
||||
{
|
||||
xmpp_conn_t * const conn = connection_get_conn();
|
||||
xmpp_ctx_t * const ctx = connection_get_ctx();
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, barejid,
|
||||
STANZA_NAME_COMPOSING);
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, fulljid, STANZA_NAME_COMPOSING);
|
||||
|
||||
xmpp_send(conn, stanza);
|
||||
xmpp_stanza_release(stanza);
|
||||
}
|
||||
|
||||
void
|
||||
message_send_paused(const char * const barejid)
|
||||
message_send_paused(const char * const fulljid)
|
||||
{
|
||||
xmpp_conn_t * const conn = connection_get_conn();
|
||||
xmpp_ctx_t * const ctx = connection_get_ctx();
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, barejid,
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, fulljid,
|
||||
STANZA_NAME_PAUSED);
|
||||
|
||||
xmpp_send(conn, stanza);
|
||||
@@ -173,11 +172,11 @@ message_send_paused(const char * const barejid)
|
||||
}
|
||||
|
||||
void
|
||||
message_send_inactive(const char * const barejid)
|
||||
message_send_inactive(const char * const fulljid)
|
||||
{
|
||||
xmpp_conn_t * const conn = connection_get_conn();
|
||||
xmpp_ctx_t * const ctx = connection_get_ctx();
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, barejid,
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, fulljid,
|
||||
STANZA_NAME_INACTIVE);
|
||||
|
||||
xmpp_send(conn, stanza);
|
||||
@@ -185,11 +184,11 @@ message_send_inactive(const char * const barejid)
|
||||
}
|
||||
|
||||
void
|
||||
message_send_gone(const char * const barejid)
|
||||
message_send_gone(const char * const fulljid)
|
||||
{
|
||||
xmpp_conn_t * const conn = connection_get_conn();
|
||||
xmpp_ctx_t * const ctx = connection_get_ctx();
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, barejid,
|
||||
xmpp_stanza_t *stanza = stanza_create_chat_state(ctx, fulljid,
|
||||
STANZA_NAME_GONE);
|
||||
|
||||
xmpp_send(conn, stanza);
|
||||
@@ -469,7 +468,7 @@ _chat_handler(xmpp_conn_t * const conn, xmpp_stanza_t * const stanza,
|
||||
}
|
||||
|
||||
// create or update chat session
|
||||
chat_session_on_incoming_message(jid->barejid, recipient_supports);
|
||||
chat_session_on_incoming_message(jid->barejid, jid->resourcepart, recipient_supports);
|
||||
|
||||
// determine if the notifications happened whilst offline
|
||||
GTimeVal tv_stamp;
|
||||
|
||||
@@ -199,15 +199,14 @@ stanza_create_bookmarks_pubsub_add(xmpp_ctx_t *ctx, const char * const jid,
|
||||
#endif
|
||||
|
||||
xmpp_stanza_t *
|
||||
stanza_create_chat_state(xmpp_ctx_t *ctx, const char * const recipient,
|
||||
const char * const state)
|
||||
stanza_create_chat_state(xmpp_ctx_t *ctx, const char * const fulljid, const char * const state)
|
||||
{
|
||||
xmpp_stanza_t *msg, *chat_state;
|
||||
|
||||
msg = xmpp_stanza_new(ctx);
|
||||
xmpp_stanza_set_name(msg, STANZA_NAME_MESSAGE);
|
||||
xmpp_stanza_set_type(msg, STANZA_TYPE_CHAT);
|
||||
xmpp_stanza_set_attribute(msg, STANZA_ATTR_TO, recipient);
|
||||
xmpp_stanza_set_attribute(msg, STANZA_ATTR_TO, fulljid);
|
||||
char *id = create_unique_id(NULL);
|
||||
xmpp_stanza_set_id(msg, id);
|
||||
free(id);
|
||||
|
||||
@@ -179,7 +179,7 @@ typedef enum {
|
||||
xmpp_stanza_t* stanza_create_bookmarks_storage_request(xmpp_ctx_t *ctx);
|
||||
|
||||
xmpp_stanza_t* stanza_create_chat_state(xmpp_ctx_t *ctx,
|
||||
const char * const recipient, const char * const state);
|
||||
const char * const fulljid, const char * const state);
|
||||
|
||||
xmpp_stanza_t* stanza_create_message(xmpp_ctx_t *ctx,
|
||||
const char * const recipient, const char * const type,
|
||||
|
||||
@@ -151,10 +151,10 @@ void message_send_private(const char * const fulljid, const char * const msg);
|
||||
void message_send_groupchat(const char * const roomjid, const char * const msg);
|
||||
void message_send_groupchat_subject(const char * const roomjid, const char * const subject);
|
||||
|
||||
void message_send_inactive(const char * const barejid);
|
||||
void message_send_composing(const char * const barejid);
|
||||
void message_send_paused(const char * const barejid);
|
||||
void message_send_gone(const char * const barejid);
|
||||
void message_send_inactive(const char * const fulljid);
|
||||
void message_send_composing(const char * const fulljid);
|
||||
void message_send_paused(const char * const fulljid);
|
||||
void message_send_gone(const char * const fulljid);
|
||||
|
||||
void message_send_invite(const char * const room, const char * const contact,
|
||||
const char * const reason);
|
||||
|
||||
Reference in New Issue
Block a user