--- /dev/null
+//
+// 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;
+ }
+
+}
}
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);
autoPlay = false;
}
fbs.close();
- newFbsConnection(newTimeOffset);
+ fbs = conn.connect(newTimeOffset);
rfb.newSession(fbs);
vc.updateFramebufferSize();
} catch (NullPointerException e) {
}
- /**
- * 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;