aboutsummaryrefslogtreecommitdiff
path: root/src/itoatom.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2011-10-23 07:43:50 +0000
committerMike Buland <eichlan@xagasoft.com>2011-10-23 07:43:50 +0000
commitda1e0ef0772b078bd295301bd675afdee00d40e9 (patch)
tree7d1703bbb5c2d76e6e6300e51f0ed1e09704af4f /src/itoatom.h
parent208b983734d7431699f4bd3534e08321e42ada86 (diff)
downloadlibbu++-da1e0ef0772b078bd295301bd675afdee00d40e9.tar.gz
libbu++-da1e0ef0772b078bd295301bd675afdee00d40e9.tar.bz2
libbu++-da1e0ef0772b078bd295301bd675afdee00d40e9.tar.xz
libbu++-da1e0ef0772b078bd295301bd675afdee00d40e9.zip
Switched ito* to synchro*, except the server, I'm thinking of takeing the core
in a different direction anyway. Added the Deflate class, it uses zlib, and can do raw (headerless) deflate streams, zlib format, or gzip format. It's easy to use and quite versitile.
Diffstat (limited to 'src/itoatom.h')
-rw-r--r--src/itoatom.h64
1 files changed, 0 insertions, 64 deletions
diff --git a/src/itoatom.h b/src/itoatom.h
deleted file mode 100644
index 3659f4e..0000000
--- a/src/itoatom.h
+++ /dev/null
@@ -1,64 +0,0 @@
1/*
2 * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#ifndef BU_ITO_ATOM_H
9#define BU_ITO_ATOM_H
10
11#include <pthread.h>
12
13#include "itomutex.h"
14#include "itocondition.h"
15
16namespace Bu
17{
18 /**
19 * A thread-safe wrapper class.
20 *@ingroup Threading
21 */
22 template <class T>
23 class ItoAtom
24 {
25 public:
26 /**
27 * Construct an empty queue.
28 */
29 ItoAtom()
30 {
31 }
32
33 ItoAtom( const T &src ) :
34 data( src )
35 {
36 }
37
38 ~ItoAtom()
39 {
40 }
41
42 T get()
43 {
44 mOperate.lock();
45 T ret = data;
46 mOperate.unlock();
47 return ret;
48 }
49
50 void set( const T &val )
51 {
52 mOperate.lock();
53 data = val;
54 mOperate.unlock();
55 }
56
57 private:
58 T data;
59
60 ItoMutex mOperate; /**< The master mutex, used on all operations. */
61 };
62};
63
64#endif