diff options
author | Constantin Kaplinsky <const@tightvnc.com> | 2008-06-19 16:07:52 +0000 |
---|---|---|
committer | Constantin Kaplinsky <const@tightvnc.com> | 2008-06-19 16:07:52 +0000 |
commit | 2859fdc8cd236af69992735ccf42d91fa53e015a (patch) | |
tree | a35746bd4e1ba3c9774a3d9fba18ad331f6a7be1 /java | |
parent | b5db87f8c9ed7c4d1f316a794f80af031505ca4d (diff) | |
download | tigervnc-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.java | 60 | ||||
-rw-r--r-- | java/src/com/tightvnc/rfbplayer/RfbPlayer.java | 25 |
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; |