Пример #1
0
void
Jabber::Roster(RosterList * roster){

	// Fix me! (Roster message can arrive at different times)
	
	BMessage serverBased(IM::SERVER_BASED_CONTACT_LIST);
	serverBased.AddString("protocol", kProtocolName);
	JabberContact* contact;
	int size = roster->CountItems();
	
	for(int i=0; i < size; i++) {
		contact = reinterpret_cast<JabberContact*>(roster->ItemAt(i));
		serverBased.AddString("id", contact->GetJid());
	}	
	fServerMsgr.SendMessage(&serverBased);		
	
	//fRostered=true;
	if(!fRostered){ //here the case when more than one roster message has arrived!
		fPerc +=0.3333;
		fRostered = true;
		Progress("Jabber Login", "Jabber: Roster", fPerc);
	}
	
	LOG(kProtocolName, liDebug, "Jabber:Login %f - Rostered",fPerc) ;
	CheckLoginStatus();
	
}
Пример #2
0
status_t AIMProtocol::SSIBuddies(list<BString> buddies) {
	list <BString>::iterator i;

	BMessage serverBased(IM::SERVER_BASED_CONTACT_LIST);
	serverBased.AddString("protocol", fManager->Protocol());

	for (i = buddies.begin(); i != buddies.end(); i++) {
		LOG(fManager->Protocol(), liLow, "Got server side buddy %s", NormalizeNick(i->String()).String());
		serverBased.AddString("id", NormalizeNick(i->String()));
	};
			
	fMsgr.SendMessage(&serverBased);
};
Пример #3
0
void MSNP::connectionReady(MSN::Connection * conn)
{
	fLogged = true;

	BMessage msg(IM_MESSAGE);
	msg.AddInt32("im_what", IM_OWN_STATUS_SET);
	msg.AddString("protocol", kProtocolSignature);
	msg.AddInt32("status", CAYA_ONLINE);
	fServerMsgr->SendMessage(&msg);

	BMessage serverBased(IM_MESSAGE);
	serverBased.AddInt32("im_what", IM_CONTACT_LIST);
	serverBased.AddString("protocol", kProtocolSignature);

	int end = fBuddyList.CountItems();
	int x;
	for (x=0; x != end; x++) {
		MSN::Buddy contact = fBuddyList.ItemAt(x);
		if (contact.lists & MSN::LST_AL) {
			serverBased.AddString("id", contact.userName.c_str());
		}
	}
	fServerMsgr->SendMessage(&serverBased);

	for (x=0; x != end; x++) {
		MSN::Buddy contact = fBuddyList.ItemAt(x);
		if (contact.lists & MSN::LST_AL) {
			SendContactInfo(contact);
		}
	}

	BString content(fUsername.c_str());
	content << " has logged in!";
	_Notify(B_INFORMATION_NOTIFICATION, "Connected",
		content.String());

	fMainConnection->setState(MSN::STATUS_AVAILABLE, fClientID);
}