[Refactoring] RecordOutputStream use RfbProto for recording. Not using RecordInterface anymore. Removed RecordInterface methods from VncCanvas class.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3476 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/src/com/tightvnc/vncviewer/RecordOutputStream.java b/java/src/com/tightvnc/vncviewer/RecordOutputStream.java
index 5b8ef1e..3978dfc 100644
--- a/java/src/com/tightvnc/vncviewer/RecordOutputStream.java
+++ b/java/src/com/tightvnc/vncviewer/RecordOutputStream.java
@@ -5,30 +5,34 @@
public class RecordOutputStream implements DataOutput {
- public RecordOutputStream(RecordInterface ri) {
- recordInterface = ri;
+ public RecordOutputStream(RfbProto rfbproto) {
+ rfb = rfbproto;
+ }
+
+ private boolean canWrite() {
+ return ((rfb != null) && (rfb.rec != null));
}
public void write(byte[] b) throws IOException {
- if (recordInterface.canWrite())
- recordInterface.write(b);
+ if (canWrite())
+ rfb.rec.write(b);
}
public void write(byte[] b, int off, int len) throws IOException {
- if (recordInterface.canWrite())
- recordInterface.write(b, off, len);
+ if (canWrite())
+ rfb.rec.write(b, off, len);
}
public void write(int b) throws IOException {
- if (recordInterface.canWrite())
- recordInterface.writeIntBE(b);
+ if (canWrite())
+ rfb.rec.writeIntBE(b);
}
public void writeBoolean(boolean v) { }
public void writeByte(int v) throws IOException {
- if (recordInterface.canWrite()) {
- recordInterface.writeByte(v);
+ if (canWrite()) {
+ rfb.rec.writeByte(v);
}
}
@@ -39,18 +43,18 @@
public void writeFloat(float v) { }
public void writeInt(int v) throws IOException {
- if (recordInterface.canWrite())
- recordInterface.writeIntBE(v);
+ if (canWrite())
+ rfb.rec.writeIntBE(v);
}
public void writeLong(long v) { }
public void writeShort(int v) throws IOException {
- if (recordInterface.canWrite())
- recordInterface.writeShortBE(v);
+ if (canWrite())
+ rfb.rec.writeShortBE(v);
}
public void writeUTF(String str) { }
-
- private RecordInterface recordInterface = null;
+
+ private RfbProto rfb = null;
}
diff --git a/java/src/com/tightvnc/vncviewer/VncCanvas.java b/java/src/com/tightvnc/vncviewer/VncCanvas.java
index 21ab2ee..59e22fe 100644
--- a/java/src/com/tightvnc/vncviewer/VncCanvas.java
+++ b/java/src/com/tightvnc/vncviewer/VncCanvas.java
@@ -45,8 +45,7 @@
//
class VncCanvas extends Canvas
- implements KeyListener, MouseListener, MouseMotionListener, RecordInterface,
- Repaintable {
+ implements KeyListener, MouseListener, MouseMotionListener, Repaintable {
VncViewer viewer;
RfbProto rfb;
@@ -120,7 +119,7 @@
// Input stream for decoders
RfbInputStream rfbis = new RfbInputStream(rfb);
// Create output stream for session recording
- RecordOutputStream ros = new RecordOutputStream(this);
+ RecordOutputStream ros = new RecordOutputStream(rfb);
rawDecoder = new RawDecoder(memGraphics, rfbis);
rreDecoder = new RREDecoder(memGraphics, rfbis);
@@ -1273,37 +1272,4 @@
}
}
}
-
- //
- // Override RecordInterface methods
- //
-
- public boolean canWrite() {
- // We can record if rec is not null
- return rfb.rec != null;
- }
-
- public void write(byte b[]) throws IOException {
- rfb.rec.write(b);
- }
-
- public void write(byte b[], int off, int len) throws IOException {
- rfb.rec.write(b, off, len);
- }
-
- public void writeByte(byte b) throws IOException {
- rfb.rec.writeByte(b);
- }
-
- public void writeByte(int i) throws IOException {
- rfb.rec.writeByte(i);
- }
-
- public void writeIntBE(int v) throws IOException {
- rfb.rec.writeIntBE(v);
- }
-
- public void writeShortBE(int v) throws IOException {
- rfb.rec.writeShortBE(v);
- }
}