Beispiel #1
0
void
YahooConnection::cbGotBuddies(YList*  buds)
{
	fGotBuddyList = true;

	std::list<struct yahoo_buddy> yabs;

	// copy from buds to buddies...
	for(; buds; buds = buds->next) {
		struct yahoo_buddy* bud = (struct yahoo_buddy* )buds->data;
		if (bud->real_name)
			yabs.push_back( *bud );
		fBuddies.push_back( bud->id );
		
		//yahoo_buddyicon_request(fID, bud->id);
	}
	printf("id %d\n", fID);
	// add waiting buddies
	for ( std::list<std::string>::iterator iter=fBuddiesToAdd.begin(); 
		iter != fBuddiesToAdd.end(); iter++) {
		AddBuddy( (*iter).c_str() );
	}
	fBuddiesToAdd.clear();

	// Tell the manager!
	fManager->GotBuddyList( fBuddies );
	fManager->GotContactsInfo( yabs );
}
Beispiel #2
0
int __cdecl CYahooProto::AuthRequest(MCONTACT hContact, const TCHAR* msg )
{
	debugLogA("[YahooSendAuthRequest]");

	if (hContact && m_bLoggedIn) {
		AddBuddy(hContact, "miranda", msg);
		return 0; // Success
	}

	return 1; // Failure
}
Beispiel #3
0
Buddy *MSNManager::BuddyDetails(const char *passport) {
	Buddy *bud = NULL;
	buddymap::iterator bIt = fBuddy.find(passport);
	if (bIt != fBuddy.end()) 
		bud = bIt->second;
	else {
		// new buddy, add it!
		bud = new Buddy(passport);
		fBuddy[passport] = bud;
		// request an add to list here as well, I suppose..
		AddBuddy( passport );
	}
	
	return bud;
};
Beispiel #4
0
INT_PTR __cdecl CYahooProto::OnSettingChanged(WPARAM wParam, LPARAM lParam)
{
	DBCONTACTWRITESETTING *cws = (DBCONTACTWRITESETTING *) lParam;

	if ((HANDLE) wParam == NULL)
		return 0;
	if (!m_bLoggedIn)
		return 0;

	if (!strcmp(cws->szModule, "CList")) {
		// A temporary contact has been added permanently
		if (!strcmp(cws->szSetting, "NotOnList")) {
			if (DBGetContactSettingByte((HANDLE) wParam, "CList", "Hidden", 0))
				return 0;
			if (cws->value.type == DBVT_DELETED || (cws->value.type == DBVT_BYTE && cws->value.bVal == 0)) {
				DBVARIANT dbv;

				if ( !DBGetContactSettingString( (HANDLE) wParam, m_szModuleName, YAHOO_LOGINID, &dbv )){
					DebugLog("Adding Permanently %s to list.", dbv.pszVal);
					AddBuddy(dbv.pszVal,GetWord((HANDLE) wParam, "yprotoid", 0), "miranda", NULL);
					DBFreeVariant(&dbv);
				}
			}
		}
	}else if (!strcmp(cws->szModule, m_szModuleName) && !strcmp(cws->szSetting, "ApparentMode")) {
		DBVARIANT dbv;

		DebugLog("DB Setting changed.  YAHOO user's visible setting changed.");

		if ( !DBGetContactSettingString( (HANDLE) wParam, m_szModuleName, YAHOO_LOGINID, &dbv )){
			int iAdd = (ID_STATUS_OFFLINE == DBGetContactSettingWord((HANDLE) wParam, m_szModuleName, "ApparentMode", 0));
			stealth(dbv.pszVal, iAdd);
			DBFreeVariant(&dbv);
		}
	}
	return 0;
}