X11workbench Toolkit  1.0
clipboard_helper.c File Reference

'clipboard helper' main implementation file for internal clipboard functionality More...

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <limits.h>
#include <unistd.h>
#include <memory.h>
#include <string.h>
#include <strings.h>
#include <signal.h>
#include <time.h>
#include <fcntl.h>
#include <errno.h>
#include <sys/time.h>
#include <pthread.h>
#include "window_helper.h"
#include "pixmap_helper.h"
#include "conf_help.h"
#include "platform_helper.h"
#include "draw_text.h"
#include "text_object.h"

Go to the source code of this file.

Macros

#define _CLIPBOARD_HELPER_C   /* to exclude certain things from window_helper.h like Atoms */
 
#define MIN_EVENT_LOOP_SLEEP_PERIOD   100 /* 0.1 millisec */
 
#define MAX_EVENT_LOOP_SLEEP_PERIOD   100000 /* 0.1 seconds max per loop for clipboard */
 

Typedefs

typedef struct _ClipboardTask_ CLIPBOARD_TASK
 
typedef struct _ClipboardData_ CLIPBOARD_DATA
 

Functions

static void * ClipboardThreadProc (void *)
 
int WBInitClipboardSystem (Display *pDisplay, const char *szDisplayName)
 initializes clipboard sub-system More...
 
int __StartInitClipboardSystem (Display *pDisplay, const char *szDisplayName)
 initializes clipboard sub-system More...
 
int __FinishInitClipboardSystem (Display *pDisplay, const char *szDisplayName)
 initializes clipboard sub-system More...
 
void WBExitClipboardSystem (Display *pDisplay)
 Shut down the clipboard sub-system. More...
 
void CleanupDoneList (CLIPBOARD_TASK **ppDoneList)
 
void AddNewItemToRunList (CLIPBOARD_TASK **ppRunList)
 
void * WBGetClipboardData (Display *pDisplay, Atom *paType, int *piFormat, unsigned long *pnData)
 Get clipboard data of requested type. More...
 
int WBSetClipboardData (Display *pDisplay, Atom aType, int iFormat, const void *pData, unsigned long nData)
 Get clipboard data of requested type. More...
 
void * WBGetSelectionData (Display *pDisplay, Atom aSelection, Atom *paType, int *piFormat, unsigned long *pnData)
 Get clipboard data of requested type. More...
 
int WBSetSelectionData (Display *pDisplay, Atom aSelection, Atom aType, int iFormat, const void *pData, unsigned long nData)
 Get clipboard data of requested type. More...
 

Variables

static WB_THREAD hClipboardThread = (WB_THREAD)INVALID_HANDLE_VALUE
 
static volatile int bClipboardQuitFlag = 0
 
static volatile CLIPBOARD_TASK *volatile pCBTHead = NULL
 
static CLIPBOARD_DATA * pCBDHead = NULL
 
static WB_MUTEX xClipboardMutex
 
static char * pGlobalDisplayNameForClipboardInit = NULL
 

Detailed Description

'clipboard helper' main implementation file for internal clipboard functionality

X11 Work Bench Toolkit 'clipboard helper' This file implements the 'clipboard helpers' which run in their own thread. this allows a window in the main thread to asynchronously deal with clipboard stuff, without blocking or deadlocking.

Definition in file clipboard_helper.c.