Skip to content

Commit

Permalink
Merge branch 'clipboard'
Browse files Browse the repository at this point in the history
  • Loading branch information
CendioOssman committed Jul 8, 2016
2 parents 024cee5 + 3f2bb34 commit 1db99eb
Show file tree
Hide file tree
Showing 14 changed files with 600 additions and 499 deletions.
84 changes: 0 additions & 84 deletions unix/vncconfig/vncExt.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,6 @@
#define _VNCEXT_PROTO_
#include "vncExt.h"

static Bool XVncExtClientCutTextNotifyWireToEvent(Display* dpy, XEvent* e,
xEvent* w);
static Bool XVncExtSelectionChangeNotifyWireToEvent(Display* dpy, XEvent* e,
xEvent* w);
static Bool XVncExtQueryConnectNotifyWireToEvent(Display* dpy, XEvent* e,
xEvent* w);

Expand All @@ -40,10 +36,6 @@ static Bool checkExtension(Display* dpy)
extensionInited = True;
codes = XInitExtension(dpy, VNCEXTNAME);
if (!codes) return False;
XESetWireToEvent(dpy, codes->first_event + VncExtClientCutTextNotify,
XVncExtClientCutTextNotifyWireToEvent);
XESetWireToEvent(dpy, codes->first_event + VncExtSelectionChangeNotify,
XVncExtSelectionChangeNotifyWireToEvent);
XESetWireToEvent(dpy, codes->first_event + VncExtQueryConnectNotify,
XVncExtQueryConnectNotifyWireToEvent);
}
Expand Down Expand Up @@ -214,53 +206,6 @@ void XVncExtFreeParamList(char** list)
}
}

Bool XVncExtSetServerCutText(Display* dpy, const char* str, int len)
{
xVncExtSetServerCutTextReq* req;

if (!checkExtension(dpy)) return False;

LockDisplay(dpy);
GetReq(VncExtSetServerCutText, req);
req->reqType = codes->major_opcode;
req->vncExtReqType = X_VncExtSetServerCutText;
req->length += (len + 3) >> 2;
req->textLen = len;
Data(dpy, str, len);
UnlockDisplay(dpy);
SyncHandle();
return True;
}

Bool XVncExtGetClientCutText(Display* dpy, char** str, int* len)
{
xVncExtGetClientCutTextReq* req;
xVncExtGetClientCutTextReply rep;

if (!checkExtension(dpy)) return False;

LockDisplay(dpy);
GetReq(VncExtGetClientCutText, req);
req->reqType = codes->major_opcode;
req->vncExtReqType = X_VncExtGetClientCutText;
if (!_XReply(dpy, (xReply *)&rep, 0, xFalse)) {
UnlockDisplay(dpy);
SyncHandle();
return False;
}
UnlockDisplay(dpy);
SyncHandle();
*len = rep.textLen;
*str = (char*) Xmalloc (*len+1);
if (!*str) {
_XEatData(dpy, (*len+1)&~1);
return False;
}
_XReadPad(dpy, *str, *len);
(*str)[*len] = 0;
return True;
}

Bool XVncExtSelectInput(Display* dpy, Window w, int mask)
{
xVncExtSelectInputReq* req;
Expand Down Expand Up @@ -359,35 +304,6 @@ Bool XVncExtApproveConnect(Display* dpy, void* opaqueId, int approve)
}


static Bool XVncExtClientCutTextNotifyWireToEvent(Display* dpy, XEvent* e,
xEvent* w)
{
XVncExtClientCutTextEvent* ev = (XVncExtClientCutTextEvent*)e;
xVncExtClientCutTextNotifyEvent* wire = (xVncExtClientCutTextNotifyEvent*)w;
ev->type = wire->type & 0x7f;
ev->serial = _XSetLastRequestRead(dpy,(xGenericReply*)wire);
ev->send_event = (wire->type & 0x80) != 0;
ev->display = dpy;
ev->window = wire->window;
ev->time = wire->time;
return True;
}

static Bool XVncExtSelectionChangeNotifyWireToEvent(Display* dpy, XEvent* e,
xEvent* w)
{
XVncExtSelectionChangeEvent* ev = (XVncExtSelectionChangeEvent*)e;
xVncExtSelectionChangeNotifyEvent* wire
= (xVncExtSelectionChangeNotifyEvent*)w;
ev->type = wire->type & 0x7f;
ev->serial = _XSetLastRequestRead(dpy,(xGenericReply*)wire);
ev->send_event = (wire->type & 0x80) != 0;
ev->display = dpy;
ev->window = wire->window;
ev->selection = wire->selection;
return True;
}

