本文整理汇总了C++中connection_get_conn函数的典型用法代码示例。如果您正苦于以下问题:C++ connection_get_conn函数的具体用法?C++ connection_get_conn怎么用?C++ connection_get_conn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了connection_get_conn函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: message_send_chat_otr
char*
message_send_chat_otr(const char *const barejid, const char *const msg)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
char *state = _session_state(barejid);
char *jid = _session_jid(barejid);
char *id = create_unique_id("msg");
xmpp_stanza_t *message = stanza_create_message(ctx, id, barejid, STANZA_TYPE_CHAT, msg);
free(jid);
if (state) {
stanza_attach_state(ctx, message, state);
}
stanza_attach_carbons_private(ctx, message);
stanza_attach_hints_no_copy(ctx, message);
stanza_attach_hints_no_store(ctx, message);
if (prefs_get_boolean(PREF_RECEIPTS_REQUEST)) {
stanza_attach_receipt_request(ctx, message);
}
xmpp_send(conn, message);
xmpp_stanza_release(message);
return id;
}
开发者ID:KThand1,项目名称:profanity,代码行数:30,代码来源:message.c
示例2: _iq_send_caps_request
static void
_iq_send_caps_request(const char * const to, const char * const id,
const char * const node, const char * const ver)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
if (!node) {
log_error("Could not create caps request, no node");
return;
}
if (!ver) {
log_error("Could not create caps request, no ver");
return;
}
GString *node_str = g_string_new("");
g_string_printf(node_str, "%s#%s", node, ver);
xmpp_stanza_t *iq = stanza_create_disco_info_iq(ctx, id, to, node_str->str);
g_string_free(node_str, TRUE);
xmpp_id_handler_add(conn, _caps_response_handler, id, NULL);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:dotoole,项目名称:profanity,代码行数:26,代码来源:iq.c
示例3: _presence_change_room_nick
static void
_presence_change_room_nick(const char * const room, const char * const nick)
{
assert(room != NULL);
assert(nick != NULL);
log_debug("Sending room nickname change to: %s, nick: %s", room, nick);
xmpp_ctx_t *ctx = connection_get_ctx();
xmpp_conn_t *conn = connection_get_conn();
resource_presence_t presence_type =
accounts_get_last_presence(jabber_get_account_name());
const char *show = stanza_get_presence_string_from_type(presence_type);
char *status = jabber_get_presence_message();
int pri = accounts_get_priority_for_presence_type(jabber_get_account_name(),
presence_type);
char *full_room_jid = create_fulljid(room, nick);
xmpp_stanza_t *presence =
stanza_create_room_newnick_presence(ctx, full_room_jid);
stanza_attach_show(ctx, presence, show);
stanza_attach_status(ctx, presence, status);
stanza_attach_priority(ctx, presence, pri);
stanza_attach_caps(ctx, presence);
xmpp_send(conn, presence);
xmpp_stanza_release(presence);
free(full_room_jid);
}
开发者ID:dotoole,项目名称:profanity,代码行数:29,代码来源:presence.c
示例4: bookmark_request
void
bookmark_request(void)
{
char *id;
xmpp_conn_t *conn = connection_get_conn();
xmpp_ctx_t *ctx = connection_get_ctx();
xmpp_stanza_t *iq;
id = strdup("bookmark_init_request");
autojoin_count = 0;
if (bookmark_ac != NULL) {
autocomplete_free(bookmark_ac);
}
bookmark_ac = autocomplete_new();
if (bookmark_list != NULL) {
g_list_free_full(bookmark_list, _bookmark_item_destroy);
bookmark_list = NULL;
}
xmpp_timed_handler_add(conn, _bookmark_handle_delete, BOOKMARK_TIMEOUT, id);
xmpp_id_handler_add(conn, _bookmark_handle_result, id, id);
iq = stanza_create_storage_bookmarks(ctx);
xmpp_stanza_set_id(iq, id);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:mrshu,项目名称:profanity,代码行数:28,代码来源:bookmark.c
示例5: roster_send_remove_from_group
void
roster_send_remove_from_group(const char * const group, PContact contact)
{
GSList *groups = p_contact_groups(contact);
GSList *new_groups = NULL;
while (groups) {
if (strcmp(groups->data, group) != 0) {
new_groups = g_slist_append(new_groups, strdup(groups->data));
}
groups = g_slist_next(groups);
}
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
// add an id handler to handle the response
char *unique_id = create_unique_id(NULL);
GroupData *data = malloc(sizeof(GroupData));
data->group = strdup(group);
if (p_contact_name(contact)) {
data->name = strdup(p_contact_name(contact));
} else {
data->name = strdup(p_contact_barejid(contact));
}
xmpp_id_handler_add(conn, _group_remove_handler, unique_id, data);
xmpp_stanza_t *iq = stanza_create_roster_set(ctx, unique_id, p_contact_barejid(contact),
p_contact_name(contact), new_groups);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
free(unique_id);
}
开发者ID:PMaynard,项目名称:profanity,代码行数:32,代码来源:roster.c
示例6: _presence_join_room
static void
_presence_join_room(char *room, char *nick, char * passwd)
{
Jid *jid = jid_create_from_bare_and_resource(room, nick);
log_debug("Sending room join presence to: %s", jid->fulljid);
xmpp_ctx_t *ctx = connection_get_ctx();
xmpp_conn_t *conn = connection_get_conn();
resource_presence_t presence_type =
accounts_get_last_presence(jabber_get_account_name());
const char *show = stanza_get_presence_string_from_type(presence_type);
char *status = jabber_get_presence_message();
int pri = accounts_get_priority_for_presence_type(jabber_get_account_name(),
presence_type);
xmpp_stanza_t *presence = stanza_create_room_join_presence(ctx, jid->fulljid, passwd);
stanza_attach_show(ctx, presence, show);
stanza_attach_status(ctx, presence, status);
stanza_attach_priority(ctx, presence, pri);
stanza_attach_caps(ctx, presence);
xmpp_send(conn, presence);
xmpp_stanza_release(presence);
jid_destroy(jid);
}
开发者ID:dotoole,项目名称:profanity,代码行数:26,代码来源:presence.c
示例7: message_send
void
message_send(const char * const msg, const char * const recipient)
{
const char * jid = NULL;
if (roster_barejid_from_name(recipient) != NULL) {
jid = roster_barejid_from_name(recipient);
} else {
jid = recipient;
}
if (prefs_get_boolean(PREF_STATES)) {
if (!chat_session_exists(jid)) {
chat_session_start(jid, TRUE);
}
}
xmpp_stanza_t *message;
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
if (prefs_get_boolean(PREF_STATES) && chat_session_get_recipient_supports(jid)) {
chat_session_set_active(jid);
message = stanza_create_message(ctx, jid, STANZA_TYPE_CHAT,
msg, STANZA_NAME_ACTIVE, NULL);
} else {
message = stanza_create_message(ctx, jid, STANZA_TYPE_CHAT,
msg, NULL, NULL);
}
xmpp_send(conn, message);
xmpp_stanza_release(message);
}
开发者ID:Aktrisa,项目名称:profanity,代码行数:32,代码来源:message.c
示例8: presence_handlers_init
void
presence_handlers_init(void)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_handler_add(conn, _presence_handler, NULL, STANZA_NAME_PRESENCE, NULL, ctx);
}
开发者ID:anossov,项目名称:profanity,代码行数:7,代码来源:presence.c
示例9: _iq_disco_items_request
static void
_iq_disco_items_request(gchar *jid)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_disco_items_iq(ctx, "discoitemsreq", jid);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:louiecaulfield,项目名称:profanity,代码行数:9,代码来源:iq.c
示例10: _iq_room_list_request
static void
_iq_room_list_request(gchar *conferencejid)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_disco_items_iq(ctx, "confreq", conferencejid);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:louiecaulfield,项目名称:profanity,代码行数:9,代码来源:iq.c
示例11: _iq_send_software_version
static void
_iq_send_software_version(const char * const fulljid)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_software_version_iq(ctx, fulljid);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:louiecaulfield,项目名称:profanity,代码行数:9,代码来源:iq.c
示例12: _iq_room_config_cancel
static void
_iq_room_config_cancel(const char * const room_jid)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_room_config_cancel_iq(ctx, room_jid);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:dotoole,项目名称:profanity,代码行数:9,代码来源:iq.c
示例13: _iq_confirm_instant_room
static void
_iq_confirm_instant_room(const char * const room_jid)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_instant_room_request_iq(ctx, room_jid);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:dotoole,项目名称:profanity,代码行数:9,代码来源:iq.c
示例14: roster_send_add_new
void
roster_send_add_new(const char * const barejid, const char * const name)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_roster_set(ctx, NULL, barejid, name, NULL);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:PMaynard,项目名称:profanity,代码行数:9,代码来源:roster.c
示例15: roster_add_handlers
void
roster_add_handlers(void)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
HANDLE(STANZA_TYPE_SET, _roster_set_handler);
HANDLE(STANZA_TYPE_RESULT, _roster_result_handler);
}
开发者ID:PMaynard,项目名称:profanity,代码行数:9,代码来源:roster.c
示例16: roster_request
void
roster_request(void)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_roster_iq(ctx);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:PMaynard,项目名称:profanity,代码行数:9,代码来源:roster.c
示例17: message_send_gone
void
message_send_gone(const char *const jid)
{
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, jid, STANZA_NAME_GONE);
xmpp_send(conn, stanza);
xmpp_stanza_release(stanza);
}
开发者ID:KThand1,项目名称:profanity,代码行数:9,代码来源:message.c
示例18: roster_send_remove
void
roster_send_remove(const char * const barejid)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
xmpp_stanza_t *iq = stanza_create_roster_remove_set(ctx, barejid);
xmpp_send(conn, iq);
xmpp_stanza_release(iq);
}
开发者ID:PMaynard,项目名称:profanity,代码行数:9,代码来源:roster.c
示例19: message_send_chat_pgp
char*
message_send_chat_pgp(const char *const barejid, const char *const msg)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
char *state = _session_state(barejid);
char *jid = _session_jid(barejid);
char *id = create_unique_id("msg");
xmpp_stanza_t *message = NULL;
#ifdef HAVE_LIBGPGME
char *account_name = jabber_get_account_name();
ProfAccount *account = accounts_get_account(account_name);
if (account->pgp_keyid) {
Jid *jidp = jid_create(jid);
char *encrypted = p_gpg_encrypt(jidp->barejid, msg);
if (encrypted) {
message = stanza_create_message(ctx, id, jid, STANZA_TYPE_CHAT, "This message is encrypted.");
xmpp_stanza_t *x = xmpp_stanza_new(ctx);
xmpp_stanza_set_name(x, STANZA_NAME_X);
xmpp_stanza_set_ns(x, STANZA_NS_ENCRYPTED);
xmpp_stanza_t *enc_st = xmpp_stanza_new(ctx);
xmpp_stanza_set_text(enc_st, encrypted);
xmpp_stanza_add_child(x, enc_st);
xmpp_stanza_release(enc_st);
xmpp_stanza_add_child(message, x);
xmpp_stanza_release(x);
free(encrypted);
} else {
message = stanza_create_message(ctx, id, jid, STANZA_TYPE_CHAT, msg);
}
jid_destroy(jidp);
} else {
message = stanza_create_message(ctx, id, jid, STANZA_TYPE_CHAT, msg);
}
account_free(account);
#else
message = stanza_create_message(ctx, id, jid, STANZA_TYPE_CHAT, msg);
#endif
free(jid);
if (state) {
stanza_attach_state(ctx, message, state);
}
stanza_attach_carbons_private(ctx, message);
if (prefs_get_boolean(PREF_RECEIPTS_REQUEST)) {
stanza_attach_receipt_request(ctx, message);
}
xmpp_send(conn, message);
xmpp_stanza_release(message);
return id;
}
开发者ID:KThand1,项目名称:profanity,代码行数:57,代码来源:message.c
示例20: message_add_handlers
void
message_add_handlers(void)
{
xmpp_conn_t * const conn = connection_get_conn();
xmpp_ctx_t * const ctx = connection_get_ctx();
HANDLE(NULL, STANZA_TYPE_GROUPCHAT, _groupchat_message_handler);
HANDLE(NULL, STANZA_TYPE_CHAT, _chat_message_handler);
HANDLE(NULL, NULL, _conference_message_handler);
}
开发者ID:jesseadams,项目名称:profanity,代码行数:10,代码来源:message.c
注:本文中的connection_get_conn函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论