- @Subscribe
- public void channelNotJoined(ChannelNotJoined channelNotJoined) throws InterruptedException {
- if (!channelNotJoined.channel().equalsIgnoreCase(channel)) {
- return;
- }
- eventBus.unregister(this);
- result.put(false);
- }
- };
- eventBus.register(eventHandler);
- try {
- connectionHandler.sendCommand("JOIN", channel);
- return result.take();
- } catch (IOException ioe1) {
- eventBus.unregister(eventHandler);
- } catch (InterruptedException ie1) {
- /* TODO - how to handle? */
+ /**
+ * Sends a message to the given recipient, which may be a channel or another
+ * nickname.
+ *
+ * @param recipient
+ * The recipient of the message
+ * @param message
+ * The message
+ * @throws IOException
+ * if an I/O error occurs
+ */
+ public void sendMessage(String recipient, String message) throws IOException {
+ connectionHandler.sendCommand("PRIVMSG", recipient, message);
+ }
+
+ /**
+ * Sends a DCC RESUME request to the given recipient.
+ *
+ * @param recipient
+ * The recipient of the request
+ * @param filename
+ * The name of the file to resume
+ * @param port
+ * The port number from the original DCC SEND request
+ * @param position
+ * The position at which to resume the transfer
+ * @throws IOException
+ * if an I/O error occurs
+ */
+ public void sendDccResume(String recipient, String filename, int port, long position) throws IOException {
+ connectionHandler.sendCommand("PRIVMSG", recipient, String.format("\u0001DCC RESUME %s %d %d\u0001", filename, port, position));
+ }
+
+ /**
+ * Closes this connection.
+ *
+ * @throws IOException
+ * if an I/O error occurs
+ */
+ public void close() throws IOException {
+ if (connectionHandler != null) {
+ connectionHandler.close();