void sipe_backend_chat_add(struct sipe_backend_chat_session *backend_session, const gchar *uri, gboolean is_new) { SIPPROTO *pr = backend_session->pr; struct sipe_core_public *sipe_public = pr->sip; gchar *self = sipe_miranda_uri_self(pr); GCDEST gcd = {0}; GCEVENT gce = {0}; int retval; HANDLE hContact = sipe_backend_buddy_find( sipe_public, uri, NULL ); gchar *nick = sipe_miranda_getContactString(pr, hContact, "Nick"); SIPE_DEBUG_INFO("sipe_backend_chat_add: Adding user <%s> to chat <%s>", uri, backend_session->conv); gcd.pszModule = pr->proto.m_szModuleName; gcd.pszID = backend_session->conv; gcd.iType = GC_EVENT_JOIN; gce.cbSize = sizeof(gce); gce.pDest = &gcd; gce.pszNick = nick; gce.pszUID = uri; gce.pszStatus = "Normal"; gce.bIsMe = !strcmp(self, uri); g_free(self); retval = CallService( MS_GC_EVENT, 0, (LPARAM)&gce ); if (retval) { SIPE_DEBUG_WARNING("sipe_backend_chat_add: Failed to add user to chat: <%d>", retval); } mir_free(nick); }
static void callback_serror(void *user_data, xmlErrorPtr error) { struct _parser_data *pd = user_data; if (error && (error->level == XML_ERR_ERROR || error->level == XML_ERR_FATAL)) { pd->error = TRUE; SIPE_DEBUG_ERROR("XML parser error: Domain %i, code %i, level %i: %s", error->domain, error->code, error->level, error->message ? error->message : "(null)"); } else if (error) { SIPE_DEBUG_WARNING("XML parser error: Domain %i, code %i, level %i: %s", error->domain, error->code, error->level, error->message ? error->message : "(null)"); } else { /* *sigh* macro expects at least two parameters */ SIPE_DEBUG_WARNING_NOFORMAT("XML parser error"); } }