diff options
author | Nicola Ruggero <nicola@nxnt.org> | 2010-10-26 13:08:28 +0200 |
---|---|---|
committer | Nicola Ruggero <nicola@nxnt.org> | 2010-10-26 13:08:28 +0200 |
commit | 104f762e5d3dcd659415632f442e745cef5a3bf2 (patch) | |
tree | 3fd40b9dfc46904d6e0cb3896f936cf7e0596352 /xrdp | |
parent | 36ef046e3c5be09798b0f6e7f3492f712d194972 (diff) | |
download | xrdp-proprietary-104f762e5d3dcd659415632f442e745cef5a3bf2.tar.gz xrdp-proprietary-104f762e5d3dcd659415632f442e745cef5a3bf2.zip |
Added bell (pcspeaker) support
Diffstat (limited to 'xrdp')
-rw-r--r-- | xrdp/xrdp.h | 4 | ||||
-rw-r--r-- | xrdp/xrdp_mm.c | 14 | ||||
-rw-r--r-- | xrdp/xrdp_types.h | 1 | ||||
-rw-r--r-- | xrdp/xrdp_wm.c | 7 |
4 files changed, 26 insertions, 0 deletions
diff --git a/xrdp/xrdp.h b/xrdp/xrdp.h index 36e6dc59..0c91f52a 100644 --- a/xrdp/xrdp.h +++ b/xrdp/xrdp.h @@ -89,6 +89,8 @@ xrdp_wm_delete(struct xrdp_wm* self); int APP_CC xrdp_wm_send_palette(struct xrdp_wm* self); int APP_CC +xrdp_wm_send_bell(struct xrdp_wm* self); +int APP_CC xrdp_wm_load_static_colors(struct xrdp_wm* self); int APP_CC xrdp_wm_load_static_pointers(struct xrdp_wm* self); @@ -352,6 +354,8 @@ server_begin_update(struct xrdp_mod* mod); int DEFAULT_CC server_end_update(struct xrdp_mod* mod); int DEFAULT_CC +server_bell_trigger(struct xrdp_mod* mod); +int DEFAULT_CC server_fill_rect(struct xrdp_mod* mod, int x, int y, int cx, int cy); int DEFAULT_CC server_screen_blt(struct xrdp_mod* mod, int x, int y, int cx, int cy, diff --git a/xrdp/xrdp_mm.c b/xrdp/xrdp_mm.c index 5dd76e25..d9fe0431 100644 --- a/xrdp/xrdp_mm.c +++ b/xrdp/xrdp_mm.c @@ -297,6 +297,7 @@ xrdp_mm_setup_mod1(struct xrdp_mm* self) self->mod->wm = (long)(self->wm); self->mod->server_begin_update = server_begin_update; self->mod->server_end_update = server_end_update; + self->mod->server_bell_trigger = server_bell_trigger; self->mod->server_fill_rect = server_fill_rect; self->mod->server_screen_blt = server_screen_blt; self->mod->server_paint_rect = server_paint_rect; @@ -1061,6 +1062,19 @@ server_end_update(struct xrdp_mod* mod) } /*****************************************************************************/ +/* got bell signal... try to send to client */ +int DEFAULT_CC +server_bell_trigger(struct xrdp_mod* mod) +{ + struct xrdp_wm* wm; + wm = (struct xrdp_wm*)(mod->wm); + + xrdp_wm_send_bell(wm); + return 0; +} + + +/*****************************************************************************/ int DEFAULT_CC server_fill_rect(struct xrdp_mod* mod, int x, int y, int cx, int cy) { diff --git a/xrdp/xrdp_types.h b/xrdp/xrdp_types.h index d4e6caa9..8ecc945c 100644 --- a/xrdp/xrdp_types.h +++ b/xrdp/xrdp_types.h @@ -42,6 +42,7 @@ struct xrdp_mod /* server functions */ int (*server_begin_update)(struct xrdp_mod* v); int (*server_end_update)(struct xrdp_mod* v); + int (*server_bell_trigger)(struct xrdp_mod* v); int (*server_fill_rect)(struct xrdp_mod* v, int x, int y, int cx, int cy); int (*server_screen_blt)(struct xrdp_mod* v, int x, int y, int cx, int cy, int srcx, int srcy); diff --git a/xrdp/xrdp_wm.c b/xrdp/xrdp_wm.c index 2b7a030f..bae6c494 100644 --- a/xrdp/xrdp_wm.c +++ b/xrdp/xrdp_wm.c @@ -86,6 +86,13 @@ xrdp_wm_send_palette(struct xrdp_wm* self) /*****************************************************************************/ int APP_CC +xrdp_wm_send_bell(struct xrdp_wm* self) +{ + return libxrdp_send_bell(self->session); +} + +/*****************************************************************************/ +int APP_CC xrdp_wm_send_bitmap(struct xrdp_wm* self, struct xrdp_bitmap* bitmap, int x, int y, int cx, int cy) { |