summaryrefslogtreecommitdiff
path: root/src/base/vnc
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/vnc')
-rw-r--r--src/base/vnc/vncinput.cc7
-rw-r--r--src/base/vnc/vncinput.hh4
2 files changed, 6 insertions, 5 deletions
diff --git a/src/base/vnc/vncinput.cc b/src/base/vnc/vncinput.cc
index 017fc3876..d97306f03 100644
--- a/src/base/vnc/vncinput.cc
+++ b/src/base/vnc/vncinput.cc
@@ -123,10 +123,9 @@ VncInput::captureFrameBuffer()
const string frameFilename(frameFilenameBuffer);
// create the compressed framebuffer file
- ostream *fb_out = simout.create(captureOutputDirectory + frameFilename,
- true);
- captureBitmap->write(*fb_out);
- simout.close(fb_out);
+ OutputStream *fb_out(captureOutputDirectory->create(frameFilename, true));
+ captureBitmap->write(*fb_out->stream());
+ captureOutputDirectory->close(fb_out);
++captureCurrentFrame;
}
diff --git a/src/base/vnc/vncinput.hh b/src/base/vnc/vncinput.hh
index 96235fec7..15ddc5c58 100644
--- a/src/base/vnc/vncinput.hh
+++ b/src/base/vnc/vncinput.hh
@@ -52,6 +52,8 @@
#include "params/VncInput.hh"
#include "sim/sim_object.hh"
+class OutputDirectory;
+
/**
* A device that expects to receive input from the vnc server should derrive
* (through mulitple inheritence if necessary from VncKeyboard or VncMouse
@@ -219,7 +221,7 @@ class VncInput : public SimObject
int captureCurrentFrame;
/** Directory to store captured frames to */
- std::string captureOutputDirectory;
+ OutputDirectory *captureOutputDirectory;
/** Computed hash of the last captured frame */
uint64_t captureLastHash;