1 #ifndef _KVI_IPC_H_
2 #define _KVI_IPC_H_
3 //=============================================================================
4 //
5 //   File : KviIpcSentinel.h
6 //   Creation date : Tue Apr 10 2001 15:04:45 by Szymon Stefanek
7 //
8 //   This file is part of the KVIrc IRC client distribution
9 //   Copyright (C) 2001-2010 Szymon Stefanek (pragma at kvirc dot net)
10 //
11 //   This program is FREE software. You can redistribute it and/or
12 //   modify it under the terms of the GNU General Public License
13 //   as published by the Free Software Foundation; either version 2
14 //   of the License, or (at your option) any later version.
15 //
16 //   This program is distributed in the HOPE that it will be USEFUL,
17 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
18 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19 //   See the GNU General Public License for more details.
20 //
21 //   You should have received a copy of the GNU General Public License
22 //   along with this program. If not, write to the Free Software Foundation,
23 //   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24 //
25 //=============================================================================
26 
27 #include "kvi_settings.h"
28 
29 #ifndef COMPILE_NO_IPC
30 #include "KviCString.h"
31 #include <QWidget>
32 
33 #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
34 # include <winsock2.h>
35 #elif defined(COMPILE_X11_SUPPORT) && defined(COMPILE_QX11INFO_SUPPORT)
36 # include "KviXlib.h" // for XEvent
37 #endif
38 
39 //////////////////////////////////////////////////////////////////////
40 // class KviIpcSentinel
41 //
42 //////////////////////////////////////////////////////////////////////
43 
44 class KVIRC_API KviIpcSentinel : public QWidget
45 {
46 	Q_OBJECT
47 public:
48 	KviIpcSentinel();
49 
50 protected: // protected members
51 #if defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW)
52 	virtual bool winEvent(MSG * msg, long * result);
53 #elif defined(COMPILE_X11_SUPPORT) && defined(COMPILE_QX11INFO_SUPPORT)
54 	virtual bool x11Event(XEvent * e);
55 	bool x11GetRemoteMessage();
56 #endif //!COMPILE_X11_SUPPORT
57 
58 	bool nativeEvent(const QByteArray & id, void * msg, long * res) override;
59 };
60 #endif //!COMPILE_NO_IPC
61 
62 #endif //_KVI_IPC_H_
63