12 #ifndef ROOT_TGWin32ProxyBase 13 #define ROOT_TGWin32ProxyBase 19 class TGWin32ProxyBasePrivate;
virtual void ExecuteCallBack(Bool_t sync)
Executes all batched callbacks and the latest callback This method is executed by server thread...
void * fParam
arguments passed to/from callback function
TGWin32CallBack fCallBack
callback function (executed by "main" thread)
TList * fListOfCallBacks
list of callbacks (used for batch processing)
static void GlobalUnlock()
unlock any proxy (client thread)
static UInt_t fMaxResponseTime
max period for waiting response from server thread
virtual ~TGWin32ProxyBase()
dtor
This class is the basic interface to the Win32 graphics system.
Proxy classes provide thread-safe interface to global objects.
static void Lock()
enter critical section
virtual void SendExitMessage()
send exit message to server thread
static Long_t fgLock
fgLock=1 - all client threads locked
static void GlobalLock()
lock any proxy (client thread)
static ULong_t fgMainThreadId
main thread ID
static ULong_t fgPostMessageId
post message ID
static ULong_t fgUserThreadId
user (e.g. python) thread ID
Int_t fBatchLimit
batch limit
Bool_t fIsVirtualX
true if actual TVirtualX implementation
void(* TGWin32CallBack)(void *)
ULong_t fId
thread id. There is one proxy per client thread
TGWin32ProxyBasePrivate * fPimpl
very private data
virtual Bool_t ForwardCallBack(Bool_t sync)
if sync is kTRUE:
static ULong_t fgPingMessageId
ping message ID
typedef void((*Func_t)())
static Bool_t IsGloballyLocked()
Check the status of the lock.
virtual Double_t GetMilliSeconds()
returns elapsed time in milliseconds with microseconds precision
static Bool_t Ping()
send ping messsage to server thread
static void Unlock()
leave critical section