view src/main/java/jp/ac/u_ryukyu/treevnc/client/MyVncClient.java @ 81:f93d0286c2ab

root find multicast send port number now.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 30 Apr 2014 17:11:15 +0900
parents 015321785ddf
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.core.SettingsChangedEvent;
import com.glavsoft.rfb.IChangeSettingsListener;
import com.glavsoft.rfb.IRfbSessionListener;
import com.glavsoft.rfb.protocol.ProtocolSettings;
import com.glavsoft.viewer.Viewer;
import com.glavsoft.viewer.cli.Parser;
import com.glavsoft.viewer.swing.ParametersHandler;

// "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;
	public static Logger logger = Logger.getLogger("com.glavsoft");
	private final ProtocolSettings settings;
	
	
	public MyVncClient() {
		settings = ProtocolSettings.getDefaultSettings();
		//treeConnectionManager = new TreeConnectionManager(this, isApplet);
	}
	
	public MyVncClient(Parser parser) {
		this();
		ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings);
		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);
		new Thread(myClient).start();
	}
	
	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);
		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*/ }

	@Override
	public void settingsChanged(SettingsChangedEvent event) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void rfbSessionStopped(String reason) {
		// TODO Auto-generated method stub
		
	}

}