package hudson.plugins.ipmsg;
import java.io.IOException;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;
import hudson.plugins.ipmsg.tk.ipmsg.IPMessenger;
/**
* Implementation class of IPMessenger.
*
* @author Toyokazu Ohara
*/
public class Messenger extends IPMessenger {
private List<String> hostNames = new ArrayList<String>();
public Messenger() throws IOException {
this.userName = IPMsgPublisher.DESCRIPTOR.getUserName();
this.nickName = IPMsgPublisher.DESCRIPTOR.getNickName();
this.group = IPMsgPublisher.DESCRIPTOR.getGroup();
this.hostName = InetAddress.getLocalHost().getHostName();
this.absenceMode = false;
this.absenceMsg = "";
this.socket = new DatagramSocket(IPMsgPublisher.DESCRIPTOR.getPort());
this.in_port = IPMsgPublisher.DESCRIPTOR.getPort();
this.debug = false;
}
public void sendMsgAll(final String msg, final boolean secret) throws IOException {
for (String host : hostNames) {
sendMsg(host, msg, secret);
}
}
@Override
public void addMember(String host, String nickName, String group,
String addr, int absence) {
hostNames.add(host);
}
@Override
public void openMsg(String host, String user) {
}
@Override
public void receiveMsg(String host, String user, String msg, boolean lock) {
}
@Override
public void removeMember(String host) {
hostNames.remove(host);
}
@Override
public void logout() throws IOException {
super.logout();
}
private static final Logger LOGGER = Logger.getLogger(Messenger.class.getName());
}