summaryrefslogtreecommitdiffstats
path: root/lib/libUPnP/Neptune/Source/System/Null/NptNullThreads.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libUPnP/Neptune/Source/System/Null/NptNullThreads.cpp')
-rw-r--r--lib/libUPnP/Neptune/Source/System/Null/NptNullThreads.cpp42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/libUPnP/Neptune/Source/System/Null/NptNullThreads.cpp b/lib/libUPnP/Neptune/Source/System/Null/NptNullThreads.cpp
new file mode 100644
index 0000000..56ac99f
--- /dev/null
+++ b/lib/libUPnP/Neptune/Source/System/Null/NptNullThreads.cpp
@@ -0,0 +1,42 @@
+/*****************************************************************
+|
+| Neptune - Threads :: Null Implementation
+|
+| (c) 2001-2002 Gilles Boccon-Gibod
+| Author: Gilles Boccon-Gibod (bok@bok.net)
+|
+ ****************************************************************/
+
+/*----------------------------------------------------------------------
+| includes
++---------------------------------------------------------------------*/
+#include "NptConfig.h"
+#include "NptTypes.h"
+#include "NptThreads.h"
+
+/*----------------------------------------------------------------------
+| NPT_NullAtomicVariable
++---------------------------------------------------------------------*/
+class NPT_NullAtomicVariable : public NPT_AtomicVariableInterface
+{
+ public:
+ // methods
+ NPT_NullAtomicVariable(int value) : m_Value(value) {}
+ ~NPT_NullAtomicVariable() {}
+ int Increment() { return ++m_Value; }
+ int Decrement() { return --m_Value; }
+ int GetValue() { return m_Value; }
+ void SetValue(int value) { m_Value = value; }
+
+ private:
+ // members
+ volatile int m_Value;
+};
+
+/*----------------------------------------------------------------------
+| NPT_AtomicVariable::NPT_AtomicVariable
++---------------------------------------------------------------------*/
+NPT_AtomicVariable::NPT_AtomicVariable(int value)
+{
+ m_Delegate = new NPT_NullAtomicVariable(value);
+}