vncserver.hh (8229:78bf55f23338) vncserver.hh (8635:23ba076b2cca)
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 34 unchanged lines hidden (view full) ---

43 */
44
45#ifndef __DEV_VNC_SERVER_HH__
46#define __DEV_VNC_SERVER_HH__
47
48#include <iostream>
49
50#include "base/vnc/convert.hh"
1/*
2 * Copyright (c) 2010 ARM Limited
3 * All rights reserved
4 *
5 * The license below extends only to copyright in the software and shall
6 * not be construed as granting a license to any other intellectual
7 * property including but not limited to intellectual property relating
8 * to a hardware implementation of the functionality of the software

--- 34 unchanged lines hidden (view full) ---

43 */
44
45#ifndef __DEV_VNC_SERVER_HH__
46#define __DEV_VNC_SERVER_HH__
47
48#include <iostream>
49
50#include "base/vnc/convert.hh"
51#include "base/bitmap.hh"
51#include "base/circlebuf.hh"
52#include "base/pollevent.hh"
53#include "base/socket.hh"
54#include "cpu/intr_control.hh"
55#include "params/VncServer.hh"
56#include "sim/sim_object.hh"
57
52#include "base/circlebuf.hh"
53#include "base/pollevent.hh"
54#include "base/socket.hh"
55#include "cpu/intr_control.hh"
56#include "params/VncServer.hh"
57#include "sim/sim_object.hh"
58
59
58/**
59 * A device that expects to receive input from the vnc server should derrive
60 * (through mulitple inheritence if necessary from VncKeyboard or VncMouse
61 * and call setKeyboard() or setMouse() respectively on the vnc server.
62 */
63class VncKeyboard
64{
65 public:

--- 245 unchanged lines hidden (view full) ---

311 bool supportsResizeEnc;
312
313 /** The mode of data we're getting frame buffer in */
314 VideoConvert::Mode videoMode;
315
316 /** The video converter that transforms data for us */
317 VideoConvert *vc;
318
60/**
61 * A device that expects to receive input from the vnc server should derrive
62 * (through mulitple inheritence if necessary from VncKeyboard or VncMouse
63 * and call setKeyboard() or setMouse() respectively on the vnc server.
64 */
65class VncKeyboard
66{
67 public:

--- 245 unchanged lines hidden (view full) ---

313 bool supportsResizeEnc;
314
315 /** The mode of data we're getting frame buffer in */
316 VideoConvert::Mode videoMode;
317
318 /** The video converter that transforms data for us */
319 VideoConvert *vc;
320
321 /** Flag indicating whether to capture snapshots of frame buffer or not */
322 bool captureEnabled;
323
324 /** Current frame number being captured to a file */
325 int captureCurrentFrame;
326
327 /** Directory to store captured frames to */
328 std::string captureOutputDirectory;
329
330 /** Computed hash of the last captured frame */
331 uint64_t captureLastHash;
332
333 /** Cached bitmap object for writing out frame buffers to file */
334 Bitmap *captureBitmap;
335
319 protected:
336 protected:
337 /** Captures the current frame buffer to a file */
338 void captureFrameBuffer();
339
320 /**
321 * vnc client Interface
322 */
323
324 /** Send an error message to the client
325 * @param error_msg text to send describing the error
326 */
327 void sendError(const char* error_msg);

--- 116 unchanged lines hidden (view full) ---

444 /** The frame buffer uses this call to notify the vnc server that
445 * the frame buffer has been updated and a new image needs to be sent to the
446 * client
447 */
448 void
449 setDirty()
450 {
451 sendUpdate = true;
340 /**
341 * vnc client Interface
342 */
343
344 /** Send an error message to the client
345 * @param error_msg text to send describing the error
346 */
347 void sendError(const char* error_msg);

--- 116 unchanged lines hidden (view full) ---

464 /** The frame buffer uses this call to notify the vnc server that
465 * the frame buffer has been updated and a new image needs to be sent to the
466 * client
467 */
468 void
469 setDirty()
470 {
471 sendUpdate = true;
472 if (captureEnabled)
473 captureFrameBuffer();
452 sendFrameBufferUpdate();
453 }
454
455 /** What is the width of the screen we're displaying.
456 * This is used for pointer/tablet devices that need to know to calculate
457 * the correct value to send to the device driver.
458 * @return the width of the simulated screen
459 */

--- 16 unchanged lines hidden ---
474 sendFrameBufferUpdate();
475 }
476
477 /** What is the width of the screen we're displaying.
478 * This is used for pointer/tablet devices that need to know to calculate
479 * the correct value to send to the device driver.
480 * @return the width of the simulated screen
481 */

--- 16 unchanged lines hidden ---