05583c74a943450f192c4027075e6df4713fad03
[awesomized/libmemcached] / include / memcached.hh
1 #ifdef USE_PRAGMA_INTERFACE
2 #pragma interface /* gcc class implementation */
3 #endif
4
5 #include <memcached.h>
6 #include <string.h>
7 #include <stdio.h>
8
9 class Memcached
10 {
11 memcached_st memc;
12 memcached_result_st result;
13
14 public:
15
16 Memcached()
17 {
18 memcached_create(&memc);
19 }
20
21 Memcached(memcached_st *clone)
22 {
23 WATCHPOINT;
24 memcached_clone(&memc, clone);
25 WATCHPOINT;
26 }
27 char *fetch (char *key, size_t *key_length, size_t *value_length)
28 {
29 uint32_t flags;
30 memcached_return rc;
31
32 return memcached_fetch(&memc, key, key_length,
33 value_length, &flags, &rc);
34 }
35 char *get(char *key, size_t *value_length)
36 {
37 uint32_t flags;
38 memcached_return rc;
39
40 return memcached_get(&memc, key, strlen(key),
41 value_length, &flags, &rc);
42 }
43
44 char *get_by_key(char *master_key, char *key, size_t *value_length)
45 {
46 uint32_t flags;
47 memcached_return rc;
48
49 return memcached_get_by_key(&memc, master_key, strlen(master_key), key, strlen(key),
50 value_length, &flags, &rc);
51 }
52
53 memcached_return mget(char **keys, size_t *key_length, unsigned int number_of_keys)
54 {
55
56 return memcached_mget(&memc, keys, key_length, number_of_keys);
57 }
58
59 memcached_return set(char *key, char *value, size_t value_length)
60 {
61 return memcached_set(&memc, key, strlen(key),
62 value, value_length,
63 (time_t)0, (uint32_t)0);
64 }
65
66 memcached_return set_by_key(char *master_key, char *key, char *value, size_t value_length)
67 {
68 return memcached_set_by_key(&memc, master_key, strlen(master_key),
69 key, strlen(key),
70 value, value_length,
71 (time_t)0,
72 (uint32_t)0 );
73 }
74 memcached_return
75 increment(char *key, unsigned int offset, uint64_t *value)
76 {
77 return memcached_increment(&memc, key, strlen(key),
78 offset, value);
79 }
80 memcached_return
81 decrement(char *key, unsigned int offset, uint64_t *value)
82 {
83 return memcached_decrement(&memc, key, strlen(key),
84 offset, value);
85 }
86
87
88 memcached_return add(char *key, char *value, size_t value_length)
89 {
90 return memcached_add(&memc, key, strlen(key),
91 value, value_length,
92 (time_t)0, (uint32_t)0);
93 }
94 memcached_return add_by_key(char *master_key, char *key, char *value, size_t value_length)
95 {
96 return memcached_add_by_key(&memc, master_key, strlen(master_key),
97 key, strlen(key),
98 value, value_length,
99 (time_t)0, (uint32_t)0);
100 }
101
102 memcached_return replace(char *key, char *value, size_t value_length)
103 {
104 return memcached_replace(&memc, key, strlen(key),
105 value, value_length,
106 (time_t)0, (uint32_t)0);
107 }
108 memcached_return replace_by_key(char *master_key,
109 char *key, char *value, size_t value_length)
110 {
111 return memcached_replace_by_key(&memc, master_key, strlen(master_key),
112 key, strlen(key),
113 value, value_length,
114 (time_t)0, (uint32_t)0);
115 }
116
117 memcached_return prepend(char *key, char *value, size_t value_length)
118 {
119 return memcached_prepend(&memc, key, strlen(key),
120 value, value_length,
121 (time_t)0,
122 (uint32_t)0);
123 }
124 memcached_return prepend_by_key(char *master_key,
125 char *key, char *value, size_t value_length)
126 {
127 return memcached_prepend_by_key(&memc, master_key, strlen(master_key),
128 key, strlen(key),
129 value, value_length,
130 (time_t)0,
131 (uint32_t)0);
132 }
133
134 memcached_return append(char *key, char *value, size_t value_length)
135 {
136 return memcached_append(&memc, key, strlen(key),
137 value, value_length,
138 (time_t)0,
139 (uint32_t)0);
140 }
141 memcached_return append_by_key(char *master_key,
142 char *key, char *value, size_t value_length)
143 {
144 return memcached_append_by_key(&memc,
145 master_key, strlen(master_key),
146 key, strlen(key),
147 value, value_length,
148 (time_t)0,
149 (uint32_t)0);
150 }
151 memcached_return cas(char *key, char *value, size_t value_length, uint64_t cas)
152 {
153 return memcached_cas(&memc, key, strlen(key),
154 value, value_length,
155 (time_t)0,
156 (uint32_t)0,
157 cas);
158 }
159 memcached_return cas_by_key(char *master_key, char *key, char *value,
160 size_t value_length, uint64_t cas)
161 {
162 return memcached_cas_by_key(&memc,
163 master_key, strlen(master_key),
164 key, strlen(key),
165 value, value_length,
166 (time_t)0,
167 (uint32_t)0,
168 cas);
169 }
170 // using 'remove' vs. 'delete' since 'delete' is a keyword
171 memcached_return remove(char *key)
172 {
173 return memcached_delete (&memc, key, strlen(key), (time_t)0);
174
175 }
176 memcached_return delete_by_key(char *master_key, char *key)
177 {
178 return memcached_delete_by_key(&memc, master_key, strlen(master_key),
179 key, strlen(key), (time_t)0);
180 }
181 ~Memcached()
182 {
183 memcached_free(&memc);
184 }
185 };