diff options
Diffstat (limited to 'Attic/mutex/qt_mutex')
-rw-r--r-- | Attic/mutex/qt_mutex/info.txt | 17 | ||||
-rw-r--r-- | Attic/mutex/qt_mutex/mux_qt.cpp | 35 | ||||
-rw-r--r-- | Attic/mutex/qt_mutex/mux_qt.h | 27 |
3 files changed, 79 insertions, 0 deletions
diff --git a/Attic/mutex/qt_mutex/info.txt b/Attic/mutex/qt_mutex/info.txt new file mode 100644 index 000000000..7b014f886 --- /dev/null +++ b/Attic/mutex/qt_mutex/info.txt @@ -0,0 +1,17 @@ +define MUTEX_QT + +load_on request + +<source> +mux_qt.cpp +</source> + +<header:internal> +mux_qt.h +</header:internal> + +# I think we want to always use qt-mt, not qt -- not much point in supporting +# mutexes in a single threaded application, after all. +<libs> +all -> qt-mt +</libs> diff --git a/Attic/mutex/qt_mutex/mux_qt.cpp b/Attic/mutex/qt_mutex/mux_qt.cpp new file mode 100644 index 000000000..da4e5ce5c --- /dev/null +++ b/Attic/mutex/qt_mutex/mux_qt.cpp @@ -0,0 +1,35 @@ +/* +* Qt Thread Mutex +* (C) 2004-2007 Justin Karneges +* 2004-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#include <botan/internal/mux_qt.h> +#include <qmutex.h> + +#if !defined(QT_THREAD_SUPPORT) + #error Your version of Qt does not support threads or mutexes +#endif + +namespace Botan { + +/* +* Qt Mutex Factory +*/ +Mutex* Qt_Mutex_Factory::make() + { + class Qt_Mutex : public Mutex + { + public: + void lock() { mutex.lock(); } + void unlock() { mutex.unlock(); } + private: + QMutex mutex; + }; + + return new Qt_Mutex(); + } + +} diff --git a/Attic/mutex/qt_mutex/mux_qt.h b/Attic/mutex/qt_mutex/mux_qt.h new file mode 100644 index 000000000..cb396b81d --- /dev/null +++ b/Attic/mutex/qt_mutex/mux_qt.h @@ -0,0 +1,27 @@ +/* +* Qt Mutex +* (C) 2004-2007 Justin Karneges +* 2004-2007 Jack Lloyd +* +* Distributed under the terms of the Botan license +*/ + +#ifndef BOTAN_MUTEX_QT_H__ +#define BOTAN_MUTEX_QT_H__ + +#include <botan/internal/mutex.h> + +namespace Botan { + +/* +* Qt Mutex +*/ +class Qt_Mutex_Factory : public Mutex_Factory + { + public: + Mutex* make(); + }; + +} + +#endif |