added SSKKeypair message
[jSite2.git] / src / net / pterodactylus / util / fcp / FcpListener.java
1 /*
2  * jSite2 - FpcListener.java -
3  * Copyright © 2008 David Roden
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 package net.pterodactylus.util.fcp;
21
22 import java.util.EventListener;
23
24 import net.pterodactylus.util.fcp.message.CloseConnectionDuplicateClientName;
25 import net.pterodactylus.util.fcp.message.NodeHello;
26 import net.pterodactylus.util.fcp.message.SSKKeypair;
27
28 /**
29  * Interface for objects that want to be notified on certain FCP events.
30  * 
31  * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
32  * @version $Id$
33  */
34 public interface FcpListener extends EventListener {
35
36         /**
37          * Notifies listeners that a “NodeHello” message was received.
38          * 
39          * @param fcpConnection
40          *            The connection that received the message
41          * @param nodeHello
42          *            The “NodeHello” message
43          */
44         public void receivedNodeHello(FcpConnection fcpConnection, NodeHello nodeHello);
45
46         /**
47          * Notifies all listeners that a “CloseConnectionDuplicateClientName”
48          * message was received.
49          * 
50          * @param fcpConnection
51          *            The connection that received the message
52          * @param closeConnectionDuplicateClientName
53          *            The “CloseConnectionDuplicateClientName” message
54          */
55         public void receivedCloseConnectionDuplicateClientName(FcpConnection fcpConnection, CloseConnectionDuplicateClientName closeConnectionDuplicateClientName);
56
57         /**
58          * Notifies all listeners that a “SSKKeypair” message was received.
59          * 
60          * @param fcpConnection
61          *            The connection that received themessage
62          * @param sskKeypair
63          *            The “SSKKeypair” message
64          */
65         public void receivedSSKKeypair(FcpConnection fcpConnection, SSKKeypair sskKeypair);
66
67         /**
68          * Notifies listeners that a message has been received. This method is only
69          * called if {@link FcpConnection#handleMessage(FcpMessage)} does not
70          * recognize the message. Should that ever happen, please file a bug report!
71          * 
72          * @param fcpConnection
73          *            The connection that received the message
74          * @param fcpMessage
75          *            The message that was received
76          */
77         public void receivedMessage(FcpConnection fcpConnection, FcpMessage fcpMessage);
78
79 }