changeset 34:f70008073a03

add TreeViewer.java
author one
date Tue, 04 Sep 2012 19:02:04 +0900
parents 9d3478d11d3b
children 1b81deb0abb3
files .classpath .settings/org.eclipse.jdt.core.prefs dist/tightvnc-jviewer-2.5.0/tightvnc-jviewer.jar src/main/java/com/glavsoft/drawing/Renderer.java src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java src/main/java/com/glavsoft/rfb/protocol/TreeTask.java src/main/java/jp/ac/u_ryukyu/treevnc/AcceptThread.java src/main/java/jp/ac/u_ryukyu/treevnc/client/GetDataClient.java src/main/java/jp/ac/u_ryukyu/treevnc/client/GetHostClient.java src/main/java/jp/ac/u_ryukyu/treevnc/client/MyVncClient.java src/main/java/jp/ac/u_ryukyu/treevnc/server/BroadCastProxy.java src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java src/viewer_swing/java/com/glavsoft/viewer/TreeConnectionManager.java src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java src/viewer_swing/java/com/glavsoft/viewer/Viewer.java src/viewer_swing/java/com/glavsoft/viewer/swing/RendererImpl.java
diffstat 17 files changed, 149 insertions(+), 57 deletions(-) [+]
line wrap: on
line diff
--- a/.classpath	Tue Sep 04 06:06:17 2012 +0900
+++ b/.classpath	Tue Sep 04 19:02:04 2012 +0900
@@ -3,7 +3,7 @@
 	<classpathentry kind="src" path="src/main/java"/>
 	<classpathentry kind="src" path="src/viewer_swing/java"/>
 	<classpathentry kind="src" path="src/viewer_swing/resources"/>
-	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
 	<classpathentry exported="true" kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
--- a/.settings/org.eclipse.jdt.core.prefs	Tue Sep 04 06:06:17 2012 +0900
+++ b/.settings/org.eclipse.jdt.core.prefs	Tue Sep 04 19:02:04 2012 +0900
@@ -1,13 +1,11 @@
-#
-#Sun Jun 24 14:19:09 JST 2012
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.source=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
Binary file dist/tightvnc-jviewer-2.5.0/tightvnc-jviewer.jar has changed
--- a/src/main/java/com/glavsoft/drawing/Renderer.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/com/glavsoft/drawing/Renderer.java	Tue Sep 04 19:02:04 2012 +0900
@@ -25,11 +25,9 @@
 package com.glavsoft.drawing;
 
 import com.glavsoft.exceptions.TransportException;
-import com.glavsoft.rfb.encoding.PixelFormat;
 import com.glavsoft.rfb.encoding.decoder.FramebufferUpdateRectangle;
 import com.glavsoft.transport.Reader;
 
