void ChatroomManager::requestProperties( const QString & displayName )
{
	if ( 0 /*m_rooms.contains( displayName ) */)
		emit gotProperties( m_rooms[ displayName ] );	
	else
	{
		ChatPropertiesTask * cpt = new ChatPropertiesTask( m_client->rootTask() );
		cpt->setChat( displayName );
		connect ( cpt, SIGNAL(finished()), SLOT(slotGotChatProperties()) );
		cpt->go( true );
	}
}
示例#2
0
void SaslAuthOp::onAuthOperationFinished(Tp::PendingOperation *op)
{
    if (op->isError()) {
        if (!m_mechanisms.isEmpty()) {
            // if we have other mechanisms left, try again with different one
            gotProperties(0);
        } else {
            setFinishedWithError(op->errorName(), op->errorMessage());
            m_channel->requestClose();
        }
    } else {
        setFinished();
        m_channel->requestClose();
    }
}
void ChatroomManager::slotGotChatProperties()
{
//	kDebug() ;
	ChatPropertiesTask * cpt = (ChatPropertiesTask *)sender();
	if ( cpt )
	{
		Chatroom room = m_rooms[ cpt->m_chat ];
		room.displayName = cpt->m_chat;
		room.ownerDN = cpt->m_ownerDn;
		room.description = cpt->m_description;
		room.disclaimer = cpt->m_disclaimer;
		room.query = cpt->m_query;
		room.archive = ( cpt->m_archive == "0" );
		room.maxUsers = cpt->m_maxUsers.toInt();
		room.topic = cpt->m_topic;
		room.creatorDN = cpt->m_creatorDn;
		room.createdOn = cpt->m_creationTime;
		room.acl = cpt->m_aclEntries;
		room.chatRights = cpt->m_rights;
		m_rooms.insert( room.displayName, room );
		emit gotProperties( room );
	}
}