Search in sources :

Example 61 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class MultiUserChatLight method leave.

/**
     * Leave the MUCLight.
     * 
     * @throws NotConnectedException
     * @throws InterruptedException
     * @throws NoResponseException
     * @throws XMPPErrorException
     */
public void leave() throws NotConnectedException, InterruptedException, NoResponseException, XMPPErrorException {
    HashMap<Jid, MUCLightAffiliation> affiliations = new HashMap<>();
    affiliations.put(connection.getUser(), MUCLightAffiliation.none);
    MUCLightChangeAffiliationsIQ changeAffiliationsIQ = new MUCLightChangeAffiliationsIQ(room, affiliations);
    IQ responseIq = connection.createStanzaCollectorAndSend(changeAffiliationsIQ).nextResultOrThrow();
    boolean roomLeft = responseIq.getType().equals(IQ.Type.result);
    if (roomLeft) {
        removeConnectionCallbacks();
    }
}
Also used : EntityJid(org.jxmpp.jid.EntityJid) Jid(org.jxmpp.jid.Jid) HashMap(java.util.HashMap) MUCLightDestroyIQ(org.jivesoftware.smackx.muclight.element.MUCLightDestroyIQ) MUCLightChangeAffiliationsIQ(org.jivesoftware.smackx.muclight.element.MUCLightChangeAffiliationsIQ) MUCLightConfigurationIQ(org.jivesoftware.smackx.muclight.element.MUCLightConfigurationIQ) MUCLightInfoIQ(org.jivesoftware.smackx.muclight.element.MUCLightInfoIQ) MUCLightGetAffiliationsIQ(org.jivesoftware.smackx.muclight.element.MUCLightGetAffiliationsIQ) MUCLightGetConfigsIQ(org.jivesoftware.smackx.muclight.element.MUCLightGetConfigsIQ) MUCLightCreateIQ(org.jivesoftware.smackx.muclight.element.MUCLightCreateIQ) MUCLightAffiliationsIQ(org.jivesoftware.smackx.muclight.element.MUCLightAffiliationsIQ) MUCLightSetConfigsIQ(org.jivesoftware.smackx.muclight.element.MUCLightSetConfigsIQ) MUCLightGetInfoIQ(org.jivesoftware.smackx.muclight.element.MUCLightGetInfoIQ) IQ(org.jivesoftware.smack.packet.IQ) MUCLightChangeAffiliationsIQ(org.jivesoftware.smackx.muclight.element.MUCLightChangeAffiliationsIQ)

Example 62 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class MUCLightInfoIQProvider method parse.

@Override
public MUCLightInfoIQ parse(XmlPullParser parser, int initialDepth) throws Exception {
    String version = null;
    String roomName = null;
    String subject = null;
    HashMap<String, String> customConfigs = null;
    HashMap<Jid, MUCLightAffiliation> occupants = new HashMap<>();
    outerloop: while (true) {
        int eventType = parser.next();
        if (eventType == XmlPullParser.START_TAG) {
            if (parser.getName().equals("version")) {
                version = parser.nextText();
            }
            if (parser.getName().equals("configuration")) {
                int depth = parser.getDepth();
                outerloop2: while (true) {
                    eventType = parser.next();
                    if (eventType == XmlPullParser.START_TAG) {
                        if (parser.getName().equals("roomname")) {
                            roomName = parser.nextText();
                        } else if (parser.getName().equals("subject")) {
                            subject = parser.nextText();
                        } else {
                            if (customConfigs == null) {
                                customConfigs = new HashMap<>();
                            }
                            customConfigs.put(parser.getName(), parser.nextText());
                        }
                    } else if (eventType == XmlPullParser.END_TAG) {
                        if (parser.getDepth() == depth) {
                            break outerloop2;
                        }
                    }
                }
            }
            if (parser.getName().equals("occupants")) {
                occupants = iterateOccupants(parser);
            }
        } else if (eventType == XmlPullParser.END_TAG) {
            if (parser.getDepth() == initialDepth) {
                break outerloop;
            }
        }
    }
    return new MUCLightInfoIQ(version, new MUCLightRoomConfiguration(roomName, subject, customConfigs), occupants);
}
Also used : MUCLightAffiliation(org.jivesoftware.smackx.muclight.MUCLightAffiliation) MUCLightRoomConfiguration(org.jivesoftware.smackx.muclight.MUCLightRoomConfiguration) Jid(org.jxmpp.jid.Jid) HashMap(java.util.HashMap) MUCLightInfoIQ(org.jivesoftware.smackx.muclight.element.MUCLightInfoIQ)