-import java.util.Arrays;
 
 /**
  * Render bitmap data
--- a/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/com/glavsoft/rfb/encoding/decoder/ZRLEESender.java	Tue Sep 04 19:02:04 2012 +0900
@@ -1,7 +1,6 @@
 package com.glavsoft.rfb.encoding.decoder;
 
 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
-import jp.ac.u_ryukyu.treevnc.server.MyRfbProtoProxy;
 import jp.ac.u_ryukyu.treevnc.client.MyRfbProtoClient;
 
 import com.glavsoft.drawing.Renderer;
--- a/src/main/java/com/glavsoft/rfb/protocol/TreeTask.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/com/glavsoft/rfb/protocol/TreeTask.java	Tue Sep 04 19:02:04 2012 +0900
@@ -1,8 +1,6 @@
 package com.glavsoft.rfb.protocol;
 
 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
-import jp.ac.u_ryukyu.treevnc.client.MyRfbProtoClient;
-import jp.ac.u_ryukyu.treevnc.server.MyRfbProtoProxy;
 
 import com.glavsoft.rfb.ClipboardController;
 import com.glavsoft.rfb.IRepaintController;
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/AcceptThread.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/AcceptThread.java	Tue Sep 04 19:02:04 2012 +0900
@@ -4,8 +4,6 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import jp.ac.u_ryukyu.treevnc.server.MyRfbProtoProxy;
-
 import com.glavsoft.transport.Reader;
 import com.glavsoft.transport.Writer;
 
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/client/GetDataClient.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/client/GetDataClient.java	Tue Sep 04 19:02:04 2012 +0900
@@ -11,9 +11,9 @@
 	private ServerSocket server = null;
 	private BufferedReader is;
 	private int port = 8182;
-	private boolean stopFlag = false;
+	private boolean stopFlag;
 	private TextBoxClient text = new TextBoxClient();
-	
+		
 	
 	public String textAddress() {
 		return text.getAddress();
@@ -57,8 +57,9 @@
 	@Override
 	public void run() {
 		try {
+			//TODO create selectPort();
 			server = new ServerSocket(port);
-			while(true) {
+			while(!stopFlag) {
 				Socket socket = server.accept();  
 				is = new BufferedReader(new InputStreamReader(
 						socket.getInputStream()));
@@ -70,6 +71,7 @@
 				text.setButton();
 				text.visible();
 			}
+			System.out.println("stop");
 		} catch (IOException e) {
 			e.printStackTrace();
 		}
@@ -77,6 +79,11 @@
 
 	public void setStopFlag(boolean stopFlag) {
 		this.stopFlag = stopFlag;
+		
+	}
+	
+	public void interrupt() {
+		Thread.currentThread().interrupt();
 	}
 
 	public boolean isStopFlag() {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/client/GetHostClient.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/client/GetHostClient.java	Tue Sep 04 19:02:04 2012 +0900
@@ -40,6 +40,11 @@
 			e.printStackTrace();
 		}
 	}
+	
+	public void getHost() {
+		createSocket();
+		sendData();
+	}
 /*
 	@Override
 	public void run() {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/client/MyVncClient.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/client/MyVncClient.java	Tue Sep 04 19:02:04 2012 +0900
@@ -4,14 +4,6 @@
 import java.awt.event.WindowListener;
 import java.util.logging.Logger;
 
-import javax.swing.SwingUtilities;
-
-import jp.ac.u_ryukyu.treevnc.AcceptThread;
-import jp.ac.u_ryukyu.treevnc.MyRfbProto;
-import jp.ac.u_ryukyu.treevnc.server.GetBroadCastProxy;
-import jp.ac.u_ryukyu.treevnc.test.TestTextBox;
-
-
 import com.glavsoft.rfb.IChangeSettingsListener;
 import com.glavsoft.rfb.IRfbSessionListener;
 import com.glavsoft.rfb.protocol.ProtocolSettings;
@@ -81,6 +73,23 @@
 	}
 	
 	
+	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) {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/BroadCastProxy.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/BroadCastProxy.java	Tue Sep 04 19:02:04 2012 +0900
@@ -20,7 +20,7 @@
 				Thread.sleep(1000);
 				socket = new Socket(addr, port);
 				os = new PrintStream(socket.getOutputStream());
-				sendData();
+				os.println(str);
 				os.close();
 				socket.close();
 				break;
@@ -32,9 +32,4 @@
 			}
 		}
 	}
-
-	void sendData() {
-		os.println(str);
-	}
-
 }
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/MyRfbProtoProxy.java	Tue Sep 04 19:02:04 2012 +0900
@@ -1,6 +1,7 @@
 package jp.ac.u_ryukyu.treevnc.server;
 
-import static org.junit.Assert.*;
+//import static org.junit.Assert.*;
+//import org.junit.Test;
 
 import java.io.IOException;
 import java.net.BindException;
@@ -9,25 +10,15 @@
 import java.nio.ByteBuffer;
 import java.util.Iterator;
 import java.util.LinkedList;
-
-
-import org.junit.Test;
-
 import com.glavsoft.exceptions.TransportException;
 import com.glavsoft.rfb.encoding.EncodingType;
-import com.glavsoft.rfb.protocol.Protocol;
-import com.glavsoft.rfb.protocol.ProtocolContext;
 import com.glavsoft.transport.Reader;
 import com.glavsoft.transport.Writer;
-
-//import myVncProxy.MulticastQueue.Client;
-
 import java.util.concurrent.ExecutorService;
 import java.util.zip.DataFormatException;
 import java.util.zip.Deflater;
 import java.util.zip.Inflater;
 
-import jp.ac.u_ryukyu.treevnc.MulticastQueue;
 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
 
 public class MyRfbProtoProxy extends MyRfbProto {
@@ -365,6 +356,7 @@
 		System.err.println();
 	}
 
+	/*
 	@Test
 	public void test1() {
 		try {
@@ -411,7 +403,8 @@
 			assertEquals(0, 1);
 		}
 	}
-
+	 */
+	
 	private LinkedList<ByteBuffer> clone(LinkedList<ByteBuffer> in) {
 		LinkedList<ByteBuffer> copy = new LinkedList<ByteBuffer>();
 		for (ByteBuffer b : in) {
@@ -420,7 +413,8 @@
 		}
 		return copy;
 	}
-
+	
+	/*
 	public int equalByteBuffers(LinkedList<ByteBuffer> in,
 			LinkedList<ByteBuffer> out2) {
 		int len = 0;
@@ -440,6 +434,7 @@
 		// System.out.println();
 		return len;
 	}
+	*/
 
 	private Iterable<Byte> byteBufferIterator(final LinkedList<ByteBuffer> in) {
 		return new Iterable<Byte>() {
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java	Tue Sep 04 19:02:04 2012 +0900
@@ -101,7 +101,6 @@
 		}
 		vps.createConnection();
 		vps.start_threads();
-
 	}
 	
 	private void setArguments(String[] mainArgs) {
@@ -198,15 +197,46 @@
 		//rfb.requestThreadStart();
 	}
 
