public final class MultiUserChatManager
extends org.jivesoftware.smack.Manager
Modifier and Type | Method and Description |
---|---|
void |
addInvitationListener(InvitationListener listener)
Adds a listener to invitation notifications.
|
void |
decline(org.jxmpp.jid.EntityBareJid room,
java.lang.String inviter,
java.lang.String reason)
Informs the sender of an invitation that the invitee declines the invitation.
|
java.util.List<HostedRoom> |
getHostedRooms(org.jxmpp.jid.DomainBareJid serviceName)
Returns a List of HostedRooms where each HostedRoom has the XMPP address of the room and the room's name.
|
static MultiUserChatManager |
getInstanceFor(org.jivesoftware.smack.XMPPConnection connection)
Get a instance of a multi user chat manager for the given connection.
|
java.util.Set<org.jxmpp.jid.EntityBareJid> |
getJoinedRooms()
Returns a Set of the rooms where the user has joined.
|
java.util.List<org.jxmpp.jid.EntityBareJid> |
getJoinedRooms(org.jxmpp.jid.EntityJid user)
Returns a List of the rooms where the requested user has joined.
|
MultiUserChat |
getMultiUserChat(org.jxmpp.jid.EntityBareJid jid)
Creates a multi user chat.
|
RoomInfo |
getRoomInfo(org.jxmpp.jid.EntityBareJid room)
Returns the discovered information of a given room without actually having to join the room.
|
java.util.List<org.jxmpp.jid.DomainBareJid> |
getXMPPServiceDomains()
Returns a collection with the XMPP addresses of the Multi-User Chat services.
|
boolean |
isServiceEnabled(org.jxmpp.jid.Jid user)
Returns true if the specified user supports the Multi-User Chat protocol.
|
boolean |
providesMucService(org.jxmpp.jid.DomainBareJid domainBareJid)
Check if the provided domain bare JID provides a MUC service.
|
void |
removeInvitationListener(InvitationListener listener)
Removes a listener to invitation notifications.
|
public static MultiUserChatManager getInstanceFor(org.jivesoftware.smack.XMPPConnection connection)
connection
- public MultiUserChat getMultiUserChat(org.jxmpp.jid.EntityBareJid jid)
join
the chat room. On some server implementations, the room will not be
created until the first person joins it.
Most XMPP servers use a sub-domain for the chat service (eg chat.example.com for the XMPP server example.com). You must ensure that the room address you're trying to connect to includes the proper chat sub-domain.
jid
- the name of the room in the form "roomName@service", where "service" is the hostname at which the
multi-user chat service is running. Make sure to provide a valid JID.public boolean isServiceEnabled(org.jxmpp.jid.Jid user) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
user
- the user to check. A fully qualified xmpp ID, e.g. jdoe@example.com.org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
public java.util.Set<org.jxmpp.jid.EntityBareJid> getJoinedRooms()
public java.util.List<org.jxmpp.jid.EntityBareJid> getJoinedRooms(org.jxmpp.jid.EntityJid user) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
user
- the user to check. A fully qualified xmpp ID, e.g. jdoe@example.com.org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
public RoomInfo getRoomInfo(org.jxmpp.jid.EntityBareJid room) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
room
- the name of the room in the form "roomName@service" of which we want to discover its information.org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
public java.util.List<org.jxmpp.jid.DomainBareJid> getXMPPServiceDomains() throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
public boolean providesMucService(org.jxmpp.jid.DomainBareJid domainBareJid) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
domainBareJid
- the domain bare JID to check.true
if the provided JID provides a MUC service, false
otherwise.org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
public java.util.List<HostedRoom> getHostedRooms(org.jxmpp.jid.DomainBareJid serviceName) throws org.jivesoftware.smack.SmackException.NoResponseException, org.jivesoftware.smack.XMPPException.XMPPErrorException, org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException, MultiUserChatException.NotAMucServiceException
serviceName
- the service that is hosting the rooms to discover.org.jivesoftware.smack.XMPPException.XMPPErrorException
org.jivesoftware.smack.SmackException.NoResponseException
org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
MultiUserChatException.NotAMucServiceException
public void decline(org.jxmpp.jid.EntityBareJid room, java.lang.String inviter, java.lang.String reason) throws org.jivesoftware.smack.SmackException.NotConnectedException, java.lang.InterruptedException
room
- the room that sent the original invitation.inviter
- the inviter of the declined invitation.reason
- the reason why the invitee is declining the invitation.org.jivesoftware.smack.SmackException.NotConnectedException
java.lang.InterruptedException
public void addInvitationListener(InvitationListener listener)
listener
- an invitation listener.public void removeInvitationListener(InvitationListener listener)
listener
- an invitation listener.