package net.pterodactylus.xdcc.core;
+import static net.pterodactylus.irc.util.MessageCleaner.getDefaultInstance;
import static net.pterodactylus.xdcc.data.Channel.TO_NETWORK;
import static net.pterodactylus.xdcc.data.Download.FILTER_RUNNING;
import net.pterodactylus.irc.event.PrivateMessageReceived;
import net.pterodactylus.irc.event.PrivateNoticeReceived;
import net.pterodactylus.irc.event.ReplyReceived;
-import net.pterodactylus.irc.util.MessageCleaner;
import net.pterodactylus.irc.util.RandomNickname;
import net.pterodactylus.xdcc.core.event.BotAdded;
import net.pterodactylus.xdcc.core.event.CoreStarted;
import net.pterodactylus.xdcc.data.Pack;
import net.pterodactylus.xdcc.data.Server;
+import com.google.common.base.Function;
import com.google.common.base.Optional;
import com.google.common.base.Predicate;
import com.google.common.collect.FluentIterable;
}
/**
+ * Returns all connected networks.
+ *
+ * @return All connected networks
+ */
+ public Collection<Network> connectedNetworks() {
+ return Lists.newArrayList(Optional.presentInstances(FluentIterable.from(networkConnections.values()).transform(new Function<Connection, Optional<Network>>() {
+ @Override
+ public Optional<Network> apply(Connection connection) {
+ return getNetwork(connection);
+ }
+ })));
+ }
+
+ /**
* Returns all configured channels. Due to various circumstances, configured
* channels might not actually be joined.
*
* @param connectionFailed
* The connection failed event
*/
+ @Subscribe
public void connectionFailed(ConnectionFailed connectionFailed) {
removeConnection(connectionFailed.connection());
}
*/
@Subscribe
public void channelMessageReceived(ChannelMessageReceived channelMessageReceived) {
- String message = MessageCleaner.getDefaultInstance().clean(channelMessageReceived.message());
+ String message = getDefaultInstance().clean(channelMessageReceived.message());
if (!message.startsWith("#")) {
/* most probably not a pack announcement. */
return;