aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorConstantin Kaplinsky <const@tightvnc.com>2008-06-19 16:07:52 +0000
committerConstantin Kaplinsky <const@tightvnc.com>2008-06-19 16:07:52 +0000
commit2859fdc8cd236af69992735ccf42d91fa53e015a (patch)
treea35746bd4e1ba3c9774a3d9fba18ad331f6a7be1 /java
parentb5db87f8c9ed7c4d1f316a794f80af031505ca4d (diff)
downloadtigervnc-2859fdc8cd236af69992735ccf42d91fa53e015a.tar.gz
tigervnc-2859fdc8cd236af69992735ccf42d91fa53e015a.zip
[Refactoring] Created new FbsConnection class to manage connections to FBS and index files. Index files are not used yet.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2596 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'java')
-rw-r--r--java/src/com/tightvnc/rfbplayer/FbsConnection.java60
-rw-r--r--java/src/com/tightvnc/rfbplayer/RfbPlayer.java25
2 files changed, 64 insertions, 21 deletions
diff --git a/java/src/com/tightvnc/rfbplayer/FbsConnection.java b/java/src/com/tightvnc/rfbplayer/FbsConnection.java
new file mode 100644
index 00000000..34f95767
--- /dev/null
+++ b/java/src/com/tightvnc/rfbplayer/FbsConnection.java
@@ -0,0 +1,60 @@
+//
+// Copyright (C) 2008 Wimba, Inc. All Rights Reserved.
+//
+// This is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// This software is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this software; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+//
+
+//
+// FbsConnection.java
+//
+
+package com.tightvnc.rfbplayer;
+
+import java.io.*;
+import java.net.*;
+import java.applet.Applet;
+
+public class FbsConnection {
+
+ URL fbsURL;
+ URL fbiURL;
+ URL fbkURL;
+
+ FbsConnection(String fbsLocation, String indexLocationPrefix, Applet applet)
+ throws MalformedURLException {
+
+ URL base = null;
+ if (applet != null) {
+ base = applet.getCodeBase();
+ }
+ fbsURL = new URL(base, fbsLocation);
+ fbiURL = null;
+ fbkURL = null;
+ if (indexLocationPrefix != null) {
+ fbiURL = new URL(base, indexLocationPrefix + ".fbi");
+ fbkURL = new URL(base, indexLocationPrefix + ".fbk");
+ }
+ }
+
+ FbsInputStream connect(long timeOffset) throws IOException {
+ URLConnection connection = fbsURL.openConnection();
+ FbsInputStream fbs = new FbsInputStream(connection.getInputStream());
+ fbs.setTimeOffset(timeOffset);
+
+ return fbs;
+ }
+
+}
diff --git a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
index d2ae1c88..242ffde1 100644
--- a/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
+++ b/java/src/com/tightvnc/rfbplayer/RfbPlayer.java
@@ -130,12 +130,9 @@ public class RfbPlayer extends java.applet.Applet
}
try {
- if (inAnApplet) {
- url = new URL(getCodeBase(), sessionURL);
- } else {
- url = new URL(sessionURL);
- }
- newFbsConnection(initialTimeOffset);
+ java.applet.Applet applet = (inAnApplet) ? this : null;
+ FbsConnection conn = new FbsConnection(sessionURL, null, applet);
+ fbs = conn.connect(initialTimeOffset);
rfb = new RfbProto(fbs);
vc = new VncCanvas(this);
@@ -194,7 +191,7 @@ public class RfbPlayer extends java.applet.Applet
autoPlay = false;
}
fbs.close();
- newFbsConnection(newTimeOffset);
+ fbs = conn.connect(newTimeOffset);
rfb.newSession(fbs);
vc.updateFramebufferSize();
} catch (NullPointerException e) {
@@ -212,20 +209,6 @@ public class RfbPlayer extends java.applet.Applet
}
- /**
- * Open new connection specified by this.url, save new FbsInputStream in
- * this.fbs.
- *
- * @param timeOffset set this as current time position in the newly created
- * FbsInputStream object.
- * @throws java.io.IOException
- */
- void newFbsConnection(long timeOffset) throws IOException {
- URLConnection connection = url.openConnection();
- fbs = new FbsInputStream(connection.getInputStream());
- fbs.setTimeOffset(timeOffset);
- }
-
public void setPausedInt(String paused) {
// default to true (pause)
int pause = 1;