Example 63 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class MultiUserChatLightManager method getUsersBlocked.

/**
     * Get users blocked.
     * 
     * @param mucLightService
     * @return the list of users blocked
     * @throws NoResponseException
     * @throws XMPPErrorException
     * @throws NotConnectedException
     * @throws InterruptedException
     */
public List<Jid> getUsersBlocked(DomainBareJid mucLightService) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
    MUCLightBlockingIQ muclIghtBlockingIQResult = getBlockingList(mucLightService);
    List<Jid> jids = new ArrayList<>();
    if (muclIghtBlockingIQResult.getUsers() != null) {
        jids.addAll(muclIghtBlockingIQResult.getUsers().keySet());
    }
    return jids;
}
Also used : Jid(org.jxmpp.jid.Jid) DomainBareJid(org.jxmpp.jid.DomainBareJid) EntityBareJid(org.jxmpp.jid.EntityBareJid) MUCLightBlockingIQ(org.jivesoftware.smackx.muclight.element.MUCLightBlockingIQ) ArrayList(java.util.ArrayList)

Example 64 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class MultiUserChatLightManager method blockRooms.

/**
     * Block rooms.
     * 
     * @param mucLightService
     * @param roomsJids
     * @throws NoResponseException
     * @throws XMPPErrorException
     * @throws NotConnectedException
     * @throws InterruptedException
     */
public void blockRooms(DomainBareJid mucLightService, List<Jid> roomsJids) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
    HashMap<Jid, Boolean> rooms = new HashMap<>();
    for (Jid jid : roomsJids) {
        rooms.put(jid, false);
    }
    sendBlockRooms(mucLightService, rooms);
}
Also used : Jid(org.jxmpp.jid.Jid) DomainBareJid(org.jxmpp.jid.DomainBareJid) EntityBareJid(org.jxmpp.jid.EntityBareJid) HashMap(java.util.HashMap) WeakHashMap(java.util.WeakHashMap)

Example 65 with Jid

use of org.jxmpp.jid.Jid in project Smack by igniterealtime.

the class MultiUserChatLightManager method getUsersAndRoomsBlocked.

/**
     * Get users and rooms blocked.
     * 
     * @param mucLightService
     * @return the list of users and rooms blocked
     * @throws NoResponseException
     * @throws XMPPErrorException
     * @throws NotConnectedException
     * @throws InterruptedException
     */
public List<Jid> getUsersAndRoomsBlocked(DomainBareJid mucLightService) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
    MUCLightBlockingIQ muclIghtBlockingIQResult = getBlockingList(mucLightService);
    List<Jid> jids = new ArrayList<>();
    if (muclIghtBlockingIQResult.getRooms() != null) {
        jids.addAll(muclIghtBlockingIQResult.getRooms().keySet());
    }
    if (muclIghtBlockingIQResult.getUsers() != null) {
        jids.addAll(muclIghtBlockingIQResult.getUsers().keySet());
    }
    return jids;
}
Also used : Jid(org.jxmpp.jid.Jid) DomainBareJid(org.jxmpp.jid.DomainBareJid) EntityBareJid(org.jxmpp.jid.EntityBareJid) MUCLightBlockingIQ(org.jivesoftware.smackx.muclight.element.MUCLightBlockingIQ) ArrayList(java.util.ArrayList)

Aggregations

Jid (org.jxmpp.jid.Jid)78 EntityBareJid (org.jxmpp.jid.EntityBareJid)18 ArrayList (java.util.ArrayList)15 HashMap (java.util.HashMap)14 Test (org.junit.Test)14 DomainBareJid (org.jxmpp.jid.DomainBareJid)14 EntityFullJid (org.jxmpp.jid.EntityFullJid)12 BareJid (org.jxmpp.jid.BareJid)11 IQ (org.jivesoftware.smack.packet.IQ)7 Presence (org.jivesoftware.smack.packet.Presence)7 MUCLightBlockingIQ (org.jivesoftware.smackx.muclight.element.MUCLightBlockingIQ)7 SmackException (org.jivesoftware.smack.SmackException)6 Message (org.jivesoftware.smack.packet.Message)6 WeakHashMap (java.util.WeakHashMap)4 XMPPConnection (org.jivesoftware.smack.XMPPConnection)4 Map (java.util.Map)3 SimpleResultSyncPoint (org.igniterealtime.smack.inttest.util.SimpleResultSyncPoint)3 FeatureNotSupportedException (org.jivesoftware.smack.SmackException.FeatureNotSupportedException)3 XMPPErrorException (org.jivesoftware.smack.XMPPException.XMPPErrorException)3 Bytestream (org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream)3