Drop RDP backend

Users interested in remote access to wlroots compositors should use
wayvnc:

https://github.com/any1/wayvnc
This commit is contained in:
Drew DeVault 2020-01-10 11:33:21 -05:00 committed by Simon Ser
parent 802ef9da8a
commit ebdbe177d6
18 changed files with 1 additions and 1379 deletions

View file

@ -1,98 +0,0 @@
#ifndef BACKEND_RDP_H
#define BACKEND_RDP_H
#include <freerdp/codec/color.h>
#include <freerdp/codec/nsc.h>
#include <freerdp/codec/rfx.h>
#include <freerdp/freerdp.h>
#include <freerdp/input.h>
#include <freerdp/listener.h>
#include <freerdp/locale/keyboard.h>
#include <freerdp/update.h>
#include <pixman.h>
#include <wlr/backend/interface.h>
#include <wlr/backend/rdp.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_keyboard.h>
#include <wlr/types/wlr_output.h>
#include <wlr/types/wlr_pointer.h>
#include <xkbcommon/xkbcommon.h>
#define MAX_FREERDP_FDS 64
struct wlr_rdp_peer_context;
struct wlr_rdp_output {
struct wlr_output wlr_output;
struct wlr_rdp_backend *backend;
struct wlr_rdp_peer_context *context;
void *egl_surface;
pixman_image_t *shadow_surface;
struct wl_event_source *frame_timer;
int frame_delay; // ms
};
struct wlr_rdp_input_device {
struct wlr_input_device wlr_input_device;
};
struct wlr_rdp_keyboard {
struct wlr_keyboard keyboard;
struct xkb_keymap *keymap;
};
enum wlr_rdp_peer_flags {
RDP_PEER_ACTIVATED = 1 << 0,
RDP_PEER_OUTPUT_ENABLED = 1 << 1,
};
struct wlr_rdp_peer_context {
rdpContext _p;
struct wlr_rdp_backend *backend;
struct wl_event_source *events[MAX_FREERDP_FDS];
freerdp_peer *peer;
uint32_t flags;
RFX_CONTEXT *rfx_context;
wStream *encode_stream;
RFX_RECT *rfx_rects;
NSC_CONTEXT *nsc_context;
struct wlr_rdp_output *output;
struct wlr_rdp_input_device *pointer;
struct wlr_rdp_input_device *keyboard;
struct wl_list link;
};
struct wlr_rdp_backend {
struct wlr_backend backend;
struct wlr_egl egl;
struct wlr_renderer *renderer;
struct wl_display *display;
struct wl_listener display_destroy;
const char *tls_cert_path;
const char *tls_key_path;
char *address;
int port;
freerdp_listener *listener;
struct wl_event_source *listener_events[MAX_FREERDP_FDS];
struct wl_list clients;
};
struct wlr_rdp_backend *rdp_backend_from_backend(
struct wlr_backend *wlr_backend);
bool rdp_configure_listener(struct wlr_rdp_backend *backend);
int rdp_peer_init(freerdp_peer *client, struct wlr_rdp_backend *backend);
struct wlr_rdp_output *wlr_rdp_output_create(struct wlr_rdp_backend *backend,
struct wlr_rdp_peer_context *context, unsigned int width,
unsigned int height);
struct wlr_rdp_input_device *wlr_rdp_pointer_create(
struct wlr_rdp_backend *backend, struct wlr_rdp_peer_context *context);
struct wlr_rdp_input_device *wlr_rdp_keyboard_create(
struct wlr_rdp_backend *backend, rdpSettings *settings);
#endif

View file

@ -1,31 +0,0 @@
/*
* This an unstable interface of wlroots. No guarantees are made regarding the
* future consistency of this API.
*/
#ifndef WLR_USE_UNSTABLE
#error "Add -DWLR_USE_UNSTABLE to enable unstable wlroots features"
#endif
#ifndef WLR_BACKEND_RDP_H
#define WLR_BACKEND_RDP_H
#include <wlr/backend.h>
#include <wlr/types/wlr_input_device.h>
#include <wlr/types/wlr_output.h>
/**
* Creates an RDP backend. An RDP backend will create one output, keyboard, and
* pointer for each client that connects.
*/
struct wlr_backend *wlr_rdp_backend_create(struct wl_display *display,
wlr_renderer_create_func_t create_renderer_func,
const char *tls_cert_path, const char *tls_key_path);
void wlr_rdp_backend_set_address(struct wlr_backend *wlr_backend,
const char *address);
void wlr_rdp_backend_set_port(struct wlr_backend *wlr_backend, int port);
bool wlr_backend_is_rdp(struct wlr_backend *backend);
bool wlr_input_device_is_rdp(struct wlr_input_device *device);
bool wlr_output_is_rdp(struct wlr_output *output);
#endif

View file

@ -7,7 +7,6 @@
#mesondefine WLR_HAS_ELOGIND
#mesondefine WLR_HAS_X11_BACKEND
#mesondefine WLR_HAS_RDP_BACKEND
#mesondefine WLR_HAS_XWAYLAND