1 module org.eclipse.swt.internal.mozilla.nsIEventQueue;
2 
3 import java.lang.all;
4 
5 import org.eclipse.swt.internal.mozilla.Common;
6 import org.eclipse.swt.internal.mozilla.nsID;
7 import org.eclipse.swt.internal.mozilla.nsIEventTarget;
8 
9 const char[] NS_IEVENTQUEUE_IID_STR = "176afb41-00a4-11d3-9f2a-00400553eef0";
10 const nsIID NS_IEVENTQUEUE_IID= 
11   {0x176afb41, 0x00a4, 0x11d3, 
12     [ 0x9f, 0x2a, 0x00, 0x40, 0x05, 0x53, 0xee, 0xf0 ]};
13 
14 interface nsIEventQueue : nsIEventTarget {
15   static const char[] IID_STR = NS_IEVENTQUEUE_IID_STR;
16   static const nsIID IID = NS_IEVENTQUEUE_IID;
17 
18 extern(System):
19   nsresult InitEvent(PLEvent * aEvent, void * owner, PLHandleEventProc handler, PLDestroyEventProc destructor);
20   nsresult PostSynchronousEvent(PLEvent * aEvent, void * *aResult);
21   nsresult PendingEvents(PRBool *_retval);
22   nsresult ProcessPendingEvents();
23   nsresult EventLoop();
24   nsresult EventAvailable(PRBool * aResult);
25   nsresult GetEvent(PLEvent * *_retval);
26   nsresult HandleEvent(PLEvent * aEvent);
27   nsresult WaitForEvent(PLEvent * *_retval);
28   PRInt32  GetEventQueueSelectFD();
29   nsresult Init(PRBool aNative);
30   nsresult InitFromPRThread(PRThread * thread, PRBool aNative);
31   nsresult InitFromPLQueue(PLEventQueue * aQueue);
32   nsresult EnterMonitor();
33   nsresult ExitMonitor();
34   nsresult RevokeEvents(void * owner);
35   nsresult GetPLEventQueue(PLEventQueue * *_retval);
36   nsresult IsQueueNative(PRBool *_retval);
37   nsresult StopAcceptingEvents();
38 
39 }
40