view src/main/java/jp/ac/u_ryukyu/treevnc/client/MyVncClient.java @ 36:b7d4d0349f99

write part of reconnection and remove warning.
author one
date Tue, 18 Sep 2012 17:23:19 +0900
parents 1b81deb0abb3
children
line wrap: on
line source

package jp.ac.u_ryukyu.treevnc.client;

import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.logging.Logger;

import com.glavsoft.rfb.IChangeSettingsListener;
import com.glavsoft.rfb.IRfbSessionListener;
import com.glavsoft.rfb.protocol.ProtocolSettings;
import com.glavsoft.viewer.TreeConnectionManager;
import com.glavsoft.viewer.Viewer;
import com.glavsoft.viewer.cli.Parser;
import com.glavsoft.viewer.swing.ParametersHandler;
import com.glavsoft.viewer.swing.UiSettings;
import com.glavsoft.viewer.swing.ParametersHandler.ConnectionParams;

// "Viewer.java" location is src/viewer_swing/java/com/glavsoft/viewer.
public class MyVncClient extends Viewer implements IRfbSessionListener,
	WindowListener, IChangeSettingsListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	boolean isClient = false;
	public static final int DEFAULT_PORT = 5900;
	public static Logger logger = Logger.getLogger("com.glavsoft");
	private ConnectionParams connectionParams;
	private final ProtocolSettings settings;
	private final UiSettings uiSettings;
	private TreeConnectionManager treeConnectionManager;
	
	
	public MyVncClient() {
		connectionParams = new ParametersHandler.ConnectionParams();
		settings = ProtocolSettings.getDefaultSettings();
		uiSettings = super.uiSettings;
		treeConnectionManager = new TreeConnectionManager(this, isApplet);
	}
	
	public MyVncClient(Parser parser) {
		this();
		ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings);
		showControls = ParametersHandler.showControls;
		passwordFromParams = parser.getValueFor(ParametersHandler.ARG_PASSWORD);
		logger.info("TightVNC Viewer version " + ver());
		isApplet = false;
	}

	public void treeVncClient(String[] argv) {
		new MyVncClient();
	}

	public static void main(String[] argv) {
		String[] mainArgs = argv;
		System.out.println(mainArgs.length);
		Parser parser = new Parser();
		ParametersHandler.completeParserOptions(parser);

		parser.parse(argv);
		if (parser.isSet(ParametersHandler.ARG_HELP)) {
			printUsage(parser.optionsUsage());
			System.exit(0);
		}
		MyVncClient myClient = new MyVncClient(parser);
		myClient.setType();
		//SwingUtilities.invokeLater(myClient);
		new Thread(myClient).start();
	}
	
	public void setType() {
		super.setType(treeConnectionManager,new MyRfbProtoClient());
	}
	
	
	public void startClient(String[] argv) {
		String[] mainArgs = argv;
		System.out.println(mainArgs.length);
		Parser parser = new Parser();
		ParametersHandler.completeParserOptions(parser);

		parser.parse(argv);
		if (parser.isSet(ParametersHandler.ARG_HELP)) {
			printUsage(parser.optionsUsage());
			System.exit(0);
		}
		MyVncClient myClient = new MyVncClient(parser);
		myClient.setType();
		//SwingUtilities.invokeLater(myClient);
		new Thread(myClient).start();
	}
	

	@Override
	public void windowClosing(WindowEvent e) {
		if (e != null && e.getComponent() != null) {
			e.getWindow().setVisible(false);
		}
		closeApp();
	}

	@Override
	public void windowActivated(WindowEvent e) { /*nop*/ }

	@Override
	public void windowClosed(WindowEvent e) { /*nop*/ }

	@Override
	public void windowDeactivated(WindowEvent e) { /*nop*/ }

	@Override
	public void windowDeiconified(WindowEvent e) { /*nop*/ }

	@Override
	public void windowIconified(WindowEvent e) { /*nop*/ }

	@Override
	public void windowOpened(WindowEvent e) { /*nop*/ }

}