base: split out the VncServer into a VncInput and Server classes
This patch adds a VncInput base class which VncServer inherits from. Another class can implement the same interface and be used instead of the VncServer, for example a class that replays Vnc traffic. --HG-- rename : src/base/vnc/VncServer.py => src/base/vnc/Vnc.py rename : src/base/vnc/vncserver.cc => src/base/vnc/vncinput.cc rename : src/base/vnc/vncserver.hh => src/base/vnc/vncinput.hh
This commit is contained in:
@@ -128,7 +128,7 @@ class PL031(AmbaIntDevice):
|
||||
|
||||
class Pl050(AmbaIntDevice):
|
||||
type = 'Pl050'
|
||||
vnc = Param.VncServer(Parent.any, "Vnc server for remote frame buffer display")
|
||||
vnc = Param.VncInput(Parent.any, "Vnc server for remote frame buffer display")
|
||||
is_mouse = Param.Bool(False, "Is this interface a mouse, if not a keyboard")
|
||||
int_delay = '1us'
|
||||
amba_id = 0x00141050
|
||||
@@ -137,7 +137,7 @@ class Pl111(AmbaDmaDevice):
|
||||
type = 'Pl111'
|
||||
# Override the default clock
|
||||
clock = '24MHz'
|
||||
vnc = Param.VncServer(Parent.any, "Vnc server for remote frame buffer display")
|
||||
vnc = Param.VncInput(Parent.any, "Vnc server for remote frame buffer display")
|
||||
amba_id = 0x00141111
|
||||
|
||||
class RealView(Platform):
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
* William Wang
|
||||
*/
|
||||
|
||||
#include "base/vnc/vncserver.hh"
|
||||
#include "base/vnc/vncinput.hh"
|
||||
#include "base/trace.hh"
|
||||
#include "debug/Pl050.hh"
|
||||
#include "dev/arm/amba_device.hh"
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
|
||||
#include <list>
|
||||
|
||||
#include "base/vnc/vncserver.hh"
|
||||
#include "base/vnc/vncinput.hh"
|
||||
#include "dev/arm/amba_device.hh"
|
||||
#include "params/Pl050.hh"
|
||||
|
||||
@@ -118,7 +118,7 @@ class Pl050 : public AmbaIntDevice, public VncKeyboard, public VncMouse
|
||||
bool shiftDown;
|
||||
|
||||
/** The vnc server we're connected to (if any) */
|
||||
VncServer *vnc;
|
||||
VncInput *vnc;
|
||||
|
||||
/** If the linux driver has initialized the device yet and thus can we send
|
||||
* mouse data */
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* Ali Saidi
|
||||
*/
|
||||
|
||||
#include "base/vnc/vncserver.hh"
|
||||
#include "base/vnc/vncinput.hh"
|
||||
#include "base/bitmap.hh"
|
||||
#include "base/output.hh"
|
||||
#include "base/trace.hh"
|
||||
@@ -64,7 +64,7 @@ Pl111::Pl111(const Params *p)
|
||||
clcdCrsrCtrl(0), clcdCrsrConfig(0), clcdCrsrPalette0(0),
|
||||
clcdCrsrPalette1(0), clcdCrsrXY(0), clcdCrsrClip(0), clcdCrsrImsc(0),
|
||||
clcdCrsrIcr(0), clcdCrsrRis(0), clcdCrsrMis(0),
|
||||
vncserver(p->vnc), bmp(NULL), width(LcdMaxWidth), height(LcdMaxHeight),
|
||||
vnc(p->vnc), bmp(NULL), width(LcdMaxWidth), height(LcdMaxHeight),
|
||||
bytesPerPixel(4), startTime(0), startAddr(0), maxAddr(0), curAddr(0),
|
||||
waterMark(0), dmaPendingNum(0), readEvent(this), fillFifoEvent(this),
|
||||
dmaDoneEvent(maxOutstandingDma, this), intEvent(this)
|
||||
@@ -80,8 +80,8 @@ Pl111::Pl111(const Params *p)
|
||||
memset(cursorImage, 0, sizeof(cursorImage));
|
||||
memset(dmaBuffer, 0, buffer_size);
|
||||
|
||||
if (vncserver)
|
||||
vncserver->setFramebufferAddr(dmaBuffer);
|
||||
if (vnc)
|
||||
vnc->setFramebufferAddr(dmaBuffer);
|
||||
}
|
||||
|
||||
Pl111::~Pl111()
|
||||
@@ -386,18 +386,18 @@ Pl111::updateVideoParams()
|
||||
bytesPerPixel = 2;
|
||||
}
|
||||
|
||||
if (vncserver) {
|
||||
if (vnc) {
|
||||
if (lcdControl.lcdbpp == bpp24 && lcdControl.bgr)
|
||||
vncserver->setFrameBufferParams(VideoConvert::bgr8888, width,
|
||||
vnc->setFrameBufferParams(VideoConvert::bgr8888, width,
|
||||
height);
|
||||
else if (lcdControl.lcdbpp == bpp24 && !lcdControl.bgr)
|
||||
vncserver->setFrameBufferParams(VideoConvert::rgb8888, width,
|
||||
vnc->setFrameBufferParams(VideoConvert::rgb8888, width,
|
||||
height);
|
||||
else if (lcdControl.lcdbpp == bpp16m565 && lcdControl.bgr)
|
||||
vncserver->setFrameBufferParams(VideoConvert::bgr565, width,
|
||||
vnc->setFrameBufferParams(VideoConvert::bgr565, width,
|
||||
height);
|
||||
else if (lcdControl.lcdbpp == bpp16m565 && !lcdControl.bgr)
|
||||
vncserver->setFrameBufferParams(VideoConvert::rgb565, width,
|
||||
vnc->setFrameBufferParams(VideoConvert::rgb565, width,
|
||||
height);
|
||||
else
|
||||
panic("Unimplemented video mode\n");
|
||||
@@ -489,8 +489,8 @@ Pl111::dmaDone()
|
||||
}
|
||||
|
||||
assert(!readEvent.scheduled());
|
||||
if (vncserver)
|
||||
vncserver->setDirty();
|
||||
if (vnc)
|
||||
vnc->setDirty();
|
||||
|
||||
DPRINTF(PL111, "-- write out frame buffer into bmp\n");
|
||||
|
||||
@@ -710,8 +710,8 @@ Pl111::unserialize(Checkpoint *cp, const std::string §ion)
|
||||
|
||||
if (lcdControl.lcdpwr) {
|
||||
updateVideoParams();
|
||||
if (vncserver)
|
||||
vncserver->setDirty();
|
||||
if (vnc)
|
||||
vnc->setDirty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
#include "sim/serialize.hh"
|
||||
|
||||
class Gic;
|
||||
class VncServer;
|
||||
class VncInput;
|
||||
class Bitmap;
|
||||
|
||||
class Pl111: public AmbaDmaDevice
|
||||
@@ -228,7 +228,7 @@ class Pl111: public AmbaDmaDevice
|
||||
InterruptReg clcdCrsrMis;
|
||||
|
||||
/** VNC server */
|
||||
VncServer *vncserver;
|
||||
VncInput *vnc;
|
||||
|
||||
/** Helper to write out bitmaps */
|
||||
Bitmap *bmp;
|
||||
|
||||
Reference in New Issue
Block a user