+	public void proxyStart(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(parser);
+		if (mainArgs.length != 0) {
+			for (int i = 0; i < argv.length; i++) {
+				vps.setArguments(mainArgs);
+				// write later
+			}
+		} else {
+			//getHostData();
+		}
+		//SwingUtilities.invokeLater(myClient);
+		Thread th = new Thread(vps);
+		th.start();
+		try {
+			th.join();
+		} catch (InterruptedException e) {
+			e.printStackTrace();
+		}
+		vps.createConnection();
+		vps.start_threads();
+	}
+
+	
 	@Override
 	public void destroy() {
 
 	}
 
-	
-
 	@Override
 	public void windowClosing(WindowEvent e) {
 		if (e != null && e.getComponent() != null) {
--- a/src/viewer_swing/java/com/glavsoft/viewer/TreeConnectionManager.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/TreeConnectionManager.java	Tue Sep 04 19:02:04 2012 +0900
@@ -28,13 +28,12 @@
 	public Socket connectToHost(final ParametersHandler.ConnectionParams connectionParams, ProtocolSettings settings) {
 		Socket socket = null;
 		GetHostClient bCast = new GetHostClient("who");
-		bCast.createSocket();
-		bCast.sendData();
+		bCast.getHost();
         GetDataClient getBcast = new GetDataClient();
         Thread runBcast = new Thread(getBcast);
         runBcast.start();
-        getBcast.setStopFlag(true);
 		connectionParams.hostName = getBcast.textAddress();
+		getBcast.interrupt();
 		if("notFound".equals(connectionParams.hostName)) {
 			// connectionParams.portNumber = Integer.parseInt(getBcast.textPort());
 			connectionParams.portNumber = 5900;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/viewer_swing/java/com/glavsoft/viewer/TreeViewer.java	Tue Sep 04 19:02:04 2012 +0900
@@ -0,0 +1,51 @@
+package com.glavsoft.viewer;
+
+import jp.ac.u_ryukyu.treevnc.client.MyVncClient;
+import jp.ac.u_ryukyu.treevnc.server.VncProxyService;
+
+public class TreeViewer {
+	private boolean treeProxy;
+	private boolean viewer;
+	private String host;
+	private int port;
+
+	public static void main(String[] args) {
+		new TreeViewer().vncStart(args);
+	}
+
+	private void vncStart(String[] args) {
+		modeSelect(args);
+		if (treeProxy) {
+			VncProxyService vps = new VncProxyService();
+			vps.proxyStart(args);
+		} else if (viewer) {
+			Viewer v = new Viewer();
+			v.startViewer(args);
+		} else {
+			MyVncClient mvc = new MyVncClient();
+			mvc.startClient(args);
+		}
+	}
+
+	private void modeSelect(String[] args) {
+		for (int i = 0; i < args.length; i++) {
+			if ("-p".equals(args[i])) {
+				treeProxy = true;
+			} else if ("-v".equals(args[i])) {
+				viewer = true;
+			} else if ("-r".equals(args[i])) {
+				i++;
+				host = args[i];
+				i++;
+				port = Integer.parseInt(args[i]);
+				treeProxy = true;
+			} else {
+				i++;
+				System.out.println("(default) TreeVNCClient"
+								+ "-p       TreeVNCProxy"
+								+ "-v       VNCViewer"
+								+ "-r      TreeVNCProxy for RemoteHost. you should input parameter host and port");
+			}
+		}
+	}
+}
--- a/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/Viewer.java	Tue Sep 04 19:02:04 2012 +0900
@@ -132,7 +132,7 @@
 			return passwordDialog.getPassword();
 		}
 	}
-
+	
 	public static void main(String[] args) {
 		Parser parser = new Parser();
 		ParametersHandler.completeParserOptions(parser);
@@ -621,6 +621,17 @@
 		Thread accThread = new Thread(new AcceptThread(rfb, 5999));
 		accThread.start();
 	}
-
+	
+	public void startViewer(String[] args) {
+		Parser parser = new Parser();
+		ParametersHandler.completeParserOptions(parser);
 
+		parser.parse(args);
+		if (parser.isSet(ParametersHandler.ARG_HELP)) {
+			printUsage(parser.optionsUsage());
+			System.exit(0);
+		}
+		Viewer viewer = new Viewer(parser);
+		SwingUtilities.invokeLater(viewer);
+	}
 }
--- a/src/viewer_swing/java/com/glavsoft/viewer/swing/RendererImpl.java	Tue Sep 04 06:06:17 2012 +0900
+++ b/src/viewer_swing/java/com/glavsoft/viewer/swing/RendererImpl.java	Tue Sep 04 19:02:04 2012 +0900
@@ -25,7 +25,6 @@
 package com.glavsoft.viewer.swing;
 
 import com.glavsoft.drawing.AbstructRenderer;
-import com.glavsoft.drawing.Renderer;
 import com.glavsoft.rfb.encoding.PixelFormat;
 import com.glavsoft.rfb.encoding.decoder.FramebufferUpdateRectangle;
 import com.glavsoft.transport.Reader;