void purple_chat_invite( struct groupchat *gc, char *who, char *message ) { PurpleConversation *pc = gc->data; PurpleConvChat *pcc = PURPLE_CONV_CHAT( pc ); serv_chat_invite( purple_account_get_connection( gc->ic->proto_data ), purple_conv_chat_get_id( pcc ), message && *message ? message : "Please join my chat", who ); }
void GaimChatMngr::ChatJoinedCbk(GaimConversation *conv) { mConvInfo_t *mConv = (mConvInfo_t *) conv->ui_data; if (mConv->pending_invit) { for (GList *l = mConv->pending_invit; l != NULL; l = l->next) { serv_chat_invite(gaim_conversation_get_gc(conv), gaim_conv_chat_get_id(GAIM_CONV_CHAT(conv)), "Join my conference...", (char *)l->data); } } }
void PurpleChatMngr::ChatJoinedCbk(PurpleConversation *conv) { mConvInfo_t *mConv = (mConvInfo_t *) conv->ui_data; if (mConv->pending_invites) { for (GList *l = mConv->pending_invites; l != NULL; l = l->next) { serv_chat_invite(purple_conversation_get_gc(conv), purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)), "Join my conference...", (char *)l->data); } } }
bool PurpleIMChat::addContactCbk(void * dataIn) { Mutex::ScopedLock lock(PurpleIMChat::_mutex); PurpleIMChatCallbackData* cbData = (PurpleIMChatCallbackData*) dataIn; PurpleIMChat* imChat = cbData->getPurpleIMChat(); IMChatSession* chatSession = cbData->getIMChatSession(); PurpleAccount* gAccount = getPurpleAccount( imChat->getIMAccount() ); // const char * contactId = (const char *)((misc_t *)data)->data_ptr2; mConvInfo_t *mConv = FindChatStructById(chatSession->getId()); int BuddyNbr = chatSession->getIMContactSet().size(); PurpleConversation *gConv = NULL; if (mConv) gConv = mConv->purple_conv_session; //VOXOX - JRT - 2009.07.09 else LOG_FATAL("ConvInfo not created !!!"); if (purple_conversation_get_type(gConv) == PURPLE_CONV_TYPE_IM) { GList *mlist = NULL; IMContactSet& chatContact = const_cast<IMContactSet&>(chatSession->getIMContactSet()); IMContactSet::const_iterator it = chatContact.begin(); const std::string & firstContactId = it->getContactId(); PurpleConnection *gGC; gConv = mConv->purple_conv_session; //VOXOX - JRT - 2009.07.09 gGC = purple_conversation_get_gc(gConv); mlist = g_list_append(mlist, const_cast<char*>(cbData->getContactId().c_str()) ); mlist = g_list_append(mlist, (char *) firstContactId.c_str()); createPurpleChat(gGC, chatSession->getId(), mlist, *imChat, gAccount); //VOXOX - JRT - 2009.07.10 } else if (purple_conversation_get_type(gConv) == PURPLE_CONV_TYPE_CHAT) { serv_chat_invite(purple_conversation_get_gc(gConv), purple_conv_chat_get_id(PURPLE_CONV_CHAT(gConv)), NULL, cbData->getContactId().c_str() ); } timeoutRemove( cbData ); delete cbData; return TRUE; }