diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-04-27 18:20:29 +0200 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-04-27 18:22:12 +0200 |
commit | c63b2e25a59c602de182a376313ad5d3d62d5045 (patch) | |
tree | 19c498bb55616947efa4207d8099bcc80250d5b7 /src/qt/winshutdownmonitor.h | |
parent | 7cbe636a2371256582a8b9d5c5367d4c4ab3d49b (diff) | |
parent | d282c1fb64ae570caab951247e6ead4b9059043d (diff) | |
download | bitcoin-c63b2e25a59c602de182a376313ad5d3d62d5045.tar.xz |
Merge pull request #4043
d282c1f [Qt] catch Windows shutdown events while client is running (Philip Kaufmann)
Diffstat (limited to 'src/qt/winshutdownmonitor.h')
-rw-r--r-- | src/qt/winshutdownmonitor.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/qt/winshutdownmonitor.h b/src/qt/winshutdownmonitor.h new file mode 100644 index 0000000000..4c76d2c816 --- /dev/null +++ b/src/qt/winshutdownmonitor.h @@ -0,0 +1,29 @@ +// Copyright (c) 2014 The Bitcoin developers +// Distributed under the MIT/X11 software license, see the accompanying +// file COPYING or http://www.opensource.org/licenses/mit-license.php. + +#ifndef WINSHUTDOWNMONITOR_H +#define WINSHUTDOWNMONITOR_H + +#ifdef WIN32 +#include <QByteArray> +#include <QString> + +#if QT_VERSION >= 0x050000 +#include <windef.h> // for HWND + +#include <QAbstractNativeEventFilter> + +class WinShutdownMonitor : public QAbstractNativeEventFilter +{ +public: + /** Implements QAbstractNativeEventFilter interface for processing Windows messages */ + bool nativeEventFilter(const QByteArray &eventType, void *pMessage, long *pnResult); + + /** Register the reason for blocking shutdown on Windows to allow clean client exit */ + static void registerShutdownBlockReason(const QString& strReason, const HWND& mainWinId); +}; +#endif +#endif + +#endif // WINSHUTDOWNMONITOR_H |