Package org.jivesoftware.smack.filter

Examples of org.jivesoftware.smack.filter.PacketTypeFilter


            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


            }
        } 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

    }
    // Connection已通过验证
    this.connection = conn;
    //添加的一个listener,截获所有的message with error的信息
    connection.addPacketListener(new MsgErrorListener(),
        new AndFilter(new PacketTypeFilter(Message.class),new MessageTypeFilter(Message.Type.error)));
    //添加监听所有的发送的msg,用来存储为聊天记录
    connection.addPacketSendingListener(new AllOutgoingMsgListener(), new PacketTypeFilter(Message.class));
    //添加监听所有的收到的非error类型的message
    connection.addPacketListener(new AllIncomingMsgListener(),
        new AndFilter(new PacketTypeFilter(Message.class),
              new NotFilter(new MessageTypeFilter(Message.Type.error))));
    //监听所有的收到的Message,对其调用IncomingMessageListener
    connection.addPacketListener(new PacketListener(){

      @Override
      public void processPacket(Packet packet) {
        Message receivedMsg = (Message)packet;
        if(incomingMsgListener != null && receivedMsg.getBody()!=null){
          incomingMsgListener.handleIncomingMsg(receivedMsg.getType(), receivedMsg);
        }
      }
     
    }, new PacketTypeFilter(Message.class));
    chatManager = conn.getChatManager();
    // 添加监听端口,用于控制所有的chat会话
    chatManager.addChatListener(new ChatListener());
    // 此处必须要加上PacketFilter,否则无法截获
    chatManager.addOutgoingMessageInterceptor(new OutgoingMsgMonitor(),
        new PacketTypeFilter(Message.class));
    outFile = new File(FILENAME);
    //建立存储实例
    msgStorageManager = new StorageManager();
    mucDefaultNickname = conn.getUser();
    mucNickname = mucDefaultNickname;
View Full Code Here

      return;
    }
    // Connection已通过验证
    this.connection = conn;
    //TODO 添加一个监听端口,用于监听所有的Presence消息!
    connection.addPacketListener(new AllPrensenceListener(), new PacketTypeFilter(Presence.class));
    initContactPresences(connection.getRoster().getEntries());
//    initPresences(connection.getRoster().getEntries());

  }
View Full Code Here

  /**
   * 过滤得到Register信息包</br>
   * 建立一个过滤包类-->发送空register-->收register包-->取得attribs,form
   * */
  private void getAttribs(){
    PacketFilter filter = new AndFilter(new PacketTypeFilter(IQ.class),new IQTypeFilter(IQ.Type.RESULT));
    PacketCollector regCollector = conn.createPacketCollector(filter);
    //发送空的registration
    conn.sendPacket(new Registration());
    //等待包
    Packet recvPacket = regCollector.nextResult();
View Full Code Here

                Message message = new Message(packet.getFrom());
                message.setFrom(getFullJID(1));
                message.setBody("HELLO");
                getConnection(1).sendPacket(message);
            }
        }, new PacketTypeFilter(Message.class));

        // User0 listen for replies from user1
        PacketCollector collector = getConnection(0).createPacketCollector(
                new FromMatchesFilter(getFullJID(1)));
        // User0 sends the regular message to user1
View Full Code Here

                return buf.toString();
            }
        };

        PacketFilter filter = new AndFilter(new PacketIDFilter(iq.getPacketID()),
                new PacketTypeFilter(IQ.class));
        PacketCollector collector = getConnection(0).createPacketCollector(filter);
        // Send the iq packet with an invalid namespace
        getConnection(0).sendPacket(iq);

        IQ result = (IQ)collector.nextResult(SmackConfiguration.getPacketReplyTimeout());
View Full Code Here

            @Override
            public void processPacket(Packet packet) {
                discoInfoSend = true;
            }

        }, new AndFilter(new PacketTypeFilter(DiscoverInfo.class), new IQTypeFilter(IQ.Type.GET)));

        // add a bogus feature so that con1 ver won't match con0's
        sdm1.addFeature(DISCOVER_TEST_FEATURE);

        dropCapsCache();
View Full Code Here

        protected PacketFilter getDataPacketFilter() {
            /*
             * filter all IQ stanzas having type 'SET' (represented by Data class), containing a
             * data packet extension, matching session ID and recipient
             */
            return new AndFilter(new PacketTypeFilter(Data.class), new IBBDataPacketFilter());
        }
View Full Code Here

        protected PacketFilter getDataPacketFilter() {
            /*
             * filter all message stanzas containing a data packet extension, matching session ID
             * and recipient
             */
            return new AndFilter(new PacketTypeFilter(Message.class), new IBBDataPacketFilter());
        }
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.