/*
* This file is part of the Remote Sensor Actuator Interface (ReSAI).
*
* Copyright(c) Andreas Kipp, Frederic Siepmann
* http://opensource.cit-ec.de/projects/resai
*
* This file may be licensed under the terms of of the
* GNU Lesser General Public License Version 3 (the ``LGPL''),
* or (at your option) any later version.
*
* Software distributed under the License is distributed
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the LGPL for the specific language
* governing rights and limitations.
*
* You should have received a copy of the LGPL along with this
* program. If not, go to http://www.gnu.org/licenses/lgpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* The development of this software was supported by the
* Excellence Cluster EXC 277 Cognitive Interaction Technology.
* The Excellence Cluster EXC 277 is a grant of the Deutsche
* Forschungsgemeinschaft (DFG) in the context of the German
* Excellence Initiative.
*
*/

/**
 * Panel for logout control.
 *
 * @author akipp
 */

package de.unibi.airobots.resaijavaclient.gui.panels;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;

import javax.swing.JButton;
import javax.swing.JOptionPane;
import javax.swing.JPanel;

import de.unibi.airobots.resaijavaclient.communicaton.Communicator;
import de.unibi.airobots.resaijavaclient.constants.Constants;

public class LogoutPanel extends JPanel implements ActionListener {

	private static final long serialVersionUID = 1L;
	private JButton btnLogout = new JButton("Logout");
	private Communicator com;

	public LogoutPanel(Communicator communicator) {
		com = communicator;
		add(btnLogout);
		btnLogout.addActionListener(this);
	}

	@Override
	public void actionPerformed(ActionEvent e) {

		if (JOptionPane.showConfirmDialog(null, "Logout form ReSAI?", "Logout",
				JOptionPane.OK_CANCEL_OPTION) == 0) {

			HashMap<String, String> propertiesToSend = new HashMap<String, String>();
			propertiesToSend.put(Constants.CMD, Constants.DISCONNECT);
			propertiesToSend.put(Constants.TAG, Constants.MAINDISPATCHER);
			com.sendMessage(com.getServerAccount(), propertiesToSend,
					"Calling ReSAI Server...");

			System.exit(0);
		}
	}
}