view src/main/java/jp/ac/u_ryukyu/treevnc/VncProxyService.java @ 326:1d4d5055a288

add error message, add assure stream close.
author oc
date Sun, 01 Feb 2015 15:30:17 +0900
parents 2b3eb4a9492f
children 9292035b8d93
line wrap: on
line source

package jp.ac.u_ryukyu.treevnc;

import java.awt.event.*;
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;

public class VncProxyService extends Viewer implements Runnable,
		IRfbSessionListener, IChangeSettingsListener {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public static Logger logger = Logger.getLogger("com.glavsoft");
	private boolean forceReconnection;
	private String reconnectionReason;
	static VncProxyService currentVps;

	public VncProxyService() {
	    ProtocolSettings.getDefaultSettings();
		uiSettings = super.uiSettings;
	}

	public VncProxyService(VncProxyService vps, String hostName) {
		this();
		connectionParams.hostName = hostName;
		myRfb = vps.myRfb;
		forceReconnection = vps.forceReconnection;
		reconnectionReason = vps.reconnectionReason;
	}

	public static void main(String[] argv) {
		String[] mainArgs = argv;
		System.out.println(mainArgs.length);
		// input into arguments Decision

		Parser parser = new Parser();
		ParametersHandler.completeParserOptions(parser);

		parser.parse(argv);
		if (parser.isSet(ParametersHandler.ARG_HELP)) {
			printUsage(parser.optionsUsage());
			System.exit(0);
		}
		VncProxyService vps = new VncProxyService();
		vps.initRoot(vps.myRfb, "localhost");
	}



	@Override
	public void destroy() {

	}

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

	protected void socketClose() {
	}

	@Override
	public void rfbSessionStopped(final String reason) {
        System.out.println(reason);
	}

	@Override
	public void settingsChanged(SettingsChangedEvent event) {
	}
	
}