Package org.jivesoftware.smack.filter

Examples of org.jivesoftware.smack.filter.PacketTypeFilter


                instances.remove(connection);
            }
        });

        // Listen for disco#items requests and answer with an empty result       
        PacketFilter packetFilter = new PacketTypeFilter(DiscoverItems.class);
        PacketListener packetListener = new PacketListener() {
            public void processPacket(Packet packet) {
                DiscoverItems discoverItems = (DiscoverItems) packet;
                // Send back the items defined in the client if the request is of type GET
                if (discoverItems != null && discoverItems.getType() == IQ.Type.GET) {
                    DiscoverItems response = new DiscoverItems();
                    response.setType(IQ.Type.RESULT);
                    response.setTo(discoverItems.getFrom());
                    response.setPacketID(discoverItems.getPacketID());
                    response.setNode(discoverItems.getNode());

                    // Add the defined items related to the requested node. Look for
                    // the NodeInformationProvider associated with the requested node. 
                    NodeInformationProvider nodeInformationProvider =
                            getNodeInformationProvider(discoverItems.getNode());
                    if (nodeInformationProvider != null) {
                        // Specified node was found
                        Iterator items = nodeInformationProvider.getNodeItems();
                        if (items != null) {
                            while (items.hasNext()) {
                                response.addItem((DiscoverItems.Item) items.next());
                            }
                        }
                    } else if(discoverItems.getNode() != null) {
                        // Return <item-not-found/> error since client doesn't contain
                        // the specified node
                        response.setType(IQ.Type.ERROR);
                        response.setError(new XMPPError(XMPPError.Condition.item_not_found));
                    }
                    connection.sendPacket(response);
                }
            }
        };
        connection.addPacketListener(packetListener, packetFilter);

        // Listen for disco#info requests and answer the client's supported features
        // To add a new feature as supported use the #addFeature message       
        packetFilter = new PacketTypeFilter(DiscoverInfo.class);
        packetListener = new PacketListener() {
            public void processPacket(Packet packet) {
                DiscoverInfo discoverInfo = (DiscoverInfo) packet;
                // Answer the client's supported features if the request is of the GET type
                if (discoverInfo != null && discoverInfo.getType() == IQ.Type.GET) {
View Full Code Here


            }
        } else {
            // add the presence packet listener to the connection so we only get packets that concers us
            // we must add the listener before creating the muc
            final ToContainsFilter toFilter = new ToContainsFilter(endpoint.getParticipant());
            final AndFilter packetFilter = new AndFilter(new PacketTypeFilter(Presence.class), toFilter);
            connection.addPacketListener(this, packetFilter);

            muc = new MultiUserChat(connection, endpoint.resolveRoom(connection));
            muc.addMessageListener(this);
            DiscussionHistory history = new DiscussionHistory();
View Full Code Here

    public void afterPropertiesSet() throws Exception {
        super.afterPropertiesSet();

        if (filter == null) {
            filter = new PacketTypeFilter(Message.class);
        }
    }
View Full Code Here

            }
        } else {
            // add the presence packet listener to the connection so we only get packets that concers us
            // we must add the listener before creating the muc
            final ToContainsFilter toFilter = new ToContainsFilter(endpoint.getParticipant());
            final AndFilter packetFilter = new AndFilter(new PacketTypeFilter(Presence.class), toFilter);
            connection.addPacketListener(this, packetFilter);

            muc = new MultiUserChat(connection, endpoint.resolveRoom(connection));
            muc.addMessageListener(this);
            DiscussionHistory history = new DiscussionHistory();
View Full Code Here

            }
        } else {
            // add the presence packet listener to the connection so we only get packets that concerns us
            // we must add the listener before creating the muc
            final ToContainsFilter toFilter = new ToContainsFilter(endpoint.getParticipant());
            final AndFilter packetFilter = new AndFilter(new PacketTypeFilter(Presence.class), toFilter);
            connection.addPacketListener(this, packetFilter);

            muc = new MultiUserChat(connection, endpoint.resolveRoom(connection));
            muc.addMessageListener(this);
            DiscussionHistory history = new DiscussionHistory();
View Full Code Here

            loginButton.setEnabled(false);
        }
    }

    private void listenForMessages() {
        PacketFilter filter = new PacketTypeFilter(Message.class);

        PacketListener packetListener = new PacketListener() {
            public void processPacket(Packet packet) {
                final Message message = (Message)packet;
View Full Code Here

                                }
                            }
                        });
                    }
                },
                new PacketTypeFilter( Message.class ) {}
        );
        // Subscription-Stuff
        connection.addPacketListener(
                new PacketListener() {
                    public void processPacket( final Packet p ) {
                       
                        Presence.Type type = ((Presence) p).getType();
                        final String name = ((Presence) p).getFrom();
                       
                        if( type == Presence.Type.SUBSCRIBE ) {
                            display.syncExec( new Runnable() {
                                public void run() {
                                    gotSubscriptionRequest( name );
                                }
                            });
                           
                        }
                        else if( type == Presence.Type.SUBSCRIBED );
                            //System.out.println( "subsED" );                    
                    }
                },
                new PacketTypeFilter( Presence.class ) {}
        );
        //MultiUserChat
        MultiUserChat.addInvitationListener( connection, new InvitationListener() {
            public void invitationReceived( final XMPPConnection conn, final String room, final String invitor, final String reason, final String password, final Message message ) {
                display.syncExec( new Runnable() {
View Full Code Here

                        //answer.setType( IQ.Type.SET );
                        //answer.setTo( jid );
                        //connection.sendPacket( answer );
                    }
                },
                new AndFilter( new PacketIDFilter( request.getPacketID() ), new PacketTypeFilter( Registration.class ) )
        );
        connection.sendPacket( request );
    }
View Full Code Here

      messageToBeSent = msgElement.toString();
      message.setBody(messageToBeSent);
     
      String key = null;
      if(waitForResponse && !msgCtx.isServerSide()){
        PacketFilter filter = new PacketTypeFilter(message.getClass());       
        xmppConnection.addPacketListener(xmppClientSidePacketListener,filter);
        key = UUID.randomUUID().toString();
        xmppClientSidePacketListener.listenForResponse(key, msgCtx);
        message.setProperty(XMPPConstants.SEQUENCE_ID, key);
      }     
View Full Code Here

        unfiledEntries = new CopyOnWriteArrayList<RosterEntry>();
        entries = new ConcurrentHashMap<String,RosterEntry>();
        rosterListeners = new CopyOnWriteArrayList<RosterListener>();
        presenceMap = new ConcurrentHashMap<String, Map<String, Presence>>();
        // Listen for any roster packets.
        PacketFilter rosterFilter = new PacketTypeFilter(RosterPacket.class);
        connection.addPacketListener(new RosterPacketListener(), rosterFilter);
        // Listen for any presence packets.
        PacketFilter presenceFilter = new PacketTypeFilter(Presence.class);
        presencePacketListener = new PresencePacketListener();
        connection.addPacketListener(presencePacketListener, presenceFilter);
       
        // Listen for connection events
        final ConnectionListener connectionListener = new AbstractConnectionListener() {
View Full Code Here

TOP

Related Classes of org.jivesoftware.smack.filter.PacketTypeFilter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.