static Bool XVncExtQueryConnectNotifyWireToEvent(Display* dpy, XEvent* e,
xEvent* w)
{
Expand Down
85 changes: 0 additions & 85 deletions unix/vncconfig/vncExt.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,12 @@ extern "C" {
#define X_VncExtGetParam 1
#define X_VncExtGetParamDesc 2
#define X_VncExtListParams 3
#define X_VncExtSetServerCutText 4
#define X_VncExtGetClientCutText 5
#define X_VncExtSelectInput 6
#define X_VncExtConnect 7
#define X_VncExtGetQueryConnect 8
#define X_VncExtApproveConnect 9

#define VncExtClientCutTextNotify 0
#define VncExtSelectionChangeNotify 1
#define VncExtQueryConnectNotify 2
#define VncExtClientCutTextMask (1 << VncExtClientCutTextNotify)
#define VncExtSelectionChangeMask (1 << VncExtSelectionChangeNotify)
#define VncExtQueryConnectMask (1 << VncExtQueryConnectNotify)

#define VncExtNumberEvents 3
Expand All @@ -51,33 +45,13 @@ Bool XVncExtGetParam(Display* dpy, const char* param, char** value, int* len);
char* XVncExtGetParamDesc(Display* dpy, const char* param);
char** XVncExtListParams(Display* dpy, int* nParams);
void XVncExtFreeParamList(char** list);
Bool XVncExtSetServerCutText(Display* dpy, const char* str, int len);
Bool XVncExtGetClientCutText(Display* dpy, char** str, int* len);
Bool XVncExtSelectInput(Display* dpy, Window w, int mask);
Bool XVncExtConnect(Display* dpy, const char* hostAndPort);
Bool XVncExtGetQueryConnect(Display* dpy, char** addr,
char** user, int* timeout, void** opaqueId);
Bool XVncExtApproveConnect(Display* dpy, void* opaqueId, int approve);


typedef struct {
int type;
unsigned long serial;
Bool send_event;
Display *display;
Window window;
Time time;
} XVncExtClientCutTextEvent;

typedef struct {
int type;
unsigned long serial;
Bool send_event;
Display *display;
Window window;
Atom selection;
} XVncExtSelectionChangeEvent;

typedef struct {
int type;
unsigned long serial;
Expand Down Expand Up @@ -192,37 +166,6 @@ typedef struct {
#define sz_xVncExtListParamsReply 32


typedef struct {
CARD8 reqType; /* always VncExtReqCode */
CARD8 vncExtReqType; /* always VncExtSetServerCutText */
CARD16 length B16;
CARD32 textLen B32;
} xVncExtSetServerCutTextReq;
#define sz_xVncExtSetServerCutTextReq 8


typedef struct {
CARD8 reqType; /* always VncExtReqCode */
CARD8 vncExtReqType; /* always VncExtGetClientCutText */
CARD16 length B16;
} xVncExtGetClientCutTextReq;
#define sz_xVncExtGetClientCutTextReq 4

typedef struct {
BYTE type; /* X_Reply */
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 length B32;
CARD32 textLen B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xVncExtGetClientCutTextReply;
#define sz_xVncExtGetClientCutTextReply 32


typedef struct {
CARD8 reqType; /* always VncExtReqCode */
CARD8 vncExtReqType; /* always VncExtSelectInput */
Expand Down Expand Up @@ -292,34 +235,6 @@ typedef struct {



typedef struct {
BYTE type; /* always eventBase + VncExtClientCutTextNotify */
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 window B32;
CARD32 time B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xVncExtClientCutTextNotifyEvent;
#define sz_xVncExtClientCutTextNotifyEvent 32

typedef struct {
BYTE type; /* always eventBase + VncExtSelectionChangeNotify */
BYTE pad0;
CARD16 sequenceNumber B16;
CARD32 window B32;
CARD32 selection B32;
CARD32 pad1 B32;
CARD32 pad2 B32;
CARD32 pad3 B32;
CARD32 pad4 B32;
CARD32 pad5 B32;
} xVncExtSelectionChangeNotifyEvent;
#define sz_xVncExtSelectionChangeNotifyEvent 32

typedef struct {
BYTE type; /* always eventBase + VncExtQueryConnectNotify */
BYTE pad0;
Expand Down
Loading

0 comments on commit 1db99eb

Please sign in to comment.