From 7d7c02b75097abd6677aa9f338ffe872484c3fa0 Mon Sep 17 00:00:00 2001 From: Gaston Dombiak Date: Tue, 18 Nov 2003 17:06:47 +0000 Subject: [PATCH] References to PacketWriterListener changed to PacketListener git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@2172 b35dd754-fafc-0310-a699-88a17e54d16e --- .../org/jivesoftware/smack/PacketWriter.java | 62 ++++++++++++--- .../smack/PacketWriterListener.java | 75 ------------------- .../jivesoftware/smack/XMPPConnection.java | 24 +++--- .../smack/debugger/LiteDebugger.java | 4 +- .../smack/debugger/SmackDebugger.java | 6 +- .../smackx/debugger/EnhancedDebugger.java | 14 ++-- 6 files changed, 75 insertions(+), 110 deletions(-) delete mode 100644 source/org/jivesoftware/smack/PacketWriterListener.java diff --git a/source/org/jivesoftware/smack/PacketWriter.java b/source/org/jivesoftware/smack/PacketWriter.java index 5ea60b063..455a3df16 100644 --- a/source/org/jivesoftware/smack/PacketWriter.java +++ b/source/org/jivesoftware/smack/PacketWriter.java @@ -55,6 +55,7 @@ package org.jivesoftware.smack; import java.util.*; import java.io.*; +import org.jivesoftware.smack.filter.PacketFilter; import org.jivesoftware.smack.packet.Packet; /** @@ -122,25 +123,27 @@ class PacketWriter { } /** - * Registers a packet writer listener with this writer. The listener will be - * notified of every packet that this writer sends. + * Registers a packet listener with this writer. The listener will be + * notified of every packet that this writer sends. A packet filter determines + * which packets will be delivered to the listener. * - * @param packetWriterListener the packet writer listener to notify of sent packets. + * @param packetListener the packet listener to notify of sent packets. + * @param packetFilter the packet filter to use. */ - public void addPacketListener(PacketWriterListener packetWriterListener) { + public void addPacketListener(PacketListener packetListener, PacketFilter packetFilter) { synchronized (listeners) { - listeners.add(packetWriterListener); + listeners.add(new ListenerWrapper(packetListener, packetFilter)); } } /** - * Removes a packet writer listener. + * Removes a packet listener. * - * @param packetWriterListener the packet writer listener to remove. + * @param packetListener the packet listener to remove. */ - public void removePacketListener(PacketWriterListener packetWriterListener) { + public void removePacketListener(PacketListener packetListener) { synchronized (listeners) { - listeners.remove(packetWriterListener); + listeners.remove(packetListener); } } @@ -236,11 +239,46 @@ class PacketWriter { // Notify the listeners of the new sent packet int size = listeners.size(); for (int i=0; i - * - * @param packet the packet to process. - */ - public void processPacket(Packet packet); - -} diff --git a/source/org/jivesoftware/smack/XMPPConnection.java b/source/org/jivesoftware/smack/XMPPConnection.java index b6b8dc523..676ba0a16 100644 --- a/source/org/jivesoftware/smack/XMPPConnection.java +++ b/source/org/jivesoftware/smack/XMPPConnection.java @@ -570,25 +570,27 @@ public class XMPPConnection { } /** - * Registers a packet writer listener with this connection. The listener will be - * notified of every packet that this connection sends. + * Registers a packet listener with this connection. The listener will be + * notified of every packet that this connection sends. A packet filter determines + * which packets will be delivered to the listener. * - * @param packetWriterListener the packet writer listener to notify of sent packets. + * @param packetListener the packet listener to notify of sent packets. + * @param packetFilter the packet filter to use. */ - public void addPacketListener(PacketWriterListener packetWriterListener) { + public void addPacketWriterListener(PacketListener packetListener, PacketFilter packetFilter) { if (!isConnected()) { throw new IllegalStateException("Not connected to server."); } - packetWriter.addPacketListener(packetWriterListener); + packetWriter.addPacketListener(packetListener, packetFilter); } /** - * Removes a packet writer listener from this connection. + * Removes a packet listener from this connection. * - * @param packetWriterListener the packet writer listener to remove. + * @param packetListener the packet listener to remove. */ - public void removePacketListener(PacketWriterListener packetWriterListener) { - packetWriter.removePacketListener(packetWriterListener); + public void removePacketWriterListener(PacketListener packetListener) { + packetWriter.removePacketListener(packetListener); } /** @@ -689,9 +691,9 @@ public class XMPPConnection { // If debugging is enabled, we should start the thread that will listen for // all packets and then log them. if (DEBUG_ENABLED) { - packetReader.addPacketListener(debugger.getListener(), null); + packetReader.addPacketListener(debugger.getReaderListener(), null); if (debugger.getWriterListener() != null) { - packetWriter.addPacketListener(debugger.getWriterListener()); + packetWriter.addPacketListener(debugger.getWriterListener(), null); } } // Start the packet writer. This will open a XMPP stream to the server diff --git a/source/org/jivesoftware/smack/debugger/LiteDebugger.java b/source/org/jivesoftware/smack/debugger/LiteDebugger.java index 2769e6ce4..010d9a325 100644 --- a/source/org/jivesoftware/smack/debugger/LiteDebugger.java +++ b/source/org/jivesoftware/smack/debugger/LiteDebugger.java @@ -415,11 +415,11 @@ public class LiteDebugger implements SmackDebugger { return writer; } - public PacketListener getListener() { + public PacketListener getReaderListener() { return listener; } - public PacketWriterListener getWriterListener() { + public PacketListener getWriterListener() { return null; } } diff --git a/source/org/jivesoftware/smack/debugger/SmackDebugger.java b/source/org/jivesoftware/smack/debugger/SmackDebugger.java index 577300d35..86b4795ad 100644 --- a/source/org/jivesoftware/smack/debugger/SmackDebugger.java +++ b/source/org/jivesoftware/smack/debugger/SmackDebugger.java @@ -98,13 +98,13 @@ public interface SmackDebugger { * @return the PacketListener that will listen for all incoming packets and write them to * the GUI */ - public abstract PacketListener getListener(); + public abstract PacketListener getReaderListener(); /** * Returns the thread that will listen for all outgoing packets and write them to the GUI. * - * @return the PacketWriterListener that will listen for all sent packets and write them to + * @return the PacketListener that will listen for all sent packets and write them to * the GUI */ - public abstract PacketWriterListener getWriterListener(); + public abstract PacketListener getWriterListener(); } \ No newline at end of file diff --git a/source/org/jivesoftware/smackx/debugger/EnhancedDebugger.java b/source/org/jivesoftware/smackx/debugger/EnhancedDebugger.java index b17a5731b..b1bae9cd6 100644 --- a/source/org/jivesoftware/smackx/debugger/EnhancedDebugger.java +++ b/source/org/jivesoftware/smackx/debugger/EnhancedDebugger.java @@ -89,8 +89,8 @@ public class EnhancedDebugger implements SmackDebugger { private XMPPConnection connection = null; - private PacketListener listener = null; - private PacketWriterListener writerListener = null; + private PacketListener readerListener = null; + private PacketListener writerListener = null; private ConnectionListener connListener = null; private Writer writer; @@ -150,7 +150,7 @@ public class EnhancedDebugger implements SmackDebugger { // Create a thread that will listen for all incoming packets and write them to // the GUI. This is what we call "interpreted" packet data, since it's the packet // data as Smack sees it and not as it's coming in as raw XML. - listener = new PacketListener() { + readerListener = new PacketListener() { SimpleDateFormat dateFormatter = new SimpleDateFormat("hh:mm:ss aaa"); public void processPacket(Packet packet) { addReadPacketToTable(dateFormatter, packet); @@ -159,7 +159,7 @@ public class EnhancedDebugger implements SmackDebugger { // Create a thread that will listen for all outgoing packets and write them to // the GUI. - writerListener = new PacketWriterListener() { + writerListener = new PacketListener() { SimpleDateFormat dateFormatter = new SimpleDateFormat("hh:mm:ss aaa"); public void processPacket(Packet packet) { addSentPacketToTable(dateFormatter, packet); @@ -624,11 +624,11 @@ public class EnhancedDebugger implements SmackDebugger { return writer; } - public PacketListener getListener() { - return listener; + public PacketListener getReaderListener() { + return readerListener; } - public PacketWriterListener getWriterListener() { + public PacketListener getWriterListener() { return writerListener; }