view mcabber/mcabber/xmpp_helper.h @ 2023:26edaf6ea10b

xmpp_setstatus: send presence to MUC rooms before the global presence It only matters (AFAICS) when going offline. We want the presence to be sent by mcabber and not by the server, especially if we're using PGP.
author Mikael Berthe <mikael@lilotux.net>
date Mon, 30 Jul 2012 22:39:17 +0200
parents e6d355e50d7a
children f740c4128f76
line wrap: on
line source

#ifndef __MCABBER_XMPPHELPER_H__
#define __MCABBER_XMPPHELPER_H__ 1

#include <time.h>
#include <loudmouth/loudmouth.h>

#include <mcabber/xmpp.h>
#include <mcabber/xmpp_defines.h>
#include <mcabber/config.h>

extern time_t iqlast;           /* last message/status change time */

struct T_presence {
  enum imstatus st;
  const char *msg;
};

struct xmpp_error {
  guint code;
  const char *code_str;
  const char *meaning;
  const char *condition;
  const char *type;
};


#ifdef MODULES_ENABLE
void xmpp_add_feature (const char *xmlns);
void xmpp_del_feature (const char *xmlns);
#endif

LmMessageNode *lm_message_node_new(const gchar *name, const gchar *xmlns);
LmMessageNode *lm_message_node_find_xmlns(LmMessageNode *node,
                                          const char *xmlns);
const gchar* lm_message_node_get_child_value(LmMessageNode *node,
                                             const gchar *child);
void lm_message_node_hide(LmMessageNode *node);
void lm_message_node_insert_childnode(LmMessageNode *node,
                                      LmMessageNode *child);
void lm_message_node_deep_ref(LmMessageNode *node);
time_t lm_message_node_get_timestamp(LmMessageNode *node);

LmMessage *lm_message_new_iq_from_query(LmMessage *m, LmMessageSubType type);

LmMessage *lm_message_new_presence(enum imstatus st,
                                   const char *recipient, const char *msg);

const gchar* lm_message_get_from(LmMessage *m);
const gchar* lm_message_get_id(LmMessage *m);

void display_server_error(LmMessageNode *x, const char *from);

/* XEP-0115 (Entity Capabilities) node */
const char *entity_version(enum imstatus status);

#endif

/* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2:  For Vim users... */